# Red Bear OS KDE Plasma Desktop Configuration # Build: make all CONFIG_NAME=redbear-kde # Live: make live CONFIG_NAME=redbear-kde # # KDE Plasma 6 session with Wayland compositor # Requires: D-Bus, libinput, Mesa, Qt6, KF6, KWin, plasma-workspace include = ["desktop.toml"] [general] filesystem_size = 4096 [packages] # Red Bear OS branding redbear-release = {} # ext4 filesystem support ext4d = {} # Firmware loading firmware-loader = {} # Input layer evdevd = {} udev-shim = {} # D-Bus (session + system bus) dbus = {} # Wayland protocol libwayland = {} wayland-protocols = {} # Input libxkbcommon = {} libevdev = {} libinput = {} # Seat management seatd = {} # Qt6 stack qtbase = {} qtdeclarative = {} qtsvg = {} qtwayland = {} # KF6 Frameworks — Tier 1 (no special deps) kf6-extra-cmake-modules = {} kf6-kcoreaddons = {} kf6-kwidgetsaddons = {} kf6-kconfig = {} kf6-ki18n = {} kf6-kcodecs = {} kf6-kguiaddons = {} kf6-kcolorscheme = {} kf6-kauth = {} kf6-kitemmodels = {} kf6-kitemviews = {} # KF6 Frameworks — Tier 2 kf6-karchive = {} kf6-kwindowsystem = {} kf6-knotifications = {} kf6-kjobwidgets = {} kf6-kconfigwidgets = {} # KF6 Frameworks — Tier 3 (needs D-Bus) kf6-kcrash = {} kf6-kdbusaddons = {} kf6-kglobalaccel = {} kf6-kservice = {} kf6-kpackage = {} kf6-kiconthemes = {} kf6-kxmlgui = {} kf6-ktextwidgets = {} kf6-kirigami = {} kf6-solid = {} kf6-sonnet = {} # KF6 Frameworks — Tier 4 (needs kio + kxmlgui) kf6-kio = {} kf6-kbookmarks = {} kf6-kcompletion = {} kf6-kdeclarative = {} kf6-kcmutils = {} plasma-framework = {} # KDE Plasma kwin = {} plasma-workspace = {} plasma-desktop = {} breeze = {} kde-cli-tools = {} # Graphics mesa = {} libdrm = {} # Workaround: bash fails to cross-compile bash = "ignore" # Firmware directory for AMD/Intel GPU blobs [[files]] path = "/usr/firmware/amdgpu" data = "" directory = true mode = 0o755 # ── Neutralize broken legacy scripts from upstream configs ───────── # base.toml uses "notify " which is not a keyword in the legacy # script parser. Base source package ships proper .service/.target files. [[files]] path = "/usr/lib/init.d/00_base" data = "" [[files]] path = "/usr/lib/init.d/00_drivers" data = "" [[files]] path = "/usr/lib/init.d/10_net" data = "" [[files]] path = "/usr/lib/init.d/20_orbital" data = "" [[files]] path = "/usr/lib/init.d/30_console" data = "" # ── Red Bear OS custom services ───────────────────────────────────── [[files]] path = "/usr/lib/init.d/05_firmware-loader.service" data = """ [unit] description = "Firmware loading scheme" requires_weak = [ "00_pcid-spawner.service", ] [service] cmd = "firmware-loader" type = { scheme = "firmware" } """ [[files]] path = "/usr/lib/init.d/10_evdevd.service" data = """ [unit] description = "Evdev input daemon" requires_weak = [ "00_pcid-spawner.service", ] [service] cmd = "evdevd" type = "oneshot_async" """ [[files]] path = "/usr/lib/init.d/11_udev.service" data = """ [unit] description = "udev compatibility shim" requires_weak = [ "00_pcid-spawner.service", ] [service] cmd = "udev-shim" type = { scheme = "udev" } """ [[files]] path = "/usr/lib/init.d/12_dbus.service" data = """ [unit] description = "D-Bus system bus" requires_weak = [ "00_base.target", ] [service] cmd = "dbus-daemon" args = ["--system"] type = "oneshot_async" """ [[files]] path = "/usr/lib/init.d/13_seatd.service" data = """ [unit] description = "seatd seat management daemon" requires_weak = [ "12_dbus.service", ] [service] cmd = "seatd" args = ["-l", "info"] type = "oneshot_async" """ [[files]] path = "/usr/lib/init.d/20_orbital.service" data = """ [unit] description = "Orbital display server (KDE session)" requires_weak = [ "10_net.target", "12_dbus.service", "13_seatd.service", ] [service] cmd = "orbital" args = ["orbital-kde"] envs = { VT = "3" } type = "oneshot_async" """ [[files]] path = "/usr/lib/init.d/30_console.service" data = """ [unit] description = "Console terminals" requires_weak = [ "20_orbital.service", ] [service] cmd = "getty" args = ["2"] type = "oneshot_async" """ [[files]] path = "/usr/lib/init.d/31_debug_console.service" data = """ [unit] description = "Debug console" requires_weak = [ "20_orbital.service", ] [service] cmd = "getty" args = ["/scheme/debug/no-preserve", "-J"] type = "oneshot_async" """ # KDE session launcher [[files]] path = "/usr/bin/orbital-kde" mode = 0o755 data = """ #!/usr/bin/env bash set -ex export DISPLAY="" export WAYLAND_DISPLAY=wayland-0 export XDG_RUNTIME_DIR=/tmp/run/user/0 export XDG_SESSION_TYPE=wayland export KDE_FULL_SESSION=true export XDG_CURRENT_DESKTOP=KDE export HOME=/root export LIBSEAT_BACKEND=seatd export SEATD_SOCK=/run/seatd.sock mkdir -p /tmp/run/user/0 mkdir -p /var/lib/dbus mkdir -p /run/dbus # Start D-Bus system bus (if not already running) if [ ! -S /run/dbus/system_bus_socket ]; then dbus-uuidgen --ensure dbus-daemon --system --fork fi # Start D-Bus session bus eval $(dbus-launch --sh-syntax) # Start KWin Wayland compositor kwin_wayland --replace & sleep 2 # Start Plasma Shell plasmashell & """