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 +4 -4
- data/README.md +31 -72
- data/exe/infinum_setup +1 -0
- data/lib/infinum_setup/base.rb +34 -89
- data/lib/infinum_setup/general.rb +0 -18
- data/lib/infinum_setup/program.rb +65 -0
- data/lib/infinum_setup/team.rb +1 -5
- data/lib/infinum_setup/version.rb +1 -1
- data/lib/infinum_setup.rb +1 -0
- data/programs/android.yml +9 -12
- data/programs/design.yml +9 -12
- data/programs/general.yml +135 -26
- data/programs/ios.yml +9 -12
- data/programs/javascript.yml +9 -15
- data/programs/pm.yml +9 -12
- data/programs/rails.yml +43 -21
- data/scripts/ruby.sh +10 -12
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 57fff117c55d30e9a90dd2231855b0dc761ec75c
|
4
|
+
data.tar.gz: 98e7bb6ccef21afd9423dff514b6af822f568cbc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
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
|
-
###
|
54
|
-
|
55
|
-
There are (for now) 5 top level commands you can use:
|
45
|
+
### command type
|
56
46
|
|
57
|
-
|
58
|
-
- cask
|
59
|
-
- gem
|
60
|
-
- npm
|
61
|
-
- command
|
47
|
+
There are (for now) 5 types of programs with which to install:
|
62
48
|
|
63
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
60
|
+
### Install if not interactive
|
80
61
|
|
81
|
-
|
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
|
-
|
66
|
+
Comments to print out before/after installation.
|
96
67
|
|
97
|
-
|
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
|
data/lib/infinum_setup/base.rb
CHANGED
@@ -8,110 +8,55 @@ module InfinumSetup
|
|
8
8
|
new(options).call
|
9
9
|
end
|
10
10
|
|
11
|
-
private
|
12
|
-
|
13
11
|
def call
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
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
|
-
|
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
|
-
|
63
|
-
|
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(
|
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
|
72
|
-
|
73
|
-
|
74
|
-
|
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
|
90
|
-
|
91
|
-
|
92
|
-
|
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
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
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
|
data/lib/infinum_setup/team.rb
CHANGED
data/lib/infinum_setup.rb
CHANGED
data/programs/android.yml
CHANGED
@@ -1,12 +1,9 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
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
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
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
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
mandatory:
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
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
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
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/javascript.yml
CHANGED
@@ -1,15 +1,9 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
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
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
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
|
-
|
2
|
-
mandatory:
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
mandatory:
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
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.
|
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-
|
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
|