a dotfiles repository for Arch Linux using GNU Stow, with an automated setup script and archinstall
configuration.
dotfiles/
├── packages/ # GNU Stow-compatible directories
│ ├── qtile/.config/qtile/ # Qtile window manager config
│ ├── picom/.config/picom/ # Picom compositor config
│ ├── wezterm/.config/wezterm/ # Wezterm terminal config
│ └── ... # Add your own configs here
├── scripts/
│ └── setup.sh # Dotfiles deployment script
├── config.json # archinstall configuration
└── README.md # This documentation
Prepare installation media:
Download Arch ISO from archlinux.org
Boot into live environment
Run archinstall with preset config:
archinstall --config https://chenxing-dev.github.io/dotfiles/config.json
git clone --recurse-submodules https://github.com/chenxing-dev/dotfiles.git ~/dotfiles
cd ~/dotfiles
./scripts/setup.sh --all
Reboot.
# Deploy all configurations
./scripts/setup.sh --all
# Deploy specific packages
./scripts/setup.sh qtile wezterm yazi
mkdir -p packages/newtool/.config/newtool
cp ~/.config/newtool/config.toml packages/newtool/.config/newtool/
./scripts/setup.sh newtool
# View available backups
ls ~/dotfiles_backup
# Restore a package
cp -r ~/dotfiles_backup/qtile_20240611_1420/* ~/
For bash users:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
To update submodules to their latest commits:
git submodule update --remote --recursive
Contributions are welcome! Please follow these steps:
git checkout -b new-feature
)This project is licensed under the MIT License - see the LICENSE file for details.