summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlassulus <lassulus@lassul.us>2019-12-17 17:09:01 +0100
committerlassulus <lassulus@lassul.us>2019-12-17 17:09:01 +0100
commit494154221b43faa6e7eaf170354ab976991c38eb (patch)
tree5f8b2ad21c397b16e1d78b744daa0111a578ffd2
parentdbba94d6c63ca634e3277e79070c5dced891f84a (diff)
split shell.nix into download/review
-rw-r--r--download.nix (renamed from shell.nix)63
-rw-r--r--review.nix34
2 files changed, 46 insertions, 51 deletions
diff --git a/shell.nix b/download.nix
index b0cd551..171b1b8 100644
--- a/shell.nix
+++ b/download.nix
@@ -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
+ ];
+}