diff --git a/home/linux/gui/base/desktop-tools.nix b/home/linux/gui/base/desktop-tools.nix index 0bc0fe5b..5a5f1c50 100644 --- a/home/linux/gui/base/desktop-tools.nix +++ b/home/linux/gui/base/desktop-tools.nix @@ -10,7 +10,6 @@ # misc "_JAVA_AWT_WM_NONREPARENTING" = "1"; "QT_WAYLAND_DISABLE_WINDOWDECORATION" = "1"; - "QT_QPA_PLATFORM" = "wayland"; "SDL_VIDEODRIVER" = "wayland"; "GDK_BACKEND" = "wayland"; "XDG_SESSION_TYPE" = "wayland"; diff --git a/home/linux/gui/base/noctalia/default.nix b/home/linux/gui/base/noctalia/default.nix index cf6df0b7..8c3ab5f0 100644 --- a/home/linux/gui/base/noctalia/default.nix +++ b/home/linux/gui/base/noctalia/default.nix @@ -10,6 +10,13 @@ let package = pkgs.noctalia-shell; in { + # Qt for noctalia-shell (replaces former systemd user service Environment=) + home.sessionVariables = { + # Qt6: wayland primary, xcb fallback (QT_QPA_PLATFORM). + "QT_QPA_PLATFORM" = "wayland;xcb"; + "QT_QPA_PLATFORMTHEME" = "qt6ct"; + "QT_AUTO_SCREEN_SCALE_FACTOR" = "1"; + }; home.packages = [ package @@ -33,26 +40,4 @@ in "noctalia".source = mkSymlink "${confPath}/config"; "qt6ct/qt6ct.conf".source = mkSymlink "${confPath}/qt6ct.conf"; }; - - systemd.user.services.noctalia-shell = { - Unit = { - Description = "Noctalia Shell - Wayland desktop shell"; - Documentation = "https://docs.noctalia.dev/docs"; - PartOf = [ config.wayland.systemd.target ]; - After = [ config.wayland.systemd.target ]; - }; - - Service = { - ExecStart = lib.getExe package; - Restart = "on-failure"; - - Environment = [ - "QT_QPA_PLATFORM=wayland;xcb" - "QT_QPA_PLATFORMTHEME=qt6ct" - "QT_AUTO_SCREEN_SCALE_FACTOR=1" - ]; - }; - - Install.WantedBy = [ config.wayland.systemd.target ]; - }; } diff --git a/home/linux/gui/niri/conf/config.kdl b/home/linux/gui/niri/conf/config.kdl index 8a3fb420..f7fbeded 100644 --- a/home/linux/gui/niri/conf/config.kdl +++ b/home/linux/gui/niri/conf/config.kdl @@ -8,6 +8,7 @@ include "./keybindings.kdl" include "./windowrules.kdl" include "./niri-hardware.kdl" include "./noctalia-shell.kdl" +include "./spawn-at-startup.kdl" spawn-sh-at-startup "bash ~/nix-config/home/linux/gui/niri/reorder-workspaces.sh" diff --git a/home/linux/gui/niri/conf/spawn-at-startup.kdl b/home/linux/gui/niri/conf/spawn-at-startup.kdl new file mode 100644 index 00000000..4cb92318 --- /dev/null +++ b/home/linux/gui/niri/conf/spawn-at-startup.kdl @@ -0,0 +1,3 @@ +// Noctalia: use niri spawn-at-startup (systemd user service is deprecated upstream). +// https://docs.noctalia.dev/getting-started/compositor-settings/niri/ +spawn-at-startup "noctalia-shell"