{ config, pkgs, dots, ... }: { imports = [ ./email ./emacs.nix ./git.nix ./gui.nix ./latex.nix ./neovim.nix ./ssh.nix ./shell.nix ./tmux.nix ]; config = { services = { gpg-agent = { enable = true; # enableSshSupport = true; }; }; fonts.fontconfig.enable = true; programs = { nh = { enable = true; # package = pkgs.custom.nh; clean.enable = true; clean.extraArgs = "--keep-since 4d --keep 3"; flake = dots; }; home-manager.enable = true; direnv = { enable = true; enableBashIntegration = config.programs.bash.enable; # enableFishIntegration = config.programs.fish.enable; enableZshIntegration = config.programs.zsh.enable; }; gpg = { enable = true; }; bat = { enable = true; extraPackages = [ (pkgs.symlinkJoin { name = "batman"; paths = [ pkgs.bat-extras.batman ]; postBuild = '' mkdir -p $out/share/bash-completion/completions echo 'complete -F _comp_cmd_man batman' > $out/share/bash-completion/completions/batman mkdir -p $out/share/fish/vendor_completions.d echo 'complete batman --wraps man' > $out/share/fish/vendor_completions.d/batman.fish mkdir -p $out/share/zsh/site-functions cat << EOF > $out/share/zsh/site-functions/_batman #compdef batman _man "$@" EOF ''; meta.mainProgram = "batman"; }) ]; }; fzf = { enable = true; enableBashIntegration = config.programs.bash.enable; enableFishIntegration = config.programs.fish.enable; enableZshIntegration = config.programs.zsh.enable; }; }; systemd.user.sessionVariables = config.home.sessionVariables; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion home.stateVersion = "25.05"; }; }