summaryrefslogtreecommitdiff
path: root/manifests/workstation.pp
blob: 134123010670aa668e299a4fcdca970525c0b206 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# Workstation setup, for non graphical environmentns
class profiles::workstation (
) {
  $os_name = $facts['os']['name'].downcase()
  if defined($os_name) {
    include "::profiles::workstation::name::${os_name}"
  }

  $os_fam = $facts['os']['family'].downcase()
  if defined($os_fam) {
    include "::profiles::workstation::family::${os_fam}"
  }

  include ::profiles::group_profile

  include ::profiles::repo

  if ($facts['systemd']) {
    file { 'User ssh-agent service':
      path   => '/etc/systemd/user/ssh-agent.service',
      source => "puppet:///modules/profiles/ssh-agent.service",
    }
  }

  # NOTE Hard coding checksums here kind of defeats the point of
  # pulling in data from above (since we no longer get updates),
  # but since GitHub doesn't send checksum headers the files gets
  # updated every time otherwise, which creates noise.

  file { 'Dvorak A6 TTY keyboard layout':
    ensure         => file,
    path           => '/usr/share/kbd/keymaps/i386/dvorak/dvorak-sv-a6.map',
    checksum       => 'md5',
    checksum_value => '96be6c1aa81522db46673c0f68e3336a',
    source         => 'https://raw.githubusercontent.com/HugoNikanor/keymaps/master/linux-tty/dvorak-sv-a6.map',
  }

  file { 'Setup console':
    ensure  => file,
    path    => '/etc/vconsole.conf',
    content =>  epp('profiles/keyvalue.epp', { 'values' => {
      'KEYMAP' => 'dvorak-sv-a6',
      'FONT'   => 'lat9v-12',
    }}),
  }

  # Packages I almost certainly want
  ensure_packages([
    'bash-completion',
    'cloc',
    'ctags',
    'ed',
    'git',
    'htop',
    'moreutils',
    'vi',
    'wget',
    'curl',
  ])

  # Packages I want for most system
  ensure_packages([
    'direnv',
    'elinks',
    'ghc-libs',
    'highlight',
    'isync',
    'mpc',
    'mutt',
    'ncmpc',
    'nmap',
    'pass',
    'pass-otp',
    'python-pip', # version depending on system?
    'ranger',
    'sshuttle',
    'valgrind',
    'weechat',
  ])


  include ::profiles::imagemagick
  include ::profiles::cowsay
  include ::profiles::tex
  include ::profiles::sudo
  include ::profiles::mounts
}