diff options
-rw-r--r-- | download.nix (renamed from shell.nix) | 63 | ||||
-rw-r--r-- | review.nix | 34 |
2 files changed, 46 insertions, 51 deletions
@@ -1,44 +1,17 @@ let - opkgs = import <nixpkgs> {}; - nixWriters = builtins.fetchGit { url = "https://github.com/krebs/nix-writers"; rev = "f6b2139310546574942a1319cadab973b616d888"; }; - pkgs = import (builtins.fetchGit { url = "https://github.com/nixos/nixpkgs-channels"; ref = "ae002fe44e96b868c62581e8066d559ca2179e01"; }) { overlays = [(import "${nixWriters}/pkgs")]; }; - lib = pkgs.lib; - - commands.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.writeDash "review" '' - exec ${pkgs.mpv}/bin/mpv --no-config --script=${delete} --script=${good} "$@" - ''; + pkgs = import <nixpkgs> {}; + npkgs = import (builtins.fetchTarball "https://github.com/nixos/nixpkgs-channels/archive/nixos-19.09.tar.gz") {}; # add_link # download new music from source # example: add_link - commands.add_link = pkgs.writers.writeDash "commands.add_link" '' + commands.add_link = pkgs.writers.writeDashBin "add_link" '' ${utils.prepare_stream} "$@" ''; # get_new # download new music from source - commands.pull = pkgs.writers.writeDash "commands.pull" '' + commands.pull = pkgs.writers.writeDashBin "pull" '' set -euf ${common_header} echo "run1" @@ -52,12 +25,12 @@ let utils.extract_playlist = pkgs.writers.writeDash "utils.extract_playlist" '' set -euf - ${pkgs.youtube-dl}/bin/youtube-dl \ + ${npkgs.youtube-dl}/bin/youtube-dl \ -i -o "http://www.youtube.com/watch?v=%(id)s#%(title)s" \ --restrict-filenames --get-filename $1 ''; - commands.add_new = pkgs.writers.writeDash "commands.add_new" '' + commands.add_new = pkgs.writers.writeDashBin "add_new" '' set -euf ${common_header} ${utils.log_untracked_files} | ${utils.get_links_from_files} >> $meta_folder/links @@ -148,7 +121,7 @@ let if ls "$target_folder" | ${pkgs.gnugrep}/bin/grep -Fe "$id.ogg"; then echo "file already exists: $1" else - ${pkgs.youtube-dl}/bin/youtube-dl \ + ${npkgs.youtube-dl}/bin/youtube-dl \ -i -o "%(title)s-%(id)s.%(ext)s" \ --restrict-filenames --add-metadata \ --audio-format vorbis \ @@ -161,23 +134,11 @@ let ''; - shell.utilspkg = pkgs.write "shell.utilspkg" (lib.mapAttrs' (name: link: - lib.nameValuePair "/bin/${name}" { inherit link; } - ) utils); - - shell.cmdspkg = pkgs.write "shell.cmdspkg" (lib.mapAttrs' (name: link: - lib.nameValuePair "/bin/${name}" { inherit link; } - ) commands); - in pkgs.stdenv.mkDerivation { name = "youtube-tools"; - shellHook = /* sh */ '' - export PATH=${lib.makeBinPath [ - shell.cmdspkg - shell.utilspkg - pkgs.which - pkgs.coreutils - pkgs.gnugrep - ]}:$PATH - ''; + buildInputs = [ + commands.add_link + commands.pull + commands.add_new + ]; } diff --git a/review.nix b/review.nix new file mode 100644 index 0000000..0bd8b3d --- /dev/null +++ b/review.nix @@ -0,0 +1,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 + ]; +} |