mirror of
https://github.com/donovanglover/nix-config.git
synced 2025-01-24 14:48:37 +01:00
f55b5ae2db
This makes it easier to see all the custom packages in the repository and reduces the amount of nested directories.
43 lines
1.4 KiB
Nix
43 lines
1.4 KiB
Nix
{ symlinkJoin, lib, rofi-unwrapped, makeWrapper, wrapGAppsHook, gdk-pixbuf, hicolor-icon-theme, theme ? null, plugins ? [], symlink-dmenu ? false }:
|
|
|
|
symlinkJoin {
|
|
name = "rofi-${rofi-unwrapped.version}";
|
|
|
|
paths = [
|
|
rofi-unwrapped.out
|
|
] ++ (lib.forEach plugins (p: p.out));
|
|
|
|
nativeBuildInputs = [ makeWrapper wrapGAppsHook ];
|
|
buildInputs = [ gdk-pixbuf ];
|
|
|
|
preferLocalBuild = true;
|
|
passthru.unwrapped = rofi-unwrapped;
|
|
|
|
dontWrapGApps = true;
|
|
|
|
postBuild = ''
|
|
rm -rf $out/bin
|
|
mkdir $out/bin
|
|
ln -s ${rofi-unwrapped}/bin/* $out/bin
|
|
rm $out/bin/rofi
|
|
|
|
gappsWrapperArgsHook
|
|
makeWrapper ${rofi-unwrapped}/bin/rofi $out/bin/rofi \
|
|
''${gappsWrapperArgs[@]} \
|
|
--prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share \
|
|
${lib.optionalString (plugins != []) ''--prefix XDG_DATA_DIRS : ${lib.concatStringsSep ":" (lib.forEach plugins (p: "${p.out}/share"))}''} \
|
|
${lib.optionalString (theme != null) ''--add-flags "-theme ${theme}"''} \
|
|
${lib.optionalString (plugins != []) ''--add-flags "-plugin-path $out/lib/rofi"''}
|
|
|
|
${lib.optionalString symlink-dmenu "ln -s ${rofi-unwrapped}/bin/rofi $out/bin/dmenu"}
|
|
|
|
rm $out/bin/rofi-theme-selector
|
|
makeWrapper ${rofi-unwrapped}/bin/rofi-theme-selector $out/bin/rofi-theme-selector \
|
|
--prefix XDG_DATA_DIRS : $out/share
|
|
'';
|
|
|
|
meta = rofi-unwrapped.meta // {
|
|
priority = (rofi-unwrapped.meta.priority or 0) - 1;
|
|
};
|
|
}
|