+ options.myServices.ssh = let
+ module = lib.types.submodule {
+ options = {
+ snippet = lib.mkOption {
+ type = lib.types.lines;
+ description = ''
+ Snippet to use
+ '';
+ };
+ dependencies = lib.mkOption {
+ type = lib.types.listOf lib.types.package;
+ default = [];
+ description = ''
+ Dependencies of the package
+ '';
+ };
+ };
+ };
+ in {
+ predefinedModules = lib.mkOption {
+ type = lib.types.attrsOf module;
+ default = {
+ regular = {
+ snippet = builtins.readFile ./ldap_regular.sh;
+ };
+ };
+ readOnly = true;
+ description = ''
+ Predefined modules
+ '';
+ };
+ modules = lib.mkOption {
+ type = lib.types.listOf module;
+ default = [];
+ description = ''
+ List of modules to enable
+ '';
+ };
+ };