Setting up your Dev Machine
We are assuming your dev machine is a Mac. This guide is rather opinionated, feel free to have your own opinion, and feel free to contribute! Contributing can be done by clicking "edit" top right and by making a pull request on this repository.
Things that should have been default on Mac
- Keep awake with Amphetamine
- Office DisplayLink software
-
Homebrew as the missing Package Manager
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
brew install --cask rectangle
Citrix workspace
- Citrix workspace
- Flex2Rijk to login
Communication
-
WebEx for video conferencing
brew install --cask webex
-
Mattermost for team communication
brew install --cask mattermost
-
Tuple for pair programming and our standup
Terminal and shell
-
brew install --cask iterm2
-
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
-
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
-
Fish shell like syntax highlighting for Zsh
brew install zsh-syntax-highlighting
-
Add plugins to your shell in
~/.zshrc
plugins = ( # other plugins... zsh-autosuggestions kubectl docker docker-compose pyenv z )
Coding
-
brew install --cask sourcetree
-
brew install pyenv
-
brew install pyenv-virtualenv
-
brew install pre-commit
-
xcode-select --install
-
TabbyML Opensource, self-hosted AI coding assistant
We can not just use hosted versions of coding assistants because of privacy and copyright issues. We can however use self-hosted coding assistants provided they are trained on data with permissive licenses.
StarCoder (1-7B) models are all trained on version 1.2 of The Stack dataset. It boils down to all open GitHub code with permissive licenses (193 licenses in total). Minus opt-out requests.
Code Lama and Deepseek models are not clear enough about their data licenses.
brew install tabbyml/tabby/tabby tabby serve --device metal --model TabbyML/StarCoder-3B
Then configure your IDE by installing a plugin.