A minimal, XDG-compliant ZSH setup for Linux. The shell config lives under ~/.config/zsh (ZDOTDIR), the prompt is Oh-My-Posh, and everything is symlinked with GNU Stow.
mkdir ~/dotfiles
cd ~/dotfiles && git clone https://github.com/tonytech83/dotfiles.git .
./setup.shsetup.sh detects your package manager (apt, dnf, yum, pacman, zypper, apk), installs the tools below, stows the configs, points ZDOTDIR at ~/.config/zsh via /etc/zsh/zshenv, and sets ZSH as the default shell. Details are logged to installation.log.
Installed tools: zsh, stow, eza, fzf, fd, zoxide, oh-my-posh.
.
├── .config
│ ├── alacritty # terminal emulator
│ ├── eza # ls replacement theme
│ ├── fastfetch # system info
│ ├── kitty # terminal emulato
│ ├── nvim # Neovim (AstroNvim)
│ ├── oh-my-posh # prompt themes
│ ├── rofi # app launcher + themes
│ └── zsh # .zshrc, .zshenv, aliases, bindings, fzf, plugins, prompt
├── .nanorc # nano config
└── setup.sh # installer
Managed by a tiny loader in zsh/plugins.zsh (git clone + source, no framework). Run zplugin-update to update them.
| Plugin | Purpose |
|---|---|
| zsh-autosuggestions | Fish-like suggestions from history |
| zsh-history-substring-search | Substring history search on ↑/↓ |
| fzf-tab | fzf-powered tab completion |
| fast-syntax-highlighting | Command-line syntax highlighting |
| Key | Action |
|---|---|
Ctrl+→ / Ctrl+← |
Move forward / backward one word |
Ctrl+F |
fzf file picker (no hidden files) |
Ctrl+\ |
Toggle autosuggestions |
↑ / ↓ |
History substring search |
The prompt uses Oh-My-Posh with oh-my-posh/code.toml. A Nerd Font is required for icons to render correctly.
MIT — see LICENSE.