62 lines
2.1 KiB
Markdown
62 lines
2.1 KiB
Markdown
|
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
|
||
|
```
|