26 lines
566 B
Nix
26 lines
566 B
Nix
{
|
|
rofi ? throw "rofi package is required",
|
|
bookmarks ? throw "bookmarks argument is required",
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
let
|
|
copy = lib.meta.getExe (
|
|
pkgs.writeShellApplication {
|
|
name = "copy";
|
|
runtimeInputs = with pkgs; [
|
|
jq
|
|
wl-clipboard
|
|
];
|
|
runtimeEnv.BOOKMARKS = (pkgs.formats.json { }).generate "bookmarks.json" bookmarks;
|
|
text = builtins.readFile ./copy.sh;
|
|
}
|
|
);
|
|
in
|
|
pkgs.writeShellApplication {
|
|
name = "clipbook-rofi";
|
|
runtimeInputs = [ rofi ];
|
|
text = "rofi -modi \"copy:${copy}\" -show copy";
|
|
}
|