My IT Setup

19 Feb 2024

Last updated: 2024-11-04

In this article I’m offering some insides on how my technical setup as a professional Software Developer and IT enthusiast looks like. The use of many tools is very opinion based and so my recommendations can be considered subjective.

Operating System

While I’m using macOS at work, I’m using Linux on my private machine. A MacBook is certainly a great choice, if you want portability and performance at the same time. Nothing is more annoying than having to wait ages for compiled code. MacOS for M1 and later ARM based processors, proofed to work very well for Android development for me.

However if I would have to choose one operating system (OS), I would without a doubt go for Linux. I just love the freedom and the control it gives me. Especially as a Software Engineer. I’m a Linux user since many years. Like for many it started with Ubuntu. Nowadays I’m on EndeavourOS, a rolling release based on Arch Linux. I don’t dual boot with Windows, but I have a Windows virtual machine (VM) for the very few cases where I need it (e.g. updating firmware of some devices). From software development to gaming I do all on my Linux machine. As you know for Linux there are different desktop environments to choose from. My absolute favorite is KDE Plasma.

Integrated development environment

As an Android Developer my integrated development environment (IDE) of choice is Android Studio. For anything related to web I’m using Visual Studio Code. For almost all other development I’m using IntelliJ IDEA. I worked with many different IDEs in the past, but the JetBrains IDEs always stood out for me. They just feel super powerful in the way they auto complete code etc.

Shell

No matter if working on Linux or macOS, I spent significant time with the terminal and therefore the choice of the shell is an important one for me. My favorite shell since probably a decade is the Z shell (Zsh), extended by the Oh My Zsh framework. I use this configuration on both Linux and macOS. It allows me to be very productive and I appreciate its customization options.

Software Sources

With Arch Linux there are lots of different ways to install applications. My favorite way is Flatpak, since I like its sandboxing approach and the interoperability with other Linux distributions a lot. For performance reasons I use some KDE apps (so fitting to my desktop environment) natively, but most of my other apps would be Flatpaks. The Arch User Repository (AUR) I use only for software/drivers requiring deep system integration. Command line tools needed for programming like java, adb and ruby I prefer to install inside a Distrobox (podman) container. I export the needed binaries to my main system. This allows me to keep my main OS clean and steady.

That’s it for now

If you’re courious about something else, then feel free to send me a message!

Share this on → Twitter Facebook LinkedIn Reddit WhatsApp Email