Difference between revisions of "How to fetch Nixpkgs with an empty NIX PATH"

From NixOS Wiki
Jump to: navigation, search
(Simplify the instructions to just Nix 2 now that Nix 1 is fairly old now.)
(Add warning about the new wiki)
Line 1: Line 1:
 +
{{warning|1=You are reading an article on the deprecated unofficial wiki. For the up to date version of this article, see https://wiki.nixos.org/wiki/How_to_fetch_Nixpkgs_with_an_empty_NIX_PATH.}}
 +
 
You can fetch Nixpkgs with an empty <code>NIX_PATH</code>.  This
 
You can fetch Nixpkgs with an empty <code>NIX_PATH</code>.  This
 
comes in handy if you want to remove impure references to the <code>NIX_PATH</code> from
 
comes in handy if you want to remove impure references to the <code>NIX_PATH</code> from

Revision as of 16:32, 4 April 2024

Warning: You are reading an article on the deprecated unofficial wiki. For the up to date version of this article, see https://wiki.nixos.org/wiki/How_to_fetch_Nixpkgs_with_an_empty_NIX_PATH.

You can fetch Nixpkgs with an empty NIX_PATH. This comes in handy if you want to remove impure references to the NIX_PATH from your code base.

To do so, you can use builtins.fetchTarball, like this:

let
  nixpkgs = builtins.fetchTarball {
    url    = "https://github.com/NixOS/nixpkgs/archive/3389f23412877913b9d22a58dfb241684653d7e9.tar.gz";
    sha256 = "0wgm7sk9fca38a50hrsqwz6q79z35gqgb9nw80xz7pfdr4jy9pf8";
  };

  pkgs = import nixpkgs { config = {}; };

in
  ...

… replacing 3389f2… with the desired revision of Nixpkgs and replacing 0wgm7s… with the corresponding SHA256 hash.

You can use the following command to obtain the correct SHA256 hash to use if you prefer not to use trial and error:

$ nix-prefetch-url --unpack "https://github.com/NixOS/nixpkgs/archive/${REVISION}.tar.gz"