nixos-config

NixOS configs for my systems
Log | Files | Refs

commit 755081689173407879e840dc23057393a181401a
parent 0d070fa183b06d00211ce063faa693b234d7902b
Author: vin <vin@vineetk.net>
Date:   Sun,  9 Mar 2025 01:54:51 -0500

hastur: add to tailnet

Diffstat:
Mhosts/hastur/default.nix | 58+++++++++++++++++++++++++++++++++++++++++++---------------
Msecrets/secrets.nix | 3+++
Asecrets/tailscale_hastur.age | 0
3 files changed, 46 insertions(+), 15 deletions(-)

diff --git a/hosts/hastur/default.nix b/hosts/hastur/default.nix @@ -11,6 +11,15 @@ home-manager.nixosModules.default ]; + # decrypt agenix secrets + age.secrets = { + tailscale_hastur = { + file = ../../secrets/tailscale_hastur.age; + owner = "root"; + group = "root"; + }; + }; + # boot options boot.loader.grub = { enable = true; @@ -58,22 +67,29 @@ # allowedUDPPorts = [ ]; }; - wg-quick.interfaces = { - # mullvad to miami - us-mia-wg-001 = { - address = [ - "10.70.235.16/32" - "fc00:bbbb:bbbb:bb01::7:eb0f/128" - ]; - - peers = [{ - allowedIPs = [ "0.0.0.0/0" "::0/0" ]; - endpoint = "45.134.142.219:51820"; - publicKey = "FVEKAMJqaJU2AwWn5Mg9TK9IAfJc4XDUmSzEeC/VXGs="; - }]; + # mullvad to miami + wg-quick.interfaces.us-mia-wg-001 = { + address = [ + "10.70.235.16/32" + "fc00:bbbb:bbbb:bb01::7:eb0f/128" + ]; + privateKey = "***REDACTED_WG_KEY***="; + + # supposed to be done by tailscale instead \_(:/)_/ + postUp = '' + ip route add 100.64.0.0/24 dev tailscale0 + ip route add 100.100.100.100/32 dev tailscale0 + ''; + postDown = '' + ip route del 100.64.0.0/24 dev tailscale0 + ip route del 100.100.100.100/32 dev tailscale0 + ''; - privateKey = "***REDACTED_WG_KEY***="; - }; + peers = [{ + allowedIPs = [ "0.0.0.0/0" "::0/0" ]; + endpoint = "45.134.142.219:51820"; + publicKey = "FVEKAMJqaJU2AwWn5Mg9TK9IAfJc4XDUmSzEeC/VXGs="; + }]; }; }; @@ -238,6 +254,18 @@ LQIhANgsvYmyCp/Nur2RKaV25CDg3kMYVBXED2HVDy8qa+3i pulse.enable = true; }; + # vpn + tailscale = { + enable = true; + authKeyFile = config.age.secrets.tailscale_hastur.path; + extraDaemonFlags = [ "--no-logs-no-support" ]; + extraUpFlags = [ + "--login-server=https://headscale.13f0.net" + "--advertise-exit-node" + ]; + openFirewall = true; + }; + # enable better power management tlp.enable = true; diff --git a/secrets/secrets.nix b/secrets/secrets.nix @@ -3,6 +3,7 @@ let users = [ vin ]; demiurge = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICXDBcX7hXJCaKDRNaIAfycU83Y2J+uEB4wcALBOQpse"; + hastur = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN2ZUuPSPpIRULzMscBo5DJmA0UbFtG0jaANuzHo5aSQ"; saklas = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM7RCmfdgJKPnaBi336ZcvDWboxPj8lTtW1eDTN5qR2R"; systems = [ demiurge saklas ]; in @@ -13,6 +14,8 @@ in "hetzner_dns.age".publicKeys = users ++ [ saklas ]; "radicale_users.age".publicKeys = users ++ [ saklas ]; + "tailscale_demiurge.age".publicKeys = users ++ [ demiurge ]; + "tailscale_hastur.age".publicKeys = users ++ [ hastur ]; "tailscale_saklas.age".publicKeys = users ++ [ saklas ]; } diff --git a/secrets/tailscale_hastur.age b/secrets/tailscale_hastur.age Binary files differ.