mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 05:31:22 +00:00
syncthing: create default group if not overridden
The following configuration generates a systemd unit that doesn't start. ```nix { services.syncthing = { enable = true; user = "my-user"; }; } ``` It fails with ``` systemd[1]: Started Syncthing service. systemd[6745]: syncthing.service: Failed to determine group credentials: No such process systemd[6745]: syncthing.service: Failed at step GROUP spawning /nix/store/n1ydz3i08nqp1ajc50ycy1zribmphqc9-syncthing-1.1.4-bin/bin/syncthing: No such process systemd[1]: syncthing.service: Main process exited, code=exited, status=216/GROUP systemd[1]: syncthing.service: Failed with result 'exit-code'. ``` This is due to the fact that `syncthing` group (default) is not created if the user is overridden. Add a separate check for setting up the default group, so that user/group are created independently.
This commit is contained in:
parent
aaf2ecd801
commit
e50539f7b5
|
@ -372,16 +372,18 @@ in {
|
|||
|
||||
systemd.packages = [ pkgs.syncthing ];
|
||||
|
||||
users = mkIf (cfg.systemService && cfg.user == defaultUser) {
|
||||
users."${defaultUser}" =
|
||||
users.users = mkIf (cfg.systemService && cfg.user == defaultUser) {
|
||||
"${defaultUser}" =
|
||||
{ group = cfg.group;
|
||||
home = cfg.dataDir;
|
||||
createHome = true;
|
||||
uid = config.ids.uids.syncthing;
|
||||
description = "Syncthing daemon user";
|
||||
};
|
||||
};
|
||||
|
||||
groups."${defaultUser}".gid =
|
||||
users.groups = mkIf (cfg.systemService && cfg.group == defaultUser) {
|
||||
"${defaultUser}".gid =
|
||||
config.ids.gids.syncthing;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue