summaryrefslogtreecommitdiffstats
path: root/review.nix
blob: 0bd8b3df47443e2aef1cc2dc49c854e7ceb12076 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
let
  pkgs = import <nixpkgs> {};

  review = let
    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})
    '';

    delete = moveToDir "D" "./.graveyard";
    good = moveToDir "G" "./.good";

    #scripts = lib.concatStringsSep "," [
    #  delete
    #  good
    #];
  in pkgs.writers.writeDashBin "review" ''
    exec ${pkgs.mpv}/bin/mpv --no-config --script=${delete} --script=${good} "$@"
  '';

in pkgs.stdenv.mkDerivation {
  name = "youtube-tools";
  buildInputs = [
    review
  ];
}