我有一个default.nix
文件,该文件建立了派生关系(至少是我的理解)。
{ nixpkgs ? import <nixpkgs> {}, compiler ? "ghc864" } :
nixpkgs.pkgs.haskell.packages.${compiler}.callCabal2nix "bhoogle" (./.) {}
我可以成功nix-build
这样做。有什么方法可以直接通过nix-env
将其安装到用户配置文件中吗?例如nix-env -i -f default.nix
。
否则,我需要在系统配置文件中定义一个类似于以下内容的包:
example = pkgs.callPackage /home/chris/example/default.nix {};
答案 0 :(得分:2)
从字面上看我的最初猜测(感谢@Robert):
nix-env -i -f default.nix
记录在nix --help
中:
--file / -f path Specifies the Nix expression (designated below as the active Nix expression) used by the --install, --upgrade, and --query
-可获得的可用操作 派生。默认值为〜/ .nix-defexpr。
If the argument starts with http:// or https://, it is interpreted as the URL of a tarball that will be downloaded and
打开包装到一个临时位置。压缩包 必须包含一个顶层目录,该目录至少包含一个名为default.nix的文件。