- Switch nix from single-user to daemon mode (trusted-users = root live); Void socket at /var/nix/daemon-socket/socket confirmed - Fix lightdm autologin: use session-wrapper=/etc/lightdm/Xsession (Void lightdm 1.32 has no lightdm-session binary) - Fix session env: LIBGL_ALWAYS_SOFTWARE=1 via profile.d (session-env= is unsupported in this lightdm version) - GPU auto-detection at boot: VIRT→software GL, NVIDIA PRIME offload, Intel/AMD/generic→modesetting - Add nix-daemon to live runsvdir/default; remove unsupported -S mklive flag - first-login.sh: install Claude Code + nix user packages (google-chrome, spotify, discord, localsend, mission-center) + NVM/node + VS Code exts - build-live-iso.sh: write nix-packages.list from NIX_USER_PACKAGES - postinstall.sh: fix nix-daemon socket path to /var/nix/daemon-socket/socket - Dockerfile: add dconf-cli for build-time dconf compile - _inner-build-live.sh: use correct 'dconf compile' API (not 'dconf update') - .gitignore: add build/live-includes/ (generated staging tree) - docs/LIVE_ISO.md: document all findings, gotchas and architecture
20 lines
761 B
Docker
20 lines
761 B
Docker
# Container used to run void-mklive with real root.
|
|
# This avoids the user-namespace CAP_MKNOD wall (dracut needs mknod /dev/null
|
|
# inside the initramfs staging dir) and lets losetup/mount/chroot work
|
|
# unconditionally. Host stays clean — no sudo, no host package installs.
|
|
|
|
FROM debian:stable-slim
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
bash git curl ca-certificates xz-utils tar patch python3 \
|
|
mtools xorriso squashfs-tools dosfstools e2fsprogs \
|
|
kmod dconf-cli \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# xbps-static is downloaded into /cache by the host script and added to PATH
|
|
# at runtime by /work/iso/_inner-build.sh — no Void packages baked here.
|
|
|
|
WORKDIR /work
|