feat(darwin): implement restic backup support for Darwin systems #53
No reviewers
Labels
No labels
bug
dependencies
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ops/nixos-skwrls!53
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "darwin-backup-support"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Implements automated restic backups for Darwin (macOS) systems using launchd agents, achieving feature parity with the existing NixOS backup implementation.
Resolves #52
Changes
Core Implementation
Configuration Files
Integration
Key Features
✅ Automated backups to dual destinations (SFTP to Edelgard + AWS S3)
✅ launchd agents with scheduled execution every 2 hours
✅ Host-specific exclude patterns for macOS directories (Library/Caches, .Trash, etc.)
✅ Email notifications on backup failures via msmtp
✅ SOPS-encrypted credentials management
✅ SSH configuration for SFTP access to Edelgard
Technical Approach
Darwin lacks native restic module support (no services.restic.backups like NixOS), requiring a custom implementation using:
The implementation closely mirrors the NixOS version while adapting to Darwin-specific patterns.
Testing
Next Steps
After merging, each Darwin host will need:
References
🤖 Generated with Claude Code
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.