stockholm/makefu/source.nix

120 lines
3.0 KiB
Nix
Raw Normal View History

with import <stockholm/lib>;
host@{ name,
2018-03-07 00:48:44 +00:00
override ? {}
2018-04-21 18:52:46 +00:00
, secure ? false
, full ? false
, torrent ? false
, hw ? false
, musnix ? false
, python ? false
, unstable ? false #unstable channel checked out
, mic92 ? false
, nms ? false
, clever_kexec ?false
}:
let
builder = if getEnv "dummy_secrets" == "true"
then "buildbot"
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
in
evalSource (toString _file) [
{
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}";
};
2018-04-21 18:52:46 +00:00
secrets = getAttr builder {
buildbot.file = toString <stockholm/makefu/6tests/data/secrets>;
makefu.pass = {
inherit name;
dir = "${getEnv "HOME"}/.secrets-pass";
};
};
2017-07-16 13:16:45 +00:00
2018-04-21 18:52:46 +00:00
stockholm.file = toString <stockholm>;
2018-02-28 13:47:12 +00:00
stockholm-version.pipe = "${pkgs.stockholm}/bin/get-version";
}
(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-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 ) {
2018-04-21 18:52:46 +00:00
torrent-secrets = getAttr builder {
buildbot.file = toString <stockholm/makefu/6tests/data/secrets>;
makefu.pass = {
name = "torrent";
dir = "${getEnv "HOME"}/.secrets-pass";
};
2017-07-16 13:16:45 +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";
};
})
2018-04-21 18:52:46 +00:00
(mkIf ( nms ) {
nms.git = {
url = https://github.com/r-raymond/nixos-mailserver;
ref = "v2.1.2";
};
})
(mkIf ( clever_kexec ) {
clever_kexec.git = {
url = https://github.com/cleverca22/nix-tests;
ref = "5a670de7f2decfaafc95c34ffeb0f1896662f3d7";
};
})
override
]