redox/config/x11.toml
bjorn3 474729b4f2 Specify dependencies between init scripts
This aims to reproduce the current execution order of init scripts, not
to provide the minimal set of dependencies. That can be implemented
later.
2026-02-25 23:01:26 +01:00

156 lines
2.8 KiB
TOML

# X11 configuration
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 = {}
#xfce4-panel = {}
#xfwm4 = {}
x11-full = {}
zenity = {}
[[files]]
path = "/usr/lib/init.d/10_dbus"
data = """
requires_weak 10_net
bash /usr/bin/start-dbus.sh
"""
[[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"
data = """
requires_weak 10_net
glib-compile-schemas /usr/share/glib-2.0/schemas/
"""
# Overridden to launch X instead of orblogin
[[files]]
path = "/usr/lib/init.d/20_orbital"
data = """
requires_weak 10_dbus 10_xenv
notify audiod
nowait BROWSER=/bin/netsurf-fb VT=3 orbital orbital-x11
"""
[[files]]
path = "/usr/bin/orbital-x11"
mode = 0o755
data = """
#!/usr/bin/env bash
set -ex
# 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
mate-session&
"""
# Override console config to set DISPLAY=:0
[[files]]
path = "/usr/lib/init.d/30_console"
data = """
requires_weak 20_orbital
nowait DISPLAY=:0 getty 2
nowait DISPLAY=:0 getty /scheme/debug/no-preserve -J
"""
[[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"