Skip to content
Snippets Groups Projects
init.pp 4.47 KiB
Newer Older
  • Learn to ignore specific revisions
  • schiermi's avatar
    schiermi committed
    class desktop {
    
    
    schiermi's avatar
    schiermi committed
    	file { '/etc/skel/Desktop':
    		ensure => directory,
    
    schiermi's avatar
    schiermi committed
    	}
    
    
    schiermi's avatar
    schiermi committed
    	package { 'xinit':
    		ensure => installed,
    	}
    
    
    schiermi's avatar
    schiermi committed
    	package { 'lxde':
    		ensure => installed,
    
    schiermi's avatar
    schiermi committed
    		require => Package['xinit'],
    
    schiermi's avatar
    schiermi committed
    	}
    
    
    schiermi's avatar
    schiermi committed
    	file { '/etc/skel/Desktop/libreoffice-startcenter.desktop':
    		source => '/usr/share/applications/libreoffice-startcenter.desktop',
    
    schiermi's avatar
    schiermi committed
    		require => [
    			Package['libreoffice'],
    			File['/etc/skel/Desktop'],
    		],
    	}
    
    
    schiermi's avatar
    schiermi committed
    	file { '/etc/skel/Desktop/lxde-logout.desktop':
    		source => '/usr/share/applications/lxde-logout.desktop',
    		require => [
    			Package['lxde'],
    			File['/etc/skel/Desktop'],
    		],
    	}
    
    	file { '/etc/skel/Desktop/leafpad.desktop':
    		source => '/usr/share/applications/leafpad.desktop',
    		require => [
    			Package['lxde'],
    			File['/etc/skel/Desktop'],
    		],
    	}
    
    	file { '/etc/skel/Desktop/galculator.desktop':
    		source => '/usr/share/applications/galculator.desktop',
    		require => [
    			Package['lxde'],
    			File['/etc/skel/Desktop'],
    		],
    
    schiermi's avatar
    schiermi committed
    	}
    
    
    schiermi's avatar
    schiermi committed
    	file { '/etc/skel/Desktop/chromium-l10n.desktop':
    		source => '/usr/share/applications/chromium.desktop',
    		require => [
    			Package['chromium'],
    			File['/etc/skel/Desktop'],
    		],
    	}
    
    	
    	file { '/etc/skel/Desktop/florence.desktop':
    		source => '/usr/share/applications/florence.desktop',
    		require => [
    			Package['florence'],
    			File['/etc/skel/Desktop'],
    		],
    	}
    
    schiermi's avatar
    schiermi committed
    
    	$dms = [
    		'lightdm*',
    		'kdm',
    		'gdm3',
    		'nodm',
    		'wdm',
    		'xdm',
    		'slim',
    	]
    
    	package { $dms:
    
    schiermi's avatar
    schiermi committed
    		ensure => absent,
    		require => Package['lxde'],
    	}
    
    
    schiermi's avatar
    schiermi committed
    	$packages = [
    		'iceweasel',
    		'iceweasel-l10n-*',
    
    schiermi's avatar
    schiermi committed
    		'gstreamer1.0-libav',
    		'gstreamer1.0-plugins-good',
    		'flashplugin-nonfree',
    		'chromium',
    		'chromium-l10n',
    		'libreoffice',
    
    schiermi's avatar
    schiermi committed
    		'libreoffice-help-*',
    
    		'libreoffice-l10n-*',
    
    schiermi's avatar
    schiermi committed
    		'ttf-mscorefonts-installer',
    		'ttf-liberation',
    		'fonts-crosextra-carlito',
    		'fonts-crosextra-caladea',
    
    schiermi's avatar
    schiermi committed
    	]
      
    	package { $packages:
    		ensure => installed,
    
    schiermi's avatar
    schiermi committed
    	}
    
    
    schiermi's avatar
    schiermi committed
    	file { '/etc/skel/Desktop/iceweasel.desktop':
    		source => '/usr/share/applications/iceweasel.desktop',
    		require => [
    			Package['iceweasel'],
    			File['/etc/skel/Desktop'],
    		],
    	}
    
    
    schiermi's avatar
    schiermi committed
    	file { '/etc/iceweasel/profile/prefs.js':
    
    schiermi's avatar
    schiermi committed
    		source => 'puppet:///modules/desktop/etc/iceweasel/profile/prefs.js',
    
    schiermi's avatar
    schiermi committed
    		require => [
    			Package['iceweasel'],
    		],
    	}
    
    
    schiermi's avatar
    schiermi committed
    	group { 'guest':
    		ensure => 'present'
    	}
    
    	user { 'guest':
    
    schiermi's avatar
    schiermi committed
    		uid => 5000,
    
    schiermi's avatar
    schiermi committed
    		home => '/run/user/5000/home',
    
    schiermi's avatar
    schiermi committed
    		# password: guest
    		password => '$6$pheeghohphaikuka$lJodCaTfZG4IhXw9.htxDsMDAiQrhOsXyJR.nvCdWc2EHgmstkTrpn/8LWi83e9Ac.WFDfzmQ1phpDII/npl/0',
    
    schiermi's avatar
    schiermi committed
    		managehome => false,
    
    schiermi's avatar
    schiermi committed
    		gid => 'guest',
    
    schiermi's avatar
    schiermi committed
    		groups => [
    				'plugdev',
    				'cdrom',
    				'audio',
    				'video',
    			],
    
    schiermi's avatar
    schiermi committed
    		shell => '/bin/bash',
    
    schiermi's avatar
    schiermi committed
    		require => Group['guest'],
    
    schiermi's avatar
    schiermi committed
    		ensure => 'present',
    
    schiermi's avatar
    schiermi committed
    	}
    
    
    schiermi's avatar
    schiermi committed
    	$packages_i386 = [
    		'libc6:i386',
    		'libqt4-dbus:i386',
    		'libqt4-network:i386',
    		'libqt4-xml:i386',
    		'libqtcore4:i386',
    		'libqtgui4:i386',
    		'libqtwebkit4:i386',
    		'libstdc++6:i386',
    		'libx11-6:i386',
    		'libxext6:i386',
    		'libxss1:i386',
    		'libxv1:i386',
    		'libssl1.0.0:i386',
    		'libpulse0:i386',
    		'libasound2-plugins:i386',
    	]
    
    	package { $packages_i386:
    
    schiermi's avatar
    schiermi committed
    		ensure => installed,
    
    schiermi's avatar
    schiermi committed
    		require => [
    				Exec['add-architecture-i386'],
    
    schiermi's avatar
    schiermi committed
    				Exec['apt_update'],
    
    schiermi's avatar
    schiermi committed
    			],
    
    schiermi's avatar
    schiermi committed
    	}
    
    	exec { 'download-skype':
    
    schiermi's avatar
    schiermi committed
    		command => '/usr/bin/wget -qO/var/cache/.skype-install.deb.part http://www.skype.com/go/getskype-linux-deb && /bin/mv /var/cache/.skype-install.deb.part /var/cache/skype-install.deb',
    
    schiermi's avatar
    schiermi committed
    		creates => '/var/cache/skype-install.deb',
    	}
    
    	package { 'skype':
    		provider => dpkg,
    		ensure => latest,
    		source => '/var/cache/skype-install.deb',
    
    schiermi's avatar
    schiermi committed
    		require => [
    			Exec['download-skype'],
    			Package['libc6:i386'],
    			],	
    
    schiermi's avatar
    schiermi committed
    	}
    
    	file { '/etc/skel/Desktop/skype.desktop':
    		source => '/usr/share/applications/skype.desktop',
    		require => [
    			Package['skype'],
    			File['/etc/skel/Desktop'],
    		],
    	}
    
    
    schiermi's avatar
    schiermi committed
    	exec { 'enable-guestx11':
    
    schiermi's avatar
    schiermi committed
    		command => '/bin/systemctl enable guestx11.service',
    
    schiermi's avatar
    schiermi committed
    		refreshonly => true,
    	}
    		
    	exec { 'start-guestx11':
    
    schiermi's avatar
    schiermi committed
    		command => '/bin/systemctl start guestx11.service',
    
    schiermi's avatar
    schiermi committed
    		refreshonly => true,
    	}
    
    	file { '/usr/local/sbin/x11login':
    		source => 'puppet:///modules/desktop/usr/local/sbin/x11login',
    		mode => 'a=rx',
    		ensure => file,
    	}
    
    
    schiermi's avatar
    schiermi committed
    	file { '/etc/skel':
    		source => 'puppet:///modules/desktop/etc/skel',
    		recurse => true,
    
    schiermi's avatar
    schiermi committed
    	}
    
    	file { '/etc/systemd/system/guestx11.service':
    		source => 'puppet:///modules/desktop/etc/systemd/system/guestx11.service',
    		mode => 'a=rx',
    		require => [
    				Package['lxde'],
    				File['/etc/skel/Desktop'],
    				File['/usr/local/sbin/x11login'],
    
    schiermi's avatar
    schiermi committed
    				File['/etc/skel'],
    
    schiermi's avatar
    schiermi committed
    			],
    		notify => [
    				Exec['enable-guestx11'],
    				Exec['start-guestx11'],
    			],
    		ensure => file,
    	}
    
    schiermi's avatar
    schiermi committed
    
    
    schiermi's avatar
    schiermi committed
    }