class base_configuration ( $hostname = undef, $username = "immae", $userid = 1000 ) { unless empty($hostname) { class { 'systemd::hostname': hostname => $hostname } } user { "${username}:${userid}": name => $username, uid => $userid, ensure => "present", groups => "wheel", managehome => true, notify => Exec["remove_password"] } exec { "remove_password": command => "/usr/bin/chage -d 0 $username && /usr/bin/passwd -d $username", refreshonly => true } ssh_authorized_key { $username: name => "immae@immae.eu", user => $username, type => "ssh-rsa", key => "AAAAB3NzaC1yc2EAAAADAQABAAABAQDi5PgLBwMRyRwzJPnSgUyRAuB9AAxMijsw1pR/t/wmxQne1O5fIPOleHx+D8dyZbwm+XkzlcJpgT0Qy3qC9J8BPhshJvO/tA/8CI/oS/FE0uWsyACH1DMO2dk4gRRZGSE9IuzDMRPlnfZ3n0tdsPzzv3GH4It/oPIgsvkTowKztGLQ7Xmjr5BxzAhXcIQymqA0U3XWHSdWvnSRDaOFG0PDoVMS85IdwlviVKLnV5Sstb4NC/P28LFfgvW8DO/XrOqujgDomqTmR41dK/AyrGGOb2cQUMO4l8Oa+74aOyKaB61rr/rJkr+wCbEttkTvgFa6zZygSk3edfiWE2rgn4+v" } class { 'sudo': config_file_replace => false } sudo::conf { 'wheel': priority => 10, content => "%wheel ALL=(ALL) ALL" } class { 'ssh::server': storeconfigs_enabled => false, options => { 'AcceptEnv' => undef, 'X11Forwarding' => 'yes', 'PrintMotd' => 'no', 'ChallengeResponseAuthentication' => 'no', 'Subsystem' => 'sftp /usr/lib/openssh/sftp-server', } } }