Prerequisites
Before installing Config-Sway, ensure you have:Config-Sway is designed for Arch Linux. The
install.sh script uses pacman for package management. If you’re on another distribution, you’ll need to manually install the required packages using your package manager.Required Software
- Arch Linux (or Arch-based distribution)
- Git (to clone the repository)
- sudo privileges (for installing system packages)
- rsync (installed automatically by the script)
System Requirements
- A system capable of running Wayland compositors
- GPU drivers with Wayland support
- At least 2GB of free disk space for packages and configuration files
Installation Methods
Method 1: Automated Installation (Recommended)
Theinstall.sh script handles everything: installing dependencies and applying your dotfiles.
Run the installation script
Make the script executable and run it:The script will:
- Install all required packages using
pacman - Automatically run
update.shto apply your dotfiles - Create backups of your existing configuration
Method 2: Manual Installation
If you prefer manual control or are not on Arch Linux, follow these steps:Install required packages
On Arch Linux, install all dependencies:For other distributions, install the equivalent packages using your package manager.
What Gets Installed
Core Packages
Theinstall.sh script installs the following packages:
Understanding install.sh
The installation script is straightforward and safe:The
--needed flag prevents reinstallation of already-installed packages, making the script safe to run multiple times.Applying Configuration with update.sh
Theupdate.sh script synchronizes your dotfiles from the repository to your home directory.
What update.sh Does
Creates automatic backups
Before making any changes,
update.sh backs up your existing configuration:~/.config→~/.config.bak-YYYYMMDD-HHMMSS/- Home dotfiles →
~/home-dots.bak-YYYYMMDD-HHMMSS/
Syncs managed configuration files
The script uses
rsync --delete to synchronize:./.config/→~/.config/(only top-level directories managed by the repo)./home/→~/(only first-level files managed by the repo)
~/.config/.config-sway-managed~/.home-dots-managed
Removes deleted files
If you’ve removed files from the repository,
update.sh removes them from your system too—but only for files it manages. Your other configurations remain untouched.Running update.sh
Use
--no-backup only if you’re certain you don’t need to revert changes. This is useful after you’ve verified that the configuration works correctly.Repository Structure
Understand what gets synchronized to your system:| Repository Path | System Destination | Contents |
|---|---|---|
./.config/ | ~/.config/ | Sway, Waybar, Rofi, Kitty, Neovim configs |
./home/ | ~/ | Top-level dotfiles (e.g., .zshrc) |
./.config/themes/<theme>/ | ~/.config/themes/<theme>/ | Theme resources (colors, wallpapers, styles) |
Configuration Files Included
- Sway: Window manager configuration, keybindings, autostart
- Waybar: Status bar configuration and styling
- Rofi: Application launcher and custom menus
- Kitty: Terminal emulator configuration
- Mako: Notification daemon settings
- Theme system: Unified theming for all components
Backups
Automatic Backups
By default,update.sh creates timestamped backups:
Restoring from Backup
If you need to revert your configuration:Troubleshooting
Flameshot Not Working
If Flameshot screenshots fail under Wayland:Verify portal configuration
Check that
~/.config/xdg-desktop-portal/sway-portals.conf exists and contains:rsync Missing
If you get an error about rsync:./update.sh again.
Permission Denied
If scripts aren’t executable:Sway Won’t Start
Package Installation Fails
Ifpacman fails to install packages:
Next Steps
Now that you’ve installed Config-Sway, learn how to use it:Quick Start Guide
Get Sway running and learn essential keybindings to navigate your new desktop environment.
Environment Variables
For optimal Wayland compatibility, set these environment variables before starting Sway:~/.config/environment.d/sway.conf (one per line, format: KEY=value) or to your shell profile.