# 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', # NOTE Package name only checked on Archlinux require => Package['xorg'], } 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 { 'Keycool keyboard layout': ensure => file, path => '/etc/X11/xorg.conf.d/01-keycool-keyword.conf', content => @(EOF) Section "InputClass" Identifier "KeyCool Keyboard" MatchUSBID "0483:4051" 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', } ensure_packages([ 'alacritty', 'emacs', 'feh', 'firefox', # TODO this fails if another conflicting vim is already installed 'gvim', # Arch specific name? 'otf-fira-mono', 'scrot', 'transmission-remote-gtk', 'ttf-fira-mono', 'xclip', 'xorg', 'xorg-xinit', 'xorg-fonts-misc', 'xdg-utils', 'arandr', 'xterm', 'zathura', 'zathura-pdf-mupdf', 'zathura-ps', ]) include ::profiles::pulseaudio include ::profiles::xmonad }