1
0
mirror of https://github.com/kmein/niveum synced 2026-03-16 10:11:08 +01:00
Files
niveum/deploy.nix

43 lines
1.4 KiB
Nix
Raw Normal View History

2019-01-31 23:39:38 +01:00
let
2019-11-26 20:16:57 +01:00
gitFromJson = path:
let object = importJson path; in {
inherit (object) url;
ref = object.rev;
};
2019-12-27 23:57:12 +01:00
krops = builtins.fetchGit (gitFromJson .versions/krops.json);
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
regularSystem = path: name: {
2019-06-17 18:01:14 +02:00
source = lib.evalSource [
2019-10-26 13:43:30 +02:00
{
niveum.file = toString ./.;
2019-06-17 18:01:14 +02:00
system.file = toString path;
2019-10-26 13:43:30 +02:00
nixos-config.symlink = "system/configuration.nix";
2019-12-27 23:57:12 +01:00
nixpkgs.git = gitFromJson .versions/nixpkgs.json;
nixos-unstable.git = gitFromJson .versions/nixpkgs-unstable.json;
home-manager.git = gitFromJson .versions/home-manager.json;
stockholm.git = gitFromJson .versions/stockholm.json;
2019-06-17 18:01:14 +02:00
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-10-26 13:43:30 +02:00
}
2019-06-17 18:01:14 +02:00
];
target = "root@${name}:22022";
2019-04-10 21:14:29 +02:00
};
2020-01-18 17:10:47 +01:00
inherit (pkgs.krops) writeDeploy;
2019-06-17 18:01:14 +02:00
in {
2020-01-18 17:10:47 +01:00
scardanelli = writeDeploy "deploy-scardanelli" (regularSystem systems/scardanelli "scardanelli");
homeros = writeDeploy "deploy-homeros" (regularSystem systems/homeros "homeros");
wilde = writeDeploy "deploy-wilde" (regularSystem systems/wilde "wilde");
2019-04-10 21:14:29 +02:00
2020-01-18 17:10:47 +01:00
catullus = writeDeploy "deploy-catullus" (regularSystem systems/catullus "catullus");
2019-01-31 23:39:38 +01:00
}