2019-01-31 23:39:38 +01:00
|
|
|
let
|
|
|
|
|
krops = builtins.fetchGit {
|
|
|
|
|
url = "https://cgit.krebsco.de/krops/";
|
2019-05-15 18:21:58 +02:00
|
|
|
ref = "v1.14.0";
|
2019-01-31 23:39:38 +01:00
|
|
|
};
|
|
|
|
|
lib = import "${krops}/lib";
|
|
|
|
|
pkgs = import "${krops}/pkgs" {};
|
2019-04-11 15:06:03 +02:00
|
|
|
importJson = (import <nixpkgs> {}).lib.importJSON;
|
2019-01-31 23:39:38 +01:00
|
|
|
|
2019-06-17 18:01:14 +02:00
|
|
|
niveum = {
|
|
|
|
|
lib.file = toString ./lib;
|
|
|
|
|
packages.file = toString ./packages;
|
|
|
|
|
configs.file = toString ./configs;
|
|
|
|
|
dot.file = toString ./dot;
|
|
|
|
|
modules.file = toString ./modules;
|
|
|
|
|
nixos-config.symlink = "system/configuration.nix";
|
|
|
|
|
|
2019-01-31 23:39:38 +01:00
|
|
|
nixpkgs.git = {
|
|
|
|
|
url = https://github.com/NixOS/nixpkgs-channels;
|
2019-04-11 15:06:03 +02:00
|
|
|
ref = (importJson ./nixpkgs.json).rev;
|
2019-04-11 07:52:05 +02:00
|
|
|
};
|
2019-04-20 09:56:39 +02:00
|
|
|
nixos-unstable.git = {
|
|
|
|
|
url = https://github.com/NixOS/nixpkgs-channels;
|
2019-10-09 18:59:24 +02:00
|
|
|
ref = "07d4df5";
|
2019-04-20 09:56:39 +02:00
|
|
|
};
|
2019-04-19 03:11:51 +02:00
|
|
|
home-manager.git = {
|
|
|
|
|
url = https://github.com/rycee/home-manager;
|
|
|
|
|
ref = "2ccbf43";
|
|
|
|
|
};
|
2019-04-18 17:09:34 +02:00
|
|
|
stockholm.git = {
|
|
|
|
|
url = https://cgit.krebsco.de/stockholm;
|
2019-07-09 21:09:31 +02:00
|
|
|
ref = "421a9792";
|
2019-04-18 17:09:34 +02:00
|
|
|
};
|
2019-05-29 17:23:38 +02:00
|
|
|
};
|
2019-01-31 23:39:38 +01:00
|
|
|
|
2019-10-04 16:15:58 +02:00
|
|
|
regularSystem = path: name: {
|
2019-06-17 18:01:14 +02:00
|
|
|
source = lib.evalSource [
|
2019-10-04 16:15:58 +02:00
|
|
|
(niveum // {
|
2019-06-17 18:01:14 +02:00
|
|
|
system.file = toString path;
|
|
|
|
|
secrets.pass = {
|
|
|
|
|
dir = toString ~/.password-store/systems;
|
|
|
|
|
inherit name;
|
|
|
|
|
};
|
2019-06-18 09:23:20 +02:00
|
|
|
shared-secrets.pass = {
|
|
|
|
|
dir = toString ~/.password-store;
|
|
|
|
|
name = "shared";
|
|
|
|
|
};
|
2019-06-17 18:01:14 +02:00
|
|
|
})
|
|
|
|
|
];
|
|
|
|
|
target = "root@${name}:22022";
|
2019-04-10 21:14:29 +02:00
|
|
|
};
|
2019-06-17 18:01:14 +02:00
|
|
|
in {
|
2019-10-04 16:15:58 +02:00
|
|
|
scardanelli = pkgs.krops.writeDeploy "deploy-scardanelli" (regularSystem systems/scardanelli "scardanelli");
|
|
|
|
|
homeros = pkgs.krops.writeDeploy "deploy-homeros" (regularSystem systems/homeros "homeros");
|
|
|
|
|
wilde = pkgs.krops.writeDeploy "deploy-wilde" (regularSystem systems/wilde "wilde");
|
2019-04-10 21:14:29 +02:00
|
|
|
|
2019-06-17 18:01:14 +02:00
|
|
|
catullus = pkgs.krops.writeDeploy "deploy-catullus" (regularSystem systems/catullus "catullus" {});
|
2019-01-31 23:39:38 +01:00
|
|
|
}
|