Skip to content

Repository files navigation

dotfiles

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.

demo


What's inside

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)

Modern CLI replacements

Classic Replacement
cat bat
ls eza
grep ripgrep
find fd
cd zoxide
top btop
fzf — (fuzzy finder, used throughout)

Directory structure

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)

Installation

Requires git, curl, and zsh (all shell config is zsh-specific).

git clone https://github.com/iatosh/dotfiles.git ~/dotfiles
cd ~/dotfiles
./install.sh

The 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

Secrets

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.


License

MIT

About

My dotfiles for macOS and Linux, with Homebrew or mise for package management and an interactive Gum installer.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Contributors

Languages