diff options
author | Benjamin Berg <bberg@redhat.com> | 2019-12-14 10:20:39 +0100 |
---|---|---|
committer | Benjamin Berg <bberg@redhat.com> | 2020-07-14 17:42:00 +0200 |
commit | fc0aff2d99818eb0c3a13e7ff253ba8bd5e424cb (patch) | |
tree | 0aed66bb032715fa986ddfeb6ed988c6765fb750 /data | |
parent | bc8c8bf6cc90302e941e40b8094940e5e1f85214 (diff) | |
download | gnome-initial-setup-fc0aff2d99818eb0c3a13e7ff253ba8bd5e424cb.tar.gz |
data: Port to new systemd session configuration approach
Earlier we had a global definition of which services will be launched in
a GNOME session. However, the approach made it very hard to create
customized session.
With this approach, each session needs to drop-in a session
configuration file. This file closely mirrors the old .session
definition file.
Diffstat (limited to 'data')
-rw-r--r-- | data/gnome-initial-setup.session | 1 | ||||
-rw-r--r-- | data/gnome-initial-setup.session.conf | 22 | ||||
-rw-r--r-- | data/meson.build | 7 |
3 files changed, 29 insertions, 1 deletions
diff --git a/data/gnome-initial-setup.session b/data/gnome-initial-setup.session index f6d7e92..9792edb 100644 --- a/data/gnome-initial-setup.session +++ b/data/gnome-initial-setup.session @@ -1,3 +1,4 @@ [GNOME Session] Name=GNOME Initial Setup +# Keep in sync with gnome-session@gnome-initial-setup.target.d/session.conf drop-in RequiredComponents=org.gnome.Shell;gnome-initial-setup;org.gnome.SettingsDaemon.A11ySettings;org.gnome.SettingsDaemon.Color;org.gnome.SettingsDaemon.Datetime;org.gnome.SettingsDaemon.Housekeeping;org.gnome.SettingsDaemon.Keyboard;org.gnome.SettingsDaemon.MediaKeys;org.gnome.SettingsDaemon.Power;org.gnome.SettingsDaemon.PrintNotifications;org.gnome.SettingsDaemon.Rfkill;org.gnome.SettingsDaemon.ScreensaverProxy;org.gnome.SettingsDaemon.Sharing;org.gnome.SettingsDaemon.Smartcard;org.gnome.SettingsDaemon.Sound;org.gnome.SettingsDaemon.Wacom;org.gnome.SettingsDaemon.XSettings; diff --git a/data/gnome-initial-setup.session.conf b/data/gnome-initial-setup.session.conf new file mode 100644 index 0000000..c8f146a --- /dev/null +++ b/data/gnome-initial-setup.session.conf @@ -0,0 +1,22 @@ +[Unit] +# Keep in sync with gnome-initial-setup.session +Wants=org.gnome.SettingsDaemon.A11ySettings.target +Wants=org.gnome.SettingsDaemon.Color.target +Wants=org.gnome.SettingsDaemon.Datetime.target +Wants=org.gnome.SettingsDaemon.Housekeeping.target +Wants=org.gnome.SettingsDaemon.Keyboard.target +Wants=org.gnome.SettingsDaemon.MediaKeys.target +Wants=org.gnome.SettingsDaemon.Power.target +Wants=org.gnome.SettingsDaemon.PrintNotifications.target +Wants=org.gnome.SettingsDaemon.Rfkill.target +Wants=org.gnome.SettingsDaemon.ScreensaverProxy.target +Wants=org.gnome.SettingsDaemon.Sharing.target +Wants=org.gnome.SettingsDaemon.Smartcard.target +Wants=org.gnome.SettingsDaemon.Sound.target +Wants=org.gnome.SettingsDaemon.Wacom.target +Wants=org.gnome.SettingsDaemon.XSettings.target + +Requires=org.gnome.Shell.target + +# Only difference to a standard GNOME session is the gnome-initial-setup service +Requires=gnome-initial-setup.service diff --git a/data/meson.build b/data/meson.build index 19e3643..3cc0497 100644 --- a/data/meson.build +++ b/data/meson.build @@ -43,7 +43,6 @@ if enable_systemd unitconf.set('libexecdir', libexec_dir) unit_files = { - 'gnome-initial-setup.service' : [ 'gnome-session@gnome-initial-setup.target.wants/' ], 'gnome-initial-setup-first-login.service' : [ 'gnome-session.target.wants/' ], 'gnome-initial-setup-copy-worker.service' : [ 'gnome-session.target.wants/' ], 'gnome-welcome-tour.service' : [ 'gnome-session.target.wants/' ], @@ -61,6 +60,12 @@ if enable_systemd meson.add_install_script('meson-add-wants.sh', systemd_userunitdir, target, unit) endforeach endforeach + + install_data( + 'gnome-initial-setup.session.conf', + rename: join_paths('gnome-session@gnome-initial-setup.target.d', 'session.conf'), + install_dir: systemd_userunitdir + ) endif |