From 777e9a6a4ca8b3e5eaa701a1437921bb2e0c3b5c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 13 Jul 2025 23:17:44 +0100 Subject: [PATCH] Add `import-to-jellyfin` script --- home-manager/opdavies/nixedo.nix | 1 + packages/default.nix | 1 + packages/import-to-jellyfin.nix | 27 +++++++++++++++++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 packages/import-to-jellyfin.nix diff --git a/home-manager/opdavies/nixedo.nix b/home-manager/opdavies/nixedo.nix index 9bb4a37f..8b423f76 100644 --- a/home-manager/opdavies/nixedo.nix +++ b/home-manager/opdavies/nixedo.nix @@ -14,6 +14,7 @@ }; home.packages = with pkgs; [ + import-to-jellyfin vix yt-dlp ]; diff --git a/packages/default.nix b/packages/default.nix index 8564ac07..773ae863 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -16,6 +16,7 @@ in get-tags = callPackage ./get-tags.nix { }; git-exclude = callPackage ./git-exclude.nix { }; git-graph = callPackage ./git-graph.nix { }; + import-to-jellyfin = callPackage ./import-to-jellyfin.nix { }; mounter = callPackage ./mounter.nix { }; move-firefox-screenshots = callPackage ./move-firefox-screenshots.nix { }; notes = callPackage ./notes { }; diff --git a/packages/import-to-jellyfin.nix b/packages/import-to-jellyfin.nix new file mode 100644 index 00000000..11bcb7c0 --- /dev/null +++ b/packages/import-to-jellyfin.nix @@ -0,0 +1,27 @@ +{ pkgs }: + +pkgs.writeShellApplication { + name = "import-to-jellyfin"; + + runtimeInputs = with pkgs; [ coreutils ]; + + text = '' + source_path="/home/opdavies/import" + + mapfile -t files < <(find "$source_path" -type f -name "*.mp4") + + for filepath in "''${files[@]}"; do + echo "Moving $filepath..." + + filename="$(basename "$filepath")" + filename_without_extension="''${filename%.mp4}" + + destination_path="/mnt/media/jellyfin/Movies/$filename_without_extension" + mkdir -p "$destination_path" + + mv "$source_path/$filename" "$destination_path" + done + + chown -R jellyfin:media /mnt/media/jellyfin + ''; +}