如何使用nixos中设置的属性的默认值,并将其扩展

时间:2017-12-30 20:24:21

标签: attributes set default nixos

programs.zsh.shellAliases的默认值为

 { l = "ls -alh"; ll = "ls -l"; ls = "ls --color=tty"; }

这很好。

我想用

扩展属性集
{ xclip = "xclip -selection clipboard"; paste = "xclip -out"; }

我知道我可以将属性集与//合并,因为我知道默认值,所以我可以明确地写下我想要的属性集。

但是可以保留默认值并将其扩展为:

 programs.zsh.shellAliases = [default] // { ... };

1 个答案:

答案 0 :(得分:2)

默认值在options.programs.zsh.shellAliases.default中可用。

您可以在nix-repl中使用它:

nix-repl> (import <nixpkgs/nixos> { configuration = {lib, options, ...}: { config.programs.zsh.shellAliases = options.programs.zsh.shellAliases.default // { xclip = "xclip -selection clipboard"; paste = "xclip -out"; }; }; }).config.programs.zsh.shellAliases
{ l = "ls -alh"; ll = "ls -l"; ls = "ls --color=tty"; paste = "xclip -out"; xclip = "xclip -selection clipboard"; }