# 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: []

units:
   - name: "NetworkManager"
     action: "enable"
     mandatory: false

   - name: "cups"
     action: "enable"
     mandatory: false

   - name: "avahi-daemon"
     action: "enable"
     mandatory: false

   - name: "systemd-timesyncd"
     action: "enable"
     mandatory: false

   - name: "vboxservice"
     action: "enable"
     mandatory: false

   - name: "vmtoolsd"
     action: "enable"
     mandatory: false

   - name: "vmware-vmblock-fuse"
     action: "enable"
     mandatory: false

   - name: "ananicy-cpp"
     action: "enable"
     mandatory: false

   - name: "dbus-broker"
     action: "enable"
     mandatory: false

   - name: "bpftune"
     action: "enable"
     mandatory: false

   - name: "systemd-oomd"
     action: "enable"
     mandatory: false

   - name: "irqbalance"
     action: "disable"
     mandatory: false

   - name: "preload"
     action: "enable"
     mandatory: false

   - name: "systemd-resolved"
     action: "enable"
     mandatory: false

   - name: "systemd-networkd"
     action: "enable"
     mandatory: false

   - name: "dnscrypt-proxy.service"
     action: "enable"
     mandatory: false

   - name: "ntpd"
     action: "disable"
     mandatory: false

   - name:  "bluetooth"
     action: "enable"
     mandatory: false

   - name: "reflector"
     action: "enable"
     mandatory: false

   - name: "power-profiles-daemon"
     action: "disable"
     mandatory: false

   - name: "tuned"
     action: "enable"
     mandatory: false

   - name: "tuned-ppd"
     action: "enable"
     mandatory: false

   - name: "gdm"
     action: "enable"
     mandatory: false

   - name: "lightdm"
     action: "enable"
     mandatory: false

   - name: "sddm"
     action: "enable"
     mandatory: false

   - name: "lxdm"
     action: "enable"
     mandatory: false

   - name: "ly"
     action: "enable"
     mandatory: false

   - name: "greetd"
     action: "enable"
     mandatory: false

   - name: "firewalld"
     action: "enable"
     mandatory: false

   - name: "ufw"
     action: "enable"
     mandatory: false

   - name: "zfs-import-cache"
     action: "enable"
     mandatory: false

   - name: "zfs-mount"
     action: "enable"
     mandatory: false

   - name: "zfs-import.target"
     action: "enable"
     mandatory: false

   - name: "zfs.target"
     action: "enable"
     mandatory: false

   - name: "fstrim.timer"
     action: "enable"
     mandatory: false

   - name:  "pacman-init"
     action: "disable"
     mandatory:  false

   - name: "multi-user.target"
     action: "disable"
     mandatory:  false

   - name: "graphical.target"
     action: "set-default"
     mandatory: false
