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

  # fstab
  if $fstab != false {
    file { "/etc/fstab":
      source => "puppet://$server/modules/nodo/etc/fstab/laptop",
      owner  => "root",
      group  => "root",
      mode   => 0644,
      ensure => present,
      notify => Exec['update-initramfs'],
    }
  }

  # crypttab
  if $crypttab != false {
    file { "/etc/crypttab":
      source    => $hibernate ? {
        false   => "puppet://$server/modules/nodo/etc/crypttab/laptop",
        default => "puppet://$server/modules/nodo/etc/crypttab/laptop.hibernate",
      },
      owner     => "root",
      group     => "root",
      mode      => 0644,
      ensure    => present,
      notify    => Exec['update-initramfs'],
    }

    # hibernation
    file { "/etc/initramfs-tools/conf.d/resume":
      owner     => "root",
      group     => "root",
      mode      => 0644,
      content   => "RESUME=/dev/mapper/cswap",
      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

  backupninja::mysql { "all_databases":
  	backupdir => '/var/backups/mysql',
  	compress  => true,
  	sqldump   => true,
  }
}

class nodo::laptop::dev {
  $apt_include_src      = true
  $apt_use_next_release = true
  include nodo::laptop::webdev
}