class gitosis { # directory for gitosis user and repositories file { "/var/git": ensure => directory, mode => 0755, owner => gitosis, group => gitosis; } # the needed packages package { [ "gitosis", "sudo", "git"]: ensure => installed; } # alters the user's home dir user { gitosis: allowdupe => false, comment => "git repository hosting,,,", ensure => present, home => "/var/git", shell => "/bin/sh"; } # tries to get rid of ugly directory structure file { "/srv/gitosis": ensure => absent, force => true; } file { "/srv": ensure => absent; } }