-
Notifications
You must be signed in to change notification settings - Fork 0
/
hive.nix
60 lines (57 loc) · 1.32 KB
/
hive.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
{
inputs,
pkgs,
...
}: let
mkSystem = systemFiles: homeManagerFiles: tags: user: host: {
deployment = {
inherit tags;
allowLocalDeployment = true;
privilegeEscalationCommand = ["doas"];
targetUser = user;
targetHost = host;
};
imports =
[
inputs.home-manager.nixosModules.home-manager
{
home-manager = {
extraSpecialArgs = {
themes = import ./themes;
inherit stateVersion;
inherit user;
};
useGlobalPkgs = true;
users.${user} = {
imports = homeManagerFiles;
};
useUserPackages = true;
};
}
]
++ systemFiles;
};
stateVersion = "22.11";
user = "ultragauche";
in {
meta = {
nixpkgs = pkgs;
specialArgs = {
inherit inputs stateVersion user;
};
};
desktop =
mkSystem
[./nixos/shared-configuration.nix ./nixos/desktop/configuration.nix]
[./nixos/shared-home-manager.nix ./nixos/desktop/home-manager.nix]
["desktop"]
user
"192.168.2.25";
laptop =
mkSystem
[./nixos/shared-configuration.nix ./nixos/laptop/configuration.nix]
[./nixos/shared-home-manager.nix ./nixos/laptop/home-manager.nix]
["laptop" "remote"]
user
"192.168.2.32";
}