Files
nixpkgs/pkgs/desktops/mate/mate-panel/with-applets.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

67 lines
1.3 KiB
Nix

{
stdenv,
lib,
glib,
wrapGAppsHook3,
xorg,
marco,
mate-panel,
panelApplets,
applets ? [ ],
useDefaultApplets ? true,
}:
let
selectedApplets = applets ++ (lib.optionals useDefaultApplets panelApplets);
in
stdenv.mkDerivation {
pname = "${mate-panel.pname}-with-applets";
version = mate-panel.version;
src = null;
paths = [ mate-panel ] ++ selectedApplets;
passAsFile = [ "paths" ];
nativeBuildInputs = [
glib
wrapGAppsHook3
];
buildInputs =
lib.forEach selectedApplets (x: x.buildInputs)
++ selectedApplets
++ [ mate-panel ]
++ mate-panel.buildInputs
++ mate-panel.propagatedBuildInputs;
dontUnpack = true;
dontConfigure = true;
dontBuild = true;
preferLocalBuild = true;
allowSubstitutes = false;
installPhase = ''
runHook preInstall
mkdir -p $out
for i in $(cat $pathsPath); do
${xorg.lndir}/bin/lndir -silent $i $out
done
runHook postInstall
'';
preFixup = ''
gappsWrapperArgs+=(
--set MATE_PANEL_APPLETS_DIR "$out/share/mate-panel/applets"
--set MATE_PANEL_EXTRA_MODULES "$out/lib/mate-panel/applets"
# Workspace switcher settings
--prefix XDG_DATA_DIRS : "${glib.getSchemaDataDirPath marco}"
)
'';
inherit (mate-panel) meta;
}