summaryrefslogtreecommitdiffstats
path: root/default.nix
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2018-02-26 14:45:21 +0100
committermakefu <github@syntax-fehler.de>2018-02-26 14:45:21 +0100
commit05fe5ec5ee6286d47efc15658f10b83b27ff304e (patch)
tree2d8a6bbb6755ec9421f228d9a859417eea9f5de6 /default.nix
initial commit
Diffstat (limited to 'default.nix')
-rw-r--r--default.nix47
1 files changed, 47 insertions, 0 deletions
diff --git a/default.nix b/default.nix
new file mode 100644
index 0000000..a6feeb4
--- /dev/null
+++ b/default.nix
@@ -0,0 +1,47 @@
+{ nixpkgs, declInput }: let pkgs = import nixpkgs {}; in {
+ # this file generates the spec.json file which contains all the jobs
+ # a job set may be all the hosts of a user of stockholm
+
+ # what we need to get here is for each host we want to build the "input"
+ # from its source.nix and add them to the "inputs" field
+ # in addition to that we need to define how a system is built inside the
+ # "local" release.nix
+
+ # nixexprinput points to the path expression which should be used for evaluation
+ # nixexprpath is the file which will be built.
+ # that means in best case we should be able to use default.nix from
+ # <stockholm> after nixos-config is set!
+
+ jobsets = pkgs.runCommand "spec.json" {} ''
+ cat <<EOF
+ ${builtins.toXML declInput}
+ EOF
+ cat > $out <<EOF
+ {
+ "makefu/x.r": {
+ "enabled": 1,
+ "hidden": false,
+ "description": "js",
+ "nixexprinput": "src",
+ "nixexprpath": "host.nix",
+ "checkinterval": 15,
+ "schedulingshares": 100,
+ "enableemail": false,
+ "emailoverride": "",
+ "keepnr": 3,
+ "inputs": {
+ "src": { "type": "git", "value": "http://cgit.euer.krebsco.de/hydra-stockholm", "emailresponsible": false },
+ "stockholm": { "type": "git", "value": "http://cgit.krebsco.de/stockholm", "emailresponsible": false },
+ "nixpkgs": { "type": "git", "value": "https://github.com/makefu/nixpkgs 51810e0", "emailresponsible": false },
+ "nixos-hardware": { "type": "git", "value": "https://github.com/nixos/nixos-hardware.git 8a05dc9", "emailresponsible": false },
+ "python": { "type": "git", "value": "https://github.com/garbas/nixpkgs-python cac319b", "emailresponsible": false },
+ "nixos-config": { "type": "path", "value": "<stockholm/makefu/1systems/x/config.nix>", "emailresponsible": false },
+ "secrets": { "type": "path", "value": "<stockholm/makefu/6tests/data/secrets>", "emailresponsible": false },
+ "host" { "type": "string", "value": "x", "emailresponsible": false },
+ "owner" { "type": "string", "value": "makefu", "emailresponsible": false }
+ }
+ }
+ }
+ EOF
+ '';
+}