mirror of
https://github.com/nix-community/home-manager
synced 2024-11-01 00:39:45 +01:00
programs.zsh: option localVariables
Add option "extraLocalVars" for additional local variable definitions in .zshrc, at the top of the file. Some zsh plugins/themes expect configuration in local variables before they are loaded (example: https://github.com/bhilburn/powerlevel9k). Exporting those clutters the environment and is unnecessary.
This commit is contained in:
parent
6b5e0efd1e
commit
9052131aef
1 changed files with 12 additions and 0 deletions
|
@ -12,6 +12,7 @@ let
|
|||
relToDotDir "plugins" else ".zsh/plugins";
|
||||
|
||||
envVarsStr = config.lib.zsh.exportAll cfg.sessionVariables;
|
||||
localVarsStr = config.lib.zsh.defineAll cfg.localVariables;
|
||||
|
||||
aliasesStr = concatStringsSep "\n" (
|
||||
mapAttrsToList (k: v: "alias ${k}='${v}'") cfg.shellAliases
|
||||
|
@ -265,6 +266,15 @@ in
|
|||
default = {};
|
||||
description = "Options to configure oh-my-zsh.";
|
||||
};
|
||||
|
||||
localVariables = mkOption {
|
||||
type = types.attrs;
|
||||
default = {};
|
||||
example = { POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=["dir" "vcs"]; };
|
||||
description = ''
|
||||
Extra local variables defined at the top of <filename>.zshrc</filename>.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -321,6 +331,8 @@ in
|
|||
${getAttr cfg.defaultKeymap bindkeyCommands}
|
||||
''}
|
||||
|
||||
${localVarsStr}
|
||||
|
||||
${concatStrings (map (plugin: ''
|
||||
path+="$HOME/${pluginsDir}/${plugin.name}"
|
||||
fpath+="$HOME/${pluginsDir}/${plugin.name}"
|
||||
|
|
Loading…
Reference in a new issue