diff options
| -rw-r--r-- | hosts/hastur/default.nix | 58 | ||||
| -rw-r--r-- | secrets/secrets.nix | 3 | ||||
| -rw-r--r-- | secrets/tailscale_hastur.age | bin | 0 -> 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 ]; |
| 8 | in | 9 | in |
| @@ -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 | |||
