blob: bb99bb5bb487e5b6bf04d55ec891da911ed88689 [file] [log] [blame]
# Copyright 2022 The Fuchsia Authors.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# Common workstation product configuration. This configuration is shared by the _eng,
# _userdebug, and _user build types.
import("//products/core.gni")
core_realm_package_name = "core-workstation"
core_realm_shards += [
"//src/developer/build_info:build_info_core_shard",
"//src/developer/memory/monitor:memory_monitor_core_shard",
"//src/identity/bin/account:account-core-shard",
"//src/intl/intl_services:intl_services_shard",
"//src/media/audio/drivers/configurator:configurator_provider_shard",
"//src/power/battery-manager:battery-manager-core-shard",
"//src/session/bin/session_manager:workstation_core_shard",
"//src/ui:ui_core_shard",
]
legacy_base_package_labels += [
"//src/developer/memory/buckets:workstation_memory_monitor_config",
"//src/fonts",
"//src/fonts:open-fonts-collection",
"//src/graphics/bin/vulkan_loader",
"//src/identity/bin:minimal_auth",
# TODO(fxbug.dev/90430): Complete CFv2 migration and remove.
"//src/intl/intl_services/config:sysmgr",
"//src/intl/intl_services:pkg",
"//src/media/audio/bundles:services",
"//src/media/audio/drivers/configurator:package",
"//src/power:battery",
"//src/sys/activity",
"//src/ui:runtime_with_scene_manager",
"//src/ui/bin/brightness_manager",
"//src/ui/bin/screensaver",
"//src/ui/bin/text:text_manager",
"//src/ui/bin/shortcut",
"//third_party/openssh-portable:openssh-tools",
]
legacy_base_package_labels -= [
# TODO(fxbug.dev/90430): Complete CFv2 migration and remove.
"//src/intl/intl_services/config:sysmgr_small",
]
core_realm_shards -= [ "//src/intl/intl_services:intl_services_small_shard" ]
# Add Linux runner
legacy_base_package_labels += [
"//src/ui/wayland/bin/bridge",
"//src/virtualization/bin/vmm",
"//src/virtualization/bin/guest_manager:termina_guest_manager",
"//src/virtualization/bin/linux_runner",
"//src/virtualization/packages/termina_guest",
"//src/virtualization/bin/guest",
]
core_realm_shards += [ "//src/ui/wayland/bin/bridge:core_shard" ]
# Add Bluetooth packages
core_realm_shards +=
[ "//src/connectivity/bluetooth/profiles/bt-a2dp:eager_core_shard" ]
# To use the eager shard, cache the packages so they are available before network.
legacy_cache_package_labels += [
"//src/connectivity/bluetooth/profiles/bt-a2dp:source-only",
"//src/connectivity/bluetooth/profiles/bt-avrcp-target",
"//src/connectivity/bluetooth/profiles/bt-avrcp",
# TODO(fxbug.dev/79542): Demote to universe when sysui handles pairing+connecting
"//src/connectivity/bluetooth/tools/bt-cli",
"//src/connectivity/bluetooth/tools/bt-pairing-tool",
"//src/chromium:chrome_browser",
]
# Explicitly prefer wired networking on workstation
legacy_base_package_labels -=
[ "//src/connectivity/network/netcfg:config-default" ]
legacy_base_package_labels +=
[ "//src/connectivity/network/netcfg:config-prefer-wired" ]
# This package is only used for tests, so it must stay out of non-eng workstation products.
legacy_base_package_labels -=
[ "//src/connectivity/network:network-legacy-deprecated" ]
legacy_base_package_labels += [
"//src/experiences/bin/settings/license:license_settings",
"//src/experiences/session_shells/ermine",
"//src/media/playback/bundles:services",
"//src/media/playback/bundles:audio_consumer_config",
"//src/session",
"//src/ui/bin/terminal",
"//src/ui/scenic",
"//examples/fortune:fortune_teller",
# Starnix
"//src/proc/bundles:starnix",
]
product_bootfs_labels += [
# hide the virtual console on boot
"//products/kernel_cmdline:virtcon.hide-on-boot",
# enable boot animation
"//products/kernel_cmdline:virtcon.boot-animation--true",
# enable DPI based scale factors, 1.25x above 160 DPI, 2x above 240, etc.
"//products/kernel_cmdline:virtcon.dpi--160-240-360-480",
# enable double buffered output
"//products/kernel_cmdline:virtcon.buffer-count--2",
]
# Add bold and italic Virtcon fonts.
virtcon_bold_font_path =
"//prebuilt/third_party/fonts/robotomono/RobotoMono-Bold.ttf"
virtcon_italic_font_path =
"//prebuilt/third_party/fonts/robotomono/RobotoMono-Italic.ttf"
virtcon_bold_italic_font_path =
"//prebuilt/third_party/fonts/robotomono/RobotoMono-BoldItalic.ttf"
# Include Fxfs in the build so that it's available for enablement at runtime.
product_bootfs_labels += [
"//src/storage/fxfs",
"//src/storage/fxfs-crypt",
]
# USB peripheral drivers are not necessary for workstation.
product_bootfs_labels += [ "//bundles/drivers:usb-peripheral-stack" ]
product_bootfs_labels -= [ "//bundles/drivers:usb-peripheral-stack" ]
# Shards for media.
core_realm_shards += [
"//src/media/codec:codec_factory_shard",
"//src/media/audio/audio_core:core_shard",
]
# Enable input injection for testing through `fuchsia.input.injection.InputDeviceRegistry`.
use_modern_input_injection = true
# Create an additional (initially empty) account partition in FVM to enable
# user data protection.
include_account_in_fvm = true
# Use Flatland as the default graphics protocol in Scenic.
use_flatland_by_default = true
data_filesystem_format = "fxfs"