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/configwas 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+lcould not be used becauselis 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