50 lines
732 B
Nix
50 lines
732 B
Nix
{ lib, ... }:
|
|
let
|
|
inherit (lib) mkOption types;
|
|
|
|
moduleWithoutKey = {
|
|
config = {
|
|
raw = "pear";
|
|
};
|
|
};
|
|
|
|
moduleWithKey = {
|
|
key = __curPos.file + "#moduleWithKey";
|
|
config = {
|
|
raw = "pear";
|
|
};
|
|
};
|
|
|
|
decl = {
|
|
options = {
|
|
raw = mkOption {
|
|
type = types.lines;
|
|
};
|
|
};
|
|
};
|
|
in
|
|
{
|
|
options = {
|
|
once = mkOption {
|
|
type = types.submodule {
|
|
imports = [
|
|
decl
|
|
moduleWithKey
|
|
moduleWithKey
|
|
];
|
|
};
|
|
default = {};
|
|
};
|
|
twice = mkOption {
|
|
type = types.submodule {
|
|
imports = [
|
|
decl
|
|
moduleWithoutKey
|
|
moduleWithoutKey
|
|
];
|
|
};
|
|
default = {};
|
|
};
|
|
};
|
|
}
|