A clean, modern Zsh setup with Oh My Zsh and Starship prompt, tailored for developers.
Supports Linux (openSUSE Tumbleweed / Ubuntu) and WSL.
- Shell: Zsh + Oh My Zsh
- Prompt: Starship
- Plugins:
zsh-autosuggestions,zsh-syntax-highlighting,zsh-completions - Modern CLI Tools:
- Development Managers:
nvm(Node),pyenv(Python),uv(Python),rustup(Rust) - Containers: Podman, Buildah, Distrobox, Docker (on Native Linux)
Clone the repository to your preferred location (e.g., ~/Projects/dotfiles):
git clone git://github.com/kayaman/dotfiles.git ~/Projects/dotfiles
cd ~/Projects/dotfilesInstalls the full suite of CLI tools, dev environments, and container engines (Podman & Docker).
chmod +x install.sh
./install.shA slimmer installation for WSL environments (e.g., Ubuntu/Debian on WSL). Skips desktop-specific components and container daemons.
chmod +x wsl/install.sh
./wsl/install.shdotfiles/
├── install.sh # Main installer for Native Linux (openSUSE/Ubuntu)
├── wsl/
│ └── install.sh # Dedicated installer for WSL
├── stow/ # Stow packages for symlinking
│ ├── zsh/ # .zshrc, .aliases, .functions, .path
│ ├── git/ # .gitconfig
│ ├── starship/ # starship.toml
│ ├── ripgrep/ # ripgrep config
│ ├── kitty/ # kitty.conf
│ └── ghostty/ # ghostty config
├── snippets/ # Additional shell scripts auto-sourced by .zshrc
├── scripts/ # Setup scripts
└── README.md
- Snippets: Add any
.shfile to thesnippets/directory, and it will be automatically sourced by.zshrc. - Aliases: Edit
stow/zsh/.aliasesfor your custom command shortcuts. - Functions: Add reusable functions to
stow/zsh/.functions. - Configuration & Secrets: Copy
dotfiles.toml.exampletodotfiles.tomlto manage your Git identity, API tokens, and feature toggles:Advanced: For encrypted secrets, createcp dotfiles.toml.example dotfiles.toml # Edit dotfiles.toml with your favorite editordotfiles.sops.tomland encrypt it using SOPS. If present, it will take precedence and securely decrypt values on-the-fly. Values in the[secrets]section are automatically exported as environment variables. - Environment: Use
.envor.env.sh(ignored by git) in your home directory for machine-specific secrets and tokens not managed via SOPS.
- Restart your terminal or run
exec zsh. - Configure your favorite terminal emulator to use a Nerd Font (e.g., JetBrains Mono Nerd Font) to correctly render Starship prompt symbols.
- Configure your Git user and GPG signing preferences by running:
./scripts/setup-git.sh