summaryrefslogtreecommitdiffstats
path: root/makefu/krops.nix
diff options
context:
space:
mode:
Diffstat (limited to 'makefu/krops.nix')
-rw-r--r--makefu/krops.nix40
1 files changed, 20 insertions, 20 deletions
diff --git a/makefu/krops.nix b/makefu/krops.nix
index 5ce430ad2..9a701dcac 100644
--- a/makefu/krops.nix
+++ b/makefu/krops.nix
@@ -1,14 +1,14 @@
-{ config ? config, name }: let
+{ config ? config, name, target ? name }: let
krops = builtins.fetchGit {
url = https://cgit.krebsco.de/krops/;
rev = "4e466eaf05861b47365c5ef46a31a188b70f3615";
};
nixpkgs-src = lib.importJSON ./nixpkgs.json;
- lib = import "${krops}/lib";
- # TODO document why pkgs should be used like this
+ lib = import "${krops}/lib";
pkgs = import "${krops}/pkgs" {};
- hostSource = {
+
+ host-src = {
secure = false;
full = false;
torrent = false;
@@ -26,15 +26,17 @@
# + do_sqlite3 ruby: 55a952be5b5
# + exfat-nofuse bump: ee6a5296a35
# + uhub/sqlite: 5dd7610401747
- nixpkgs.git = {
- ref = nixpkgs-src.rev;
- url = nixpkgs-src.url;
+ nixpkgs = if test || host-src.full then {
+ git.ref = nixpkgs-src.rev;
+ git.url = nixpkgs-src.url;
+ } else {
+ file = "/home/makefu/store/${nixpkgs-src.rev}";
};
nixos-config.symlink = "stockholm/makefu/1systems/${name}/config.nix";
- stockholm.file = toString <stockholm>;
+ stockholm.file = toString ./..;
secrets = if test then {
- file = toString (./. + "/0tests/data/secrets");
+ file = toString ./0tests/data/secrets;
} else {
pass = {
dir = "${lib.getEnv "HOME"}/.secrets-pass";
@@ -42,9 +44,9 @@
};
};
}
- (lib.mkIf (hostSource.torrent) {
+ (lib.mkIf (host-src.torrent) {
torrent-secrets = if test then {
- file = ./. + "/makefu/0tests/data/secrets";
+ file = toString ./0tests/data/secrets;
} else {
pass = {
dir = "${lib.getEnv "HOME"}/.secrets-pass";
@@ -52,13 +54,13 @@
};
};
})
- (lib.mkIf ( hostSource.musnix ) {
+ (lib.mkIf ( host-src.musnix ) {
musnix.git = {
url = https://github.com/musnix/musnix.git;
ref = "master"; # follow the musnix channel, lets see how this works out
};
})
- (lib.mkIf ( hostSource.hw ) {
+ (lib.mkIf ( host-src.hw ) {
nixos-hardware.git = {
url = https://github.com/nixos/nixos-hardware.git;
ref = "30fdd53";
@@ -70,7 +72,7 @@ in {
# usage: $(nix-build --no-out-link --argstr name HOSTNAME -A deploy)
deploy = pkgs.krops.writeDeploy "${name}-deploy" {
source = source { test = false; };
- target = "root@${name}/var/src";
+ target = "root@${target}/var/src";
};
# usage: $(nix-build --no-out-link --argstr name HOSTNAME -A test)
@@ -79,10 +81,8 @@ in {
target = "${lib.getEnv "HOME"}/tmp/${name}-krops-test-src";
};
- ci = map (host:
- pkgs.krops.writeTest "${host.name}-test" {
- source = source { test = true; };
- target = "${lib.getEnv "TMPDIR"}/makefu/${host.name}";
- }
- ) (lib.filter (host: lib.getAttr "ci" host && host.owner == "makefu") (lib.attrValues config.krebs.hosts));
+ ci = pkgs.krops.writeTest "${name}-test" {
+ source = source { test = true; };
+ target = "${lib.getEnv "HOME"}/stockholm-build";
+ };
}