NixOS/options/services.nix

84 lines
2.4 KiB
Nix
Raw Normal View History

{
config,
lib,
pkgs,
...
}:
let
2024-06-26 16:34:41 +07:00
inherit (lib) mkEnableOption mkOption types;
in
{
options.profile.services = {
caddy.enable = mkEnableOption "caddy";
2024-11-24 20:16:30 +07:00
nginx.enable = mkEnableOption "nginx";
cockpit.enable = mkEnableOption "cockpit";
2024-06-13 16:08:33 +07:00
forgejo.enable = mkEnableOption "forgejo";
kavita.enable = mkEnableOption "kavita";
samba.enable = mkEnableOption "samba";
2024-06-13 23:14:37 +07:00
nextcloud.enable = mkEnableOption "nextcloud";
2024-06-14 10:04:29 +07:00
syncthing.enable = mkEnableOption "syncthing";
2024-06-14 14:30:52 +07:00
openvpn.enable = mkEnableOption "openvpn";
2024-06-14 19:42:14 +07:00
stubby.enable = mkEnableOption "stubby";
2024-06-17 23:28:22 +07:00
jellyfin.enable = mkEnableOption "jellyfin";
2024-06-26 16:34:41 +07:00
jellyfin.jellyseerr.enable = mkOption {
type = types.bool;
default = config.profile.services.jellyfin.enable;
};
rust-motd.enable = mkEnableOption "rust-motd";
2024-06-23 20:01:24 +07:00
wireguard.enable = mkEnableOption "wireguard";
2024-06-23 21:04:27 +07:00
photoprism.enable = mkEnableOption "photoprism";
navidrome.enable = mkEnableOption "navidrome";
2024-08-28 20:31:11 +07:00
2024-09-05 09:42:15 +07:00
ntfy-sh.enable = mkEnableOption "ntfy-sh";
ntfy-sh.client = {
settings = lib.mkOption {
type = (pkgs.formats.yaml { }).type;
default = { };
};
enable = mkOption {
type = types.bool;
default = config.profile.services.ntfy-sh.enable;
};
};
2024-09-05 09:42:15 +07:00
2024-10-15 08:25:08 +07:00
redis = {
client.cli.enable = mkEnableOption "redis cli client";
};
2024-09-24 11:29:00 +07:00
couchdb.enable = mkEnableOption "couchdb";
2024-08-28 20:31:11 +07:00
telemetry = {
enable = mkEnableOption "telemetry";
grafana.enable = mkOption {
type = types.bool;
default = config.profile.services.telemetry.enable;
};
loki.enable = mkOption {
type = types.bool;
default = config.profile.services.telemetry.enable;
};
promtail.enable = mkOption {
type = types.bool;
default = config.profile.services.telemetry.enable;
};
tempo.enable = mkOption {
type = types.bool;
default = config.profile.services.telemetry.enable;
};
2024-09-07 10:27:25 +07:00
mimir.enable = mkOption {
2024-08-28 20:31:11 +07:00
type = types.bool;
default = config.profile.services.telemetry.enable;
};
2024-09-06 21:13:31 +07:00
alloy.enable = mkOption {
type = types.bool;
default = config.profile.services.telemetry.enable;
};
2024-09-10 16:34:58 +07:00
prometheus.enable = mkOption {
type = types.bool;
default = config.profile.services.telemetry.enable;
};
2024-08-28 20:31:11 +07:00
};
2024-10-28 21:38:34 +07:00
technitium.enable = mkEnableOption "technitium";
};
}