biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / misc / rofi / wrapper.nix
blob3f08a504759045fdeaeb76811a4c2e52e943aa45
1 { symlinkJoin, lib, rofi-unwrapped, makeWrapper, wrapGAppsHook3, gdk-pixbuf, hicolor-icon-theme, theme ? null, plugins ? [], symlink-dmenu ? false }:
3 symlinkJoin {
4   name = "rofi-${rofi-unwrapped.version}";
6   paths = [
7     rofi-unwrapped.out
8   ] ++ (lib.forEach plugins (p: p.out));
10   nativeBuildInputs = [ makeWrapper wrapGAppsHook3 ];
11   buildInputs = [ gdk-pixbuf ];
13   preferLocalBuild = true;
14   passthru.unwrapped = rofi-unwrapped;
16   dontWrapGApps = true;
18   postBuild = ''
19     rm -rf $out/bin
20     mkdir $out/bin
21     ln -s ${rofi-unwrapped}/bin/* $out/bin
22     rm $out/bin/rofi
24     gappsWrapperArgsHook
25     makeWrapper ${rofi-unwrapped}/bin/rofi $out/bin/rofi \
26       ''${gappsWrapperArgs[@]} \
27       --prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share \
28       ${lib.optionalString (plugins != []) ''--prefix XDG_DATA_DIRS : ${lib.concatStringsSep ":" (lib.forEach plugins (p: "${p.out}/share"))}''} \
29       ${lib.optionalString (theme != null) ''--add-flags "-theme ${theme}"''} \
30       ${lib.optionalString (plugins != []) ''--add-flags "-plugin-path $out/lib/rofi"''}
32     ${lib.optionalString symlink-dmenu "ln -s ${rofi-unwrapped}/bin/rofi $out/bin/dmenu"}
34     rm $out/bin/rofi-theme-selector
35     makeWrapper ${rofi-unwrapped}/bin/rofi-theme-selector $out/bin/rofi-theme-selector \
36       --prefix XDG_DATA_DIRS : $out/share
37   '';
39   meta = rofi-unwrapped.meta // {
40     priority = (rofi-unwrapped.meta.priority or lib.meta.defaultPriority) - 1;
41   };