From b52a55b5e8bbda92c503e156ba63d54b48230b28 Mon Sep 17 00:00:00 2001 From: "Aaron D. Lee" Date: Tue, 23 Dec 2025 19:24:51 -0500 Subject: [PATCH] Dotfiles update 2025-12-23 19:24 --- CHANGELOG.md | 449 --------------------------------------------------- 1 file changed, 449 deletions(-) delete mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 0291914..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,449 +0,0 @@ -# Changelog - -All notable changes to this project are documented in this file. - -## [3.0.0] - 2025-12-21 - Arch/CachyOS Simplification - -### ๐ŸŽฏ Major Release: Focused Platform Strategy - -This release dramatically simplifies the dotfiles by removing cross-platform support, consolidating on password manager support, and focusing exclusively on Arch/CachyOS with vim/neovim. - -### โœ‚๏ธ Removed (Breaking Changes) - -#### Multi-OS Support Removed -- Removed macOS (Homebrew) installation support -- Removed Ubuntu (apt) installation support -- Removed Fedora (dnf) installation support -- **Migration:** macOS/Linux users should fork and create branch for their OS -- **Impact:** ~200 lines of conditional code removed - -#### Multi-Password Manager Support Removed -- Removed 1Password CLI integration -- Removed Bitwarden CLI integration -- **Keeping:** LastPass CLI as primary password manager -- **Migration:** Users of other managers can: - - Use tool directly (recommended) - - Create custom `password-manager.zsh` wrapper - - Fork repository and add support -- **Impact:** ~330 lines removed from `zsh/functions/password-manager.zsh` - -#### Multi-Editor Support Removed -- Removed Emacs support (installation and configuration) -- Removed VS Code support (settings sync, extensions) -- **Keeping:** Vim (required) and Neovim (optional) -- **Migration:** Emacs/VS Code users can: - - Install manually after dotfiles setup - - Create fork with editor support - - Use dotfiles for shell/git/tmux, configure editor separately -- **Impact:** ~50 lines removed from `install.sh` - -### ๐Ÿ“‰ Size Reduction - -| Metric | Before | After | Change | -|--------|--------|-------|--------| -| Total Lines | ~4,200 | ~3,350 | -850 (-20%) | -| Conditional Branches | 45 | 25 | -44% | -| Case Statements | 15 | 5 | -67% | -| OS-Specific Blocks | 20 | 2 | -90% | -| Package Manager Conditionals | 12 | 1 | -92% | -| Installation Time | ~15s | ~8s | -47% | -| Testing Combinations | 60 | 2 | -97% | - -### โž• Added - -#### Documentation -- [SIMPLIFICATION_SUMMARY.md](docs/SIMPLIFICATION_SUMMARY.md) - Overview of changes -- [IMPLEMENTATION_GUIDE.md](docs/IMPLEMENTATION_GUIDE.md) - How to apply changes -- [DETAILED_CHANGES.md](docs/DETAILED_CHANGES.md) - Line-by-line breakdown - -#### Clarity -- Arch/CachyOS-only badges in README -- Clear error messages for unsupported systems -- Better migration paths for affected users - -### ๐Ÿ”ง Changed - -#### install.sh -- OS detection now only accepts Arch/CachyOS -- All pacman conditionals removed (pacman only) -- Removed feature detection for apt, dnf, brew -- Dependencies section simplified to single block -- Cleaner error reporting for unsupported OS - -#### dotfiles.conf -- Removed `INSTALL_HOMEBREW_NO_ANALYTICS` (macOS) -- Removed `INSTALL_1PASSWORD` toggle -- Removed `INSTALL_BITWARDEN` toggle -- Removed `INSTALL_EMACS` toggle -- Removed `INSTALL_VSCODE` toggle -- Added `INSTALL_NEOVIM` toggle (vim primary, neovim optional) -- Reduced from 120 to 100 lines - -#### zsh/functions/password-manager.zsh -- Removed `_pw_detect_provider()` function -- Removed all `_1p_*` functions (1Password) -- Removed all `_bw_*` functions (Bitwarden) -- Kept all `_lp_*` functions (LastPass) -- Simplified `pw()` main function (100+ lines โ†’ 30 lines) -- LastPass is now the only password manager -- Reduced from 580 to 250 lines - -### ๐Ÿงช Testing - -**Before (60 combinations):** -- 3 OS ร— 4 Package Managers ร— 5 Password Managers -- Exponential complexity - -**After (2 combinations):** -- 1 OS (Arch/CachyOS) ร— 2 Password Manager States (LastPass only) -- Linear simplicity - -### ๐Ÿ“ Migration Paths - -#### For macOS Users -```bash -# Option 1: Use Homebrew directly -brew install zsh tmux vim lastpass-cli - -# Option 2: Fork dotfiles -git clone https://github.com/youruser/dotfiles.git -git checkout -b macos-support -# Add brew support back to install.sh -``` - -#### For Ubuntu/Fedora Users -```bash -# Option 1: Create separate branch -git checkout -b ubuntu-support -# Modify install.sh to support apt/dnf - -# Option 2: Use community forks -# Search GitHub for "dotfiles ubuntu" forks -``` - -#### For 1Password Users -```bash -# Use 1Password CLI directly -op item list -op read "op://vault/item/password" - -# Or create custom wrapper -# Copy password-manager.zsh, add 1Password functions back -``` - -#### For Bitwarden Users -```bash -# Use Bitwarden CLI directly -bw list items -bw get password itemid - -# Or restore Bitwarden functions from git history -git show v2.5:zsh/functions/password-manager.zsh | grep "_bw" -``` - -#### For Emacs Users -```bash -# Install manually after dotfiles setup -paru -S emacs - -# Add emacs config to ~/.config/emacs/ -# Use dotfiles for shell/git/tmux/vim - -# Or fork and add emacs support -``` - -#### For VS Code Users -```bash -# Use VS Code settings sync (built-in) -code --list-extensions - -# Configure extensions separately -# Use dotfiles for terminal/shell integration -``` - -### ๐Ÿ”„ Upgrade Instructions - -**From v2.x to v3.0.0:** - -```bash -# Backup current setup -cd ~/.dotfiles -git branch backup-before-v3.0.0 -git checkout main - -# If you're on non-Arch OS, stash changes -git stash - -# If you only use LastPass, upgrade is seamless -git pull origin main -./install.sh --skip-deps - -# If using other tools, see migration paths above -``` - -**If install.sh rejects your OS:** - -```bash -# Expected behavior on non-Arch OS in v3.0.0 -./install.sh -# Error: Unsupported operating system: Darwin (macOS) -# This is intentional - v3.0.0 is Arch/CachyOS only - -# Solution: Use v2.5.2 or fork the repository -git checkout v2.5.2 -# or -git checkout -b my-os-support -``` - -### ๐Ÿ’พ What Still Works (Fully Preserved) - -All core functionality remains and works identically: - -- โœ… Command palette (Ctrl+Space) -- โœ… Smart suggestions/typo correction -- โœ… Shell analytics (dfstats) -- โœ… MOTD system info -- โœ… Tmux workspace management -- โœ… SSH session manager -- โœ… Snapper integration (Arch-specific) -- โœ… Python project templates -- โœ… Vault encrypted secrets -- โœ… Dotfiles sync across machines -- โœ… Zsh theme and aliases -- โœ… Git integration -- โœ… Directory bookmarks -- โœ… Health check (dotfiles-doctor) -- โœ… Custom espanso snippets - -### ๐Ÿ” Why This Change? - -**Previous Complexity:** -- 60 test combinations (impossible to test thoroughly) -- Conditional branches for 5 different package managers -- Support for 3 password managers nobody asked for -- Editor configuration nobody requested -- Maintenance nightmare (every change affects 60 paths) - -**New Simplicity:** -- Single focus: Arch/CachyOS -- Single package manager: Pacman -- Single password manager: LastPass -- Single required editor: Vim -- Optional editor: Neovim -- 2 test combinations (fully testable) -- Easier maintenance -- Clearer documentation -- Faster installation - -### ๐Ÿš€ Benefits - -1. **Maintainability** - 90% less complex code paths -2. **Reliability** - Can thoroughly test all scenarios -3. **Performance** - Installation 47% faster -4. **Clarity** - Code is easier to understand -5. **Documentation** - Focused on Arch/CachyOS users -6. **User Experience** - No confusing feature detection - -### ๐Ÿ“š Documentation Updates - -- README.md - Updated with Arch/CachyOS focus -- SETUP_GUIDE.md - Simplified for Arch/CachyOS only -- CONTRIBUTING.md - Updated guidelines -- All other docs reflect new architecture - -### ๐Ÿค Community Notes - -- **Existing users on Arch/CachyOS:** No impact, seamless upgrade -- **Existing users on other OS:** Must stay on v2.5.2 or migrate -- **Emacs/VS Code users:** Can keep their editors, use dotfiles for shell -- **1Password/Bitwarden users:** Can use tools directly -- **Want old version?** Use: `git checkout v2.5.2` - -### ๐Ÿ“ฆ Installation - -```bash -git clone https://github.com/adlee-was-taken/dotfiles.git ~/.dotfiles -cd ~/.dotfiles -./install.sh -``` - -**System Requirements:** -- Arch Linux or CachyOS (only) -- Pacman (included) -- Zsh (auto-installed) -- Vim (required), Neovim (optional) -- LastPass CLI (optional) - ---- - -## [2.5.2] - 2025-11-15 - -### Fixed -- Bitwarden auth timeout handling -- Espanso snippet loading on fresh install -- 1Password clipboard timeout (30โ†’60 seconds) - -### Added -- Better error messages for password manager auth failures -- Timeout configuration for remote SSH - -### Changed -- Improved fzf performance in large directories - ---- - -## [2.5.1] - 2025-11-01 - -### Fixed -- VS Code settings sync on first install -- Emacs package installation on Ubuntu - -### Added -- Better support for Ubuntu 24.10 - ---- - -## [2.5.0] - 2025-10-15 - -### Added -- Multi-password manager support (1Password, Bitwarden, LastPass) -- Provider auto-detection -- Fuzzy search for password managers - -### Changed -- Password manager functions refactored for extensibility - ---- - -## [2.4.0] - 2025-09-20 - -### Added -- VS Code settings sync -- Extensions management -- Remote SSH integration - -### Changed -- Theme system refactored -- Improved performance on slow networks - ---- - -## [2.3.0] - 2025-08-10 - -### Added -- Emacs support and configuration -- Emacs plugin management - -### Changed -- Install.sh restructured for multiple editors - ---- - -## [2.2.0] - 2025-07-05 - -### Added -- macOS (Homebrew) support -- Ubuntu (apt) support -- Fedora (dnf) support - -### Changed -- Major refactor for multi-OS support -- Install.sh complexity increased from 300โ†’800 lines - ---- - -## [2.1.0] - 2025-06-01 - -### Added -- Snapper integration -- Btrfs snapshot management -- Limine boot menu sync - -### Changed -- Improved Arch Linux focus - ---- - -## [2.0.0] - 2025-05-15 - -### Added -- Command palette redesign -- Improved fuzzy finding -- Multi-level workspace management - -### Changed -- Complete rewrite of tmux integration -- Zsh plugin system simplified - -### Removed -- Old prompt theme -- Legacy configuration format - ---- - -## [1.5.0] - 2025-04-01 - -### Added -- SSH session manager -- Tmux workspace templates -- Python project scaffolding - ---- - -## [1.0.0] - 2025-03-01 - -### Initial Release - -**Features:** -- Zsh configuration with custom theme -- Vim and basic Neovim config -- Tmux integration -- Git configuration -- Dotfiles sync -- Basic command aliases -- Shell analytics - ---- - -## Versioning - -This project follows [Semantic Versioning](https://semver.org/): - -- **MAJOR** - Breaking changes (v2โ†’v3) -- **MINOR** - New features, backward compatible -- **PATCH** - Bug fixes, backward compatible - ---- - -## Support - -### Current Support -- **v3.0.0+** - Arch/CachyOS only, active development -- **v2.5.x** - All platforms, maintenance only (bug fixes) -- **v2.0-v2.4** - Legacy, no support - -### Getting Older Versions - -```bash -# View all versions -git tag - -# Checkout specific version -git checkout v2.5.2 -git checkout v3.0.0 - -# Create branch from version -git checkout -b my-v2-branch v2.5.2 -``` - ---- - -## Contributing - -See [CONTRIBUTING.md](CONTRIBUTING.md) for information about contributing to this project. - ---- - -## License - -MIT License - See LICENSE file for details