Commit Graph

5 Commits

Author SHA1 Message Date
mozempk
1ed3189a93 feat: bake everything into live ISO — no first-login script
Instead of downloading at first login, everything is ready at boot:

- iso/build-live-iso.sh:
  * apply-live-settings.sh XDG autostart applies theme/wallpaper/terminal
    via gsettings at first Cinnamon login (reliable vs dconf binary format)
  * /etc/environment: XDG_DATA_DIRS includes nix profile so Cinnamon menu
    shows pre-baked nix apps immediately
  * /etc/profile.d/nix-prebaked.sh: PATH setup for terminal sessions
  * first-login.sh kept at /usr/local/libexec but NOT autostarted (manual
    use for Claude/NVM installs)
  * NIX_PACKAGES_PREBAKE passed to Docker build

- iso/_inner-build-live.sh:
  * Pre-bake nix packages inside Docker before mklive.sh; copy /nix store
    into squashfs overlay; set /etc/skel/.nix-profile → store profile path
  * Cached at /cache/nix-prebake (keyed by package list md5)

- iso/Dockerfile: add rsync (needed by nix prebake)

- packages.live-desktop.list: add vscode + chromium (XBPS, no download)
2026-04-23 14:49:01 +02:00
mozempk
941f906e29 fix: Nemo terminal/keymap/vscode — alacritty default, CH+FR lock, code action
- dconf 00-cinnamon: add org.cinnamon+gnome.desktop.default-applications.terminal
  exec='alacritty' exec-arg='-e' so Nemo right-click → Open in Terminal works
- dconf locks/keyboard: lock input-sources/sources and terminal exec keys so
  csd-keyboard doesn't reset them to defaults on first session start
- build-live-iso.sh: add code-open wrapper script (/usr/local/bin/code-open)
  that finds 'code' in the live user's nix profile; add open-in-vscode
  Nemo action to /usr/share/nemo/actions/
- config/install.conf: add nixpkgs#vscode to NIX_USER_PACKAGES
- packages.live-desktop.list: add setxkbmap (needed by csd-keyboard to
  apply XKB keyboard layout)
2026-04-23 08:10:10 +02:00
mozempk
5cd9b496fd feat: live ISO — nix daemon mode, autologin fix, GPU detection, app stack
- 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
2026-04-23 07:42:35 +02:00
mozempk
6269f2f877 feat: add live desktop ISO build (stable-cinnamon Cinnamon live session) 2026-04-23 00:02:21 +02:00
mozempk
a16ac37d20 feat: initial commit — void-installer multi-profile (stable-cinnamon + mainline-niri) 2026-04-22 23:53:16 +02:00