1
0
mirror of https://github.com/kmein/niveum synced 2026-03-16 18:21:07 +01:00

1 Commits

Author SHA1 Message Date
d06d0a9de4 WIP: mympd 2022-04-15 01:16:50 +02:00
3 changed files with 61 additions and 3 deletions

View File

@@ -15,6 +15,7 @@ in {
./pulseaudio.nix ./pulseaudio.nix
./home-assistant.nix ./home-assistant.nix
./tuna.nix ./tuna.nix
./mympd.nix
./grocy.nix ./grocy.nix
./spotifyd.nix ./spotifyd.nix
<home-manager/nixos> <home-manager/nixos>

57
systems/zaatar/mympd.nix Normal file
View File

@@ -0,0 +1,57 @@
{pkgs, ...}: let
inherit (import <niveum/lib>) tmpfilesConfig;
in {
systemd.tmpfiles.rules = [
(tmpfilesConfig {
type = "d";
mode = "0755";
user = "mympd";
group = "mympd";
path = "/var/lib/mympd";
})
(tmpfilesConfig {
type = "d";
mode = "0755";
user = "mympd";
group = "mympd";
age = "1d";
path = "/var/cache/mympd";
})
(tmpfilesConfig {
type = "L+";
mode = "0644";
user = "mympd";
group = "mympd";
path = "/var/lib/mympd/config/http_port";
argument = pkgs.writeText "port" "8764";
})
(tmpfilesConfig {
type = "L+";
mode = "0644";
user = "mympd";
group = "mympd";
path = "/var/lib/mympd/config/ssl";
argument = pkgs.writeText "ssl" "false";
})
];
users.users.mympd = {
isSystemUser = true;
group = "mympd";
};
users.groups.mympd = {};
systemd.services.mympd = {
wantedBy = ["multi-user.target"];
after = ["mpd.service"];
script = "${pkgs.mympd}/bin/mympd";
environment = {
MYMPD_HTTP_PORT = "8764";
};
serviceConfig = {
Restart = "always";
User = "mympd";
Group = "mympd";
};
};
}

View File

@@ -74,8 +74,8 @@ in {
systemd.tmpfiles.rules = let systemd.tmpfiles.rules = let
tags = lib.lists.unique (lib.concatMap ({tags ? [], ...}: tags) streams); tags = lib.lists.unique (lib.concatMap ({tags ? [], ...}: tags) streams);
tagStreams = tag: map (lib.getAttr "stream") (lib.filter ({tags ? [], ...}: lib.elem tag tags) streams); tagStreams = tag: lib.filter ({tags ? [], ...}: lib.elem tag tags) streams;
makePlaylist = name: urls: pkgs.writeText "${name}.m3u" (lib.concatStringsSep "\n" urls); makePlaylist = name: streams: pkgs.writeText "${name}.m3u" (lib.concatMapStringsSep "\n" (lib.getAttr "stream") streams);
in in
map (tag: map (tag:
tmpfilesConfig { tmpfilesConfig {
@@ -87,7 +87,7 @@ in {
argument = makePlaylist tag (tagStreams tag); argument = makePlaylist tag (tagStreams tag);
}) })
tags tags
+ [ ++ [
(tmpfilesConfig { (tmpfilesConfig {
type = "L+"; type = "L+";
mode = "0644"; mode = "0644";