Linux & Servers

Debian, NixOS, systemd, and production server management

44 articles · 15 tutorials · 2 courses · Updated

Overview

Linux is the operating system of the internet, the cloud, and increasingly the developer's desktop. This handbook covers Linux from the perspective of someone who manages real systems — not toy environments. Debian/Ubuntu for practicality, NixOS for reproducibility, and systemd for everything that needs to run reliably.

Learning Roadmap

Beginner

Get comfortable in the Linux shell and understand how the system actually works.

  1. The Linux File System

    Everything is a file. Understand the FHS, permissions, ownership, and how to navigate and manipulate the file system confidently.

    ~1 week

  2. Users, Processes, and Services

    User management, process hierarchy, and managing services with systemd. The foundation of server administration.

    ~2 weeks

  3. SSH Hardening

    Configure SSH correctly from day one: key-based auth only, fail2ban, port knocking, and the settings in sshd_config that matter.

    ~1 week

Intermediate

Run services reliably, manage storage, and understand system performance.

  1. Self-Hosting with Docker

    Run any service in a container with a Compose file. Manage networking, volumes, and secrets properly.

    ~3 weeks

  2. ZFS Storage

    The most reliable file system for data you care about. Understand pools, datasets, snapshots, and RAID-Z.

    ~3 weeks

  3. System Monitoring and Logging

    journald, Prometheus node_exporter, and building observability into your systems before you need it.

    ~2 weeks

Advanced

Declarative system configuration with NixOS, performance engineering, and production reliability.

  1. NixOS — Declarative Systems

    Define your entire system configuration in a Nix flake. Reproduce any machine from scratch in minutes. Atomic upgrades and rollbacks.

    ~4 weeks

  2. Performance Tuning at the Kernel Level

    sysctl parameters, CPU governors, I/O schedulers, and network stack tuning for latency-sensitive workloads.

    ~3 weeks

  3. Backup Architecture

    The 3-2-1 rule implemented for real. Restic + Backblaze B2, snapshot-based backups, and testing your restores.

    ~3 weeks

Featured Guides

Frequently Asked Questions

Which Linux distribution should I start with?

Ubuntu 24.04 LTS for beginners and for servers where stability matters. Debian stable for anything where you want the most conservative package choices. Fedora for a desktop with more up-to-date packages. NixOS once you are comfortable with Linux fundamentals and want true system reproducibility. Avoid Arch as your first distro — the learning curve is high and the community expectation is self-sufficiency.

Is NixOS worth the learning curve?

Yes, for serious homelab use. The ability to define your entire system in a flake — every package, service, user, and configuration — and reproduce it from scratch in 20 minutes is genuinely transformative. The learning curve is steep (expect 2-4 weeks before you feel productive) but the payoff is permanent. Start with NixOS on a non-critical machine or in a VM.

Do I need ZFS or will ext4/btrfs work?

For NAS or any storage where data integrity is critical: ZFS. Its end-to-end checksumming catches silent data corruption (bit rot) that ext4 and btrfs miss in practice. For root filesystem on a boot drive: ext4 is reliable and fast. btrfs has good snapshot support but has historically had more edge case bugs. ZFS on the root drive is possible but adds complexity.