diff --git a/doc/src/modules.md b/doc/src/modules.md index 615f268e..75e91cdb 100644 --- a/doc/src/modules.md +++ b/doc/src/modules.md @@ -52,7 +52,7 @@ mkTarget { name = "«name»"; humanName = "«human readable name»"; - configElements = + config = { colors }: { programs.«name».theme.background = colors.base00; diff --git a/modules/alacritty/hm.nix b/modules/alacritty/hm.nix index ed54e3bb..f2fba176 100644 --- a/modules/alacritty/hm.nix +++ b/modules/alacritty/hm.nix @@ -5,7 +5,7 @@ mkTarget { name = "alacritty"; humanName = "Alacritty"; - configElements = [ + config = [ ( { colors }: { diff --git a/modules/anki/hm.nix b/modules/anki/hm.nix index 9f3c3808..6c70413d 100644 --- a/modules/anki/hm.nix +++ b/modules/anki/hm.nix @@ -8,7 +8,7 @@ mkTarget { name = "anki"; humanName = "Anki"; - configElements = + config = { colors }: { programs.anki.addons = lib.singleton ( diff --git a/modules/ashell/hm.nix b/modules/ashell/hm.nix index 41616ac8..76830f91 100644 --- a/modules/ashell/hm.nix +++ b/modules/ashell/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "ashell"; humanName = "Ashell"; - configElements = [ + config = [ ( { colors }: { diff --git a/modules/avizo/hm.nix b/modules/avizo/hm.nix index 25900638..21de0fa2 100644 --- a/modules/avizo/hm.nix +++ b/modules/avizo/hm.nix @@ -4,7 +4,7 @@ mkTarget { humanName = "Avizo"; # Referenced https://github.com/stacyharper/base16-mako - configElements = + config = { colors, opacity }: { services.avizo = { diff --git a/modules/bat/hm.nix b/modules/bat/hm.nix index ff424fca..48ab60c7 100644 --- a/modules/bat/hm.nix +++ b/modules/bat/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "bat"; humanName = "Bat"; - configElements = + config = { colors }: { programs.bat = { diff --git a/modules/bemenu/hm.nix b/modules/bemenu/hm.nix index ca0d5a6a..0438ea75 100644 --- a/modules/bemenu/hm.nix +++ b/modules/bemenu/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "bemenu"; humanName = "bemenu"; - extraOptions = + options = { fonts }: { fontSize = lib.mkOption { @@ -24,7 +24,7 @@ mkTarget { }; }; - configElements = [ + config = [ ( { cfg, fonts }: { diff --git a/modules/blender/hm.nix b/modules/blender/hm.nix index e4484063..b042fe38 100644 --- a/modules/blender/hm.nix +++ b/modules/blender/hm.nix @@ -3,13 +3,13 @@ mkTarget { name = "blender"; humanName = "Blender"; - extraOptions.themeBody = lib.mkOption { + options.themeBody = lib.mkOption { type = lib.types.lines; default = ""; internal = true; }; - configElements = [ + config = [ ./color-theme.nix ./font-theme.nix ( diff --git a/modules/bspwm/hm.nix b/modules/bspwm/hm.nix index fb51e970..b30bcd86 100644 --- a/modules/bspwm/hm.nix +++ b/modules/bspwm/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "bspwm"; humanName = "bspwm"; - configElements = + config = { colors }: { xsession.windowManager.bspwm.settings = with colors.withHashtag; { diff --git a/modules/btop/hm.nix b/modules/btop/hm.nix index c7de0798..eb46381b 100644 --- a/modules/btop/hm.nix +++ b/modules/btop/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "btop"; humanName = "btop"; - configElements = [ + config = [ ( { opacity }: { diff --git a/modules/cava/hm.nix b/modules/cava/hm.nix index a0b1bc21..5fbfb08a 100644 --- a/modules/cava/hm.nix +++ b/modules/cava/hm.nix @@ -3,9 +3,9 @@ mkTarget { name = "cava"; humanName = "CAVA"; - extraOptions.rainbow.enable = lib.mkEnableOption "rainbow gradient theming"; + options.rainbow.enable = lib.mkEnableOption "rainbow gradient theming"; - configElements = + config = { cfg, colors }: let mkGradient = diff --git a/modules/cavalier/hm.nix b/modules/cavalier/hm.nix index e5979cc7..b922e71a 100644 --- a/modules/cavalier/hm.nix +++ b/modules/cavalier/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "cavalier"; humanName = "Cavalier"; - configElements = + config = { colors }: { programs.cavalier.settings.general = { diff --git a/modules/chromium/nixos.nix b/modules/chromium/nixos.nix index d0d2201b..4154809c 100644 --- a/modules/chromium/nixos.nix +++ b/modules/chromium/nixos.nix @@ -3,7 +3,7 @@ mkTarget { name = "chromium"; humanName = "Chromium, Google Chrome and Brave"; - configElements = + config = { colors }: { programs.chromium = { diff --git a/modules/console/droid.nix b/modules/console/droid.nix index caf1f42d..bb7fc37a 100644 --- a/modules/console/droid.nix +++ b/modules/console/droid.nix @@ -3,7 +3,7 @@ mkTarget { name = "console"; humanName = "the Nix-on-Droid console"; - configElements = + config = { colors }: { terminal.colors = with colors.withHashtag; rec { diff --git a/modules/console/nixos.nix b/modules/console/nixos.nix index e63ab5f8..9c1230e0 100644 --- a/modules/console/nixos.nix +++ b/modules/console/nixos.nix @@ -3,7 +3,7 @@ mkTarget { name = "console"; humanName = "the Linux kernel console"; - configElements = + config = { colors }: { console.colors = with colors; [ diff --git a/modules/discord/nixcord.nix b/modules/discord/nixcord.nix index d974f9b7..af86da35 100644 --- a/modules/discord/nixcord.nix +++ b/modules/discord/nixcord.nix @@ -10,7 +10,7 @@ mkTarget { name = "nixcord"; humanName = "Nixcord"; - extraOptions = { + options = { themeBody = lib.mkOption { type = lib.types.lines; default = ""; @@ -23,7 +23,7 @@ mkTarget { }; }; - configElements = (import ./common/theme-elements.nix "nixcord") ++ [ + config = (import ./common/theme-elements.nix "nixcord") ++ [ ( { cfg }: let diff --git a/modules/discord/vencord.nix b/modules/discord/vencord.nix index 623006f0..f7647412 100644 --- a/modules/discord/vencord.nix +++ b/modules/discord/vencord.nix @@ -4,7 +4,7 @@ mkTarget { name = "vencord"; humanName = "Vencord"; - extraOptions = { + options = { themeBody = lib.mkOption { type = lib.types.lines; default = ""; @@ -17,7 +17,7 @@ mkTarget { }; }; - configElements = (import ./common/theme-elements.nix "vencord") ++ [ + config = (import ./common/theme-elements.nix "vencord") ++ [ ( { cfg }: lib.mkIf diff --git a/modules/discord/vesktop.nix b/modules/discord/vesktop.nix index afd98c8d..24103a48 100644 --- a/modules/discord/vesktop.nix +++ b/modules/discord/vesktop.nix @@ -4,13 +4,13 @@ mkTarget { name = "vesktop"; humanName = "Vesktop"; - extraOptions.themeBody = lib.mkOption { + options.themeBody = lib.mkOption { type = lib.types.lines; default = ""; internal = true; }; - configElements = (import ./common/theme-elements.nix "vesktop") ++ [ + config = (import ./common/theme-elements.nix "vesktop") ++ [ ( { cfg }: lib.mkIf (cfg.themeBody != (import ./common/theme-header.nix)) { diff --git a/modules/dunst/hm.nix b/modules/dunst/hm.nix index 9614aca2..61911221 100644 --- a/modules/dunst/hm.nix +++ b/modules/dunst/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "dunst"; humanName = "Dunst"; - configElements = [ + config = [ ( { fonts }: { diff --git a/modules/emacs/hm.nix b/modules/emacs/hm.nix index 70a2d776..0bb705fd 100644 --- a/modules/emacs/hm.nix +++ b/modules/emacs/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "emacs"; humanName = "Emacs"; - configElements = [ + config = [ ( { opacity }: { diff --git a/modules/eog/hm.nix b/modules/eog/hm.nix index 7f1cd9f9..ff5d3c32 100644 --- a/modules/eog/hm.nix +++ b/modules/eog/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "eog"; humanName = "Eye of GNOME Image Viewer"; - configElements = + config = { colors }: { dconf.settings."org/gnome/eog/view" = { diff --git a/modules/fcitx5/hm.nix b/modules/fcitx5/hm.nix index 7fbffb7d..91b03610 100644 --- a/modules/fcitx5/hm.nix +++ b/modules/fcitx5/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "fcitx5"; humanName = "fcitx5"; - configElements = [ + config = [ ( { fonts }: { diff --git a/modules/feh/hm.nix b/modules/feh/hm.nix index d0187ebf..4b5c4d70 100644 --- a/modules/feh/hm.nix +++ b/modules/feh/hm.nix @@ -24,7 +24,7 @@ mkTarget { || xmonad.enable ''; - configElements = + config = { imageScalingMode, image }: { xsession.initExtra = diff --git a/modules/feh/nixos.nix b/modules/feh/nixos.nix index cc0ee85e..6049cc2c 100644 --- a/modules/feh/nixos.nix +++ b/modules/feh/nixos.nix @@ -16,7 +16,7 @@ mkTarget { xmonad.enable || i3.enable ''; - configElements = + config = { image, imageScalingMode }: { services.xserver.displayManager.sessionCommands = diff --git a/modules/firefox/each-config.nix b/modules/firefox/each-config.nix index eaaed89d..def60076 100644 --- a/modules/firefox/each-config.nix +++ b/modules/firefox/each-config.nix @@ -14,7 +14,7 @@ mkTarget { inherit name humanName; - extraOptions = { + options = { profileNames = lib.mkOption { description = "The ${humanName} profile names to apply styling on."; type = lib.types.listOf lib.types.str; @@ -26,7 +26,7 @@ mkTarget { firefoxGnomeTheme.enable = lib.mkEnableOption "[Firefox GNOME theme](https://github.com/rafaelmardojai/firefox-gnome-theme) on ${humanName}"; }; - configElements = [ + config = [ ( { cfg }: { diff --git a/modules/fish/hm.nix b/modules/fish/hm.nix index 9763c50b..f8e2f727 100644 --- a/modules/fish/hm.nix +++ b/modules/fish/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "fish"; humanName = "Fish"; - configElements = + config = { colors, inputs }: { programs.fish.interactiveShellInit = import ./prompt.nix { diff --git a/modules/fish/nixos.nix b/modules/fish/nixos.nix index 02affea0..f53e7f47 100644 --- a/modules/fish/nixos.nix +++ b/modules/fish/nixos.nix @@ -3,7 +3,7 @@ mkTarget { name = "fish"; humanName = "Fish"; - configElements = + config = { colors, inputs }: { programs.fish.promptInit = import ./prompt.nix { inherit colors inputs; }; diff --git a/modules/fnott/hm.nix b/modules/fnott/hm.nix index 984459b4..ff37d15c 100644 --- a/modules/fnott/hm.nix +++ b/modules/fnott/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "fnott"; humanName = "Fnott"; - configElements = [ + config = [ ( { fonts }: { diff --git a/modules/foliate/hm.nix b/modules/foliate/hm.nix index 43ce4f3d..2d9b7a40 100644 --- a/modules/foliate/hm.nix +++ b/modules/foliate/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "foliate"; humanName = "Foliate"; - configElements = + config = { colors }: { programs.foliate = { diff --git a/modules/font-packages/darwin.nix b/modules/font-packages/darwin.nix index eac7fa35..6a067eb9 100644 --- a/modules/font-packages/darwin.nix +++ b/modules/font-packages/darwin.nix @@ -3,7 +3,7 @@ mkTarget { name = "font-packages"; humanName = "Font packages"; - configElements = + config = { fonts }: { fonts = { inherit (fonts) packages; }; diff --git a/modules/font-packages/hm.nix b/modules/font-packages/hm.nix index 3e730bd6..a45926b3 100644 --- a/modules/font-packages/hm.nix +++ b/modules/font-packages/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "font-packages"; humanName = "Font packages"; - configElements = + config = { fonts }: { home = { inherit (fonts) packages; }; diff --git a/modules/font-packages/nixos.nix b/modules/font-packages/nixos.nix index eac7fa35..6a067eb9 100644 --- a/modules/font-packages/nixos.nix +++ b/modules/font-packages/nixos.nix @@ -3,7 +3,7 @@ mkTarget { name = "font-packages"; humanName = "Font packages"; - configElements = + config = { fonts }: { fonts = { inherit (fonts) packages; }; diff --git a/modules/fontconfig/fontconfig.nix b/modules/fontconfig/fontconfig.nix index b2fadd2c..dc4cd3e6 100644 --- a/modules/fontconfig/fontconfig.nix +++ b/modules/fontconfig/fontconfig.nix @@ -4,7 +4,7 @@ mkTarget { name = "fontconfig"; humanName = "Fontconfig"; - configElements = + config = { listTargetIndex, fonts }: { fonts.fontconfig.defaultFonts = lib.genAttrs [ diff --git a/modules/foot/hm.nix b/modules/foot/hm.nix index b1afc764..9b3dde9a 100644 --- a/modules/foot/hm.nix +++ b/modules/foot/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "foot"; humanName = "Foot"; - configElements = [ + config = [ ( { fonts }: { diff --git a/modules/forge/hm.nix b/modules/forge/hm.nix index 04000a72..c67d2ad0 100644 --- a/modules/forge/hm.nix +++ b/modules/forge/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "forge"; humanName = "Forge"; - configElements = + config = { colors }: { xdg.configFile."forge/stylesheet/forge/stylesheet.css".source = colors { diff --git a/modules/fuzzel/hm.nix b/modules/fuzzel/hm.nix index 29b4836f..0a3ab52d 100644 --- a/modules/fuzzel/hm.nix +++ b/modules/fuzzel/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "fuzzel"; humanName = "Fuzzel"; - configElements = [ + config = [ ( { fonts }: { diff --git a/modules/fzf/hm.nix b/modules/fzf/hm.nix index 08df42e2..f748c515 100644 --- a/modules/fzf/hm.nix +++ b/modules/fzf/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "fzf"; humanName = "Fzf"; - configElements = + config = { colors }: { programs.fzf.colors = with colors.withHashtag; { diff --git a/modules/gdu/hm.nix b/modules/gdu/hm.nix index 6c2f57a7..a36b1635 100644 --- a/modules/gdu/hm.nix +++ b/modules/gdu/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "gdu"; humanName = "go DiskUsage()"; - configElements = + config = { colors }: { xdg.configFile."gdu/gdu.yaml" = { diff --git a/modules/gedit/hm.nix b/modules/gedit/hm.nix index b31c47ec..fa8f78ca 100644 --- a/modules/gedit/hm.nix +++ b/modules/gedit/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "gedit"; humanName = "GEdit"; - configElements = + config = { colors }: { xdg.dataFile = { diff --git a/modules/ghostty/hm.nix b/modules/ghostty/hm.nix index 5ebb8ef6..a2191935 100644 --- a/modules/ghostty/hm.nix +++ b/modules/ghostty/hm.nix @@ -6,7 +6,7 @@ mkTarget { name = "ghostty"; humanName = "Ghostty"; - configElements = [ + config = [ ( { fonts }: { diff --git a/modules/gitui/hm.nix b/modules/gitui/hm.nix index 7246cd04..90b6e4df 100644 --- a/modules/gitui/hm.nix +++ b/modules/gitui/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "gitui"; humanName = "GitUI"; - configElements = + config = { colors }: { programs.gitui.theme = with colors.withHashtag; '' diff --git a/modules/glance/hm.nix b/modules/glance/hm.nix index 6448d12b..5ba9162f 100644 --- a/modules/glance/hm.nix +++ b/modules/glance/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "glance"; humanName = "Glance"; - configElements = [ + config = [ ( { polarity }: { diff --git a/modules/glance/nixos.nix b/modules/glance/nixos.nix index 6448d12b..5ba9162f 100644 --- a/modules/glance/nixos.nix +++ b/modules/glance/nixos.nix @@ -3,7 +3,7 @@ mkTarget { name = "glance"; humanName = "Glance"; - configElements = [ + config = [ ( { polarity }: { diff --git a/modules/gnome-text-editor/hm.nix b/modules/gnome-text-editor/hm.nix index 8caea6ba..c72ba084 100644 --- a/modules/gnome-text-editor/hm.nix +++ b/modules/gnome-text-editor/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "gnome-text-editor"; humanName = "GNOME Text Editor"; - configElements = { + config = { dconf.settings."org/gnome/TextEditor".style-scheme = "stylix"; }; } diff --git a/modules/gnome/hm.nix b/modules/gnome/hm.nix index f94add89..fe3cdf32 100644 --- a/modules/gnome/hm.nix +++ b/modules/gnome/hm.nix @@ -12,9 +12,9 @@ mkTarget { autoEnable = pkgs.stdenv.hostPlatform.isLinux; autoEnableExpr = "pkgs.stdenv.hostPlatform.isLinux"; - extraOptions.useWallpaper = config.lib.stylix.mkEnableWallpaper "GNOME" true; + options.useWallpaper = config.lib.stylix.mkEnableWallpaper "GNOME" true; - configElements = [ + config = [ ( { cfg, image }: { diff --git a/modules/gtk/hm.nix b/modules/gtk/hm.nix index 1a1d8aec..88ebf8b6 100644 --- a/modules/gtk/hm.nix +++ b/modules/gtk/hm.nix @@ -10,7 +10,7 @@ mkTarget { name = "gtk"; humanName = "all GTK3, GTK4 and Libadwaita apps"; - extraOptions = { + options = { extraCss = lib.mkOption { description = '' Extra code added to `gtk-3.0/gtk.css` and `gtk-4.0/gtk.css`. @@ -26,7 +26,7 @@ mkTarget { flatpakSupport.enable = config.lib.stylix.mkEnableTarget "support for theming Flatpak apps" true; }; - configElements = [ + config = [ { warnings = lib.optional (config.gtk.gtk3.extraCss != "" || config.gtk.gtk4.extraCss != "") diff --git a/modules/gtk/nixos.nix b/modules/gtk/nixos.nix index 90ff4712..2300f90b 100644 --- a/modules/gtk/nixos.nix +++ b/modules/gtk/nixos.nix @@ -3,7 +3,7 @@ mkTarget { name = "gtk"; humanName = "all GTK3, GTK4 and Libadwaita apps"; - configElements = { + config = { # Required for Home Manager's GTK settings to work programs.dconf.enable = true; }; diff --git a/modules/gtksourceview/hm.nix b/modules/gtksourceview/hm.nix index 5aa58b62..00bd9e76 100644 --- a/modules/gtksourceview/hm.nix +++ b/modules/gtksourceview/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "gtksourceview"; humanName = "GTKSourceView"; - configElements = + config = { colors, ... }: { xdg.dataFile = builtins.listToAttrs ( diff --git a/modules/halloy/hm.nix b/modules/halloy/hm.nix index b91f02c5..b10f0727 100644 --- a/modules/halloy/hm.nix +++ b/modules/halloy/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "halloy"; humanName = "Halloy"; - configElements = + config = { colors }: { programs.halloy = { diff --git a/modules/helix/hm.nix b/modules/helix/hm.nix index 28bbddaf..1b4403bb 100644 --- a/modules/helix/hm.nix +++ b/modules/helix/hm.nix @@ -8,12 +8,12 @@ mkTarget { name = "helix"; humanName = "Helix"; - extraOptions.transparent = lib.mkEnableOption "transparent theming" // { + options.transparent = lib.mkEnableOption "transparent theming" // { internal = true; default = false; }; - configElements = [ + config = [ ( { opacity }: { diff --git a/modules/hyprland/hm.nix b/modules/hyprland/hm.nix index 119ba797..e15b7b29 100644 --- a/modules/hyprland/hm.nix +++ b/modules/hyprland/hm.nix @@ -7,7 +7,7 @@ mkTarget { name = "hyprland"; humanName = "Hyprland"; - extraOptions = + options = { image }: { hyprpaper.enable = config.lib.stylix.mkEnableTargetWith { @@ -17,7 +17,7 @@ mkTarget { }; }; - configElements = [ + config = [ ( { colors }: { diff --git a/modules/hyprlock/hm.nix b/modules/hyprlock/hm.nix index 6e644633..abd03139 100644 --- a/modules/hyprlock/hm.nix +++ b/modules/hyprlock/hm.nix @@ -8,9 +8,9 @@ mkTarget { name = "hyprlock"; humanName = "Hyprlock"; - extraOptions.useWallpaper = config.lib.stylix.mkEnableWallpaper "Hyprlock" true; + options.useWallpaper = config.lib.stylix.mkEnableWallpaper "Hyprlock" true; - configElements = [ + config = [ ( { cfg, image }: { diff --git a/modules/hyprpanel/hm.nix b/modules/hyprpanel/hm.nix index 32e38df8..fb44e9a5 100644 --- a/modules/hyprpanel/hm.nix +++ b/modules/hyprpanel/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "hyprpanel"; humanName = "HyprPanel"; - configElements = [ + config = [ ( { fonts }: { diff --git a/modules/hyprpaper/hm.nix b/modules/hyprpaper/hm.nix index f088a3ed..e230f0c5 100644 --- a/modules/hyprpaper/hm.nix +++ b/modules/hyprpaper/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "hyprpaper"; humanName = "Hyprpaper"; - configElements = + config = { image }: { services.hyprpaper.settings = { diff --git a/modules/i3/hm.nix b/modules/i3/hm.nix index 6fccc166..019b4177 100644 --- a/modules/i3/hm.nix +++ b/modules/i3/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "i3"; humanName = "i3"; - extraOptions.exportedBarConfig = lib.mkOption { + options.exportedBarConfig = lib.mkOption { type = lib.types.attrs; default = { }; description = '' @@ -29,7 +29,7 @@ mkTarget { } ); - configElements = [ + config = [ ( { fonts }: let diff --git a/modules/i3bar-river/hm.nix b/modules/i3bar-river/hm.nix index cd48c10d..2bd22a0f 100644 --- a/modules/i3bar-river/hm.nix +++ b/modules/i3bar-river/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "i3bar-river"; humanName = "i3bar-river"; - configElements = [ + config = [ ( { fonts }: { diff --git a/modules/jankyborders/darwin.nix b/modules/jankyborders/darwin.nix index 21a08fcc..e4948769 100644 --- a/modules/jankyborders/darwin.nix +++ b/modules/jankyborders/darwin.nix @@ -8,7 +8,7 @@ mkTarget { name = "jankyborders"; humanName = "JankyBorders"; - configElements = + config = { colors, opacity }: { services.jankyborders = diff --git a/modules/k9s/hm.nix b/modules/k9s/hm.nix index e172b99b..f0a0bc26 100644 --- a/modules/k9s/hm.nix +++ b/modules/k9s/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "k9s"; humanName = "k9s"; - configElements = + config = { colors }: { programs.k9s = { diff --git a/modules/kitty/hm.nix b/modules/kitty/hm.nix index 573d1985..d17b5262 100644 --- a/modules/kitty/hm.nix +++ b/modules/kitty/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "kitty"; humanName = "Kitty"; - extraOptions = { + options = { variant256Colors = lib.mkOption { description = '' Whether to use the [256-color variant](https://github.com/kdrag0n/base16-kitty#256-color-variants) @@ -14,7 +14,7 @@ mkTarget { }; }; - configElements = [ + config = [ ( { fonts }: { diff --git a/modules/kmscon/nixos.nix b/modules/kmscon/nixos.nix index 83c6f6b2..830e3828 100644 --- a/modules/kmscon/nixos.nix +++ b/modules/kmscon/nixos.nix @@ -3,7 +3,7 @@ mkTarget { name = "kmscon"; humanName = "the kmscon virtual console"; - configElements = [ + config = [ ( { fonts }: { diff --git a/modules/kubecolor/hm.nix b/modules/kubecolor/hm.nix index 0670526c..4b461f84 100644 --- a/modules/kubecolor/hm.nix +++ b/modules/kubecolor/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "kubecolor"; humanName = "kubecolor"; - configElements = [ + config = [ ( { polarity }: { diff --git a/modules/lazygit/hm.nix b/modules/lazygit/hm.nix index d13c4601..50850ea4 100644 --- a/modules/lazygit/hm.nix +++ b/modules/lazygit/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "lazygit"; humanName = "lazygit"; - configElements = + config = { colors }: { programs.lazygit.settings.gui.theme = with colors.withHashtag; { diff --git a/modules/lightdm/nixos.nix b/modules/lightdm/nixos.nix index c7fa38ed..b0720711 100644 --- a/modules/lightdm/nixos.nix +++ b/modules/lightdm/nixos.nix @@ -8,9 +8,9 @@ mkTarget { name = "lightdm"; humanName = "LightDM"; - extraOptions.useWallpaper = config.lib.stylix.mkEnableWallpaper "LightDM" true; + options.useWallpaper = config.lib.stylix.mkEnableWallpaper "LightDM" true; - configElements = + config = { cfg, image }: { services.xserver.displayManager.lightdm.background = diff --git a/modules/limine/nixos.nix b/modules/limine/nixos.nix index 6a7294de..74b79071 100644 --- a/modules/limine/nixos.nix +++ b/modules/limine/nixos.nix @@ -8,9 +8,9 @@ mkTarget { name = "limine"; humanName = "Limine"; - extraOptions.useWallpaper = config.lib.stylix.mkEnableWallpaper "Limine" true; + options.useWallpaper = config.lib.stylix.mkEnableWallpaper "Limine" true; - configElements = [ + config = [ ( { colors }: { diff --git a/modules/mako/hm.nix b/modules/mako/hm.nix index 3314f0e5..312fab72 100644 --- a/modules/mako/hm.nix +++ b/modules/mako/hm.nix @@ -4,7 +4,7 @@ mkTarget { humanName = "Mako"; # Referenced https://github.com/stacyharper/base16-mako - configElements = [ + config = [ ( { fonts }: { diff --git a/modules/mangohud/hm.nix b/modules/mangohud/hm.nix index cad9acc3..f513f9e0 100644 --- a/modules/mangohud/hm.nix +++ b/modules/mangohud/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "mangohud"; humanName = "mangohud"; - configElements = [ + config = [ ( { fonts }: { diff --git a/modules/micro/hm.nix b/modules/micro/hm.nix index 36f26d11..a1a76db8 100644 --- a/modules/micro/hm.nix +++ b/modules/micro/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "micro"; humanName = "micro"; - configElements = { + config = { # TODO: Provide a real colorscheme once [1] is resolved. # # [1]: https://github.com/nix-community/stylix/issues/249 diff --git a/modules/mpv/hm.nix b/modules/mpv/hm.nix index 7cc67582..1c0db2fe 100644 --- a/modules/mpv/hm.nix +++ b/modules/mpv/hm.nix @@ -2,7 +2,7 @@ mkTarget { name = "mpv"; humanName = "mpv"; - configElements = [ + config = [ ( { fonts }: { diff --git a/modules/ncspot/hm.nix b/modules/ncspot/hm.nix index e5192474..d03a9ec3 100644 --- a/modules/ncspot/hm.nix +++ b/modules/ncspot/hm.nix @@ -3,14 +3,14 @@ mkTarget { name = "ncspot"; humanName = "Ncspot"; - extraOptions.background = lib.mkOption { + options.background = lib.mkOption { type = lib.types.nullOr lib.types.str; description = "Used to set bg even if `opacity` or `colors` is null."; internal = true; default = null; }; - configElements = [ + config = [ ( { cfg }: lib.mkIf (cfg.background != null) { diff --git a/modules/neovim/neovide.nix b/modules/neovim/neovide.nix index 519949b7..5dc67924 100644 --- a/modules/neovim/neovide.nix +++ b/modules/neovim/neovide.nix @@ -3,7 +3,7 @@ mkTarget: mkTarget { name = "neovide"; humanName = "Neovide"; - configElements = [ + config = [ ( { fonts }: { diff --git a/modules/neovim/neovim.nix b/modules/neovim/neovim.nix index 62161ebd..fef4c98e 100644 --- a/modules/neovim/neovim.nix +++ b/modules/neovim/neovim.nix @@ -3,7 +3,7 @@ mkTarget: mkTarget { name = "neovim"; humanName = "Neovim"; - extraOptions = { + options = { plugin = lib.mkOption { type = lib.types.enum [ "base16-nvim" @@ -25,7 +25,7 @@ mkTarget { }; }; - configElements = [ + config = [ ( { colors, cfg }: { diff --git a/modules/neovim/nixvim.nix b/modules/neovim/nixvim.nix index 2dc091c2..b9a7e49b 100644 --- a/modules/neovim/nixvim.nix +++ b/modules/neovim/nixvim.nix @@ -3,7 +3,7 @@ mkTarget: mkTarget { name = "nixvim"; humanName = "NixVim"; - extraOptions = { + options = { plugin = lib.mkOption { type = lib.types.enum [ "base16-nvim" @@ -37,7 +37,7 @@ mkTarget { }; }; - configElements = [ + config = [ ( { colors }: { diff --git a/modules/neovim/nvf.nix b/modules/neovim/nvf.nix index 88ed74ff..8aa22438 100644 --- a/modules/neovim/nvf.nix +++ b/modules/neovim/nvf.nix @@ -3,7 +3,7 @@ mkTarget: mkTarget { name = "nvf"; humanName = "nvf"; - extraOptions = { + options = { plugin = lib.mkOption { type = lib.types.enum [ "base16" @@ -15,7 +15,7 @@ mkTarget { transparentBackground = lib.mkEnableOption "background transparency for the main Neovim window"; }; - configElements = lib.optionals (options.programs ? nvf) [ + config = lib.optionals (options.programs ? nvf) [ ( { colors, cfg }: { diff --git a/modules/neovim/vim.nix b/modules/neovim/vim.nix index 20bc48b3..84effd99 100644 --- a/modules/neovim/vim.nix +++ b/modules/neovim/vim.nix @@ -4,7 +4,7 @@ mkTarget { name = "vim"; humanName = "Vim"; - configElements = [ + config = [ ( { fonts }: { diff --git a/modules/nushell/hm.nix b/modules/nushell/hm.nix index 05d6f0a6..61a4b164 100644 --- a/modules/nushell/hm.nix +++ b/modules/nushell/hm.nix @@ -4,7 +4,7 @@ mkTarget { humanName = "Nushell"; # Adapted from https://www.nushell.sh/book/coloring_and_theming.html#theming - configElements = + config = { colors }: { programs.nushell.extraConfig = with colors.withHashtag; '' diff --git a/modules/obsidian/hm.nix b/modules/obsidian/hm.nix index ecaa66e5..017b5a8f 100644 --- a/modules/obsidian/hm.nix +++ b/modules/obsidian/hm.nix @@ -3,13 +3,13 @@ mkTarget { name = "obsidian"; humanName = "Obsidian"; - extraOptions.vaultNames = lib.mkOption { + options.vaultNames = lib.mkOption { description = "The obsidian vault names to apply styling on."; type = lib.types.listOf lib.types.str; default = [ ]; }; - configElements = [ + config = [ ( { cfg, fonts }: { diff --git a/modules/opencode/hm.nix b/modules/opencode/hm.nix index bb603458..edbd04d0 100644 --- a/modules/opencode/hm.nix +++ b/modules/opencode/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "opencode"; humanName = "OpenCode"; - configElements = + config = { colors }: { programs.opencode = diff --git a/modules/plymouth/nixos.nix b/modules/plymouth/nixos.nix index acb1c48d..06cffbef 100644 --- a/modules/plymouth/nixos.nix +++ b/modules/plymouth/nixos.nix @@ -8,7 +8,7 @@ mkTarget { name = "plymouth"; humanName = "the Plymouth boot screen"; - extraOptions = { + options = { logo = lib.mkOption { description = "Logo to be used on the boot screen."; type = with lib.types; either path package; @@ -35,7 +35,7 @@ mkTarget { ) ]; - configElements = + config = { cfg, colors }: let themeScript = import ./theme-script.nix { inherit lib cfg colors; }; diff --git a/modules/qutebrowser/hm.nix b/modules/qutebrowser/hm.nix index 1f2e0158..4996a1f5 100644 --- a/modules/qutebrowser/hm.nix +++ b/modules/qutebrowser/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "qutebrowser"; humanName = "Qutebrowser"; - configElements = [ + config = [ ( { fonts }: { diff --git a/modules/regreet/nixos.nix b/modules/regreet/nixos.nix index ce77a5eb..81f66933 100644 --- a/modules/regreet/nixos.nix +++ b/modules/regreet/nixos.nix @@ -12,7 +12,7 @@ mkTarget { autoEnable = pkgs.stdenv.hostPlatform.isLinux; autoEnableExpr = "pkgs.stdenv.hostPlatform.isLinux"; - extraOptions = { + options = { useWallpaper = config.lib.stylix.mkEnableWallpaper "ReGreet" true; extraCss = lib.mkOption { description = '' @@ -24,7 +24,7 @@ mkTarget { }; }; - configElements = [ + config = [ { warnings = let diff --git a/modules/rio/hm.nix b/modules/rio/hm.nix index ac6bdb5e..e518670c 100644 --- a/modules/rio/hm.nix +++ b/modules/rio/hm.nix @@ -5,7 +5,7 @@ mkTarget { name = "rio"; humanName = "Rio"; - configElements = [ + config = [ ( { fonts }: { diff --git a/modules/rofi/hm.nix b/modules/rofi/hm.nix index a0b03942..fbb8ce0c 100644 --- a/modules/rofi/hm.nix +++ b/modules/rofi/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "rofi"; humanName = "Rofi"; - configElements = [ + config = [ ( { fonts }: { diff --git a/modules/spicetify/spicetify.nix b/modules/spicetify/spicetify.nix index 045230c6..c1af818c 100644 --- a/modules/spicetify/spicetify.nix +++ b/modules/spicetify/spicetify.nix @@ -9,7 +9,7 @@ mkTarget { name = "spicetify"; humanName = "Spicetify"; - configElements = + config = { colors }: lib.optionalAttrs (options.programs ? spicetify) { programs.spicetify = { diff --git a/modules/spotify-player/hm.nix b/modules/spotify-player/hm.nix index 6df7c5d8..a3745fe2 100644 --- a/modules/spotify-player/hm.nix +++ b/modules/spotify-player/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "spotify-player"; humanName = "spotify-player"; - configElements = + config = { colors }: { programs.spotify-player = { diff --git a/modules/starship/hm.nix b/modules/starship/hm.nix index bdcc4a1f..44aa23b9 100644 --- a/modules/starship/hm.nix +++ b/modules/starship/hm.nix @@ -4,7 +4,7 @@ mkTarget { name = "starship"; humanName = "Starship"; - configElements = + config = { colors }: { programs.starship.settings = { diff --git a/modules/swaylock/hm.nix b/modules/swaylock/hm.nix index 910ef72f..0e2219e2 100644 --- a/modules/swaylock/hm.nix +++ b/modules/swaylock/hm.nix @@ -26,9 +26,9 @@ mkTarget { lib.versionAtLeast config.home.stateVersion "23.05" && pkgs.stdenv.hostPlatform.isLinux ''; - extraOptions.useWallpaper = config.lib.stylix.mkEnableWallpaper "Swaylock" true; + options.useWallpaper = config.lib.stylix.mkEnableWallpaper "Swaylock" true; - configElements = [ + config = [ ( { colors }: { diff --git a/modules/swaync/hm.nix b/modules/swaync/hm.nix index 271a437d..1670e287 100644 --- a/modules/swaync/hm.nix +++ b/modules/swaync/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "swaync"; humanName = "SwayNC"; - configElements = [ + config = [ ( { fonts }: { diff --git a/modules/sxiv/hm.nix b/modules/sxiv/hm.nix index 6fce9add..ddd40e9f 100644 --- a/modules/sxiv/hm.nix +++ b/modules/sxiv/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "sxiv"; humanName = "Sxiv"; - configElements = [ + config = [ ( { fonts }: { diff --git a/modules/tmux/hm.nix b/modules/tmux/hm.nix index 44310c10..6d3c8538 100644 --- a/modules/tmux/hm.nix +++ b/modules/tmux/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "tmux"; humanName = "Tmux"; - configElements = + config = { colors, inputs }: { programs.tmux.extraConfig = '' diff --git a/modules/tofi/hm.nix b/modules/tofi/hm.nix index 5e68f946..a9b43ab0 100644 --- a/modules/tofi/hm.nix +++ b/modules/tofi/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "tofi"; humanName = "Tofi"; - configElements = [ + config = [ ( { fonts }: { diff --git a/modules/vicinae/hm.nix b/modules/vicinae/hm.nix index fc17baa3..53dab221 100644 --- a/modules/vicinae/hm.nix +++ b/modules/vicinae/hm.nix @@ -8,7 +8,7 @@ mkTarget { name = "vicinae"; humanName = "Vicinae"; - configElements = lib.optionals (options.services ? vicinae) [ + config = lib.optionals (options.services ? vicinae) [ ( { colors, polarity }: { diff --git a/modules/vivid/hm.nix b/modules/vivid/hm.nix index a76f522f..66de1086 100644 --- a/modules/vivid/hm.nix +++ b/modules/vivid/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "vivid"; humanName = "vivid"; - configElements = + config = { colors }: let theme = "stylix"; diff --git a/modules/vscode/hm.nix b/modules/vscode/hm.nix index 42b3fcc9..c4d7d72f 100644 --- a/modules/vscode/hm.nix +++ b/modules/vscode/hm.nix @@ -9,13 +9,13 @@ mkTarget { name = "vscode"; humanName = "VSCode"; - extraOptions.profileNames = lib.mkOption { + options.profileNames = lib.mkOption { description = "The VSCode profile names to apply styling on."; type = lib.types.listOf lib.types.str; default = [ "default" ]; }; - configElements = [ + config = [ ( { cfg }: { diff --git a/modules/waybar/hm.nix b/modules/waybar/hm.nix index 9c5c166a..e0be29d2 100644 --- a/modules/waybar/hm.nix +++ b/modules/waybar/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "waybar"; humanName = "Waybar"; - extraOptions = { + options = { background = lib.mkOption { type = lib.types.nullOr lib.types.str; description = "Used to set bg even if `opacity` or `colors` is null"; @@ -43,7 +43,7 @@ mkTarget { }; }; - configElements = [ + config = [ ( { cfg }: { diff --git a/modules/wayfire/hm.nix b/modules/wayfire/hm.nix index 437cc6bb..b3723ea3 100644 --- a/modules/wayfire/hm.nix +++ b/modules/wayfire/hm.nix @@ -9,9 +9,9 @@ mkTarget { name = "wayfire"; humanName = "Wayfire"; - extraOptions.useWallpaper = config.lib.stylix.mkEnableWallpaper "wayfire" true; + options.useWallpaper = config.lib.stylix.mkEnableWallpaper "wayfire" true; - configElements = [ + config = [ ( { fonts }: { diff --git a/modules/wayprompt/hm.nix b/modules/wayprompt/hm.nix index 8f5486a5..b88bc3f8 100644 --- a/modules/wayprompt/hm.nix +++ b/modules/wayprompt/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "wayprompt"; humanName = "Wayprompt"; - configElements = + config = { colors, opacity }: let opacity' = lib.toHexString (builtins.ceil (opacity.popups * 255)); diff --git a/modules/wezterm/hm.nix b/modules/wezterm/hm.nix index cd26a74e..92d08410 100644 --- a/modules/wezterm/hm.nix +++ b/modules/wezterm/hm.nix @@ -7,12 +7,12 @@ mkTarget { name = "wezterm"; humanName = "WezTerm"; - extraOptions.luaBody = lib.mkOption { + options.luaBody = lib.mkOption { type = lib.types.lines; default = ""; internal = true; }; - configElements = [ + config = [ ( { colors }: with colors; diff --git a/modules/wob/hm.nix b/modules/wob/hm.nix index 6e2b7cef..d7b5f29d 100644 --- a/modules/wob/hm.nix +++ b/modules/wob/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "wob"; humanName = "wob"; - configElements = + config = { colors }: { services.wob.settings = { diff --git a/modules/wofi/hm.nix b/modules/wofi/hm.nix index 7a4684e3..eb816d59 100644 --- a/modules/wofi/hm.nix +++ b/modules/wofi/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "wofi"; humanName = "wofi"; - configElements = [ + config = [ ( { fonts }: { diff --git a/modules/wpaperd/hm.nix b/modules/wpaperd/hm.nix index 2ee840e4..23fbefb9 100644 --- a/modules/wpaperd/hm.nix +++ b/modules/wpaperd/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "wpaperd"; humanName = "wpaperd"; - configElements = + config = { imageScalingMode, image }: ( let diff --git a/modules/xfce/hm.nix b/modules/xfce/hm.nix index 0eeae1b7..f258d7ea 100644 --- a/modules/xfce/hm.nix +++ b/modules/xfce/hm.nix @@ -5,7 +5,7 @@ mkTarget { # Disabled by default due to https://github.com/nix-community/stylix/issues/180 autoEnable = false; - configElements = + config = { fonts }: { xfconf.settings = with fonts; { diff --git a/modules/xresources/hm.nix b/modules/xresources/hm.nix index 3a9fafb8..826e1ce0 100644 --- a/modules/xresources/hm.nix +++ b/modules/xresources/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "xresources"; humanName = "Xresources"; - configElements = [ + config = [ ( { fonts }: { diff --git a/modules/yazi/hm.nix b/modules/yazi/hm.nix index 397f8874..c028b45f 100644 --- a/modules/yazi/hm.nix +++ b/modules/yazi/hm.nix @@ -4,13 +4,13 @@ mkTarget { name = "yazi"; humanName = "Yazi"; - extraOptions.boldDirectory = lib.mkOption { + options.boldDirectory = lib.mkOption { description = "Whether to use bold font for directories."; type = lib.types.bool; default = true; }; - configElements = + config = { cfg, colors }: { programs.yazi.theme = diff --git a/modules/zathura/hm.nix b/modules/zathura/hm.nix index cfaec37e..08c30af8 100644 --- a/modules/zathura/hm.nix +++ b/modules/zathura/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "zathura"; humanName = "Zathura"; - configElements = + config = { colors, opacity }: { programs.zathura.options = diff --git a/modules/zed/hm.nix b/modules/zed/hm.nix index 29155344..6e030866 100644 --- a/modules/zed/hm.nix +++ b/modules/zed/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "zed"; humanName = "zed"; - configElements = [ + config = [ ( { fonts }: { diff --git a/modules/zellij/hm.nix b/modules/zellij/hm.nix index 2580aa6a..bca443d9 100644 --- a/modules/zellij/hm.nix +++ b/modules/zellij/hm.nix @@ -3,7 +3,7 @@ mkTarget { name = "zellij"; humanName = "zellij"; - configElements = + config = { colors }: { programs.zellij.themes.stylix = { diff --git a/modules/zen-browser/hm.nix b/modules/zen-browser/hm.nix index 04495db1..44d97cce 100644 --- a/modules/zen-browser/hm.nix +++ b/modules/zen-browser/hm.nix @@ -9,7 +9,7 @@ mkTarget { name = "zen-browser"; humanName = "Zen Browser"; - extraOptions = { + options = { profileNames = lib.mkOption { description = "The Zen Browser profile names to apply styling on."; type = lib.types.listOf lib.types.str; @@ -25,7 +25,7 @@ mkTarget { }; }; - configElements = lib.optionals (options.programs ? zen-browser) [ + config = lib.optionals (options.programs ? zen-browser) [ ( { cfg }: { diff --git a/stylix/mk-target.nix b/stylix/mk-target.nix index aa3a1b68..f987c3d9 100644 --- a/stylix/mk-target.nix +++ b/stylix/mk-target.nix @@ -27,7 +27,7 @@ home.packages = [ pkgs.hello ]; }; - configElements = [ + config = [ { programs.«name».theme.name = "stylix"; } ( @@ -82,7 +82,7 @@ The default (`true`) is inherited from `mkEnableTargetWith`. - `configElements` (List or attribute set or function or path) + `config` (List or attribute set or function or path) : Configuration functions that are automatically safeguarded when any of their arguments is disabled. The provided `cfg` argument conveniently aliases to `config.stylix.targets.${name}`. @@ -115,7 +115,10 @@ automatically by `mkEnableTargetWith` and depends on `autoEnable` and whether an `autoEnableExpr` is used. - `extraOptions` (Attribute set) +   `imports` (List) +   : The `imports` option forwarded to the Nixpkgs module system. + + `options` (Attribute set) : Additional options to be added in the `stylix.targets.${name}` namespace along the `stylix.targets.${name}.enable` option. @@ -125,13 +128,10 @@ { extension.enable = lib.mkEnableOption "the bloated dependency"; } ``` -   `imports` (List) -   : The `imports` option forwarded to the Nixpkgs module system. - `unconditionalConfig` (Attribute set or function or path) - : This argument mirrors the `configElements` argument but intentionally - lacks automatic safeguarding and should only be used for complex - configurations where `configElements` is unsuitable. + : This argument mirrors the `config` argument but intentionally lacks + automatic safeguarding and should only be used for complex configurations + where `config` is unsuitable. # Environment @@ -155,7 +155,7 @@ # home.packages = [ pkgs.hello ]; # }; # -# configElements = [ +# config = [ # { programs.example.theme.name = "stylix"; } # # ( @@ -179,13 +179,15 @@ autoEnable ? null, autoEnableExpr ? null, autoWrapEnableExpr ? null, - configElements ? [ ], + config ? [ ], enableExample ? null, - extraOptions ? { }, imports ? [ ], + options ? { }, unconditionalConfig ? { }, }@args: let + mkTargetConfig = config; + module = { config, lib, ... }: let @@ -250,7 +252,7 @@ let in { imports = imports ++ [ - { options.stylix.targets.${name} = callModule false extraOptions; } + { options.stylix.targets.${name} = callModule false options; } ]; options.stylix.targets.${name}.enable = @@ -270,7 +272,7 @@ let config = lib.mkIf (config.stylix.enable && cfg.enable) ( lib.mkMerge ( lib.singleton (callModule false unconditionalConfig) - ++ map (callModule true) (lib.toList configElements) + ++ map (callModule true) (lib.toList mkTargetConfig) ) ); };