Merge pull request #148388 from kyren/shairport-sync-group-fix
Fix shairport-sync module to create and set an explicit group
This commit is contained in:
commit
a7517f61ce
1 changed files with 16 additions and 3 deletions
|
@ -53,6 +53,15 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
group = mkOption {
|
||||
type = types.str;
|
||||
default = "shairport";
|
||||
description = ''
|
||||
Group account name under which to run shairport-sync. The account
|
||||
will be created.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -66,14 +75,17 @@ in
|
|||
services.avahi.publish.enable = true;
|
||||
services.avahi.publish.userServices = true;
|
||||
|
||||
users.users.${cfg.user} =
|
||||
{ description = "Shairport user";
|
||||
users = {
|
||||
users.${cfg.user} = {
|
||||
description = "Shairport user";
|
||||
isSystemUser = true;
|
||||
createHome = true;
|
||||
home = "/var/lib/shairport-sync";
|
||||
group = cfg.group;
|
||||
extraGroups = [ "audio" ] ++ optional config.hardware.pulseaudio.enable "pulse";
|
||||
};
|
||||
|
||||
groups.${cfg.group} = {};
|
||||
};
|
||||
|
||||
networking.firewall = mkIf cfg.openFirewall {
|
||||
allowedTCPPorts = [ 5000 ];
|
||||
|
@ -87,6 +99,7 @@ in
|
|||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
ExecStart = "${pkgs.shairport-sync}/bin/shairport-sync ${cfg.arguments}";
|
||||
RuntimeDirectory = "shairport-sync";
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue