diff options
| author | sinanmohd <sinan@sinanmohd.com> | 2025-11-03 11:41:41 +0530 | 
|---|---|---|
| committer | sinanmohd <sinan@sinanmohd.com> | 2025-11-03 11:41:41 +0530 | 
| commit | 18ba368bafe4e8e959c2943ec252b8e552c2b6ae (patch) | |
| tree | ed78d9d5402e125d3fc1f595c1c995ce1fb60079 /os/fscusat/modules/network | |
| parent | 69e69cc79f9f82167a628f2d4cd7b331a615c7f3 (diff) | |
Diffstat (limited to 'os/fscusat/modules/network')
| -rw-r--r-- | os/fscusat/modules/network/headscale.nix | 23 | ||||
| -rw-r--r-- | os/fscusat/modules/network/lan.nix | 23 | 
2 files changed, 46 insertions, 0 deletions
diff --git a/os/fscusat/modules/network/headscale.nix b/os/fscusat/modules/network/headscale.nix new file mode 100644 index 0000000..906080a --- /dev/null +++ b/os/fscusat/modules/network/headscale.nix @@ -0,0 +1,23 @@ +{ config, ... }: +let +  headScaleUrl = "https://headscale.${config.global.userdata.domain}"; +  user = config.global.userdata.name; +in +{ +  sops.secrets."misc/headscale" = { }; +  networking.firewall.trustedInterfaces = [ config.services.tailscale.interfaceName ]; + +  services.tailscale = { +    enable = true; +    interfaceName = "headscale"; +    openFirewall = true; + +    authKeyFile = config.sops.secrets."misc/headscale".path; +    extraUpFlags = [ +      "--login-server=${headScaleUrl}" +      "--operator=${user}" +      "--accept-routes=false" +      "--advertise-exit-node" +    ]; +  }; +} diff --git a/os/fscusat/modules/network/lan.nix b/os/fscusat/modules/network/lan.nix new file mode 100644 index 0000000..fefcd14 --- /dev/null +++ b/os/fscusat/modules/network/lan.nix @@ -0,0 +1,23 @@ +{ ... }: + +let +  wan = "ens18"; +in +{ +  networking = { +    interfaces.${wan}.ipv4.addresses = [ +      { +        address = "10.0.8.101"; +        prefixLength = 16; +      } +    ]; +    defaultGateway = { +      address = "10.0.0.1"; +      interface = wan; +    }; +    nameservers = [ +      "10.0.0.2" +      "10.0.0.3" +    ]; +  }; +}  | 
