From 1d41bf6bf1de068b4e1fe314640c76b9ca05536d Mon Sep 17 00:00:00 2001 From: GarandPLG Date: Tue, 2 Jun 2026 18:10:19 +0200 Subject: [PATCH] Add Tailscale plugin and enable on desktop/laptop - Enable Tailscale plugin in home modules for Garand-Desktop and Garand-Laptop; keep it disabled in the default host. - Introduce `tailscale.enable` option in noctalia plugins and add it to the noctalia-shell configuration with source URL handling. - Provide default Tailscale settings (refresh interval, UI options, Taildrop configuration, login server, etc.). - Add Tailscale widget to the right side of the bar widget list. - Bump Helium AppImage to version 0.12.5.1 and update its sha256. --- hosts/Garand-Desktop/home-modules.nix | 1 + hosts/Garand-Laptop/home-modules.nix | 1 + hosts/default/home-modules.nix | 1 + modules/core/packages/appimages/helium.nix | 4 ++-- modules/home/noctalia/plugins.nix | 22 +++++++++++++++++++ .../noctalia/settings/bar/widgets/right.nix | 3 +++ 6 files changed, 30 insertions(+), 2 deletions(-) diff --git a/hosts/Garand-Desktop/home-modules.nix b/hosts/Garand-Desktop/home-modules.nix index ca687e9..23f7ada 100644 --- a/hosts/Garand-Desktop/home-modules.nix +++ b/hosts/Garand-Desktop/home-modules.nix @@ -78,5 +78,6 @@ _: { screen-recorder.enable = true; # Screen Recorder: Hardware-accelerated screen recording using gpu-screen-recorder with customizable video and audio settings screenshot.enable = true; # Screenshot: Quick screenshot button in bar for Hyprland, Sway, and Niri ntfy-notifications.enable = true; # ntfy Notifications: Subscribe to ntfy topics and receive push notifications directly in your bar, with full theming support + tailscale.enable = true; # Tailscale: Show Tailscale status in the menu bar and send/receive files via Taildrop. }; } diff --git a/hosts/Garand-Laptop/home-modules.nix b/hosts/Garand-Laptop/home-modules.nix index 5e78c08..406e395 100644 --- a/hosts/Garand-Laptop/home-modules.nix +++ b/hosts/Garand-Laptop/home-modules.nix @@ -78,5 +78,6 @@ _: { screen-recorder.enable = false; # Screen Recorder: Hardware-accelerated screen recording using gpu-screen-recorder with customizable video and audio settings screenshot.enable = true; # Screenshot: Quick screenshot button in bar for Hyprland, Sway, and Niri ntfy-notifications.enable = true; # ntfy Notifications: Subscribe to ntfy topics and receive push notifications directly in your bar, with full theming support + tailscale.enable = true; # Tailscale: Show Tailscale status in the menu bar and send/receive files via Taildrop. }; } diff --git a/hosts/default/home-modules.nix b/hosts/default/home-modules.nix index 6b9904b..3393dcf 100644 --- a/hosts/default/home-modules.nix +++ b/hosts/default/home-modules.nix @@ -78,5 +78,6 @@ _: { screen-recorder.enable = false; # Screen Recorder: Hardware-accelerated screen recording using gpu-screen-recorder with customizable video and audio settings screenshot.enable = false; # Screenshot: Quick screenshot button in bar for Hyprland, Sway, and Niri ntfy-notifications.enable = false; # ntfy Notifications: Subscribe to ntfy topics and receive push notifications directly in your bar, with full theming support + tailscale.enable = false; # Tailscale: Show Tailscale status in the menu bar and send/receive files via Taildrop. }; } diff --git a/modules/core/packages/appimages/helium.nix b/modules/core/packages/appimages/helium.nix index 8d718b6..f83a281 100644 --- a/modules/core/packages/appimages/helium.nix +++ b/modules/core/packages/appimages/helium.nix @@ -4,11 +4,11 @@ fetchurl, }: let pname = "helium"; - version = "0.12.4.1"; + version = "0.12.5.1"; src = fetchurl { url = "https://github.com/imputnet/helium-linux/releases/download/${version}/helium-${version}-x86_64.AppImage"; - sha256 = "sha256-OgS8HkLBseFrEhNFJxMwp1bg0gzPdfY1VaySAAp7vq0="; + sha256 = "sha256-uUZauNralX6katmnO9VDLEs+d+HIhkjkeV36Dw2eUmM="; }; appimageContents = appimageTools.extract {inherit pname version src;}; diff --git a/modules/home/noctalia/plugins.nix b/modules/home/noctalia/plugins.nix index 359d065..9fc95b5 100644 --- a/modules/home/noctalia/plugins.nix +++ b/modules/home/noctalia/plugins.nix @@ -13,6 +13,7 @@ in { screen-recorder.enable = lib.mkEnableOption "Screen-recorder plugin"; screenshot.enable = lib.mkEnableOption "Screenshot plugin"; ntfy-notifications.enable = lib.mkEnableOption "ntfy notifications plugin"; + tailscale.enable = lib.mkEnableOption "Tailscale plugin"; }; config.programs.noctalia-shell = lib.mkForce { @@ -53,6 +54,10 @@ in { enabled = true; sourceUrl = sourceUrl; }; + tailscale = lib.mkIf config.nooctalia-plugins.tailscale.enable { + enabled = true; + sourceUrl = sourceUrl; + }; }; version = 2; }; @@ -106,6 +111,23 @@ in { # maxMessages = 100; # readMessageIds = []; # }; + tailscale = { + refreshInterval = 5000; + compactMode = true; + showIpAddress = false; + showPeerCount = false; + hideDisconnected = false; + hideMullvadExitNodes = true; + showSearchBar = false; + terminalCommand = "kitty"; + sshUsername = ""; + pingCount = 5; + defaultPeerAction = "copy-ip"; + taildropEnabled = true; + taildropDownloadDir = "~/Downloads"; + taildropReceiveMode = "operator"; + loginServer = "https://hs.garandplg.com"; + }; }; }; } diff --git a/modules/home/noctalia/settings/bar/widgets/right.nix b/modules/home/noctalia/settings/bar/widgets/right.nix index c826de1..d0e8fb9 100644 --- a/modules/home/noctalia/settings/bar/widgets/right.nix +++ b/modules/home/noctalia/settings/bar/widgets/right.nix @@ -11,6 +11,9 @@ hidePassive = false; pinned = []; } + { + id = "plugin:tailscale"; + } { id = "plugin:keybind-cheatsheet"; }