# Empty USE to allow the same form below in real assignments
USE=""

USE="${USE} -cros_disks -cros_p2p -cros_host"
USE="${USE} -debugd -opengl -opengles -wimax -cellular -bluetooth -tpm -vpn"
USE="${USE} -evdev_gestures -xkbcommon -frecon"

# Used by virtual/chromeos-bootcomplete and virtual/update-policy to pull the
# right implementation.
USE="${USE} cros_embedded"

# target-lakitu features that are enabled
USE="${USE} pam"

# Kernel specific use flags.
USE="${USE} kernel_sources kernel-5_15"

# Disable some kernel options.
USE="${USE} -fbconsole -firmware_install -mbim -vlan"

# This is needed to make chromeos-base/autotest-all compile
USE="${USE} chromeless_tty chromeless_tests -X -drm -vaapi"

# Stateful partition does not need to be encrypted in lakitu.
USE="${USE} -encrypted_stateful"

# Disable the feature that chromeos-base/update_engine uses to determine
# whether to pull in chromeos-base/power_manager.
USE="${USE} -power_management"

# Disable shill, Lakitu uses systemd-networkd instead.
USE="${USE} -shill"

# Disable acpid, Lakitu uses systemd-logind instead.
USE="${USE} -acpi"

# Disable the ACPI power supply driver.
USE="${USE} -acpi_ac"

# Disable cups, which expects certain features from upstart that we don't want;
# and we don't need printing support anyway.
USE="${USE} -cups"

# Enable AppArmor support.  The USE flag causes certain packages to be built
# with AppArmor support, and certain other packages to be installed on the base
# image.  The kernel feature must be enabled separately by adding
# "security=apparmor" to the kernel commandline.
USE="${USE} apparmor"

# Enable seccomp support.
USE="${USE} seccomp"

# Disable agetty on tty2
TTY_CONSOLE=""
USE="${USE} -tty_console_tty2"

# Enable feature: systemd
USE="${USE} systemd -syslog audit"

# Development devices do not have a HWID baked in.
USE="${USE} hwid_override"

# Enable UEFI bootloaders.
USE="${USE} uefi_bootloaders"

# Disable the symlink to avoid conflict when building sys-apps/baselayout.
SYMLINK_LIB="no"

# vmlinuz is not installed by default anymore and this can break AutoUpdates.
# So explicitly require installing it. (b/77477921).
USE="${USE} include_vmlinuz"

# Enable kernel module signing
USE="${USE} module_sign lockdown nofragments"

# Disable unibuild on this legacy board. This is only for existing (as of Jan 2019)
# boards as all new boards must be unibuild enabled moving forward. Do not copy this
# to new boards as it will be rejected. See
# https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-config/README.md
# for further details about chromeos-config, which is the required entry point for
# unified builds.
USE="${USE} -unibuild"

# Enable kdump feature.
USE="${USE} lakitu_kdump kexec_file"

# Disable audio support as it's not available & doesn't make sense.
USE="${USE} -alsa -cras -midi"

# Enable passwdqc for CIS password policy.
USE="${USE} passwdqc"

# Enable VT console
USE="${USE} vtconsole"
