This repository contains my personal configuration files for Arch Linux with Hyprland, Zsh, Tmux, Neovim, and more.
It uses GNU Stow to manage symlinks and includes setup scripts for quick system restoration and configuration.
- 🧠 Symlink-based dotfile management via
stow - ⚡ Auto-installs Tmux plugins (TPM, Resurrect)
- 💠 Zsh configuration with
.zshrctracking - 💻 Hyprland, Waybar, and Neovim config management
- 📦 Optional Arch package restoration via
pkglist.txt
dotfiles/
├── config/ # ~/.config/* files (Hypr, Neovim, etc.)
│ └── .config/
│ ├── hypr/
│ ├── nvim/
│ └── waybar/
├── flags/ # flags for mostly native wayland
├── zsh/ # Zsh config
│ └── .zshrc
├── scripts/ # Setup scripts
│ ├── install.sh # One-time system setup
│ └── setup.sh # Safe to run any time
├── pkglist.txt # Optional list of packages
└── README.md
git clone --recursive https://github.com/grayankit/dotfiles.git ~/dotfilesUse
--recursiveif you later add submodules.
cd ~/dotfiles/scripts
./install.sh- Installs basic packages (zsh, neovim, hyprland, etc.)
- Installs packages listed in
pkglist.txt(if present)
./setup.sh- Cleans conflicting files
- Moves unmanaged configs into the dotfiles repo
- Symlinks everything via
stow - Installs Tmux plugins automatically
Automatically installs:
Located at ~/.config/tmux/plugins/ and loaded via .tmux.conf.
To dump current packages:
pacman -Qqen > pkglist.txtThis lets install.sh restore your packages on a new machine:
sudo pacman -S --needed - < pkglist.txtIf you ever need to re-stow after a wipe or config change:
cd ~/dotfiles/scripts
./setup.shQ: Why not track plugin repos directly in Git? A: To keep the repo clean and avoid embedded Git warnings. Plugins are installed via scripts.
Q: What if I want to use submodules instead?
A: You can — see git submodule add <url> and update the setup.sh.