about summary refs log tree commit diff
path: root/third_party/nixpkgs
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2022-01-31T11·19+0300
committertazjin <tazjin@tvl.su>2022-02-01T09·15+0000
commit586f530ec4dfd3747367896a374410f15b3ae183 (patch)
treed783679f6c8a38bcd9fdf4b159398ddb0094761c /third_party/nixpkgs
parent8cfd97c9b5d17b790b21aa5ba15d0934528a3e0e (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.nix35
1 files changed, 6 insertions, 29 deletions
diff --git a/third_party/nixpkgs/default.nix b/third_party/nixpkgs/default.nix
index c5fa6a6781..8bb4fb9039 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)