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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b683d094400d8a71ae23a9e64277b52fade91563
4
- data.tar.gz: c6508f9235f2b7c2733c346d3f0f6161cb21244a
3
+ metadata.gz: b15858a0a89d514f175d4ef2765547599faf5f5d
4
+ data.tar.gz: f7bb5f54c355738b3f3ce778209e593cd7992f8c
5
5
  SHA512:
6
- metadata.gz: e5f70a479bea93bc273b9d1f815224992dd46cb980d2c0da7f8541f48566f06a3fdd1470617fc3422ba369a415f8d9c1feb54f75350c4d3235391b1650b92cdd
7
- data.tar.gz: b9e9daddc1fea60000ec4b91cdcc939304dfabfa043d6c8ee13e519c99dd1800c19b57bbaeafddf80bfb9e376a4e6f5f75654df2656c5e8d7bf477ddcd6001af
6
+ metadata.gz: a88fe489da16a3cc974241f46e7a91777d26b8a5da20b4cd7ad71e71bd9c58453e9352670b7a93751dd2dec066b5fe79449f70d2a4beffdf920c05cdd4ffa64a
7
+ data.tar.gz: 91fb8d1ec15874bad0aa905d4c34f97a8458d97ecc4d036e4901a2398c95b453804e154eb1111a9ed41eda4137d39460f7bae4e77e82ee62f0181f2e1c3b2b8a
data/.travis.yml CHANGED
@@ -2,4 +2,9 @@ sudo: false
2
2
  language: ruby
3
3
  rvm:
4
4
  - 2.3.3
5
- before_install: gem install bundler -v 1.13.6
5
+ before_install:
6
+ - gem install bundler -v 1.13.6
7
+ env:
8
+ - export MYOSX_CONFIG=${TRAVIS_BUILD_DIR}/spec/example.config.yaml
9
+ os:
10
+ - osx
data/Gemfile CHANGED
@@ -1,5 +1,8 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem 'git'
4
- gem 'rake'
5
- gem 'rspec'
4
+
5
+ group :test do
6
+ gem "rake"
7
+ gem "rspec"
8
+ end
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. `bundle install`
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
@@ -2,5 +2,5 @@
2
2
 
3
3
  require "myosx"
4
4
 
5
- Myosx::Bootstrap.new
5
+ Myosx::Exec.new
6
6
 
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'
@@ -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 initialize
9
- @config = $global_config['dotfiles']
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 @config['manage']
45
- if repo(@config['repo'])
46
- @config['files'].each do |k, v|
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
@@ -7,32 +7,42 @@ require 'git'
7
7
  require_relative 'config'
8
8
 
9
9
  class Homebrew < Config
10
- def initialize
11
- @config = $global_config['homebrew']
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
- packages = @config['packages']
18
- brew_packages = packages['brew']
19
- tap_packages = packages['tap']
20
- cask_packages = packages['cask']
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
- if @config['manage']
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 initialize
12
- @config = $global_config['rbenv']
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 = @config['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
- if @config['manage']
34
- install
35
- end
33
+ install
36
34
  end
37
35
  end
data/lib/myosx/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Myosx
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
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 Bootstrap
8
+ class Exec < Config
9
9
  def initialize
10
10
  Config.new.create_workspace
11
- Dotfiles.new.exec
12
- Homebrew.new.exec
13
- Rbenv.new.exec
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.1
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-20 00:00:00.000000000 Z
11
+ date: 2017-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: git