Fedora package documentation
Configuration profiles
The Sway package in Fedora defers most of the dependencies and the config
file ownership to the sway-config-*
subpackages. This allows us to ship
different configuration profiles with different sets of runtime dependencies.
This also allows anyone to create a package with their preferred system-wide
configuration defaults and use it instead of the default Fedora profiles.
The profiles currently defined in the sway
source package are the following:
- sway-config-upstream - the upstream configuration. The only permitted modifications to the config file are adjustments for dependencies currently unavailable in Fedora.
- sway-config-minimal - minimal configuration with any optional dependencies omitted. Suitable for headless servers, containers and buildroot usage.
The config packages are mutually exclusive, and one of these must always be installed. The one selected by default is sway-config-upstream. At any moment, you can switch the installed configuration with one of the following commands:
dnf swap sway-config sway-config-upstream
dnf swap sway-config sway-config-minimal
# for a third-party configuration profile:
dnf swap sway-config sway-config-custom
The command will replace the default /etc/sway/config
file and apply the new
set of dependencies. Packages unused by the new profile will be autoremoved.
Custom profile example
An example spec header for a custom configuration profile:
Name: sway-config-custom
Version: 1.0
Release: 1%{?dist}
Summary: Custom configuration for Sway
BuildArch: noarch
Requires: sway >= 1.7
Provides: sway-config = %{version}-%{release}
Conflicts: sway-config
# common dependencies
# ...
# profile dependencies
Requires: waybar
%files
%config(noreplace) %{_sysconfdir}/sway/config
# Session file also belongs to the configuration subpackage;
# Otherwise we won't be able to add a wrapper script or set additional properties
%{_datadir}/wayland-sessions/sway.desktop