Skip to content

Fedora Sway Workstation – Baseline Runbook

Overview

This document records the initial setup and customization of my Fedora Sway workstation. The goal is to maintain an immutable memory of what was configured, why it was done, and where the configuration lives, so the system can be reproduced or debugged in the future without relying on memory.

This setup uses the Fedora Sway Spin as the operating system.


Goals

  • Fast, minimal Wayland-based workflow
  • Keyboard-driven window management
  • External monitor–first workflow (lid closed)
  • Consistent dark theme across applications
  • Explicit, documented configuration (no magic)

System Information

Operating System

  • OS: Fedora Linux
  • Variant: Fedora Sway Spin
  • Display server: Wayland
  • Window manager / compositor: Sway

Display Outputs

Identified using:

swaymsg -t get_outputs
  • External monitor: VGA-1 (Dell IN1930)
  • Laptop panel: eDP-1 (Samsung Display)

Configuration Locations

Component Path
Sway config ~/.config/sway/config
Foot terminal ~/.config/foot/foot.ini
Waybar ~/.config/waybar/
GTK settings ~/.config/gtk-3.0/settings.ini
Wallpapers ~/Pictures/Wallpapers/
Screenshots ~/Pictures/Screenshots/

Note: ~/.config/sway/config was created by copying the system default from /etc/sway/config.


Installed Core Packages

Window Manager / Utilities

sudo dnf install -y swaybg swaylock

Terminal

sudo dnf install -y foot

File Manager

sudo dnf install -y thunar

Screenshot Tools (Wayland)

sudo dnf install -y grim slurp wl-clipboard

GTK Theming

sudo dnf install -y \
  gtk3 \
  adw-gtk3-theme \
  papirus-icon-theme

GTK Theme Configuration

Applied Theme

  • GTK theme: adw-gtk3-dark
  • Icon theme: Papirus-Dark
  • Mode: Dark

Applied using:

gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
gsettings set org.gnome.desktop.interface gtk-theme 'adw-gtk3-dark'
gsettings set org.gnome.desktop.interface icon-theme 'Papirus-Dark'

GTK Settings File

File: ~/.config/gtk-3.0/settings.ini

[Settings]
gtk-theme-name=adw-gtk3-dark
gtk-icon-theme-name=Papirus-Dark
gtk-application-prefer-dark-theme=true

Terminal (foot) Configuration

Font

  • Font: JetBrains Mono
  • Scaling: Dynamic via shortcuts

Font scaling shortcuts:

  • Increase: Ctrl + Shift + +
  • Decrease: Ctrl + Shift + -
  • Reset: Ctrl + Shift + 0

Transparency

Applied via Sway window rules (see below).


File Manager (Thunar)

  • Thunar follows GTK theme automatically
  • No per-app theme configuration inside Thunar
  • Transparency applied via Sway window rules

Window Transparency (Sway)

Transparency is handled at the compositor level, not via GTK.

Applied rules:

for_window [app_id="foot"] opacity 0.94
for_window [app_id="thunar"] opacity 0.94
for_window [!focused] opacity 0.96

Keybindings

Core Applications

set $term foot
set $filemanager thunar

bindsym $mod+Return exec $term
bindsym $mod+e exec $filemanager

Screenshots

bindsym Print exec grim ~/Pictures/Screenshots/$(date +'%Y-%m-%d_%H-%M-%S').png | wl-copy
bindsym $mod+Shift+s exec slurp | grim -g - ~/Pictures/Screenshots/$(date +'%Y-%m-%d_%H-%M-%S').png | wl-copy

Lock Screen

bindsym $mod+Alt+l exec swaylock -f -i ~/Pictures/Wallpapers/lock.png

Note: Mod+Shift+l could not be used because l is mapped to move right in vim-style navigation.


Display Management

Manual Control

  • Disable laptop panel:
swaymsg output eDP-1 disable
  • Enable external monitor:
swaymsg output VGA-1 enable

Lid Close Behavior

Configured to ignore lid close events so the external monitor continues working when the laptop lid is closed.


Issues Encountered & Resolutions

1. No ~/.config/sway/ directory

Cause: Fedora Sway uses system config by default Fix:

mkdir -p ~/.config/sway
cp /etc/sway/config ~/.config/sway/config

2. Keybinding not working

Cause: Extra whitespace in bindsym line Fix: Remove extra spaces; Sway config is whitespace-sensitive


3. Duplicate keybinding warning

Cause: l is mapped as “right” in vim-style movement Fix: Changed lock shortcut to Mod + Alt + L


Notes

  • Sway does not manage application themes
  • GTK theming applies globally to GTK apps
  • Transparency is compositor-controlled
  • This setup favors explicit configuration over automation

Change Log

  • Initial Fedora Sway baseline documented