configuration.nix/home.nix

144 lines
3.3 KiB
Nix
Raw Normal View History

2023-07-14 21:23:42 +02:00
{ pkgs
, lib
, ...
}: {
home = {
username = "ivand";
homeDirectory = "/home/ivand";
stateVersion = "23.05";
2023-07-14 21:23:42 +02:00
sessionPath = [ "$HOME/.local/bin/" "$HOME/.local/share/pnpm" ];
pointerCursor = {
name = "Bibata-Modern-Amber";
package = pkgs.bibata-cursors;
};
packages = with pkgs; [
bemenu
brave
gopass
gopass-jsonapi
pavucontrol
];
};
programs = {
home-manager = {
enable = true;
};
git = {
enable = true;
userName = "Ivan Dimitrov";
userEmail = "ivan@idimitrov.dev";
2023-07-15 19:33:11 +02:00
extraConfig = {
color.ui = "auto";
pull.rebase = true;
};
};
kitty = {
enable = true;
settings = {
enable_tab_bar = false;
2023-07-16 08:19:05 +02:00
background_opacity = "0.96";
};
};
2023-07-14 22:36:28 +02:00
tmux = {
enable = true;
clock24 = true;
extraConfig = ''
set -g default-command "''${SHELL}"
set -g default-terminal "tmux-256color"
'';
};
neovim = {
enable = true;
viAlias = true;
extraPackages = with pkgs; [
2023-07-15 17:27:18 +02:00
go
gopls
nodePackages_latest.prettier
nodePackages_latest.typescript
nodePackages_latest.typescript-language-server
alejandra
2023-07-13 21:05:53 +02:00
libclang
2023-07-13 21:40:11 +02:00
lua
lua-language-server
2023-07-13 21:40:11 +02:00
python311Packages.python-lsp-black
python311Packages.python-lsp-server
ripgrep
rnix-lsp
2023-07-13 21:40:11 +02:00
stylua
];
plugins = with pkgs.vimPlugins; [
2023-07-16 08:19:05 +02:00
toggleterm-nvim
2023-07-13 21:40:11 +02:00
autoclose-nvim
2023-07-16 20:27:04 +02:00
comment-nvim
2023-07-13 21:40:11 +02:00
barbar-nvim
cmp-nvim-lsp
luasnip
2023-07-14 21:23:42 +02:00
nightfox-nvim
nvim-cmp
2023-07-13 21:40:11 +02:00
nvim-cmp
nvim-lspconfig
2023-07-13 21:05:53 +02:00
nvim-treesitter.withAllGrammars
2023-07-13 21:40:11 +02:00
nvim-web-devicons
plenary-nvim
telescope-nvim
2023-07-13 21:05:53 +02:00
telescope-nvim
2023-07-14 21:23:42 +02:00
vim-vinegar
];
2023-07-13 19:36:13 +02:00
extraLuaConfig = lib.fileContents ./cfg/nvim/init.lua;
};
zsh = {
enable = true;
enableSyntaxHighlighting = true;
enableAutosuggestions = true;
completionInit = '''';
history = {
size = 1000;
save = 1000;
expireDuplicatesFirst = true;
};
plugins = [
{
name = "zsh-autoenv";
src = "${pkgs.zsh-autoenv}/share/zsh-autoenv";
file = "autoenv.plugin.zsh";
}
{
name = "zsh-powerlevel10k";
src = "${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k";
file = "powerlevel10k.zsh-theme";
}
{
name = "zsh-nix-shell";
file = "nix-shell.plugin.zsh";
src = "${pkgs.zsh-nix-shell}/share/zsh-nix-shell";
}
2023-07-14 21:10:49 +02:00
{
name = "zsh-you-should-use";
file = "you-should-use.plugin.zsh";
src = "${pkgs.zsh-you-should-use}/share/zsh/plugins/you-should-use";
}
];
initExtra = ''
source "$HOME/.p10k.zsh"
'';
};
};
xdg.configFile = {
"sway/config" = {
source = ./cfg/sway/config;
};
"user-dirs.dirs" = {
source = pkgs.writeText "user-dirs.dirs" ''
2023-07-14 16:34:51 +02:00
XDG_DESKTOP_DIR="dt"
XDG_DOCUMENTS_DIR="doc"
XDG_DOWNLOAD_DIR="dl"
XDG_MUSIC_DIR="snd"
XDG_PICTURES_DIR="pic"
XDG_PUBLICSHARE_DIR="pub"
XDG_TEMPLATES_DIR="tp"
XDG_VIDEOS_DIR="vid"
'';
};
};
}