2017-07-15 16:57:16 +00:00
|
|
|
with import <stockholm/lib>;
|
2017-07-17 20:48:32 +00:00
|
|
|
host@{ name,
|
2018-03-07 00:48:44 +00:00
|
|
|
override ? {}
|
|
|
|
, secure ? false
|
|
|
|
, full ? false
|
|
|
|
, torrent ? false
|
|
|
|
, hw ? false
|
|
|
|
, musnix ? false
|
|
|
|
, python ? false
|
|
|
|
, unstable ? false #unstable channel checked out
|
2018-03-07 14:27:06 +00:00
|
|
|
, mic92 ? false
|
2017-07-17 20:48:32 +00:00
|
|
|
}:
|
|
|
|
let
|
2017-07-15 16:57:16 +00:00
|
|
|
builder = if getEnv "dummy_secrets" == "true"
|
|
|
|
then "buildbot"
|
2017-07-15 17:01:02 +00:00
|
|
|
else "makefu";
|
|
|
|
_file = <stockholm> + "/makefu/1systems/${name}/source.nix";
|
2018-02-28 13:47:12 +00:00
|
|
|
pkgs = import <nixpkgs> {
|
|
|
|
overlays = map import [
|
|
|
|
<stockholm/krebs/5pkgs>
|
|
|
|
];
|
|
|
|
};
|
2018-02-14 00:35:06 +00:00
|
|
|
# TODO: automate updating of this ref + cherry-picks
|
2018-04-04 12:56:11 +00:00
|
|
|
ref = "a09afbfb8a4"; # nixos-18.03 @ 2018-04-04
|
|
|
|
# + do_sqlite3 ruby: 55a952be5b5
|
2017-07-15 17:01:02 +00:00
|
|
|
|
2017-07-15 16:57:16 +00:00
|
|
|
in
|
|
|
|
evalSource (toString _file) [
|
|
|
|
{
|
2017-07-15 17:01:02 +00:00
|
|
|
nixos-config.symlink = "stockholm/makefu/1systems/${name}/config.nix";
|
|
|
|
# always perform a full populate when buildbot
|
|
|
|
nixpkgs = if full || (builder == "buildbot" ) then {
|
|
|
|
git = {
|
|
|
|
url = https://github.com/makefu/nixpkgs;
|
|
|
|
inherit ref;
|
|
|
|
};
|
|
|
|
} else {
|
|
|
|
# right now it is simply extracted revision folder
|
|
|
|
|
|
|
|
## prepare so we do not have to wait for rsync:
|
|
|
|
## cd /var/src; curl https://github.com/nixos/nixpkgs/tarball/125ffff -L | tar zx && mv NixOS-nixpkgs-125ffff nixpkgs
|
|
|
|
file = "/home/makefu/store/${ref}";
|
|
|
|
};
|
|
|
|
|
2017-07-15 16:57:16 +00:00
|
|
|
secrets.file = getAttr builder {
|
2017-07-15 17:01:02 +00:00
|
|
|
buildbot = toString <stockholm/makefu/6tests/data/secrets>;
|
|
|
|
makefu = "/home/makefu/secrets/${name}";
|
2017-07-15 16:57:16 +00:00
|
|
|
};
|
2017-07-16 13:16:45 +00:00
|
|
|
|
2017-07-15 16:57:16 +00:00
|
|
|
stockholm.file = toString <stockholm>;
|
2018-02-28 13:47:12 +00:00
|
|
|
stockholm-version.pipe = "${pkgs.stockholm}/bin/get-version";
|
2017-07-15 16:57:16 +00:00
|
|
|
}
|
2017-07-17 20:48:32 +00:00
|
|
|
(mkIf ( musnix ) {
|
|
|
|
musnix.git = {
|
|
|
|
url = https://github.com/musnix/musnix.git;
|
2018-04-05 07:32:22 +00:00
|
|
|
ref = "master"; # follow the musnix channel, lets see how this works out
|
2017-07-17 20:48:32 +00:00
|
|
|
};
|
|
|
|
})
|
2017-12-26 22:20:56 +00:00
|
|
|
|
|
|
|
(mkIf ( hw ) {
|
|
|
|
nixos-hardware.git = {
|
2017-12-28 14:10:22 +00:00
|
|
|
url = https://github.com/nixos/nixos-hardware.git;
|
2018-03-07 00:48:44 +00:00
|
|
|
ref = "30fdd53";
|
2017-12-26 22:20:56 +00:00
|
|
|
};
|
|
|
|
})
|
|
|
|
|
|
|
|
(mkIf ( python ) {
|
|
|
|
python.git = {
|
|
|
|
url = https://github.com/garbas/nixpkgs-python;
|
2018-03-07 00:48:44 +00:00
|
|
|
ref = "cac319b7";
|
2017-12-26 22:20:56 +00:00
|
|
|
};
|
|
|
|
})
|
2018-03-07 00:48:44 +00:00
|
|
|
|
2017-07-16 13:16:45 +00:00
|
|
|
(mkIf ( torrent ) {
|
|
|
|
torrent-secrets.file = getAttr builder {
|
|
|
|
buildbot = toString <stockholm/makefu/6tests/data/secrets>;
|
|
|
|
makefu = "/home/makefu/secrets/torrent" ;
|
|
|
|
};
|
2017-07-15 16:57:16 +00:00
|
|
|
})
|
2018-03-07 00:48:44 +00:00
|
|
|
|
|
|
|
(mkIf ( unstable ) {
|
|
|
|
nixpkgs-unstable.git = {
|
|
|
|
url = https://github.com/nixos/nixpkgs-channels;
|
|
|
|
ref = "nixos-unstable";
|
|
|
|
};
|
|
|
|
})
|
|
|
|
|
2018-03-07 14:27:06 +00:00
|
|
|
(mkIf ( mic92 ) {
|
|
|
|
mic92.git = {
|
|
|
|
url = https://github.com/Mic92/dotfiles/;
|
|
|
|
ref = "48a1f49";
|
|
|
|
};
|
|
|
|
})
|
|
|
|
|
2017-07-15 16:57:16 +00:00
|
|
|
override
|
|
|
|
]
|