---
title: "Laptop setup"
source: 18F Guides
source_url: https://github.com/18F/guides
licence: CC0-1.0
domain: engineering
subdomain: 18f-guides
date_added: 2026-04-25
---

While you are welcome to customize your laptop, here are some tools that have worked for others on the engineering team!

* [ChromeDriver] for headless website testing
* [chruby] for managing [Ruby] versions. 
* [Cloud Foundry CLI] for command line access to 18F's Cloud Foundry-based application platform
* [Caulking] checks for many common types of API tokens and other [sensitive information](https://handbook.tts.gsa.gov/sensitive-information/) before you commit 
* [GitHub Desktop] for setting up your SSH keys automatically
* [Homebrew] for managing operating system libraries
* [Homebrew Cask] for quickly installing Mac apps from the command line
* [Homebrew Services] so you can easily stop, start, and restart services
* [gh] (official) or [hub] (unofficial) GitHub-maintained CLI tools for interacting with the GitHub API
* [nvm] for managing Node.js versions if you do not have [Node.js] already installed (Includes latest [Node.js] and [NPM], for running apps and installing JavaScript packages)
* [pyenv] for managing Python versions if you do not have [Python] already installed (includes the latest 3.x [Python])
* [ruby-install] for installing different versions of Ruby
* [Slack] for communicating with your team
* [The Silver Searcher] for finding things in files
* [Virtualenv] for creating isolated Python environments (via [pyenv] if it is installed)
* [Virtualenvwrapper] for extending Virtualenv (via [pyenv] if it is installed)
* [Zsh] as your shell

[ChromeDriver]: http://chromedriver.chromium.org/
[chruby]: https://github.com/postmodern/chruby
[Cloud Foundry CLI]: https://github.com/cloudfoundry/cli
[Caulking]: https://github.com/cloud-gov/caulking
[Github Desktop]: https://desktop.github.com/
[Homebrew]: http://brew.sh/
[Homebrew Cask]: https://github.com/Homebrew/homebrew-cask
[Homebrew Services]: https://github.com/Homebrew/homebrew-services
[gh]: https://cli.github.com/
[hub]: https://github.com/github/hub
[Node.js]: http://nodejs.org/
[NPM]: https://www.npmjs.org/
[nvm]: https://github.com/nvm-sh/nvm
[pyenv]: https://github.com/pyenv/pyenv
[Python]: https://www.python.org/
[Ruby]: https://www.ruby-lang.org/en/
[ruby-install]: https://github.com/postmodern/ruby-install
[Slack]: https://slack.com/
[The Silver Searcher]: https://github.com/ggreer/the_silver_searcher
[Virtualenv]: https://virtualenv.pypa.io/en/latest/
[Virtualenvwrapper]: http://virtualenvwrapper.readthedocs.org/en/latest/#
[Zsh]: http://www.zsh.org/

## Licensed software
* [Docker] for all your containerization needs

  The docker daemon and docker CLI tools are available on a free license.

  [Docker Desktop] requires a paid license. Ask in [#admins-docker](https://gsa-tts.slack.com/app_redirect?channel=admins-docker) in Slack to get a license.

[Docker]: https://www.docker.com/
[Docker Desktop]: https://www.docker.com/products/docker-desktop/

## Other customizations
* [Atom] - GitHub's open source text editor
* [Exuberant Ctags] for indexing files for vim tab completion
* [Firefox] for testing your website on a browser other than Chrome
* [iTerm2] - an awesome replacement for the OS X Terminal
* [reattach-to-user-namespace] to allow copy and paste from Tmux
* [Sublime Text 3] for coding all the things
* [Tmux] for saving project state and switching between projects
* [Vim] for those who prefer the command line
* [VSCode] - Microsoft's open source text editor

[Atom]: https://atom.io/
[Exuberant Ctags]: http://ctags.sourceforge.net/
[Firefox]: https://www.mozilla.org/en-US/firefox/new/
[iTerm2]: http://iterm2.com/
[reattach-to-user-namespace]: https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard
[Sublime Text 3]: http://www.sublimetext.com/3
[Tmux]: https://tmux.github.io/
[Vim]: http://www.vim.org/
[VSCode]: https://code.visualstudio.com/

These suggestions were culled from the deprecated (as of October 2020) [laptop script]. 
If you are looking for references on how to build personal dotfiles, that repo may be of use.

[laptop script]: https://github.com/18F/laptop
