From 61f1aba8bc69dc522710d5871545cf4b4ec8645b Mon Sep 17 00:00:00 2001
From: lassulus <lassulus@lassul.us>
Date: Tue, 27 Nov 2018 21:06:20 +0100
Subject: [PATCH] * krops: get nixpkgs from store for ci

---
 jeschli/krops.nix |  2 ++
 krebs/krops.nix   | 16 +++++++++++++++-
 lass/krops.nix    |  2 ++
 makefu/krops.nix  | 12 +++++++++++-
 tv/krops.nix      |  2 ++
 5 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/jeschli/krops.nix b/jeschli/krops.nix
index d45d57c63..fff014377 100644
--- a/jeschli/krops.nix
+++ b/jeschli/krops.nix
@@ -1,11 +1,13 @@
 { name }: let
   inherit (import ../krebs/krops.nix { inherit name; })
+    krebs-nixpkgs
     krebs-source
     lib
     pkgs
   ;
 
   source = { test }: lib.evalSource [
+    (krebs-nixpkgs { test = test; })
     krebs-source
     {
       nixos-config.symlink = "stockholm/jeschli/1systems/${name}/config.nix";
diff --git a/krebs/krops.nix b/krebs/krops.nix
index 763e76b83..425fba8f5 100644
--- a/krebs/krops.nix
+++ b/krebs/krops.nix
@@ -7,11 +7,24 @@
   # TODO document why pkgs should be used like this
   pkgs = import "${krops}/pkgs" {};
 
-  krebs-source = {
+  krebs-nixpkgs = { test ? false }: if test then {
+    nixpkgs.file = {
+      path = toString (pkgs.fetchFromGitHub {
+        owner = "nixos";
+        repo = "nixpkgs";
+        rev = (lib.importJSON ./nixpkgs.json).rev;
+        sha256 = (lib.importJSON ./nixpkgs.json).sha256;
+      });
+      useChecksum = true;
+    };
+  } else {
     nixpkgs.git = {
       ref = (lib.importJSON ./nixpkgs.json).rev;
       url = https://github.com/NixOS/nixpkgs;
     };
+  };
+
+  krebs-source = {
     stockholm.file = toString ../.;
     stockholm-version.pipe = toString (pkgs.writeDash "${name}-version" ''
       set -efu
@@ -28,6 +41,7 @@
   };
 
   source ={ test }: lib.evalSource [
+    (krebs-nixpkgs { test = test; })
     krebs-source
     {
       nixos-config.symlink = "stockholm/krebs/1systems/${name}/config.nix";
diff --git a/lass/krops.nix b/lass/krops.nix
index c2669c8f2..26668de65 100644
--- a/lass/krops.nix
+++ b/lass/krops.nix
@@ -1,5 +1,6 @@
 { name }: let
   inherit (import ../krebs/krops.nix { inherit name; })
+    krebs-nixpkgs
     krebs-source
     lib
     pkgs
@@ -12,6 +13,7 @@
   ;
 
   source = { test }: lib.evalSource [
+    (krebs-nixpkgs { test = test; })
     krebs-source
     {
       nixos-config.symlink = "stockholm/lass/1systems/${name}/physical.nix";
diff --git a/makefu/krops.nix b/makefu/krops.nix
index 2b43d541d..6c510eba3 100644
--- a/makefu/krops.nix
+++ b/makefu/krops.nix
@@ -23,7 +23,17 @@
     {
       # nixos-18.09 @ 2018-09-18
       # + uhub/sqlite: 5dd7610401747
-      nixpkgs = if test || host-src.full then {
+      nixpkgs = if test then {
+        file = {
+          path = toString (pkgs.fetchFromGitHub {
+            owner = "makefu";
+            repo = "nixpkgs";
+            rev = nixpkgs-src.rev;
+            sha256 = nixpkgs-src.sha256;
+          });
+          useChecksum = true;
+        };
+      } else if host-src.full then {
         git.ref = nixpkgs-src.rev;
         git.url = nixpkgs-src.url;
       } else if host-src.arm6 then {
diff --git a/tv/krops.nix b/tv/krops.nix
index e922630f7..3b60d3208 100644
--- a/tv/krops.nix
+++ b/tv/krops.nix
@@ -1,12 +1,14 @@
 { name }: rec {
 
   inherit (import ../krebs/krops.nix { inherit name; })
+    krebs-nixpkgs
     krebs-source
     lib
     pkgs
   ;
 
   source = lib.evalSource [
+    (krebs-nixpkgs { test = true; })
     krebs-source
     {
       nixos-config.symlink = "stockholm/tv/1systems/${name}/config.nix";