{ pkgs, lib, config, ... }: let cfg = config.mods.server; in with lib; { imports = [ ./service.nix ]; options.mods.server = { grav = { enable = mkEnableOption { default = false; description = "enables grav service"; }; }; }; config = { networking.firewall = { allowedTCPPorts = [ 443 80 ]; }; services.grav = mkIf cfg.grav.enable { enable = true; phpPackage = pkgs.php81; }; users.users.${config.mods.user.name}.extraGroups = lib.mkAfter [ "grav" ]; }; }