-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Problem
The bootstrap process lacks several features that would improve the user experience and make it safer/easier to use.
Missing Features
1. Dry-Run Mode
No way to preview what will happen without actually making changes.
Proposed:
./bootstrap.sh --dry-run- Show what would be installed/configured
- List files that would be symlinked
- Show Brewfile contents
- Identify which install scripts would run
2. Selective Installation
Can't choose to only install specific topics.
Proposed:
./bootstrap.sh --only git,zsh,python
./bootstrap.sh --skip macos,docker- Install only specified topics
- Useful for testing or partial setups
3. Pre-flight Check
No validation before making system changes.
Proposed:
./bootstrap.sh --check- Verify all prerequisites
- Check for conflicts
- Validate configuration files
- Report potential issues
4. Backup Mechanism
No automatic backup before overwriting configurations.
Proposed:
- Create timestamped backups of files before overwriting
- Store in
~/.dotfiles/backups/YYYY-MM-DD-HHMMSS/ - Provide restore script
5. Progress Tracking
Hard to see what's happening during long bootstrap runs.
Proposed:
- Progress indicators for long operations
- Clear section headers
- Summary report at end showing what succeeded/failed
6. Uninstall/Cleanup Script
No way to remove dotfiles cleanly.
Proposed:
./cleanup.sh- Remove symlinks
- Restore backups
- Optionally remove installed packages
7. Update Script
No way to pull changes and re-apply configurations.
Proposed:
./update.sh- Pull latest from git
- Re-run only changed install scripts
- Smart detection of what needs updating
Implementation Priority
High Value:
- Dry-run mode (helps users understand what will happen)
- Pre-flight check (prevents broken states)
- Better progress tracking (improves UX)
Medium Value:
4. Backup mechanism (safety net)
5. Selective installation (useful for testing)
Nice to Have:
6. Uninstall script
7. Smart update script
Success Criteria
- Users can preview changes before applying
- Clear progress indication during installation
- Safe to experiment without fear of breaking system
Priority
LOW - Quality-of-life improvements, implement incrementally
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request