mirror of
https://github.com/kmein/niveum
synced 2026-03-30 09:11:10 +02:00
Compare commits
4 Commits
766874a226
...
ebbbb537c3
| Author | SHA1 | Date | |
|---|---|---|---|
| ebbbb537c3 | |||
| 556255ac8b | |||
| 6516c5c9b7 | |||
| b5d32d3962 |
@@ -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}"
|
||||||
'';
|
'';
|
||||||
|
|||||||
@@ -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}";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user