summaryrefslogtreecommitdiff
path: root/user-profiles/mpv/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'user-profiles/mpv/default.nix')
-rw-r--r--user-profiles/mpv/default.nix83
1 files changed, 83 insertions, 0 deletions
diff --git a/user-profiles/mpv/default.nix b/user-profiles/mpv/default.nix
new file mode 100644
index 00000000..045094db
--- /dev/null
+++ b/user-profiles/mpv/default.nix
@@ -0,0 +1,83 @@
1{ config, userName, pkgs, ... }:
2{
3 home-manager.users.${userName}.programs.mpv = {
4 enable = true;
5 bindings = {
6 "CTRL+n" = "af toggle \"lavfi=[dynaudnorm=f=100:g=31:s=20.0]\"";
7 };
8 config = {
9 ytdl = true;
10 ytdl-format = "bestvideo[width<=2560][height<=1440][fps<=60][protocol!=http_dash_segments]+bestaudio[protocol!=http_dash_segments]/best[width<=2560][height<=1440][fps<=60][protocol!=http_dash_segments]/best[protocol!=http_dash_segments]";
11 ytdl-raw-options = "netrc=,mark-watched=,cookies=${config.home-manager.users.${userName}.home.homeDirectory}/Downloads/cookies.txt";
12 sub = false;
13 osd-font = "DejaVu Sans";
14 vo = "gpu";
15 hwdec = "auto";
16 force-window = "yes";
17 script-opts = "osc-layout=topbar,vidscale=no,deadzonesize=0.9";
18 af = "lavfi=[dynaudnorm=f=100:g=31:s=20.0]";
19 };
20 scripts = let
21 reload = pkgs.stdenv.mkDerivation rec {
22 version = "2b8a719f";
23 pname = "reload";
24 name = "${pname}-${version}";
25
26 src = pkgs.fetchFromGitHub {
27 owner = "4e6";
28 repo = "mpv-reload";
29 rev = "2b8a719fe166d6d42b5f1dd64761f97997b54a86";
30 sha256 = "19ycvnwzf8vgv0g63d4k1ll6hlfrd92is9gl8hzfic7w32ycphbg";
31 };
32
33 installPhase = ''
34 install -d $out/share/mpv/scripts
35 install -m 0644 reload.lua $out/share/mpv/scripts/${passthru.scriptName}
36 '';
37
38 passthru.scriptName = "reload.lua";
39 };
40 autosave = pkgs.stdenv.mkDerivation rec {
41 version = "0bv9wjrq";
42 pname = "autosave";
43 name = "${pname}-${version}.lua";
44
45 src = pkgs.fetchzip {
46 url = "https://gist.github.com/Hakkin/5489e511bd6c8068a0fc09304c9c5a82/archive/7a19f7cdb6dd0b1c6878b41e13b244e2503c15fc.zip";
47 sha256 = "0bv9wjrqm2ragd7rp8vw768bja2ghascwlljd6rzzf2ybi10fxs2";
48 };
49
50 installPhase = ''
51 install -d $out/share/mpv/scripts
52 install -m 0644 autosave.lua $out/share/mpv/scripts/${passthru.scriptName}
53 '';
54
55 passthru.scriptName = "autosave.lua";
56 };
57 mpris = pkgs.stdenv.mkDerivation rec {
58 version = "0.4";
59 pname = "mpv-mpris";
60 name = "${pname}-${version}.so";
61
62 src = pkgs.fetchFromGitHub {
63 owner = "hoyon";
64 repo = "mpv-mpris";
65 rev = version;
66 sha256 = "1fr3jvja8s2gdpx8qyk9r17977flms3qpm8zci62nd9r5wjdvr5i";
67 };
68
69 installPhase = ''
70 install -d $out/share/mpv/scripts
71 install -m 0644 mpris.so $out/share/mpv/scripts/${passthru.scriptName}
72 '';
73
74 nativeBuildInputs = with pkgs; [ pkgconfig glib mpv ];
75
76 passthru.scriptName = "mpris.so";
77 };
78 in [ reload
79 autosave
80 mpris
81 ];
82 };
83}