tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
mate.mate-panel-with-applets: init
Bobby Rong
2 years ago
cbe14f0b
2f977d18
+73
2 changed files
expand all
collapse all
unified
split
pkgs
desktops
mate
default.nix
mate-panel
with-applets.nix
+12
pkgs/desktops/mate/default.nix
···
35
mate-netbook = callPackage ./mate-netbook { };
36
mate-notification-daemon = callPackage ./mate-notification-daemon { };
37
mate-panel = callPackage ./mate-panel { };
0
38
mate-polkit = callPackage ./mate-polkit { };
39
mate-power-manager = callPackage ./mate-power-manager { };
40
mate-sensors-applet = callPackage ./mate-sensors-applet { };
···
98
99
cajaExtensions = [
100
caja-extensions
0
0
0
0
0
0
0
0
0
0
0
101
];
102
};
103
···
35
mate-netbook = callPackage ./mate-netbook { };
36
mate-notification-daemon = callPackage ./mate-notification-daemon { };
37
mate-panel = callPackage ./mate-panel { };
38
+
mate-panel-with-applets = callPackage ./mate-panel/with-applets.nix { };
39
mate-polkit = callPackage ./mate-polkit { };
40
mate-power-manager = callPackage ./mate-power-manager { };
41
mate-sensors-applet = callPackage ./mate-sensors-applet { };
···
99
100
cajaExtensions = [
101
caja-extensions
102
+
];
103
+
104
+
panelApplets = [
105
+
mate-applets
106
+
mate-indicator-applet
107
+
mate-netbook
108
+
mate-notification-daemon
109
+
mate-media
110
+
mate-power-manager
111
+
mate-sensors-applet
112
+
mate-utils
113
];
114
};
115
+61
pkgs/desktops/mate/mate-panel/with-applets.nix
···
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
···
1
+
{ stdenv
2
+
, lib
3
+
, glib
4
+
, wrapGAppsHook
5
+
, xorg
6
+
, marco
7
+
, mate-panel
8
+
, panelApplets
9
+
, applets ? [ ]
10
+
, useDefaultApplets ? true
11
+
}:
12
+
13
+
let
14
+
selectedApplets = applets ++ (lib.optionals useDefaultApplets panelApplets);
15
+
in
16
+
stdenv.mkDerivation {
17
+
pname = "${mate-panel.pname}-with-applets";
18
+
version = mate-panel.version;
19
+
20
+
src = null;
21
+
22
+
paths = [ mate-panel ] ++ selectedApplets;
23
+
passAsFile = [ "paths" ];
24
+
25
+
nativeBuildInputs = [
26
+
glib
27
+
wrapGAppsHook
28
+
];
29
+
30
+
buildInputs = lib.forEach selectedApplets (x: x.buildInputs) ++ selectedApplets
31
+
++ [ mate-panel ] ++ mate-panel.buildInputs ++ mate-panel.propagatedBuildInputs;
32
+
33
+
dontUnpack = true;
34
+
dontConfigure = true;
35
+
dontBuild = true;
36
+
37
+
preferLocalBuild = true;
38
+
allowSubstitutes = false;
39
+
40
+
installPhase = ''
41
+
runHook preInstall
42
+
43
+
mkdir -p $out
44
+
for i in $(cat $pathsPath); do
45
+
${xorg.lndir}/bin/lndir -silent $i $out
46
+
done
47
+
48
+
runHook postInstall
49
+
'';
50
+
51
+
preFixup = ''
52
+
gappsWrapperArgs+=(
53
+
--set MATE_PANEL_APPLETS_DIR "$out/share/mate-panel/applets"
54
+
--set MATE_PANEL_EXTRA_MODULES "$out/lib/mate-panel/applets"
55
+
# Workspace switcher settings
56
+
--prefix XDG_DATA_DIRS : "${glib.getSchemaDataDirPath marco}"
57
+
)
58
+
'';
59
+
60
+
inherit (mate-panel.meta);
61
+
}