Skip to main content

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

The install.sh script handles everything: installing dependencies and applying your dotfiles.
1

Clone the repository

First, clone the Config-Sway repository to your local machine:
2

Run the installation script

Make the script executable and run it:
The script will:
  • Install all required packages using pacman
  • Automatically run update.sh to apply your dotfiles
  • Create backups of your existing configuration
3

Verify the installation

Check that Sway and related tools are installed:

Method 2: Manual Installation

If you prefer manual control or are not on Arch Linux, follow these steps:
1

Install required packages

On Arch Linux, install all dependencies:
For other distributions, install the equivalent packages using your package manager.
2

Clone the repository

3

Apply the dotfiles

What Gets Installed

Core Packages

The install.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

The update.sh script synchronizes your dotfiles from the repository to your home directory.

What update.sh Does

1

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/
Backups can consume significant disk space. Clean up old backups periodically to free up space.
2

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)
Managed files are tracked in:
  • ~/.config/.config-sway-managed
  • ~/.home-dots-managed
3

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.
4

Reloads services

After syncing, the script automatically:
  • Restarts xdg-desktop-portal and xdg-desktop-portal-wlr
  • Reloads Sway configuration (swaymsg reload)
  • Restarts Waybar

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:

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:
Test your configuration after updates. If something breaks, restore from your backup before the next update.sh run (which creates a new backup).

Troubleshooting

Flameshot Not Working

If Flameshot screenshots fail under Wayland:
1

Verify portal configuration

Check that ~/.config/xdg-desktop-portal/sway-portals.conf exists and contains:
2

Restart portal services

3

Check Sway configuration

Verify your Sway config imports environment variables correctly and includes the floating rule for Flameshot.

rsync Missing

If you get an error about rsync:
Then run ./update.sh again.

Permission Denied

If scripts aren’t executable:

Sway Won’t Start

1

Check Sway logs

2

Verify GPU drivers

Ensure your GPU drivers support Wayland:
3

Test with default config

Package Installation Fails

If pacman 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:
You can add these to ~/.config/environment.d/sway.conf (one per line, format: KEY=value) or to your shell profile.