···8888 # Get a submodule without any embedded metadata:
8989 _filter = x: filterAttrs (k: v: k != "_module") x;
90909191- # FIXME(@Ma27) remove before 23.05. This is just a helper-type
9292- # because `mkRenamedOptionModule` doesn't work if `foo.bar` is renamed
9393- # to `foo.bar.baz`.
9494- submodule' = module: types.coercedTo
9595- (mkOptionType {
9696- name = "grafana-provision-submodule";
9797- description = "Wrapper-type for backwards compat of Grafana's declarative provisioning";
9898- check = x:
9999- if builtins.isList x then
100100- throw ''
101101- Provisioning dashboards and datasources declaratively by
102102- setting `dashboards` or `datasources` to a list is not supported
103103- anymore. Use `services.grafana.provision.datasources.settings.datasources`
104104- (or `services.grafana.provision.dashboards.settings.providers`) instead.
105105- ''
106106- else isAttrs x || isFunction x;
107107- })
108108- id
109109- (types.submodule module);
110110-11191 # http://docs.grafana.org/administration/provisioning/#datasources
11292 grafanaTypes.datasourceConfig = types.submodule {
11393 freeformType = provisioningSettingsFormat.type;
···11601140 Declaratively provision Grafana's datasources.
11611141 '';
11621142 default = { };
11631163- type = submodule' {
11431143+ type = types.submodule {
11641144 options.settings = mkOption {
11651145 description = lib.mdDoc ''
11661146 Grafana datasource configuration in Nix. Can't be used with
···12351215 Declaratively provision Grafana's dashboards.
12361216 '';
12371217 default = { };
12381238- type = submodule' {
12181218+ type = types.submodule {
12391219 options.settings = mkOption {
12401220 description = lib.mdDoc ''
12411221 Grafana dashboard configuration in Nix. Can't be used with