1{ lib
2, stdenvNoCC
3, fetchFromGitHub
4, curl
5, wl-clipboard
6, xclip
7}:
8
9stdenvNoCC.mkDerivation rec {
10 pname = "mpvacious";
11 version = "0.23";
12
13 src = fetchFromGitHub {
14 owner = "Ajatt-Tools";
15 repo = "mpvacious";
16 rev = "v${version}";
17 sha256 = "sha256-b0JUT5Y0u/H9p5whuFTU8EgQnKzFCUR2HA9NO+mxe04=";
18 };
19
20 postPatch = ''
21 substituteInPlace utils/forvo.lua \
22 --replace "'curl" "'${curl}/bin/curl"
23 substituteInPlace platform/nix.lua \
24 --replace "'curl" "'${curl}/bin/curl" \
25 --replace "'wl-copy" "'${wl-clipboard}/bin/wl-copy" \
26 --replace "'xclip" "'${xclip}/bin/xclip"
27 '';
28
29 dontBuild = true;
30
31 installPhase = ''
32 runHook preInstall
33 rm -r .github
34 mkdir -p $out/share/mpv/scripts
35 cp -r . $out/share/mpv/scripts/mpvacious
36 runHook postInstall
37 '';
38
39 passthru.scriptName = "mpvacious";
40
41 meta = with lib; {
42 description = "Adds mpv keybindings to create Anki cards from movies and TV shows";
43 homepage = "https://github.com/Ajatt-Tools/mpvacious";
44 license = licenses.gpl3Plus;
45 platforms = platforms.all;
46 maintainers = with maintainers; [ kmicklas ];
47 };
48}