使shell别名声明性地依赖于包



在NixOS中,可以在配置中定义shell别名的定义。Nix文件如下:

environment.shellAliases = {
  "my_some_cmd" = "some_cmd -flag 123";
}

即使当所引用的命令(这里是:some_cmd)在系统中不可用时,也会分配

。比方说,这个命令包含在一个包中。因此,最好声明只有在安装了包后才分配别名。

这怎么可能呢?我是否必须使用包装if语句,或者有其他方法来归档它?

如果If语句是要走的路,它怎么能实现?

您可以通过使用命令的完整路径来绕过安装包的需要,例如:

environment.shellAliases = {
  "colored-tree" = "${pkgs.tree}/bin/tree -C";
};

相关内容

最新更新