nix/home/default.nix

82 lines
2 KiB
Nix

{
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;
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";
};
}