feat(flake): expose nixosModules.omnixy core aggregate

Extract the reusable core module list into modules/default.nix (single
source of truth) and expose it as nixosModules.omnixy / .default.
configuration.nix now imports ./modules instead of listing each module,
so this repo's hosts and external consumers share one definition. Theme
stays a settings.theme-driven import inside the aggregate. Packs,
dev-env, sops and home-manager remain injected by mkSystem.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Padreug 2026-06-28 10:22:37 +02:00
commit 1e2677c543
3 changed files with 68 additions and 22 deletions

View file

@ -311,6 +311,18 @@
# / bitcoin packs are standalone-importable — usable on a non-omni
# NixOS without enabling omni core.
nixosModules = {
# Omnixient core, as a single importable module. A consumer using
# this flake as an input builds a host with:
# omni.lib.mkSystem "myhost" {
# settings = { ... };
# modules = [ omni.nixosModules.omni ./hosts/myhost ];
# };
# mkSystem also injects packs + home-manager; this provides the
# desktop/system core (option namespace + behavior). Theme is
# chosen from settings.theme.
omni = import ./modules;
default = import ./modules;
lnbits = import ./modules/packs/lnbits.nix;
aiolabs = import ./modules/packs/aiolabs.nix;
bitcoin = import ./modules/packs/bitcoin.nix;