My basic setup is CLI + GUI editor; plus Dropbox and git for storage.
CLI - mostly bash (OSX Terminal, or WSL on Win10), but since I work in a .net shop I also use Powershell for some older projects (ie. the ones not in .net core).
Editor - Sublime Text for general editing, VS Code for React/Angular projects, vim for very quick edits in the CLI (eg. git commits requiring amendments, or rebases).
From there everything's a matter of what's running in the CLI. I use a lot of bash and NodeJS for tooling.
Why's it great? Well it's very portable. You can use bash anywhere, you can use Sublime anywhere. I don't have to care a whole lot about which OS I happen to be using. I can use scripts to set up entire machines (homebrew on mac, chocolatey on windows, etc). Things that work locally are easy to move into CI/CD pipelines.
Hardware side: ergonomic keyboard and wacom tablet instead of a mouse. I run a single monitor at home due to space constraints but dual monitors at work (technically three monitors at work with the laptop). The extra screens are awesome, I keep the CLI up on one and editing on the other. Third tends to run telemetry or, honestly, spotify ;)