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'])