feat(flake): expose lib.mkSystem for external consumers

Surface mkSystem as a flake output and make its host resolution
non-throwing: internal hosts (this repo's hosts/<name>/) are still
imported automatically, but a consumer using OmniXY as a flake input
can now pass their own host via `modules` instead. First brick of the
dependency-model framework; the core module aggregate (nixosModules)
follows so a consumer's host can import OmniXY core.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Padreug 2026-06-28 10:15:52 +02:00
commit 8678f637db
2 changed files with 25 additions and 7 deletions

View file

@ -218,6 +218,19 @@
};
in
{
# Reusable library for external consumers. Use this flake as an
# input and build a host with the Omnixient conventions from your own
# repo, without forking:
#
# omni.lib.mkSystem "myhost" {
# settings = { ... }; # your identity (see settings.nix)
# modules = [ ./hosts/myhost ];
# };
#
# mkSystem bakes in Omnixient's nixpkgs, overlays, and inputs
# (home-manager, sops-nix, …), so you don't redeclare them.
lib.mkSystem = mkSystem;
# NixOS configurations.
#
# This public template ships the `example` host (copy-me starter) and