Skip to content
@fixpoint-linux

Fixpoint Linux

The enemy is not nondeterminism or complexity, the enemy is illegibility. A system nobody can understand, predict, or query. Lets bring back legible systems.

Fixpoint Linux

A Zen Garden, not a Factory.

fixpointlinux.org


Fixpoint Linux is a small, contained and bootstrapped userland that sits on top of the linux kernel, you could call it a distro but the goal is much smaller than that. The goal is explicitly NOT to try to shoehorn a huge package database into this and make a general purpose system. This system is for people who want something small and understandable, without dependency anxiety. Like a little Zen Garden to work in instead of a sprawling factory floor.

Everything is configured in Dhall, a strongly-typed, total configuration language. Configs are typechecked, normalized, and terminate — they are programs, not property files.

The name comes from the two ideas at the heart of the stack:

  • Fixpoint — the least-fixed-point semantics of Datalog; a system is its own build artifact, deterministic and reproducible.
  • DAFSA — the minimal acyclic finite-state automaton that backs the data stores: compact, exact, and fast.

Time Travel

Fixpoint Linux is content-addressed by construction and time-travelling by default. Every change is one atomic snapshot of the whole system; the timeline is the system's complete history. You can inspect any past state with an as-of query, roll back to any earlier point, and undo the rollback itself — without ever losing the record of what happened.

  • Roll-forward rollbacks — the timeline is an append-only ledger; going back is recorded as history and always undoable.
  • Boot rollback — if the latest activation fails to come up, init rolls back to the last good state automatically.
  • Generation GC — keep N bootable generations, prune the rest, done.

The stack

  • Dhall: All configuration is written in Dhall, a strongly typed (and normalizing) language, eliminating an entire class of bugs and obscurity immediately.
  • Datalog: The primary query language for the entire system, everything is data, and datalog is the way to discover and manipulate it.
  • Dafsa: The main data structure that the entire stack stands on, a perfectly minimal, elegant way of storing strings (and everything can be a string... if you want it to be)
  • Shen: The scripting layer, lisp - of course, but with sequent calculus so that we can keep the strong typing story.

Design principles

  • Small, Understandable parts. — No individual piece shall reach 100k lines of code.
  • Config is typed code. — Dhall gives typechecking, imports, and reusable functions — and it always terminates.
  • Logic is declarative. — Datalog + DAFSA keep the data plane compact and exact.
  • Self-hosting. — Tools build themselves (see dhake's self-hosting buildfile).
  • Small and legible. — Each component fits in your head; none pulls in a framework or a heavyweight runtime.
  • Time travel/Snapshots. — Redo/Undo is a first class ability in EVERY tool, including the system itself.

The repos

Everything lives in small, independently-buildable repositories:

  • fixpoint-linux — the system itself: Dhall-specified, self-hosting, time-travelling.
  • fxstore — the content-addressed build store.
  • fx-init — the running system: PID1, activation, control plane.
  • dhake — the build tool; builds itself.
  • dhall-c — the config interpreter.
  • datalog-dafsa — the query engine.
  • dafsa — the data structure it all stands on.
  • compendium — the DNS server, one small binary.
  • visage — email aliases & forwarding, one small binary.
  • shen-meta — the scripting layer.
  • palisade — the sandbox core underneath.

License

Per-repository; see each component for details.


Popular repositories Loading

  1. shen-meta shen-meta Public

    C 1

  2. dhall-c dhall-c Public

    A subset of the Dhall configuration language, written in pure C (cosmocc APE). Typecheck, normalize, and serialize to JSON/TOML/YAML. Live in-browser WASM demo: https://jmars.github.io/dhall-c/

    C 1

  3. compendium compendium Public

    An authoritative, records-only UDP DNS server configured by typechecked Dhall, compiled to a portable APE binary with cosmocc (and to wasm for the browser). Live demo: https://jmars.github.io/compe…

    Zig 1

  4. visage visage Public

    A SimpleLogin-style email alias/forward service: typechecked Dhall config, datalog-dafsa storage, SMTP-in-C, STARTTLS/STARTTLS-verify + DKIM, durable outbound queue. One portable cosmocc APE (and w…

    C 1

  5. datalog-dafsa datalog-dafsa Public

    DAFSA-backed Datalog engine in C: load facts, compile Datalog to a VM, materialize + serve from mmap snapshots. Docs: https://fixpointlinux.org/datalog-dafsa/

    C 1

  6. dafsa dafsa Public

    Zig

Repositories

Showing 10 of 18 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…