1
0
mirror of https://github.com/kmein/niveum synced 2026-03-30 09:11:10 +02:00

4 Commits

3 changed files with 32 additions and 10 deletions

View File

@@ -53,13 +53,8 @@ in
[[kalender_local]] [[kalender_local]]
path = ${davHome}/calendar/* path = ${davHome}/calendar/*
color = 32
type = discover type = discover
[[kontakte_local]]
path = ${davHome}/contacts/contacts/
type = birthdays
[default] [default]
highlight_event_days = True highlight_event_days = True
timedelta = 5d timedelta = 5d
@@ -82,7 +77,7 @@ in
[pair kontakte] [pair kontakte]
a = "kontakte_local" a = "kontakte_local"
b = "kontakte_cloud" b = "kontakte_cloud"
collections = ["from a", "from b"] collections = ["contacts"]
conflict_resolution = "b wins" conflict_resolution = "b wins"
[pair kalender] [pair kalender]
@@ -103,13 +98,13 @@ in
[storage kontakte_cloud] [storage kontakte_cloud]
type = "carddav" type = "carddav"
url = "${davEndpoint}/addressbooks/users/${username}/contacts/" url = "${davEndpoint}/addressbooks/users/${username}/"
username = "${username}" username = "${username}"
password = "${password}" password = "${password}"
[storage kalender_cloud] [storage kalender_cloud]
type = "caldav" type = "caldav"
url = "${davEndpoint}/calendars/${username}/personal/" url = "${davEndpoint}/calendars/${username}/"
username = "${username}" username = "${username}"
password = "${password}" password = "${password}"
''; '';

View File

@@ -4,6 +4,7 @@ let
di-fm-key = lib.strings.fileContents <secrets/di.fm/key>; di-fm-key = lib.strings.fileContents <secrets/di.fm/key>;
}; };
multi-room-audio-port = 8000; multi-room-audio-port = 8000;
password = lib.strings.fileContents <system-secrets/mpd-web.key>;
in in
{ {
imports = [ imports = [
@@ -12,10 +13,13 @@ in
services.mpd = { services.mpd = {
enable = true; enable = true;
network.listenAddress = "0.0.0.0";
extraConfig = '' extraConfig = ''
log_level "default" log_level "default"
auto_update "yes" auto_update "yes"
password "${password}@read,add,control"
audio_output { audio_output {
type "pulse" type "pulse"
name "zaatar single room audio system" name "zaatar single room audio system"
@@ -37,6 +41,14 @@ in
environment.systemPackages = [ pkgs.mpc_cli ]; environment.systemPackages = [ pkgs.mpc_cli ];
system.activationScripts.mpd-playlists =
let playlistFile = pkgs.writeText "radio.m3u" (lib.concatMapStringsSep "\n" (lib.getAttr "stream") streams);
in ''
rm -rf /var/lib/mpd/playlists
install -d /var/lib/mpd/playlists
ln -sfn "${toString playlistFile}" "/var/lib/mpd/playlists/radio.m3u"
'';
services.mpd-fm = { services.mpd-fm = {
enable = true; enable = true;
# stationsFile = "/etc/mpd-fm/stations.json"; # stationsFile = "/etc/mpd-fm/stations.json";
@@ -62,7 +74,8 @@ in
''; '';
}; };
networking.firewall.allowedTCPPorts = [ 80 ]; networking.firewall.allowedTCPPorts = [ 80 config.services.mpd.network.port ];
services.nginx = { services.nginx = {
enable = true; enable = true;
recommendedGzipSettings = true; recommendedGzipSettings = true;
@@ -70,7 +83,7 @@ in
recommendedProxySettings = true; recommendedProxySettings = true;
recommendedTlsSettings = true; recommendedTlsSettings = true;
virtualHosts.default = { virtualHosts.default = {
basicAuth.dj = lib.strings.fileContents <system-secrets/mpd-web.key>; basicAuth.dj = password;
locations."= /listen.ogg" = { locations."= /listen.ogg" = {
proxyPass = "http://127.0.0.1:${toString multi-room-audio-port}"; proxyPass = "http://127.0.0.1:${toString multi-room-audio-port}";
}; };

View File

@@ -1555,5 +1555,19 @@ http://ice55.securenetsystems.net/DASH76
ChipTune ChipTune
http://www.c64.com:8000 http://www.c64.com:8000
News background music
https://c13014-l-hls.u.core.cdn.streamfarm.net/1000153copo/hk2.m3u8
Tamil music
http://radio.hostonnet.com:8000/listen.pls
?
http://94.23.221.158:9163/stream
Pink Floyd radio
http://91.121.59.45:8013/
Greek radio
http://radio.hostchefs.net:8046/stream?1520818130148
*/ */