blob: ec8cb044476d4221a37c693776f118e27268487a (
plain)
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
{
inputs,
self,
}: let
common = {
nixpkgs = {
overlays = with inputs; [nur.overlay getchoo.overlays.default self.overlays.default];
config.allowUnfree = true;
};
nix = {
registry =
{
n.flake = inputs.nixpkgs;
}
// (builtins.mapAttrs (_: flake: {inherit flake;})
(inputs.nixpkgs.lib.filterAttrs (n: _: n != "nixpkgs") inputs));
settings = {
trusted-substituters = [
"https://getchoo.cachix.org"
"https://cache.garnix.io"
"https://nix-community.cachix.org"
];
trusted-public-keys = [
"getchoo.cachix.org-1:ftdbAUJVNaFonM0obRGgR5+nUmdLMM+AOvDOSx0z5tE="
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
};
};
};
specialArgs = inputs // {inherit inputs;};
in {
personal = {
system = "x86_64-linux";
builder = inputs.nixpkgs.lib.nixosSystem;
inherit specialArgs;
modules = with inputs; [
common
ragenix.nixosModules.default
home-manager.nixosModules.home-manager
nur.nixosModules.nur
self.nixosModules.getchoo
../users/seth
{
age = {
identityPaths = ["/etc/age/key"];
secrets = let
baseDir = "${self}/secrets/shared";
in {
rootPassword.file = "${baseDir}/rootPassword.age";
sethPassword.file = "${baseDir}/sethPassword.age";
};
};
getchoo.base.enable = true;
system.stateVersion = "23.11";
}
];
};
personal-darwin = {
builder = inputs.darwin.lib.darwinSystem;
inherit specialArgs;
modules = with inputs; [
common
home-manager.darwinModules.home-manager
../users/seth
../users/seth/darwin.nix
self.darwinModules.getchoo
{
getchoo = {
base.enable = true;
desktop.enable = true;
};
system.stateVersion = 4;
}
];
};
server = {
builder = inputs.nixpkgs-stable.lib.nixosSystem;
inherit specialArgs;
modules = with inputs; [
ragenix.nixosModules.default
../modules/nixos/base
../modules/nixos/server
../modules/nixos/features/tailscale.nix
{
getchoo = {
features.tailscale = {
enable = true;
ssh.enable = true;
};
server = {
enable = true;
services.promtail = {
enable = true;
clients = [
{
url = "http://p-body:3030/loki/api/v1/push";
}
];
};
};
};
services.prometheus.exporters.node = {
enable = true;
enabledCollectors = ["systemd"];
};
nix.registry.nixpkgs.flake = nixpkgs-stable;
system.stateVersion = "23.05";
}
];
};
}
|