mate.mate-panel-with-applets: init

This commit is contained in:
Bobby Rong 2024-02-24 21:56:20 +08:00
parent 2f977d185f
commit cbe14f0baf
No known key found for this signature in database
2 changed files with 73 additions and 0 deletions

View file

@ -35,6 +35,7 @@ let
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 { };
@ -99,6 +100,17 @@ let
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

View file

@ -0,0 +1,61 @@
{ stdenv
, lib
, glib
, wrapGAppsHook
, 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
wrapGAppsHook
];
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);
}