diff --git a/modules/common/vaultwarden.nix b/modules/common/vaultwarden.nix
index 40047dd..7ccc3a1 100644
--- a/modules/common/vaultwarden.nix
+++ b/modules/common/vaultwarden.nix
@@ -1,7 +1,5 @@
-{ base, pkgs, drive_paths, lib, config, ... }:
-if drive_paths == null
-then {}
-else lib.recursiveUpdate {
+{ base, pkgs, lib, config, ... }:
+lib.recursiveUpdate {
   environment.systemPackages = with pkgs; [ vaultwarden ];
 
   services.vaultwarden.enable = true;
@@ -36,9 +34,9 @@
 
     vaultwarden_config = {
       # Server Settings
-      DOMAIN = "https://passwords.clicks.codes";
-      ROCKET_ADDRESS = "127.0.0.1";
-      ROCKET_PORT = 8452;
+      DOMAIN = "https://vaultwarden.clicks.codes";
+      ROCKET_ADDRESS = "127.0.0.255";
+      ROCKET_PORT = 1028;
 
       # General Settings
       SIGNUPS_ALLOWED = false;
@@ -47,15 +45,6 @@
         "clicks.codes,coded.codes,thecoded.prof,starrysky.fyi,hopescaramels.com,pinea.dev,trans.gg";
       SIGNUPS_VERIFY = true;
 
-      RSA_KEY_FILENAME =
-        "${drive_paths.External1000SSD.path}/bitwarden/rsa_key";
-      ICON_CACHE_FOLDER =
-        "${drive_paths.External1000SSD.path}/bitwarden/icon_cache";
-      ATTACHMENTS_FOLDER =
-        "${drive_paths.External4000HDD.path}/bitwarden/attachments";
-      SENDS_FOLDER = "${drive_paths.External4000HDD.path}/bitwarden/sends";
-      TMP_FOLDER = "${drive_paths.External4000HDD.path}/bitwarden/tmp";
-
       DISABLE_2FA_REMEMBER = true;
 
       # Admin Account
@@ -63,18 +52,18 @@
 
       # Database Settings
       DATABASE_URL =
-        "postgresql://vaultwarden:!!clicks_bitwarden_db_secret!!@127.0.0.1:${
+        "postgresql://vaultwarden:!!clicks_vaultwarden_db_secret!!@127.0.0.1:${
           toString config.services.postgresql.port
         }/vaultwarden";
 
       # Mail Settings
       SMTP_HOST = "mail.clicks.codes";
-      SMTP_FROM = "bitwarden@clicks.codes";
-      SMTP_FROM_NAME = "Clicks Bitwarden";
+      SMTP_FROM = "vaultwarden@clicks.codes";
+      SMTP_FROM_NAME = "Clicks vaultwarden";
       SMTP_SECURITY = "starttls";
       SMTP_PORT = 587;
 
-      SMTP_USERNAME = "bitwarden@clicks.codes";
+      SMTP_USERNAME = "vaultwarden@clicks.codes";
       SMTP_PASSWORD = "!!SMTP_PASSWORD!!";
 
       REQUIRE_DEVICE_EMAIL = true;
@@ -85,9 +74,8 @@
       YUBICO_CLIENT_ID = "89788";
       YUBICO_SECRET_KEY = "!!YUBICO_SECRET_KEY!!";
 
-      # TODO: Buy a license
       # HIBP Settings
-      # HIBP_API_KEY="!!HIBP_API_KEY!!";
+      HIBP_API_KEY="!!HIBP_API_KEY!!";
 
       ORG_ENABLE_GROUPS = true;
       # I have looked at the risks. They seem relatively small in comparison to the utility
@@ -147,8 +135,8 @@
       matchers."YUBICO_SECRET_KEY".secret =
         config.sops.secrets.YUBICO_SECRET_KEY.path;
       matchers."HIBP_API_KEY".secret = config.sops.secrets.HIBP_API_KEY.path;
-      matchers."clicks_bitwarden_db_secret".secret =
-        config.sops.secrets.clicks_bitwarden_db_password.path;
+      matchers."clicks_vaultwarden_db_secret".secret =
+        config.sops.secrets.clicks_vaultwarden_db_password.path;
       owner = config.users.users.vaultwarden.name;
       group = config.users.groups.vaultwarden.name;
       mode = "0400";
