Kieran's opinionated (and probably slightly dumb) nix config

feat: tail the backups

dunkirk.sh d127dfa4 60523c9f

verified
+27 -2
+27 -2
modules/nixos/services/restic/cli.nix
··· 135 135 if [ "$svc" = "all" ]; then 136 136 for s in $SERVICES; do 137 137 style --foreground 117 "Backing up $s..." 138 - systemctl start "restic-backups-$s.service" || style --foreground 214 "! Failed to backup $s" 138 + systemctl start "restic-backups-$s.service" 139 + journalctl -u "restic-backups-$s.service" -f -n 0 --output=cat & 140 + journal_pid=$! 141 + while systemctl is-active --quiet "restic-backups-$s.service"; do 142 + sleep 1 143 + done 144 + kill $journal_pid 2>/dev/null || true 145 + if systemctl is-failed --quiet "restic-backups-$s.service"; then 146 + style --foreground 214 "! Failed to backup $s" 147 + else 148 + style --foreground 35 "✓ $s complete" 149 + fi 150 + echo 139 151 done 140 152 else 141 153 style --foreground 117 "Backing up $svc..." 142 154 systemctl start "restic-backups-$svc.service" 155 + journalctl -u "restic-backups-$svc.service" -f -n 0 --output=cat & 156 + journal_pid=$! 157 + while systemctl is-active --quiet "restic-backups-$svc.service"; do 158 + sleep 1 159 + done 160 + kill $journal_pid 2>/dev/null || true 143 161 fi 144 162 145 - style --foreground 35 "✓ Backup triggered" 163 + if [ "$svc" != "all" ]; then 164 + if systemctl is-failed --quiet "restic-backups-$svc.service"; then 165 + style --foreground 196 "✗ Backup failed" 166 + exit 1 167 + else 168 + style --foreground 35 "✓ Backup complete" 169 + fi 170 + fi 146 171 } 147 172 148 173 cmd_restore() {