Mate toplevel (#488488)

This commit is contained in:
Bobby Rong
2026-02-14 07:09:35 +00:00
committed by GitHub
63 changed files with 239 additions and 233 deletions
+7
View File
@@ -316,6 +316,13 @@
- nixos/modules/services/x11/desktop-managers/mate.nix
- nixos/tests/mate.nix
- pkgs/desktops/mate/**/*
- pkgs/by-name/ca/caja/**/*
- pkgs/by-name/ca/caja-*/**/*
- pkgs/by-name/li/libmatekbd/**/*
- pkgs/by-name/li/libmatemixer/**/*
- pkgs/by-name/li/libmateweather/**/*
- pkgs/by-name/ma/marco/**/*
- pkgs/by-name/ma/mate-*/**/*
"6.topic: module system":
- any:
@@ -102,6 +102,8 @@ of pulling the upstream container image from Docker Hub. If you want the old beh
- `services.desktopManager.gnome` no longer installs the Geary e-mail client since it is not part of the GNOME [core applications](https://apps.gnome.org/) list. Geary's position in the default favorite apps section has been replaced by GNOME Text Editor. To keep it installed, add `programs.geary.enable = true;` to your configuration.
- MATE packages have been moved to top level (e.g. if you previously added `pkgs.mate.caja` to `environment.systemPackages`, you will need to change it to `pkgs.caja`).
- `walker` has been updated to 2.0.0+, which is a complete rewrite in rust.
It now requires a running `elephant` application launcher backend service, which can be enabled using the new `services.elephpant.enable`.
@@ -186,12 +186,12 @@ in
++ lib.optional config.networking.networkmanager.enable pkgs.networkmanagerapplet
++ (utils.removePackagesByName [
nemo
mate.eom
mate.pluma
mate.atril
mate.engrampa
mate.mate-calc
mate.mate-system-monitor
eom
pluma
atril
engrampa
mate-calc
mate-system-monitor
vlc
# Supplemental tooling.
@@ -29,14 +29,14 @@ in
extraPanelApplets = mkOption {
default = [ ];
example = literalExpression "with pkgs.mate; [ mate-applets ]";
example = literalExpression "with pkgs; [ mate-applets ]";
type = types.listOf types.package;
description = "Extra applets to add to mate-panel.";
};
extraCajaExtensions = mkOption {
default = [ ];
example = lib.literalExpression "with pkgs.mate; [ caja-extensions ]";
example = lib.literalExpression "with pkgs; [ caja-extensions ]";
type = types.listOf types.package;
description = "Extra extensions to add to caja.";
};
@@ -46,7 +46,7 @@ in
environment.mate.excludePackages = mkOption {
default = [ ];
example = literalExpression "[ pkgs.mate.mate-terminal pkgs.mate.pluma ]";
example = literalExpression "[ pkgs.mate-terminal pkgs.pluma ]";
type = types.listOf types.package;
description = "Which MATE packages to exclude from the default environment";
};
@@ -56,7 +56,7 @@ in
config = mkMerge [
(mkIf (cfg.enable || cfg.enableWaylandSession) {
services.displayManager.sessionPackages = [
pkgs.mate.mate-session-manager
pkgs.mate-session-manager
];
environment.extraInit = lib.optionalString config.services.gnome.gcr-ssh-agent.enable ''
@@ -70,24 +70,58 @@ in
# Debugging
environment.sessionVariables.MATE_SESSION_DEBUG = mkIf cfg.debug "1";
environment.systemPackages = utils.removePackagesByName (
pkgs.mate.basePackages
++ pkgs.mate.extraPackages
++ [
(pkgs.mate.caja-with-extensions.override {
extensions = cfg.extraCajaExtensions;
})
(pkgs.mate.mate-panel-with-applets.override {
applets = cfg.extraPanelApplets;
})
pkgs.desktop-file-utils
pkgs.glib
pkgs.gtk3.out
pkgs.shared-mime-info
pkgs.xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
pkgs.yelp # for 'Contents' in 'Help' menus
]
) config.environment.mate.excludePackages;
environment.systemPackages = utils.removePackagesByName (with pkgs; [
# Base packages.
libmatekbd
libmatemixer
libmateweather
marco
mate-common
mate-control-center
mate-desktop
mate-icon-theme
mate-menus
mate-notification-daemon
mate-polkit
mate-session-manager
mate-settings-daemon
mate-settings-daemon-wrapped
mate-themes
# Extra packages.
atril
caja-extensions # for caja-sendto
engrampa
eom
mate-applets
mate-backgrounds
mate-calc
mate-indicator-applet
mate-media
mate-netbook
mate-power-manager
mate-screensaver
mate-system-monitor
mate-terminal
mate-user-guide
# mate-user-share
mate-utils
mozo
pluma
(caja-with-extensions.override {
extensions = cfg.extraCajaExtensions;
})
(mate-panel-with-applets.override {
applets = cfg.extraPanelApplets;
})
desktop-file-utils
glib
gtk3.out
shared-mime-info
xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
yelp # for 'Contents' in 'Help' menus
]) config.environment.mate.excludePackages;
programs.dconf.enable = true;
# Shell integration for VTE terminals
@@ -101,24 +135,24 @@ in
services.gnome.glib-networking.enable = true;
services.gnome.gnome-keyring.enable = true;
services.gnome.gcr-ssh-agent.enable = mkDefault true;
services.udev.packages = [ pkgs.mate.mate-settings-daemon ];
services.udev.packages = [ pkgs.mate-settings-daemon ];
services.gvfs.enable = true;
services.upower.enable = config.powerManagement.enable;
services.libinput.enable = mkDefault true;
security.pam.services.mate-screensaver.unixAuth = true;
xdg.portal.configPackages = mkDefault [ pkgs.mate.mate-desktop ];
xdg.portal.configPackages = mkDefault [ pkgs.mate-desktop ];
environment.pathsToLink = [ "/share" ];
})
(mkIf cfg.enableWaylandSession {
programs.wayfire.enable = true;
environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${pkgs.mate.mate-gsettings-overrides}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${pkgs.mate-gsettings-overrides}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
environment.systemPackages = [ pkgs.mate.mate-wayland-session ];
services.displayManager.sessionPackages = [ pkgs.mate.mate-wayland-session ];
environment.systemPackages = [ pkgs.mate-wayland-session ];
services.displayManager.sessionPackages = [ pkgs.mate-wayland-session ];
})
];
}
+1 -1
View File
@@ -51,7 +51,7 @@
cmd = "xargs --null --max-args=1 echo < /proc/$(pgrep -xf mate-panel)/environ"
machine.succeed(f"{cmd} | grep 'XDG_SESSION_TYPE' | grep 'wayland'")
machine.succeed(f"{cmd} | grep 'XDG_SESSION_DESKTOP' | grep 'MATE'")
machine.succeed(f"{cmd} | grep 'MATE_PANEL_APPLETS_DIR' | grep '${pkgs.mate.mate-panel-with-applets.pname}'")
machine.succeed(f"{cmd} | grep 'MATE_PANEL_APPLETS_DIR' | grep '${pkgs.mate-panel-with-applets.pname}'")
# From the nixos/mate module
machine.succeed(f"{cmd} | grep 'SSH_AUTH_SOCK' | grep 'gcr'")
+1 -1
View File
@@ -58,7 +58,7 @@
with subtest("Check if various environment variables are set"):
machine.succeed("xargs --null --max-args=1 echo < /proc/$(pgrep -xf marco)/environ | grep 'XDG_CURRENT_DESKTOP' | grep 'MATE'")
# From mate-panel-with-applets packaging
machine.succeed("xargs --null --max-args=1 echo < /proc/$(pgrep -xf mate-panel)/environ | grep 'MATE_PANEL_APPLETS_DIR' | grep '${pkgs.mate.mate-panel-with-applets.pname}'")
machine.succeed("xargs --null --max-args=1 echo < /proc/$(pgrep -xf mate-panel)/environ | grep 'MATE_PANEL_APPLETS_DIR' | grep '${pkgs.mate-panel-with-applets.pname}'")
# From the nixos/mate module
machine.succeed("xargs --null --max-args=1 echo < /proc/$(pgrep -xf mate-panel)/environ | grep 'SSH_AUTH_SOCK' | grep 'gcr'")
+1 -1
View File
@@ -61,7 +61,7 @@ let
lxterminal.pkg = p: p.lxterminal;
mate-terminal.pkg = p: p.mate.mate-terminal;
mate-terminal.pkg = p: p.mate-terminal;
mate-terminal.cmd = "SHELL=$command mate-terminal --disable-factory"; # factory mode uses dbus, and we don't have a proper dbus session set up
mlterm.pkg = p: p.mlterm;
@@ -20,7 +20,8 @@
librda,
libsForQt5,
lomiri,
mate,
marco,
mate-settings-daemon,
pkg-config,
properties-cpp,
python3,
@@ -78,8 +79,8 @@ stdenv.mkDerivation (finalAttrs: {
lomiri-schemas # lomiri schema
])
++ [
mate.marco # marco schema
mate.mate-settings-daemon # mate mouse schema
marco # marco schema
mate-settings-daemon # mate mouse schema
];
nativeCheckInputs = [
@@ -14,7 +14,7 @@
libayatana-common,
librda,
lomiri,
mate,
mate-settings-daemon,
pkg-config,
systemd,
wrapGAppsHook3,
@@ -59,7 +59,7 @@ stdenv.mkDerivation (finalAttrs: {
# is there a better way to give it access to DE-specific schemas as needed?
# https://github.com/AyatanaIndicators/ayatana-indicator-session/blob/88846bad7ee0aa8e0bb122816d06f9bc887eb464/src/service.c#L1387-L1413
gnome-settings-daemon
mate.mate-settings-daemon
mate-settings-daemon
];
nativeCheckInputs = [ dbus ];
@@ -5,13 +5,13 @@
wrapGAppsHook3,
lndir,
caja,
cajaExtensions,
caja-extensions,
extensions ? [ ],
useDefaultExtensions ? true,
}:
let
selectedExtensions = extensions ++ (lib.optionals useDefaultExtensions cajaExtensions);
selectedExtensions = extensions ++ (lib.optionals useDefaultExtensions [ caja-extensions ]);
in
stdenv.mkDerivation {
pname = "${caja.pname}-with-extensions";
@@ -4,7 +4,7 @@
fetchurl,
autoreconfHook,
gtk3,
mate,
mate-icon-theme,
hicolor-icon-theme,
gitUpdater,
}:
@@ -24,7 +24,7 @@ stdenv.mkDerivation (finalAttrs: {
];
propagatedBuildInputs = [
mate.mate-icon-theme
mate-icon-theme
hicolor-icon-theme
];
@@ -8,7 +8,7 @@
libwnck,
libfakekey,
libxtst,
mate,
mate-panel,
wrapGAppsHook3,
gitUpdater,
}:
@@ -37,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: {
libwnck
libfakekey
libxtst
mate.mate-panel
mate-panel
];
enableParallelBuilding = true;
@@ -5,14 +5,32 @@
wrapGAppsHook3,
lndir,
marco,
mate-applets,
mate-indicator-applet,
mate-netbook,
mate-notification-daemon,
mate-media,
mate-panel,
panelApplets,
mate-power-manager,
mate-sensors-applet,
mate-utils,
applets ? [ ],
useDefaultApplets ? true,
}:
let
selectedApplets = applets ++ (lib.optionals useDefaultApplets panelApplets);
selectedApplets =
applets
++ (lib.optionals useDefaultApplets [
mate-applets
mate-indicator-applet
mate-netbook
mate-notification-daemon
mate-media
mate-power-manager
mate-sensors-applet
mate-utils
]);
in
stdenv.mkDerivation {
pname = "${mate-panel.pname}-with-applets";
@@ -0,0 +1,45 @@
{
stdenv,
mate-control-center,
mate-settings-daemon,
glib,
wrapGAppsHook3,
}:
stdenv.mkDerivation {
pname = "${mate-settings-daemon.pname}-wrapped";
inherit (mate-settings-daemon) version outputs;
nativeBuildInputs = [
wrapGAppsHook3
];
buildInputs = [
glib
mate-control-center
];
dontWrapGApps = true;
dontUnpack = true;
installPhase = ''
mkdir -p $out/etc/xdg/autostart
cp ${mate-settings-daemon}/etc/xdg/autostart/mate-settings-daemon.desktop $out/etc/xdg/autostart
mkdir -p $out/share/man
cp -r ${mate-settings-daemon.man}/share/man/* $out/share/man/
'';
postFixup = ''
mkdir -p $out/libexec
makeWrapper ${mate-settings-daemon}/libexec/mate-settings-daemon $out/libexec/mate-settings-daemon \
"''${gappsWrapperArgs[@]}"
substituteInPlace $out/etc/xdg/autostart/mate-settings-daemon.desktop \
--replace-fail "${mate-settings-daemon}/libexec/mate-settings-daemon" "$out/libexec/mate-settings-daemon"
'';
meta = mate-settings-daemon.meta // {
priority = -10;
};
}
@@ -3,7 +3,11 @@
fetchFromGitHub,
python3Packages,
intltool,
mate,
mate-applets,
mate-panel,
marco,
libmatekbd,
mate-session-manager,
libnotify,
gtk3,
gdk-pixbuf,
@@ -37,11 +41,11 @@ python3Packages.buildPythonApplication rec {
gdk-pixbuf
libnotify
glib
mate.mate-applets
mate.mate-panel
mate.marco
mate.libmatekbd
mate.mate-session-manager
mate-applets
mate-panel
marco
libmatekbd
mate-session-manager
];
propagatedBuildInputs = with python3Packages; [
@@ -13,7 +13,6 @@
libcanberra-gtk3,
apacheHttpdPackages,
hicolor-icon-theme,
mate,
wrapGAppsHook3,
gitUpdater,
}:
+2 -2
View File
@@ -18,7 +18,7 @@
xfceSupport ? true,
mateSupport ? true,
gtk3,
mate,
marco,
gtkNextSupport ? false,
plankSupport ? false,
steamSupport ? false,
@@ -53,7 +53,7 @@ stdenv.mkDerivation (finalAttrs: {
]
++ lib.optionals mateSupport [
gtk3
mate.marco
marco
]
++ lib.optional telegramSupport zip;
+4 -3
View File
@@ -10,7 +10,8 @@
glib,
gnome,
gtk3,
mate,
mate-desktop,
mate-settings-daemon,
python3,
gsettings-desktop-schemas,
python3Packages,
@@ -44,8 +45,8 @@ python3Packages.buildPythonApplication (finalAttrs: {
glib
gnome.nixos-gsettings-overrides
gtk3
mate.mate-desktop
mate.mate-settings-daemon
mate-desktop
mate-settings-daemon
python3
gsettings-desktop-schemas
];
+2 -2
View File
@@ -17,7 +17,7 @@
wrapGAppsHook3,
file,
inxi,
mate,
mate-panel,
dbus,
libdbusmenu-gtk3,
}:
@@ -63,7 +63,7 @@ stdenv.mkDerivation (finalAttrs: {
gdk-pixbuf
libxkbfile
python3.pkgs.pygobject3 # for .pc file
mate.mate-panel # for gobject-introspection
mate-panel # for gobject-introspection
dbus
libdbusmenu-gtk3
];
@@ -10,7 +10,7 @@
glib,
gtk3,
gsettings-desktop-schemas,
mate,
mate-desktop,
xapp,
xdg-desktop-portal,
}:
@@ -38,7 +38,7 @@ stdenv.mkDerivation (finalAttrs: {
glib
gtk3
gsettings-desktop-schemas # org.gnome.system.location
mate.mate-desktop # org.mate.background
mate-desktop # org.mate.background
xapp # org.x.apps.portal
xdg-desktop-portal
];
@@ -11,7 +11,7 @@
gtk2,
gtk3,
gnome-panel,
mate,
mate-panel,
libxfce4util,
xfce4-panel,
}:
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
]
++ lib.optionals (desktopSupport == "mate") [
gtk3
mate.mate-panel
mate-panel
]
++ lib.optionals (desktopSupport == "xfce4") [
gtk2
+61 -122
View File
@@ -1,124 +1,63 @@
{ pkgs, lib }:
{
pkgs,
lib,
config,
}:
let
packages =
self: with self; {
lib.makeScope pkgs.newScope (
self:
{ }
// lib.optionalAttrs config.allowAliases {
basePackages = throw "mate.basePackages was removed. Please list the packages you need explicitly"; # Added on 2026-02-14
cajaExtensions = throw "mate.cajaExtensions was removed. Please list the extensions you need explicitly"; # Added on 2026-02-14
extraPackages = throw "mate.extraPackages was removed. Please list the packages you need explicitly"; # Added on 2026-02-14
mateUpdateScript = throw "mate.mateUpdateScript was removed. Please use pkgs.gitUpdater directly"; # Added on 2026-02-14
panelApplets = throw "mate.panelApplets was removed. Please list the applets you need explicitly"; # Added on 2026-02-14
# Update script tailored to mate packages from git repository
mateUpdateScript =
{
pname,
odd-unstable ? true,
rev-prefix ? "v",
url ? null,
}:
pkgs.gitUpdater {
inherit odd-unstable rev-prefix;
url = if url == null then "https://git.mate-desktop.org/${pname}" else url;
};
atril = callPackage ./atril { };
caja = callPackage ./caja { };
caja-dropbox = callPackage ./caja-dropbox { };
caja-extensions = callPackage ./caja-extensions { };
caja-with-extensions = callPackage ./caja/with-extensions.nix { };
engrampa = callPackage ./engrampa { };
eom = callPackage ./eom { };
libmatekbd = callPackage ./libmatekbd { };
libmatemixer = callPackage ./libmatemixer { };
libmateweather = callPackage ./libmateweather { };
marco = callPackage ./marco { };
mate-applets = callPackage ./mate-applets { };
mate-backgrounds = callPackage ./mate-backgrounds { };
mate-calc = callPackage ./mate-calc { };
mate-common = callPackage ./mate-common { };
mate-control-center = callPackage ./mate-control-center { };
mate-desktop = callPackage ./mate-desktop { };
mate-gsettings-overrides = callPackage ./mate-gsettings-overrides { };
mate-icon-theme = callPackage ./mate-icon-theme { };
mate-icon-theme-faenza = callPackage ./mate-icon-theme-faenza { };
mate-indicator-applet = callPackage ./mate-indicator-applet { };
mate-media = callPackage ./mate-media { };
mate-menus = callPackage ./mate-menus { };
mate-netbook = callPackage ./mate-netbook { };
mate-notification-daemon = callPackage ./mate-notification-daemon { };
mate-panel = callPackage ./mate-panel { };
mate-panel-with-applets = callPackage ./mate-panel/with-applets.nix { };
mate-polkit = callPackage ./mate-polkit { };
mate-power-manager = callPackage ./mate-power-manager { };
mate-sensors-applet = callPackage ./mate-sensors-applet { };
mate-session-manager = callPackage ./mate-session-manager { };
mate-settings-daemon = callPackage ./mate-settings-daemon { };
mate-settings-daemon-wrapped = callPackage ./mate-settings-daemon/wrapped.nix { };
mate-screensaver = callPackage ./mate-screensaver { };
mate-system-monitor = callPackage ./mate-system-monitor { };
mate-terminal = callPackage ./mate-terminal { };
mate-themes = callPackage ./mate-themes { };
mate-tweak = callPackage ./mate-tweak { };
mate-user-guide = callPackage ./mate-user-guide { };
mate-user-share = callPackage ./mate-user-share { };
mate-utils = callPackage ./mate-utils { };
mate-wayland-session = callPackage ./mate-wayland-session { };
mozo = callPackage ./mozo { };
pluma = callPackage ./pluma { };
python-caja = callPackage ./python-caja { };
# Caja and mate-panel are managed in NixOS module.
basePackages = [
libmatekbd
libmatemixer
libmateweather
marco
mate-common
mate-control-center
mate-desktop
mate-icon-theme
mate-menus
mate-notification-daemon
mate-polkit
mate-session-manager
mate-settings-daemon
mate-settings-daemon-wrapped
mate-themes
];
extraPackages = [
atril
caja-extensions # for caja-sendto
engrampa
eom
mate-applets
mate-backgrounds
mate-calc
mate-indicator-applet
mate-media
mate-netbook
mate-power-manager
mate-screensaver
mate-system-monitor
mate-terminal
mate-user-guide
# mate-user-share
mate-utils
mozo
pluma
];
cajaExtensions = [
caja-extensions
];
panelApplets = [
mate-applets
mate-indicator-applet
mate-netbook
mate-notification-daemon
mate-media
mate-power-manager
mate-sensors-applet
mate-utils
];
};
in
lib.makeScope pkgs.newScope packages
atril = lib.warnOnInstantiate "mate.atril was moved to top-level. Please use pkgs.atril directly" pkgs.atril; # Added on 2026-02-08
engrampa = lib.warnOnInstantiate "mate.engrampa was moved to top-level. Please use pkgs.engrampa directly" pkgs.engrampa; # Added on 2026-02-08
eom = lib.warnOnInstantiate "mate.eom was moved to top-level. Please use pkgs.eom directly" pkgs.eom; # Added on 2026-02-08
libmatekbd = lib.warnOnInstantiate "mate.libmatekbd was moved to top-level. Please use pkgs.libmatekbd directly" pkgs.libmatekbd; # Added on 2026-02-08
libmatemixer = lib.warnOnInstantiate "mate.libmatemixer was moved to top-level. Please use pkgs.libmatemixer directly" pkgs.libmatemixer; # Added on 2026-02-08
libmateweather = lib.warnOnInstantiate "mate.libmateweather was moved to top-level. Please use pkgs.libmateweather directly" pkgs.libmateweather; # Added on 2026-02-08
marco = lib.warnOnInstantiate "mate.marco was moved to top-level. Please use pkgs.marco directly" pkgs.marco; # Added on 2026-02-08
mate-applets = lib.warnOnInstantiate "mate.mate-applets was moved to top-level. Please use pkgs.mate-applets directly" pkgs.mate-applets; # Added on 2026-02-08
mate-backgrounds = lib.warnOnInstantiate "mate.mate-backgrounds was moved to top-level. Please use pkgs.mate-backgrounds directly" pkgs.mate-backgrounds; # Added on 2026-02-08
mate-calc = lib.warnOnInstantiate "mate.mate-calc was moved to top-level. Please use pkgs.mate-calc directly" pkgs.mate-calc; # Added on 2026-02-08
mate-common = lib.warnOnInstantiate "mate.mate-common was moved to top-level. Please use pkgs.mate-common directly" pkgs.mate-common; # Added on 2026-02-08
mate-control-center = lib.warnOnInstantiate "mate.mate-control-center was moved to top-level. Please use pkgs.mate-control-center directly" pkgs.mate-control-center; # Added on 2026-02-08
mate-desktop = lib.warnOnInstantiate "mate.mate-desktop was moved to top-level. Please use pkgs.mate-desktop directly" pkgs.mate-desktop; # Added on 2026-02-08
mate-gsettings-overrides = lib.warnOnInstantiate "mate.mate-gsettings-overrides was moved to top-level. Please use pkgs.mate-gsettings-overrides directly" pkgs.mate-gsettings-overrides; # Added on 2026-02-08
mate-icon-theme = lib.warnOnInstantiate "mate.mate-icon-theme was moved to top-level. Please use pkgs.mate-icon-theme directly" pkgs.mate-icon-theme; # Added on 2026-02-08
mate-icon-theme-faenza = lib.warnOnInstantiate "mate.mate-icon-theme-faenza was moved to top-level. Please use pkgs.mate-icon-theme-faenza directly" pkgs.mate-icon-theme-faenza; # Added on 2026-02-08
mate-indicator-applet = lib.warnOnInstantiate "mate.mate-indicator-applet was moved to top-level. Please use pkgs.mate-indicator-applet directly" pkgs.mate-indicator-applet; # Added on 2026-02-08
mate-media = lib.warnOnInstantiate "mate.mate-media was moved to top-level. Please use pkgs.mate-media directly" pkgs.mate-media; # Added on 2026-02-08
mate-menus = lib.warnOnInstantiate "mate.mate-menus was moved to top-level. Please use pkgs.mate-menus directly" pkgs.mate-menus; # Added on 2026-02-08
mate-netbook = lib.warnOnInstantiate "mate.mate-netbook was moved to top-level. Please use pkgs.mate-netbook directly" pkgs.mate-netbook; # Added on 2026-02-08
mate-notification-daemon = lib.warnOnInstantiate "mate.mate-notification-daemon was moved to top-level. Please use pkgs.mate-notification-daemon directly" pkgs.mate-notification-daemon; # Added on 2026-02-08
mate-polkit = lib.warnOnInstantiate "mate.mate-polkit was moved to top-level. Please use pkgs.mate-polkit directly" pkgs.mate-polkit; # Added on 2026-02-08
mate-power-manager = lib.warnOnInstantiate "mate.mate-power-manager was moved to top-level. Please use pkgs.mate-power-manager directly" pkgs.mate-power-manager; # Added on 2026-02-08
mate-screensaver = lib.warnOnInstantiate "mate.mate-screensaver was moved to top-level. Please use pkgs.mate-screensaver directly" pkgs.mate-screensaver; # Added on 2026-02-08
mate-sensors-applet = lib.warnOnInstantiate "mate.mate-sensors-applet was moved to top-level. Please use pkgs.mate-sensors-applet directly" pkgs.mate-sensors-applet; # Added on 2026-02-08
mate-session-manager = lib.warnOnInstantiate "mate.mate-session-manager was moved to top-level. Please use pkgs.mate-session-manager directly" pkgs.mate-session-manager; # Added on 2026-02-08
mate-system-monitor = lib.warnOnInstantiate "mate.mate-system-monitor was moved to top-level. Please use pkgs.mate-system-monitor directly" pkgs.mate-system-monitor; # Added on 2026-02-08
mate-terminal = lib.warnOnInstantiate "mate.mate-terminal was moved to top-level. Please use pkgs.mate-terminal directly" pkgs.mate-terminal; # Added on 2026-02-08
mate-themes = lib.warnOnInstantiate "mate.mate-themes was moved to top-level. Please use pkgs.mate-themes directly" pkgs.mate-themes; # Added on 2026-02-08
mate-tweak = lib.warnOnInstantiate "mate.mate-tweak was moved to top-level. Please use pkgs.mate-tweak directly" pkgs.mate-tweak; # Added on 2026-02-08
mate-user-guide = lib.warnOnInstantiate "mate.mate-user-guide was moved to top-level. Please use pkgs.mate-user-guide directly" pkgs.mate-user-guide; # Added on 2026-02-08
mate-user-share = lib.warnOnInstantiate "mate.mate-user-share was moved to top-level. Please use pkgs.mate-user-share directly" pkgs.mate-user-share; # Added on 2026-02-08
mate-utils = lib.warnOnInstantiate "mate.mate-utils was moved to top-level. Please use pkgs.mate-utils directly" pkgs.mate-utils; # Added on 2026-02-08
mate-wayland-session = lib.warnOnInstantiate "mate.mate-wayland-session was moved to top-level. Please use pkgs.mate-wayland-session directly" pkgs.mate-wayland-session; # Added on 2026-02-08
mozo = lib.warnOnInstantiate "mate.mozo was moved to top-level. Please use pkgs.mozo directly" pkgs.mozo; # Added on 2026-02-08
pluma = lib.warnOnInstantiate "mate.pluma was moved to top-level. Please use pkgs.pluma directly" pkgs.pluma; # Added on 2026-02-08
python-caja = lib.warnOnInstantiate "mate.python-caja was moved to top-level. Please use pkgs.python-caja directly" pkgs.python-caja; # Added on 2026-02-08
caja-dropbox = lib.warnOnInstantiate "mate.caja-dropbox was moved to top-level. Please use pkgs.caja-dropbox directly" pkgs.caja-dropbox; # Added on 2026-02-08
caja-extensions = lib.warnOnInstantiate "mate.caja-extensions was moved to top-level. Please use pkgs.caja-extensions directly" pkgs.caja-extensions; # Added on 2026-02-08
caja = lib.warnOnInstantiate "mate.caja was moved to top-level. Please use pkgs.caja directly" pkgs.caja; # Added on 2026-02-08
caja-with-extensions = lib.warnOnInstantiate "mate.caja-with-extensions was moved to top-level. Please use pkgs.caja-with-extensions directly" pkgs.caja-with-extensions; # Added on 2026-02-08
mate-panel = lib.warnOnInstantiate "mate.mate-panel was moved to top-level. Please use pkgs.mate-panel directly" pkgs.mate-panel; # Added on 2026-02-08
mate-panel-with-applets = lib.warnOnInstantiate "mate.mate-panel-with-applets was moved to top-level. Please use pkgs.mate-panel-with-applets directly" pkgs.mate-panel-with-applets; # Added on 2026-02-08
mate-settings-daemon = lib.warnOnInstantiate "mate.mate-settings-daemon was moved to top-level. Please use pkgs.mate-settings-daemon directly" pkgs.mate-settings-daemon; # Added on 2026-02-08
mate-settings-daemon-wrapped = lib.warnOnInstantiate "mate.mate-settings-daemon-wrapped was moved to top-level. Please use pkgs.mate-settings-daemon-wrapped directly" pkgs.mate-settings-daemon-wrapped; # Added on 2026-02-08
}
)
@@ -1,44 +0,0 @@
{
stdenv,
mate,
glib,
wrapGAppsHook3,
}:
stdenv.mkDerivation {
pname = "${mate.mate-settings-daemon.pname}-wrapped";
inherit (mate.mate-settings-daemon) version outputs;
nativeBuildInputs = [
wrapGAppsHook3
];
buildInputs = [
glib
mate.mate-control-center
];
dontWrapGApps = true;
dontUnpack = true;
installPhase = ''
mkdir -p $out/etc/xdg/autostart
cp ${mate.mate-settings-daemon}/etc/xdg/autostart/mate-settings-daemon.desktop $out/etc/xdg/autostart
mkdir -p $out/share/man
cp -r ${mate.mate-settings-daemon.man}/share/man/* $out/share/man/
'';
postFixup = ''
mkdir -p $out/libexec
makeWrapper ${mate.mate-settings-daemon}/libexec/mate-settings-daemon $out/libexec/mate-settings-daemon \
"''${gappsWrapperArgs[@]}"
substituteInPlace $out/etc/xdg/autostart/mate-settings-daemon.desktop \
--replace-fail "${mate.mate-settings-daemon}/libexec/mate-settings-daemon" "$out/libexec/mate-settings-daemon"
'';
meta = mate.mate-settings-daemon.meta // {
priority = -10;
};
}