
a dotfiles repository for Arch Linux using GNU Stow, with an automated setup script.
dotfiles/
├── packages/ # GNU Stow-compatible directories
│ ├── dmenu/ # Rofi/Fuzzel dmenu-style scripts
│ ├── niri/.config/ # Niri window manager config
│ ├── picom/.config/picom/ # Picom compositor config
│ ├── qtile/.config/qtile/ # Qtile window manager config
│ ├── waybar/.config/waybar/ # Waybar status bar config
│ ├── wezterm/.config/wezterm/ # Wezterm terminal config
│ └── ... # More packages
├── config.json # archinstall config (deprecated)
├── README.md # This documentation
└── setup # Dotfiles deployment script
Prepare installation media:
Download Arch ISO from archlinux.org
Boot into live environment
Run archinstall:
archinstall
git clone --recurse-submodules https://github.com/chenxing-dev/dotfiles.git ~/dotfiles
If you encounter bash: git: command not found, you can install Git using the following command:
pacman -S git
If you have already cloned the repository without the --recurse-submodules flag, you can initialize and update the submodules with:
cd ~/dotfiles
git submodule update --init --recursive
If you are in the region in China and encounter issues with cloning, note that the repository is mirrored on Gitee: https://gitee.com/dev-chenxing/dotfiles
Run the setup script:
List available packages with:
cd ~/dotfiles
./setup
Select the packages you want to deploy.
./setup bash code dmenu fcitx5 firefox fuzzel mako niri wallpaper waybar wezterm yazi
Reboot.
# 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.