As a Linux developer, you have probably spent some time optimizing your workflow. In the world of Linux, you’re both blessed and cursed with many choices. You have a choice of distro, shell, terminal emulator, desktop environment, package manager, editor, the list goes on. It can get overwhelming to upgrade tools let alone start from scratch.

This is the first in a series of articles that presents a modern Linux development workflow. These articles aim to have something for both new and old Linux developers. The series will start from scratch and will build up a dev environment through example.

What’s Worth Optimizing

What kind of software has the biggest impact on the dev workflow? Rephrasing the question, what pieces of software do you interact with the most? The list below covers a number of heavy hitters in Linux desktop land:

  • Linux Distribution
  • Desktop Environment
  • Terminal Emulator and Shell
  • Text Editor

Each article in this series will cover one of the components. The articles will discuss tradeoffs and present a number of options. You’ll see the installation and setup of one of those options. It’s highly recommended that if you find another option appealing, that you take the time to do research and opt for what works best for you. Linux is about having choices. The goal of these articles is more so to inspire thought than direct.

What About Hardware

This series is software centric. That said, it’s worth it to take a moment to discuss hardware. When you think of hardware you may think of the CPU, RAM, GPU, etc. You’re not wrong. However, when discussing optimizing one’s workflow, it’s equally important to analyze the keyboard, mouse, desk, monitor, etc. Those are topics for another perhaps future series.

Here’s what you need to know before reading ahead. None of the software presented in this series requires specialized PC hardware. You don’t need the latest CPU from Intel. You don’t need a GPU. You don’t even need a PC built in the last decade! The software presented is lightweight and portable. As long as you got the basic IO devices (keyboard, mouse, and screen), a working desktop/laptop, and an internet connection, you’re ready to follow along.