My personal configuration files for macOS and Linux development environments, with an interactive installer powered by Gum.
Note: This is a personal setup tailored to my workflow — not a plug-and-play solution. Feel free to browse and borrow whatever looks useful.
| Area | Tool | Notes |
|---|---|---|
| Shell | Zsh + Zinit | Modular config under zsh/.zsh/ |
| Prompt | Powerlevel10k | |
| Editor | Neovim | Managed as a submodule, based on Kickstart.nvim |
| Terminal | WezTerm | |
| Multiplexer | Tmux | Plugin manager via TPM |
| Key remapping | Karabiner-Elements | macOS only |
| Window manager | Aerospace | macOS only |
| Git UI | Lazygit | |
| File manager | Yazi | |
| Package manager | Homebrew | Single Brewfile with on_macos/on_linux blocks |
| Runtime manager | mise | Used on shared Linux servers (no root needed) |
| Classic | Replacement |
|---|---|
cat |
bat |
ls |
eza |
grep |
ripgrep |
find |
fd |
cd |
zoxide |
top |
btop |
fzf |
— (fuzzy finder, used throughout) |
dotfiles/
├── assets/ # README images/gifs
├── bin/ # Utility scripts (macos/defaults.sh, …)
├── pkg/ # Brewfile, install.conf, update-brew.sh (mise tool list, exclusions)
├── claude/ # Claude Code configuration
├── config/ # XDG configs → ~/.config/ (tmux, wezterm, zed, yazi, …)
├── git/ # .gitconfig
├── karabiner/ # Karabiner-Elements (macOS)
├── nvim/ # Neovim config (git submodule)
├── p10k/ # Powerlevel10k config
├── zsh/ # .zshrc + modular config under zsh/.zsh/
└── install.sh # Interactive installer (no stow required)
Requires git, curl, and zsh (all shell config is zsh-specific).
git clone https://github.com/iatosh/dotfiles.git ~/dotfiles
cd ~/dotfiles
./install.shThe installer will:
- Ask which packages to symlink into
~/~/.config - On macOS or a private Linux server: install packages via Homebrew
- On a shared Linux server (no root): install CLI tools via mise into
~/.local/bin
Keep private keys and environment variables out of the repo:
# ~/dotfiles/.secrets (gitignored)
export GITHUB_TOKEN="..."This file is sourced automatically by zsh/.zsh/env.zsh if it exists.
MIT
