Skip to content

Instantly share code, notes, and snippets.

@kenton
Created March 11, 2013 20:05
Show Gist options
  • Save kenton/5137257 to your computer and use it in GitHub Desktop.
Save kenton/5137257 to your computer and use it in GitHub Desktop.
#!/bin/bash
cd ~/
sudo apt-get update
# install some basic programs
sudo apt-get install -y sqlite3 libsqlite3-dev libssl-dev openssl zlib1g zlib1g-dev zlibc
sudo apt-get install -y libxslt-dev libxml2-dev
sudo apt-get install -y git
sudo apt-get install -y default-jre
sudo apt-get install -y g++
sudo apt-get install -y build-essential
sudo apt-get install -y texinfo
sudo apt-get install -y compizconfig-settings-manager
sudo apt-get install -y chromium-browser
sudo apt-get install -y libreadline6-dev
# install rvm
\curl -#L https://get.rvm.io | bash -s stable --ruby
# install addional rails-related applications
cd ~/
sudo apt-get install -y sphinxsearch
sudo apt-get install postgresql postgresql-contrib phppgadmin
sudo apt-get install postgresql-server-dev-9.1.8
sudo apt-get install postgresql-server-dev-9.1
# install vim and rails.vim (http://biodegradablegeek.com/2007/12/using-vim-as-a-complete-ruby-on-rails-ide/)
cd ~/
sudo apt-get install -y vim
echo "filetype on \" Automatically detect file types." >> .vimrc
echo "set nocompatible \" no vi compatibility." >> .vimrc
echo "" >> .vimrc
echo "\" Add recently accessed projects menu (project plugin)" >> .vimrc
echo "set viminfo^=\!" >> .vimrc
echo "" >> .vimrc
echo "\" Minibuffer Explorer Settings" >> .vimrc
echo "let g:miniBufExplMapWindowNavVim = 1" >> .vimrc
echo "let g:miniBufExplMapWindowNavArrows = 1" >> .vimrc
echo "let g:miniBufExplMapCTabSwitchBufs = 1" >> .vimrc
echo "let g:miniBufExplModSelTarget = 1" >> .vimrc
echo "" >> .vimrc
echo "\" alt+n or alt+p to navigate between entries in QuickFix" >> .vimrc
echo "map <silent> <m-p> :cp <cr>" >> .vimrc
echo "map <silent> <m-n> :cn <cr>" >> .vimrc
echo "" >> .vimrc
echo "\" Change which file opens after executing :Rails command" >> .vimrc
echo "let g:rails_default_file='config/database.yml'" >> .vimrc
echo "" >> .vimrc
echo "syntax enable" >> .vimrc
echo "" >> .vimrc
echo "set cf \" Enable error files & error jumping." >> .vimrc
echo "set clipboard+=unnamed \" Yanks go on clipboard instead." >> .vimrc
echo "set history=256 \" Number of things to remember in history." >> .vimrc
echo "set autowrite \" Writes on make/shell commands" >> .vimrc
echo "set ruler \" Ruler on" >> .vimrc
echo "set nu \" Line numbers on" >> .vimrc
echo "set nowrap \" Line wrapping off" >> .vimrc
echo "set timeoutlen=250 \" Time to wait after ESC (default causes an annoying delay)" >> .vimrc
echo "\" colorscheme vividchalk \" Uncomment this to set a default theme" >> .vimrc
echo "" >> .vimrc
echo "\" Formatting" >> .vimrc
echo "set ts=2 \" Tabs are 2 spaces" >> .vimrc
echo "set bs=2 \" Backspace over everything in insert mode" >> .vimrc
echo "set shiftwidth=2 \" Tabs under smart indent" >> .vimrc
echo "set nocp incsearch" >> .vimrc
echo "set cinoptions=:0,p0,t0" >> .vimrc
echo "set cinwords=if,else,while,do,for,switch,case" >> .vimrc
echo "set formatoptions=tcqr" >> .vimrc
echo "set cindent" >> .vimrc
echo "set autoindent" >> .vimrc
echo "set smarttab" >> .vimrc
echo "set expandtab" >> .vimrc
echo "" >> .vimrc
echo "\" Visual" >> .vimrc
echo "set showmatch \" Show matching brackets." >> .vimrc
echo "set mat=5 \" Bracket blinking." >> .vimrc
echo "set list" >> .vimrc
echo "\" Show $ at end of line and trailing space as ~" >> .vimrc
echo "set lcs=tab:\ \ ,eol:$,trail:~,extends:>,precedes:<" >> .vimrc
echo "set novisualbell \" No blinking ." >> .vimrc
echo "set noerrorbells \" No noise." >> .vimrc
echo "set laststatus=2 \" Always show status line." >> .vimrc
echo "" >> .vimrc
echo "\" gvim specific" >> .vimrc
echo "set mousehide \" Hide mouse after chars typed" >> .vimrc
echo "set mouse=a \" Mouse in all modesc" >> .vimrc
mkdir .vim
cd .vim
wget http://www.vim.org/scripts/download_script.php?src_id=16429
mv d* rails.zip
unzip rails.zip
rm -rf rails.zip
# to allow :help rails, start up vim and type :helptags ~/.vim/doc
# install sublimetext2
cd /usr/src/
wget -O Sublime-Text-2.0.1.tar.bz2 http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.1%20x64.tar.bz2
tar -xvf Sublime-Text-2.0.1.tar.bz2
test -d "/usr/local/sublimetext2" && rm -rf "/usr/local/sublimetext2"
mv "/usr/src/Sublime Text 2" "/usr/local/sublimetext2"
ln -s /usr/local/sublimetext2/sublime_text /usr/local/bin/sublime_text
cat > /usr/share/applications/sublime_text.desktop <<'EOF'
[Desktop Entry]
Type=Application
Version=2.0
Name=Sublime Text
Name[en_GB]=Sublime Text
GenericName=Sophisticated text editor
GenericName[en_GB]=Sophisticated text editor
Exec=sublime_text %F
Terminal=false
Categories=GTK;Development;IDE;
MimeType=text/plain;text/x-chdr;text/x-csrc;text/x-c++hdr;text/x-c++src;text/x-java;text/x-dsrc;text/x-pascal;text/x-perl;text/x-python;application/x-php;application/x-httpd-php3;application/x-httpd-php4;application/x-httpd-php5;application/xml;text/html;text/css;text/x-sql;text/x-diff;
StartupNotify=true
Keywords=Code;Editor;Programming;
EOF
# turn off update popups
cd ~/
gconftool -s --type bool /apps/update-notifier/auto_launch false
gconftool -s --type bool /apps/update-notifier/no_show_notifications true
# create a new gemset in RVM and install various ruby gems
rvm gemset create rubydev
gem install bundler rails rspec-rails pg sqlite3 awesome_print hirb pry
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment