zoekt: 3.7.2-2-unstable-2024-10-24 -> 3.7.2-2-unstable-2024-12-09 (#363818)
[NixPkgs.git] / pkgs / desktops / mate / mate-panel / with-applets.nix
blob422f60e5d84cecdd8b1c1d68696dc2f08d87ec3c
2   stdenv,
3   lib,
4   glib,
5   wrapGAppsHook3,
6   xorg,
7   marco,
8   mate-panel,
9   panelApplets,
10   applets ? [ ],
11   useDefaultApplets ? true,
14 let
15   selectedApplets = applets ++ (lib.optionals useDefaultApplets panelApplets);
17 stdenv.mkDerivation {
18   pname = "${mate-panel.pname}-with-applets";
19   version = mate-panel.version;
21   src = null;
23   paths = [ mate-panel ] ++ selectedApplets;
24   passAsFile = [ "paths" ];
26   nativeBuildInputs = [
27     glib
28     wrapGAppsHook3
29   ];
31   buildInputs =
32     lib.forEach selectedApplets (x: x.buildInputs)
33     ++ selectedApplets
34     ++ [ mate-panel ]
35     ++ mate-panel.buildInputs
36     ++ mate-panel.propagatedBuildInputs;
38   dontUnpack = true;
39   dontConfigure = true;
40   dontBuild = true;
42   preferLocalBuild = true;
43   allowSubstitutes = false;
45   installPhase = ''
46     runHook preInstall
48     mkdir -p $out
49     for i in $(cat $pathsPath); do
50       ${xorg.lndir}/bin/lndir -silent $i $out
51     done
53     runHook postInstall
54   '';
56   preFixup = ''
57     gappsWrapperArgs+=(
58       --set MATE_PANEL_APPLETS_DIR "$out/share/mate-panel/applets"
59       --set MATE_PANEL_EXTRA_MODULES "$out/lib/mate-panel/applets"
60       # Workspace switcher settings
61       --prefix XDG_DATA_DIRS : "${glib.getSchemaDataDirPath marco}"
62     )
63   '';
65   inherit (mate-panel.meta) ;