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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用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] // { ... };

?

答案

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"; }

以上是关于如何使用nixos中设置的属性的默认值,并对其进行扩展的主要内容,如果未能解决你的问题,请参考以下文章

如何使用字典遍历我的 kivy 属性并对其进行更改?

以编程方式更新 WooCommerce 产品中设置的自定义属性值

Laravel 8 - firstOrCreate() 不返回数据库中设置的默认值

为啥表单提交没有捕获我在输入标签中设置的只读默认值?

样式化数据网格

在控制器中设置的用户默认值无法在控制器中读取