Moved to new phase

This commit is contained in:
2026-03-20 09:45:20 +01:00
parent 31e2574e18
commit d6ea38db14
9 changed files with 521 additions and 19 deletions

View File

@@ -1,27 +1,28 @@
# ============================================================================
# DarkForge Linux — User Shell Profile (~/.zprofile)
# ============================================================================
# Sourced on login to zsh. Auto-starts PipeWire and dwl on tty1.
# This file is installed to /home/danny/.zprofile during system installation.
# Sourced on login to zsh. Auto-starts the full desktop session on tty1:
# D-Bus user session → PipeWire audio → polkit agent → dwl compositor
# ============================================================================
# --- Environment variables for Wayland + NVIDIA ----------------------------
# --- XDG directories --------------------------------------------------------
export XDG_SESSION_TYPE=wayland
export XDG_RUNTIME_DIR="/run/user/$(id -u)"
export XDG_CONFIG_HOME="${HOME}/.config"
export XDG_CACHE_HOME="${HOME}/.cache"
export XDG_DATA_HOME="${HOME}/.local/share"
export XDG_STATE_HOME="${HOME}/.local/state"
export XDG_CURRENT_DESKTOP=dwl
# NVIDIA Wayland-specific environment
# --- NVIDIA Wayland environment ---------------------------------------------
export GBM_BACKEND=nvidia-drm
export __GLX_VENDOR_LIBRARY_NAME=nvidia
export WLR_NO_HARDWARE_CURSORS=1
# WLR_NO_HARDWARE_CURSORS may be needed for wlroots + nvidia
# Remove if hardware cursors work correctly
export LIBVA_DRIVER_NAME=nvidia
# Hardware video decoding (Firefox, mpv)
export MOZ_ENABLE_WAYLAND=1
# Firefox: use Wayland backend
# Firefox: use native Wayland backend
export QT_QPA_PLATFORM=wayland
# Qt applications: use Wayland backend
@@ -29,6 +30,10 @@ export QT_QPA_PLATFORM=wayland
export SDL_VIDEODRIVER=wayland
# SDL2 games: prefer Wayland (falls back to X11 via XWayland)
# --- Seatd environment (seat manager for wlroots) --------------------------
export LIBSEAT_BACKEND=seatd
# Tell wlroots/dwl to use seatd for device access
# --- Ensure XDG runtime directory exists ------------------------------------
if [ ! -d "${XDG_RUNTIME_DIR}" ]; then
mkdir -p "${XDG_RUNTIME_DIR}"
@@ -37,12 +42,25 @@ fi
# --- Auto-start Wayland compositor on tty1 ----------------------------------
if [ -z "${WAYLAND_DISPLAY}" ] && [ "$(tty)" = "/dev/tty1" ]; then
# Start user D-Bus session (required by PipeWire, polkit, desktop apps)
if [ -z "${DBUS_SESSION_BUS_ADDRESS}" ]; then
eval "$(dbus-launch --sh-syntax)"
export DBUS_SESSION_BUS_ADDRESS
fi
# Start PipeWire audio stack (runs as user, not system service)
pipewire &
sleep 0.2
pipewire-pulse &
# PulseAudio compatibility server — needed by Firefox, Steam, most apps
wireplumber &
# Session manager — handles audio routing and device management
# Start polkit authentication agent (for GUI password prompts)
lxqt-policykit-agent &>/dev/null &
# Start the dwl Wayland compositor
# dwl will set WAYLAND_DISPLAY and become the session leader
exec dwl -s "foot" 2>/dev/null
# -s "startup_cmd" runs a command after dwl starts (opens a terminal)
exec dwl 2>/dev/null
fi