Skip to content

Instantly share code, notes, and snippets.

@danielalvarenga
Created December 16, 2015 01:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save danielalvarenga/afb18a9752ef7aebbb15 to your computer and use it in GitHub Desktop.
Save danielalvarenga/afb18a9752ef7aebbb15 to your computer and use it in GitHub Desktop.
Vagrant configuration with Chef (Berkshelf)
source "https://api.berkshelf.com"
cookbook "apt"
cookbook "build-essential"
cookbook "ffi", git: "git://github.com/tdtadeu/ffi.git"
cookbook "brightbox", git: "git://github.com/bubble-cookbooks/brightbox.git"
# cookbook "mysqlchef", git: "git://github.com/tdtadeu/mysqlchef.git"
cookbook "redis", git: "git://github.com/tdtadeu/redis.git"
cookbook "xvfb"
cookbook "git", git: "git://github.com/tdtadeu/git.git"
cookbook "imagemagick", git: "git://github.com/tdtadeu/imagemagick.git"
cookbook "timezone", git: "git://github.com/winhamwr/chef-timezone.git"
cookbook "oh_my_zsh", git: "git://github.com/tdtadeu/oh-my-zsh-chef.git"
cookbook "phantomjs", git: "git://github.com/tdtadeu/phantomjs.git"
cookbook "nodejs", git: "git://github.com/redguide/nodejs.git"
cookbook "bower", git: "git://github.com/jkulak/bower-cookbook.git"
cookbook "webkit", git: "git://github.com/bubble-cookbooks/webkit.git"
cookbook "tmux", git: "git://github.com/tdtadeu/tmux.git"
cookbook "vim", git: "git://github.com/tdtadeu/vim.git"
cookbook "silver_searcher", git: "git://github.com/tdtadeu/silver-searcher.git"
cookbook "bundle", git: "git://github.com/tdtadeu/bundle.git"
# -*- mode: ruby -*-
# vi: set ft=ruby :
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.network :forwarded_port, guest: 3000, host: 3000
config.vm.network :private_network, ip: "10.11.12.13"
config.ssh.forward_agent = true
config.vm.synced_folder ".", "/vagrant", nfs: true
config.vm.boot_timeout = 120
config.omnibus.chef_version = :latest
config.berkshelf.enabled = true
config.vm.provider "virtualbox" do |v|
host = RbConfig::CONFIG['host_os']
if host =~ /darwin/
cpus = `sysctl -n hw.ncpu`.to_i
mem = `sysctl -n hw.memsize`.to_i / 1024 / 1024 / 2
else
cpus = `nproc`.to_i
mem = `grep 'MemTotal' /proc/meminfo | sed -e 's/MemTotal://' -e 's/ kB//'`.to_i / 1024 / 2
end
v.customize ["modifyvm", :id, "--memory", mem]
v.customize ["modifyvm", :id, "--cpus", cpus]
end
config.vm.provision :chef_solo do |chef|
chef.cookbooks_path = "./cookbooks"
chef.add_recipe "apt"
chef.add_recipe "timezone"
chef.add_recipe "git"
chef.add_recipe "build-essential"
chef.add_recipe "xvfb"
chef.add_recipe "ffi"
chef.add_recipe "imagemagick"
chef.add_recipe "brightbox"
# chef.add_recipe "mysqlchef::service"
chef.add_recipe "redis"
chef.add_recipe "webkit"
chef.add_recipe "phantomjs"
chef.add_recipe "nodejs"
chef.add_recipe "nodejs::npm"
chef.add_recipe "bower"
chef.add_recipe "oh_my_zsh"
chef.add_recipe "bundle"
chef.add_recipe "tmux"
chef.add_recipe "vim"
chef.add_recipe "silver_searcher"
chef.json = {
'apt' => {
'compile_time_update' => true
},
'timezone' => {
'zone' => 'America/Sao_Paulo'
},
'brightbox' => {
'version' => '2.2'
},
'mysql' => {
'root_password' => 'root'
},
'git' => {
'users' => ['vagrant'],
'gist' => 'https://gist.githubusercontent.com/danielalvarenga/62251a2810b52a36e2ed/raw/gitconfig'
},
'tmux' => {
'users' => ['vagrant'],
'gist' => 'https://gist.githubusercontent.com/tdtadeu/b83c8825bea4e4ba2cfd/raw/tmux.conf'
},
'vim' => {
'users' => ['vagrant'],
'gist' => 'https://gist.githubusercontent.com/tdtadeu/264a5341eb19e7b8a8b5/raw/vimrc'
},
'oh_my_zsh' => {
'users' => ['vagrant'],
'theme' => 'clean',
'platform' => 'ubuntu',
'zshrc_gist' => 'https://gist.githubusercontent.com/tdtadeu/1170e9db0c422fad1b7f/raw/.zshrc',
},
'bundle' => {
'users' => ['vagrant']
},
'nodejs' => {
'version' => '0.10.35'
},
'bower' => {
'version' => '1.3.12'
}
}
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment