diff --git a/desktop/tailscale.nix b/desktop/tailscale.nix new file mode 100644 index 0000000..9093671 --- /dev/null +++ b/desktop/tailscale.nix @@ -0,0 +1,37 @@ +{ + description = "NixOS with Tailscale + Plasma tray"; + + inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; + + outputs = { self, nixpkgs }: + let + system = "x86_64-linux"; + in { + nixosConfigurations.my-host = nixpkgs.lib.nixosSystem { + inherit system; + modules = [ + ({ pkgs, ... }: { + networking.hostName = "my-host"; + + services.tailscale = { + enable = true; + openFirewall = true; + extraUpFlags = [ "--ssh" ]; + }; + + environment.systemPackages = [ pkgs.tail-tray ]; + + systemd.user.services.tail-tray = { + description = "Tailscale tray (Plasma)"; + wantedBy = [ "graphical-session.target" ]; + after = [ "graphical-session.target" ]; + serviceConfig = { + ExecStart = "${pkgs.tail-tray}/bin/tail-tray"; + Restart = "on-failure"; + }; + }; + }) + ]; + }; + }; +}