我有一个
default.nix
脚本。一旦启动 (nix-build
),它就会从 github 下载并构建项目。我怎样才能把这个脚本放在configuration.nix
在nixos-rebuild
期间自动构建?
buildGoModule rec{
name = "hhh";
version = "1.4";
src = fetchGit{
url = "";
rev = "";
allRefs = true;
};
vendorSha256 = "";
proxyVendor = true;
postInstall = ''
`cp -rf $src/template/ $out/bin`
'';
}
我想你只是做这样的事情:
import /path/to/default.nix {config, pkgs}
否则可能:
pkgs.callPackage /path/to/default.nix {}
。我不太了解 callPackage 的不同之处或何时使用...但这可能会有所帮助:https://summer.nixos.org/blog/callpackage-a-tool-for-the-lazy /
有多种方法可以将 Nix 派生合并到您的 NixOS 配置中。由于您似乎正在构建一个可执行应用程序,也许您想要做的是将它放入您的 environment.systemPackages 选项中,这样它将位于您的 PATH 上,您可以轻松地从 shell 运行它。最后它应该看起来像:
environment.systemPackages = [ your_go_package ];
其中
your_go_package
是你上面写的东西(直接写,或者存储在变量中)。
我不确定你需要多少 Nix 语法帮助。如果您需要更多帮助,也许您可以在您的问题或其他内容中发布您现有的
configuration.nix
文件。