# Systemd services manipulation. # # This module can enable services and targets for systemd # (if packaging doesn't already do that). It can calso # disable services (but not targets). # # First, services are enabled; then targets; then services # are disabled -- this order of operations is fixed. --- # There are three configuration keys for this module: # *services*, *targets* and *disable*. The value of each # key is a list of entries. Each entry has two keys: # - *name* is the (string) name of the service or target that is being # changed. Use quotes. Don't include ".target" or ".service" # in the name. # - *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 entry (service or target) are ignored. If mandatory # is not specified, the default is false. # # An entry may also be given as a single string, which is then # interpreted as the name of the service. In this case, mandatory # is also set to the default of false. # # Use [] to express an empty list. # # This example enables NetworkManager (and fails if it can't), # # disables cups (and ignores failure). Then it enables the # # graphical target (e.g. so that SDDM runs for login), and # # finally disables pacman-init (an ArchLinux-only service). # # # # Enables .service # services: # - name: "NetworkManager" # mandatory: true # - name: "cups" # mandatory: false # # # Enables .target # targets: # - name: "graphical" # mandatory: true # # # Disables .service # disable: # - name: "pacman-init" # mandatory: false # # # Disables .target # # .. this shows how to use just the name # disable-targets: # - graphical # # # Masks (stronger version of disable). This section # # is unusual because you **must** include the suffix # # (e.g. ".service") as part of the name, so, e.g. to mask # # NetworkManager (rather than just disable it) you must # # specify "NetworkManager.service" as name. # mask: # - name: "NetworkManager.service" # - mandatory: true # By default, no changes are made. services: [] targets: [] disable: [] disable-targets: [] mask: []