Files
vasilito 61e1a1335c Migrate all init scripts from legacy format to .service TOML units
Convert 14 config files from the legacy init script format (plain-text
commands) to the systemd-style TOML .service format. The init daemon
supports both formats; this eliminates the legacy path entirely so that
all services use the richer, more structured TOML unit format.

Key changes per config:
- base.toml: split 00_base into 00_base.service (tmpdir) + 00_sudo.service
  (sudo daemon); remove redundant 00_drivers and 10_net (handled by
  existing .service files from the base recipe)
- minimal.toml: split 30_console into 29_activate_console.service +
  30_console.service + 31_debug_console.service
- desktop-minimal.toml: convert 20_display and 30_console to .service,
  add 29_activate_console and 31_debug_console overrides
- x11.toml: convert 10_dbus, 10_xenv, 20_orbital, 30_console
- redoxer.toml: split 10_net into 10_smolnetd.service + 10_dhcpd.service,
  convert 30_redoxer
- redbear-legacy-*.toml: update override references to .service paths
- acid.toml, auto-test.toml, os-test.toml, sys-build.toml: direct conversions
2026-04-25 12:20:09 +01:00

205 lines
3.9 KiB
TOML

# X11 compatibility-only configuration
# This profile is not a primary desktop path.
# Red Bear OS treats KWin Wayland as the production compositor/session path.
# X exists only for compatibility and legacy app/runtime surfaces.
include = ["desktop.toml"]
# Override the default settings here
# General settings
[general]
# Filesystem size in MiB
filesystem_size = 2048
# Package settings
[packages]
adwaita-icon-theme = {}
dbus = {}
gtk3 = {}
mate-common = {}
mesa-demos-x11 = {}
#webkitgtk3 = {} # not compiling
#xfce4-panel = {}
#xfwm4 = {}
x11-full = {}
zenity = {}
[[files]]
path = "/usr/lib/init.d/10_dbus.service"
data = """
[unit]
description = "D-Bus system bus (X11)"
requires_weak = ["00_base.target"]
[service]
cmd = "bash"
args = ["/usr/bin/start-dbus.sh"]
type = "oneshot_async"
"""
[[files]]
path = "/usr/bin/start-dbus.sh"
mode = 0o755
data = """
#!/usr/bin/env bash
export DBUS_DEBUG_OUTPUT=1
#export DBUS_VERBOSE=1
#export G_DBUS_DEBUG=all
mkdir -p /var/lib/dbus
dbus-uuidgen --ensure
mkdir -p /run/dbus
rm -f /run/dbus/pid
dbus-daemon --system
"""
[[files]]
path = "/usr/lib/init.d/10_xenv.service"
data = """
[unit]
description = "Compile glib schemas"
requires_weak = ["00_base.target"]
[service]
cmd = "glib-compile-schemas"
args = ["/usr/share/glib-2.0/schemas/"]
type = "oneshot"
"""
# Overridden to launch X instead of orblogin
[[files]]
path = "/usr/lib/init.d/20_orbital.service"
data = """
[unit]
description = "Orbital display (X11)"
requires_weak = ["10_dbus.service", "10_xenv.service"]
[service]
cmd = "orbital"
args = ["orbital-x11"]
envs = { BROWSER = "/bin/netsurf-fb", VT = "3" }
type = "oneshot_async"
"""
[[files]]
path = "/usr/bin/orbital-x11"
mode = 0o755
data = """
#!/usr/bin/env bash
set -ex
# for ice authority and pixbuf
export HOME=/home/root
export XDG_DATA_DIRS=/usr/share
# Generate config file
WIDTH="$((0x$(grep FRAMEBUFFER_WIDTH /scheme/sys/env | cut -d '=' -f 2)))"
HEIGHT="$((0x$(grep FRAMEBUFFER_HEIGHT /scheme/sys/env | cut -d '=' -f 2)))"
mkdir -p /usr/share/X11/xorg.conf.d
cat > /usr/share/X11/xorg.conf.d/orbital.conf <<EOF
Section "Device"
Identifier "Configured Video Device"
Driver "dummy"
VideoRam 256000
EndSection
Section "Monitor"
Identifier "Configured Monitor"
HorizSync 5.0 - 1000.0
VertRefresh 5.0 - 200.0
$(cvt "${WIDTH}" "${HEIGHT}")
EndSection
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "${WIDTH}x${HEIGHT}"
EndSubSection
EndSection
EOF
# Launch X11 and session on display 0
export DISPLAY=":0"
X "${DISPLAY}" &
sleep 1
exec dbus-launch --exit-with-x11 orbital-x11-session
"""
[[files]]
path = "/usr/bin/orbital-x11-session"
mode = 0o755
data = """
#!/usr/bin/env bash
set -ex
xterm&
sleep 1
gdk-pixbuf-query-loaders --update-cache
mate-session&
"""
# Override console config to set DISPLAY=:0
[[files]]
path = "/usr/lib/init.d/30_console.service"
data = """
[unit]
description = "Console terminals (X11)"
requires_weak = ["20_orbital.service"]
[service]
cmd = "getty"
args = ["2"]
envs = { DISPLAY = ":0" }
type = "oneshot_async"
respawn = true
"""
[[files]]
path = "/usr/lib/init.d/31_debug_console.service"
data = """
[unit]
description = "Debug console (X11)"
requires_weak = ["30_console.service"]
[service]
cmd = "getty"
args = ["/scheme/debug/no-preserve", "-J"]
envs = { DISPLAY = ":0" }
type = "oneshot_async"
respawn = true
"""
[[files]]
path = "/usr/bin/browser"
mode = 0o755
data = """
#!/usr/bin/env bash
set -ex
#export G_MAIN_POLL_DEBUG=1
export G_MESSAGES_DEBUG=all
#export GDK_DEBUG=all
#export GTK_DEBUG=all
export LD_DEBUG=all
#export WEBKIT_DEBUG=all
exec MiniBrowser --dark-mode --ignore-tls-errors "about:blank"
"""
[users.messagebus]
uid = 100
gid = 100
name = "messagebus"
home = "/nonexistent"
shell = "/usr/bin/false"