2019-01-31 23:39:38 +01:00
|
|
|
let
|
2021-12-30 03:01:26 +01:00
|
|
|
krops = builtins.fetchGit (gitFromJson .versions/krops.json);
|
|
|
|
|
lib = import "${krops}/lib";
|
|
|
|
|
pkgs = import "${krops}/pkgs" {};
|
2020-10-28 21:43:33 +01:00
|
|
|
|
2021-12-30 03:01:26 +01:00
|
|
|
importJson = (import <nixpkgs> {}).lib.importJSON;
|
2019-11-26 20:16:57 +01:00
|
|
|
gitFromJson = path:
|
2021-12-30 03:01:26 +01:00
|
|
|
let
|
|
|
|
|
object = importJson path;
|
2020-06-10 17:37:25 +02:00
|
|
|
in {
|
|
|
|
|
inherit (object) url;
|
|
|
|
|
ref = object.rev;
|
|
|
|
|
};
|
2019-01-31 23:39:38 +01:00
|
|
|
|
2021-12-30 03:01:26 +01:00
|
|
|
source = name: {
|
|
|
|
|
niveum.file = toString ./.;
|
|
|
|
|
nixos-config.symlink = "niveum/systems/${name}/configuration.nix";
|
2019-10-26 13:43:30 +02:00
|
|
|
|
2021-12-30 03:01:26 +01:00
|
|
|
nixpkgs.git = gitFromJson .versions/nixpkgs.json // { shallow = true; };
|
|
|
|
|
nixpkgs-unstable.git = gitFromJson .versions/nixpkgs-unstable.json // { shallow = true; };
|
|
|
|
|
home-manager.git = gitFromJson .versions/home-manager.json;
|
|
|
|
|
stockholm.git = gitFromJson .versions/stockholm.json;
|
|
|
|
|
nix-writers.git = gitFromJson .versions/nix-writers.json;
|
|
|
|
|
retiolum.git = gitFromJson .versions/retiolum.json;
|
|
|
|
|
nixpkgs-mozilla.git = gitFromJson .versions/nixpkgs-mozilla.json;
|
|
|
|
|
system-secrets.pass = {
|
|
|
|
|
dir = toString ~/.password-store;
|
|
|
|
|
name = "systems/${name}";
|
|
|
|
|
};
|
|
|
|
|
secrets.pass = {
|
|
|
|
|
dir = toString ~/.password-store;
|
|
|
|
|
name = "shared";
|
|
|
|
|
};
|
2019-04-10 21:14:29 +02:00
|
|
|
};
|
2021-12-30 03:01:26 +01:00
|
|
|
|
|
|
|
|
system = {name, host}: let inherit (import ./lib/default.nix) sshPort; in pkgs.krops.writeDeploy "deploy-${name}" {
|
|
|
|
|
source = lib.evalSource [ (source name) ];
|
|
|
|
|
target = "root@${host}:${toString sshPort}";
|
2021-03-30 23:18:56 +02:00
|
|
|
};
|
2021-12-30 03:01:26 +01:00
|
|
|
in {
|
|
|
|
|
zaatar = system { name = "zaatar"; host = "zaatar.r"; };
|
|
|
|
|
kabsa = system { name = "kabsa"; host = "kabsa.r"; };
|
|
|
|
|
makanek = system { name = "makanek"; host = "makanek.r"; };
|
|
|
|
|
manakish = system { name = "manakish"; host = "manakish.r"; };
|
2019-01-31 23:39:38 +01:00
|
|
|
}
|