ahalogy-automation 0.0.4 → 0.0.5
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/ahalogy-automation.gemspec +4 -3
- data/bin/a5y-configure +95 -57
- data/data/ahalogy-automation/com.apple.dt.Xcode.plist +10 -0
- data/lib/ahalogy/install-helper.rb +4 -2
- metadata +24 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 42859894867e6063b4c1b93fa38d420c7e1727f7
|
4
|
+
data.tar.gz: 8934e5f981a1d1d610b53115ccbbc92d4df1dcff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8809830e64244b56f95d584a7ae66e6f6e60f911c7045d70909ed61b00dfd154a3d028b2706485e9f59c26da5906e4ce81102829ceadceb3cf21f3398f279ed8
|
7
|
+
data.tar.gz: 8d8855b4c1294ffdeff2475c210e4481a90c7ffc4590ae98979a3dbb85351dc40679e1f70e1fa35eec0d6250f390d19a6f67f0fddcb6d3626d2bf55b8b6e775a
|
data/ahalogy-automation.gemspec
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
Gem::Specification.new do |gem|
|
2
2
|
gem.name = 'ahalogy-automation'
|
3
|
-
gem.version = '0.0.
|
3
|
+
gem.version = '0.0.5'
|
4
4
|
gem.licenses = ['MIT']
|
5
|
-
gem.date = '2015-05-
|
5
|
+
gem.date = '2015-05-15'
|
6
6
|
gem.summary = 'Scripts to handle IT automation.'
|
7
|
-
gem.description = '
|
7
|
+
gem.description = 'Scripts that install applications on Ahalogy Mac computers.'
|
8
8
|
gem.authors = ['Zan Loy']
|
9
9
|
gem.email = 'zan.loy@gmail.com'
|
10
10
|
gem.homepage = 'https://www.ahalogy.com'
|
@@ -12,6 +12,7 @@ Gem::Specification.new do |gem|
|
|
12
12
|
gem.executables = ['a5y-configure']
|
13
13
|
|
14
14
|
gem.add_runtime_dependency 'colorize', '~> 0'
|
15
|
+
gem.add_runtime_dependency 'command', '~> 1.0.0', '>= 1.0.0'
|
15
16
|
gem.add_runtime_dependency 'daybreak', '~> 0.3', '>= 0.3.0'
|
16
17
|
gem.add_runtime_dependency 'github_api', '~> 0.12', '>= 0.12.3'
|
17
18
|
gem.add_runtime_dependency 'highline', '~> 1.7'
|
data/bin/a5y-configure
CHANGED
@@ -2,15 +2,19 @@
|
|
2
2
|
|
3
3
|
require 'ahalogy/install-helper'
|
4
4
|
require 'colorize'
|
5
|
+
require 'command'
|
5
6
|
require 'daybreak'
|
6
7
|
require 'github_api'
|
7
8
|
require 'highline/import'
|
8
9
|
require 'optparse'
|
9
10
|
|
10
|
-
|
11
|
-
|
11
|
+
fail 'This script should run as root using sudo.' unless ENV['USER'] == 'root'
|
12
|
+
user_name = ENV['SUDO_USER']
|
13
|
+
user_uid = ENV['SUDO_UID']
|
14
|
+
user_gid = ENV['SUDO_GID']
|
15
|
+
fail 'Environment variables for SUDO_UID and SUDO_GID are invalid' if user_uid.nil? or user_gid.nil?
|
12
16
|
|
13
|
-
groups = [:developer, :pinner, :cs, :designer]
|
17
|
+
groups = [:developer, :pinner, :cs, :designer, :'systems-manager']
|
14
18
|
options = {
|
15
19
|
groups: [:default],
|
16
20
|
verbose: false,
|
@@ -28,7 +32,8 @@ OptionParser.new do |opts|
|
|
28
32
|
end
|
29
33
|
opts.on('--skip-filevault', 'Skip configuration of FileVault.') { options[:skip_filevault] = true }
|
30
34
|
opts.on('--skip-github', 'Skip configuration of GitHub sshkey') { options[:skip_github] = true }
|
31
|
-
opts.on('-a', '--ask', '
|
35
|
+
opts.on('-a', '--ask', 'Ask to confirm settings stored in settings database.') { options[:ask] = true }
|
36
|
+
opts.on('--xcode FILE', 'Use local xcode dmg file for install.') { |file| options[:xcode] = file }
|
32
37
|
opts.on('-d', '--debug', 'Enable debug messaging.') { options[:verbose] = true }
|
33
38
|
end.parse!
|
34
39
|
|
@@ -50,36 +55,89 @@ notes = []
|
|
50
55
|
|
51
56
|
begin
|
52
57
|
if options[:groups].include? :default
|
53
|
-
|
58
|
+
# Install xcode command line tools
|
54
59
|
system('xcode-select -v')
|
55
60
|
if $? != 0
|
56
61
|
run_cmd 'xcode-select --install', 'Installing Xcode CLI tools.'
|
57
62
|
else
|
58
63
|
puts 'Xcode CLI tools is already installed...skipped.'.colorize(:green)
|
59
64
|
end
|
60
|
-
## Install full xcode
|
61
|
-
system 'xcodebuild &> /dev/null'
|
62
|
-
case $?.exitstatus
|
63
|
-
when 1
|
64
|
-
fail 'The full xcode developer application needs to be installed before running this script.'.colorize(:red)
|
65
|
-
when 69
|
66
|
-
puts 'You need to agree to the Xcode license before continuing...'.colorize(:red)
|
67
|
-
system('sudo xcodebuild -license')
|
68
|
-
if $? != 0
|
69
|
-
fail 'Xcode is not configured correctly.'
|
70
|
-
end
|
71
|
-
end
|
72
65
|
|
73
66
|
# Enable FileVault
|
74
67
|
unless options[:skip_filevault]
|
75
68
|
begin
|
76
|
-
run_cmd "
|
69
|
+
run_cmd "fdesetup enable -user admin -usertoadd #{user_name}", 'Enabling FileVault... (skip by re-running script with --skip-filevault)'
|
77
70
|
notes << 'FileVault was enabled. You will need to reboot to start the encryption process.'
|
78
71
|
rescue
|
79
72
|
puts 'FileVault already enabled...skipped'.colorize(:green)
|
80
73
|
end
|
81
74
|
end
|
82
75
|
|
76
|
+
# Install full xcode
|
77
|
+
system 'xcodebuild &> /dev/null'
|
78
|
+
case $?.exitstatus
|
79
|
+
when 1
|
80
|
+
if options[:xcode]
|
81
|
+
xcode_dmg = options[:xcode]
|
82
|
+
else
|
83
|
+
puts 'Downloading Xcode to install...'.colorize(:blue)
|
84
|
+
system('curl --output /tmp/xcode.dmg https://s3-us-west-1.amazonaws.com/a5y-is-and-t/Xcode_6.3.1.dmg')
|
85
|
+
xcode_dmg = '/tmp/xcode.dmg'
|
86
|
+
end
|
87
|
+
command = Command.run("hdiutil attach -nobrowse '#{xcode_dmg}'")
|
88
|
+
fail "Can't mount Xcode dmg at #{xcode_dmg}." unless command.status == 0
|
89
|
+
line = command.stdout.lines.last
|
90
|
+
device = line.split(' ').first.strip
|
91
|
+
dir = line.split(' ').last.strip
|
92
|
+
puts 'Copying Xcode.app to /Applications...'.colorize(:blue)
|
93
|
+
command = Command.run("cp -R '#{dir}/Xcode.app' /Applications")
|
94
|
+
fail 'Error trying to install Xcode.app in /Applications' unless command.status == 0
|
95
|
+
Command.run "hdiutil unmount #{device}"
|
96
|
+
FileUtils.rm xcode_dmg if xcode_dmg == '/tmp/xcode.dmg'
|
97
|
+
install_file 'com.apple.dt.Xcode.plist', '/Library/Preferences/com.apple.dt.Xcode.plist'
|
98
|
+
when 69
|
99
|
+
install_file 'com.apple.dt.Xcode.plist', '/Library/Preferences/com.apple.dt.Xcode.plist'
|
100
|
+
end
|
101
|
+
|
102
|
+
# Enable system firewall
|
103
|
+
run_cmd 'defaults write /Library/Preferences/com.apple.alf globalstate -int 1', 'Enabling firewall.'
|
104
|
+
|
105
|
+
# A few more random things to do while we are still root
|
106
|
+
# TODO: Clean this up
|
107
|
+
|
108
|
+
# Make some directories so HomeBrew installer doesn't need sudo
|
109
|
+
mkdir '/usr/local', mode: 0775
|
110
|
+
mkdir '/Library/Caches/Homebrew', mode: 0775
|
111
|
+
|
112
|
+
# Make Caskroom for brew cask so it doesn't need sudo to do it.
|
113
|
+
mkdir '/opt', mode: 0755
|
114
|
+
mkdir '/opt/homebrew-cask', owner: user_name, group: user_gid
|
115
|
+
mkdir '/opt/homebrew-cask/Caskroom', owner: user_name, group: user_gid
|
116
|
+
|
117
|
+
if options[:groups].include? :developer
|
118
|
+
# Set the user shell here before we drop privs so oh-my-zsh installer doesn't ask for password
|
119
|
+
Command.run "chsh -s /bin/zsh #{user_name}"
|
120
|
+
# Setup rbenv
|
121
|
+
run_cmd "grep -q -F 'export RBENV_ROOT=/usr/local/var/rbenv' /etc/profile || echo 'export RBENV_ROOT=/usr/local/var/rbenv' >> /etc/profile", 'Adding RBENV_ROOT to /etc/profile...'
|
122
|
+
run_cmd "grep -q -F 'rbenv init -' /etc/profile || echo 'eval \"$(rbenv init -)\"' >> /etc/profile", 'Adding rbenv init to /etc/profile...'
|
123
|
+
mkdir '/usr/local/var/rbenv/plugins'
|
124
|
+
if File.exists? '/usr/local/var/rbenv/plugins/rbenv-gem-rehash'
|
125
|
+
puts 'rbenv-gem-rehash already installed...skipped.'.colorize(:green)
|
126
|
+
else
|
127
|
+
run_cmd 'git clone https://github.com/sstephenson/rbenv-gem-rehash.git /usr/local/var/rbenv/plugins/rbenv-gem-rehash', 'Installing rbenv-gem-rehash...'
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
if options[:groups].include? :'systems-manager'
|
132
|
+
puts 'Installing Ahalogy-Systems-Manager.pkg...'.colorize(:blue)
|
133
|
+
system('curl --output /tmp/ahalogy-systems-manager.pkg https://s3-us-west-1.amazonaws.com/a5y-is-and-t/Ahalogy-Systems-Manager.pkg')
|
134
|
+
system('installer -pkg /tmp/ahalogy-systems-manager.pkg -target /')
|
135
|
+
FileUtils.rm '/tmp/ahalogy-systems-manager.pkg'
|
136
|
+
end
|
137
|
+
|
138
|
+
# Dropping privileges to the sudo_user
|
139
|
+
Process::Sys.setuid(user_name)
|
140
|
+
|
83
141
|
unless options[:skip_github]
|
84
142
|
# Let's setup our sshkey and github
|
85
143
|
if File.exists? File.expand_path('~/.ssh/id_rsa')
|
@@ -107,14 +165,11 @@ begin
|
|
107
165
|
end
|
108
166
|
end
|
109
167
|
|
110
|
-
# Enable system firewall
|
111
|
-
run_cmd 'sudo defaults write /Library/Preferences/com.apple.alf globalstate -int 1', 'Enabling firewall.'
|
112
|
-
|
113
168
|
# Install homebrew
|
114
169
|
if File.exists? '/usr/local/bin/brew'
|
115
170
|
puts 'Homebrew already installed...skipped.'.colorize(:green)
|
116
171
|
else
|
117
|
-
run_cmd 'ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"', "Installing homebrew."
|
172
|
+
run_cmd 'echo | ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"', "Installing homebrew."
|
118
173
|
run_cmd 'brew doctor', 'Verifying Homebrew Install...'
|
119
174
|
end
|
120
175
|
|
@@ -129,8 +184,12 @@ begin
|
|
129
184
|
run_cmd 'brew tap homebrew/versions', 'Tapping homebrew/versions...'
|
130
185
|
|
131
186
|
### Install Applications
|
187
|
+
# Apps via Brew
|
188
|
+
install_brew [:git, :python, :python3, :cassandra, :macvim]
|
189
|
+
#install_brew 'macvim', '--override-system-vim --with-python3'
|
190
|
+
# Apps via Cask
|
191
|
+
install_cask [:backblaze, :slack, :github, 'google-chrome', 'google-drive', :screenhero, :textmate, :zoomus]
|
132
192
|
# BackBlaze
|
133
|
-
install_cask 'backblaze'
|
134
193
|
notes << "If this is the first run of the Ahalogy installer script, you will need to install BackBlaze by running:\n open '/opt/homebrew-cask/Caskroom/backblaze/latest/Backblaze Installer.app'"
|
135
194
|
# Hidden.app
|
136
195
|
target_dir = File.expand_path('~/Downloads')
|
@@ -138,14 +197,10 @@ begin
|
|
138
197
|
unless File.exists? filename
|
139
198
|
cmd = "curl -o #{filename} https://hiddenapp.com/static/downloads/hidden2.1.zip"
|
140
199
|
run_cmd(cmd, 'Downloading Hiddenapp...')
|
141
|
-
run_cmd "cd
|
142
|
-
notes <<
|
200
|
+
run_cmd "cd #{target_dir} && unzip -o #{filename}", 'Unzipping hiddenapp payload...'
|
201
|
+
notes << "You will need to manually install Hidden.app. It has been unzipped in #{target_dir}."
|
143
202
|
end
|
144
|
-
#
|
145
|
-
install_brew [:git, :python, :python3, :cassandra]
|
146
|
-
install_brew 'macvim', '--override-system-vim --with-python3'
|
147
|
-
# Apps via Cask
|
148
|
-
install_cask [:github, 'google-chrome', 'google-drive', :screenhero, :textmate, :zoomus]
|
203
|
+
# MacVim
|
149
204
|
install_file 'vimrc', '~/.vimrc'
|
150
205
|
if File.directory? File.expand_path('~/.vim/bundle/Vundle.vim')
|
151
206
|
run_cmd 'cd ~/.vim/bundle/Vundle.vim && git pull', 'Updating Vundle via GitHub...'
|
@@ -158,7 +213,7 @@ begin
|
|
158
213
|
if options[:groups].include? :developer
|
159
214
|
puts "### Starting installation of developer apps... ###"
|
160
215
|
install_brew [:node, :phantomjs, 'homebrew/versions/postgresql92', :redis, 'ruby-build', :nvm, :pow, :rbenv]
|
161
|
-
install_cask ['1password', :alfred, :anvil, :dash, :
|
216
|
+
install_cask ['1password', :alfred, :anvil, :dash, :tower]
|
162
217
|
# Setup cql
|
163
218
|
run_cmd 'pip install cql &> /dev/null', 'Installing cql python module via pip...'
|
164
219
|
run_cmd 'pip3 install cql &> /dev/null', 'Installing cql python3 module via pip3...'
|
@@ -167,35 +222,17 @@ begin
|
|
167
222
|
add_line_to_file '~/.zshrc', 'export NVM_DIR=~/.nvm'
|
168
223
|
add_line_to_file '~/.zshrc', 'source $(brew --prefix nvm)/nvm.sh'
|
169
224
|
# Setup pow
|
170
|
-
|
225
|
+
unless File.directory? File.expand_path('~/Library/Application Support/Pow/Hosts')
|
171
226
|
run_cmd 'mkdir -p ~/Library/Application\ Support/Pow/Hosts', 'Creating support directory for pow hosts...'
|
172
227
|
end
|
173
|
-
|
228
|
+
unless File.symlink? File.expand_path('~/.pow')
|
174
229
|
run_cmd 'ln -s ~/Library/Application\ Support/Pow/Hosts ~/.pow', 'Symlinking pow hosts directory to ~/.pow ...'
|
175
230
|
end
|
176
|
-
|
177
|
-
|
178
|
-
run_cmd 'sudo launchctl load -w /Library/LaunchDaemons/cx.pow.firewall.plist', 'Configuring pow launchd agent to start on boot...'
|
179
|
-
run_cmd 'launchctl load -w ~/Library/LaunchAgents/cx.pow.powd.plist', 'Starting pow...'
|
180
|
-
# Setup rbenv
|
181
|
-
system("grep -q -F 'export RBENV_ROOT=/usr/local/var/rbenv' /etc/profile")
|
182
|
-
if $? != 0
|
183
|
-
run_cmd "echo 'export RBENV_ROOT=/usr/local/var/rbenv' | sudo tee -a /etc/profile > /dev/null", "Adding RBENV_ROOT to /etc/profile..."
|
184
|
-
end
|
185
|
-
system("grep -q -F 'rbenv init -' /etc/profile")
|
186
|
-
if $? != 0
|
187
|
-
run_cmd %q[echo 'eval "$(rbenv init -)"' | sudo tee -a /etc/profile > /dev/null], "Adding rbenv init to /etc/profile..."
|
188
|
-
end
|
189
|
-
mkdir '/usr/local/var/rbenv'
|
190
|
-
mkdir '/usr/local/var/rbenv/plugins'
|
191
|
-
if File.exists? '/usr/local/var/rbenv/plugins/rbenv-gem-rehash'
|
192
|
-
puts 'rbenv-gem-rehash already installed...skipped.'.colorize(:green)
|
193
|
-
else
|
194
|
-
run_cmd 'sudo git clone https://github.com/sstephenson/rbenv-gem-rehash.git /usr/local/var/rbenv/plugins/rbenv-gem-rehash', "Installing rbenv-gem-rehash..."
|
195
|
-
end
|
231
|
+
notes << "You will need to run the following commands to setup port 80 forwarding for pow:\n sudo pow --install-system\n pow --install-local"
|
232
|
+
notes << "You will need to run the following commands if you want pow to start on boot:\n sudo launchctl load -w /Library/LaunchDaemons/cx.pow.firewall.plist\n launchctl load -w ~/Library/LaunchAgents/cx.pow.powd.plist"
|
196
233
|
# OH MY ZSH!
|
197
|
-
|
198
|
-
run_cmd
|
234
|
+
unless File.directory? File.expand_path('~/.oh-my-zsh')
|
235
|
+
run_cmd 'curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh', 'Installing oh-my-zsh...'
|
199
236
|
end
|
200
237
|
# Set the default terminal theme to something more bareable.
|
201
238
|
#run_cmd 'defaults write com.apple.Terminal "Default Window Settings" "Pro"'
|
@@ -211,16 +248,17 @@ begin
|
|
211
248
|
end
|
212
249
|
|
213
250
|
if options[:groups].include? :designer
|
214
|
-
install_cask [
|
251
|
+
install_cask ['adobe-creative-cloud', 'sketch-tool', :invisionsync, :tower, :anvil]
|
215
252
|
notes << "If this is the first time running a5y-configure, you will need to manually install Adobe Creative Cloud by running:\n open '/opt/homebrew-cask/Caskroom/adobe-creative-cloud/latest/Creative Cloud Installer.app'"
|
216
253
|
end
|
254
|
+
|
217
255
|
rescue
|
218
256
|
raise
|
219
257
|
ensure
|
220
258
|
db.close
|
221
259
|
end
|
222
260
|
|
223
|
-
|
261
|
+
unless notes.empty?
|
224
262
|
puts '### Installer Notes ###'.colorize(:red)
|
225
263
|
notes.each_with_index do |note, index|
|
226
264
|
puts "#{index + 1}. #{note}"
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
3
|
+
<plist version="1.0">
|
4
|
+
<dict>
|
5
|
+
<key>IDELastGMLicenseAgreedTo</key>
|
6
|
+
<string>EA1187</string>
|
7
|
+
<key>IDEXcodeVersionForAgreedToGMLicense</key>
|
8
|
+
<string>6.3.1</string>
|
9
|
+
</dict>
|
10
|
+
</plist>
|
@@ -86,7 +86,7 @@ def add_line_to_file(file, line, regex = nil)
|
|
86
86
|
run_cmd "grep '#{regex}' #{file} --quiet || echo '#{line}' >> #{file}", "Updating #{file}..."
|
87
87
|
end
|
88
88
|
|
89
|
-
def mkdir(dir)
|
89
|
+
def mkdir(dir, mode: nil, owner: nil, group: nil)
|
90
90
|
dir = File.expand_path dir
|
91
91
|
if File.exists? dir
|
92
92
|
if File.directory? dir
|
@@ -96,6 +96,8 @@ def mkdir(dir)
|
|
96
96
|
end
|
97
97
|
else
|
98
98
|
puts "(mkdir) Creating directory #{dir}...".colorize(:blue)
|
99
|
-
FileUtils.
|
99
|
+
FileUtils.mkdir_p dir
|
100
100
|
end
|
101
|
+
FileUtils.chmod mode, dir unless mode.nil?
|
102
|
+
FileUtils.chown owner, group, dir
|
101
103
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ahalogy-automation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zan Loy
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-05-
|
11
|
+
date: 2015-05-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorize
|
@@ -24,6 +24,26 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: command
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.0.0
|
34
|
+
- - ">="
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: 1.0.0
|
37
|
+
type: :runtime
|
38
|
+
prerelease: false
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - "~>"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 1.0.0
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 1.0.0
|
27
47
|
- !ruby/object:Gem::Dependency
|
28
48
|
name: daybreak
|
29
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -78,7 +98,7 @@ dependencies:
|
|
78
98
|
- - "~>"
|
79
99
|
- !ruby/object:Gem::Version
|
80
100
|
version: '1.7'
|
81
|
-
description:
|
101
|
+
description: Scripts that install applications on Ahalogy Mac computers.
|
82
102
|
email: zan.loy@gmail.com
|
83
103
|
executables:
|
84
104
|
- a5y-configure
|
@@ -89,6 +109,7 @@ files:
|
|
89
109
|
- TODO
|
90
110
|
- ahalogy-automation.gemspec
|
91
111
|
- bin/a5y-configure
|
112
|
+
- data/ahalogy-automation/com.apple.dt.Xcode.plist
|
92
113
|
- data/ahalogy-automation/vimrc
|
93
114
|
- lib/ahalogy/install-helper.rb
|
94
115
|
homepage: https://www.ahalogy.com
|