About
Why this shape
- Chimera Linux’s own userland is BSD (
chimerautils), on top of the Linux kernel — the “hybrid” is real, not just a name. dinithandles init, with per-package<pkg>-dinitsubpackages (greetd-dinit,udiskie-dinit,networkmanager-dinit, …). Not every service self-enables on install —dbusandeloginddo,polkit,networkmanager,seatd,rtkitandsyslog-ngdon’t, so the installer’s Services checklist enables the ones actually wanted.- Waybar, not yambar, on the sway variant — ported from an already-working sway config after yambar showed real bugs on actual hardware (a hardcoded battery name, unreliable refresh, the wireless module going blank).
- A second variant, niri, uses Utumno
(Quickshell) as the whole shell, driven through
qsd77. Both are packaged here, and
Quickshell itself is rebuilt as
quickshell-h77with its Hyprland QML module turned back on — cports builds it off, and Utumno’s bar won’t load without it. - No greeter, by design: a plain
gettyprompt into a shell that execs Sway (or niri) via.profile, matching Void’s and Chimera’s own convention.anon/chimeraandroot/chimeraare Chimera’s own shipped defaults, left untouched. - h77-welcome is a
dialog(1)TUI, this project’s equivalent of d77void’s GTKd77-welcome— it reuses thedialogdependency the installer already needs instead of adding a second GUI toolkit.
Layout
vendor/chimera-live/ vendored fork of chimera-linux/chimera-live
(mklive.sh), patched with "sway" and
"niri" cases sharing one package list
vendor/chimera-install-scripts/ vendored, patched chimera-installer:
Groups + Services checklists, Partition +
Filesystems, Network (nmtui) and Keymap
pkg/h77-dots/ general app dotfiles (/etc/skel),
h77-update, os-release identity
pkg/h77-sway-dots/ sway/waybar/swaylock/swaync dotfiles
pkg/h77-niri-dots/ niri config: Utumno autostart, qsd77 binds
pkg/utumno/ Utumno (Quickshell shell)
pkg/quickshell-h77/ Quickshell with its Hyprland module enabled
pkg/qsd77/ qsd77 (Go CLI for Utumno's IPC)
pkg/h77-welcome/ dialog(1) welcome/installer helper
pkg/h77-installer/ thin wrapper around the patched installer
pkg/h77-install-scripts/ cports package for the patched installer
pkg/mocinha/ Mocinha GTK3 installer (experimental)
pkg/h77-mocinha/ Mocinha's manifest for this live
iso/mklive-d77.sh builds the "sway" or "niri" live ISO
iso/fetch-pkgs.sh fetches CI's already-built packages
container/ Containerfile(s) for both build stages
build.sh one command, whole pipeline
Build
Two containers, in order: cbuild builds every pkg/* into real .apk
files (it refuses to run as root); the ISO container then consumes those
and runs mklive.sh (needs root, for mount(8)).
./build.sh # packages once, then BOTH ISOs
./build.sh sway # packages + sway ISO only
./build.sh niri # packages + niri ISO only
Packages are only rebuilt when they have to be: if CI’s latest h77-pkgs
release was built from the same pkg/ tree, build.sh downloads it
instead (PKGS=fetch or PKGS=local forces one or the other).
Or, on a Chimera/hybrid-d77 host already, skip the containers and run
doas ./iso/mklive-d77.sh [niri] directly once cbuild-out/hybrid/ is
populated — either build the packages yourself via cbuild, or fetch
CI’s already-built ones with iso/fetch-pkgs.sh.
See the project’s own README for the full, step-by-step build instructions.