6.1 KiB
6.1 KiB
Changelog
All notable changes to this dotfiles project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.1.0] - 2025-12-16
Added
Shell Startup Optimization
- Deferred Loading - Heavy plugins and functions load after first prompt displays
- Cached Command Checks -
_has_cmd()function cachescommand -vresults for faster lookups - Lazy kubectl - kubectl completions only load when first used (saves ~200-500ms)
- Background Tasks - Dotfiles sync check runs fully async with
&! - Compile Script (
dotfiles-compile.sh) - Pre-compile zsh files to.zwcbytecode for 20-50ms speedup
Smart Path Resolution
_df_run()Helper - All aliases use full path with fallback to PATH- Fixes "command not found" errors on fresh installs
- Scripts work even before symlinks are created or PATH is set
New Aliases
dfcompile- Compile zsh files for faster startupdfcd- Navigate to dotfiles directory (replacesdfto avoid disk utility conflict)
Changed
Script Reorganization
- Renamed
bin/shell-stats.sh→bin/dotfiles-stats.sh - Renamed
bin/vault.sh→bin/dotfiles-vault.sh - Renamed
bin/update-dotfiles.sh→bin/dotfiles-update.sh - Moved
bin/setup-wizard.sh→setup/setup-wizard.sh - Moved
bin/setup-espanso.sh→setup/setup-espanso.sh - Removed deprecated
bin/deploy-zshtheme-systemwide.sh
Alias System Overhaul
- All command aliases now use
_df_run()function wrapper - Uses full path
$_df_dir/bin/script.shwith fallback to PATH lookup - Better error messages when scripts not found
- Removed
dfalias (conflicts with disk free utility)
.zshrc Optimizations
- Reduced default plugins (removed
docker,docker-compose,kubectlfrom immediate load) - Disabled oh-my-zsh auto-update check on every load (
DISABLE_AUTO_UPDATE="true") - Tool aliases (eza, bat) now set up in deferred loading
- FZF configuration deferred until after prompt
- Vault secrets loaded with full path to avoid command_not_found issues
- Background sync check uses full script path
Fixed
- Fresh Install Bug - "Command not found: dotfiles-sync.sh" error on new user accounts
- Path Resolution - Scripts now work before
~/.local/binis in PATH - Smart Suggest Conflicts - Background tasks no longer trigger
command_not_found_handler
Removed
dfalias (conflicted withdfdisk utility)- Heavy plugins from default load (now lazy-loaded)
bin/deploy-zshtheme-systemwide.sh(redundant with installer)
[1.0.0] - 2025-12-15
Added
Core Features
- Interactive Setup Wizard (
setup-wizard.sh) - Beautiful TUI installer usinggumwith fallback to basic prompts - Dynamic MOTD (
motd.zsh) - Compact system info on shell start (uptime, CPU, memory, docker, git status) - Command Palette (
command-palette.zsh) - Raycast-style fuzzy launcher triggered by Ctrl+Space or Ctrl+P - Smart Suggestions (
smart-suggest.zsh) - Typo correction for 100+ common mistakes + alias recommendations - Shell Analytics (
dotfiles-stats.sh) - Dashboard showing command usage, suggestions, and activity heatmap - Secrets Vault (
dotfiles-vault.sh) - Encrypted storage for API keys using age/gpg - Password Manager Integration (
password-manager.zsh) - Unified CLI for 1Password, LastPass, Bitwarden - Dotfiles Sync (
dotfiles-sync.sh) - Multi-machine synchronization with watch mode - Dotfiles Doctor (
dotfiles-doctor.sh) - Health checker with auto-fix capability - Version Tracking (
dotfiles-version.sh) - Compare local vs remote versions
Password Manager Support
- 1Password CLI (
op) installation and integration - LastPass CLI (
lpass) installation and integration - Bitwarden CLI (
bw) installation and integration - Unified
pwcommand with fuzzy search support
Configuration
- Centralized
dotfiles.conffor all settings - Git identity configuration (generated, not hardcoded)
- Feature toggles for all optional components
- Machine-specific config support via
.zshrc.local
Installation
--wizardflag for interactive TUI installation--uninstallflag to remove symlinks and restore backups--purgeflag to completely remove dotfiles--skip-depsflag for faster re-runs- Auto-detection of installed dependencies
- Automatic zsh plugin installation
Zsh Theme
- Two-line prompt with git integration
- Command timer for long-running commands
- Root detection (red prompt for root)
- Smart path truncation
Espanso
- 100+ text expansion snippets
- Personal snippet template
- Setup script for personalization
Snapper (Arch/CachyOS)
- Btrfs snapshot management functions
- limine-snapper-sync integration
- Boot menu validation
Documentation
- Comprehensive README with feature overview
- Detailed SETUP_GUIDE with troubleshooting
- ESPANSO reference with all snippets
- SNAPPER guide for btrfs users
Changed
- Optimized
.zshrcwith lazy-loading for NVM and virtualenvwrapper - Streamlined
adlee.zsh-theme(removed unused functions) - Git config now generated from
dotfiles.confinstead of hardcoded
Removed
- Hardcoded git credentials from
.gitconfig - Redundant code in theme file
- Duplicate
export ZSH=statements
Version History
Versioning Scheme
- Major (1.x.x): Breaking changes, major feature additions
- Minor (x.1.x): New features, non-breaking changes
- Patch (x.x.1): Bug fixes, documentation updates
Checking Your Version
dfv
# or
dotfiles-version.sh
Updating
dfu
# or
dotfiles-update.sh
Roadmap
Planned for 1.2.0
- Multiple theme support with live preview
- Project scaffolding templates
- SSH key generation helper
- Machine profiles (work, personal, server)
Planned for 1.3.0
- Remote machine bootstrap script
- Neovim configuration support
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Update CHANGELOG.md
- Bump version in
dotfiles.conf - Submit a pull request