aboutsummaryrefslogtreecommitdiff
path: root/home/profiles/nas.nix
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2023-07-05 10:04:23 -0700
committerFranck Cuny <franck@fcuny.net>2023-07-05 10:04:23 -0700
commitedacc191f365bd018de4bdafce4d89b689bba04b (patch)
treebb635a97e7a90312d704b302b7f3273fb19b9319 /home/profiles/nas.nix
parentchange monospace font back to source code pro (diff)
downloadinfra-edacc191f365bd018de4bdafce4d89b689bba04b.tar.gz
various updates related to music collection
Diffstat (limited to '')
-rw-r--r--home/profiles/nas.nix58
1 files changed, 45 insertions, 13 deletions
diff --git a/home/profiles/nas.nix b/home/profiles/nas.nix
index c1e5ca9..d23f60b 100644
--- a/home/profiles/nas.nix
+++ b/home/profiles/nas.nix
@@ -4,15 +4,11 @@ let
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
+ rm -rf ~/import/music/tmp-bc
+ unzip -d ~/import/music/tmp-bc ~/import/music/album.zip
+ beet import ~/import/music/tmp-bc
+ rm -rf ~/import/music/tmp-bc
+ rm -rf ~/import/music/album.zip
'';
};
in
@@ -26,15 +22,51 @@ in
flac
abcde
(pkgs.writers.writeDashBin "rip-flac" ''
- cd ~/import
- ${pkgs.abcde}/bin/abcde -Vx -G -a "cddb,read,encode,tag,move,clean" -o flac
+ ${pkgs.abcde}/bin/abcde -c ~/.config/abcde/config
'')
];
+ # configuration file for abcde (see man 1 abcde)
+ xdg.configFile."abcde/config".source = pkgs.writeText "config" ''
+ ACTIONS=default,getalbumart
+
+ ALBUMARTFILE="cover.jpg"
+ ALBUMARTTYPE="JPG"
+
+ CDDBMETHOD=musicbrainz
+
+ # cd ripping program
+ CDROMREADERSYNTAX=cdparanoia
+ CDPARANOIA=cdparanoia
+ CDPARANOIAOPTS="--never-skip=10"
+
+ # move here
+ OUTPUTDIR="$HOME/import/music"
+
+ # output type
+ FLACENCODERSYNTAX=flac
+ OUTPUTTYPE=flac
+ FLAC=flac
+ # --best is the same as -8 (highest compression) (also see -e)
+ FLACOPTS='--verify --best'
+
+ EXTRAVERBOSE=2
+ EJECTCD=y
+ MAXPROCS=4
+
+ post_encode ()
+ {
+ # beets fixes some things (e.g. moving multi-disc albums together) and
+ # adds some extra info (e.g. genres with lastgenre)
+ echo "-------------- beets:"
+ beet import "$HOME/import/music"
+ }
+ '';
+
programs.beets = {
enable = true;
settings = {
- directory = cfg.musicDirectory;
+ directory = "/data/fast/music";
plugins =
"fromfilename discogs duplicates fetchart embedart badfiles lastgenre scrub";
paths = {
@@ -44,7 +76,7 @@ in
"albumtype:soundtrack" = "Soundtracks/$album ($year)/$track $title";
};
import = {
- copy = true;
+ copy = false;
move = true;
};
va_name = "Various Artists";