nix-config/modules/nixos-modules/server/panoramax.nix

48 lines
1,015 B
Nix

{
config,
lib,
pkgs,
osConfig,
...
}: let
cfg = config.services.panoramax;
in {
options.services.panoramax = {
enable = lib.mkEnableOption "panoramax";
package = lib.mkOption {
type = lib.types.package;
default = pkgs.panoramax;
description = "The panoramax package to use";
};
# TODO: create configs
# TODO: auto config db
# config = {
# DB_PORT = lib.mkOption {};
# DB_HOST = lib.mkOption {};
# DB_USERNAME = lib.mkOption {};
# DB_PASSWORD = lib.mkOption {};
# DB_NAME = lib.mkOption {};
# FS_URL = lib.mkOption {};
# };
};
config = lib.mkIf cfg.enable (
lib.mkMerge [
{
# TODO: configure options for the package
}
(
lib.mkIf config.services.fail2ban {
# TODO: configure options for fail2ban
}
)
(
lib.mkIf osConfig.host.impermanence.enable {
# TODO: configure impermanence for panoramax data
}
)
]
);
}