diff --git a/modules/home/services/vaultwarden/default.nix b/modules/home/services/vaultwarden/default.nix index 00cdf7a..15cca8a 100644 --- a/modules/home/services/vaultwarden/default.nix +++ b/modules/home/services/vaultwarden/default.nix @@ -1,5 +1,23 @@ { + namespace, + hostname, + config, ... -}: { - # Todo: implement example service structure which should be re-usable for any future services. +}: with lib; with lib.${namespace}; +let + cfg = config.${namespace}.services.vaultwarden; +in { + options.${namespace}.services.vaultwarden = { enable = mkEnableOption "Enable the Vaultwarden service."; }; + + config = mkIf cfg.enable { + virtualisation.oci-containers.containers.vaultwarden = { + image = "vaultwarden/server"; + autoStart = true; + hostname = hostname; + # Todo: continue writing vaultwarden config + }; + + # Todo: figure out "traefik" as a service and how to configure it per-service + # Todo: setup age-nix or sops-nix for secret management + }; } \ No newline at end of file