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