# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
#
# Systemd units manipulation.
#
# This module can perform actions using systemd units, 
# (for example, enabling, disabling, or masking services, sockets, paths, etc.)
---

# There is one key for this module: *units*. Its value is a list of entries.
# Each entry has three keys:
#   - *name* is the (string) name of the systemd unit that is being changed.
#     Use quotes. You can use any valid systemd unit here (for example, 
#     "NetworkManager.service", "cups.socket", "lightdm", "gdm", etc.)
#   - *action* is the (string) action that you want to perform over the unit
#     (for example, "enable", "disable", "mask", "unmask", etc.). Please 
#     ensure that the action can actually run under chroot (otherwise it is
#     pointless)      
#   - *mandatory* is a boolean option, which states whether the change
#     must be done successfully. If systemd reports an error while changing
#     a mandatory entry, the installation will fail. When mandatory is false,
#     errors for that systemd unit are ignored. If mandatory
#     is not specified, the default is false.
#
# The order of operations is the same as the order in which entries
# appear in the list

# # This example enables NetworkManager.service (and fails if it can't),
# # disables cups.socket (and ignores failure). Then it enables the
# # graphical target (e.g. so that SDDM runs for login), and
# # finally masks pacman-init (an ArchLinux-only service).
# #
# units:
#   - name: "NetworkManager.service"
#     action: "enable" 
#     mandatory: true
#
#   - name: "cups.socket"
#     action: "disable" 
#     # The property "mandatory" is taken to be false by default here
#     # because it is not specified
#
#   - name: "graphical.target"
#     action: "enable" 
#     # The property "mandatory" is taken to be false by default here
#     # because it is not specified
#
#   - name: "pacman-init.service"
#     action: "mask"
#     # The property "mandatory" is taken to be false by default here
#     # because it is not specified

# By default, no changes are made.
units: []
