aboutsummaryrefslogtreecommitdiffstats
path: root/sys/svcs/backup
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-05-20 16:10:21 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-05-20 16:14:26 +0200
commit368cb6b0d25db2ae23be42ad51584de059997e51 (patch)
tree3282e45d3ebced63c8498a47e83a255c35de620b /sys/svcs/backup
parentrefactor(hm): Rename to `modules/home` (diff)
downloadnixos-config-368cb6b0d25db2ae23be42ad51584de059997e51.zip
refactor(sys): Modularize and move to `modules/system` or `pkgs`
Diffstat (limited to 'sys/svcs/backup')
-rw-r--r--sys/svcs/backup/default.nix46
1 files changed, 0 insertions, 46 deletions
diff --git a/sys/svcs/backup/default.nix b/sys/svcs/backup/default.nix
deleted file mode 100644
index 91433bf9..00000000
--- a/sys/svcs/backup/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- lib,
- pkgs,
- config,
- ...
-}: let
- backup-script = pkgs.writeShellScriptBin "backsnap" ''
- ${pkgs.util-linux}/bin/mount --mkdir "/dev/disk/by-uuid/${cfg.backupDiskUuid}" "/run/media/${cfg.backupDiskUuid}";
- ${pkgs.snap-sync-forked}/bin/snap-sync-forked --UUID "${cfg.backupDiskUuid}" --noconfirm;
- ${pkgs.util-linux}/bin/umount "/run/media/${cfg.backupDiskUuid}";
- '';
- cfg = config.soispha.fs.backup;
-in {
- options.soispha.fs.backup = {
- enable = lib.mkEnableOption (lib.mdDoc "backups with snap-sync");
- backupDiskUuid = lib.mkOption {
- type = lib.types.str;
- example = lib.literalExpression "d1d20ae7-3d8a-44da-86da-677dbbb10c89";
- description = lib.mdDoc "The UUID of the backup disk";
- };
- };
- config = lib.mkIf cfg.enable {
- systemd = {
- services.backup = {
- wantedBy = lib.mkForce [];
- unitConfig = {
- Description = "Backup the last snapshots of the persitent-storage subvolume.";
- };
- serviceConfig = {
- Type = "oneshot";
- ExecStart = "${backup-script}/bin/backsnap";
- };
- };
- timers.backup = {
- wantedBy = ["timers.target"];
- unitConfig = {
- Description = "Backup 15min after boot and every 8 hours";
- };
- timerConfig = {
- OnBootSec = "15min";
- OnUnitActiveSec = "8h";
- };
- };
- };
- };
-}