feat(systemd): Add support for including systemd units

This also gets rid of `files` module dependency & exposes this function better to the users.

Related issue:
https://github.com/ublue-os/bling/issues/143
This commit is contained in:
fiftydinar 2024-02-25 14:01:16 +01:00
parent fec6a76116
commit b965a31853
3 changed files with 29 additions and 5 deletions

View file

@ -1,5 +1,14 @@
# `systemd`
The `systemd` module streamlines the management of systemd units during image building. Units are divided into `system` and `user` categories, with `system` units managed directly using `systemctl` and `user` units using `systemctl --global`. You can specify which units to enable/disable or unmask/mask under each category.
The `systemd` module streamlines the inclusion & management of systemd units during image building. Units are divided into `system` and `user` categories, with `system` units managed directly using `systemctl` and `user` units using `systemctl --global`. You can specify which units to enable/disable or unmask/mask under each category.
Supported operations are [enabling](https://www.freedesktop.org/software/systemd/man/latest/systemctl.html#enable%20UNIT%E2%80%A6), [disabling](https://www.freedesktop.org/software/systemd/man/latest/systemctl.html#disable%20UNIT%E2%80%A6), [masking](https://www.freedesktop.org/software/systemd/man/latest/systemctl.html#mask%20UNIT%E2%80%A6%E2%80%A6) and [unmasking](https://www.freedesktop.org/software/systemd/man/latest/systemctl.html#unmask%20UNIT%E2%80%A6).
You can also include your systemd units to be copied into system directories into these locations,
depending if your unit is `system` or `user` based:
`config/systemd/system`
`config/systemd/user`
Those units are then copied into these folders (depending on unit base):
`/usr/lib/systemd/system`
`/usr/lib/systemd/user`
Supported management operations are [enabling](https://www.freedesktop.org/software/systemd/man/latest/systemctl.html#enable%20UNIT%E2%80%A6), [disabling](https://www.freedesktop.org/software/systemd/man/latest/systemctl.html#disable%20UNIT%E2%80%A6), [masking](https://www.freedesktop.org/software/systemd/man/latest/systemctl.html#mask%20UNIT%E2%80%A6%E2%80%A6) and [unmasking](https://www.freedesktop.org/software/systemd/man/latest/systemctl.html#unmask%20UNIT%E2%80%A6).