Personal config for an Omarchy/Hyprland desktop, managed with GNU Stow.
Each top-level directory here is a Stow package whose contents mirror the
target path under $HOME (e.g. hypr/.config/hypr/... links to
~/.config/hypr). Editing a live config file is editing this repo, since
the live path is a symlink into it.
See docs/specs/2026-06-21-dotfiles-stow-repo-design.md for the full design
rationale (what's tracked, what's excluded, and why).
sudo pacman -S stow
git clone https://github.com/E1k3n/dotfiles.git ~/Documents/dotfiles
cd ~/Documents/dotfiles
bin/link.sh --all
link.sh is safe to re-run. If a path is already populated by something else
(e.g. Omarchy's installer), the conflicting real file is moved to
~/.dotfiles-backup-<timestamp>/ -- nothing is deleted.
bin/adopt.sh <package-name> <path-under-HOME>
# e.g.
bin/adopt.sh foo .config/foo
This moves the real file/dir into the repo and replaces it with a symlink.
Only use this for paths that aren't tracked here yet -- for restoring
already-tracked paths onto a new machine, use link.sh.
-
nvim/.config/nvim/pack/github/start/copilot.vimis GitHub's official Copilot vim plugin, installed as its own git clone (per GitHub's docs), not as part of this repo. It's listed in.gitignore. On a fresh machine, reinstall it with:git clone https://github.com/github/copilot.vim.git \ ~/.config/nvim/pack/github/start/copilot.vim
bin/sync.sh "describe what changed"
Runs git add -A && git commit && git push. There's no separate "collect"
step -- the live files already are this repo's files.
test/run_all.sh