diff options
Diffstat (limited to '')
-rw-r--r-- | home/profiles/nas.nix | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/home/profiles/nas.nix b/home/profiles/nas.nix new file mode 100644 index 0000000..c1e5ca9 --- /dev/null +++ b/home/profiles/nas.nix @@ -0,0 +1,67 @@ +{ config, lib, pkgs, ... }: +let + bc-to-beet = pkgs.writeShellApplication { + name = "bc-to-beet"; + runtimeInputs = [ pkgs.beets ]; + text = '' + ALBUM_PATH="$1" + ALBUM_NAME=$(basename "$ALBUM_PATH") + + mkdir -p ~/import + rm -rf ~/import/tmp-bc + unzip -d ~/import/tmp-bc ~/import/album.zip + beet import ~/import/tmp-bc + rm -rf ~/import/tmp-bc + rm -rf ~/import/album.zip + ''; + }; +in +{ + imports = [ + ./ytdlp.nix + ]; + + home.packages = with pkgs; [ + bc-to-beet + flac + abcde + (pkgs.writers.writeDashBin "rip-flac" '' + cd ~/import + ${pkgs.abcde}/bin/abcde -Vx -G -a "cddb,read,encode,tag,move,clean" -o flac + '') + ]; + + programs.beets = { + enable = true; + settings = { + directory = cfg.musicDirectory; + plugins = + "fromfilename discogs duplicates fetchart embedart badfiles lastgenre scrub"; + paths = { + default = "$albumartist/$album%aunique{}/$track $title"; + singleton = "Singles/$artist/$title"; + comp = "Compilations/$album%aunique{}/$track - $title"; + "albumtype:soundtrack" = "Soundtracks/$album ($year)/$track $title"; + }; + import = { + copy = true; + move = true; + }; + va_name = "Various Artists"; + embedart = { ifempty = true; }; + + lastgenre = { + auto = false; + canonical = true; + fallback = "unknown"; + force = true; + prefer_specific = true; + }; + + fetchart = { + cautious = true; + sources = "filesystem coverart itunes amazon lastfm wikipedia"; + }; + }; + }; +} |