blob: a7a68ea194404d1e4c7faeb1593db5e2a9378ce0 (
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
|
{config, ...}: {
collinux = {
user.name = "collin";
secrets = {
"williams-psk" = {
file = ./williams-psk.age;
owner = "wpa_supplicant";
};
"caddy-env".file = ./caddy-env.age;
"tsnsrv-authkey".file = ./tsnsrv-authkey.age;
"wg-key".file = ./ganymede-wg-key.age;
};
wireguard = {
enable = true;
ip = "100.100.0.1";
gateway = "100.100.0.1";
privateKeyFile = config.collinux.secrets."wg-key".path;
peers = {
"mercury" = {
publicKey = "EDDppGqbLfEwEcHLP3J+bxKVGW16fAcU83K/ZKR2h3A=";
ip = "100.100.0.5/32";
};
"jupiter" = {
publicKey = "Pi1PydaaEz9IcAZ+elH5HkzEa2D35P/tUy+9KKH6PHI=";
ip = "100.100.0.10/32";
};
};
};
terminal = {
programs = {
git = {
enable = true;
userName = "Collin Williams";
userEmail = "96917990+bluedragon1221@users.noreply.github.com";
};
};
};
boot.systemd-boot.enable = true;
services = {
networking = {
enable = true;
networkd = {
enable = true;
ssid = "williams";
pskFile = config.collinux.secrets."williams-psk".path;
static = {
ip = "192.168.50.2/24";
gateway = "192.168.50.1";
};
};
# tailscale = {
# enable = true;
# tailnet = "collinux.tailnet";
# };
sshd = {
enable = true;
bind_host = "0.0.0.0";
};
};
selfhost = {
caddy = {
enable = true;
envFile = config.collinux.secrets."caddy-env".path;
};
forgejo = {
enable = true;
bind_host = "127.0.0.1";
root_url = "ganymede.collinux.tailnet:8010";
};
# headscale = {
# enable = true;
# root_url = "headscale.williamsfam.us.com";
# caddy.enable = true;
# };
};
};
};
}
|