{ ... }: { imports = [ ../foundation/home ./shell.nix ./code.nix ./zed.nix ]; programs = { git = { enable = true; userName = "Mel"; userEmail = "mel@rnrd.eu"; signing = { key = "D75A C286 ACA7 00B4 D8EC 377D 2082 F8EC 11CC 009B"; signByDefault = true; }; ignores = [ # ignore most vim swap-files "*~" "[._]*.sw?" ]; aliases = { "skip" = "update-index --skip-worktree"; "unskip" = "update-index --no-skip-worktree"; }; extraConfig.init.defaultBranch = "main"; }; direnv = { enable = true; nix-direnv.enable = true; }; }; xdg.configFile = { # home-manager does not have the option to pass an alacritty # config file directly. "alacritty/alacritty.toml".source = ../../configs/alacritty.toml; }; home.file = { # base .vimrc for tools outside of vim, like the # VSCode Vim plugin. ".vimrc".source = ../../configs/.vimrc; # special .vimrc for the IdeaVim plugin in JetBrains IDEs. # `source`s the normal ~/.vimrc and enables IdeaVim-specfic plugins. ".ideavimrc".source = ../../configs/.ideavimrc; }; home.sessionPath = [ "$HOME/.local/share/JetBrains/Toolbox/scripts" ]; }