infinum_setup 0.1.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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