diff --git a/modules/services/networking/amuled.nix b/modules/services/networking/amuled.nix index 5e60a824619..3531451fd7c 100644 --- a/modules/services/networking/amuled.nix +++ b/modules/services/networking/amuled.nix @@ -4,6 +4,7 @@ with pkgs.lib; let cfg = config.services.amule; + user = if cfg.user != null then cfg.user else "amule"; in { @@ -22,14 +23,14 @@ in }; dataDir = mkOption { - default = ''/home/${cfg.user}/''; + default = ''/home/${user}/''; description = '' The directory holding configuration, incoming and temporary files. ''; }; user = mkOption { - default = "amule"; + default = null; description = '' The user the AMule daemon should run as. ''; @@ -44,10 +45,10 @@ in config = mkIf cfg.enable { - users.extraUsers = singleton + users.extraUsers = mkIf (cfg.user == null) [ { name = cfg.user; description = "AMule daemon"; - }; + } ]; jobs.amuled = { description = "AMule daemon"; @@ -56,17 +57,15 @@ in preStart = '' mkdir -p ${cfg.dataDir} - chown ${cfg.user} ${cfg.dataDir} + chown ${user} ${cfg.dataDir} ''; exec = '' - ${pkgs.su}/bin/su -s ${pkgs.stdenv.shell} ${cfg.user} \ + ${pkgs.su}/bin/su -s ${pkgs.stdenv.shell} ${user} \ -c 'HOME="${cfg.dataDir}" ${pkgs.amuleDaemon}/bin/amuled' ''; }; - environment.systemPackages = [ pkgs.amuleDaemon ]; - }; }