summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2024-12-12 02:13:24 +0000
committerCoprDistGit <infra@openeuler.org>2024-12-12 02:13:24 +0000
commit3ab371fdf47f0429995407737f211ed907ae1867 (patch)
treeaa9bfda94dbc7e34130fe198c27a9d0633287cbe /README.md
parent53807c867af436fe10a5b04a62ac7c7e3e6ac703 (diff)
automatic import of swayopeneuler24.03_LTS
Diffstat (limited to 'README.md')
-rw-r--r--README.md61
1 files changed, 61 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..2cc9ab4
--- /dev/null
+++ b/README.md
@@ -0,0 +1,61 @@
+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
+```