From 569ac528a55a2c65dbc4f066851eece4e785bbb1 Mon Sep 17 00:00:00 2001 From: John Ogle Date: Sun, 26 Oct 2025 12:00:13 -0700 Subject: [PATCH] [zix790prors] Add i3 + fixes --- home/modules/i3+sway/default.nix | 26 ++++++++++++++++++++++++++ machines/zix790prors/configuration.nix | 6 ++++++ roles/desktop/x11.nix | 9 ++++++++- 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/home/modules/i3+sway/default.nix b/home/modules/i3+sway/default.nix index 011670f..b7a8db3 100644 --- a/home/modules/i3+sway/default.nix +++ b/home/modules/i3+sway/default.nix @@ -11,6 +11,12 @@ let terminal = "kitty"; defaultWorkspace = "workspace number 1"; + bars = [{ + position = "bottom"; + statusCommand = "i3status"; + trayOutput = "primary"; # Enable system tray on primary output + }]; + keybindings = { "${shared_config.modifier}+Return" = "exec ${terminal}"; "${shared_config.modifier}+Shift+q" = "kill"; @@ -113,6 +119,26 @@ in { "${shared_config.modifier}+Shift+e" = "exec i3-nagbar -t warning -m 'Do you want to exit i3?' -b 'Yes' 'i3-msg exit'"; }; + startup = [ + # GNOME polkit authentication agent + { + command = "/run/current-system/sw/libexec/polkit-gnome-authentication-agent-1"; + always = false; + notification = false; + } + # Picom compositor for smooth rendering and no tearing (important for Nvidia) + { + command = "picom -b"; + always = false; + notification = false; + } + # NetworkManager system tray applet + { + command = "nm-applet"; + always = false; + notification = false; + } + ]; }; in { enable = true; diff --git a/machines/zix790prors/configuration.nix b/machines/zix790prors/configuration.nix index a5f444d..e56c1d8 100644 --- a/machines/zix790prors/configuration.nix +++ b/machines/zix790prors/configuration.nix @@ -24,6 +24,7 @@ with lib; kde = true; sddm = true; wayland = true; + x11 = true; }; nfs-mounts.enable = true; nvidia.enable = true; @@ -51,6 +52,11 @@ with lib; hardware.graphics.enable = true; hardware.graphics.enable32Bit = true; + # Set DP-0 as primary display for system tray and multi-monitor setup + services.xserver.displayManager.sessionCommands = '' + ${pkgs.xorg.xrandr}/bin/xrandr --output DP-0 --primary + ''; + hardware.nvidia = { # Modesetting is required. modesetting.enable = true; diff --git a/roles/desktop/x11.nix b/roles/desktop/x11.nix index 33131d7..be88919 100644 --- a/roles/desktop/x11.nix +++ b/roles/desktop/x11.nix @@ -12,7 +12,14 @@ in windowManager.i3 = { enable = true; - extraPackages = with pkgs; [ dmenu i3status i3lock ]; + extraPackages = with pkgs; [ + dmenu + i3status + i3lock + polkit_gnome # GNOME polkit authentication agent (more stable with i3) + picom # Compositor for smooth rendering (important for Nvidia) + networkmanagerapplet # NetworkManager system tray applet + ]; }; }; };