Files
Nomarchy/modules/options.nix
Bernardo Magri 29cc0d2547 feat: implement modular foundation and core system services
- 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
2026-04-03 21:06:42 +01:00

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)
};
}