diff options
Diffstat (limited to 'nixpkgs-overlays/nixpkgs-mozilla/pinned.nix')
-rw-r--r-- | nixpkgs-overlays/nixpkgs-mozilla/pinned.nix | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/nixpkgs-overlays/nixpkgs-mozilla/pinned.nix b/nixpkgs-overlays/nixpkgs-mozilla/pinned.nix new file mode 100644 index 000000000000..1499d40ea7c6 --- /dev/null +++ b/nixpkgs-overlays/nixpkgs-mozilla/pinned.nix @@ -0,0 +1,36 @@ +# This script extends nixpkgs with mozilla packages. +# +# First it imports the <nixpkgs> in the environment and depends on it +# providing fetchFromGitHub and lib.importJSON. +# +# After that it loads a pinned release of nixos-unstable and uses that as the +# base for the rest of packaging. One can pass it's own pkgsPath attribute if +# desired, probably in the context of hydra. + +{ pkgsPath ? null +, overlays ? [] +, system ? null +, geckoSrc ? null +}: + +# Pin a specific version of Nixpkgs. +let + _pkgs = import <nixpkgs> {}; + _pkgsPath = + if pkgsPath != null then pkgsPath + else _pkgs.fetchFromGitHub (_pkgs.lib.importJSON ./pkgs/nixpkgs.json); + nixpkgs = import _pkgsPath ({ + overlays = import ./default.nix ++ overlays; + } // (if system != null then { inherit system; } else {})); +in + nixpkgs // { + # Do not add a name attribute attribute in an overlay !!! As this will cause + # tons of recompilations. + name = "nixpkgs"; + updateScript = nixpkgs.lib.updateFromGitHub { + owner = "NixOS"; + repo = "nixpkgs-channels"; + branch = "nixos-unstable-small"; + path = "pkgs/nixpkgs.json"; + }; + } |