I have a list of attrsets that contain options and config keys and want to somehow merge them into a single option and config.
mkMerge
allows this for config but how would I go about doing it for option?
{
config,
lib,
pkgs,
...
}:
with lib; let
cfg = config.programs.lite-xl;
stuff = [
rec {
name = "align_carets";
description = "";
config = mkIf cfg.plugins.${name} {
home.file."somefile".source = "someotherfile.lua";
};
options = {
options.programs.lite-xl.plugins."${name}" = mkEnableOption description;
};
}
# ... more here
];
in {
options = mkMerge (map (p: p.options) stuff); # this doensn't work
config = mkMerge (map (p: p.config) stuff);
}