Commit c45e80a8ebf470969f5d4bdf5947b53dffa04a29

Authored by Jianwei Han
1 parent 225d9deac5
Exists in master

Update puppet-dotfiles

Showing 3 changed files with 17 additions and 29 deletions Inline Diff

# This file manages Puppet module dependencies. 1 1 # This file manages Puppet module dependencies.
# 2 2 #
# It works a lot like Bundler. We provide some core modules by 3 3 # It works a lot like Bundler. We provide some core modules by
# default. This ensures at least the ability to construct a basic 4 4 # default. This ensures at least the ability to construct a basic
# environment. 5 5 # environment.
6 6
# Shortcut for a module from GitHub's boxen organization 7 7 # Shortcut for a module from GitHub's boxen organization
def github(name, *args) 8 8 def github(name, *args)
options ||= if args.last.is_a? Hash 9 9 options ||= if args.last.is_a? Hash
args.last 10 10 args.last
else 11 11 else
{} 12 12 {}
end 13 13 end
14 14
if path = options.delete(:path) 15 15 if path = options.delete(:path)
mod name, :path => path 16 16 mod name, :path => path
else 17 17 else
version = args.first 18 18 version = args.first
options[:repo] ||= "boxen/puppet-#{name}" 19 19 options[:repo] ||= "boxen/puppet-#{name}"
mod name, version, :github_tarball => options[:repo] 20 20 mod name, version, :github_tarball => options[:repo]
end 21 21 end
end 22 22 end
23 23
# Shortcut for a module under development 24 24 # Shortcut for a module under development
def dev(name, *args) 25 25 def dev(name, *args)
mod name, :path => "#{ENV['HOME']}/src/boxen/puppet-#{name}" 26 26 mod name, :path => "#{ENV['HOME']}/src/boxen/puppet-#{name}"
end 27 27 end
28 28
# Includes many of our custom types and providers, as well as global 29 29 # Includes many of our custom types and providers, as well as global
# config. Required. 30 30 # config. Required.
31 31
github "boxen", "3.6.1" 32 32 github "boxen", "3.6.1"
33 33
# Support for default hiera data in modules 34 34 # Support for default hiera data in modules
35 35
github "module-data", "0.0.3", :repo => "ripienaar/puppet-module-data" 36 36 github "module-data", "0.0.3", :repo => "ripienaar/puppet-module-data"
37 37
# Core modules for a basic development environment. You can replace 38 38 # Core modules for a basic development environment. You can replace
# some/most of these if you want, but it's not recommended. 39 39 # some/most of these if you want, but it's not recommended.
40 40
github "dnsmasq", "1.0.1" 41 41 github "dnsmasq", "1.0.1"
github "gcc", "2.0.101" 42 42 github "gcc", "2.0.101"
github "git", "2.4.0" 43 43 github "git", "2.4.0"
github "homebrew", "1.9.4" 44 44 github "homebrew", "1.9.4"
github "hub", "1.3.0" 45 45 github "hub", "1.3.0"
github "inifile", "1.0.3", :repo => "puppetlabs/puppetlabs-inifile" 46 46 github "inifile", "1.0.3", :repo => "puppetlabs/puppetlabs-inifile"
github "nginx", "1.4.3" 47 47 github "nginx", "1.4.3"
github "nodejs", "3.7.0" 48 48 github "nodejs", "3.7.0"
github "openssl", "1.0.0" 49 49 github "openssl", "1.0.0"
github "pkgconfig", "1.0.0" 50 50 github "pkgconfig", "1.0.0"
github "repository", "2.3.0" 51 51 github "repository", "2.3.0"
github "ruby", "8.0.4" 52 52 github "ruby", "8.0.4"
github "stdlib", "4.2.1", :repo => "puppetlabs/puppetlabs-stdlib" 53 53 github "stdlib", "4.2.1", :repo => "puppetlabs/puppetlabs-stdlib"
GITHUBTARBALL 1 1 GITHUBTARBALL
remote: boxen/puppet-boxen 2 2 remote: boxen/puppet-boxen
specs: 3 3 specs:
boxen (3.6.1) 4 4 boxen (3.6.1)
5 5
GITHUBTARBALL 6 6 GITHUBTARBALL
remote: boxen/puppet-dnsmasq 7 7 remote: boxen/puppet-dnsmasq
specs: 8 8 specs:
dnsmasq (1.0.1) 9 9 dnsmasq (1.0.1)
10 10
GITHUBTARBALL 11 11 GITHUBTARBALL
remote: boxen/puppet-gcc 12 12 remote: boxen/puppet-gcc
specs: 13 13 specs:
gcc (2.0.101) 14 14 gcc (2.0.101)
15 15
GITHUBTARBALL 16 16 GITHUBTARBALL
remote: boxen/puppet-git 17 17 remote: boxen/puppet-git
specs: 18 18 specs:
git (2.4.0) 19 19 git (2.4.0)
20 20
GITHUBTARBALL 21 21 GITHUBTARBALL
remote: boxen/puppet-homebrew 22 22 remote: boxen/puppet-homebrew
specs: 23 23 specs:
homebrew (1.9.4) 24 24 homebrew (1.9.4)
25 25
GITHUBTARBALL 26 26 GITHUBTARBALL
remote: boxen/puppet-hub 27 27 remote: boxen/puppet-hub
specs: 28 28 specs:
hub (1.3.0) 29 29 hub (1.3.0)
30 30
GITHUBTARBALL 31 31 GITHUBTARBALL
remote: boxen/puppet-nginx 32 32 remote: boxen/puppet-nginx
specs: 33 33 specs:
nginx (1.4.3) 34 34 nginx (1.4.3)
35 35
GITHUBTARBALL 36 36 GITHUBTARBALL
remote: boxen/puppet-nodejs 37 37 remote: boxen/puppet-nodejs
specs: 38 38 specs:
nodejs (3.7.0) 39 39 nodejs (3.7.0)
40 40
GITHUBTARBALL 41 41 GITHUBTARBALL
remote: boxen/puppet-openssl 42 42 remote: boxen/puppet-openssl
specs: 43 43 specs:
openssl (1.0.0) 44 44 openssl (1.0.0)
45 45
GITHUBTARBALL 46 46 GITHUBTARBALL
remote: boxen/puppet-osx 47 47 remote: boxen/puppet-osx
specs: 48 48 specs:
osx (2.7.0) 49 49 osx (2.7.0)
50 50
GITHUBTARBALL 51 51 GITHUBTARBALL
remote: boxen/puppet-pkgconfig 52 52 remote: boxen/puppet-pkgconfig
specs: 53 53 specs:
pkgconfig (1.0.0) 54 54 pkgconfig (1.0.0)
55 55
GITHUBTARBALL 56 56 GITHUBTARBALL
remote: boxen/puppet-repository 57 57 remote: boxen/puppet-repository
specs: 58 58 specs:
repository (2.3.0) 59 59 repository (2.3.0)
60 60
GITHUBTARBALL 61 61 GITHUBTARBALL
remote: boxen/puppet-ruby 62 62 remote: boxen/puppet-ruby
specs: 63 63 specs:
ruby (8.0.4) 64 64 ruby (8.0.4)
65 65
GITHUBTARBALL 66 66 GITHUBTARBALL
remote: boxen/puppet-sudo 67 67 remote: boxen/puppet-sudo
specs: 68 68 specs:
sudo (1.0.0) 69 69 sudo (1.0.0)
70 70
GITHUBTARBALL 71 71 GITHUBTARBALL
remote: boxen/puppet-xquartz 72 72 remote: boxen/puppet-xquartz
specs: 73 73 specs:
xquartz (1.1.1) 74 74 xquartz (1.1.1)
75 75
GITHUBTARBALL 76 76 GITHUBTARBALL
remote: glarizza/puppet-property_list_key 77 77 remote: glarizza/puppet-property_list_key
specs: 78 78 specs:
property_list_key (0.2.1) 79 79 property_list_key (0.2.1)
80 80
GITHUBTARBALL 81 81 GITHUBTARBALL
remote: hanjianwei/puppet-brewcask 82 82 remote: hanjianwei/puppet-brewcask
specs: 83 83 specs:
brewcask (0.0.4.rc2) 84 84 brewcask (0.0.4.rc2)
85 85
GITHUBTARBALL 86 86 GITHUBTARBALL
remote: hanjianwei/puppet-dotfiles 87 87 remote: hanjianwei/puppet-dotfiles
specs: 88 88 specs:
dotfiles (0.0.2) 89 89 dotfiles (0.0.5)
90 90
GITHUBTARBALL 91 91 GITHUBTARBALL
remote: puppetlabs/puppetlabs-inifile 92 92 remote: puppetlabs/puppetlabs-inifile
specs: 93 93 specs:
inifile (1.0.3) 94 94 inifile (1.0.3)
95 95
GITHUBTARBALL 96 96 GITHUBTARBALL
remote: puppetlabs/puppetlabs-stdlib 97 97 remote: puppetlabs/puppetlabs-stdlib
specs: 98 98 specs:
stdlib (4.2.1) 99 99 stdlib (4.2.1)
100 100
GITHUBTARBALL 101 101 GITHUBTARBALL
remote: ripienaar/puppet-module-data 102 102 remote: ripienaar/puppet-module-data
specs: 103 103 specs:
module-data (0.0.3) 104 104 module-data (0.0.3)
105 105
DEPENDENCIES 106 106 DEPENDENCIES
boxen (= 3.6.1) 107 107 boxen (= 3.6.1)
brewcask (= 0.0.4.rc2) 108 108 brewcask (= 0.0.4.rc2)
modules/people/manifests/hanjianwei/applications.pp
class people::hanjianwei::applications { 1 1 class people::hanjianwei::applications {
2 2
# Declare all Homebrew packages 3 3 # Declare all Homebrew packages
package { ['wget', 4 4 package { ['wget',
'qt5', 5 5 'qt5',
'tmux', 6 6 'tmux',
'vim']: 7 7 'vim']:
} 8 8 }
9 9
homebrew::tap { 'homebrew/science': } 10 10 homebrew::tap { 'homebrew/science': }
-> 11 11 ->
package { 'opencv': } 12 12 package { 'opencv': }
13 13
# Declare all Hombrew Cask packages 14 14 # Declare all Hombrew Cask packages
include brewcask 15 15 include brewcask
16 16
package { ['acorn', 17 17 package { ['acorn',
'alfred', 18 18 'alfred',
'atom', 19 19 'atom',
'bettertouchtool', 20 20 'bettertouchtool',
'caffeine', 21 21 'caffeine',
'cleanmymac', 22 22 'cleanmymac',
'dropbox', 23 23 'dropbox',
'evernote', 24 24 'evernote',
'fantastical', 25 25 'fantastical',
'firefox', 26 26 'firefox',
'google-chrome', 27 27 'google-chrome',
'hazel', 28 28 'hazel',
'iterm2', 29 29 'iterm2',
'keyboard-maestro', 30 30 'keyboard-maestro',
'keyremap4macbook', 31 31 'keyremap4macbook',
'mactex', 32 32 'mactex',
'omnifocus', 33 33 'omnifocus',
'onepassword', 34 34 'onepassword',
'parallels', 35 35 'parallels',
'pycharm-ce', 36 36 'pycharm-ce',
'scapple', 37 37 'scapple',
'screenflow', 38 38 'screenflow',
'scrivener', 39 39 'scrivener',
'seil', 40 40 'seil',
'shiori', 41 41 'shiori',
'trim-enabler', 42 42 'trim-enabler',
'qq', 43 43 'qq',
'qt-creator', 44 44 'qt-creator',
'vagrant', 45 45 'vagrant',
'virtualbox', 46 46 'virtualbox',
'welly', 47 47 'welly',
'xmind']: 48 48 'xmind']:
provider => 'brewcask' 49 49 provider => 'brewcask'
} 50 50 }
51 51
# Taps 52 52 # Taps
homebrew::tap { 'caskroom/fonts': } 53 53 homebrew::tap { 'caskroom/fonts': }
-> 54 54 ->
package { 'font-inconsolata-for-powerline': 55 55 package { 'font-inconsolata-for-powerline':
provider => 'brewcask' 56 56 provider => 'brewcask'
} 57 57 }
58 58
homebrew::tap { 'caskroom/versions': } 59 59 homebrew::tap { 'caskroom/versions': }
-> 60 60 ->
package { 'intellij-idea-ultimate12': 61 61 package { 'intellij-idea-ultimate12':
provider => 'brewcask' 62 62 provider => 'brewcask'
} 63 63 }
64 64
homebrew::tap { 'railwaycat/emacsmacport': } 65 65 homebrew::tap { 'railwaycat/emacsmacport': }
-> 66 66 ->
package { 'emacs-mac': 67 67 package { 'emacs-mac':
provider => 'brewcask' 68 68 provider => 'brewcask'
} 69 69 }
70 70
# Apps configuration 71 71 # Apps configuration
class { 'dotfiles::tmux': 72 72 Package <| |> -> Dotfiles::Deploy <| |>
require => Package['tmux'], 73
} 74
75 73
class { 'dotfiles::vim': 76
require => Package['vim'], 77
} 78
79
class { 'dotfiles::emacs': 80
require => Package['emacs-mac'], 81
} 82
83
class { 'dotfiles::vimperator': 84
require => Package['firefox'], 85
} 86
87
class { 'dotfiles::keyremap4macbook': 88
require => Package['keyremap4macbook'], 89
} 90
91
class { 'dotfiles::seil': 92
require => Package['seil'] 93
} 94
95
osx_chsh { $boxen_user: 96 74 osx_chsh { $boxen_user:
shell => '/bin/zsh' 97 75 shell => '/bin/zsh'
} 98 76 }
99 77
include dotfiles::git 100 78 dotfiles::deploy { ['atom',
include dotfiles::zsh 101 79 'bettertouchtool',
include dotfiles::rubygems 102 80 'emacs',