This repository contains my personal configuration files (dotfiles) managed with GNU Stow. Stow is a symlink farm manager that makes it easy to organize and deploy configuration files across different systems.
Make sure you have GNU Stow installed on your system:
# Arch Linux
sudo pacman -S stow
# Debian/Ubuntu
sudo apt install stow
# macOS
brew install stowClone this repository to your home directory:
git clone <repository-url> ~/dotfiles
cd ~/dotfilesThis repository contains the following stow packages:
- hyprland - Hyprland window manager configuration
- waybar - Waybar status bar configuration
- ssh - SSH configuration
- opendeck - OpenDeck configuration
- omarchy - Omarchy configuration
To symlink a specific package, run the following command from the ~/dotfiles directory:
# Hyprland configuration
stow hyprland
# Waybar configuration
stow waybar
# SSH configuration
stow ssh
# OpenDeck configuration
stow opendeck
# Omarchy configuration
stow omarchyTo install all packages at once:
stow */To remove symlinks for a specific package:
# Example: uninstall hyprland
stow -D hyprland
# Example: uninstall waybar
stow -D waybar
# Example: uninstall ssh
stow -D ssh
# Example: uninstall opendeck
stow -D opendeck
# Example: uninstall omarchy
stow -D omarchyTo uninstall all packages:
stow -D */If you've made changes and want to refresh the symlinks:
# Example: restow hyprland
stow -R hyprland
# Restow all packages
stow -R */To see what stow would do without actually making changes:
# Example: dry run for hyprland
stow -n hyprland
# Dry run for all packages
stow -n */dotfiles/
├── hyprland/
│ └── .config/
│ └── hypr/
├── waybar/
│ └── .config/
│ └── waybar/
├── ssh/
│ └── .ssh/
│ └── config
├── opendeck/
│ └── .config/
│ └── opendeck/
└── omarchy/
└── .config/
└── omarchy/
- Stow creates symlinks in the parent directory by default (i.e.,
~/when run from~/dotfiles) - If a file already exists at the target location, stow will report a conflict
- Always backup your existing configuration files before stowing new ones
- Use
stow -n(dry run) to preview changes before applying them
If you encounter conflicts during stowing:
- Backup existing configuration files
- Remove or rename conflicting files
- Run the stow command again
Example:
# Backup existing config
mv ~/.config/hypr ~/.config/hypr.backup
# Then stow
stow hyprlandThese are personal configuration files. Feel free to use and modify them as needed.