about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@gmail.com>2018-04-22T11·17+0200
committerVincent Ambo <tazjin@gmail.com>2018-04-22T11·17+0200
commit79ce1dc6939913657f392a05297a23e31c1e25b0 (patch)
treef81b574a028e66a21605dd47b67fd9c7cffe2456
parent47b6f2497711f6848c62625d54ff4c7b9d4e4623 (diff)
refactor(packages): Pin unstable channel in packages.nix
Pins the unstable Nix channel to a specific commit and uses package
overrides to move select packages from that channel into the system
Nix packages.
-rw-r--r--packages.nix31
1 files changed, 22 insertions, 9 deletions
diff --git a/packages.nix b/packages.nix
index 890f10f28c..d5bb576512 100644
--- a/packages.nix
+++ b/packages.nix
@@ -4,13 +4,30 @@
 
 { config, pkgs, ... }:
 
-let unstable = import <nixos-unstable> { config.allowUnfree = true; };
+let
+  # Channels last updated: 2014-04-22
+
+
+  # Certain packages from unstable are required in my daily setup. To
+  # get access to them, they are hand-picked from the unstable channel
+  # and set as overrides on the system package set.
+  unstable = import (pkgs.fetchFromGitHub {
+    owner  = "NixOS";
+    repo   = "nixpkgs-channels";
+    rev    = "6c064e6b1f34a8416f990db0cc617a7195f71588";
+    sha256 = "1rqzh475xn43phagrr30lb0fd292c1s8as53irihsnd5wcksnbyd";
+  }) { config.allowUnfree = true; };
 in {
   # Configure the Nix package manager
   nixpkgs = {
     config.allowUnfree = true;
     config.packageOverrides = oldPkgs: oldPkgs // {
       wallpapers = import ./pkgs/wallpapers.nix;
+      pulseaudio-ctl = import pkgs/pulseaudio-ctl.nix;
+
+      kontemplate = unstable.kontemplate;
+      mq-cli = unstable.mq-cli;
+
     };
   };
 
@@ -40,18 +57,22 @@ in {
     jetbrains.idea-ultimate
     jq
     kubernetes
+    kontemplate
     lispPackages.quicklisp
     lxappearance-gtk3
     manpages
     maven
+    mq-cli
     nixops
     numix-gtk-theme
     numix-icon-theme
+    numix-cursor-theme
     openjdk
     openssl
     openssl.dev
     pass
     pavucontrol
+    pulseaudio-ctl
     pkgconfig
     qjackctl
     ripgrep
@@ -77,13 +98,5 @@ in {
     haskellPackages.intero
     haskellPackages.stylish-haskell
     haskellPackages.yesod-bin
-
-    # Unstable packages:
-    unstable.numix-cursor-theme
-    unstable.kontemplate
-    unstable.mq-cli
-
-    # Custom packages:
-    (import pkgs/pulseaudio-ctl.nix)
   ];
 }