• v4.0.1 28d95b3285

    42 released this 2026-09-30 10:35:16 +02:00 | 0 commits to main since this release

    First release of Magrathea as a standalone public repository. It replaces the
    earlier nixy-msrl projection, whose history is not carried over.

    Highlights

    • Typed options everywhere. Every value a machine consumes is a msrl.*
      option with a description; modules read them directly, with no silent
      fallbacks. A missing value fails at evaluation instead of deploying a
      placeholder.
    • Shared workstation base. homeModules.workstation bundles the shell,
      editor, Hyprland session and helper scripts; hosts add only what is theirs.
      See hosts/example.
    • Neovim through nvf only, with plugin sources pinned by commit.
    • Service helpers in lib/mkService.nix: mkProxyVhost for HTTPS reverse
      proxies and mkAcmeCert for per-certificate ACME settings.
    • New options: msrl.ssh.hosts (SSH client aliases),
      msrl.server.forgejo.trustedRunner (host-mode Actions runner on a Forgejo 12
      declared connection), plus Xournal++ in the workstation base.
    • The Guide: nix build .#guide renders the documentation with a generated
      option reference.
    • Quality gates as flake checks: format, lint (deadnix, statix),
      documentation and generated files. nix flake check runs them all.

    Breaking changes

    • programs.nixvim is gone; Neovim is configured through nvf.
    • Keys that were read with a fallback but never declared (for example
      msrl.server.vaultwarden.url) no longer exist.
    • The local AI service modules are no longer part of the public repository.
    • The workflows that regenerated the README, SCRIPTS.md and the keybindings
      page are removed; run .forgejo/scripts/check-generated.sh instead.

    Getting started

    Copy hosts/example (or hosts/example-server), set the values in its
    variables.nix, and check it with nix flake check. On a machine with limited
    memory, see docs/CONTRIBUTING.md for the bounded-memory variant.

    Downloads