# Overview
I have been a developer since 2011. Throughout the years I have had a strong passion for building the most production developer environment possible. I spend countless hours tweaking my system and adjusting to my specific needs as my work changes over the years.
In 2020, I decided to go full-time into the terminal. Dropping tools like vscode and replacing it with tmux and neovim.
This is my, always-up-to-date, documentation and source code for my developer environment, enjoy.
# Operating Systems
I currently am using the following operating systems.
# macOS (Big Sur)
I have been using macOS since 2009. It's "ecosystem" is incredibly helpful when using a mac/iPhone/iPad. I have tried to make the switch to Linux full-time and there are just too many amazing tools, apps, and shortcuts that make me the most productive.
apple.com/macos/big-sur (opens new window)
- yabai: window manager
- Alfred: productivity app
- Pika: color picker
- SpaceLauncher: app launcher and switcher
# iPadOS
There's a surprising amount of development I can do with BlinkShell (opens new window) to SSH into my other dev machines.
apple.com/ipados (opens new window)
- BlinkShell (opens new window): the pro terminal for iOS & iPadOS
# PopOS
I switched from plain Ubuntu to PopOS because it has a wonderful window manager built-in and supports all the same commands and package managers as Ubuntu.
pop.system76.com (opens new window)
# Ubuntu (Server)
Ubuntu is well supported and can run anywhere with solid package managers and an easy to learn developer environment.
# Binaries
- alacritty: terminal emulator
- bat:
cat
replacement - docker: software containers
- espanso: text snippets
- lsd:
ls
replacement - fish: shell
- fzf: fuzzy finder
- git: version control
- homebrew: package manager
- lf: file manager
- mackup: sync dotfiles
- neovim: editor
- nvm: node version manager
- starship: shell prompt
- tmux: terminal multiplexer
# Homebrew Packages
- adns: C/C++ resolver library and DNS resolver utilities
- amazon-ecs-cli: CLI for Amazon ECS to manage clusters and tasks for development
- automake: Tool for generating GNU Standards-compliant Makefiles
- aws-sam-cli: AWS SAM CLI 🐿 is a tool for local development and testing of Serverless applications
- awscli: Official Amazon AWS command-line interface
- bash: Bourne-Again SHell, a UNIX command interpreter
- bash-completion: Programmable completion for Bash 3.2
- bat: Clone of cat(1) with syntax highlighting and Git integration
- bottom: A cross-platform graphical process/system monitor with a customizable interface and a multitude of features.
- cmake: Cross-platform make
- dash: POSIX-compliant descendant of NetBSD's ash (the Almquist SHell)
- exa: Modern replacement for 'ls'
- fd: Simple, fast and user-friendly alternative to find
- espanso: Cross-platform Text Expander written in Rust
- fish: User-friendly command-line shell for UNIX-like operating systems
- fzf: Command-line fuzzy finder written in Go
- gh: GitHub command-line tool
- git: Distributed revision control system
- git-delta: Syntax-highlighting pager for git and diff output
- gnupg: GNU Pretty Good Privacy (PGP) package
- go: Open source programming language to build simple/reliable/efficient software
- hasura-cli: Command-Line Interface for Hasura GraphQL Engine
- hugo: Configurable static site generator
- hyperfine: Command-line benchmarking tool
- lazygit: A simple terminal UI for git commands, written in Go
- jq: Lightweight and flexible command-line JSON processor
- skhd: Simple hotkey-daemon for macOS.
- yabai: A tiling window manager for macOS based on binary space partitioning.
- lazydocker: Lazier way to manage everything docker
- lf: Terminal file manager
- libzip: C library for reading, creating, and modifying zip archives
- lsd: Clone of ls with colorful output, file type icons, and more
- luajit: Just-In-Time Compiler (JIT) for the Lua programming language
- luarocks: Package manager for the Lua programming language
- mackup: Keep your Mac's application settings in sync
- mosh: Remote terminal application
- ncdu: NCurses Disk Usage
- neofetch: Fast, highly customisable system info script
- neovim: Ambitious Vim-fork focused on extensibility and agility
- nmap: Port scanning utility for large networks
- node@14: Platform built on V8 to build network applications
- nvm: Manage multiple Node.js versions
- overmind: Process manager for Procfile-based applications and tmux
- pgcli: CLI for Postgres with auto-completion and syntax highlighting
- qt: Cross-platform application and UI framework
- ripgrep: Search tool like grep and The Silver Searcher
- sphinx-doc: Tool to create intelligent and beautiful documentation
- spotify-tui: Terminal-based client for Spotify
- starship: Cross-shell prompt for astronauts
- switchaudio-osx: Change macOS audio source from the command-line
- tealdeer: Very fast implementation of tldr in Rust
- terminal-notifier: Send macOS User Notifications from the command-line
- trash-cli: Command-line interface to the freedesktop.org trashcan
- vips: Image processing library
- wallpaper: Manage the desktop wallpaper
- wget: Internet file retriever
- yarn: JavaScript package manager
- zlib: General-purpose lossless data-compression library
- zoxide: Shell extension to navigate your filesystem faster