My employer sent me a new laptop yesterday and I installed my regular stuff on it once more. Today, I came to my favorite café to write about the things I installed on the machine.
I will try to describe my setup both on Linux and Mac, so you're covered either way. Also, as I'm more of a Linux guy, my Mac setup might be a bit Linux-centric. Let's get started.
1. Chrome
Ubuntu comes with Firefox and Mac OS comes with Safari. But, all my browsing history, bookmarks, passwords, et cetera are stored on Chrome. So, usually, that's the first thing I do.
2. Package Manager (Mac)
Most Linux distributions come with a default package manager. Ubuntu and Debian come with APT for example. I was surprised when I learned that Mac OS doesn't have a pre-installed package manager, so that's the second thing one should do.
There are three package managers that you might want to consider:
- Homebrew
- MacPorts
- Fink
Homebrew is the most common solution for Mac, but Fink is APT-based, so if you're coming from Linux, you might want to consider it.
Also, Homebrew is available for Linux, so if you're coming from Mac, you might want to install that on your Linux machine. I actually had to do it a week ago to install K9s.
2. Git (Linux)
Mac comes with git already installed, but you have to install git on your Linux machine. Make first use of your package manager and install the essential tool for developers.
3. Terminal
Both Mac and Linux come with decent terminals, but I use the terminal too often to waste time looking for its window (or open it up every time). That's why I install the game console: If you're a gamer, and perhaps old enough, you might recall the game consoles that were opening up by one keypress (usually ~). The games that I remember having this feature were Half-Life, Hitman, and Quake. That's why some developers (who were also gamers) created Quake console for Linux: Yakuake. After installing this terminal emulator, your terminal is one keypress away. It just appears and disappears in whatever desktop you are.
A similar solution for Mac is iTerm2, for which you can also configure "Quake"ing. To summarize:
- Yakuake for Linux
- iTerm2 for Mac
4. Unix Shell
Nowadays, Linux distributions come with Bash and Mac comes with Zsh. But you're not limited to either one of these on any of the two OSes. You can install the shell of your choice and configure Yakuake/iTerm2 to use it. So, e.g. you can have Zsh running in your Yakuake and Bash in your normal Terminal.
5. Docker
Docker is nowadays the second most essential development tool. You can install the native Docker engine on your Linux, or Docker Desktop on both Mac and Linux.
6. IDE / Code Editor
VSCode is gaining a lot of popularity these days, but I still prefer the JetBrains IDEs. It's your choice, but if you're going for JetBrains, I would suggest installing JetBrains Toolbox; you can install and upgrade any of the JetBrains IDEs easily.
In the case of VSCode, you probably need to install extensions based on your needs.
7. Graphical Applications
From among the other thing I install, I can mention the following:
- OBS Studio
- Gimp
- Spotify
- VLC Player
- Slack
- Telegram
- Zoom
- Mailspring
Last Words
This article is the last piece in a 4er writeathon. The other pieces are the following:
- How I Got My First Job as a Developer
- Online Sources to Learn Programming
- Why I Use LaTeX and GitHub Actions to Build My CV
Out of 4 articles, I took the header photos of 3 in a café in old town of Freiburg, called Fili Café. They make the best coffee in the town. I wrote all the 4 articles there.