Replace Oh My Zsh direct loading with Sheldon plugin manager

- Add Sheldon configuration in sheldon/plugins.toml
- Configure Sheldon to manage Oh My Zsh library and plugins
- Load Spaceship prompt, 14 OMZ plugins, and custom plugins via Sheldon
- Simplify zshrc by moving plugin configuration to Sheldon
- Keep OMZ compatibility variables for plugin functionality
- Improve startup performance with Sheldon's caching

Benefits:
- Faster shell startup with cached plugin loading
- Better dependency management through git submodules
- Cleaner separation of concerns (plugins.toml vs zshrc)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Jens Luedicke
2025-10-15 17:08:31 +02:00
parent 88e01e8261
commit 0db89f0991
2 changed files with 100 additions and 36 deletions

93
sheldon/plugins.toml Normal file
View File

@@ -0,0 +1,93 @@
shell = "zsh"
[templates]
defer = "{{ hooks?.pre | nl }}{% for file in files %}zsh-defer source \"{{ file }}\"\n{% endfor %}{{ hooks?.post | nl }}"
# Spaceship prompt - loaded first
[plugins.spaceship]
local = "~/.dotfiles/zsh/spaceship-prompt"
use = ["spaceship.zsh"]
apply = ["source"]
[plugins.spaceship-config]
local = "~/.dotfiles/zsh"
use = ["spaceship.zsh"]
apply = ["source"]
# Oh My Zsh library - load all lib files
[plugins.oh-my-zsh-lib]
local = "~/.dotfiles/zsh/oh-my-zsh/lib"
use = ["*.zsh"]
apply = ["source"]
# Oh My Zsh plugins
[plugins.git]
local = "~/.dotfiles/zsh/oh-my-zsh/plugins/git"
use = ["git.plugin.zsh"]
apply = ["source"]
[plugins.docker]
local = "~/.dotfiles/zsh/oh-my-zsh/plugins/docker"
use = ["*.zsh"]
apply = ["source"]
[plugins.docker-compose]
local = "~/.dotfiles/zsh/oh-my-zsh/plugins/docker-compose"
use = ["*.zsh"]
apply = ["source"]
[plugins.tmux]
local = "~/.dotfiles/zsh/oh-my-zsh/plugins/tmux"
use = ["*.zsh"]
apply = ["source"]
[plugins.z]
local = "~/.dotfiles/zsh/oh-my-zsh/plugins/z"
use = ["*.zsh"]
apply = ["source"]
[plugins.command-not-found]
local = "~/.dotfiles/zsh/oh-my-zsh/plugins/command-not-found"
use = ["*.zsh"]
apply = ["source"]
[plugins.history-substring-search]
local = "~/.dotfiles/zsh/oh-my-zsh/plugins/history-substring-search"
use = ["*.zsh"]
apply = ["source"]
[plugins.colored-man-pages]
local = "~/.dotfiles/zsh/oh-my-zsh/plugins/colored-man-pages"
use = ["*.zsh"]
apply = ["source"]
[plugins.extract]
local = "~/.dotfiles/zsh/oh-my-zsh/plugins/extract"
use = ["*.zsh"]
apply = ["source"]
[plugins.sudo]
local = "~/.dotfiles/zsh/oh-my-zsh/plugins/sudo"
use = ["*.zsh"]
apply = ["source"]
[plugins.cp]
local = "~/.dotfiles/zsh/oh-my-zsh/plugins/cp"
use = ["*.zsh"]
apply = ["source"]
[plugins.dirhistory]
local = "~/.dotfiles/zsh/oh-my-zsh/plugins/dirhistory"
use = ["*.zsh"]
apply = ["source"]
# Custom plugins (submodules)
[plugins.zsh-autosuggestions]
local = "~/.dotfiles/zsh/custom-plugins/zsh-autosuggestions"
use = ["zsh-autosuggestions.zsh"]
apply = ["source"]
[plugins.zsh-syntax-highlighting]
local = "~/.dotfiles/zsh/custom-plugins/zsh-syntax-highlighting"
use = ["zsh-syntax-highlighting.zsh"]
apply = ["source"]