mirror of
https://github.com/kmein/niveum
synced 2026-03-16 18:21:07 +01:00
Compare commits
1 Commits
a1af05ff48
...
mympd
| Author | SHA1 | Date | |
|---|---|---|---|
| d06d0a9de4 |
@@ -15,6 +15,7 @@ in {
|
||||
./pulseaudio.nix
|
||||
./home-assistant.nix
|
||||
./tuna.nix
|
||||
./mympd.nix
|
||||
./grocy.nix
|
||||
./spotifyd.nix
|
||||
<home-manager/nixos>
|
||||
|
||||
57
systems/zaatar/mympd.nix
Normal file
57
systems/zaatar/mympd.nix
Normal 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";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -74,8 +74,8 @@ in {
|
||||
|
||||
systemd.tmpfiles.rules = let
|
||||
tags = lib.lists.unique (lib.concatMap ({tags ? [], ...}: tags) streams);
|
||||
tagStreams = tag: map (lib.getAttr "stream") (lib.filter ({tags ? [], ...}: lib.elem tag tags) streams);
|
||||
makePlaylist = name: urls: pkgs.writeText "${name}.m3u" (lib.concatStringsSep "\n" urls);
|
||||
tagStreams = tag: lib.filter ({tags ? [], ...}: lib.elem tag tags) streams;
|
||||
makePlaylist = name: streams: pkgs.writeText "${name}.m3u" (lib.concatMapStringsSep "\n" (lib.getAttr "stream") streams);
|
||||
in
|
||||
map (tag:
|
||||
tmpfilesConfig {
|
||||
@@ -87,7 +87,7 @@ in {
|
||||
argument = makePlaylist tag (tagStreams tag);
|
||||
})
|
||||
tags
|
||||
+ [
|
||||
++ [
|
||||
(tmpfilesConfig {
|
||||
type = "L+";
|
||||
mode = "0644";
|
||||
|
||||
Reference in New Issue
Block a user