Refactor Zsh configuration to use Antidote plugin manager with zdotdir structure #19
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This PR refactors the Zsh configuration to follow the modular structure from mattmc3/zdotdir, implementing a modern, maintainable setup using the Antidote plugin manager.
Problem
The repository previously had only a single
dot_zshenvfile without a proper$ZDOTDIRstructure, making it difficult to:Solution
Created a complete
$ZDOTDIRstructure at~/.config/zshwith:Core Configuration Files
.zshrc- Interactive shell configuration with built-in profiling support viazprofrcalias.zshenv- Environment variables, XDG directory setup, and automatic directory creation.zstyles- Centralized zstyle configuration for plugins and features.zsh_plugins.txt- Declarative plugin list for Antidote (includes syntax highlighting, autosuggestions, completions, etc.)Infrastructure
lib/antidote.zsh- Antidote plugin manager loader with automatic installationconf.d/__init__.zsh- Initial configuration module for environment setup and PATH managementfunctions/- Directory for custom Zsh functions (extensible)completions/- Directory for custom completion scripts (extensible)Documentation
dot_config/zsh/README.md- Comprehensive guide covering structure, plugin management, and usageREADME.md- Added Antidote to tooling overview and Zsh configuration sectionKey Benefits
Modularity - Configuration is organized into logical, single-purpose files rather than one monolithic file
Plugin Management - Antidote provides fast, declarative plugin loading from
.zsh_plugins.txtinstead of manual sourcingExtensibility - Easy to add new plugins, functions, and configurations without modifying core files
Performance - Includes profiling tools and follows performance best practices
Standards Compliance - Follows XDG Base Directory specification and proven Zsh community patterns
chezmoi Compatible - Works seamlessly with existing dotfile management using
dot_prefix conventionsExample Usage
Adding a plugin:
Adding custom configuration:
Profiling startup performance:
zprofrc # Starts profiled session and shows resultsTesting
The structure follows the proven pattern from mattmc3/zdotdir. All configuration files use standard Zsh syntax and are compatible with modern Zsh versions. The implementation is minimal and focused, changing only what's necessary to establish the new structure.
Migration Notes
For users applying these dotfiles:
.zsh_plugins.txtwill be loaded automatically~/.zshenvnow sources$ZDOTDIR/.zshenvfor layered configurationFixes the issue by implementing the requested zdotdir structure refactor.
Original prompt
Fixes #18
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.