# personal computer
class nodo::personal {
  include nodo::physical
  include utils::personal
  include autossh

  class { 'pam': }
  class { 'xorg': }

  if $::lsbdistcodename == 'squeeze' {
    include gdm
  }
  else {
    include gdm3
  }

  # Monitoring
  class { 'monitor':
    type       => 'personal',
    use_nagios => hiera('nodo::personal::use_nagios', false),
  }

  # Removable media folder
  file { [ "/media/usb", "/media/cdrom", "/media/tablet", "/media/phone" ]:
    ensure => directory,
    mode   => 0755,
  }

  # Mountpoint for encrypted home folders
  file { [ '/mnt/crypt/', '/mnt/crypt/home' ]:
    ensure => directory,
  }

  # Media cache
  file { "/var/cache/media":
    ensure => directory,
    mode   => 0755,
  }

  # Data folder is a cache
  file { "/var/data":
    ensure => "/var/cache/media",
  }

  # Misc user data
  file { [ "/var/data/code", "/var/data/crypt", "/var/data/crypt/home", "/var/data/load" ]:
    ensure  => directory,
    mode    => 0755,
    require => File['/var/cache/media'],
  }

  # Hostname cache for general use
  file { "/var/cache/${::hostname}":
    ensure => directory,
    mode   => 0755,
  }

  # Link to the media cache, useful to have unique remotes
  # for git-annex in removable media
  file { "/var/cache/${::hostname}/media":
    ensure => "/var/cache/media",
  }

  # Development
  file { [ "/var/cache/vagrant", "/var/cache/virtualbox" ]:
    ensure => directory,
    mode   => 0755,
  }
}