Stratus3D
Everything I need to get setup on a new machine for software development.
This repository contains my Vim, tmux, Zsh, Bash, and asdf config files, a script to symlink all the config files and directories in place, and a set of setup scripts that install all the tools I need on Ubuntu or OSX. The Gruvbox Dark colorscheme is used for Vim and the terminal emulator profiles.
I primarily write software in Erlang, Elixir, Go, and Bash and occasionally in Ruby and Lua. The plugins and config specified in this repo is for polyglot local development in these languages.
- Vim, tmux, Zsh, Bash, asdf, and Git configurations, as well as configurations for all other tools I use
- Setup script that symlinks dotfiles and installs all the software I use
- A collection of Bash scripts I rely on for software development
- Profiles for the terminal emulators I use
- List of commands I often forget
curl
- For the command below
-
Run the
setup.sh
. This will install all the necessary software, setup commonly used directories, and install dotfiles. Since the setup script is idempotent it can be run on machines that have already been setup without causing issues.curl -s https://raw.githubusercontent.com/Stratus3D/dotfiles/master/scripts/setup.sh --output setup.sh chmod +x setup.sh ./setup.sh | tee ~/setup.log
On Debian this is all you need to do. Everything should be installed and configured correctly. On OSX there are two remaining steps.
-
(OSX only) Configure Terminal.app to use the custom profile stored in the dotfiles directory. In the Terminal preferences window under the Profiles tab click the "import" button and navigate to
~/dotfiles/terminal.app_profile/
and select the profile file.
Configurations for all the tools are need are checked into this repository. All the dotfiles are symlinked with to my home directory with the scripts/link.sh script. The link.sh script is run by the setup.sh script, which is used to install these dotfiles.
This is software that I use for my day-to-day work. All of this is installed via the setup.sh
script.
- asdf for programming language version management
- Dash/ZealDocs and devdocs.io for documentation
- Exuberant Ctags for code navigation
- Git for version control
- Vim for text editing
- Tmux for terminal sessions and window panes
- Tmuxinator for managing tmux sessions
- Ungoogled Chromium
- Z shell as my interactive shell
OSX Only
- Hammerspoon
- Hammerspoon ShiftIt for easy window resizing
Offline documentation suitable for day to day use.
- Erlang: http://erldocs.com/
- Elixir: http://elixir-lang.org/docs.html
- Ruby: http://pjkh.com/articles/building-your-own-rails-and-ruby-searchable-api-docs/ and http://shynnergy.com/2012/02/create-local-ruby-on-rails-documentation-for-offline-use/
- JavaScript: https://developer.mozilla.org/media/developer.mozilla.org.tar.gz
- C: http://www.gnu.org/software/libc/manual/html_mono/libc.html
- Make: http://www.gnu.org/software/make/manual/make.html
- Joshua Steele's dotfiles (https://github.com/joshukraine/dotfiles)
- thoughtbot/laptop (https://github.com/thoughtbot/laptop)
- Michael J. Smalley's dotfiles (https://github.com/michaeljsmalley/dotfiles)
- Gary Bernhardt's dotfiles (https://github.com/garybernhardt/dotfiles)
- Andrew Stambrosky's dotfiles (https://github.com/astambrosky/dotfiles)
Suggestions/improvements are welcome! Please open an issue or contact me directly.