Personal dotfiles for zsh, niri, Neovim, zellij, yazi, alacritty, waybar, and related tools.
home/maps to$HOMEconfig/maps to${XDG_CONFIG_HOME:-$HOME/.config}scripts/install.shcreates symlinks and backs up existing files/directories intobackups/
Current tracked configs:
home/.zshrchome/.p10k.zshconfig/alacritty/alacritty.tomlconfig/niri/config.kdlconfig/nvim/init.luaconfig/nvim/nvim-pack-lock.jsonconfig/rofi/config/swaync/config/swww/config/wallust/config/waybar/config/wlogout/config/zellij/config.kdl
Install Arch Linux dependencies:
./scripts/install-deps-arch.shSet DOTFILES_SKIP_AUR=1 to skip AUR/third-party packages, and DOTFILES_SKIP_EXTERNAL=1 to skip GitHub clones for Oh My Zsh plugins/themes.
Link dotfiles:
./scripts/install.shThe script is idempotent for links it already manages. Files in home/ are linked individually. Top-level directories in config/ are linked as whole config directories, for example ~/.config/nvim -> config/nvim. If a target already exists, it is moved into backups/<timestamp>/ before the symlink is created.
docker build -f docker/arch/Dockerfile .If the default Docker bridge network is unavailable, use host networking:
docker build --network=host -f docker/arch/Dockerfile .If Docker Hub or Arch mirrors need your local proxy, pass it as build args:
docker build --network=host \
--build-arg http_proxy=http://127.0.0.1:7897 \
--build-arg https_proxy=http://127.0.0.1:7897 \
--build-arg all_proxy=socks5://127.0.0.1:7897 \
--build-arg no_proxy=localhost,127.0.0.1,::1 \
-f docker/arch/Dockerfile .The Docker image validates the Arch official repository dependencies and checks that the dotfile symlinks can be created. AUR/third-party packages such as waypaper, niriswitcher, clash-verge-rev, wallust, wlogout, and swww-git are intentionally skipped in Docker.
git init
git add .
git commit -m "Initial dotfiles"
git branch -M main
git remote add origin git@github.com:<user>/<repo>.git
git push -u origin mainReplace <user>/<repo> with your GitHub repository path.

