diff options
author | Vincent Ambo <mail@tazj.in> | 2022-01-31T11·19+0300 |
---|---|---|
committer | tazjin <tazjin@tvl.su> | 2022-02-01T09·15+0000 |
commit | 586f530ec4dfd3747367896a374410f15b3ae183 (patch) | |
tree | d783679f6c8a38bcd9fdf4b159398ddb0094761c /third_party/nixpkgs | |
parent | 8cfd97c9b5d17b790b21aa5ba15d0934528a3e0e (diff) |
refactor(3p/nixpkgs): Pin nixpkgs sources via niv r/3733
There's no need for us to reinvent the wheel here. niv pins are in //third_party/sources, and niv commands need to be run with `niv -s third_party/sources/sources.json` to operate on the correct file. Note that niv by default wants to put the loader file in //nix/sources.nix. This file has been moved to //third_party/sources/default.nix which makes niv throw a warning, but everything still works as intended. Change-Id: I2b2a6f8edf33c429a6d7be9d174ba1996d9a0193 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5143 Reviewed-by: grfn <grfn@gws.fyi> Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su>
Diffstat (limited to 'third_party/nixpkgs')
-rw-r--r-- | third_party/nixpkgs/default.nix | 35 |
1 files changed, 6 insertions, 29 deletions
diff --git a/third_party/nixpkgs/default.nix b/third_party/nixpkgs/default.nix index c5fa6a6781b0..8bb4fb903980 100644 --- a/third_party/nixpkgs/default.nix +++ b/third_party/nixpkgs/default.nix @@ -1,6 +1,8 @@ # This file imports the pinned nixpkgs sets and applies relevant # modifications, such as our overlays. # +# The actual source pinning happens via niv in //third_party/sources +# # Note that the attribute exposed by this (third_party.nixpkgs) is # "special" in that the fixpoint used as readTree's config parameter # in //default.nix passes this attribute as the `pkgs` argument to all @@ -9,40 +11,16 @@ { depot ? { }, externalArgs ? { }, depotOverlays ? true, ... }: let - # This provides the sources of nixpkgs. We track both - # nixos-unstable, and the current stable channel of the latest NixOS - # release. - - # Tracking nixos-unstable as of 2022-01-27. - unstableHashes = { - commit = "945ec499041db73043f745fad3b2a3a01e826081"; - sha256 = "1ixv310sjw0r5vda4yfwp3snyha2i9h7aqygd43cyvdk2qsjk8pq"; - }; - - # Tracking nixos-21.11 as of 2022-01-26. - stableHashes = { - commit = "b3d86c56c786ad9530f1400adbd4dfac3c42877b"; - sha256 = "09nslcjdgwwb6j9alxrsnq1wvhifq1nmzl2w02l305j0wsmgdial"; - }; - # import the nixos-unstable package set, or optionally use the # source (e.g. a path) specified by the `nixpkgsBisectPath` # argument. This is intended for use-cases where the depot is # bisected against nixpkgs to find the root cause of an issue in a # channel bump. - nixpkgsSrc = externalArgs.nixpkgsBisectPath or (fetchTarball { - url = "https://github.com/NixOS/nixpkgs/archive/${unstableHashes.commit}.tar.gz"; - sha256 = unstableHashes.sha256; - }); - - stableNixpkgsSrc = fetchTarball { - url = "https://github.com/NixOS/nixpkgs/archive/${stableHashes.commit}.tar.gz"; - sha256 = stableHashes.sha256; - }; + nixpkgsSrc = externalArgs.nixpkgsBisectPath or depot.third_party.sources.nixpkgs; # Stable package set is imported, but not exposed, to overlay # required packages into the unstable set. - stableNixpkgs = import stableNixpkgsSrc { }; + stableNixpkgs = import depot.third_party.sources.nixpkgs-stable {}; # Overlay for packages that should come from the stable channel # instead (e.g. because something is broken in unstable). @@ -53,11 +31,10 @@ let # Overlay to expose the nixpkgs commits we are using to other Nix code. commitsOverlay = _: _: { nixpkgsCommits = { - unstable = unstableHashes.commit; - stable = stableHashes.commit; + unstable = depot.third_party.sources.nixpkgs.rev; + stable = depot.third_party.sources.nixpkgs-stable.rev; }; }; - in import nixpkgsSrc { # allow users to inject their config into builds (e.g. to test CA derivations) |