flocon/clanServices/vaultwarden.nix

33 lines
688 B
Nix

{
_class = "clan.service";
manifest.name = "vaultwarden";
manifest.description = "Bitwarden-compatible password manager";
manifest.exports.out = [ "endpoints" ];
roles.default = {
perInstance =
{
meta,
mkExports,
...
}:
let
host = "vaultwarden.${meta.domain}";
in
{
exports = mkExports {
endpoints.hosts = [ host ];
};
nixosModule = {
services.vaultwarden = {
enable = true;
domain = host;
configureNginx = true;
};
clan.core.state.vaultwarden.folders = [ "/var/lib/vaultwarden" ];
};
};
};
}