What I learned building a from-scratch distro with a Nix-like, content-addressed package manager
Disclosure up front: this is my own project (Svitlo), I am not here to
advertise, the post is about the engineering.
I spent the last few months building an independent distro from source,
no fork, no upstream package base. A few things I learned that might be
useful to others doing source-based or reproducible work:
- A content-addressed store (path = hash of all build inputs) makes
multiple versions coexist for free, and rollback becomes trivial
because a generation is just a symlink set.
- Hashing the canonical form of a recipe, not its raw text, avoids
rebuilding the world on cosmetic edits. This mattered more than I
expected for build times.
- Going pure Wayland from the base (no X11, XWayland optional) removed a
whole hidden dependency layer that general-purpose distros pull in by
default.
- Building COSMIC fully from source surfaced a lot of assumptions about
what is normally shipped as a blob.
Happy to go into the package manager design (promin) or the toolchain
bootstrap if anyone is interested. It is beta and single-maintainer, so
I am mostly after critique of the approach.
Source: https://github.com/SvitloLinux
Posted Jun 27, 2026, 7:34 AM UTC