Setting up macbooks for new developers
If you are just given a macbook and have never used them or any unix-like operating systems it can be quite daunting at first. This guide will walk you through the process of setting up your macbook. At Frappe we don't have dedicated IT administration team, but feel free to ping your peers if you ever get stuck. The process of setting up your machine might take up around half a day to a full day but it will help you understand it more deeply.
Tools and "apps" you should install
- Code editor: VS Code is used by most. But you're free to pick whatever you want.
- Firefox and Chrome.
- Terminal: most people use iTerm2.
- A good shell. E.g. Zsh + Oh-My-Zsh plugins will help you be more efficient with terminal. https://github.com/ohmyzsh/ohmyzsh
- package manager: Most people use Homebrew at Frappe.: https://brew.sh/
xcode-select --installfor installing CLI version of mac tools. Do NOT install full Xcode.- Python version manager: https://github.com/pyenv/pyenv
- Node version manager: https://github.com/nvm-sh/nvm
- Some app for making presentations: LibreOffice, Apple Keynote, Google slides etc. Whatever you prefer.
- Follow these extra steps for M1
Follow Frappe framework guide to getting Bench setup on MacOS: https://frappeframework.com/docs/user/en/installation#macos
Homebrew packages to install
- git
- mariadb
pyenvcan be installed with brew too.- wkhtmltopdf
- redis
pinentry-macrequired for entering SSH/GPG pins from terminal.- postgresql
Further setup
- Generate RSA-4096 (NOT Ed25519) SSH keys: https://docs.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
- Setup your code editor to add basic LSP functionalities. Install Python plugin in VS Code, JavaScript LSP functionality is available by default in VS Code.
- We use tabs at Frappe (yes :/), install editorconfig plugin in your editor so you don't have to mess with config all the time: https://editorconfig.org/
- Learn how git integration works with VS Code. https://code.visualstudio.com/docs/editor/versioncontrol. Install "Git blame" or Git lens plugin.
Optional
- Add your SSH public key to github, so it's easier to push/pull stuff from github. https://docs.github.com/en/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account
- Install and use fzf, ripgrep, fd: fuzzy searching through files at speed of light.
- gnupg for signing github commits. https://docs.github.com/en/github/authenticating-to-github/signing-commits
tmuxorscreencan be useful for managing multiple terminal splits, windows and also you can detach from sessions and reconnect without keeping terminal window open.- Track your configurations using git bare repos typically called "dotfiles". This way you can keep a backup of your config AND version control whatever changes you make. https://www.atlassian.com/git/tutorials/dotfiles
- Remap your keys. E.g. if you're used to having ctrl key as bottom-left key you can set it up like that using Karabiner-elements.
- Learn more about git, shell and other tools that is typically not taught in colleges: https://missing.csail.mit.edu/
Last updated 2 months ago
Was this helpful?