about summary refs log tree commit diff
path: root/nixos/modules/services
diff options
context:
space:
mode:
authorNick Cao <nickcao@nichi.co>2024-01-08 12:30:03 -0500
committerGitHub <noreply@github.com>2024-01-08 12:30:03 -0500
commitc360b497043731eceab5fabed0a456028a97f036 (patch)
treeb61d1feb1003bbf1c8a88ecdb242c12adaf3dded /nixos/modules/services
parent494fdd1c9331407064a07e0c56c109a807450fff (diff)
parent4f70c901dc13c1b066e04ce9d3a02ee52fe83dda (diff)
downloadnixlib-c360b497043731eceab5fabed0a456028a97f036.tar
nixlib-c360b497043731eceab5fabed0a456028a97f036.tar.gz
nixlib-c360b497043731eceab5fabed0a456028a97f036.tar.bz2
nixlib-c360b497043731eceab5fabed0a456028a97f036.tar.lz
nixlib-c360b497043731eceab5fabed0a456028a97f036.tar.xz
nixlib-c360b497043731eceab5fabed0a456028a97f036.tar.zst
nixlib-c360b497043731eceab5fabed0a456028a97f036.zip
Merge pull request #259849 from Scrumplex/nixos/vaultwarden/backupDirCreate
nixos/vaultwarden: create backupDir using tmpfiles.d
Diffstat (limited to 'nixos/modules/services')
-rw-r--r--nixos/modules/services/security/vaultwarden/backup.sh4
-rw-r--r--nixos/modules/services/security/vaultwarden/default.nix8
2 files changed, 10 insertions, 2 deletions
diff --git a/nixos/modules/services/security/vaultwarden/backup.sh b/nixos/modules/services/security/vaultwarden/backup.sh
index 2a3de0ab1dee..7668da5bc88f 100644
--- a/nixos/modules/services/security/vaultwarden/backup.sh
+++ b/nixos/modules/services/security/vaultwarden/backup.sh
@@ -1,8 +1,8 @@
 #!/usr/bin/env bash
 
 # Based on: https://github.com/dani-garcia/vaultwarden/wiki/Backing-up-your-vault
-if ! mkdir -p "$BACKUP_FOLDER"; then
-  echo "Could not create backup folder '$BACKUP_FOLDER'" >&2
+if [ ! -d "$BACKUP_FOLDER" ]; then
+  echo "Backup folder '$BACKUP_FOLDER' does not exist" >&2
   exit 1
 fi
 
diff --git a/nixos/modules/services/security/vaultwarden/default.nix b/nixos/modules/services/security/vaultwarden/default.nix
index 14bbfa95a9ca..470db735bf64 100644
--- a/nixos/modules/services/security/vaultwarden/default.nix
+++ b/nixos/modules/services/security/vaultwarden/default.nix
@@ -55,6 +55,7 @@ in {
       description = lib.mdDoc ''
         The directory under which vaultwarden will backup its persistent data.
       '';
+      example = "/var/backup/vaultwarden";
     };
 
     config = mkOption {
@@ -230,6 +231,13 @@ in {
       };
       wantedBy = [ "multi-user.target" ];
     };
+
+    systemd.tmpfiles.settings = mkIf (cfg.backupDir != null) {
+      "10-vaultwarden".${cfg.backupDir}.d = {
+        inherit user group;
+        mode = "0770";
+      };
+    };
   };
 
   # uses attributes of the linked package