+
+ ensure_packages('ruby-shadow')
+ user { 'root':
+ password => '!'
+ }
+
+ file { '/etc/modprobe.d/pcspkr_no_autoload.conf':
+ ensure => "present",
+ path => "/etc/modprobe.d/pcspkr_no_autoload.conf",
+ source => 'puppet:///modules/base_configuration/pcspkr_no_autoload.conf',
+ mode => "0644",
+ owner => "root",
+ group => "root"
+ }
+
+ file { '/etc/systemd/system/getty@tty1.service.d/':
+ ensure => "directory",
+ path => "/etc/systemd/system/getty@tty1.service.d/",
+ mode => "0755",
+ owner => "root",
+ group => "root"
+ }
+
+ file { '/etc/systemd/system/getty@tty1.service.d/noclear.conf':
+ ensure => "present",
+ path => "/etc/systemd/system/getty@tty1.service.d/noclear.conf",
+ source => 'puppet:///modules/base_configuration/getty_conf_override.conf',
+ recurse => true,
+ mode => "0644",
+ owner => "root",
+ group => "root"
+ }
+
+ file { '/etc/systemd/network/en-dhcp.network':
+ ensure => "present",
+ path => "/etc/systemd/network/en-dhcp.network",
+ source => 'puppet:///modules/base_configuration/en-dhcp.network',
+ mode => "0644",
+ owner => "root",
+ group => "root"
+ }
+
+ file { '/etc/pacman.d/mirrorlist':
+ ensure => "present",
+ path => "/etc/pacman.d/mirrorlist",
+ source => 'puppet:///modules/base_configuration/mirrorlist',
+ mode => "0644",
+ owner => "root",
+ group => "root"
+ }
+
+ class { 'pacman':
+ color => true,
+ usesyslog => true,
+ }
+
+ pacman::repo { 'multilib':
+ order => 15,
+ include => '/etc/pacman.d/mirrorlist'
+ }
+
+ class { '::logrotate':
+ manage_cron_daily => false,
+ config => {
+ rotate_every => 'week',
+ rotate => 4,
+ create => true,
+ compress => true,
+ olddir => '/var/log/old',
+ tabooext => "+ .pacorig .pacnew .pacsave",
+ }
+ }
+
+ logrotate::rule { 'wtmp':
+ path => '/var/log/wtmp',
+ rotate_every => 'month',
+ create => true,
+ create_mode => '0664',
+ create_owner => 'root',
+ create_group => 'utmp',
+ rotate => 1,
+ minsize => '1M',
+ }
+ logrotate::rule { 'btmp':
+ path => '/var/log/btmp',
+ missingok => true,
+ rotate_every => 'month',
+ create => true,
+ create_mode => '0600',
+ create_owner => 'root',
+ create_group => 'utmp',
+ rotate => 1,
+ }
+
+ ensure_packages(["whois"], { 'install_options' => '--asdeps' })
+ class { 'fail2ban':
+ logtarget => 'SYSLOG',
+ backend => 'systemd'
+ }
+ fail2ban::jail { 'sshd':
+ backend => 'systemd',
+ port => 'ssh',
+ filter => 'sshd',
+ maxretry => 10,
+ bantime => 86400,
+ logpath => '',
+ order => 10
+ }
+
+ class { 'aur': }