diff --git a/machines/gallantis/configuration.nix b/machines/gallantis/configuration.nix index 7eab24f..ae314ef 100644 --- a/machines/gallantis/configuration.nix +++ b/machines/gallantis/configuration.nix @@ -28,6 +28,8 @@ in { # Enable integration with Docker Desktop docker.enable = true; + + tailscale.enable = true; }; # Enable nix flakes diff --git a/machines/gallantis/nixos-wsl/flake.nix b/machines/gallantis/nixos-wsl/flake.nix index 7c95922..88bb76e 100644 --- a/machines/gallantis/nixos-wsl/flake.nix +++ b/machines/gallantis/nixos-wsl/flake.nix @@ -23,6 +23,7 @@ ./modules/build-tarball.nix ./modules/wsl-distro.nix ./modules/docker-desktop.nix + ./modules/tailscale.nix ./modules/installer.nix ]; }; diff --git a/machines/gallantis/nixos-wsl/modules/tailscale.nix b/machines/gallantis/nixos-wsl/modules/tailscale.nix new file mode 100644 index 0000000..08da459 --- /dev/null +++ b/machines/gallantis/nixos-wsl/modules/tailscale.nix @@ -0,0 +1,34 @@ +{ + config, + lib, + pkgs, + ... +}: +with builtins; +with lib; { + options.wsl.tailscale = with types; { + enable = mkEnableOption "Tailscale for WSL"; + }; + + config = let + cfg = config.wsl.tailscale; + in + mkIf (config.wsl.enable && cfg.enable) { + environment.systemPackages = with pkgs; [ + tailscale + ]; + + systemd.services.tailscaled = { + description = "Tailscale WSL"; + script = '' + ${pkgs.tailscale}/bin/tailscaled + ''; + wantedBy = ["multi-user.target"]; + serviceConfig = { + Restart = "on-failure"; + RestartSec = "30s"; + }; + }; + + }; +}