about summary refs log tree commit diff
path: root/home/packages/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'home/packages/default.nix')
-rw-r--r--home/packages/default.nix16
1 files changed, 14 insertions, 2 deletions
diff --git a/home/packages/default.nix b/home/packages/default.nix
index e6dac4c..bd897ac 100644
--- a/home/packages/default.nix
+++ b/home/packages/default.nix
@@ -1,5 +1,16 @@
 { config, lib, pkgs, ... }:
-let cfg = config.my.home.packages;
+let
+  cfg = config.my.home.packages;
+  album-to-nas = pkgs.writeShellScriptBin "album-to-nas" ''
+    set -euo pipefail
+
+    ALBUM_PATH="''${1}"
+    ALBUM_NAME=$(basename "''${ALBUM_PATH}")
+    NAS=$(${pkgs.tailscale}/bin/tailscale status --json | ${pkgs.jq}/bin/jq -r '.Peer | map(select(.HostName == "tahoe"))[0].TailscaleIPs[0]')
+
+    scp "''${ALBUM_PATH}" "''${NAS}:~/import/album.zip"
+    ssh "''${NAS}" bc-to-beet ~/import/album.zip
+  '';
 in
 {
   options.my.home.packages = with lib; {
@@ -15,5 +26,6 @@ in
     };
   };
   config.home.packages = with pkgs;
-    lib.mkIf cfg.enable ([ util-linux jq ripgrep ] ++ cfg.additionalPackages);
+    lib.mkIf cfg.enable
+      ([ util-linux jq ripgrep album-to-nas ] ++ cfg.additionalPackages);
 }