sneeuwvlok/modules/home/shell/default.nix
2026-03-26 14:03:12 +01:00

53 lines
1.1 KiB
Nix

{
config,
lib,
pkgs,
...
}: let
inherit (lib) mkIf mkMerge mkEnableOption mkDefault;
cfg = config.sneeuwvlok.shell;
in {
imports = [
./toolset
./zsh
];
options.sneeuwvlok.shell = {
corePkgs.enable = mkEnableOption "core shell packages";
};
config = mkMerge [
(mkIf (cfg.corePkgs.enable) {
sneeuwvlok.shell.toolset = mkDefault {
bat.enable = true;
btop.enable = true;
eza.enable = true;
fzf.enable = true;
git.enable = true;
just.enable = true;
starship.enable = true;
tmux.enable = true;
yazi.enable = true;
zoxide.enable = true;
};
})
{
home.packages = with pkgs; [any-nix-shell pwgen yt-dlp ripdrag fd (ripgrep.override {withPCRE2 = true;})];
programs = {
direnv = {
enable = true;
config.global = {
load_dotenv = true;
strict_env = true;
hide_env_diff = true;
};
nix-direnv.enable = true;
config.whitelist.prefix = ["/home"];
};
};
}
];
}