From 7564c5d740f15de38473da4a5280df76a264f337 Mon Sep 17 00:00:00 2001 From: Dominik Polakovics Date: Sun, 19 Oct 2025 13:25:48 +0200 Subject: [PATCH 1/5] fix: nb change signal flags --- hosts/nb/modules/desktop/signal-work.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/hosts/nb/modules/desktop/signal-work.nix b/hosts/nb/modules/desktop/signal-work.nix index 88d44b3..8410daf 100644 --- a/hosts/nb/modules/desktop/signal-work.nix +++ b/hosts/nb/modules/desktop/signal-work.nix @@ -2,16 +2,24 @@ { pkgs, ... }: let + signalDesktopItem = pkgs.makeDesktopItem { + name = "signal-desktop"; + desktopName = "Signal"; + icon = "signal-desktop"; + exec = "signal-desktop --enable-features=UseOzonePlatform,VaapiVideoDecoder --ozone-platform=wayland -- %u"; + }; + signalWorkDesktopItem = pkgs.makeDesktopItem { name = "signal-work"; desktopName = "Signal with work profile"; icon = "signal-desktop"; - exec = "signal-desktop --enable-dev-tools --enable-features=VaapiVideoDecoder --user-data-dir=/home/dominik/.config/Signal-work -- %u"; + exec = "signal-desktop --enable-features=UseOzonePlatform,VaapiVideoDecoder --ozone-platform=wayland --enable-dev-tools --user-data-dir=/home/dominik/.config/Signal-work -- %u"; }; in { - environment.systemPackages = [ + environment.systemPackages = [ pkgs.signal-cli pkgs.signal-desktop + signalDesktopItem pkgs.zbar signalWorkDesktopItem ]; From 40743442e91b591bfba079bf0435f09e11ce719a Mon Sep 17 00:00:00 2001 From: Dominik Polakovics Date: Sun, 19 Oct 2025 13:31:31 +0200 Subject: [PATCH 2/5] fix: use autoupgrade only on AC --- utils/modules/autoupgrade.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/utils/modules/autoupgrade.nix b/utils/modules/autoupgrade.nix index aabfc06..8c34a37 100644 --- a/utils/modules/autoupgrade.nix +++ b/utils/modules/autoupgrade.nix @@ -1,6 +1,13 @@ -{ config, ... }: +{ config, lib, pkgs, ... }: { system.autoUpgrade.enable = true; system.autoUpgrade.allowReboot = false; + + # Skip auto-upgrade when on battery to save power + systemd.services.nixos-upgrade = { + unitConfig = { + ConditionACPower = true; + }; + }; } From bbb9cacd71f998e6aba30e8ca98eff1441bf2b83 Mon Sep 17 00:00:00 2001 From: Dominik Polakovics Date: Sun, 19 Oct 2025 15:28:42 +0200 Subject: [PATCH 3/5] fix(nb): remove wayland flags from signal-desktop to fix empty window MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signal Desktop has a known Electron bug where the window never appears when using Wayland Ozone platform flags. The ready-to-show event doesn't fire properly on Wayland. Running in XWayland mode resolves this issue. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- hosts/nb/modules/desktop/signal-work.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hosts/nb/modules/desktop/signal-work.nix b/hosts/nb/modules/desktop/signal-work.nix index 8410daf..d4b5de9 100644 --- a/hosts/nb/modules/desktop/signal-work.nix +++ b/hosts/nb/modules/desktop/signal-work.nix @@ -6,14 +6,14 @@ let name = "signal-desktop"; desktopName = "Signal"; icon = "signal-desktop"; - exec = "signal-desktop --enable-features=UseOzonePlatform,VaapiVideoDecoder --ozone-platform=wayland -- %u"; + exec = "signal-desktop --enable-features=VaapiVideoDecoder -- %u"; }; signalWorkDesktopItem = pkgs.makeDesktopItem { name = "signal-work"; desktopName = "Signal with work profile"; icon = "signal-desktop"; - exec = "signal-desktop --enable-features=UseOzonePlatform,VaapiVideoDecoder --ozone-platform=wayland --enable-dev-tools --user-data-dir=/home/dominik/.config/Signal-work -- %u"; + exec = "signal-desktop --enable-features=VaapiVideoDecoder --enable-dev-tools --user-data-dir=/home/dominik/.config/Signal-work -- %u"; }; in { environment.systemPackages = [ From 56482240629b0bb2199d34e767b2a2dd6f59f7b5 Mon Sep 17 00:00:00 2001 From: Dominik Polakovics Date: Sun, 19 Oct 2025 15:56:24 +0200 Subject: [PATCH 4/5] fix(nb): force signal-desktop to use X11 with --ozone-platform=x11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Electron 38 has built-in Wayland auto-detection. Even without ELECTRON_OZONE_PLATFORM_HINT, it detects WAYLAND_DISPLAY and tries to use Wayland, triggering the empty window bug in Signal Desktop. Explicitly force X11/XWayland mode with --ozone-platform=x11 flag to prevent auto-detection and fix the empty window issue. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- hosts/nb/modules/desktop/signal-work.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hosts/nb/modules/desktop/signal-work.nix b/hosts/nb/modules/desktop/signal-work.nix index d4b5de9..50ec0a7 100644 --- a/hosts/nb/modules/desktop/signal-work.nix +++ b/hosts/nb/modules/desktop/signal-work.nix @@ -6,14 +6,14 @@ let name = "signal-desktop"; desktopName = "Signal"; icon = "signal-desktop"; - exec = "signal-desktop --enable-features=VaapiVideoDecoder -- %u"; + exec = "signal-desktop --ozone-platform=x11 --enable-features=VaapiVideoDecoder -- %u"; }; signalWorkDesktopItem = pkgs.makeDesktopItem { name = "signal-work"; desktopName = "Signal with work profile"; icon = "signal-desktop"; - exec = "signal-desktop --enable-features=VaapiVideoDecoder --enable-dev-tools --user-data-dir=/home/dominik/.config/Signal-work -- %u"; + exec = "signal-desktop --ozone-platform=x11 --enable-features=VaapiVideoDecoder --enable-dev-tools --user-data-dir=/home/dominik/.config/Signal-work -- %u"; }; in { environment.systemPackages = [ From 5a35cd04a6d02467e84ad6ac9bbcb15a7c7ce9a6 Mon Sep 17 00:00:00 2001 From: Dominik Polakovics Date: Sun, 19 Oct 2025 16:03:29 +0200 Subject: [PATCH 5/5] feat: nvim update terminal keybindings --- .../nb/modules/development/nvim/config/terminal.lua | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/hosts/nb/modules/development/nvim/config/terminal.lua b/hosts/nb/modules/development/nvim/config/terminal.lua index 1949be6..41ab650 100644 --- a/hosts/nb/modules/development/nvim/config/terminal.lua +++ b/hosts/nb/modules/development/nvim/config/terminal.lua @@ -37,10 +37,13 @@ local config = { -- lvim.builtin.terminal.execs[#lvim.builtin.terminal.execs+1] = {"gdb", "tg", "GNU Debugger"} -- TODO: pls add mappings in which key and refactor this execs = { - { vim.o.shell, "", "Horizontal Terminal", "horizontal", 0.3 }, - { vim.o.shell, "", "Vertical Terminal", "vertical", 0.4 }, - { vim.o.shell, "", "Float Terminal", "float", nil }, - { vim.o.shell, "", "AI Agent Terminal", "float", nil }, + -- { vim.o.shell, "", "Horizontal Terminal", "horizontal", 0.3 }, + -- { vim.o.shell, "", "Vertical Terminal", "vertical", 0.4 }, + { vim.o.shell, "", "Float Terminal 1", "float", nil }, + { vim.o.shell, "", "Float Terminal 2", "float", nil }, + { vim.o.shell, "", "Float Terminal 3", "float", nil }, + { vim.o.shell, "", "Float Terminal 4", "float", nil }, + { vim.o.shell, "", "Float Terminal 5", "float", nil }, }, } @@ -81,7 +84,7 @@ Add_exec = function(opts) end vim.keymap.set({ "n", "t" }, opts.keymap, function() - M._exec_toggle { cmd = opts.cmd, count = opts.count, direction = opts.direction, size = opts.size() } + _exec_toggle { cmd = opts.cmd, count = opts.count, direction = opts.direction, size = opts.size() } end, { desc = opts.label, noremap = true, silent = true }) end