From bd3f680d370e43986224bf2b83047238f2bbd039 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 5 Apr 2024 21:23:11 +0800 Subject: [PATCH 1/2] pantheon.gala: Backport Wayland menu commit gala-daemon actually needs a correct environment for `AppInfo.launch_default_for_uri`. --- .../services/x11/desktop-managers/pantheon.nix | 16 ---------------- nixos/tests/pantheon.nix | 2 +- pkgs/desktops/pantheon/desktop/gala/default.nix | 11 ++++++++--- 3 files changed, 9 insertions(+), 20 deletions(-) diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 2cfdc69b86e06..b9ca6bd4ba8d3 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -190,22 +190,6 @@ in "org.gnome.SettingsDaemon.XSettings.service" ]; - # https://github.com/elementary/gala/issues/1826#issuecomment-1890461298 - systemd.user.services."io.elementary.gala.daemon@" = { - unitConfig = { - Description = "Gala Daemon"; - BindsTo = "io.elementary.gala@.service"; - After = "io.elementary.gala@.service"; - }; - - serviceConfig = { - Type = "dbus"; - BusName = "org.pantheon.gala.daemon"; - ExecStart = "${pkgs.pantheon.gala}/bin/gala-daemon"; - Slice = "session.slice"; - }; - }; - # Global environment environment.systemPackages = (with pkgs.pantheon; [ elementary-session-settings diff --git a/nixos/tests/pantheon.nix b/nixos/tests/pantheon.nix index 14f92fa3af4a2..f8de2eb8061d1 100644 --- a/nixos/tests/pantheon.nix +++ b/nixos/tests/pantheon.nix @@ -50,7 +50,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : machine.wait_until_succeeds(f"pgrep -f {i}") for i in ["gala", "io.elementary.wingpanel", "plank"]: machine.wait_for_window(i) - for i in ["io.elementary.gala.daemon@x11.service", "bamfdaemon.service", "io.elementary.files.xdg-desktop-portal.service"]: + for i in ["bamfdaemon.service", "io.elementary.files.xdg-desktop-portal.service"]: machine.wait_for_unit(i, "${user.name}") with subtest("Check if various environment variables are set"): diff --git a/pkgs/desktops/pantheon/desktop/gala/default.nix b/pkgs/desktops/pantheon/desktop/gala/default.nix index 123870c356de0..3cf8a67e9539b 100644 --- a/pkgs/desktops/pantheon/desktop/gala/default.nix +++ b/pkgs/desktops/pantheon/desktop/gala/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchFromGitHub +, fetchpatch , nix-update-script , pkg-config , meson @@ -39,6 +40,13 @@ stdenv.mkDerivation rec { # We look for plugins in `/run/current-system/sw/lib/` because # there are multiple plugin providers (e.g. gala and wingpanel). ./plugins-dir.patch + + # Start gala-daemon internally (needed for systemd managed gnome-session) + # https://github.com/elementary/gala/pull/1844 + (fetchpatch { + url = "https://github.com/elementary/gala/commit/351722c5a4fded46992b725e03dc94971c5bd31f.patch"; + hash = "sha256-RvdVHQjCUNmLrROBZTF+m1vE2XudtQZjk/YW28P/vKc="; + }) ]; nativeBuildInputs = [ @@ -70,9 +78,6 @@ stdenv.mkDerivation rec { postPatch = '' chmod +x build-aux/meson/post_install.py patchShebangs build-aux/meson/post_install.py - - # https://github.com/elementary/gala/issues/1826#issuecomment-1890461298 - sed '2i Wants=io.elementary.gala.daemon@.service' -i 'data/gala@x11.service.in' ''; passthru = { From cf95976e0e1f60d76b578ab8599076e8d973020b Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 5 Apr 2024 21:25:47 +0800 Subject: [PATCH 2/2] pantheon.elementary-session-settings: 6.0.0-unstable-2023-09-05 -> 6.0.0-unstable-2024-03-29 https://github.com/elementary/session-settings/compare/3476c89bbb66564a72c6495ac0c61f8f9ed7a3ec...53bf57e5b32936befc3003a0f99c5b3a69349c76 --- .../desktop/elementary-session-settings/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix index 2588a133ba7bb..e85540b27ae50 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix @@ -91,7 +91,7 @@ in stdenv.mkDerivation rec { pname = "elementary-session-settings"; - version = "6.0.0-unstable-2023-09-05"; + version = "6.0.0-unstable-2024-03-29"; src = fetchFromGitHub { owner = "elementary"; @@ -99,8 +99,8 @@ stdenv.mkDerivation rec { # For systemd managed gnome-session support. # https://github.com/NixOS/nixpkgs/issues/228946 # nixpkgs-update: no auto update - rev = "3476c89bbb66564a72c6495ac0c61f8f9ed7a3ec"; - sha256 = "sha256-Z1qW6m0XDkB92ZZVKx98JOMXiBDbGpQ0cAXgWdqK27c="; + rev = "53bf57e5b32936befc3003a0f99c5b3a69349c76"; + sha256 = "sha256-TX9V6gZiuPEKSHQoSD4+5QptuqEvuErCJ8OF2KFRf9k="; }; nativeBuildInputs = [