Blame view

modules/people/manifests/hanjianwei/applications.pp 2.87 KB
3a47d364c   Jianwei Han   Remove caches for...
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
  class people::hanjianwei::applications inherits people::hanjianwei::config {
    notify { "${homebrew::config::cachedir}": }
  
    # Declare all Homebrew packages
    $brew_pkgs = [
      'wget',
      'qt5',
      'tmux',
      'vim'
    ]
    package { $brew_pkgs: }
  
    homebrew::tap { 'homebrew/science': }
    ->
    package { 'opencv': }
  
    # Declare all Hombrew Cask packages
    include brewcask
  
    $cask_pkgs = [
      'acorn',
      'alfred',
      'atom',
      'bettertouchtool',
      'caffeine',
      'cleanmymac',
      'dropbox',
      'evernote',
      'fantastical',
      'firefox',
      'google-chrome',
      'hazel',
      'iterm2',
      'keyboard-maestro',
      'keyremap4macbook',
      'mactex',
      'omnifocus',
      'onepassword',
      'parallels',
      'pycharm-ce',
      'scapple',
      'screenflow',
      'scrivener',
      'seil',
      'shiori',
      'qq',
      'qt-creator',
      'vagrant',
      'virtualbox',
      'welly',
      'xmind'
    ]
  
    package { $cask_pkgs:
      provider => 'brewcask'
    }
  
    # Taps
    homebrew::tap { 'caskroom/fonts': }
    ->
    package { 'font-inconsolata-for-powerline':
      provider => 'brewcask'
    }
  
    homebrew::tap { 'caskroom/versions': }
    ->
    package { 'intellij-idea-ultimate12':
      provider => 'brewcask'
    }
  
    homebrew::tap { 'railwaycat/emacsmacport': }
    ->
    package { 'emacs-mac':
      provider => 'brewcask'
    }
  
    # tmux
    Package['tmux']
    ->
    file { "${home}/.tmux.conf":
      ensure  => link,
      target  => "${dotfiles}/tmux/tmux.conf",
      require => Repository["${dotfiles}"]
    }
  
    # Vim
    Package['vim']
    ->
    file { "${home}/.vimrc":
      ensure  => link,
      target  => "${dotfiles}/Vim/vimrc",
      require => Repository["${dotfiles}"]
    }
    ->
    file { ["${home}/.vim", "${home}/.vim/bundle"]:
      ensure => directory
    }
    ->
    repository { "${home}/.vim/bundle/Vundle.vim":
      source => 'gmarik/Vundle.vim'
    }
    ->
    exec { 'vim +BundleInstall +BundleClean +qall': }
  
  
    # Emacs mac port
    Package['emacs-mac']
    ->
    file { "${home}/.emacs.d":
      ensure => directory
    }
    ->
    file { "${home}/.emacs.d/init.el":
      ensure  => link,
      target  => "${dotfiles}/Emacs/init.el",
      require => Repository["${dotfiles}"]
    }
    ->
    repository { "${home}/.emacs.d/snippets":
      source => 'hanjianwei/yasnippet-snippets'
    }
  
    # Firefox
    Package['firefox']
    ->
    file { "${home}/.vimperatorrc":
      target  => "${dotfiles}/Vimperator/vimperatorrc",
      require => Repository["${dotfiles}"]
    }
  
    # KeyRemap4Macbook
    # include keyremap4macbook
    # include keyremap4macbook::login_item
    # keyremap4macbook::remap { 'private.f19_to_hyper': }
    # keyremap4macbook::private_xml { 'private.xml':
    #   source  => "${dotfiles}/KeyRemap4MacBook/private.xml",
    #   require => Repository["${dotfiles}"]
    # }
  
    # Seil
    #include seil
    #include seil::login_item
    #seil::bind { 'keyboard bindings':
      #mappings => { 'capslock' => 80 }
    #}
  
    # Vagrant
    #include vagrant
    #vagrant::plugin { 'vagrant-vbguest': }
  }