2020-04-10 16:18:20 +02:00
|
|
|
{ pkgs, lib, ... }:
|
2020-04-09 16:56:47 +02:00
|
|
|
let
|
2020-04-15 00:10:30 +02:00
|
|
|
wrapScript = { packages ? [], name, script }: pkgs.writers.writeDashBin name ''
|
2020-04-15 20:41:16 +02:00
|
|
|
PATH=$PATH:${lib.makeBinPath (packages ++ [pkgs.coreutils pkgs.findutils])}
|
2020-04-15 00:10:30 +02:00
|
|
|
${script} "$@"
|
|
|
|
|
'';
|
2020-04-15 20:39:37 +02:00
|
|
|
voidrice = pkgs.fetchFromGitHub {
|
|
|
|
|
owner = "LukeSmithxyz";
|
|
|
|
|
repo = "voidrice";
|
|
|
|
|
rev = "dff66cd1efb36afd54dd6dcf2fdaa9475d5646c1";
|
|
|
|
|
sha256 = "19f33ins2kzgiw72d62j8zz9ai3j8m4qqfqmagxkg9yhxqkdqry7";
|
|
|
|
|
};
|
2020-04-09 16:56:47 +02:00
|
|
|
in
|
2019-11-09 16:33:59 +01:00
|
|
|
{
|
2020-04-13 11:00:20 +02:00
|
|
|
# https://github.com/LukeSmithxyz/voidrice/blob/9fe6802122f6e0392c7fe20eefd30437771d7f8e/.local/bin/dmenuunicode
|
|
|
|
|
emoji-menu =
|
|
|
|
|
let emoji-file = pkgs.fetchurl {
|
|
|
|
|
url = "https://raw.githubusercontent.com/LukeSmithxyz/voidrice/master/.local/share/larbs/emoji";
|
|
|
|
|
sha256 = "09m2rgb9d5jpiy8q4jz3dw36gkpb4ng2pl7xi7ppsrzzzdvq85qk";
|
|
|
|
|
};
|
|
|
|
|
in with pkgs; writers.writeDashBin "emoji-menu" ''
|
2020-04-15 00:10:30 +02:00
|
|
|
PATH=${lib.makeBinPath [ coreutils dmenu gnused libnotify xclip xdotool ]}
|
2020-04-13 11:00:20 +02:00
|
|
|
chosen=$(cut -d ';' -f1 ${emoji-file} | dmenu -i -l 10 | sed "s/ .*//")
|
|
|
|
|
|
|
|
|
|
[ "$chosen" != "" ] || exit
|
|
|
|
|
|
|
|
|
|
echo "$chosen" | tr -d '\n' | xclip -selection clipboard
|
|
|
|
|
|
|
|
|
|
if [ -n "$1" ]; then
|
|
|
|
|
xdotool key Shift+Insert
|
|
|
|
|
else
|
|
|
|
|
notify-send "'$chosen' copied to clipboard." &
|
|
|
|
|
fi
|
|
|
|
|
'';
|
|
|
|
|
|
2020-04-15 00:10:30 +02:00
|
|
|
instaget = wrapScript {
|
|
|
|
|
packages = [ pkgs.jq pkgs.curl pkgs.gnugrep ];
|
|
|
|
|
script = ./instaget.sh;
|
2020-04-09 16:56:47 +02:00
|
|
|
name = "instaget";
|
|
|
|
|
};
|
|
|
|
|
|
2020-04-15 00:10:30 +02:00
|
|
|
n = wrapScript {
|
|
|
|
|
script = ./n.sh;
|
2020-04-09 16:56:47 +02:00
|
|
|
name = "n";
|
|
|
|
|
};
|
|
|
|
|
|
2020-04-15 00:10:30 +02:00
|
|
|
dirmir = wrapScript {
|
2020-04-09 16:56:47 +02:00
|
|
|
name = "dirmir";
|
2020-04-15 00:10:30 +02:00
|
|
|
script = ./dirmir.sh;
|
2020-04-09 16:56:47 +02:00
|
|
|
};
|
|
|
|
|
|
2020-04-15 00:10:30 +02:00
|
|
|
favicon = wrapScript {
|
|
|
|
|
packages = [ pkgs.imagemagick ];
|
2020-04-09 16:56:47 +02:00
|
|
|
name = "favicon";
|
2020-04-15 00:10:30 +02:00
|
|
|
script = ./favicon.sh;
|
2020-04-09 16:56:47 +02:00
|
|
|
};
|
|
|
|
|
|
2020-04-15 00:10:30 +02:00
|
|
|
genius = wrapScript {
|
|
|
|
|
packages = [ pkgs.curl pkgs.gnused pkgs.pandoc ];
|
2020-04-09 16:56:47 +02:00
|
|
|
name = "genius";
|
2020-04-15 00:10:30 +02:00
|
|
|
script = ./genius.sh;
|
2020-04-09 16:56:47 +02:00
|
|
|
};
|
|
|
|
|
|
2020-04-15 00:10:30 +02:00
|
|
|
literature-quote = wrapScript {
|
|
|
|
|
packages = [ pkgs.xsv pkgs.curl pkgs.gnused ];
|
2020-04-09 16:56:47 +02:00
|
|
|
name = "literature-quote";
|
2020-04-15 00:10:30 +02:00
|
|
|
script = ./literature-quote.sh;
|
2020-04-09 16:56:47 +02:00
|
|
|
};
|
|
|
|
|
|
2020-04-15 00:10:30 +02:00
|
|
|
man-pdf = wrapScript {
|
|
|
|
|
packages = [ pkgs.man pkgs.ghostscript ];
|
2020-04-09 16:56:47 +02:00
|
|
|
name = "man-pdf";
|
2020-04-15 00:10:30 +02:00
|
|
|
script = ./man-pdf.sh;
|
2020-04-09 16:56:47 +02:00
|
|
|
};
|
|
|
|
|
|
2020-04-15 00:10:30 +02:00
|
|
|
odyssey = wrapScript {
|
|
|
|
|
packages = [ pkgs.curl pkgs.xmlstarlet ];
|
2020-04-09 16:56:47 +02:00
|
|
|
name = "odyssey";
|
2020-04-15 00:10:30 +02:00
|
|
|
script = ./odyssey.sh;
|
2020-04-09 16:56:47 +02:00
|
|
|
};
|
|
|
|
|
|
2020-04-15 00:10:30 +02:00
|
|
|
tolino-screensaver = wrapScript {
|
|
|
|
|
packages = [ pkgs.imagemagick ];
|
2020-04-09 16:56:47 +02:00
|
|
|
name = "tolino-screensaver";
|
2020-04-15 00:10:30 +02:00
|
|
|
script = ./tolino-screensaver.sh;
|
2020-04-09 16:56:47 +02:00
|
|
|
};
|
|
|
|
|
|
2020-04-15 00:10:30 +02:00
|
|
|
wttr = wrapScript {
|
|
|
|
|
packages = [ pkgs.curl ];
|
2020-04-09 16:56:47 +02:00
|
|
|
name = "wttr";
|
2020-04-15 00:10:30 +02:00
|
|
|
script = ./wttr.sh;
|
2020-04-09 16:56:47 +02:00
|
|
|
};
|
|
|
|
|
|
2020-04-15 00:10:30 +02:00
|
|
|
vg = wrapScript {
|
|
|
|
|
packages = [ pkgs.ripgrep pkgs.fzf pkgs.gawk ];
|
2020-04-09 16:56:47 +02:00
|
|
|
name = "vg";
|
2020-04-15 00:10:30 +02:00
|
|
|
script = ./vg.sh;
|
2020-04-09 16:56:47 +02:00
|
|
|
};
|
|
|
|
|
|
2020-04-15 00:10:30 +02:00
|
|
|
fkill = wrapScript {
|
|
|
|
|
packages = [ pkgs.procps pkgs.gawk pkgs.gnused pkgs.fzf pkgs.bash ];
|
|
|
|
|
script = ./fkill.sh;
|
2020-04-09 16:56:47 +02:00
|
|
|
name = "fkill";
|
|
|
|
|
};
|
|
|
|
|
|
2020-04-15 00:10:30 +02:00
|
|
|
nix-git = wrapScript {
|
|
|
|
|
packages = [ pkgs.nix-prefetch-git pkgs.jq ];
|
|
|
|
|
script = ./nix-git.sh;
|
2020-04-09 18:15:41 +02:00
|
|
|
name = "nix-git";
|
|
|
|
|
};
|
|
|
|
|
|
2020-04-15 20:39:37 +02:00
|
|
|
linkhandler = wrapScript {
|
|
|
|
|
packages = [ pkgs.utillinux pkgs.mpv pkgs.curl pkgs.gnused pkgs.sxiv pkgs.ts ];
|
|
|
|
|
script = "${voidrice}/.local/bin/linkhandler";
|
|
|
|
|
name = "linkhandler";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
mansplain = wrapScript {
|
|
|
|
|
packages = [ pkgs.man pkgs.zathura pkgs.dmenu pkgs.gnused ];
|
|
|
|
|
script = ./mansplain.sh;
|
|
|
|
|
name = "mansplain";
|
|
|
|
|
};
|
|
|
|
|
|
2020-04-15 00:10:30 +02:00
|
|
|
notetags = wrapScript {
|
|
|
|
|
script = ./notetags.sh;
|
2020-04-09 19:30:35 +02:00
|
|
|
name = "notetags";
|
|
|
|
|
};
|
|
|
|
|
|
2020-04-15 00:10:30 +02:00
|
|
|
fzfmenu = wrapScript {
|
|
|
|
|
script = ./fzfmenu.sh;
|
2020-04-10 14:53:16 +02:00
|
|
|
name = "fzfmenu";
|
2020-04-15 14:58:23 +02:00
|
|
|
packages = [ pkgs.st pkgs.fzf pkgs.dash pkgs.bash ];
|
2020-04-10 14:53:16 +02:00
|
|
|
};
|
|
|
|
|
|
2019-11-09 16:33:59 +01:00
|
|
|
bvg = pkgs.callPackage ./bvg.nix {};
|
|
|
|
|
nav = pkgs.callPackage ./nav.nix {};
|
|
|
|
|
}
|