{ config, pkgs, lib, ... }: with lib; let afws = pkgs.callPackage ./afws { inherit pkgs; }; in { options.services.afws = { enable = mkOption { type = types.bool; default = false; description = "Enable AFWS server"; }; }; config = mkIf config.services.afws.enable { systemd.services.afws = { description = "AFWS server"; wantedBy = [ "multi-user.target" ]; serviceConfig = { User = "afws"; Group = "afws"; ExecStart = "${afws}/bin/afws_server"; }; path = [ pkgs.nix pkgs.git ]; }; users.users.afws = { name = "afws"; group = "afws"; description = "AFWS server user"; isSystemUser = true; createHome = false; home = "/var/lib/afws"; useDefaultShell = true; }; users.extraGroups.afws = {}; }; }