nix/home/default.nix
2025-06-07 21:33:23 -07:00

119 lines
2.6 KiB
Nix

{
inputs,
lib,
config,
pkgs,
system,
dots,
...
}:
{
imports = [
./email
./emacs
./git.nix
./gui.nix
./latex.nix
./ssh
./shell
./neovim
];
config = {
home.packages =
with pkgs;
[
fd
fx
jq
sd
ugrep
unzip
fastfetch
# gpclient
openconnect
fd
ripgrep
yazi
tree
gnumake
texinfo
devenv
fontconfig
pandoc
duckdb
]
++ lib.optionals pkgs.stdenv.isDarwin [ coreutils ]
++ (lib.attrValues config.custom.shell.packages);
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;
bash = {
enable = true;
enableVteIntegration = true;
};
direnv = {
enable = true;
enableBashIntegration = config.programs.bash.enable;
enableFishIntegration = config.programs.fish.enable;
enableZshIntegration = config.programs.zsh.enable;
};
zsh = {
enable = true;
enableVteIntegration = true;
};
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";
};
}