Skip to content
Snippets Groups Projects
init.pp 2.53 KiB
Newer Older
  • Learn to ignore specific revisions
  • schiermi's avatar
    schiermi committed
    class system {
    
    
    schiermi's avatar
    schiermi committed
    	class { 'apt':
    
    schiermi's avatar
    schiermi committed
    		purge => {
    
    schiermi's avatar
    schiermi committed
    			'sources.list',
    			'sources.list.d',
    			'preferences',
    			'preferences.d',
    
    schiermi's avatar
    schiermi committed
    		},
    
    schiermi's avatar
    schiermi committed
    		sources => {
    			'debian' => {
    				location => 'http://ftp.de.debian.org/debian/',
    				release => "${lsbdistcodename}",
    				repos => 'main non-free contrib',
    			},
    			'debian-security' => {
    				location => 'http://security.debian.org/',
    				release => "${lsbdistcodename}-updates",
    				repos => 'main non-free contrib',
    			},
    			'debian-volatile' => {
    				location => 'http://ftp.de.debian.org/debian/',
    				release => "${lsbdistcodename}-updates",
    				repos => 'main non-free contrib',
    			},
    
    schiermi's avatar
    schiermi committed
    		},
    
    schiermi's avatar
    schiermi committed
    		update => {
    			frequency => 'always',
    		},
    	}
    	
    
    
    schiermi's avatar
    schiermi committed
    	exec { 'add-architecture-i386':
    
    schiermi's avatar
    schiermi committed
    		command => '/usr/bin/dpkg --add-architecture i386',
    		unless => '/bin/fgrep -q i386 /var/lib/dpkg/arch',
    
    schiermi's avatar
    schiermi committed
    		notify => Exec['apt_update'],
    
    schiermi's avatar
    schiermi committed
    	}
    
    	exec { 'aptget-update':
    		command => '/usr/bin/apt-get update',
    		refreshonly => true,
    	}
    
    
    schiermi's avatar
    schiermi committed
    	$packages = [
    		'sudo',
    		'lsof',
    		'vim',
    		'screen',
    		'rsync',
    		'tcpdump',
    		'pv',
    		'openssh-server',
    
    schiermi's avatar
    schiermi committed
    		'locales-all',
    
    schiermi's avatar
    schiermi committed
    		'libpam-tmpdir',
    		'broadcom-sta-dkms',
    
    schiermi's avatar
    schiermi committed
    		'firmware-iwlwifi',
    
    schiermi's avatar
    schiermi committed
    	]
      
    	package { $packages:
    		ensure => installed,
    
    schiermi's avatar
    schiermi committed
    	}
    
    
    schiermi's avatar
    schiermi committed
    	include pam
    	include pam::mkhomedir
    
    schiermi's avatar
    schiermi committed
    
    
    schiermi's avatar
    schiermi committed
    	file { '/etc/pam.d/common-session':
    		source => 'puppet:///modules/system/etc/pam.d/common-session',
    		require => Exec['pam_auth_update'],
    	}
    
    
    schiermi's avatar
    schiermi committed
    	exec { 'systemd-reload':
    		command => '/bin/systemctl daemon-reload',
    		refreshonly => true,
    	}
    
    	file { '/etc/systemd/logind.conf':
    		source => 'puppet:///modules/system/etc/systemd/logind.conf',
    		notify => Exec['systemd-reload'],
    	}
    
    
    schiermi's avatar
    schiermi committed
    	package { 'chrony':
    		ensure => installed,
    	}
    
    	service { 'chrony':
    		ensure => running,
    		enable => true,
    		hasstatus  => false,
    		hasrestart => true,
    		require => Package['chrony'],
    	}
    
    schiermi's avatar
    schiermi committed
    
    
    schiermi's avatar
    schiermi committed
    	package { 'network-manager':
    
    schiermi's avatar
    schiermi committed
    		ensure => installed,
    	}
    
    
    schiermi's avatar
    schiermi committed
    	file { '/etc/network/interfaces':
    		ensure => file,
    		source => 'puppet:///modules/system/etc/network/interfaces',
    		mode => 'a=r',
    		require => Package['network-manager'],
    	}
    
    
    schiermi's avatar
    schiermi committed
    	file { '/etc/NetworkManager/system-connections/ffm.freifunk.net':
    
    schiermi's avatar
    schiermi committed
    		ensure => file,
    
    schiermi's avatar
    schiermi committed
    		source => 'puppet:///modules/system/etc/NetworkManager/system-connections/ffm.freifunk.net',
    
    schiermi's avatar
    schiermi committed
    		mode => 'a=,u=r',
    
    schiermi's avatar
    schiermi committed
    		require => Package['network-manager'],
    
    schiermi's avatar
    schiermi committed
    	}
    
    	file { '/etc/NetworkManager/system-connections/wired':
    
    schiermi's avatar
    schiermi committed
    		ensure => file,
    
    schiermi's avatar
    schiermi committed
    		source => 'puppet:///modules/system/etc/NetworkManager/system-connections/wired',
    
    schiermi's avatar
    schiermi committed
    		mode => 'a=,u=r',
    
    schiermi's avatar
    schiermi committed
    		require => Package['network-manager'],
    
    schiermi's avatar
    schiermi committed
    	}
    
    	package { 'wicd*':
    		ensure => absent,
    
    schiermi's avatar
    schiermi committed
    		require => Package['network-manager'],
    
    schiermi's avatar
    schiermi committed
    	}
    
    
    schiermi's avatar
    schiermi committed
    }