about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@gmail.com>2018-04-22T11·38+0200
committerVincent Ambo <tazjin@gmail.com>2018-04-22T11·38+0200
commit676531c5aa82b2c487e39df094a410e4e80a4462 (patch)
treeb491c3172671d9d9103998e6d4f318fcf9a7cf34
parent605b455c9324b4d050a55c4827aa3192a87dbbe7 (diff)
feat(packages): Pin stable channel to git commit
Instead of relying on nix-channel, pin the stable channel and override
it on the whole machine.
-rw-r--r--packages.nix11
1 files changed, 10 insertions, 1 deletions
diff --git a/packages.nix b/packages.nix
index c2d5a133da4b..9c1c4b0590fc 100644
--- a/packages.nix
+++ b/packages.nix
@@ -12,6 +12,13 @@ let
 
   # Channels last updated: 2014-04-22
 
+  # Instead of relying on Nix channels and ending up with out-of-sync
+  # situations between machines, the commit for the stable Nix channel
+  # is pinned here.
+  stable = fetchChannel {
+    rev    = "06c576b0525da85f2de86b3c13bb796d6a0c20f6";
+    sha256 = "01cra89drfjf3yhii5na0j5ivap2wcs0h8i0xcxrjs946nk4pp5j";
+  };
 
   # Certain packages from unstable are required in my daily setup. To
   # get access to them, they are hand-picked from the unstable channel
@@ -24,7 +31,9 @@ in {
   # Configure the Nix package manager
   nixpkgs = {
     config.allowUnfree = true;
-    config.packageOverrides = oldPkgs: oldPkgs // {
+    # To use the pinned channel, the original package set is thrown
+    # away in the overrides:
+    config.packageOverrides = oldPkgs: stable // {
       wallpapers = import ./pkgs/wallpapers.nix;
       pulseaudio-ctl = import pkgs/pulseaudio-ctl.nix;