Shared dotfiles for macOS and WSL/Linux with optional platform-specific integrations.
What is not in this repo:
- Sensitive keys
- projects for
tmux-sessionizeras these are machine-specific - inputs for
cht.shas these are workflow-specific, different languages for work and personal projects
- Clone this repo somewhere, eg
~/Config - Ensure
~/.sessionizer-projects,~/.chtsh-languages, and~/.chtsh-utilsare present if you use the tmux sessionizer or cheat helper - Run
./install.sh - Verify output/symlinks are correct
- Manually add env files for sensitive keys such as
~/.env
- One shared checkout is expected to work on both macOS and WSL/Linux.
- Platform-specific integrations should enable themselves only when the host OS and required tools are present.
- Missing optional tools should not break shell, tmux, or Neovim startup.
- Homebrew for shell environment setup and any Homebrew-managed tools
- Ghostty for the terminal config in
config/ghostty - Tailscale app bundle if you want the
tailscale/tsaliases - Conda if you rely on Python environments from Anaconda or Miniconda
- Xcode / SourceKit / xcodebuild.nvim if you work on Swift projects
zshandoh-my-zshtmux,fzf,eza,bat,rg, andnvimfor the main shell workflow- Optional clipboard helpers such as
wl-copy,xclip, orxsel - Optional
condaif you use Python environments there as well
install.shlinks configs into~/.config, scripts into~/.local/scripts, and shell dotfiles into$HOME.- If an existing target already exists and is not a symlink, the installer backs it up before linking the repo-managed version.