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.
This commit is contained in:
2026-06-02 18:10:19 +02:00
parent 01e84a3561
commit 1d41bf6bf1
6 changed files with 30 additions and 2 deletions
+1
View File
@@ -78,5 +78,6 @@ _: {
screen-recorder.enable = true; # Screen Recorder: Hardware-accelerated screen recording using gpu-screen-recorder with customizable video and audio settings 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 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 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.
}; };
} }
+1
View File
@@ -78,5 +78,6 @@ _: {
screen-recorder.enable = false; # Screen Recorder: Hardware-accelerated screen recording using gpu-screen-recorder with customizable video and audio settings 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 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 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.
}; };
} }
+1
View File
@@ -78,5 +78,6 @@ _: {
screen-recorder.enable = false; # Screen Recorder: Hardware-accelerated screen recording using gpu-screen-recorder with customizable video and audio settings 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 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 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.
}; };
} }
+2 -2
View File
@@ -4,11 +4,11 @@
fetchurl, fetchurl,
}: let }: let
pname = "helium"; pname = "helium";
version = "0.12.4.1"; version = "0.12.5.1";
src = fetchurl { src = fetchurl {
url = "https://github.com/imputnet/helium-linux/releases/download/${version}/helium-${version}-x86_64.AppImage"; 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;}; appimageContents = appimageTools.extract {inherit pname version src;};
+22
View File
@@ -13,6 +13,7 @@ in {
screen-recorder.enable = lib.mkEnableOption "Screen-recorder plugin"; screen-recorder.enable = lib.mkEnableOption "Screen-recorder plugin";
screenshot.enable = lib.mkEnableOption "Screenshot plugin"; screenshot.enable = lib.mkEnableOption "Screenshot plugin";
ntfy-notifications.enable = lib.mkEnableOption "ntfy notifications plugin"; ntfy-notifications.enable = lib.mkEnableOption "ntfy notifications plugin";
tailscale.enable = lib.mkEnableOption "Tailscale plugin";
}; };
config.programs.noctalia-shell = lib.mkForce { config.programs.noctalia-shell = lib.mkForce {
@@ -53,6 +54,10 @@ in {
enabled = true; enabled = true;
sourceUrl = sourceUrl; sourceUrl = sourceUrl;
}; };
tailscale = lib.mkIf config.nooctalia-plugins.tailscale.enable {
enabled = true;
sourceUrl = sourceUrl;
};
}; };
version = 2; version = 2;
}; };
@@ -106,6 +111,23 @@ in {
# maxMessages = 100; # maxMessages = 100;
# readMessageIds = []; # 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";
};
}; };
}; };
} }
@@ -11,6 +11,9 @@
hidePassive = false; hidePassive = false;
pinned = []; pinned = [];
} }
{
id = "plugin:tailscale";
}
{ {
id = "plugin:keybind-cheatsheet"; id = "plugin:keybind-cheatsheet";
} }