diff --git a/compat/fetch.nix b/compat/fetch.nix new file mode 100644 index 00000000..01f0f02f --- /dev/null +++ b/compat/fetch.nix @@ -0,0 +1,17 @@ +let + inherit (builtins) + fetchTarball + fromJSON + readFile + ; + lockfile = fromJSON (readFile ../flake.lock); +in +input: +let + locked = lockfile.nodes."${input}".locked; + inherit (locked) rev narHash owner repo; +in +fetchTarball { + url = "https://github.com/${owner}/${repo}/archive/${rev}.tar.gz"; + sha256 = narHash; +} diff --git a/compat/nixpkgs.nix b/compat/nixpkgs.nix new file mode 100644 index 00000000..3dd503a9 --- /dev/null +++ b/compat/nixpkgs.nix @@ -0,0 +1,5 @@ +let + fetch = import ./fetch.nix; + nixpkgs = fetch "nixos"; +in +nixpkgs diff --git a/nixpkgs-compat.nix b/nixpkgs-compat.nix deleted file mode 100644 index 08b07372..00000000 --- a/nixpkgs-compat.nix +++ /dev/null @@ -1,13 +0,0 @@ -let - inherit (builtins) - fetchTarball - fromJSON - readFile - ; - nixos = (fromJSON (readFile ./flake.lock)).nodes.nixos.locked; - nixpkgs = fetchTarball { - url = "https://github.com/NixOS/nixpkgs/archive/${nixos.rev}.tar.gz"; - sha256 = nixos.narHash; - }; -in -nixpkgs diff --git a/shell.nix b/shell.nix index 5aae2efc..dadb9e7f 100644 --- a/shell.nix +++ b/shell.nix @@ -1,5 +1,5 @@ let - nixpkgs' = import ./nixpkgs-compat.nix; + nixpkgs = import ./compat/nixpkgs.nix; in { pkgs ? import nixpkgs { }, nixpkgs ? nixpkgs' }: let