nix/modules/socialpredict/options.nix
2026-01-31 11:25:56 -06:00

78 lines
1.8 KiB
Nix

{
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";
};
};
}