{ lib, ... }: let # Program-specific info programName = "fonts"; # Enable toggle for this module (default ON) enableProgram = true; # Example symbolic references to fonts (avoid pkgs if possible) fontPackages = [ "nerd-fonts.iosevka" "nerd-fonts.fira-code" ]; in { # Top-level toggle for this program options.enableFonts = lib.mkEnableOption "Enable system fonts"; # Wrap all configuration in mkIf so nothing is applied unless enabled config = lib.mkIf enableProgram { # Top-level container for your apps/services myApps = { fonts = { enable = true; packages = fontPackages; # Optional: user, defaults to global defaultUser user = config.defaultUser or "henrov"; }; }; }; }