infinum_setup 0.1.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c3d1e029f99e2b500c2bf5acf16092f333dbf511
4
- data.tar.gz: abc67b8bd0eb1c2617b31ddd72e6c0f2dd4d960e
3
+ metadata.gz: 57fff117c55d30e9a90dd2231855b0dc761ec75c
4
+ data.tar.gz: 98e7bb6ccef21afd9423dff514b6af822f568cbc
5
5
  SHA512:
6
- metadata.gz: cbd8c165429f4ac3260496660798119ab0f642fa9b2f4ecd591a0347cc2fe9f29e2dc3ce3b02ab7b22e149d781401eabf1d34cb2f9d3a94b55fd34f8a2ae7e0f
7
- data.tar.gz: 7d8410f59ace8a2ae2d0c1b8a057921d70718bbf085d19daa2d6d3f0d62f3049c77a333c08d20869251961ce7ab67f688749fec6fede04bd95bb2754e66755e7
6
+ metadata.gz: 05df732d6b2f67ef46d1b2ae127464cc49e1c70a4c2f4c3ab0847ac331ef1d3cbb21b754009815f142705db131b690315503a8688a9d890941156df391ca697e
7
+ data.tar.gz: 802e904235185bb0a72ab0d7dc4f79cddf66effb650b6d16c579f3cdb9e7a440f545e80f0d6f0ed509236b1d65096310d2f2e6278b695c776300562cb056f89b
data/README.md CHANGED
@@ -20,95 +20,54 @@ For a more advanced usage you can use:
20
20
 
21
21
  This is an interactive mode where you will be asked if you want to install optional programs/packages
22
22
 
23
+ $ infinum_setup --verbose
24
+
25
+ This will print out all the commands that are run
26
+
23
27
  ## Development
24
28
 
29
+ During setup two config files are loaded: `general.yml` and `#{team}.yml`. These files are downloaded from the master branch so I do not need to release new gem versions every time we update one of those files :)
30
+
25
31
  ### Content of program/#{team}.yml files
26
32
 
27
33
  ``` ruby
28
- brew:
29
- mandatory:
30
- - imagemagick
31
- - node
32
- - mysql
33
- - postgresql
34
- optional:
35
- cask:
36
- mandatory:
37
- optional:
38
- - sequel-pro
39
- - - flycut
40
- - jumpcut
41
- - postico
42
- gem:
43
- mandatory:
44
- optional:
45
- - bundler
46
- - rails
47
- command:
48
- mandatory:
49
- optional:
50
- pow: curl get.pow.cx | sh
34
+ {program_name}:
35
+ type: brew/cask/gem/npm/command
36
+ mandatory: true/false
37
+ install_if_not_interactive: true/false
38
+ program: {program}
39
+ pre_install_comment: A comment to print out before installing
40
+ post_install_comment: A comment to print out after install
41
+ post_install_command: eg. open the app
42
+ script: a script to be run if type is `command`
51
43
  ```
52
44
 
53
- ### Top level commands
54
-
55
- There are (for now) 5 top level commands you can use:
45
+ ### command type
56
46
 
57
- - brew
58
- - cask
59
- - gem
60
- - npm
61
- - command
47
+ There are (for now) 5 types of programs with which to install:
62
48
 
63
- ### Optionality
49
+ - brew => `brew install {program}`
50
+ - cask => `brew cask install {program}`
51
+ - gem => `gem install {program}`
52
+ - npm => `npm -g install {program}`
53
+ - command => `{script}`
64
54
 
65
- Next level is the optionality of the programs. If you feel like a program must be installed put it under `mandatory` key.
66
- If you feel like a program is a nice to have but not mandatory put it under `optional` key. If `infinum_setup` is run in interactive mode a user will be prompted for each optional program.
55
+ ### Mandatory
67
56
 
68
- ### Programs
69
-
70
- For each of the top level commands except `command`, the script requires an array of programs.
71
-
72
- ``` ruby
73
- cask:
74
- optional:
75
- - skype
76
- - vcl
77
- ```
57
+ Set this setting to `true` if you feel like a program must be installed.
58
+ If `infinum_setup` is run in interactive mode a user will be prompted for each non mandatroy program.
78
59
 
79
- You can also write an array of programs where in interactive mode the user will be prompted with a multiple select choice, and in non interactive mode the first program will be installed.
60
+ ### Install if not interactive
80
61
 
81
- ``` ruby
82
- cask:
83
- optional:
84
- - - google-chrome
85
- - firefox
86
- - slack
87
- ```
62
+ This will come into effect if a program is not mandatory and the `infinum_setup` is not run in interactive mode. With this setting set to `true` the program will be installed otherwise it will be skipped.
88
63
 
89
- ```
90
- Select programs to install (Use arrow keys, press Space to select and Enter to finish)
91
- ‣ ⬡ google-chrome
92
- ⬡ firefox
93
- ```
64
+ ### Pre/post install comment
94
65
 
95
- The `commands` programs expect a hash instead of an array. These commands will be run directly as they are written
66
+ Comments to print out before/after installation.
96
67
 
97
- ``` ruby
98
- command:
99
- mandatory:
100
- ruby: curl -L https://raw.github.com/infinum/infinum_setup/master/scripts/ruby.sh | sh
101
- optional:
102
- OhMyZsh: curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh
103
- ```
68
+ ### Post install command
104
69
 
105
- ```
106
- Installing ruby
107
- curl -L https://raw.github.com/infinum/infinum_setup/master/scripts/ruby.sh | sh
108
- Install OhMyZsh Yes
109
- Installing OhMyZsh
110
- curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh
111
- ```
70
+ Use this if you want to run a custom command after installation. Eg. `open /Applications/Alfred\ 3.app`
112
71
 
113
72
  ### Writing your own scripts
114
73
 
data/exe/infinum_setup CHANGED
@@ -15,6 +15,7 @@ command :install do |c|
15
15
  c.syntax = 'infinum_setup'
16
16
  c.description = 'Setups your laptop'
17
17
  c.option '-i', '--interactive', 'For expierienced users'
18
+ c.option '-V', '--verbose', 'Print out commands'
18
19
  c.option '-s', '--simulate', 'Try before you buy'
19
20
  c.action do |_args, options|
20
21
  options.team = InfinumSetup::Install.select_team
@@ -8,110 +8,55 @@ module InfinumSetup
8
8
  new(options).call
9
9
  end
10
10
 
11
- private
12
-
13
11
  def call
14
- raise NotImplemented
15
- end
16
-
17
- def interactive?
18
- @options.interactive
19
- end
20
-
21
- def simulate?
22
- @options.simulate
23
- end
24
-
25
- def prompt
26
- @prompt ||= TTY::Prompt.new
27
- end
28
-
29
- def execute(cmd)
30
- if simulate?
31
- prompt.warn cmd
32
- else
33
- `#{cmd}`
12
+ programs.each do |program|
13
+ next unless will_install?(program)
14
+ puts
15
+ prompt.say("#{program.name} -- #{program.pre_install_comment}", color: :cyan) if program.pre_install_comment
16
+ next if skip_install?(program)
17
+ program.install
34
18
  end
35
19
  end
36
20
 
37
- def install_programs
38
- commands.each do |command_name, command_hash|
39
- next unless command_hash
40
- command_hash.each do |optionality, programs|
41
- next unless programs
42
- case programs
43
- when Hash
44
- programs.each do |program, command|
45
- case optionality
46
- when 'mandatory' then install_program(program, command)
47
- when 'optional' then install_if_agree(program, command)
48
- end
49
- end
50
- else
51
- programs.each do |program|
52
- case optionality
53
- when 'mandatory' then install_program(program, command_name)
54
- when 'optional' then install_if_agree(program, command_name)
55
- end
56
- end
57
- end
58
- end
59
- end
60
- end
21
+ private
61
22
 
62
- def commands(team = 'general')
63
- @commands ||=
23
+ attr_reader :options
24
+
25
+ def programs(team = 'general')
26
+ @programs ||=
64
27
  if InfinumSetup.dev?
65
28
  YAML.load_file("programs/#{team}.yml")
66
29
  else
67
- YAML.load(open("https://raw.github.com/infinum/infinum_setup/master/programs/#{team}.yml"))
30
+ YAML.load(
31
+ open("https://raw.github.com/infinum/infinum_setup/master/programs/#{team}.yml")
32
+ )
33
+ end.map do |name, settings|
34
+ Program.new(name, settings, options, prompt)
68
35
  end
69
36
  end
70
37
 
71
- def install_if_agree(programs, command)
72
- case programs
73
- when String
74
- return if interactive? && !prompt.yes?("Install #{programs}")
75
- install_program(programs, command)
76
- when Hash
77
- return if interactive? && !prompt.yes?("Install #{programs.keys.first}")
78
- install_program(programs.keys.first, programs.values.first)
79
- when Array
80
- if interactive?
81
- choices = prompt.multi_select('Select programs to install', programs)
82
- choices.each { |choice| install_program(choice, command) }
83
- else
84
- install_program(programs.first, command)
85
- end
86
- end
38
+ def will_install?(program)
39
+ program.mandatory? ||
40
+ (!program.mandatory? && interactive?) ||
41
+ (!program.mandatory? && !interactive? && program.install_if_not_interactive?)
87
42
  end
88
43
 
89
- def install_program(program, command)
90
- return if !simulate? && program_exist?(program, command)
91
- prompt.ok "Installing #{program}"
92
- case command
93
- when 'brew'
94
- execute "brew install #{program}"
95
- when 'cask'
96
- execute "brew cask install #{program}"
97
- when 'gem'
98
- execute "gem install #{program} --no-document"
99
- when 'npm'
100
- execute "npm -g install #{program}"
101
- else
102
- execute command
103
- end
44
+ def skip_install?(program)
45
+ !program.mandatory? &&
46
+ interactive? &&
47
+ !prompt.yes?("#{program.name} -- Install #{program.name}")
104
48
  end
105
49
 
106
- def program_exist?(program, command)
107
- case command
108
- when 'cask'
109
- !`brew cask info #{program}`.include?('Not installed')
110
- when 'brew', 'gem'
111
- TTY::Which.exist?(program)
112
- else
113
- false
114
- end
50
+ def prompt
51
+ @prompt ||= TTY::Prompt.new
52
+ end
53
+
54
+ def interactive?
55
+ options.interactive
56
+ end
57
+
58
+ def simulate?
59
+ options.simulate
115
60
  end
116
61
  end
117
62
  end
@@ -1,22 +1,4 @@
1
1
  module InfinumSetup
2
2
  class General < Base
3
- def call
4
- install_xcode_select
5
- install_brew
6
- install_programs
7
- end
8
-
9
- private
10
-
11
- def install_xcode_select
12
- prompt.ok 'Installing xcode-select'
13
- execute %(sudo xcode-select --install)
14
- end
15
-
16
- def install_brew
17
- return if !simulate? && TTY::Which.exist?('brew')
18
- prompt.ok 'Installing brew'
19
- execute %(/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)")
20
- end
21
3
  end
22
4
  end
@@ -0,0 +1,65 @@
1
+ module InfinumSetup
2
+ class Program
3
+ VALID_KEYS = [
4
+ :mandatory, :pre_install_comment, :post_install_comment, :type, :program, :script,
5
+ :install_if_not_interactive, :post_install_command
6
+ ].freeze
7
+
8
+ attr_reader :settings, :name, :options, :prompt
9
+
10
+ def initialize(name, settings, options, prompt)
11
+ @name = name
12
+ @settings = settings
13
+ @options = options
14
+ @prompt = prompt
15
+ end
16
+
17
+ def valid?
18
+ settings.keys.all? { |key| VALID_KEYS.include?(key.to_sym) }
19
+ end
20
+
21
+ def install
22
+ prompt.ok "#{name} -- Installing"
23
+ execute_type
24
+ prompt.say("#{name} -- #{post_install_comment}", color: :cyan) if post_install_comment
25
+ execute(post_install_command) if post_install_command
26
+ end
27
+
28
+ def mandatory?
29
+ mandatory
30
+ end
31
+
32
+ def install_if_not_interactive?
33
+ install_if_not_interactive
34
+ end
35
+
36
+ VALID_KEYS.each do |key|
37
+ define_method key do
38
+ settings[key.to_s]
39
+ end
40
+ end
41
+
42
+ private
43
+
44
+ def execute_type
45
+ case type
46
+ when 'brew' then execute "brew install #{program}"
47
+ when 'cask' then execute "brew cask install #{program}"
48
+ when 'gem' then execute %(export PATH="$HOME/.rbenv/bin:$PATH";eval "$(rbenv init -)";gem install #{program} --no-document)
49
+ when 'npm' then execute "npm -g install #{program}"
50
+ when 'script' then execute script
51
+ else
52
+ raise "Unknown type #{type}"
53
+ end
54
+ end
55
+
56
+ def execute(cmd)
57
+ if options.simulate
58
+ prompt.warn "#{name} -- #{cmd}"
59
+ else
60
+ prompt.warn cmd if options.verbose
61
+ puts `#{cmd}`
62
+ end
63
+ end
64
+ end
65
+ end
@@ -1,10 +1,6 @@
1
1
  module InfinumSetup
2
2
  class Team < Base
3
- def call
4
- install_programs
5
- end
6
-
7
- def commands
3
+ def programs
8
4
  super(@options.team)
9
5
  end
10
6
  end
@@ -1,3 +1,3 @@
1
1
  module InfinumSetup
2
- VERSION = "0.1.0"
2
+ VERSION = '0.6.0'.freeze
3
3
  end
data/lib/infinum_setup.rb CHANGED
@@ -3,6 +3,7 @@ require 'open-uri'
3
3
  require 'tty-prompt'
4
4
  require 'tty-which'
5
5
  require 'infinum_setup/base'
6
+ require 'infinum_setup/program'
6
7
  require 'infinum_setup/general'
7
8
  require 'infinum_setup/team'
8
9
  require 'infinum_setup/install'
data/programs/android.yml CHANGED
@@ -1,12 +1,9 @@
1
- brew:
2
- mandatory:
3
- optional:
4
- cask:
5
- mandatory:
6
- optional:
7
- gem:
8
- mandatory:
9
- optional:
10
- command:
11
- mandatory:
12
- optional:
1
+ {program_name}:
2
+ type: brew/cask/gem/npm/command
3
+ mandatory: true/false
4
+ install_if_not_interactive: true/false
5
+ program: {program}
6
+ pre_install_comment: A comment to print out before installing
7
+ post_install_comment: A comment to print out after install
8
+ post_install_command: eg. open the app
9
+ script: a script to be run if type is `command`
data/programs/design.yml CHANGED
@@ -1,12 +1,9 @@
1
- brew:
2
- mandatory:
3
- optional:
4
- cask:
5
- mandatory:
6
- optional:
7
- gem:
8
- mandatory:
9
- optional:
10
- command:
11
- mandatory:
12
- optional:
1
+ {program_name}:
2
+ type: brew/cask/gem/npm/command
3
+ mandatory: true/false
4
+ install_if_not_interactive: true/false
5
+ program: {program}
6
+ pre_install_comment: A comment to print out before installing
7
+ post_install_comment: A comment to print out after install
8
+ post_install_command: eg. open the app
9
+ script: a script to be run if type is `command`
data/programs/general.yml CHANGED
@@ -1,27 +1,136 @@
1
+ xcode-select:
2
+ mandatory: true
3
+ type: script
4
+ script: sudo xcode-select --install
5
+ post_install_comment: A window will popup asking you if you want to install only esential tools or the whole XCode.
1
6
  brew:
2
- mandatory:
3
- - git
4
- - ack
5
- - rbenv
6
- command:
7
- mandatory:
8
- ruby: curl -L https://raw.github.com/infinum/infinum_setup/master/scripts/ruby.sh | sh
9
- optional:
10
- OhMyZsh: curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh
11
- cask:
12
- mandatory:
13
- - slack
14
- optional:
15
- - alfred
16
- - dropbox
17
- - google-drive
18
- - - flycut
19
- - jumpcut
20
- - spectacle
21
- - - google-chrome
22
- - firefox
23
- - skype
24
- - - atom
25
- - sublime-text
26
- - vlc
27
- - the-unarchiver
7
+ pre_install_comment: If after finishing with xcode installation the last line says "brew -- Installing" just hit enter!
8
+ mandatory: true
9
+ type: script
10
+ script: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
11
+ git:
12
+ mandatory: true
13
+ type: brew
14
+ program: git
15
+ rbenv:
16
+ mandatory: true
17
+ type: brew
18
+ program: rbenv
19
+ readline:
20
+ mandatory: true
21
+ type: brew
22
+ program: readline
23
+ libyaml:
24
+ mandatory: true
25
+ type: brew
26
+ program: libyaml
27
+ libffi:
28
+ mandatory: true
29
+ type: brew
30
+ program: libffi
31
+ node:
32
+ mandatory: true
33
+ type: brew
34
+ program: node
35
+ OhMyZsh:
36
+ pre_install_comment: A delightful community-driven framework for managing your zsh configuration.
37
+ post_install_comment: Take a look at https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins-Overview for plugins overview
38
+ mandatory: false
39
+ install_if_not_interactive: true
40
+ type: script
41
+ script: curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh
42
+ ruby:
43
+ pre_install_comment: This will install the lastest ruby version and add rbenv to your .bash_profile and .zshrc files. Go grab a coffee
44
+ mandatory: true
45
+ type: script
46
+ script: curl -L https://raw.github.com/infinum/infinum_setup/master/scripts/ruby.sh | sh
47
+ z:
48
+ pre_install_comment: After a short learning phase, z will take you to the most 'recent' directory that matches ALL of the regexes given on the command line, in order.
49
+ post_install_comment: "Please read 'brew info z' for how to enable it. How to use: https://github.com/rupa/z"
50
+ mandatory: false
51
+ install_if_not_interactive: true
52
+ type: brew
53
+ program: z
54
+ alfred:
55
+ pre_install_comment: App for Mac OS X which boosts your efficiency with hotkeys, keywords, text expansion and more.
56
+ post_install_comment: Please start alfred once, enable it and disable spotlight (http://apple.stackexchange.com/a/177987). Recommended to enable clipboard history
57
+ mandatory: false
58
+ install_if_not_interactive: true
59
+ type: cask
60
+ program: alfred
61
+ post_install_command: open /Application/Alfred\ 3.app
62
+ flycut:
63
+ pre_install_comment: Clean and simple clipboard manager for developers
64
+ mandatory: false
65
+ install_if_not_interactive: true
66
+ type: cask
67
+ program: flycut
68
+ post_install_command: open /Application/Flycut.app
69
+ chrome:
70
+ mandatory: false
71
+ install_if_not_interactive: true
72
+ type: cask
73
+ program: google-chrome
74
+ post_install_command: open /Application/Google\ Chrome.app
75
+ firefox:
76
+ mandatory: false
77
+ install_if_not_interactive: false
78
+ type: cask
79
+ program: firefox
80
+ post_install_command: open /Application/Firefox.app
81
+ dropbox:
82
+ mandatory: false
83
+ install_if_not_interactive: false
84
+ type: cask
85
+ program: dropbox
86
+ post_install_command: open /Application/Dropbox.app
87
+ google_drive:
88
+ mandatory: false
89
+ install_if_not_interactive: false
90
+ type: cask
91
+ program: google-drive
92
+ post_install_command: open /Application/Google\ Drive.app
93
+ spectacle:
94
+ pre_install_comment: Window control with simple and customizable keyboard shortcuts
95
+ post_install_comment: "How to use: https://github.com/eczarny/spectacle#keyboard-shortcuts"
96
+ mandatory: false
97
+ install_if_not_interactive: true
98
+ type: cask
99
+ program: spectacle
100
+ post_install_command: open /Application/Spectacle.app
101
+ skype:
102
+ mandatory: false
103
+ install_if_not_interactive: false
104
+ type: cask
105
+ program: skype
106
+ # post_install_command: open /Application/Skype.app
107
+ atom:
108
+ mandatory: false
109
+ install_if_not_interactive: true
110
+ type: cask
111
+ program: atom
112
+ # post_install_command: open /Application/Atom.app
113
+ sublime-text:
114
+ mandatory: false
115
+ install_if_not_interactive: false
116
+ type: cask
117
+ program: sublime-text
118
+ # post_install_command: open /Application/Sublime\ Text.app
119
+ vlc:
120
+ mandatory: false
121
+ install_if_not_interactive: true
122
+ type: cask
123
+ program: vlc
124
+ the-unarchiver:
125
+ pre_install_comment: For extracting from archives
126
+ mandatory: false
127
+ install_if_not_interactive: true
128
+ type: cask
129
+ program: the-unarchiver
130
+ flux:
131
+ pre_install_comment: Flux makes the color of your computer's display adapt to the time of day, warm at night and like sunlight during the day.
132
+ mandatory: false
133
+ install_if_not_interactive: true
134
+ type: cask
135
+ program: flux
136
+ post_install_command: open /Application/Flux.app
data/programs/ios.yml CHANGED
@@ -1,12 +1,9 @@
1
- brew:
2
- mandatory:
3
- optional:
4
- cask:
5
- mandatory:
6
- optional:
7
- gem:
8
- mandatory:
9
- optional:
10
- command:
11
- mandatory:
12
- optional:
1
+ {program_name}:
2
+ type: brew/cask/gem/npm/command
3
+ mandatory: true/false
4
+ install_if_not_interactive: true/false
5
+ program: {program}
6
+ pre_install_comment: A comment to print out before installing
7
+ post_install_comment: A comment to print out after install
8
+ post_install_command: eg. open the app
9
+ script: a script to be run if type is `command`
@@ -1,15 +1,9 @@
1
- brew:
2
- mandatory:
3
- optional:
4
- cask:
5
- mandatory:
6
- optional:
7
- gem:
8
- mandatory:
9
- optional:
10
- npm:
11
- mandatory:
12
- optional:
13
- command:
14
- mandatory:
15
- optional:
1
+ {program_name}:
2
+ type: brew/cask/gem/npm/command
3
+ mandatory: true/false
4
+ install_if_not_interactive: true/false
5
+ program: {program}
6
+ pre_install_comment: A comment to print out before installing
7
+ post_install_comment: A comment to print out after install
8
+ post_install_command: eg. open the app
9
+ script: a script to be run if type is `command`
data/programs/pm.yml CHANGED
@@ -1,12 +1,9 @@
1
- brew:
2
- mandatory:
3
- optional:
4
- cask:
5
- mandatory:
6
- optional:
7
- gem:
8
- mandatory:
9
- optional:
10
- command:
11
- mandatory:
12
- optional:
1
+ {program_name}:
2
+ type: brew/cask/gem/npm/command
3
+ mandatory: true/false
4
+ install_if_not_interactive: true/false
5
+ program: {program}
6
+ pre_install_comment: A comment to print out before installing
7
+ post_install_comment: A comment to print out after install
8
+ post_install_command: eg. open the app
9
+ script: a script to be run if type is `command`
data/programs/rails.yml CHANGED
@@ -1,21 +1,43 @@
1
- brew:
2
- mandatory:
3
- - imagemagick
4
- - node
5
- - mysql
6
- - postgresql
7
- optional:
8
- cask:
9
- mandatory:
10
- optional:
11
- - sequel-pro
12
- - postico
13
- gem:
14
- mandatory:
15
- optional:
16
- - bundler
17
- - rails
18
- command:
19
- mandatory:
20
- optional:
21
- pow: curl get.pow.cx | sh
1
+ bundler:
2
+ mandatory: true
3
+ type: gem
4
+ program: bundler
5
+ rails:
6
+ mandatory: true
7
+ type: gem
8
+ program: rails
9
+ imagemagick:
10
+ mandatory: true
11
+ type: brew
12
+ program: imagemagick
13
+ mysql:
14
+ mandatory: true
15
+ type: brew
16
+ program: mysql
17
+ postgresql:
18
+ mandatory: true
19
+ type: brew
20
+ program: postgresql
21
+ sequel-pro:
22
+ pre_install_comment: Sequel Pro is a fast, easy-to-use Mac database management application for working with MySQL databases.
23
+ mandatory: false
24
+ install_if_not_interactive: true
25
+ type: cask
26
+ program: sequel-pro
27
+ postico:
28
+ pre_install_comment: A Modern PostgreSQL Client for the Mac
29
+ post_install_comment: Please ask your team lead to give you the licence for postico
30
+ mandatory: false
31
+ install_if_not_interactive: true
32
+ type: cask
33
+ program: postico
34
+ gitkraken:
35
+ pre_install_comment: Modern Git GUI
36
+ mandatory: false
37
+ install_if_not_interactive: true
38
+ type: cask
39
+ program: gitkraken
40
+ pow:
41
+ mandatory: true
42
+ type: script
43
+ script: curl get.pow.cx | sh
data/scripts/ruby.sh CHANGED
@@ -1,5 +1,15 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
+ if ! grep -qs "rbenv init" ~/.bash_profile; then
4
+ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
5
+ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
6
+ fi
7
+
8
+ if ! grep -qs "rbenv init" ~/.zshrc; then
9
+ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
10
+ echo 'eval "$(rbenv init -)"' >> ~/.zshrc
11
+ fi
12
+
3
13
  LATEST_RUBY_VERSION=`rbenv install --list | grep -v - | tail -1 | tr -d '[[:space:]]'`
4
14
  echo "Installing Ruby $LATEST_RUBY_VERSION"
5
15
 
@@ -8,15 +18,3 @@ rbenv install $LATEST_RUBY_VERSION
8
18
  echo "Setting $LATEST_RUBY_VERSION to global"
9
19
  rbenv global $LATEST_RUBY_VERSION
10
20
  rbenv rehash
11
-
12
- if ! grep -qs "rbenv init" ~/.bashrc; then
13
- echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
14
- echo 'eval "$(rbenv init -)"' >> ~/.bashrc
15
- eval "$(rbenv init -)"
16
- fi
17
-
18
- if ! grep -qs "rbenv init" ~/.zshrc; then
19
- echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
20
- echo 'eval "$(rbenv init -)"' >> ~/.zshrc
21
- eval "$(rbenv init -)"
22
- fi
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: infinum_setup
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stjepan Hadjic
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-01-29 00:00:00.000000000 Z
11
+ date: 2017-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -132,6 +132,7 @@ files:
132
132
  - lib/infinum_setup/base.rb
133
133
  - lib/infinum_setup/general.rb
134
134
  - lib/infinum_setup/install.rb
135
+ - lib/infinum_setup/program.rb
135
136
  - lib/infinum_setup/team.rb
136
137
  - lib/infinum_setup/version.rb
137
138
  - programs/android.yml