fix: noctalia-shell - can not find running shell instance

This commit is contained in:
Ryan Yin
2026-04-28 09:55:15 +08:00
parent 9febf86f71
commit b053027899
4 changed files with 11 additions and 23 deletions

View File

@@ -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";

View File

@@ -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 ];
};
}

View File

@@ -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"

View File

@@ -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"