refactor: reorganize directory structure (variants -> hw, glue -> fleet)
- Rename variants/ to hw/ for clearer hardware module naming - Rename glue/ to fleet/ for more intuitive fleet management - Move boot/fs configuration from glue/boot.nix to separate fleet/boot.nix and fleet/fs.nix - Improve separation of concerns between boot, filesystem, and common config
This commit is contained in:
28
hw/default.nix
Normal file
28
hw/default.nix
Normal file
@@ -0,0 +1,28 @@
|
||||
# ============================================================================
|
||||
# Host Types Module
|
||||
# ============================================================================
|
||||
# This module exports all available host types as an attribute set.
|
||||
# Each type is a NixOS module (a function suitable for lib.types.submodule).
|
||||
|
||||
{ inputs }:
|
||||
let
|
||||
lib = inputs.nixpkgs.lib;
|
||||
inherit (builtins) readDir attrNames;
|
||||
inherit (lib) filterAttrs removeSuffix genAttrs;
|
||||
|
||||
files = readDir ./.;
|
||||
|
||||
# Keep only regular *.nix files except default.nix
|
||||
nixFiles = filterAttrs (
|
||||
name: type:
|
||||
type == "regular"
|
||||
&& lib.hasSuffix ".nix" name
|
||||
&& name != "default.nix"
|
||||
) files;
|
||||
|
||||
moduleNames = map (name: removeSuffix ".nix" name) (attrNames nixFiles);
|
||||
in
|
||||
# Export: { name = <module function from ./name.nix>; }
|
||||
genAttrs moduleNames (name:
|
||||
import (./. + ("/" + name + ".nix"))
|
||||
)
|
||||
Reference in New Issue
Block a user