diff --git a/nixos/modules/config/shells-environment.nix b/nixos/modules/config/shells-environment.nix index a279120e125d..6379b52870ea 100644 --- a/nixos/modules/config/shells-environment.nix +++ b/nixos/modules/config/shells-environment.nix @@ -108,13 +108,14 @@ in }; environment.shellAliases = mkOption { - example = { ll = "ls -l"; }; + example = { l = null; ll = "ls -l"; }; description = '' An attribute set that maps aliases (the top level attribute names in this option) to command strings or directly to build outputs. The aliases are added to all users' shells. + Aliases mapped to null are ignored. ''; - type = with types; attrsOf (either str path); + type = with types; attrsOf (nullOr (either str path)); }; environment.binsh = mkOption { diff --git a/nixos/modules/programs/bash/bash.nix b/nixos/modules/programs/bash/bash.nix index aa524a333ee6..0fbc77ea44cf 100644 --- a/nixos/modules/programs/bash/bash.nix +++ b/nixos/modules/programs/bash/bash.nix @@ -33,7 +33,8 @@ let ''; bashAliases = concatStringsSep "\n" ( - mapAttrsFlatten (k: v: "alias ${k}=${escapeShellArg v}") cfg.shellAliases + mapAttrsFlatten (k: v: "alias ${k}=${escapeShellArg v}") + (filterAttrs (k: v: !isNull v) cfg.shellAliases) ); in @@ -64,7 +65,7 @@ in Set of aliases for bash shell, which overrides . See for an option format description. ''; - type = with types; attrsOf (either str path); + type = with types; attrsOf (nullOr (either str path)); }; shellInit = mkOption { diff --git a/nixos/modules/programs/fish.nix b/nixos/modules/programs/fish.nix index 82af9ecc5611..b38af07b92c3 100644 --- a/nixos/modules/programs/fish.nix +++ b/nixos/modules/programs/fish.nix @@ -9,7 +9,8 @@ let cfg = config.programs.fish; fishAliases = concatStringsSep "\n" ( - mapAttrsFlatten (k: v: "alias ${k} ${escapeShellArg v}") cfg.shellAliases + mapAttrsFlatten (k: v: "alias ${k} ${escapeShellArg v}") + (filterAttrs (k: v: !isNull v) cfg.shellAliases) ); in @@ -58,7 +59,7 @@ in Set of aliases for fish shell, which overrides . See for an option format description. ''; - type = with types; attrsOf (either str path); + type = with types; attrsOf (nullOr (either str path)); }; shellInit = mkOption { diff --git a/nixos/modules/programs/zsh/zsh.nix b/nixos/modules/programs/zsh/zsh.nix index 66ca5e5d4eb5..164d8db5859a 100644 --- a/nixos/modules/programs/zsh/zsh.nix +++ b/nixos/modules/programs/zsh/zsh.nix @@ -11,7 +11,8 @@ let cfg = config.programs.zsh; zshAliases = concatStringsSep "\n" ( - mapAttrsFlatten (k: v: "alias ${k}=${escapeShellArg v}") cfg.shellAliases + mapAttrsFlatten (k: v: "alias ${k}=${escapeShellArg v}") + (filterAttrs (k: v: !isNull v) cfg.shellAliases) ); in @@ -39,7 +40,7 @@ in Set of aliases for zsh shell, which overrides . See for an option format description. ''; - type = with types; attrsOf (either str path); + type = with types; attrsOf (nullOr (either str path)); }; shellInit = mkOption {