Parece que seu gerenciador de pacotes falhou ao criar o banco de dados chamado $user para você. A razão que
psql -d template1
funciona para você é que template1 é um banco de dados criado pelo próprio postgres, e está presente em todas as instalações. Aparentemente você é capaz de logar em template1, então você deve ter alguns direitos atribuídos a você pelo banco de dados. Tente isso em um prompt do shell:
createdb
e depois veja se você pode fazer login novamente com
psql -h localhost
Isso simplesmente criará um banco de dados para o seu usuário de login, que acho que é o que você está procurando. Se o createdb falhar, você não terá direitos suficientes para criar seu próprio banco de dados e terá que descobrir como corrigir o pacote homebrew.