{ lib, ... }: let userOptions = with lib; with types; { config, ... }: { options.email = mkOption { type = nullOr str; description = "Email address of the user."; }; options.fullName = mkOption { type = nullOr str; description = "Full name of the user."; }; }; in { options = with lib; with types; { users.users = mkOption { type = attrsOf (submodule userOptions); }; }; }