Karambir Nain

My Desktop Linux Setup as a Developer

Background

As a Backend Developer with 7+ years of experience building systems for websites and mobile apps, I’ve been using Linux as my daily driver since 2010. My journey started with Ubuntu exclusively, but I’ve since migrated primarily to Arch Linux. I regularly evaluate other distributions like Pop OS and Debian to stay current with the Linux desktop ecosystem. For newcomers seeking a hassle-free desktop experience, I typically recommend Pop OS, while Debian remains my go-to choice for server deployments.

Hardware & Desktop Environment

My primary development machine is a Thinkpad T470. The Lenovo Thinkpad series has excellent compatibility with Linux distributions. Despite having hybrid graphics, I primarily utilize Intel graphics for most workloads.

I perform manual Arch installations and alternate between KDE and Gnome desktop environments:

Software Management Philosophy

I maintain a minimalist approach to software installation:

While Flatpak’s security sandboxing will be its most compelling feature in the future, this capability is still maturing.

Essential GUI Applications

My core graphical applications include:

Productivity & Development

Web & Communication

Media & Graphics

System Utilities

Entertainment

Command-Line Environment

I apply the same minimalist philosophy to my command-line setup, focusing on core utilities from package managers while using environment managers for language-specific tools:

Core Tools

Environment Management

Configuration

Setup Process

While some users employ configuration management tools like Ansible or bash scripts for system setup, I prefer manual installation since I only refresh my OS every 18-24 months. The entire setup process typically takes 2-3 hours.

I’m satisfied with my current configuration but always looking for improvements. If you have questions or suggestions about my Linux setup, please contact me.


Desktop Linux has evolved tremendously over the years, making it a pleasure to use for daily work. If you haven’t experienced it yet, I highly recommend giving it a try!

#setup #linux