diff options
author | tv <tv@krebsco.de> | 2016-06-06 17:17:07 +0200 |
---|---|---|
committer | tv <tv@krebsco.de> | 2016-06-06 17:17:07 +0200 |
commit | dda2887e2cf618a7c7744bee2eed806e3a38fe36 (patch) | |
tree | 19ad3210a2b8485ac22d26f75b2e2493d3f61596 /lass/2configs/mpv.nix | |
parent | c1c645b545b960eb639fc6d41dfa35ee187ae164 (diff) | |
parent | 7e344c0627a266685ef1ad79f5193b4e7ba27408 (diff) |
Merge remote-tracking branch 'cloudkrebs/master'
Diffstat (limited to 'lass/2configs/mpv.nix')
-rw-r--r-- | lass/2configs/mpv.nix | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/lass/2configs/mpv.nix b/lass/2configs/mpv.nix new file mode 100644 index 000000000..ff5698e4e --- /dev/null +++ b/lass/2configs/mpv.nix @@ -0,0 +1,49 @@ +{ pkgs, lib, ... }: + +let + + mpv-config = pkgs.writeText "mpv-config" '' + script=${lib.concatStringsSep "," [ + good + delete + ]} + ''; + mpv = pkgs.writeDashBin "mpv" '' + exec ${pkgs.mpv}/bin/mpv --no-config --include=${mpv-config} "$@" + ''; + + moveToDir = key: dir: pkgs.writeText "move-with-${key}.lua" '' + tmp_dir = "${dir}" + + function move_current_track_${key}() + track = mp.get_property("path") + os.execute("mkdir -p '" .. tmp_dir .. "'") + os.execute("mv '" .. track .. "' '" .. tmp_dir .. "'") + print("moved '" .. track .. "' to " .. tmp_dir) + end + + mp.add_key_binding("${key}", "move_current_track_${key}", move_current_track_${key}) + ''; + + good = moveToDir "G" "./.good"; + delete = moveToDir "D" "./.graveyard"; + + deleteCurrentTrack = pkgs.writeText "delete.lua" '' + deleted_tmp = "./.graveyard" + + -- Delete the current track by moving it to the `deleted_tmp` location. + function delete_current_track() + track = mp.get_property("path") + os.execute("mkdir -p '" .. deleted_tmp .. "'") + os.execute("mv '" .. track .. "' '" .. deleted_tmp .. "'") + print("'" .. track .. "' deleted.") + end + + mp.add_key_binding("D", "delete_current_track", delete_current_track) + ''; + +in { + krebs.per-user.lass.packages = [ + mpv + ]; +} |