2023-07-14 21:23:42 +02:00
|
|
|
{ pkgs
|
|
|
|
, lib
|
|
|
|
, ...
|
2023-07-13 18:24:08 +02:00
|
|
|
}: {
|
|
|
|
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" ];
|
2023-07-13 18:24:08 +02:00
|
|
|
pointerCursor = {
|
|
|
|
name = "Bibata-Modern-Amber";
|
|
|
|
package = pkgs.bibata-cursors;
|
|
|
|
};
|
|
|
|
packages = with pkgs; [
|
|
|
|
bemenu
|
|
|
|
brave
|
2023-07-17 08:56:03 +02:00
|
|
|
direnv
|
2023-07-13 18:24:08 +02:00
|
|
|
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;
|
|
|
|
};
|
2023-07-13 18:24:08 +02:00
|
|
|
};
|
|
|
|
kitty = {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
|
|
|
enable_tab_bar = false;
|
2023-07-16 08:19:05 +02:00
|
|
|
background_opacity = "0.96";
|
2023-07-13 18:24:08 +02:00
|
|
|
};
|
|
|
|
};
|
2023-07-14 22:36:28 +02:00
|
|
|
tmux = {
|
|
|
|
enable = true;
|
|
|
|
clock24 = true;
|
2023-07-17 09:29:45 +02:00
|
|
|
plugins = with pkgs.tmuxPlugins; [
|
|
|
|
tilish
|
2023-07-17 09:44:07 +02:00
|
|
|
catppuccin
|
2023-07-17 09:29:45 +02:00
|
|
|
];
|
2023-07-14 22:36:28 +02:00
|
|
|
extraConfig = ''
|
2023-07-17 09:44:07 +02:00
|
|
|
set -g default-command "''${SHELL}"
|
|
|
|
set -g default-terminal "tmux-256color"
|
|
|
|
set -g base-index 1
|
2023-07-14 22:36:28 +02:00
|
|
|
'';
|
|
|
|
};
|
2023-07-13 18:24:08 +02:00
|
|
|
neovim = {
|
|
|
|
enable = true;
|
|
|
|
viAlias = true;
|
|
|
|
extraPackages = with pkgs; [
|
2023-07-17 08:56:03 +02:00
|
|
|
alejandra
|
2023-07-23 12:07:31 +02:00
|
|
|
black
|
2023-07-15 17:27:18 +02:00
|
|
|
go
|
|
|
|
gopls
|
2023-07-13 21:05:53 +02:00
|
|
|
libclang
|
2023-07-13 21:40:11 +02:00
|
|
|
lua
|
2023-07-13 18:24:08 +02:00
|
|
|
lua-language-server
|
2023-07-17 08:56:03 +02:00
|
|
|
nodePackages_latest.prettier
|
|
|
|
nodePackages_latest.typescript
|
|
|
|
nodePackages_latest.typescript-language-server
|
2023-07-13 21:40:11 +02:00
|
|
|
python311Packages.python-lsp-black
|
|
|
|
python311Packages.python-lsp-server
|
|
|
|
ripgrep
|
2023-07-13 18:24:08 +02:00
|
|
|
rnix-lsp
|
2023-07-13 21:40:11 +02:00
|
|
|
stylua
|
2023-07-13 18:24:08 +02:00
|
|
|
];
|
|
|
|
plugins = with pkgs.vimPlugins; [
|
2023-07-23 12:07:31 +02:00
|
|
|
null-ls-nvim
|
2023-07-13 21:40:11 +02:00
|
|
|
autoclose-nvim
|
|
|
|
barbar-nvim
|
|
|
|
cmp-nvim-lsp
|
2023-07-17 08:56:03 +02:00
|
|
|
comment-nvim
|
2023-07-13 21:40:11 +02:00
|
|
|
luasnip
|
2023-07-14 21:23:42 +02:00
|
|
|
nightfox-nvim
|
2023-07-13 18:24:08 +02:00
|
|
|
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-17 08:56:03 +02:00
|
|
|
toggleterm-nvim
|
2023-07-14 21:23:42 +02:00
|
|
|
vim-vinegar
|
2023-07-13 18:24:08 +02:00
|
|
|
];
|
2023-07-13 19:36:13 +02:00
|
|
|
extraLuaConfig = lib.fileContents ./cfg/nvim/init.lua;
|
2023-07-13 18:24:08 +02:00
|
|
|
};
|
|
|
|
zsh = {
|
|
|
|
enable = true;
|
|
|
|
enableSyntaxHighlighting = true;
|
|
|
|
enableAutosuggestions = true;
|
2023-07-17 08:30:07 +02:00
|
|
|
shellAliases = {
|
|
|
|
gad = "git add . && git diff --cached";
|
2023-07-23 12:07:31 +02:00
|
|
|
gac = "ga && gc";
|
2023-07-17 08:30:07 +02:00
|
|
|
ga = "git add .";
|
2023-07-17 09:29:45 +02:00
|
|
|
gc = "git commit";
|
2023-07-17 08:30:07 +02:00
|
|
|
};
|
2023-07-13 18:24:08 +02:00
|
|
|
history = {
|
|
|
|
size = 1000;
|
|
|
|
save = 1000;
|
|
|
|
expireDuplicatesFirst = true;
|
|
|
|
};
|
|
|
|
plugins = [
|
|
|
|
{
|
|
|
|
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";
|
|
|
|
}
|
|
|
|
];
|
|
|
|
initExtra = ''
|
2023-07-17 09:29:45 +02:00
|
|
|
source "$HOME/.p10k.zsh"
|
|
|
|
eval "$(direnv hook zsh)"
|
2023-07-13 18:24:08 +02:00
|
|
|
'';
|
|
|
|
};
|
2023-07-23 12:07:31 +02:00
|
|
|
obs-studio = {
|
|
|
|
enable = true;
|
|
|
|
plugins = with pkgs.obs-studio-plugins; [
|
|
|
|
wlrobs
|
|
|
|
];
|
|
|
|
};
|
2023-07-13 18:24:08 +02:00
|
|
|
};
|
|
|
|
xdg.configFile = {
|
2023-07-26 22:19:59 +02:00
|
|
|
"nix/nix.conf" = {
|
|
|
|
text = ''
|
|
|
|
experimental-features = nix-command flakes
|
|
|
|
'';
|
|
|
|
};
|
2023-07-13 18:24:08 +02:00
|
|
|
"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"
|
2023-07-13 18:24:08 +02:00
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|