Managing configuration files doesn’t have to be messy. With GNU Stow, I can keep my dotfiles organized, modular, and easy to update—perfect for anyone running Arch Linux on a server (or desktop).
- An Arch Linux installation
gitandstowinstalled- Sudo or root privileges
To get started, make sure these tools are present:
sudo pacman -S git stowPick a spot for my dotfiles (I prefer them in ~/Projects/dotfiles). Clone my repository:
git clone https://github.com/vijayboopathy/dotfiles.git ~/dotfiles
cd ~/dotfilesFor Stow to work its magic, put each application's config files in their own folder. Here’s a sample layout:
dotfiles/
├── bash/
│ ├── .bashrc
│ └── .bash_profile
├── i3/
│ └── .config/i3/config
├── kitty/
│ └── .config/kitty/kitty.conf
├── rofi/
│ └── .config/rofi/config.rasi
├── i3blocks/
│ └── .config/i3blocks/i3blocks.conf
└── ...
Pro tip: If things aren’t structured like this in the repo, take a minute to tidy them up. It’ll save a lot of headaches later.
Now, it’s time to put Stow to work. From inside the dotfiles directory, run the following for each group of configuration files:
cd ~/dotfiles
stow bash
stow i3
stow kitty
stow rofi
stow i3blocksStow will create symlinks in my home directory. For example, ~/dotfiles/bash/.bashrc becomes ~/.bashrc. If I want to remove a set of links, just run:
stow -D i3To get the most out of my configurations, I’ll want to have the following packages installed:
sudo pacman -S i3-wm i3blocks rofi kitty feh pipewire pipewire-pulse \
maim xclip xdotool nvidia-utils htop ttf-nerd-fonts-symbolsFor AUR packages, I’ll need an AUR helper. If I don’t have paru yet:
yay -S paruA few things might need my attention after everything’s in place:
- Make sure scripts are executable:
chmod +x ~/.config/scripts/*
- Double-check hardware-specific settings (for example, NVIDIA configs if I monitor my GPU)
- Verify wallpaper files such as
~/Pictures/Wallpapers/wallpaper1.jpgexist - If I use custom audio setups, list devices:
pactl list sinks
- Edit or tweak scripts in
~/.config/scripts/for my resource monitors or audio preferences
Whenever I update my dotfiles and want to pull in the changes:
cd ~/dotfiles
git pull
stow - Always back up my original configs before I start. It’s easy:
cp ~/.bashrc ~/.bashrc.backup cp -r ~/.config ~/.config.backup
- Got conflicts with existing symlinks? Use
stow -vfor detailed output and guidance.
With my configurations sorted, managing and syncing settings across machines is much less stressful. Stow helps keep things tidy and portable, and my future self will thank myself.