-I
オプションを知っていればnix-build用に書かれたxxxxx.nixを使うことができますな。
$ nix build -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/master.tar.gz --impure --file xxxxxx.nix -o
-I
から<nixpkgs>
が設定される。以下nix shell --help
より:
If a path in the Nix search path starts with http:// or https://, it is interpreted as the URL of a tarball that will be downloaded and unpacked to a temporary location. The tarball must consist of a single top-level directory. For example, passing
-I nixpkgs=https://github.com/NixOS/nixpkgs/archive/master.tar.gz
tells Nix to download and use the current contents of the master branch in the nixpkgs repository.
いっそのこと.zshrcで
export NIX_PATH=https://github.com/NixOS/nixpkgs/archive/master.tar.gz
としておくのがよいかも。
ここでxxxx.nixは以下のような実行ファイル(derivationファイルではない)。
with import <nixpkgs> { };
pkgs.dockerTools.buildLayeredImage {
name = "nix-hellow";
tag = "latest";
contents = [ pkgs.hello ];
}
なので場合によっては修正が必要。