{ lib, stdenv , fetchFromGitHub , nix-update-script , pantheon , pkg-config , meson , python3 , ninja , vala , desktop-file-utils , gettext , libxml2 , gtk3 , granite , libgee , bamf , libcanberra , libcanberra-gtk3 , gnome-desktop , mutter , clutter , elementary-dock , elementary-icon-theme , elementary-settings-daemon , gnome-settings-daemon , wrapGAppsHook , gexiv2 }: stdenv.mkDerivation rec { pname = "gala"; version = "6.2.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; sha256 = "1yxsfshahaxiqs5waj4v96rhjhdgyd1za4pwlg3vqq51p75k2b1g"; }; passthru = { updateScript = nix-update-script { attrPath = "pantheon.${pname}"; }; }; nativeBuildInputs = [ desktop-file-utils gettext libxml2 meson ninja pkg-config python3 vala wrapGAppsHook ]; buildInputs = [ bamf clutter elementary-dock elementary-icon-theme elementary-settings-daemon gnome-settings-daemon gexiv2 gnome-desktop granite gtk3 libcanberra libcanberra-gtk3 libgee mutter ]; patches = [ ./plugins-dir.patch # https://github.com/elementary/gala/pull/1259 # https://github.com/NixOS/nixpkgs/issues/139404 # Remove this patch when it is included in a new release # of gala OR when we no longer use mutter 3.38 for pantheon ./fix-session-crash-when-taking-screenshots.patch ]; postPatch = '' chmod +x build-aux/meson/post_install.py patchShebangs build-aux/meson/post_install.py ''; meta = with lib; { description = "A window & compositing manager based on mutter and designed by elementary for use with Pantheon"; homepage = "https://github.com/elementary/gala"; license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = teams.pantheon.members; }; }