bjeanes / noober

Script to setup a new Leopard machine (auto-install all software, setup dot-files, sake tasks, install gems, etc)

This URL has Read+Write access

bjeanes (author)
Mon Sep 22 02:46:14 -0700 2008
commit  d241329d7861cedc5e370296e89f1aa1971315de
tree    3f768035076f11bde07950796949d7db051d39e9
parent  276ad2aa7026effe3efeb80e4b5a2f0f2d947d04
noober / TODO
100644 140 lines (119 sloc) 6.116 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
This is just a dump of ideas that we at Mocra have for either features or recipe-specific stuff. There is no order whatsoever,
but if you make sense of any of it and want to help add in the functionality, please do
 
------
 
Setting up a new machine for a Mocra developer
 
Ultimately it would uber-cool to make this a runnable script (assumes Mac on Leopard else do not let the machine in this room)
The script should match to local copies of large downloads (e.g. XCode, Textmate). When new versions of these are released, update the central copy + this script.
 
Install XCode 3.1 - to get Leopard dev tools (gcc etc)
System Preferences > Universal Access > “Enable access for assistive devices”
Update rubygems to 1.2+.
sudo gem update —system
Install following gems:
sudo gem install ParseTree -v 2.1.1
sudo gem install ruby2ruby -v 1.1.8
sudo gem install sake hpricot rails rspec Shoulda newgem newjs rbiphonetest ZenTest capistrano find_gem
Install following rails versions
sudo gem install rails -v 2.0.2
sudo gem install rails -v 2.1.0
Install latest deprec gem (http://deprec.org/. currently deprec-1.99.27) - download and manually instsall gem (github clone -> build -> install -> delete repo)
Install TextMate
Install MacPorts (http://macports.org)
Install Git for OS X (http://code.google.com/p/git-osx-installer/)
git clone git://github.com/bjeanes/dot-files.git
Install QuickSilver
Install Mailplane
Install Fluid.app
Install iTerm
MySQL for OS X
Postgres for OS X (http://www.postgresqlformac.com/lists/downloads/unified_installer_-_831_pos.dmg)
sudo gem install postgres
Create common Mocra folders (TODO - decide on this structure, e.g. ruby/objc roots, plus ruby/gems, objc/iphone, ruby/bin - in $PATH, etc)
~/Projects/#{language}/#{type}
e.g. /Projects/ruby/gems or /Projects/objc/iphone
~/Sites/#{wordpressblog} - mocra, personal blog, client sites, etc
/usr/local/src - where installed 3rd party stuff goes
symlinks from ~/ ??
Install sake tasks
Install git manpages (sake git:manpages:install)
mkdir -p ~/Projects/ruby
cd ~/Projects/ruby
git clone git://github.com/drnic/sake-tasks.git
cd sake-tasks
rake install
sudo sake git:manpages:install
Install TextMate bundles from github:
git clone git://github.com/drnic/ruby-tmbundle "Ruby.tmbundle"
git clone git://github.com/drnic/ruby-on-rails-tmbundle "Ruby on Rails.tmbundle"
git clone git://github.com/dchelimsky/rspec-tmbundle.git "RSpec.tmbundle"
git clone git://github.com/drnic/ruby-shoulda-tmbundle.git "Ruby Shoulda.tmbundle"
git clone git://github.com/drnic/html-tmbundle.git "html.tmbundle"
git clone git://github.com/drnic/javascript-jquery-tmbundle.git "Javascript JQuery.tmbundle"
git clone git://github.com/kangax/prototype-tmbundle.git "Javascript Prototype.tmbundle"
git clone git://github.com/timcharper/git-tmbundle.git "Git.tmbundle"
git clone git://github.com/drnic/copy-as-rtf-tmbundle.git "Copy as RTF.tmbundle"
git clone git://github.com/bmabey/rspec-story-tmbundle.git "RSpec Story.tmbundle"
git clone git://github.com/drnic/github-tmbundle.git "GitHub.tmbundle"
git clone git://github.com/drnic/rubycocoa-tmbundle.git "RubyCocoa.tmbundle"
git clone git://github.com/joshuabates/mocha-tmbundle.git "Mocha.tmbundle"
git clone git://github.com/drnic/objective-c-iphone-tmbundle.git "Objective-C iPhone.tmbundle"
git clone git://github.com/subtleGradient/javascript.tmbundle.git "Javascript.tmbundle"
git clone git://github.com/omghax/faker-tmbundle.git "Ruby Faker.tmbundle"
git clone git://github.com/timcharper/rubyamp.git "RubyAMP.tmbundle"
Install common bash profile alias/functions (TODO - split drnic’s .profile into files + put into bjeans/dot-files.git)
Install common set of bookmarks
Config for Xcode
com.apple.Xcode PBXCustomTemplateMacroDefinitions ' { "ORGANIZATIONNAME" = "Dr Nic Academy Pty Ltd"; } '
Config for other apps (e.g. textmate -> show line numbers, etc, etc)
Install 'save' default links:
tmbundles -> Library/Application Support/TextMate/Bundles
Start TimeMachine backup
 
Developer activities
 
Generate public keys (http://github.com/guides/providing-your-ssh-key)
Create github account...
Add public key to account
Add public key to Mocra Dev Key Collection place (NOTE: need this)
Ask for mocra.com googleapps account
Ideas
 
Extend mechanical_github (http://github.com/lstoll/mechanical_github/tree/master) to auto-do-stuff above
 
---
 
# TODO:
# Note install all browsers plus firefox plugins (firebug, web developer, greasemonkey, etc)
# setup textmate prefs (TM_XHTML, TM_ORGANIZATION_NAME, etc)
# skitch should be installed
# bonjour should be enabled and auto-connect on startup
 
# the rest needs refactoring elsewhere into recipes
 
Dir.cd($ENV['HOME'])
 
# Update rubygems to 1.2.0
system('gem update --system')
 
# Install some base gems
gem_install('ParseTree', '2.1.1')
gem_install('ruby2ruby', '1.1.8')
gem_install(%w{sake hpricot rspec Shoulda newgem newjs rbiphonetest ZenTest capistrano capistrano-ext find_gem rails rb-appscript test-parser rubyforge})
 
# Install all the Rails versions we might need
%w{2.0.0 2.0.1 2.0.2 2.0.4 2.1.0 2.1.1}.each do |version|
  gem_install('rails', version)
end
 
# The following is gem_install_from_github:
 
# We want to manually install gem Deprec gem here
system("git clone git://github.com/mbailey/deprec.git")
Dir.cd("deprec")
system("gem build deprec.gemspec && gem install deprec*.gem")
Dir.cd("..")
FileUtils.rm_r("deprec")
 
# Install all our apps from the apps/ directory
app_install %w{
  TextMate.dmg MySQL.pkg MacPorts.pkg
  Git.pkg Quicksilver.dmg Mailplane.dmg
  Fluid.dmg PostgreSQL.pkg XCode.dmg
}
 
# Now that XCode is installed, we need to set up some options
#system(%q{defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions ' { "ORGANIZATIONNAME" = "Dr Nic Academy Pty Ltd"; } '})
 
# Once PostgreSQL is installed
gem_install('postgres')
 
 
# Setup TextMate bundles
bundle_dir = "~/Library/Application Support/TextMate/Bundles/"
FileUtils.mkdir_p(bundle_dir)
Dir.cd(bundle_dir)
system("git clone git://github.com/bjeanes/tmbundle-collection.git ./")
system("git submodule update --init")
Dir.cd($ENV['HOME'])