mate.mate-wayland-session: 1.28.3 -> 1.28.4 (#439858)

Changed files
+26 -78
nixos
doc
manual
release-notes
modules
services
x11
desktop-managers
tests
pkgs
applications
window-managers
desktops
mate
caja
mate-wayland-session
+2
nixos/doc/manual/release-notes/rl-2511.section.md
···
- `services.nextcloud.configureRedis` now defaults to `true` in accordance with upstream recommendations to have caching for file locking. See the [upstream doc](https://docs.nextcloud.com/server/31/admin_manual/configuration_files/files_locking_transactional.html) for further details.
+
- 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.
+
- `services.gitea` supports sending notifications with sendmail again. To do this, activate the parameter `services.gitea.mailerUseSendmail` and configure SMTP server.
- Revamp of the ACME certificate acquisication and renewal process to help scale systems with lots (100+) of certificates.
-1
nixos/modules/services/x11/desktop-managers/mate.nix
···
})
(mkIf cfg.enableWaylandSession {
programs.wayfire.enable = true;
-
programs.wayfire.plugins = [ pkgs.wayfirePlugins.firedecor ];
environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${pkgs.mate.mate-gsettings-overrides}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
+1 -1
nixos/tests/mate-wayland.nix
···
machine.succeed(f"{cmd} | grep 'SSH_AUTH_SOCK' | grep 'gcr'")
with subtest("Check if Wayfire config is properly configured"):
-
for i in ["button_style = mate", "firedecor", "mate-wayland-components.sh"]:
+
for i in ["autostart_wf_shell = false", "mate-wayland-components.sh"]:
machine.wait_until_succeeds(f"cat /home/${user.name}/.config/mate/wayfire.ini | grep '{i}'")
with subtest("Check if Wayfire has ever coredumped"):
-66
pkgs/applications/window-managers/wayfire/firedecor.nix
···
-
{
-
stdenv,
-
lib,
-
fetchFromGitHub,
-
meson,
-
ninja,
-
pkg-config,
-
boost,
-
glib,
-
libGL,
-
libinput,
-
librsvg,
-
libxkbcommon,
-
udev,
-
wayfire,
-
xcbutilwm,
-
mate,
-
}:
-
-
stdenv.mkDerivation (finalAttrs: {
-
pname = "firedecor";
-
version = "2023-10-23";
-
-
src = fetchFromGitHub {
-
owner = "mntmn";
-
repo = "Firedecor";
-
rev = finalAttrs.version;
-
hash = "sha256-7or8HkmIZnLpXEZzUhJ3u8SIPfIQFgn32Ju/5OzK06Y=";
-
};
-
-
nativeBuildInputs = [
-
meson
-
ninja
-
pkg-config
-
];
-
-
buildInputs = [
-
boost
-
glib
-
libGL
-
libinput
-
librsvg
-
libxkbcommon
-
udev
-
wayfire
-
xcbutilwm
-
];
-
-
postPatch = ''
-
substituteInPlace src/firedecor-theme.cpp \
-
--replace-fail "/usr/share" "/run/current-system/sw/share"
-
'';
-
-
env = {
-
PKG_CONFIG_WAYFIRE_PLUGINDIR = "${placeholder "out"}/lib/wayfire";
-
PKG_CONFIG_WAYFIRE_METADATADIR = "${placeholder "out"}/share/wayfire/metadata";
-
};
-
-
meta = with lib; {
-
homepage = "https://github.com/mntmn/Firedecor";
-
description = "Advanced window decoration plugin for the Wayfire window manager";
-
license = licenses.mit;
-
inherit (mate.mate-wayland-session.meta) teams;
-
inherit (wayfire.meta) platforms;
-
};
-
})
+8 -2
pkgs/applications/window-managers/wayfire/plugins.nix
···
-
{ lib, pkgs }:
+
{
+
config,
+
lib,
+
pkgs,
+
}:
lib.makeScope pkgs.newScope (
self:
···
inherit (self) callPackage;
in
{
-
firedecor = callPackage ./firedecor.nix { };
focus-request = callPackage ./focus-request.nix { };
wayfire-plugins-extra = callPackage ./wayfire-plugins-extra.nix { };
wayfire-shadows = callPackage ./wayfire-shadows.nix { };
···
wwp-switcher = callPackage ./wwp-switcher.nix { };
}
)
+
// lib.optionalAttrs config.allowAliases {
+
firedecor = throw "wayfirePlugins.firedecor has been removed as it is unmaintained and no longer used by mate-wayland-session."; # Added 2025-09-03
+
}
+10
pkgs/desktops/mate/caja/default.nix
···
lib,
stdenv,
fetchurl,
+
fetchpatch,
pkg-config,
gettext,
gtk-layer-shell,
···
url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "HjAUzhRVgX7C73TQnv37aDXYo3LtmhbvtZGe97ghlXo=";
};
+
+
patches = [
+
# wayland: ensure windows can be moved if compositor is using CSD
+
# https://github.com/mate-desktop/caja/pull/1787
+
(fetchpatch {
+
url = "https://github.com/mate-desktop/caja/commit/b0fb727c62ef9f45865d5d7974df7b79bcf0d133.patch";
+
hash = "sha256-2QAXveJnrPPyFSBST6wQcXz9PRsJVdt4iSYy0gubDAs=";
+
})
+
];
nativeBuildInputs = [
pkg-config
+5 -8
pkgs/desktops/mate/mate-wayland-session/default.nix
···
glib,
mate-polkit,
mate-notification-daemon,
+
mate-settings-daemon,
wayfire,
-
wayfirePlugins,
gitUpdater,
}:
stdenvNoCC.mkDerivation rec {
pname = "mate-wayland-session";
-
version = "1.28.3";
+
version = "1.28.4";
src = fetchFromGitHub {
owner = "mate-desktop";
repo = "mate-wayland-session";
rev = "v${version}";
-
hash = "sha256-sUAq2BylsvjYn8Lt+nm4yIfVhzIEefxKZYnhJnuxjs0=";
+
hash = "sha256-jcYkiJOo1k0bMP/LkBW+QIrSyoj6qi8zZMTxqmuNQd0=";
};
nativeBuildInputs = [
···
substituteInPlace session/mate-wayland-components.sh \
--replace-fail "polkit-mate-authentication-agent-1" "${mate-polkit}/libexec/polkit-mate-authentication-agent-1" \
--replace-fail "mate-notification-daemon" "${mate-notification-daemon}/libexec/mate-notification-daemon" \
+
--replace-fail "mate-settings-daemon" "${mate-settings-daemon}/libexec/mate-settings-daemon" \
--replace-fail "cat /usr/bin/blueman-applet" "command -v blueman-applet" \
--replace-fail "cat /usr/bin/gnome-keyring-daemon" "command -v gnome-keyring-daemon"
-
# Ensure wayfire.ini is writable, as this script tries to modify it later.
substituteInPlace session/mate-wayland.sh \
-
--replace-fail "cp /usr/share/doc/wayfire/examples/wayfire.ini" "cp --no-preserve=mode,ownership ${wayfire.src}/wayfire.ini" \
-
--replace-fail "/usr/share/doc/wayfire/examples/wayfire.ini" "${wayfire.src}/wayfire.ini" \
-
--replace-fail "/usr/lib/x86_64-linux-gnu/wayfire/libfiredecor.so" "${wayfirePlugins.firedecor}/lib/wayfire/libfiredecor.so" \
-
--replace-fail "/usr/share/doc/firedecor/firedecor.config" "$out/share/doc/firedecor/firedecor.config"
+
--replace-fail "/usr/share/doc/wayfire/examples/wayfire.ini" "${wayfire.src}/wayfire.ini"
'';
passthru = {