From 01d10865800404eca2c37536fbdf14378ba48c41 Mon Sep 17 00:00:00 2001 From: mjallen18 Date: Mon, 23 Mar 2026 17:49:38 -0500 Subject: [PATCH] nebula --- modules/nixos/services/nebula/default.nix | 9 +++++++++ packages/system/gnome-nebula-vpn/extension/extension.js | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/modules/nixos/services/nebula/default.nix b/modules/nixos/services/nebula/default.nix index fad2403..07a2d1a 100644 --- a/modules/nixos/services/nebula/default.nix +++ b/modules/nixos/services/nebula/default.nix @@ -31,6 +31,13 @@ let lib.${namespace}.mkOpt types.str "jallen-nebula" "Nebula network name (used as the systemd service suffix and interface name)"; + # Linux interface names are capped at 15 characters. Nebula derives the + # default tun device name as "nebula." which easily exceeds + # that limit. Set an explicit short name here to avoid silent truncation. + tunDevice = + lib.${namespace}.mkOpt (types.nullOr types.str) null + "Explicit tun device name (max 15 chars). Defaults to nebula0 when unset."; + # ----------------------------------------------------------------------- # SOPS secret location # @@ -114,6 +121,8 @@ let lighthouses = cfg.lighthouses; staticHostMap = cfg.staticHostMap; + tun.device = if cfg.tunDevice != null then cfg.tunDevice else "nebula0"; + listen = { host = cfg.listenAddress; port = cfg.port; diff --git a/packages/system/gnome-nebula-vpn/extension/extension.js b/packages/system/gnome-nebula-vpn/extension/extension.js index 1ab0dee..9eaa030 100644 --- a/packages/system/gnome-nebula-vpn/extension/extension.js +++ b/packages/system/gnome-nebula-vpn/extension/extension.js @@ -13,7 +13,7 @@ const QuickSettingsMenu = Main.panel.statusArea.quickSettings; // ── constants ──────────────────────────────────────────────────────────────── const SERVICE_NAME = 'nebula@jallen-nebula.service'; -const IFACE_NAME = 'jallen-nebula'; +const IFACE_NAME = 'nebula0'; const POLL_INTERVAL_SECS = 5; const LOG_PREFIX = '[nebula-vpn]'; @@ -133,7 +133,7 @@ class NebulaToggle extends QuickSettings.QuickMenuToggle { }); // Header shown at the top of the expanded menu panel - this.menu.setHeader('network-vpn-symbolic', 'Nebula VPN', IFACE_NAME); + this.menu.setHeader('network-vpn-symbolic', 'Nebula VPN', 'jallen-nebula'); // ── menu body ──────────────────────────────────────────────