diff options
| author | Tianyao Chou <tianyaochou@fastmail.com> | 2022-06-30 17:42:57 +0200 |
|---|---|---|
| committer | Tianyao Chou <tianyaochou@fastmail.com> | 2022-06-30 19:21:36 +0200 |
| commit | a3cab812ac424ce6115c66d441ceaa454f59f3ae (patch) | |
| tree | 74dd9d5d572490b1ee681419babcc67007e7a2ad | |
| parent | 2f2bdf658d2b79bada78dc914af99c53cad37cba (diff) | |
add escape to shell aliases
| -rw-r--r-- | modules/environment/default.nix | 3 | ||||
| -rw-r--r-- | modules/programs/fish.nix | 3 | ||||
| -rw-r--r-- | tests/programs-zsh.nix | 2 |
3 files changed, 5 insertions, 3 deletions
diff --git a/modules/environment/default.nix b/modules/environment/default.nix index 601b0ca..aa713f6 100644 --- a/modules/environment/default.nix +++ b/modules/environment/default.nix @@ -9,7 +9,8 @@ let mapAttrsToList (n: v: ''export ${n}="${v}"'') cfg.variables; aliasCommands = - mapAttrsFlatten (n: v: ''alias ${n}="${v}"'') cfg.shellAliases; + mapAttrsFlatten (n: v: ''alias ${n}=${escapeShellArg v}'') + (filterAttrs (k: v: v != null) cfg.shellAliases); makeDrvBinPath = concatMapStringsSep ":" (p: if isDerivation p then "${p}/bin" else p); in diff --git a/modules/programs/fish.nix b/modules/programs/fish.nix index 8285364..7a1ba10 100644 --- a/modules/programs/fish.nix +++ b/modules/programs/fish.nix @@ -9,7 +9,8 @@ let cfg = config.programs.fish; fishAliases = concatStringsSep "\n" ( - mapAttrsFlatten (k: v: "alias ${k} '${v}'") cfg.shellAliases + mapAttrsFlatten (k: v: "alias ${k} ${escapeShellArg v}") + (filterAttrs (k: v: v != null) cfg.shellAliases) ); envShellInit = pkgs.writeText "shellInit" cfge.shellInit; diff --git a/tests/programs-zsh.nix b/tests/programs-zsh.nix index ba03229..dd5f6e9 100644 --- a/tests/programs-zsh.nix +++ b/tests/programs-zsh.nix @@ -43,6 +43,6 @@ echo >&2 "checking zsh variables in /etc/zprofile" grep 'FOO="42"' ${config.out}/etc/zprofile echo >&2 "checking shell aliases in /etc/zprofile" - grep 'alias ls="ls -G"' ${config.out}/etc/zprofile + grep "alias ls='ls -G'" ${config.out}/etc/zprofile ''; } |
