我想声明变量 dotfiles_dir
所以所有其他文件都可以看到并使用它 .
例如(不工作)
在 /etc/nixos/configuration.nix
(它的根文件,对吧?)
dotfiles_dir="/home/bjorn/.config/dotfiles";
import "${dotfiles_dir}/nixos/root/default.nix"
并在 ~/.config/nixpkgs/home.nix
中使用它(带https://github.com/rycee/home-manager)
import "${dotfiles_dir}/nixos/home/default.nix"
1 回答
对不起,但那是不可能的 . 在Nix中,没有全局变量这样的东西 . 如果存在,则会破坏它提供可重现构建的能力,因为Nix表达式可以访问未声明的输入 .
/etc/nixos/configuration.nix
不是存储全局信息,它是一个函数 .但是......有一种方法可以在一个地方定义一个值,并在需要的地方使用它 . 像这样的东西:
/etc/nixos/dotfiles-dir.nix
~/.config/nixpkgs/home.nix
你也可以得到更多的幻想......
/etc/nixos/my-settings.nix
~/.config/nixpkgs/home.nix