summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorRyan Mulligan <ryan@ryantm.com>2019-02-23 15:10:06 -0800
committerGitHub <noreply@github.com>2019-02-23 15:10:06 -0800
commit7776de07f4b31428215960f7f4f51c41eff45977 (patch)
tree1e05c69bce79752e2894a7c23da9f5b8665bb631 /nixos
parent695fb802f104ad2fbb39cba383d336d4dd560434 (diff)
parent440556a77ce2885cc823c97064ba4b209d33b3ce (diff)
downloadnixpkgs-7776de07f4b31428215960f7f4f51c41eff45977.tar
nixpkgs-7776de07f4b31428215960f7f4f51c41eff45977.tar.gz
nixpkgs-7776de07f4b31428215960f7f4f51c41eff45977.tar.bz2
nixpkgs-7776de07f4b31428215960f7f4f51c41eff45977.tar.lz
nixpkgs-7776de07f4b31428215960f7f4f51c41eff45977.tar.xz
nixpkgs-7776de07f4b31428215960f7f4f51c41eff45977.tar.zst
nixpkgs-7776de07f4b31428215960f7f4f51c41eff45977.zip
Merge pull request #38033 from peterhoeg/f/slite
squeezelite: 2016-05-27 -> 2018-08-14
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/misc/ids.nix2
-rw-r--r--nixos/modules/services/audio/squeezelite.nix28
2 files changed, 6 insertions, 24 deletions
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index 5f134b51939..e78673514e3 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -272,7 +272,7 @@
       nzbget = 245;
       mosquitto = 246;
       toxvpn = 247;
-      squeezelite = 248;
+      # squeezelite = 248; # DynamicUser = true
       turnserver = 249;
       smokeping = 250;
       gocd-agent = 251;
diff --git a/nixos/modules/services/audio/squeezelite.nix b/nixos/modules/services/audio/squeezelite.nix
index 57ae3855993..ab2de179cfc 100644
--- a/nixos/modules/services/audio/squeezelite.nix
+++ b/nixos/modules/services/audio/squeezelite.nix
@@ -3,9 +3,7 @@
 with lib;
 
 let
-
-  uid = config.ids.uids.squeezelite;
-  cfg = config.services.squeezelite;
+  dataDir = "/var/lib/squeezelite";
 
 in {
 
@@ -17,14 +15,6 @@ in {
 
       enable = mkEnableOption "Squeezelite, a software Squeezebox emulator";
 
-      dataDir = mkOption {
-        default = "/var/lib/squeezelite";
-        type = types.str;
-        description = ''
-          The directory where Squeezelite stores its name file.
-        '';
-      };
-
       extraArguments = mkOption {
         default = "";
         type = types.str;
@@ -46,22 +36,14 @@ in {
       wantedBy = [ "multi-user.target" ];
       after = [ "network.target" "sound.target" ];
       description = "Software Squeezebox emulator";
-      preStart = "mkdir -p ${cfg.dataDir} && chown -R squeezelite ${cfg.dataDir}";
       serviceConfig = {
-        ExecStart = "${pkgs.squeezelite}/bin/squeezelite -N ${cfg.dataDir}/player-name ${cfg.extraArguments}";
-        User = "squeezelite";
-        PermissionsStartOnly = true;
+        DynamicUser = true;
+        ExecStart = "${pkgs.squeezelite}/bin/squeezelite -N ${dataDir}/player-name ${cfg.extraArguments}";
+        StateDirectory = builtins.baseNameOf dataDir;
+        SupplementaryGroups = "audio";
       };
     };
 
-    users.users.squeezelite= {
-      inherit uid;
-      group = "nogroup";
-      extraGroups = [ "audio" ];
-      description = "Squeezelite user";
-      home = "${cfg.dataDir}";
-    };
-
   };
 
 }