diff options
author | Joachim Fasting <joachifm@users.noreply.github.com> | 2016-05-12 13:01:38 +0200 |
---|---|---|
committer | Joachim Fasting <joachifm@users.noreply.github.com> | 2016-05-12 13:01:38 +0200 |
commit | 639dcffa0bd7a5068a86bd41705d9a84e6267c32 (patch) | |
tree | 18d6c8efdf9014d7e118ad81302d1d90e77f7dc4 /nixos/modules/services/networking | |
parent | 25e3c091a07374f49ff74d0a69a4515715bff43b (diff) | |
parent | 11b0972544d6761a56d922af9a48b9e05863d6b2 (diff) | |
download | nixlib-639dcffa0bd7a5068a86bd41705d9a84e6267c32.tar nixlib-639dcffa0bd7a5068a86bd41705d9a84e6267c32.tar.gz nixlib-639dcffa0bd7a5068a86bd41705d9a84e6267c32.tar.bz2 nixlib-639dcffa0bd7a5068a86bd41705d9a84e6267c32.tar.lz nixlib-639dcffa0bd7a5068a86bd41705d9a84e6267c32.tar.xz nixlib-639dcffa0bd7a5068a86bd41705d9a84e6267c32.tar.zst nixlib-639dcffa0bd7a5068a86bd41705d9a84e6267c32.zip |
Merge pull request #15403 from Shados/maintain-teamspeak-server
teamspeak-server package & module maintenance
Diffstat (limited to 'nixos/modules/services/networking')
-rw-r--r-- | nixos/modules/services/networking/teamspeak3.nix | 47 |
1 files changed, 23 insertions, 24 deletions
diff --git a/nixos/modules/services/networking/teamspeak3.nix b/nixos/modules/services/networking/teamspeak3.nix index b3656d73dec0..5f04926eed24 100644 --- a/nixos/modules/services/networking/teamspeak3.nix +++ b/nixos/modules/services/networking/teamspeak3.nix @@ -10,13 +10,12 @@ let in { - + ###### interface options = { services.teamspeak3 = { - enable = mkOption { type = types.bool; default = false; @@ -96,34 +95,32 @@ in ###### implementation - config = mkIf cfg.enable { - - users.extraUsers.teamspeak = - { name = "teamspeak"; + config = mkMerge [ + (mkIf cfg.enable { + users.users.teamspeak = { description = "Teamspeak3 voice communication server daemon"; group = group; uid = config.ids.uids.teamspeak; + home = cfg.dataDir; + createHome = true; }; - users.extraGroups.teamspeak = - { name = "teamspeak"; + users.groups.teamspeak = { gid = config.ids.gids.teamspeak; }; - systemd.services.teamspeak3-server = { - description = "Teamspeak3 voice communication server daemon"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; + systemd.services.teamspeak3-server = { + description = "Teamspeak3 voice communication server daemon"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; - preStart = '' - mkdir -p ${cfg.dataDir} - mkdir -p ${cfg.logPath} - chown ${user}:${group} ${cfg.dataDir} - chown ${user}:${group} ${cfg.logPath} - ''; + preStart = '' + mkdir -p ${cfg.logPath} + chown ${user}:${group} ${cfg.logPath} + ''; - serviceConfig = - { ExecStart = '' + serviceConfig = { + ExecStart = '' ${ts3}/bin/ts3server \ dbsqlpath=${ts3}/lib/teamspeak/sql/ logpath=${cfg.logPath} \ voice_ip=${cfg.voiceIP} default_voice_port=${toString cfg.defaultVoicePort} \ @@ -133,10 +130,12 @@ in WorkingDirectory = cfg.dataDir; User = user; Group = group; - PermissionsStartOnly = true; # preStart needs to run with root permissions + PermissionsStartOnly = true; }; }; - - }; - + }) + { + meta.maintainers = with lib.maintainers; [ arobyn ]; + } + ]; } |