feat(shell): better handling of additional shell aliases/abbreviations

This commit is contained in:
2025-12-07 15:02:21 +01:00
parent 5497d6df51
commit 813fc3026c

View File

@@ -4,7 +4,7 @@
... ...
}: }:
with lib; let with lib; let
aliases = { defaultAliases = {
df = "df -H"; df = "df -H";
diskspace = "sudo df -h | grep -E \"sd|lv|Size\""; diskspace = "sudo df -h | grep -E \"sd|lv|Size\"";
du = "du -ch"; du = "du -ch";
@@ -81,19 +81,26 @@ in {
./zsh.nix ./zsh.nix
./zoxide.nix ./zoxide.nix
]; ];
options.home.shell.fullDesktop = mkEnableOption "Enable all shells"; options.home.shell = {
fullDesktop = mkEnableOption "Enable all shells";
aliases = mkOption {
type = types.attrsOf types.str;
default = {};
example = {la = "ls -a";};
};
};
config.home.shell = { config.home.shell = {
enableShellIntegration = cfg.bash.enable or cfg.zsh.enable or cfg.fish.enable; enableShellIntegration = cfg.bash.enable or cfg.zsh.enable or cfg.fish.enable;
bash = { bash = {
aliases = mkDefault aliases; aliases = cfg.aliases // defaultAliases;
enable = mkDefault cfg.fullDesktop; enable = mkDefault cfg.fullDesktop;
}; };
fish = { fish = {
abbrs = mkDefault aliases; abbrs = cfg.aliases // defaultAliases;
enable = mkDefault cfg.fullDesktop; enable = mkDefault cfg.fullDesktop;
}; };
zsh = { zsh = {
abbrs = mkDefault aliases; abbrs = cfg.aliases // defaultAliases;
enable = mkDefault cfg.fullDesktop; enable = mkDefault cfg.fullDesktop;
}; };
}; };