- Update flake.nix with 25.11 release and core inputs - Add dedicated modules for audio (Pipewire), bluetooth, and networking - Update GEMINI.md with the new Modular Merging Architecture blueprint - Configure graphical installer ISO and test VM outputs
69 lines
1.9 KiB
Nix
69 lines
1.9 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
|
|
{
|
|
options.nomarchy = {
|
|
# System-level options
|
|
system = {
|
|
enable = mkEnableOption "Nomarchy core system features";
|
|
|
|
# Allow users to add extra system packages
|
|
extraPackages = mkOption {
|
|
type = types.listOf types.package;
|
|
default = [];
|
|
description = "Additional system-wide packages to install";
|
|
};
|
|
|
|
# Allow overriding system defaults
|
|
hostname = mkOption {
|
|
type = types.str;
|
|
default = "nomarchy";
|
|
description = "The system hostname";
|
|
};
|
|
|
|
# Allow user to inject their own NixOS modules
|
|
extraModules = mkOption {
|
|
type = types.listOf types.deferredModule;
|
|
default = [];
|
|
description = "Extra NixOS modules to include";
|
|
};
|
|
};
|
|
|
|
# Home-level options
|
|
home = {
|
|
enable = mkEnableOption "Nomarchy home environment features";
|
|
|
|
# Allow users to add extra user packages
|
|
extraPackages = mkOption {
|
|
type = types.listOf types.package;
|
|
default = [];
|
|
description = "Additional user-level packages to install";
|
|
};
|
|
|
|
# Configuration for the environment
|
|
terminal = mkOption {
|
|
type = types.enum [ "alacritty" "kitty" "ghostty" ];
|
|
default = "alacritty";
|
|
description = "Preferred terminal emulator";
|
|
};
|
|
|
|
# Allow user to inject their own Home Manager modules
|
|
extraModules = mkOption {
|
|
type = types.listOf types.deferredModule;
|
|
default = [];
|
|
description = "Extra Home Manager modules to include";
|
|
};
|
|
|
|
# Theming overrides
|
|
themeOverride = mkOption {
|
|
type = types.nullOr types.str;
|
|
default = null;
|
|
description = "Force a specific theme (ignoring state files)";
|
|
};
|
|
};
|
|
|
|
# Hardware flags (already exists in hardware.nix, but good to keep in mind)
|
|
};
|
|
}
|