summaryrefslogtreecommitdiff
path: root/manifests/workstation_x.pp
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/workstation_x.pp')
-rw-r--r--manifests/workstation_x.pp67
1 files changed, 67 insertions, 0 deletions
diff --git a/manifests/workstation_x.pp b/manifests/workstation_x.pp
new file mode 100644
index 0000000..b065d96
--- /dev/null
+++ b/manifests/workstation_x.pp
@@ -0,0 +1,67 @@
+# Workstation setup, for environments with X
+class profiles::workstation_x (
+ String $xkb_layout = 'planck',
+ String $xkb_variant = 'dvorak_a6',
+ String $xkb_options = 'compose:caps',
+) {
+ include ::profiles::workstation
+
+ file { 'Dvorak A6 X11 keyboard layout':
+ ensure => file,
+ path => '/usr/share/X11/xkb/symbols/planck',
+ checksum => 'md5',
+ checksum_value => '1f1023f6958916de592695cedbc94e5c',
+ source => 'https://raw.githubusercontent.com/HugoNikanor/keymaps/master/X11/planck',
+ }
+
+ file { '/etc/X11/xorg.conf.d':
+ ensure => directory,
+ recurse => false,
+ }
+
+
+ file { 'X11 Raise max clients':
+ ensure => file,
+ path => '/etc/X11/xorg.conf.d/99-maxclients.conf',
+ content => @(EOF)
+ Section "ServerFlags"
+ Option "MaxClients" "2048"
+ EndSection
+ | EOF
+ }
+
+ 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"
+ MatchUSBID "17f6:0822"
+ Option "XkbLayout" "us"
+ Option "XkbVariant" "dvorak"
+ EndSection
+ | EOF
+ }
+
+
+ file { 'Passmenu with OTP support':
+ path => '/usr/local/bin/passmenu',
+ mode => '0555',
+ source => 'puppet:///modules/profiles/passmenu',
+ }
+}