Personal configuration for an Arch Linux desktop running Omarchy (Hyprland), managed with GNU Stow for clean, reversible symlinks.
Coming soon.
| Package | What it is | Installs to |
|---|---|---|
zsh |
Zsh config (secrets stay in ~/.zshrc.local) |
~/.zshrc |
starship |
Starship prompt | ~/.config/starship.toml |
omarchy |
Omarchy desktop shell — bar (shell.json), menus, spotlight, lock & boot screen designs |
~/.config/omarchy/ (selected files) |
hypr |
Hyprland on Omarchy 4 — Lua configs, shaders, scripts | ~/.config/hypr |
bin |
Custom scripts (launchers, media control, wallpapers…) | ~/.local/bin/ |
nvim |
Neovim | ~/.config/nvim |
qutebrowser |
Qutebrowser incl. bookmarks and greasemonkey scripts | ~/.config/qutebrowser |
waybar |
Waybar config and variants | ~/.config/waybar, ~/.local/share/waybar |
yazi |
Yazi file manager + Catppuccin flavor | ~/.config/yazi |
rofi / tofi |
Launchers used by the bin scripts |
~/.config/rofi, ~/.config/tofi |
ghostty / alacritty |
Terminal configs | ~/.config/ghostty, ~/.config/alacritty |
tmux |
Tmux | ~/.config/tmux |
mpv / mpd / btop |
Media players and system monitor | ~/.config/{mpv,mpd,btop} |
git |
Git identity and aliases | ~/.config/git/config |
Each package directory mirrors $HOME:
qutebrowser/
└── .config/
└── qutebrowser/
All package names below are the real Arch packages (resolved via pacman -Qo on a live Omarchy install).
1. Deploying the dotfiles:
sudo pacman -S --needed git stow2. Programs the packages configure — install only what you plan to stow:
| Package | Program | Arch package |
|---|---|---|
zsh |
Zsh shell | zsh |
starship |
Starship prompt | starship |
hypr |
Hyprland + Omarchy 4 Lua config | ships with Omarchy |
nvim |
Neovim | neovim |
qutebrowser |
Qutebrowser browser | qutebrowser |
yazi |
Yazi file manager | yazi |
rofi / tofi |
App launchers | rofi, tofi |
ghostty / alacritty |
Terminals | ghostty, alacritty |
tmux |
Terminal multiplexer | tmux |
mpv / mpd |
Media player / music daemon | mpv, mpd |
btop |
System monitor | btop |
waybar |
Status bar — legacy, Omarchy 4 uses its own shell | waybar (optional) |
One-shot for everything except waybar:
sudo pacman -S --needed zsh starship neovim qutebrowser yazi rofi tofi \
ghostty alacritty tmux mpv mpd btop3. Dependencies used by the bin/ scripts:
sudo pacman -S --needed libnotify mpc libpulse brightnessctl imagemagick \
slurp jq wl-clipboard fdA few older scripts additionally use pywal, swww, swappy, hyprshade,
dunst, or light (AUR) — install those only if you run the specific
scripts that need them.
git clone https://github.com/manish0467/dotfiles.git ~/dotfiles
cd ~/dotfiles
# stow only what you need…
stow -t ~ zsh starship
# …or everything at once
stow -t ~ bin hypr nvim qutebrowser waybar yazi zsh starship omarchy \
ghostty alacritty rofi tofi mpv tmux mpd git btopTo remove a package's symlinks:
stow -D -t ~ <package>Important
Always stow from the repo root targeting ~ (stow -t ~ <pkg>). Never stow -t ~/.config — that creates misplaced symlinks like ~/.config/.config.
- Secrets are never committed.
zsh/.zshrcsources~/.zshrc.local(untracked,chmod 600) for API keys. - Omarchy 4 uses Lua configs. In
hypr/, the.luafiles are live; the remaining.conffiles (hyprsunset,xdph,hypridle) are read by their own daemons. - Theme switches and GUI settings dirty the repo — Omarchy writes through the symlinks (e.g.
shell.json, terminal colors). Commit the churn when it suits you;*.bak*files are gitignored. - A few files contain machine-specific paths (e.g.
mpd/mpd.conf) — adjust after cloning on other machines. - Preview changes safely with a dry run:
stow -n -v -t ~ <package>.
MIT — do what you like, attribution appreciated.