diff --git a/nixos/modules/services/networking/quassel.nix b/nixos/modules/services/networking/quassel.nix index 749e5dcebb6..579d62884c7 100644 --- a/nixos/modules/services/networking/quassel.nix +++ b/nixos/modules/services/networking/quassel.nix @@ -74,21 +74,23 @@ in gid = config.ids.gids.quassel; }]; - jobs.quassel = + systemd.services.quassel = { description = "Quassel IRC client daemon"; - startOn = "ip-up"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; preStart = '' - mkdir -p ${cfg.dataDir} - chown ${user} ${cfg.dataDir} + mkdir -p ${cfg.dataDir} + chown ${user} ${cfg.dataDir} ''; - exec = '' - ${pkgs.su}/bin/su -s ${pkgs.stdenv.shell} ${user} \ - -c '${quassel}/bin/quasselcore --listen=${cfg.interface}\ - --port=${toString cfg.portNumber} --configdir=${cfg.dataDir}' - ''; + serviceConfig = + { + ExecStart = "${quassel}/bin/quasselcore --listen=${cfg.interface} --port=${toString cfg.portNumber} --configdir=${cfg.dataDir}"; + User = user; + PermissionsStartOnly = true; + }; }; };