Why is a template being looked in a theme and not in my module?
Try like this:

function mymodule_theme($existing, $type, $theme, $path) {
  return array(
    'mymodule_settings' =&gt; array(
      'variables' =&gt; array(
        'role' =&gt; NULL,
      )
      'template' =&gt; 'mymodule-settings',
    )
  );
}


You are missing to define template.