-
Notifications
You must be signed in to change notification settings - Fork 0
User Guide
Comprehensive step-by-step guide to using DFBU for dotfile backup and restoration.
-
Launch DFBU:
# AppImage ./DFBU-x86_64.AppImage # Source installation python DFBU/dfbu_gui.py
-
Initial Configuration: DFBU creates default configuration files on first launch
- Configuration directory:
~/.config/dfbu/(AppImage) orDFBU/data/(source) - Default settings with sensible defaults
- Empty dotfile library (ready for your entries)
- Configuration directory:
DFBU uses a tabbed interface with four main sections:
| Tab | Purpose |
|---|---|
| Backup | Select dotfiles and execute backups |
| Restore | Browse backups and restore files |
| Configuration | Modify backup settings and options |
| Log | View operation logs and statistics |
Method 1: Using Add Button
- Click "Add" button (or press Ctrl+N)
- Enter dotfile information:
- Application: Unique name (e.g., "Bash", "Vim", "Firefox")
- Description: Brief description of configuration
- Path: Click "Browse" to select file or directory
- Tags: Optional comma-separated tags (e.g., "shell, terminal")
- Click "OK" to save
Method 2: Manual Configuration
- Click "Edit Config" button
- Edit
dotfiles.yamlin your text editor:Bash: description: Bash shell configuration paths: - ~/.bashrc - ~/.bash_aliases tags: shell, terminal
- Save file
- Click "Validate Config" to verify syntax
- Reload configuration
Edit Dotfile:
- Select dotfile in table
- Click "Edit" button
- Modify fields
- Click "OK" to save
Remove Dotfile:
- Select dotfile in table
- Click "Remove" button
- Confirm deletion
Toggle Selection:
- Include All: Checkbox in header row
- Exclude Individual: Uncheck specific dotfiles
Filter Input (top of Backup tab):
- Type application name, tag, or path fragment
- Table updates in real-time
- Clear filter with "X" button
Hide Missing Checkbox:
- Enable to hide dotfiles with non-existent source paths
- Useful for multi-machine configurations
- Missing files shown in gray when unchecked
Basic Backup Workflow:
- Select Dotfiles: Check dotfiles to include in backup
- Choose Mode: Select mirror and/or archive in Configuration tab
- Click Backup: Press "Backup" button (or Ctrl+B)
- Monitor Progress: Watch progress bar and log output
- Review Results: Check statistics panel for completion summary
Progress Indicators:
- Progress Bar: 0-100% completion
- Status Text: Current operation (e.g., "Copying ~/.bashrc")
- Log Pane: Detailed file-by-file output
- Statistics: Files processed, skipped, failed, total size
Verbose Logging:
- Toggle "Verbose" button in log pane toolbar
- Shows full destination paths for all operations
- Useful for verifying backup locations
Size Warnings:
- If size check enabled, DFBU warns about large files
-
Size Warning Dialog shows:
- Files exceeding thresholds
- File sizes and severity levels (Warning/Alert/Critical)
- Option to Continue or Abort
- Adjust thresholds in Configuration tab
Mirror Backup:
- Creates readable directory structure
- Files remain uncompressed
- Easy browsing and selective restoration
- Output:
~/backups/mirror/hostname/
Archive Backup:
- Creates compressed
.tar.gzarchive - Space-efficient storage
- Timestamped archives with rotation
- Output:
~/backups/archives/hostname/backup-YYYYMMDD-HHMMSS.tar.gz
Dual Mode:
- Enable both mirror and archive simultaneously
- Best of both worlds: accessibility and space efficiency
- Recommended for comprehensive backup strategy
Mirror Backup Restore:
- Navigate to Restore tab
- Browse mirror backup directory tree
- Select files or directories to restore
- Click "Restore" button (or Ctrl+R)
Archive Backup Restore:
- Navigate to Restore tab
- Select archive from list (sorted by timestamp)
- Archive is extracted to temporary location
- Browse extracted contents
- Select files to restore
- Click "Restore"
Pre-Restore Backup:
- Enabled by default (
pre_restore_backup: true) - Creates timestamped backup of existing files before overwriting
- Backup location:
~/.local/share/dfbu/restore-backups/ - TOML manifest documents all backed-up files
Restore to Original Location:
- Default behavior: restores files to original paths
- Preserves directory structure
- Overwrites existing files (after safety backup)
Restore Progress:
- Progress bar shows completion percentage
- Log pane displays each file restored
- Statistics panel shows restore summary
Safety Measures:
- Pre-restore backup: Existing files backed up first
- Confirmation dialog: Warns before overwriting
- Abort option: Cancel mid-restoration if needed
- Verification: Optional post-restore integrity check
Undoing Restores:
- Navigate to
~/.local/share/dfbu/restore-backups/ - Find most recent backup by timestamp
- Manually restore files from safety backup
Mirror Directory:
- Field: "Mirror Backup Directory"
- Browse: Select directory via file picker
- Purpose: Destination for readable backups
- Recommendation: Local fast storage or Git repository
Archive Directory:
- Field: "Archive Backup Directory"
- Browse: Select directory via file picker
- Purpose: Destination for compressed archives
- Recommendation: External drive or cloud storage
Restore Backup Directory:
- Field: "Restore Backup Directory"
-
Default:
~/.local/share/dfbu/restore-backups/ - Purpose: Pre-restore safety backups
- Recommendation: Keep default unless space constrained
Mode Selection:
- ☑ Mirror Backup: Enable readable directory backups
- ☑ Archive Backup: Enable compressed archives
- Both can be enabled simultaneously
Archive Settings:
-
Compression Level: Slider (1-9)
- 1: Fast, larger files
- 5: Balanced (default)
- 9: Maximum compression, slower
- Max Archives: Number of archives to retain (auto-rotation)
Organization:
- ☑ Hostname Subdirectory: Create subdirectory per hostname
- ☑ Date Subdirectory: Organize archives by date
- ☑ Verify After Backup: Enable post-backup verification
- ☑ Hash Verification: Enable SHA-256 hash checking
Verification Process:
- Existence check: Confirms files exist in backup
- Size verification: Compares source and backup sizes
- Hash verification: Compares SHA-256 hashes (if enabled)
Verification Report:
- Displayed in dialog after backup completion
- Shows pass/fail status for each check
- Logs failures for investigation
- ☑ Enable Size Check: Enable pre-backup size analysis
- Warning Threshold: Yellow indicator (default: 10 MB)
- Alert Threshold: Orange indicator (default: 100 MB)
- Critical Threshold: Red indicator (default: 1024 MB)
Size Warning Dialog:
- Lists files exceeding thresholds
- Shows severity levels and file sizes
- Options: Continue or Abort backup
Edit Config:
- Opens
dotfiles.yamlin system default editor - Direct editing of dotfile library
- Remember to validate after manual edits
Validate Config:
- Checks YAML syntax in configuration files
- Reports errors with line numbers
- Option to reload after fixes
Export Config:
- Exports
settings.yamlanddotfiles.yaml - Choose destination directory
- Useful for backup or sharing configurations
- Click "Profiles" button (Configuration tab)
- Click "New Profile"
- Enter profile information:
- Name: Unique profile identifier
- Description: Profile purpose
- Exclusions: Dotfiles to exclude
- Option Overrides: Custom settings for this profile
- Click "Save"
Switch Profile:
- Click "Profiles" button
- Select profile from list
- Click "Load"
- Backup tab reflects profile exclusions
- Options use profile overrides
Edit Profile:
- Select profile from list
- Click "Edit"
- Modify settings
- Click "Save"
Delete Profile:
- Select profile
- Click "Delete"
- Confirm deletion
Work Profile:
- Exclude personal configs (games, social media)
- Enable maximum compression for cloud upload
- Enable verification for critical files
Personal Profile:
- Exclude work-related configs
- Mirror backup to Git repository
- Faster compression for frequent backups
Minimal Profile:
- Essential dotfiles only (shell, editor, git)
- Quick backups for testing
- Minimal storage footprint
| Shortcut | Action |
|---|---|
| Ctrl+B | Start Backup |
| Ctrl+R | Start Restore |
| Ctrl+V | Verify Backup |
| Ctrl+N | Add New Dotfile |
| F1 | Open Help |
| Ctrl+Q | Quit Application |
- Launch DFBU
- Review dotfile selection (use filter if needed)
- Press Ctrl+B to start backup
- Monitor progress in log pane
- Review statistics on completion
- Close DFBU
Time: 30 seconds - 2 minutes depending on file count
Machine 1 (Primary):
- Configure dotfiles for all applications
- Export configuration (Export Config button)
- Sync configuration to shared location (Git, cloud, USB)
Machine 2 (Secondary):
- Install DFBU
- Import configuration files to
~/.config/dfbu/ - Enable "Hide Missing" checkbox
- Backup only present dotfiles
- Use machine-specific profiles if needed
Old System:
- Execute full backup (mirror + archive)
- Verify backup completion
- Copy backup directories to external drive or cloud
New System:
- Install DFBU
- Copy backup directories to new system
- Navigate to Restore tab
- Select files to restore
- Execute restore operation
- Verify restored files
Before Changes:
- Create "Pre-Change" profile with current setup
- Execute backup with timestamp in name
- Proceed with configuration experiments
After Changes:
- Test new configuration
- If satisfactory: Update regular backup
- If problematic: Restore from "Pre-Change" backup
Weekly:
- Review and clean exclusions
- Check backup directory disk space
- Verify recent backups exist
Monthly:
- Review dotfile library for obsolete entries
- Update .dfbuignore patterns
- Archive old backups to cold storage
Annually:
- Review and update profiles
- Clean old restore backups
- Update backup path locations if needed
3-2-1 Rule:
- 3 copies of data (original + 2 backups)
- 2 different storage types (mirror + archive)
- 1 off-site backup (cloud or external drive)
DFBU supports this with:
- Original files on system
- Mirror backup on local storage
- Archive backup on cloud/external drive
Essential:
- Shell configurations (.bashrc, .zshrc)
- Editor configurations (.vimrc, .config/nvim/)
- Git configuration (.gitconfig)
- SSH configuration (.ssh/config)
Important:
- Terminal emulator configs
- Development tool configurations
- Desktop environment settings
Optional:
- Application caches (usually excluded)
- Browser profiles (large, change frequently)
- Game configurations
Never Backup:
- Private SSH keys (.ssh/id_rsa) - store securely, not in backups
- GPG private keys - use dedicated key management
- Password databases - use encrypted password managers
- Session tokens and cookies
- Cached data that regenerates
Use .dfbuignore to exclude:
- Temporary files
- Cache directories
- Build artifacts
- Log files
Daily: Essential dotfiles if actively developing Weekly: General configurations and settings Monthly: Complete system backup including optional configs Before Major Changes: System upgrades, distribution migrations
Navigation: Home | Features | Configuration | Troubleshooting