Implemente atributos padrão para cada usuário na definição de tipo:
define user($managehome = true) { ... }
Sim, você precisa usar a mesclagem, mas em vez de especificá-la nos dados da hiera, use o hiera_array
function para fazer a pesquisa dos dados que você deseja.
As chaves SSH são apenas outro atributo no conjunto de dados, que seu tipo user
deve definir adequadamente no sistema.