- .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.
title_bar.show_sign_in disables the sign in button, which is shown by
default and serves no purpose without a Zed account.
Panel layout: project, outline, collaboration and git panels dock to
the right; the agent panel docks left.
Icon theme changed from Zed (Default) to Material Icon Theme. Note
this requires the Material Icon Theme extension to be installed;
Zed falls back to the default icons if it is absent, so a fresh
machine linking these dotfiles will not error.
Brings the Zed configuration under dotfiles management, stowed to
~/.config/zed alongside the other home_config packages.
settings.json carries the Australis Dark theme selection, the
PFI-LiteLLM OpenAI-compatible provider, explicit default_model and
inline_assistant_model assignments, and the edit-prediction endpoint.
The model assignments are required: the Inline Assistant, git commit
message generation, and thread summaries each resolve their model
independently of the agent panel's UI selection, and report the
provider as unconfigured when neither setting is present.
themes/australis-dark.json is generated from the palette spec in the
australis repo (zed/build-theme.py there is the source of truth).
The prompts/ directory is deliberately left untracked. It is an LMDB
database with an active lock file, not user-authored content.
No credentials are included. The provider API key lives in the system
keychain, which is where Zed stores it; endpoint addresses are
internal RFC 1918.
The tracked theme had drifted from the palette source. Cursor and
selection values did not match wezterm/config.lua in the australis
repo, which the port is derived from:
cursor-color #51e08a -> #6388d8 (wezterm cursor_bg)
cursor-text absent -> #373b46 (wezterm cursor_fg)
selection-foreground #cce7ec -> #373b46 (wezterm selection_fg)
Neither #51e08a nor #cce7ec appears in the wezterm cursor or
selection configuration. All sixteen palette entries were already
correct and are unchanged; the drift was confined to cursor and
selection. Also restores the header comment citing the upstream
source.
Forces the web pilot to VictorMono NF for ligatures. Resolves against
the client device's installed fonts (no @font-face serving like the
ttyd seat), so each device needs the font installed locally.
The repo carried an empty home_config/ghostty/config; the actual working
config (Victor Mono Nerd Font, australis theme, ssh-terminfo, scrollback,
macOS option-as-alt) lived only on the machine. Pull it in so stow links
the real config instead of blanking it.
- 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
- link-dotfiles.ps1: stow-equivalent for Windows using junctions/symlinks
(no admin required), idempotent with .bak backups and -DryRun
- lk-installers/install-ohmyposh.ps1: winget-based install with fallback
- README.md: document Linux/macOS (stow) and Windows flows
- .gitignore: resolve leftover merge conflict markers, ignore *.bak
- ohmyposh/lkraven.toml: oh-my-posh v3 auto-migrated this on load (same
theme, upgraded schema)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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