old
1# colmena - Remote Deployment via SSH
2{
3 lib,
4 inputs,
5 nixos-modules,
6 home-modules ? [],
7 myvars,
8 system,
9 tags,
10 ssh-user,
11 genSpecialArgs,
12 specialArgs ? (genSpecialArgs system),
13 ...
14}: let
15 inherit (inputs) home-manager;
16in
17 {name, ...}: {
18 deployment = {
19 inherit tags;
20 targetUser = ssh-user;
21 targetHost = name; # hostName or IP address
22 };
23
24 imports =
25 nixos-modules
26 ++ (
27 lib.optionals ((lib.lists.length home-modules) > 0)
28 [
29 home-manager.nixosModules.home-manager
30 {
31 home-manager.useGlobalPkgs = true;
32 home-manager.useUserPackages = true;
33 home-manager.backupFileExtension = "home-manager.backup";
34
35 home-manager.extraSpecialArgs = specialArgs;
36 home-manager.users."${myvars.username}".imports = home-modules;
37 }
38 ]
39 );
40 }