Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
61 lines
1.5 KiB
Nix
61 lines
1.5 KiB
Nix
{
|
|
symlinkJoin,
|
|
lib,
|
|
rofi-unwrapped,
|
|
makeWrapper,
|
|
wrapGAppsHook3,
|
|
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
|
|
wrapGAppsHook3
|
|
];
|
|
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 lib.meta.defaultPriority) - 1;
|
|
};
|
|
}
|