summaryrefslogtreecommitdiff
path: root/modules/profiles/manifests/workstation.pp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/profiles/manifests/workstation.pp')
-rw-r--r--modules/profiles/manifests/workstation.pp126
1 files changed, 126 insertions, 0 deletions
diff --git a/modules/profiles/manifests/workstation.pp b/modules/profiles/manifests/workstation.pp
index 724a1b5..fe7e1cb 100644
--- a/modules/profiles/manifests/workstation.pp
+++ b/modules/profiles/manifests/workstation.pp
@@ -3,4 +3,130 @@ class profiles::workstation {
include "::profiles::workstation::${os}"
include ::profiles::group_profile
+
+ # TODO only if we use systemd
+ file { 'User ssh-agent service':
+ path => '/etc/systemd/user/ssh-agent.service',
+ source => "puppet:///modules/profiles/ssh-agent.service",
+ }
+
+ file { 'Dvorak A6 TTY keyboard layout':
+ ensure => file,
+ path => '/usr/share/kbd/keymaps/i386/dvorak/dvorak-sv-a6.map',
+ source => 'https://raw.githubusercontent.com/HugoNikanor/keymaps/master/linux-tty/dvorak-sv-a6.map',
+ }
+
+ file { 'Dvorak A6 X11 keyboard layout':
+ ensure => file,
+ path => '/usr/share/X11/xkb/symbols/planck',
+ source => 'https://raw.githubusercontent.com/HugoNikanor/keymaps/master/X11/planck',
+ }
+
+ $xkb_layout = 'planck'
+ $xkb_variant = 'dvorak_a6'
+ $xkb_options = 'compose:caps'
+
+ file { 'Default X11 keymap':
+ ensure => file,
+ path => '/etc/X11/xorg.conf.d/00-keyboard.conf',
+ content => @("EOF")
+ Section "InputClass"
+ Identifier "system-keyboard"
+ MatchIsKeyboard "on"
+ Option "XkbLayout" "${xkb_layout}"
+ Option XkbModel "pc105"
+ Option "XkbVariant" "${xkb_variant}"
+ Option "XkbOptions" "${xkb_options}"
+ EndSection
+ | EOF
+ }
+
+ file { 'Model M X11 keymap':
+ ensure => file,
+ path => '/etc/X11/xorg.conf.d/01-model-m.conf',
+ content => @(EOF)
+ Section "InputClass"
+ Identifier "Model M"
+ MathUSBID "17f6:0822"
+ Option "XkbLayout" "us"
+ Option "XkbVariant" "dvorak"
+ EndSection
+ | EOF
+ }
+
+ file { 'Setup console':
+ ensure => file,
+ path => '/etc/vconsole.conf',
+ content => epp('profiles/keyvalue.epp', { 'values' => {
+ 'KEYMAP' => 'dvorak-sv-a6',
+ 'FONT' => 'lat9v-12',
+ }}),
+ }
+
+ $cowpath = [
+ '/usr/share/cows',
+ '/usr/local/share/cows',
+ ]
+
+ file { '/etc/environment':
+ content => epp('profiles/keyvalue.epp', { values => {
+ 'COWPATH' => $cowpath.join(':'),
+ 'MANWIDTH' => 80,
+ 'MPD_HOST' => 'jukebox.lysator.liu.se',
+ 'PAGER' => 'less',
+ 'EDITOR' => '/usr/bin/vi',
+ 'VISUAL' => '/usr/bin/vim',
+ }})
+ }
+
+ service { 'systemd-resolved':
+ enable => mask,
+ }
+
+ file { 'Passmenu with OTP support':
+ path => '/usr/local/bin/passmenu',
+ mode => '0555',
+ source => 'puppet:///modules/profiles/passmenu',
+ }
+
+ file { '/etc/sudoers':
+ validate_cmd => '/usr/bin/visudo -cf %',
+ content => @(EOF)
+ Defaults insults
+ root ALL=(ALL) ALL
+ %root ALL=(ALL) ALL
+ %wheel ALL=(ALL) ALL
+
+ @includedir /etc/sudoers.d
+ | EOF
+ }
+
+ $locales = [
+ 'en_DK.UTF-8 UTF-8',
+ 'en_US.UTF-8 UTF-8',
+ 'sv_SE.UTF-8 UTF-8',
+ 'sv_SE.ISO-8859-1 ISO-8859-1',
+ '',
+ ]
+
+ file { '/etc/locale.gen':
+ content => $locales.join("\n")
+ } ~> exec { 'locale-gen':
+ path => [ '/bin', '/usr/bin', ],
+ }
+
+ file { 'Default locales':
+ path => '/etc/locale.conf',
+ content => @(EOF)
+ LANG=en_US.UTF-8
+ LC_TIME=sv_SE.UTF-8
+ | EOF
+ }
+
+ $timezone = 'Europe/Stockholm'
+
+ file { '/etc/localtime':
+ ensure => link,
+ target => "/usr/share/zoneinfo/${timezone}",
+ }
}