nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix
2019-12-22 23:09:56 -05:00

46 lines
1022 B
Nix

{ lib
, wrapGAppsHook
, glib
, symlinkJoin
, wingpanel
, wingpanelIndicators
, switchboard-with-plugs
, indicators ? null
# Only useful to disable for development testing.
, useDefaultIndicators ? true
}:
let
selectedIndicators =
if indicators == null then wingpanelIndicators
else indicators ++ (lib.optionals useDefaultIndicators wingpanelIndicators);
in
symlinkJoin {
name = "${wingpanel.name}-with-indicators";
paths = [
wingpanel
] ++ selectedIndicators;
buildInputs = [
glib
wrapGAppsHook
] ++ (lib.forEach selectedIndicators (x: x.buildInputs))
++ selectedIndicators;
# We have to set SWITCHBOARD_PLUGS_PATH because wingpanel-applications-menu
# has a plugin to search switchboard settings
postBuild = ''
make_glib_find_gsettings_schemas
gappsWrapperArgs+=(
--set WINGPANEL_INDICATORS_PATH "$out/lib/wingpanel"
--set SWITCHBOARD_PLUGS_PATH "${switchboard-with-plugs}/lib/switchboard"
)
wrapGAppsHook
'';
inherit (wingpanel) meta;
}