{ config, doctrine, lib, modulesPath, pkgs, ... }: with lib.types; let inherit (pkgs.${doctrine.prefix}) socialpredict; in { sys = { frontend = lib.mkOption { type = package; default = socialpredict.frontend; defaultText = "pkgs.\${doctrine.prefix}.frontend"; description = "socialpredict frontend package"; }; backend = lib.mkOption { type = package; default = socialpredict.backend; defaultText = "pkgs.\${doctrine.prefix}.backend"; description = "socialpredict backend package"; }; package = lib.mkOption { type = package; default = pkgs.${doctrine.prefix}.socialpredict; defaultText = "pkgs.\${doctrine.prefix}.socialpredict"; description = "socialpredict package"; }; database = lib.mkOption { type = str; default = "socialpredict"; description = "database name"; }; user = lib.mkOption { type = str; default = "socialpredict"; description = "user that will run the backend"; }; group = lib.mkOption { type = str; default = "socialpredict"; description = "group that will run the backend"; }; backendPort = lib.mkOption { type = port; description = "backend port"; }; initialAdminPassword = lib.mkOption { type = str; default = "change-me"; description = "initial password of the 'admin' user"; }; domain = lib.mkOption { type = nullOr str; default = null; description = "domain host"; }; nginx = lib.mkOption { type = submodule ( lib.recursiveUpdate (import "${modulesPath}/services/web-servers/nginx/vhost-options.nix" {inherit config lib;}) {} ); default = {}; description = "extra nginx virtual host config"; }; }; }