Skip to content

simondroscher/working-environment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

Simon's Working Environment

This repo contains links and config files for Simon's typical working environment

Command Line Tools

Essential package manager for macOS

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

A smart and user-friendly command line shell

brew install fish

Easily install packages for Fish Shell

curl https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/bin/install | fish

A Powerline-style Git-aware fish theme optimized for awesome

omf install bobthefish

Install a nerd fonts patched font, and enable nerd fonts support:

brew tap homebrew/cask-fonts
brew install --cask font-hack-nerd-font
set -g theme_nerd_fonts yes

Oh My Fish plugin to integrate Homebrew paths into shell

omf install brew

Oh My Fish plugin providing a new cd command to help you change the current working directory fast.

omf install cd

Creates some great shorthand aliases for common git calls

omf install https://github.com/jhillyerd/plugin-git

A number of handy functions for use in macOS

omf install osx

Computes string digests using various hashing algorithms

omf install hash

Git

macOS comes with an outdated version of the Git CLI. Install the latest with

brew install git

Go

Install the latest version with

brew install go

A fast linters runner for Go

brew install golangci-lint

gotestsum runs tests using go test -json, prints formatted test output, and a summary of the test run. It is designed to work well for both local development, and for automation like CI.

Container runtimes for macOS - great alternative to Docker Desktop

brew install colima
brew install docker docker-compose
mkdir -p ~/.docker/cli-plugins
ln -sfn /opt/homebrew/opt/docker-compose/bin/docker-compose ~/.docker/cli-plugins/docker-compose

colima start

Note you'll also likely need to add the following environment variable: DOCKER_HOST=unix:///$HOME/.colima/docker.sock


Mac Apps

Great terminal emulator for macOS

A productivity application for macOS.

  • Launch applications and find files on your mac using hotkeys
  • Clipboard history
  • Snippets
  • Perform quick maths calculations

Everyone needs a password manager

Save and restore windows based on your display configuration or user created profiles

Modern open-source text editor. I used to use Atom but that's being sunsetted :(

Great UI tool to compare and merge files. Use for resolving git conflicts.

To add the command line support, do the following in the DMG mounted volume:

sudo cp Extras/diffmerge.sh /usr/local/bin/diffmerge
sudo chmod 755 /usr/local/bin/diffmerge
sudo mkdir -p /usr/local/share/man/man1/
sudo cp Extras/diffmerge.1 /usr/local/share/man/man1/

Then to set it as your preferred tool for git on the command line:

git config --global diff.tool diffmerge
git config --global difftool.diffmerge.cmd "/usr/local/bin/diffmerge \"\$LOCAL\" \"\$REMOTE\""
git config --global merge.tool diffmerge
git config --global mergetool.diffmerge.trustExitCode true
git config --global mergetool.diffmerge.cmd "/usr/local/bin/diffmerge --merge --result=\"\$MERGED\" \"\$LOCAL\" \"\$BASE\" \"\$REMOTE\""

My IDE of choice. Includes great support for Go. Recommend the following plugins:

Plugin Description
Go Adds Go support (this has all the functionality of GoLand)
GO Imports Tidy Helps group your Go import lines
Go Linter Integrates the golangci-lint linters
Terraform and HCL Support for Terraform
Kubernetes Jetbrains official support for Kubernetes
AWS Toolkit Official AWS plugin from Amazon

Browser Plugins

I regularly use the following browser plugins:

Plugin Description
1password My choice of password manager
OneTab Save memory and reduce anxiety by collapsing all open tabs into a single page list
AdblockPlus Get rid of annoying ads
PrintFriendly Remove any unnecessary elements from web pages before printing
AutoHideDownloadsBar Hide the annoying Downloads bar in Chrome

Config files

This repo contains the following config files:

Filename Description
iTerm-profile.json Config file for iTerm2. Import under Preferences > Profiles

About

A curated list of tools I have in my working environment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published