Fix the liquidsoap stuff

This commit is contained in:
Jimbo 2025-01-01 16:54:27 -05:00
parent bb5250fef5
commit bf138bcd93
4 changed files with 65 additions and 54 deletions

View file

@ -3,7 +3,7 @@
services.ddclient = { services.ddclient = {
enable = config.system.server.enable; enable = config.system.server.enable;
protocol = "cloudflare"; protocol = "cloudflare";
use = "web, web=https://ipinfo.io/ip"; usev4 = "web, web=https://ipinfo.io/ip";
zone = "${config.domains.p1}"; zone = "${config.domains.p1}";
username = "token"; username = "token";
passwordFile = "${pkgs.writeText "cloudflareapikey" config.secrets.flareApiKey}"; passwordFile = "${pkgs.writeText "cloudflareapikey" config.secrets.flareApiKey}";

View file

@ -3,7 +3,6 @@
services = lib.mkIf config.system.server.enable { services = lib.mkIf config.system.server.enable {
samba = { samba = {
enable = true; enable = true;
securityType = "user";
openFirewall = true; openFirewall = true;
settings = { settings = {
global = { global = {

View file

@ -1,32 +1,38 @@
{ pkgs, lib, config, ... }: { pkgs, lib, config, ... }:
{ {
services.liquidsoap.streams = lib.mkIf config.services.icecast.enable { config = lib.mkIf config.services.icecast.enable {
jimbops = pkgs.writeText "liquidstream1" '' services.liquidsoap.streams = {
settings.log.stdout.set(true) jimbops = pkgs.writeText "jimbops" ''
settings.init.allow_root.set(true) settings.log.stdout.set(true)
settings.scheduler.fast_queues.set(2) 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]) 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)), output.icecast(
host="127.0.0.1", %ffmpeg(format="ogg", %audio(codec="libvorbis", samplerate=48000, b="256k", channels=2)),
port=265, host="127.0.0.1",
password="${config.secrets.castSourcePass}", port=265,
encoding = "UTF-8", password="${config.secrets.castSourcePass}",
encoding = "UTF-8",
radio="JimBops Radio", name="JimBops Radio",
genre = "Anything", genre="Anything",
description="Music gathered by me, Jimbo.", description="Music gathered by me, Jimbo.",
website="https://icecast.${config.domains.p1}", mount="jimbops.opus",
url="https://icecast.${config.domains.p1}/jimbops.opus", icy_metadata=["artist", "title"],
mount="jimbops.opus", public=true,
icy_metadata=["artist", "title"],
public=true,
jimbops_fallback jimbops_fallback
) )
''; '';
};
# Avoid the most stupid error imaginable
systemd.services.jimbops = {
after = [ "network-online.target" ];
wants = [ "network-online.target" ];
};
}; };
} }

View file

@ -1,32 +1,38 @@
{ pkgs, lib, config, ... }: { pkgs, lib, config, ... }:
{ {
services.liquidsoap.streams = lib.mkIf config.services.icecast.enable { config = lib.mkIf config.services.icecast.enable {
jimscrapped = pkgs.writeText "liquidstream2" '' services.liquidsoap.streams = lib.mkIf config.services.icecast.enable {
settings.log.stdout.set(true) jimscrapped = pkgs.writeText "jimscrapped" ''
settings.init.allow_root.set(true) settings.log.stdout.set(true)
settings.scheduler.fast_queues.set(2) settings.init.allow_root.set(true)
settings.scheduler.fast_queues.set(2)
jimscrapped = mksafe(playlist(mode='randomize', reload=1, reload_mode="rounds", "/export/JimboNFS/Music/JimScrapped"))
jimscrapped_fallback = fallback([jimscrapped, jimscrapped]) jimscrapped = mksafe(playlist(mode='randomize', reload=1, reload_mode="rounds", "/export/JimboNFS/Music/JimScrapped"))
jimscrapped_fallback = fallback([jimscrapped, jimscrapped])
output.icecast(
%ffmpeg(format="ogg", %audio(codec="libvorbis", samplerate=48000, b="256k", channels=2)), output.icecast(
host="127.0.0.1", %ffmpeg(format="ogg", %audio(codec="libvorbis", samplerate=48000, b="256k", channels=2)),
port=265, host="127.0.0.1",
password="${config.secrets.castSourcePass}", port=265,
encoding = "UTF-8", password="${config.secrets.castSourcePass}",
encoding = "UTF-8",
radio="Jimbo's Scrap", name="Jimbo's Scrap",
genre = "Scrapped", genre="Scrapped",
description="Music canned from the main radio.", description="Music canned from the main radio.",
website="https://icecast.${config.domains.p1}", mount="jimscrapped.opus",
url="https://icecast.${config.domains.p1}/jimscrapped.opus", icy_metadata=["artist", "title"],
mount="jimscrapped.opus", public=true,
icy_metadata=["artist", "title"],
public=true,
jimscrapped_fallback jimscrapped_fallback
) )
''; '';
};
# Avoid the most stupid error imaginable
systemd.services.jimscrapped = {
after = [ "network-online.target" ];
wants = [ "network-online.target" ];
};
}; };
} }