1{
2 config,
3 pkgs,
4 lib,
5 ...
6}:
7let
8 cfg = config.services.netclient;
9in
10{
11 meta.maintainers = with lib.maintainers; [ wexder ];
12
13 options.services.netclient = {
14 enable = lib.mkEnableOption "Netclient Daemon";
15 package = lib.mkPackageOption pkgs "netclient" { };
16 };
17
18 config = lib.mkIf cfg.enable {
19 environment.systemPackages = [ cfg.package ];
20 systemd.services.netclient = {
21 wants = [ "network-online.target" ];
22 wantedBy = [ "multi-user.target" ];
23 after = [ "network-online.target" ];
24 description = "Netclient Daemon";
25 serviceConfig = {
26 Type = "simple";
27 ExecStart = "${lib.getExe cfg.package} daemon";
28 Restart = "on-failure";
29 RestartSec = "15s";
30 };
31 };
32 };
33}