Files
dotfiles/modules/example.nix
alexion 451c02f798 Build the Skeleton and a minimal neogaia Host
Stand up the walking skeleton the rest of the laptop MVI extends and
re-verifies against: the whole neogaia Host evaluates and its system
toplevel builds (nix flake check green).

- flake.nix: hand-rolled flake (no flake-parts). Base nixos-unstable, plus
  nixpkgs-unstable and nixos-25.05 for the per-package unstable/stable
  overlays, home-manager (nixpkgs followed), and chaotic-nyx (deliberately
  not following our nixpkgs, to keep its binary cache usable). checks build
  each Host toplevel.
- lib/: trimmed helper lib — the Auto-loader (recursive .nix discovery, no
  null-placeholder hack), the host-builder, and the script-from-file helper.
  Deps inherited explicitly; no with lib.my, no nixosModules output.
- system/: shared base config — the unstable/stable overlays, the user
  option (defaults to alexion, in wheel, drives system + home-manager user
  in lockstep), flakes, git, and home-manager as a NixOS module.
- modules/example.nix: Auto-loader / Enable-convention reference Module,
  inert until enabled.
- hosts/neogaia/: minimal laptop Host — placeholder filesystems, bootloader,
  and hardware profile.
- CLAUDE.md: project agent instructions with a Gotchas section (nix on the
  CachyOS dev host, the chaotic overlay/cache behaviour, the forge CLI).
2026-07-19 07:57:21 -04:00

15 lines
508 B
Nix

{ config, lib, ... }:
# The Auto-loader reference example. Every real Module copies this shape: it is
# imported unconditionally but its body stays inert until a Host sets the
# `enable` flag, so each Host reads as a checklist of `enable = true` lines.
let
cfg = config.modules.example;
in
{
options.modules.example.enable = lib.mkEnableOption "the Auto-loader reference example Module";
config = lib.mkIf cfg.enable {
environment.etc."skeleton-example".text = "This Module is enabled.\n";
};
}