summaryrefslogtreecommitdiff
path: root/provisioning/modules/pixelated/manifests/source.pp
blob: 0026ed3f9fc1e83871d83220afae98681c42e8e3 (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
class pixelated::source {

  package { [
    'git',
    'nodejs-legacy',
    'npm',
    'python-dev',
    'python-virtualenv',
    'libffi-dev',
    'g++',
    'ruby-dev',
    'libsqlite3-dev' ]:
    ensure => latest
  }

  package { 'compass':
    ensure   => installed,
    provider => 'gem'
  }

  stage { 'install_pixelated': }

  class { 'install_pixelated' :
    stage => install_pixelated
  }

  class install_pixelated {
    $virtualenv_path = "/home/vagrant/user-agent-venv"

    exec { 'install-pixelated':
      environment => 'USERNAME=vagrant',
      command     => "/vagrant/install-pixelated.sh -v \"${virtualenv_path}\"",
      cwd         => '/vagrant',
      user        => 'vagrant',
      timeout     => 0
    }

    exec { 'add_virtualenv_to_bashrc':
      command => "/bin/bash -c 'echo \"source ${virtualenv_path}/bin/activate ; cd /vagrant\" >> /home/vagrant/.bashrc'",
      unless  => "/bin/grep \"source ${virtualenv_path}\" /home/vagrant/.bashrc",
      user    => 'vagrant',
      require => Exec['install-pixelated']
    }
  }

  Stage['main'] -> Stage['install_pixelated']
}