I Have a Computer That Does Nothing

Well, that’s not entirely fair. It boots. I can log in. I can run commands. But I can’t browse the web, write code, or do literally anything I need a computer to do.

Because I have no graphical interface.

Just a terminal. A very functional, very boring terminal.

Day 6 of staring at this command prompt and I realized: I have no idea what I’m supposed to install next.

Desktop environment? Window manager? Display server? What’s the difference? Where do I even start?

So I did what anyone does when completely lost: I opened the Arch Wiki and started reading. Four hours later, I understood maybe 30% of it. But that 30% was enough to realize I’d been thinking about this completely wrong.

The Linux GUI Stack (Or: Everything I Didn’t Know I Didn’t Know)

Turns out, a graphical interface on Linux isn’t one thing. It’s layers. And I needed to understand each layer before I could make any decisions.

Layer 1: Display Server
This is the foundation. It handles communication between the hardware (keyboard, mouse, monitor) and everything else. The two big ones are X11 (old, stable, everyone uses it) and Wayland (new, modern, the future maybe?).

Layer 2: Window Manager or Desktop Environment
This is what actually draws windows and lets you interact with them.

Desktop Environments (GNOME, KDE, XFCE) give you everything - window management, file manager, settings app, the works. Window Managers (i3, sway, hyprland) just manage windows. Everything else you add yourself.

Layer 3: Everything Else
Status bar, app launcher, notifications, file manager - all separate pieces you install and configure.

Reading this, I had two thoughts:

  1. “Oh god, I have to make decisions about ALL of this?”
  2. “Oh hell yes, I get to make decisions about ALL of this!”

The Safe Choice: X11 + i3

I started with X11 because everyone said it was stable and “just works.” And it did. Installed it with pacman -S xorg-server xorg-xinit, configured .xinitrc, ran startx.

A graphical interface appeared. Nothing fancy. Just… a screen. An empty screen. Because I hadn’t installed a window manager yet.

Installed i3 because the internet loves i3. Tiling window manager. Keyboard-driven. Minimal. Perfect for learning.

Configured i3, started it up, and suddenly I had… rectangles? Windows tiling automatically next to each other. No minimize button. No close button. No title bars. Just content, organized in tiles.

I hated it for about 20 minutes.

Then I opened two terminals side by side. Then a browser and a terminal. Everything automatically sized and positioned. No dragging windows around. No overlapping. Just… logical space usage.

Oh. OH. This is why people like tiling window managers.

I spent two days with X11 and i3, learning keybindings, setting up my config. It was functional. It worked. I was actually getting things done.

But then I made the mistake of reading about Wayland.

The Curiosity: Wayland and Hyprland

Wayland is the future. More secure. Better performance. Native fractional scaling. The problem? It’s newer, so some things don’t work quite right yet. Screen sharing is weird. Some apps don’t play nice.

Most people said “stick with X11 until Wayland matures.”

But I’d heard about Hyprland. A Wayland compositor that looked absolutely gorgeous. Animations, blur effects, rounded corners - all the eye candy. But functional eye candy. Still tiling. Still keyboard-driven.

Every screenshot I saw looked incredible. Modern. Polished. Everything my i3 setup wasn’t.

The rational choice was to stick with X11 and i3. Learn the stable, proven stack. Get comfortable before experimenting.

I installed Hyprland that night.

Learning Hyprland (And Breaking Things)

First attempt: Hyprland wouldn’t start. Some dependency issue. An hour of digging through forums and the Arch Wiki later, I figured it out. Missing some graphics drivers.

Second attempt: Started, but no wallpaper. No status bar. Just floating windows on a black background. Because unlike desktop environments, Hyprland doesn’t come with anything. You bring your own status bar (waybar), your own app launcher (wofi or rofi), your own everything.

I installed waybar. Configured it. It appeared at the top of my screen showing… nothing useful. Because I hadn’t configured what information to display.

I spent an entire evening just making the status bar show the time, date, and CPU usage.

But when it worked? When I finally had waybar showing my system info, wofi launching apps, and Hyprland tiling windows with smooth animations?

It felt like I’d built something real.

The Learning Curve No One Warns You About

Here’s what they don’t tell you about window managers:

Everything is separate. Want a volume control? Install one. Want brightness control? Install one. Want a nice app launcher? Install and configure it. That taskbar? You’re building it from scratch.

Config files are your life now. Every keybinding, every rule, every animation setting - it’s all in text files. And you better understand what you’re editing because one typo means nothing works.

You will break things. A lot. I broke my Hyprland config at least five times. Each time, I had to switch to a TTY, edit the config from the terminal, and try again.

The documentation assumes you know things. Hyprland docs would casually mention “just add this to your config” without explaining where that config file is or what format it uses. The Arch Wiki was better, but even that assumes a baseline knowledge I didn’t have.

Google is your best friend. Every error message, every weird behavior - straight to search. Reddit threads from 2 years ago. GitHub issues. Forum posts. Piecing together solutions from scattered sources.

But here’s the thing: every time I fixed something, I learned something. Every config file I edited taught me how the system worked. Every broken setup forced me to understand the pieces so I could fix them.

Pacman, AUR, and Package Management Hell

While setting up Hyprland, I had to learn package management for real.

Pacman is the official Arch package manager. pacman -S to install. pacman -Syu to update everything. pacman -R to remove. Simple enough.

But some packages I needed weren’t in the official repos. They were in the AUR - the Arch User Repository. Community-maintained packages. Not officially supported. Potentially dangerous if you don’t check what you’re installing.

I needed an AUR helper. Most people use yay or paru. I went with yay because the name made me smile.

Installing from AUR was nerve-wracking the first time. These are build scripts from random internet people. What if something’s malicious? What if it breaks my system?

I learned to check PKGBUILDs before installing. Learned what flags to use. Learned the difference between -S and -Sy and -Syu (turns out, partial upgrades are bad. Very bad.).

Three weeks in, and I can navigate package management without panicking. That’s progress.

The Architecture Finally Makes Sense

After 20 days, the pieces finally connected:

Kernel → manages hardware
Display Server (X11 or Wayland) → handles graphics and input
Window Manager/Compositor → manages windows
Everything else → tools you choose and configure

It’s like building with LEGO. Each piece does one thing. You combine pieces to create the system you want.

GNOME and KDE give you a pre-built set. Window managers let you choose each piece individually.

More work? Absolutely.
More control? Also absolutely.

And for the first time since starting this journey, I felt like I understood what I was doing.

Where I Am Now

My setup:

  • Arch Linux base
  • Hyprland (Wayland compositor)
  • waybar (status bar)
  • wofi (app launcher)
  • kitty (terminal emulator)
  • Firefox (finally, a browser)

It’s functional. It’s mine. Every keybinding, every color, every animation - I configured it.

Some things still don’t work perfectly. Screen sharing in Discord is janky. Some apps have weird scaling. I’m still learning Hyprland’s config syntax.

But I can work. I can code. I can browse. I have a system that does what I need it to do.

And when something breaks? I know enough now to fix it.

Yesterday I accidentally deleted my Hyprland config. Two months ago, that would’ve meant a reinstall and panic. Yesterday, I just rewrote it from memory in 20 minutes.

That’s the moment I realized: I’m actually learning this stuff.

Still so much more to figure out. Still breaking things daily. But breaking things doesn’t scare me anymore.


The arch.log series: My journey from Windows to Arch, from clicking to configuring, from user to… slightly less confused user. Following along? You’ll either be inspired or terrified. Possibly both.