Setting Up My Macbook M1 for Development
Hello there, this is my second post, Is May 2022 and I was finally able to buy my own Macbook, I see it as an inversion for my work and projects, is a MacBook Pro M1 2021 with 16GB RAM, and I want to share with you my setup for backend development mainly but, for many other things too.
I am a person who believes that it is easier and more pleasant to work when you do what you like, you feel comfortable and it is pleasant to look at. That’s why I share my little configuration.
My setup is still under construction.
First of all, I want to share with you these two very interesting and helpful webs that contain information about the apps that are ready or not to work with M1 chips.
- doesitarm — https://doesitarm.com/kind/developer-tools/
- isapplesiliconready — https://isapplesiliconready.com/en
First, I searched both websites for the apps I use the most as a Backend developer, apps & stuff that are important to me. I had seen many comments about apps not working very well, problems, and crashes, even with the ones that were 100% ready.
Fortunately, these programs are as easy to install as downloading the installer from their official website, for your computer version, so I won’t give them too much emphasis.
But one of the most important software that I need is Homebrew. It allows me to install other apps and stuff easily from command line.
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Specify the directory
$ echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/mtoledano/.zprofile$ eval "$(/opt/homebrew/bin/brew shellenv)"
To check that the installtion pass it successfully, run.
$ brew doctor
To more info: https://brew.sh/index_es.
Now, we’re ready to install the next and helpful apps.
Install Apps
iTerm2
For me the best option when choosing a terminal emulator and it works 100% on new macbooks.
I’m using this theme on my iTerm2.
Fonts
I don’t want to go too deep into fonts, but there is a website called Nerd Fonts where you can download great fonts even with ligatures for your code and make development more enjoyable.
You can also use it with you iTerm2 configuration.
Firefox
I have been using firefox for a long time and I have never needed to change it, it’s fast, reliable, and complete.
Shell Programs
Git
With git, we can maintain under control our source code, so it’s fundamental to we as developers.
exa
Is a beautiful alternative to ls command.
bat
Is a powerful and strong alternative to cat command to check files.
Starship
The minimal, blazing-fast, and infinitely customizable prompt for any shell!.
NeoVim
For me, one of the best word processors, fast, reliable, powerful and highly customizable. Neovim allows you to have a text editor in your terminal.
**This is my custom Neovim configuration, maybe I will make a post/tutorial to achieve this.
To install all these shell programs we can run into the terminal the next brew command.
$ brew install git bat exa starship neovim
Shell
I use Oh-My-Zsh and I love it, is highly customizable.
$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
To make things easier, you can add aliases for some commands, for example for exa and bat.
// first open the file config
$ nvim .zshrc// then add this two new lines
alias cat="bat"
alias ls="exa"
macOS Settings
For general settings:
- I’m setting up to dark mode.
- Set firefox as default web browser.
Firefox Extensions:
Web Apps:
- Twitter: To see many interesting content and discussions.
- GitHub: Where the world builds software
- Gmail: Personal email account.
System Settings:
- Disable Spotlight and install Alfred.
- Disable siri, personally
- Set trackpad to push to click: System preferences > Trackpad > Push to click.
Dock:
- Automatically hide and show the dock to get more space.
- Remove everything that I don’t use (or what I use few times) from the Dock. I only have System preferences, Finder, Calendar, Firefox, VS Code and Spotify.
Visual Studio Code:
- Theme: Andromeda
- Icons: Material Icon Theme
- Font: Fira Code Nerd Font
- Git Complement: GitLens
- Golang: Go
- Python
- Indent Rainbow
- Rainbow Brackets
- Docker
- Kubernetes
- YAML
iTerm:
- Theme: AdventureTime
- Font: Agave Nerd Font
Password Manager:
Productivity Apps:
- Rectangle — Move and resize windows.
- Stats — Show stats of your mac.
- Clipy — Clipboard manager.
- Notion — Note taking and more.
And I still have some other interesting applications, but the post would be even longer. Later I will make a complementary post to this one.
I hope that some of what you have found here has been useful to you, thanks for reading. Greetings. 😀 🙌