servers/nixos/common/services/vaultwarden.nix

55 lines
1,009 B
Nix

{
config,
lib,
pkgs,
...
}: let
inherit (lib) mkEnableOption mkIf mkOption;
cfg = config.foehammer.services.vaultwarden;
in {
options.foehammer.services.vaultwarden = {
enable = mkEnableOption "Enable Vaultwarden Server";
port = mkOption {
type = lib.types.port;
default = 8222;
description = ''
What external port to serve over.
'';
};
signups = mkOption {
type = lib.types.bool;
default = false;
};
envPath = mkOption {
type = lib.types.port;
};
domain = mkOption {
type = lib.types.str;
};
};
config = mkIf cfg.enable {
services.vaultwarden = {
enable = true;
config = {
ROCKET_ADDRESS = "127.0.0.1";
ROCKET_PORT = cfg.port;
DOMAIN = cfg.domain;
ROCKET_LOG = "critical";
SIGNUPS_ALLOWED = cfg.signups;
};
environmentFile = cfg.envPath;
};
foehammer.backups.paths = [
"/var/lib/bitwarden_rs"
];
};
}