Custom bootstrap installation and configuration for Mac. Kind of a "dotfiles repo" too.
Introduction ============
In order to have easier reinstalls of my Mac*, I did some scripts somewhere in between of Thoughtbot's Laptop and any other dotfiles repo at Github. Briefly, the main scripts are organized as follows:
- bootstrap.sh: Script that will command all the process.
- sw/*.sh: Scripts that will install all the software I need.
- config/osx.sh: Script that will set many custom settings to OSX.
Take a look at all the scripts, feel free to take some code (many pieces come from others as well :P), ideas, customize it, improve it, or whatever you like!
And remember, this repository (as any dotfile repo) is meant for forking.
Enjoy!
Installation ============
Easy peasy:
git clone git://github.com/fbeeper/fBootstrap.git ~/.fBootstrap
cd ~/.fBootstrap && ./bootstrap.sh
Pay attention to the installation/configuration process because some questions will be asked. Sometimes easy ones as your Github user/email, sometimes more difficult ones as your root credentials to be able to proceed!
Customization =============
I think that most of these scripts are perfectly useful for anybody. However, there are part that you should consider to adapt to fit your own needs:
- /sw/brew-dev.sh is where I've gathered some installs that are very personal: I don't think most people will need Qt and VTK development libraries on their systems! :P
- Everything under /config/osx.sh customize MANY things... Take a look and decide previous to your install
What you get ============
An essential pack of software for your Mac:
- Homebrew
- Homebrew-Cask SUPER HANDY!!!
- Zsh + Oh my sh!!
- Dropbox
- The Unarchiver
- Google Chrome
- VLC Media Player
- Spotify
- Open Office
- Skype
- Cyberduck
- Bartender
- BetterTouchTool
- Coconutbattery
- DaisyDisk
Leaving as it is, you also get these tools for developement:
- CMake + CMake GUI
- X-Quartz
- Imagemagick
- Doxygen
- Graphviz
- Qt development library (4.8.4 because of VTK)
- QtCreator (missing in Homebrew package)
- VTK
- VNC Viewer (keyboard works better!)
- SourceTree
- Makeicns
- MacTex (the only manual installation)
- TexMaker
And last but not least, this bootstrap will install:
- fMacVim! Coooool! :D
Besides all this cool software, fBootstrap will add a couple of things you've probably missed on your Mac OS for a long time:
Ctrl
+⌥
+⌘
+l
shortcut to start your screensaver and lock screen! Blazing fast!Ctrl
+⌥
+⌘
+c
to copy file/dir paths from Finder. I know drag and drop is cool, but not as much as this shortcut!Ctrl
+⌥
+⌘
+o
to open files in fMacVim. Neat!
And I programatically added links to /Applications
, ~
, Projects
(my
work), ~/Dropbox
, and Downloads
right into the Dock. Yay!
What's the future of fBootstrap? --------------------------------
This is nowhere near to be perfect, so I expect to bring future updates.
Nothing planned yet.
I'd be pleased to hear any comments, ideas, code, questions, or whatever you may want to say!
You'll easily find me at: github.com/fbeeper, or @fbeeper.
Licensing and thanks... -----------------------
I kept as much references as I could (in-line with the code) to the work of others. But I'm going to be more clear:
-
Relative to the extracts of code I adapted from Thoughtbot's Laptop, they have a MIT License that I want to respect, read it here: license.
-
Mathias Bynens' OSX customizations haven't got a license, but I thank him for sharing them!
-
Root FS 'noatime' mounting comes from another unlicensed code. Thanks to Philipp Klaus.
-
Besides, I want to thank to all the people who made possible all the software that I'm able to install! This script is possible thanks to them, not to me :P
Relative to my work, I'd like to share it with the world under an simple clause: If you use it the least you must choose something from this list.
- Make any constructive comment of my code. I'm here to learn.
- Contribute something to this scripts. Updates, fixes, features... Whatever!
- Donate bitcoins to: 1N3hiRq46tLgHmdU1UAQST7SA3SfKTfb75
Besides that, I hope you are kind enough to reference any your sources whether is my code or a code from a 3rd party!
Boxen 😅 ---- \* I tried [Boxen](http://boxen.github.com) (really, I even did this [post](http://glipho.com/fbeeper/my-experience-with-boxen)), but it is not as easy as I would have liked (I've no experience neither Ruby nor Puppet). That's fBootstrap birthdate. It won't have a fancy architecture, but it will be more handy for me! :D