- .zshrc: gate bun/grok blocks on dir existence; use $BUN_INSTALL for
completions path (was hardcoded /home/lkraven); drop dead
lk-tools/fzf path entry
- zellij: remove autogenerated banner referencing a Linux backup path
- aider.conf.yml: trim to active settings (was 459-line sample dump)
erdtree (erd) replaces GNU tree as the tree-style directory lister. It uses
a parallel walker (the `ignore` crate, one thread per core) where GNU tree is
strictly serial. Benchmarked over 658k entries under ~/development, best-of-3,
warm cache, plain output, hidden included, gitignore off:
erd (16 threads) 2.35s
GNU tree 2.1.0 4.22s (1.8x slower)
erd (1 thread) 4.97s (so ~2.1x thread scaling)
eza --tree 15.87s (6.8x slower)
Three changes:
- home_config/erdtree/.erdtree.toml — erd ships as a disk-usage tool, so its
stock defaults are root-at-bottom, size-sorted, with a du column. The
top-level table overrides that to behave like GNU tree; `erd -c du` keeps
the original behaviour and `erd -c all` disables the gitignore/hidden
filtering. Stowed to ~/.config/erdtree.
- home_root/.zshrc — `alias tree='erd'`, plus ~/.zfunc prepended to fpath for
the generated completion. The fpath line goes before the primary compinit
at the top of the file rather than adding a third compinit call after it.
- lk-installers/install-apps — erd is now a runtime assumption of the
dotfiles (the alias depends on it), so a fresh box must get it: brew on
macOS, cargo on Linux (not packaged in Debian apt). The zsh completion is
generated per installed version rather than tracked, matching how the other
generated completions in this repo are handled.
Caveat worth knowing: erd respects .gitignore by default, which GNU tree does
not. `-i` disables it, `-.` shows hidden files.
- setopt interactive_comments: inline `#` comments at the prompt, so
pasted commands with comment tails don't error (matches script mode)
- bun: completions + BUN_INSTALL bin on PATH (installer-appended)
- grok: bin on PATH + zsh completions fpath (installer-appended)
Fold macinstaller + install-apt-pkgs + install-tools + install-zellij into a
single host-aware lk-installers/install-apps (macOS->Homebrew, bootstrapping
Homebrew if absent; Linux->apt + upstream installers). Installs the tools the
configs assume (bat, fd, fzf, zoxide, zellij, nvim, btop, htop, tldr) plus the
fzf-git.sh helper and fzf shell integration; idempotent.
link-dotfiles gains --apps to install then link in one shot. .zshrc drops the
redundant brew/system zsh-autosuggestions source (zinit already loads it),
fixing the missing-file error on a fresh box. README documents the new flow.
- zsh prompt: replace oh-my-posh with powerlevel10k via zinit, with the
instant-prompt preamble near the top of .zshrc for fast startup
- remove thefuck/thefk entirely: .zshrc aliases, install-thefk,
home_config/thefuck, and its .stow-global-ignore entry
- link-dotfiles: one-shot host-aware bootstrap — detect macOS vs Linux,
install GNU stow if missing (brew / apt/dnf/pacman), then stow both trees
- retire oh-my-posh: delete the bash + pwsh installers and
home_config/ohmyposh (starship covers PowerShell separately)
- README: document the new bootstrap and prompt setup
Okay, let me try to figure out how to approach this. The user wants to replace Tmux with Zellij in their dotfiles setup. First, I need to look at all the files provided and see where Tmux is mentioned or configured.
Starting with `.gitignore`, there's an entry for `.config/tmux/plugins`. Since they're removing Tmux, that line should be deleted so those directories aren't ignored anymore once removed.
Next, looking into `home_root/.zshrc`, I notice several sections related to Tmux. There's a block checking if the user is in a Tmux session and automatically starting it if not. That whole conditional block needs to be removed because Zellij won't use that logic. Also, there are parts about setting up Tmux Plugin Manager (TPM) with Git clones. Those lines should go too.
The `home_config/tmux` directory contains the actual Tmux configuration files like `tmux.conf`, so those can be deleted entirely since they're no longer needed. Similarly, `.tmux.conf` in `home_root/` is another config file for Tmux and should also be removed.
In the installers folder, there's an `install-tmux-plugins` script. Since Zellij doesn't use TPM, this script isn't necessary anymore and can be deleted or replaced with a Zellij installer.
Now, adding Zellij support: I need to create a new installation script in `lk-installers/`, maybe called `install-zellij`. This script should handle installing Zellij via Cargo (Rust's package manager) since that's the common method. If Cargo isn't available, it might try using apt-get as a fallback.
I also have to ensure that any references to Tmux in other files are removed. For example, aliases or environment variables related to Tmux should be checked and eliminated if present. However, looking at the provided `.zshrc`, most of the Tmux-related code was already isolated in the sections I mentioned earlier.
Another consideration is whether there's a Zellij configuration file needed. The user might want to set up their own config, but since they didn't provide one yet, maybe just note that creating a `~/.config/zellij/config.toml` could be next step, but it's beyond the current scope unless instructed otherwise.
Finally, updating any dependencies or other scripts like `link-dotfiles` if necessary. Since Tmux configs are being removed, ensuring those aren't linked anymore is important, but since we're deleting the files themselves, that might not be needed immediately.
Putting all this together: remove all Tmux-related config files and references in `.zshrc`, delete the installer script for Tmux plugins, add a new Zellij installer, and adjust any other dependencies. The commit message should reflect replacing Tmux with Zellij.
</think>
chore: replace tmux configuration with zellij setup