summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hosts/hastur/default.nix58
-rw-r--r--secrets/secrets.nix3
-rw-r--r--secrets/tailscale_hastur.agebin0 -> 371 bytes
3 files changed, 46 insertions, 15 deletions
diff --git a/hosts/hastur/default.nix b/hosts/hastur/default.nix
index 8738af4..b808e06 100644
--- a/hosts/hastur/default.nix
+++ b/hosts/hastur/default.nix
@@ -11,6 +11,15 @@
11 home-manager.nixosModules.default 11 home-manager.nixosModules.default
12 ]; 12 ];
13 13
14 # decrypt agenix secrets
15 age.secrets = {
16 tailscale_hastur = {
17 file = ../../secrets/tailscale_hastur.age;
18 owner = "root";
19 group = "root";
20 };
21 };
22
14 # boot options 23 # boot options
15 boot.loader.grub = { 24 boot.loader.grub = {
16 enable = true; 25 enable = true;
@@ -58,22 +67,29 @@
58 # allowedUDPPorts = [ ]; 67 # allowedUDPPorts = [ ];
59 }; 68 };
60 69
61 wg-quick.interfaces = { 70 # mullvad to miami
62 # mullvad to miami 71 wg-quick.interfaces.us-mia-wg-001 = {
63 us-mia-wg-001 = { 72 address = [
64 address = [ 73 "10.70.235.16/32"
65 "10.70.235.16/32" 74 "fc00:bbbb:bbbb:bb01::7:eb0f/128"
66 "fc00:bbbb:bbbb:bb01::7:eb0f/128" 75 ];
67 ]; 76 privateKey = "***REDACTED_WG_KEY***=";
68 77
69 peers = [{ 78 # supposed to be done by tailscale instead \_(:/)_/
70 allowedIPs = [ "0.0.0.0/0" "::0/0" ]; 79 postUp = ''
71 endpoint = "45.134.142.219:51820"; 80 ip route add 100.64.0.0/24 dev tailscale0
72 publicKey = "FVEKAMJqaJU2AwWn5Mg9TK9IAfJc4XDUmSzEeC/VXGs="; 81 ip route add 100.100.100.100/32 dev tailscale0
73 }]; 82 '';
83 postDown = ''
84 ip route del 100.64.0.0/24 dev tailscale0
85 ip route del 100.100.100.100/32 dev tailscale0
86 '';
74 87
75 privateKey = "***REDACTED_WG_KEY***="; 88 peers = [{
76 }; 89 allowedIPs = [ "0.0.0.0/0" "::0/0" ];
90 endpoint = "45.134.142.219:51820";
91 publicKey = "FVEKAMJqaJU2AwWn5Mg9TK9IAfJc4XDUmSzEeC/VXGs=";
92 }];
77 }; 93 };
78 }; 94 };
79 95
@@ -238,6 +254,18 @@ LQIhANgsvYmyCp/Nur2RKaV25CDg3kMYVBXED2HVDy8qa+3i
238 pulse.enable = true; 254 pulse.enable = true;
239 }; 255 };
240 256
257 # vpn
258 tailscale = {
259 enable = true;
260 authKeyFile = config.age.secrets.tailscale_hastur.path;
261 extraDaemonFlags = [ "--no-logs-no-support" ];
262 extraUpFlags = [
263 "--login-server=https://headscale.13f0.net"
264 "--advertise-exit-node"
265 ];
266 openFirewall = true;
267 };
268
241 # enable better power management 269 # enable better power management
242 tlp.enable = true; 270 tlp.enable = true;
243 271
diff --git a/secrets/secrets.nix b/secrets/secrets.nix
index e42d9d5..801c352 100644
--- a/secrets/secrets.nix
+++ b/secrets/secrets.nix
@@ -3,6 +3,7 @@ let
3 users = [ vin ]; 3 users = [ vin ];
4 4
5 demiurge = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICXDBcX7hXJCaKDRNaIAfycU83Y2J+uEB4wcALBOQpse"; 5 demiurge = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICXDBcX7hXJCaKDRNaIAfycU83Y2J+uEB4wcALBOQpse";
6 hastur = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN2ZUuPSPpIRULzMscBo5DJmA0UbFtG0jaANuzHo5aSQ";
6 saklas = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM7RCmfdgJKPnaBi336ZcvDWboxPj8lTtW1eDTN5qR2R"; 7 saklas = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM7RCmfdgJKPnaBi336ZcvDWboxPj8lTtW1eDTN5qR2R";
7 systems = [ demiurge saklas ]; 8 systems = [ demiurge saklas ];
8in 9in
@@ -13,6 +14,8 @@ in
13 14
14 "hetzner_dns.age".publicKeys = users ++ [ saklas ]; 15 "hetzner_dns.age".publicKeys = users ++ [ saklas ];
15 "radicale_users.age".publicKeys = users ++ [ saklas ]; 16 "radicale_users.age".publicKeys = users ++ [ saklas ];
17
16 "tailscale_demiurge.age".publicKeys = users ++ [ demiurge ]; 18 "tailscale_demiurge.age".publicKeys = users ++ [ demiurge ];
19 "tailscale_hastur.age".publicKeys = users ++ [ hastur ];
17 "tailscale_saklas.age".publicKeys = users ++ [ saklas ]; 20 "tailscale_saklas.age".publicKeys = users ++ [ saklas ];
18} 21}
diff --git a/secrets/tailscale_hastur.age b/secrets/tailscale_hastur.age
new file mode 100644
index 0000000..167826a
--- /dev/null
+++ b/secrets/tailscale_hastur.age
Binary files differ