33 lines
688 B
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" ];
|
|
};
|
|
};
|
|
};
|
|
}
|