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 Arch Linux or MacOS. 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.logOn Debian this is all you need to do. Everything should be installed and configured correctly. On MacOS there are two remaining steps.
-
(MacOS 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
- Universal 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
MacOS Only
- Hammerspoon
- Hammerspoon ShiftIt for easy window resizing
I primarily use devdocs.io for programming language API documentation. I want to find or build a devdocs.io CLI viewer that I can use within Vim and the shell.
Other documentation I use occasionally:
- Erlang: https://erldocs.com/
- Elixir: https://elixir-lang.org/docs.html
- C: https://www.gnu.org/software/libc/manual/html_mono/libc.html
- Make: https://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.