aboutsummaryrefslogtreecommitdiff
path: root/manifests/laptop.pp
blob: 18fedb5d0491cb730ab9a5524e78a2c68fcd2e17 (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
class nodo::laptop inherits nodo::personal {
  include utils::laptop
  include modprobe::laptop
  include sysctl::laptop
  include firewall::wifi
  include firewall::openvpn
  include firewall::ppp
  include dhclient

  # fstab
  if $fstab != false {
    class { 'fstab':
      type => 'laptop',
    }
  }

  # crypttab
  if $crypttab != false {
    class { 'crypttab':
      type => $hibernate ? {
        false   => "laptop",
        default => "laptop.hibernate",
      },
    }
  }

  # hibernation
  file { "/etc/initramfs-tools/conf.d/resume":
    owner     => "root",
    group     => "root",
    mode      => 0644,
    content   => "RESUME=/dev/mapper/cswap\n",
    notify    => Exec['update-initramfs'],
    ensure    => $hibernate ? {
      false   => absent,
      default => present,
    },
  }

  # upgrade from lenny
  if $lsbdistcodename != 'lenny' {
    file { "/etc/modprobe.d/madwifi":
      ensure => absent,
    }
  }
}

class nodo::laptop::webdev inherits nodo::laptop {
  include websites::dev
  include database
  include utils::web
}

class nodo::laptop::minimal {
  $fstab    = false
  $crypttab = false
  $xorg     = false
  $pam      = false

  # Backups should happen when the box is likely to be online
  $backup_when = 'everyday at 12:00'

  # Desktop class
  include nodo::laptop
}