myosx 0.2.1 → 0.2.2
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 +4 -4
- data/.travis.yml +6 -1
- data/Gemfile +5 -2
- data/README.md +6 -7
- data/bin/myosx +1 -1
- data/example.myosx.cnf +0 -3
- data/lib/myosx/dotfiles.rb +8 -8
- data/lib/myosx/homebrew.rb +27 -17
- data/lib/myosx/rbenv.rb +4 -6
- data/lib/myosx/version.rb +1 -1
- data/lib/myosx.rb +13 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b15858a0a89d514f175d4ef2765547599faf5f5d
|
4
|
+
data.tar.gz: f7bb5f54c355738b3f3ce778209e593cd7992f8c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a88fe489da16a3cc974241f46e7a91777d26b8a5da20b4cd7ad71e71bd9c58453e9352670b7a93751dd2dec066b5fe79449f70d2a4beffdf920c05cdd4ffa64a
|
7
|
+
data.tar.gz: 91fb8d1ec15874bad0aa905d4c34f97a8458d97ecc4d036e4901a2398c95b453804e154eb1111a9ed41eda4137d39460f7bae4e77e82ee62f0181f2e1c3b2b8a
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -6,19 +6,17 @@ myosx configures osx how I like it.
|
|
6
6
|
|
7
7
|
1. Install XCode
|
8
8
|
2. [Install homebrew](http://brew.sh/)
|
9
|
-
3. `
|
9
|
+
3. `gem install myosx`
|
10
|
+
4. Create a [config file](https://github.com/surminus/myosx/blob/master/example.myosx.cnf) in `~/.myosx.cnf`
|
11
|
+
5. `$ myosx`
|
10
12
|
|
11
|
-
## Usage
|
12
|
-
|
13
|
-
Notes on how to test before it's a gem. Clone repo and from inside:
|
14
|
-
|
15
|
-
`RUBYLIB=$(pwd)/lib bin/myosx`
|
16
13
|
|
17
14
|
## Config
|
18
15
|
|
19
16
|
You can set two key configs from environment variables:
|
20
17
|
|
21
18
|
### Config file
|
19
|
+
|
22
20
|
`MYOSX_CONFIG`
|
23
21
|
|
24
22
|
If this isn't set then it defaults to `~/.myosx.cnf`
|
@@ -26,10 +24,11 @@ If this isn't set then it defaults to `~/.myosx.cnf`
|
|
26
24
|
Use the example config file to set some things (`example.myosx.cnf`)
|
27
25
|
|
28
26
|
### Workspace directory
|
27
|
+
|
29
28
|
`MYOSX_WORKSPACE`
|
30
29
|
|
31
30
|
This is where everything is stored such as Brewfiles and any other repositories
|
32
|
-
that it may pull.
|
31
|
+
that it may pull. Default is '~/.myosx'
|
33
32
|
|
34
33
|
|
35
34
|
## Contributing
|
data/bin/myosx
CHANGED
data/example.myosx.cnf
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
---
|
2
2
|
# Manage your dotfiles
|
3
3
|
dotfiles:
|
4
|
-
manage: true
|
5
4
|
repo: 'https://github.com/surminus/dotfiles.git'
|
6
5
|
files:
|
7
6
|
ackrc: '~/.ackrc'
|
@@ -11,7 +10,6 @@ dotfiles:
|
|
11
10
|
|
12
11
|
# Manage homebrew packages
|
13
12
|
homebrew:
|
14
|
-
manage: true
|
15
13
|
packages:
|
16
14
|
brew:
|
17
15
|
- 'ack'
|
@@ -84,7 +82,6 @@ homebrew:
|
|
84
82
|
- 'caskroom/cask'
|
85
83
|
|
86
84
|
rbenv:
|
87
|
-
manage: true
|
88
85
|
versions:
|
89
86
|
- '1.9.3'
|
90
87
|
- '1.9.3-p550'
|
data/lib/myosx/dotfiles.rb
CHANGED
@@ -1,12 +1,14 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
|
2
|
+
#
|
3
|
+
# Pulls a dotfiles repo and symlinks the files where you specify
|
4
|
+
#
|
3
5
|
require 'yaml'
|
4
6
|
require 'git'
|
5
7
|
require_relative 'config'
|
6
8
|
|
7
9
|
class Dotfiles < Config
|
8
|
-
def
|
9
|
-
|
10
|
+
def config
|
11
|
+
$global_config['dotfiles']
|
10
12
|
end
|
11
13
|
|
12
14
|
def dotfiledir
|
@@ -41,11 +43,9 @@ class Dotfiles < Config
|
|
41
43
|
end
|
42
44
|
|
43
45
|
def exec
|
44
|
-
if
|
45
|
-
|
46
|
-
|
47
|
-
link(k, v)
|
48
|
-
end
|
46
|
+
if repo(config['repo'])
|
47
|
+
config['files'].each do |k, v|
|
48
|
+
link(k, v)
|
49
49
|
end
|
50
50
|
end
|
51
51
|
end
|
data/lib/myosx/homebrew.rb
CHANGED
@@ -7,32 +7,42 @@ require 'git'
|
|
7
7
|
require_relative 'config'
|
8
8
|
|
9
9
|
class Homebrew < Config
|
10
|
-
|
11
|
-
|
10
|
+
|
11
|
+
def config
|
12
|
+
$global_config['homebrew']
|
13
|
+
end
|
14
|
+
|
15
|
+
def packages
|
16
|
+
config['packages']
|
17
|
+
end
|
18
|
+
|
19
|
+
def brewfile
|
20
|
+
return File.join($workspace, 'Brewfile')
|
21
|
+
end
|
22
|
+
|
23
|
+
def brewfile_out(packages)
|
24
|
+
output = ''
|
25
|
+
packages.each do |type, package_array|
|
26
|
+
package_array.each do |package|
|
27
|
+
output << "#{type} '#{package}'\n"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
return output
|
12
31
|
end
|
13
32
|
|
14
33
|
def bundle
|
15
34
|
system("brew tap Homebrew/bundle")
|
16
35
|
puts "Updating Brewfile"
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
File.open(File.join($workspace, 'Brewfile'), "w+") do |f|
|
23
|
-
brew_packages.each { |p| f.puts "brew '#{p}'" }
|
24
|
-
tap_packages.each { |p| f.puts "tap '#{p}'" }
|
25
|
-
cask_packages.each { |p| f.puts "cask '#{p}'" }
|
26
|
-
end
|
27
|
-
brewfile = File.join($workspace, 'Brewfile')
|
36
|
+
|
37
|
+
File.open(brewfile, "w+") {
|
38
|
+
|file| file.write(brewfile_out(packages))
|
39
|
+
}
|
28
40
|
|
29
41
|
puts "Installing packages from #{brewfile}"
|
30
|
-
system("brew bundle --file=#{brewfile}")
|
42
|
+
system("brew", "bundle", "--file=#{brewfile}")
|
31
43
|
end
|
32
44
|
|
33
45
|
def exec
|
34
|
-
|
35
|
-
bundle
|
36
|
-
end
|
46
|
+
bundle
|
37
47
|
end
|
38
48
|
end
|
data/lib/myosx/rbenv.rb
CHANGED
@@ -8,8 +8,8 @@ require 'yaml'
|
|
8
8
|
require_relative 'config'
|
9
9
|
|
10
10
|
class Rbenv < Config
|
11
|
-
def
|
12
|
-
|
11
|
+
def config
|
12
|
+
$global_config['rbenv']
|
13
13
|
end
|
14
14
|
|
15
15
|
def install
|
@@ -21,7 +21,7 @@ class Rbenv < Config
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
-
versions =
|
24
|
+
versions = config['versions']
|
25
25
|
puts "Checking Ruby version:"
|
26
26
|
versions.each do |version|
|
27
27
|
puts " #{version}"
|
@@ -30,8 +30,6 @@ class Rbenv < Config
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def exec
|
33
|
-
|
34
|
-
install
|
35
|
-
end
|
33
|
+
install
|
36
34
|
end
|
37
35
|
end
|
data/lib/myosx/version.rb
CHANGED
data/lib/myosx.rb
CHANGED
@@ -5,12 +5,21 @@ require "myosx/homebrew"
|
|
5
5
|
require "myosx/rbenv"
|
6
6
|
|
7
7
|
module Myosx
|
8
|
-
class
|
8
|
+
class Exec < Config
|
9
9
|
def initialize
|
10
10
|
Config.new.create_workspace
|
11
|
-
|
12
|
-
|
13
|
-
|
11
|
+
|
12
|
+
if $global_config['dotfiles']
|
13
|
+
Dotfiles.new.exec
|
14
|
+
end
|
15
|
+
|
16
|
+
if $global_config['homebrew']
|
17
|
+
Homebrew.new.exec
|
18
|
+
end
|
19
|
+
|
20
|
+
if $global_config['rbenv']
|
21
|
+
Rbenv.new.exec
|
22
|
+
end
|
14
23
|
end
|
15
24
|
end
|
16
25
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: myosx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Laura Martin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-03-
|
11
|
+
date: 2017-03-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: git
|