From a9ce047de60d1c22863ef2e20dbc4d2fe8696211 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Thu, 18 Sep 2025 20:19:57 +0800 Subject: [PATCH 1/2] nixos/tests/pantheon: Always use `pgrep -xf` To make sure we are e.g. starting the correct GSD. --- nixos/tests/pantheon.nix | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/nixos/tests/pantheon.nix b/nixos/tests/pantheon.nix index b44065ebacdb..336f84a061b4 100644 --- a/nixos/tests/pantheon.nix +++ b/nixos/tests/pantheon.nix @@ -75,11 +75,19 @@ machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}") with subtest("Check if Pantheon components actually start"): - # We specifically check gsd-xsettings here since it is manually pulled up by gala. - # https://github.com/elementary/gala/pull/2140 - for i in ["gala", "io.elementary.wingpanel", "io.elementary.dock", "gsd-media-keys", "gsd-xsettings", "io.elementary.desktop.agent-polkit"]: - machine.wait_until_succeeds(f"pgrep -f {i}") - machine.wait_until_succeeds("pgrep -xf ${pkgs.pantheon.elementary-files}/libexec/io.elementary.files.xdg-desktop-portal") + pgrep_list = [ + "${pkgs.pantheon.gala}/bin/gala", + "io.elementary.wingpanel", + "io.elementary.dock", + "${pkgs.pantheon.gnome-settings-daemon}/libexec/gsd-media-keys", + # We specifically check gsd-xsettings here since it is manually pulled up by gala. + # https://github.com/elementary/gala/pull/2140 + "${pkgs.pantheon.gnome-settings-daemon}/libexec/gsd-xsettings", + "${pkgs.pantheon.pantheon-agent-polkit}/libexec/policykit-1-pantheon/io.elementary.desktop.agent-polkit", + "${pkgs.pantheon.elementary-files}/libexec/io.elementary.files.xdg-desktop-portal" + ] + for i in pgrep_list: + machine.wait_until_succeeds(f"pgrep -xf {i}") with subtest("Check if various environment variables are set"): cmd = "xargs --null --max-args=1 echo < /proc/$(pgrep -xf ${pkgs.pantheon.gala}/bin/gala)/environ" @@ -93,7 +101,7 @@ machine.succeed(f"{cmd} | grep 'SSH_AUTH_SOCK' | grep 'gcr'") with subtest("Wait for elementary videos autostart"): - machine.wait_until_succeeds("pgrep -f io.elementary.videos") + machine.wait_until_succeeds("pgrep -xf /run/current-system/sw/bin/io.elementary.videos") machine.wait_for_text("No Videos Open") machine.screenshot("videos") From d89600b7e9db6af86dc59d08c8ab3ada047b1650 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Mon, 15 Sep 2025 23:56:54 +0800 Subject: [PATCH 2/2] pantheon.elementary-session-settings: Drop x11 session The fallback-session option is not used in wayland session, and also ignored in gnome-session 49. --- nixos/doc/manual/release-notes/rl-2511.section.md | 2 +- .../desktop/elementary-session-settings/default.nix | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-2511.section.md b/nixos/doc/manual/release-notes/rl-2511.section.md index 3e9e83e52855..6f9da1c6dc7c 100644 --- a/nixos/doc/manual/release-notes/rl-2511.section.md +++ b/nixos/doc/manual/release-notes/rl-2511.section.md @@ -252,7 +252,7 @@ - mate-wayland-session 1.28.4 is now using the default wayfire decorator instead of firedecor, thus `services.xserver.desktopManager.mate.enableWaylandSession` is no longer shipping firedecor. If you are experiencing broken window decorations after upgrade, backup and remove `~/.config/mate/wayfire.ini` and re-login. -- Due to [deprecation of gnome-session X11 support](https://blogs.gnome.org/alatiera/2025/06/08/the-x11-session-removal/), `services.desktopManager.pantheon` now defaults to pantheon-wayland session. The X11 session will be removed before gnome-session 49 lands. +- Due to [deprecation of gnome-session X11 support](https://blogs.gnome.org/alatiera/2025/06/08/the-x11-session-removal/), `services.desktopManager.pantheon` now defaults to pantheon-wayland session. The X11 session has been removed, see [this issue](https://github.com/elementary/session-settings/issues/91) for details. - `services.gitea` supports sending notifications with sendmail again. To do this, activate the parameter `services.gitea.mailerUseSendmail` and configure SMTP server. diff --git a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix index cc69765b1ff4..b62d9af7ccc1 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix @@ -58,8 +58,9 @@ stdenv.mkDerivation rec { mesonFlags = [ "-Dmimeapps-list=false" - "-Dfallback-session=GNOME" "-Ddetect-program-prefixes=true" + # https://github.com/elementary/session-settings/issues/91 + "-Dx11=false" "--sysconfdir=${placeholder "out"}/etc" ]; @@ -70,7 +71,7 @@ stdenv.mkDerivation rec { cp -av ${./pantheon-mimeapps.list} $out/share/applications/pantheon-mimeapps.list # absolute path patched sessions - substituteInPlace $out/share/{xsessions/pantheon.desktop,wayland-sessions/pantheon-wayland.desktop} \ + substituteInPlace $out/share/wayland-sessions/pantheon-wayland.desktop \ --replace-fail "Exec=gnome-session" "Exec=${gnome-session}/bin/gnome-session" \ --replace-fail "TryExec=io.elementary.wingpanel" "TryExec=${wingpanel}/bin/io.elementary.wingpanel" ''; @@ -79,7 +80,6 @@ stdenv.mkDerivation rec { updateScript = nix-update-script { }; providedSessions = [ - "pantheon" "pantheon-wayland" ]; };