{ pkgs, lib, config, ... }: { config = lib.mkIf config.services.icecast.enable { services.liquidsoap.streams = { jimbops = pkgs.writeText "jimbops" '' settings.log.stdout.set(true) settings.init.allow_root.set(true) settings.scheduler.fast_queues.set(2) jimbops = mksafe(playlist(mode='randomize', reload=1, reload_mode="rounds", "/export/JimboNFS/Music/JimBops")) jimbops_fallback = fallback([jimbops, jimbops]) output.icecast( %ffmpeg(format="ogg", %audio(codec="libvorbis", samplerate=48000, b="256k", channels=2)), host="127.0.0.1", port=265, password="${config.secrets.castSourcePass}", encoding = "UTF-8", name="JimBops Radio", genre="Anything", description="Music gathered by me, Jimbo.", mount="jimbops.opus", icy_metadata=["artist", "title"], public=true, jimbops_fallback ) ''; }; # Avoid the most stupid error imaginable systemd.services.jimbops = { after = [ "network-online.target" ]; wants = [ "network-online.target" ]; }; }; }