我仅用作Nix包管理器,而不使用所有NixOS. 我想要一个可复制的nix-env -i包安装,可以共享和备份。
我知道使用config.nixfor forNixOS但我正在寻找仅包含Nix包的类似功能。
从 Nixpkgs 中,您可以使用该buildEnv函数来构建符号链接场,类似于nix-env生成它们的方式。
这使您可以将软件包分组到要单独更新的组中。当然,如果适合您的应用程序,单个组是完全有效的。
\n\n这是一个例子greeting-tools.nix:
let\n pkgs = import <nixpkgs> {};\n inherit (pkgs) buildEnv;\n\nin buildEnv {\n name = "greeting-tools";\n paths = [ pkgs.hello pkgs.cowsay pkgs.figlet ];\n}\nRun Code Online (Sandbox Code Playgroud)\n\n您可以按如下方式安装和删除它
\n\n$ nix-env -i -f greeting-tools.nix\ninstalling \'greeting-tools\'\n$ hello\nHello, world!\n$ nix-env -e greeting-tools\nuninstalling \'greeting-tools\'\n$ hello\nThe program \xe2\x80\x98hello\xe2\x80\x99 is currently not installed. [...]\nRun Code Online (Sandbox Code Playgroud)\n\n要更新您的软件包,您必须重新运行安装命令。nix-env -u将无法正常工作,因为它只查看 Nixpkgs,它可能没有类似的名称。
另一种选择可能是家庭经理。
\n