configurations for my servers and desktops
nix nixos flake dots dotfiles
at main 59 lines 1.5 kB view raw
1{pkgs, ...}: let 2 ffmpeg-fdkaac = pkgs.ffmpeg.override { 3 withFdkAac = true; 4 withUnfree = true; 5 }; 6in { 7 environment.systemPackages = with pkgs; [ 8 beets 9 ffmpeg-fdkaac 10 imagemagick 11 ]; 12 13 environment.variables.BEETSDIR = "/srv/media/music/beets"; 14 15 systemd.tmpfiles.rules = [ 16 "d /srv/media/music/beets 2775 root share-media -" 17 ]; 18 19 system.activationScripts.beetsConfig = '' 20 mkdir -p /srv/media/music/beets 21 chown root:share-media /srv/media/music/beets 22 chmod 2775 /srv/media/music/beets 23 24 cat > /srv/media/music/beets/config.yaml <<'EOF' 25 directory: /srv/media/music 26 library: /srv/media/music/beets/musiclibrary.db 27 28 original_date: yes 29 import: 30 from_scratch: yes 31 languages: en 32 33 plugins: chroma musicbrainz duplicates scrub fetchart embedart lyrics convert replaygain info mbsync 34 lyrics: 35 sources: lrclib * 36 convert: 37 auto: yes 38 dest: /srv/media/music 39 never_convert_lossy_files: yes 40 format: aac 41 formats: 42 aac: 43 command: ${ffmpeg-fdkaac}/bin/ffmpeg -i $source -y -vn -c:a libfdk_aac -vbr 5 -ar 44100 $dest 44 extension: m4a 45 flac: 46 command: ${ffmpeg-fdkaac}/bin/ffmpeg -i $source -ar 44100 -sample_fmt s16 -y $dest 47 extension: flac 48 fetchart: 49 cover_format: JPEG 50 enforce_ratio: yes 51 embedart: 52 auto: yes 53 maxwidth: 600 54 quality: 90 55 replaygain: 56 backend: ffmpeg 57 EOF 58 ''; 59}