From ce4e8225f9611c3279f1dd978745507f523090ff Mon Sep 17 00:00:00 2001 From: "finn.markwitz" Date: Tue, 18 Feb 2025 20:52:16 +0100 Subject: [PATCH] feat: Tailscale VPN Setup --- flake.nix | 1 - machines/jupiter/environments.nix | 4 ++++ modules/default.nix | 1 + modules/services/default.nix | 8 ++++++++ modules/services/vpn/default.nix | 19 +++++++++++++++++++ 5 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 modules/services/default.nix create mode 100644 modules/services/vpn/default.nix diff --git a/flake.nix b/flake.nix index 74463d3..e92a04d 100644 --- a/flake.nix +++ b/flake.nix @@ -41,5 +41,4 @@ systems = [ "x86_64-linux" ]; }; - formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-rfc-style; } diff --git a/machines/jupiter/environments.nix b/machines/jupiter/environments.nix index eb57d89..271715e 100644 --- a/machines/jupiter/environments.nix +++ b/machines/jupiter/environments.nix @@ -35,4 +35,8 @@ in bluetooth.enable = true; sound.enable = true; }; + + my.services = { + vpn.enable = true; + }; } diff --git a/modules/default.nix b/modules/default.nix index 2c50bf8..255962d 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -3,5 +3,6 @@ imports = [ ./environments ./hardware + ./services ]; } diff --git a/modules/services/default.nix b/modules/services/default.nix new file mode 100644 index 0000000..46a0a16 --- /dev/null +++ b/modules/services/default.nix @@ -0,0 +1,8 @@ +# Service-related modules +{ ... }: + +{ + imports = [ + ./vpn + ]; +} diff --git a/modules/services/vpn/default.nix b/modules/services/vpn/default.nix new file mode 100644 index 0000000..7702410 --- /dev/null +++ b/modules/services/vpn/default.nix @@ -0,0 +1,19 @@ +# self-hosted vpn +{ config, lib, ... }: +let + cfg = config.my.services.vpn; + inherit (config.networking) domain; +in +{ + options.my.services.vpn = with lib; { + enable = mkEnableOption "Headscale VPN Setup"; + }; + + config = lib.mkIf cfg.enable ( + lib.mkMerge [ + { + services.tailscale.enable = true; + } + ] + ); +}