{ config, pkgs, lib, options, ... }: with builtins // lib; let cfg = config.kfmon; in { options.kfmon = { enable = mkEnableOption "KFMon"; path = mkOption { type = types.str; default = ".adds/kfmon"; description = "Relative path to kfmon within src"; }; file = mkOption { type = options.file.type; default = {}; description = "Files relative to ${cfg.path}"; }; }; config = mkIf cfg.enable { file = mapAttrs' (n: v: { name = "kfmon-${n}"; value = v // { target = "${cfg.path}/${v.target}"; }; }) cfg.file }; }