omnixient/modules/default.nix
Padreug 1e2677c543 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>
2026-06-28 10:22:37 +02:00

48 lines
1.4 KiB
Nix

# Omnixient core module aggregate.
#
# The reusable Omnixient module set as a single importable module, used from
# one source of truth in two places:
# - configuration.nix imports it for this repo's own hosts;
# - it's exposed as `nixosModules.omni` (flake.nix) so an external
# consumer can `imports = [ omni.nixosModules.omni ]` from their
# own flake without forking.
#
# Deliberately NOT here:
# - modules/packs and modules/dev-env — injected separately by
# lib/mksystem.nix (packs unconditionally, dev-env opt-in);
# - hardware-configuration.nix — per-host;
# - the sops-nix / home-manager modules — injected by mkSystem.
#
# The active theme is selected from `settings.theme` (a specialArg
# provided by mkSystem), matching the prior configuration.nix behavior.
{
imports = [
./lib.nix
./core.nix
./colors.nix
./boot.nix
./security.nix
./secrets.nix
./fastfetch.nix
./walker.nix
./scripts.nix
./menus.nix
./desktop/hyprland.nix
./packages.nix
./development.nix
./mcp.nix
./users.nix
./services.nix
./hardware
# Theme: import the colorscheme module named by settings.theme. Kept
# as a settings-driven dynamic import (rather than importing all 12
# and guarding each) so the closure stays minimal.
(
{ settings, ... }:
{
imports = [ ./themes/${settings.theme}.nix ];
}
)
];
}