nix-config/nixos/fuchsia/services
jasmine 15b4851e8e
refactor(borgbackup): implement shared staging with defense-in-depth
Major improvements to borgbackup configuration for better reliability and
maintainability:

**Shared staging directory:**
- Use single /btrfs-subvolumes directory (was /subvolumes-{onsite,offsite})
- Eliminates redundant path suffixes in archive structure
- Archive paths now semantic: /btrfs-subvolumes/srv-forgejo clearly indicates
  BTRFS subvolume content without redundant backup job metadata

**Defense-in-depth protection:**
- Layer 1: Systemd ordering - offsite waits for onsite completion
- Layer 2: Self-healing preHook - auto-cleanup orphaned snapshots from
  crashes/power loss
- Prevents cascading failures from race conditions or abnormal terminations

**Code quality improvements:**
- Extract subvolume lists to reduce duplication (DRY principle)
- Add /* sh */ syntax hints for proper editor highlighting
- Silent operation for consistency with existing hooks
- Improved readability with clearer comments and formatting
- All lines ≤ 100 characters

**Timing:**
- Offsite: *-*-* 00:15:00 (daily at 12:15 AM, waits for onsite)
- Onsite: hourly (unchanged)
2025-10-08 18:46:50 +08:00
..
amdgpu-clocks update amdgpu-clocks 2025-02-16 09:36:06 +08:00
borgbackup refactor(borgbackup): implement shared staging with defense-in-depth 2025-10-08 18:46:50 +08:00
flatpak feat: add support for flatpak in NixOS configuration 2025-02-23 18:26:58 +08:00
libinput refactor 2024-09-20 20:24:55 +08:00
pipewire setup pipewire 2025-09-01 01:47:59 +08:00
printing install cups 2025-07-06 23:46:38 +08:00
snapper feat(fuchsia): implement backup strategy with explicit home paths 2025-10-07 19:14:11 +08:00
ssh fix(ssh): enable key-based root login and use FQDNs for system services 2025-10-07 23:11:31 +08:00
udev install qmk 2025-05-12 09:58:53 +08:00
xserver refactor 2024-09-20 20:24:55 +08:00
default.nix refactor(ssh): decentralize SSH configuration to per-host services 2025-10-07 22:33:20 +08:00