MS. 01

Why Fedora

and what I changed to make it mine

sans façon(without fuss)

installed it in july, never reinstalled since. for me this is already a record.

A

Why Fedora

sans presser

I do not have a big story about this. I installed Fedora on this laptop in July and I did not reinstall since, which for me is already something. Everybody around me is on Arch and you learn it in the first five minutes of knowing them.

What I wanted is simple. Something recent, that I do not have to repair. Fedora releases every six months, so the kernel and Plasma are new enough that my hardware just works, and it is still not a rolling release that breaks on a Tuesday.

Before Fedora I was on Windows, and at work I used macOS for some time. Not years, but enough to see what it does well. The machine never makes you wait. You open it and it is ready, it does not crash, you forget it is there.

What I did not like is when I wanted something Apple did not plan. Then there is nothing. No setting, no option, you do it their way. Here I have the same speed and almost the same stability, and when something annoys me I go and change it. Maybe a lot of people do not care about this part. I care, probably too much.

The other reason is that Fedora does not modify KDE much. Plasma arrives almost like KDE published it. So when something is broken, it is broken upstream, and I can read the real issue instead of guessing what my distro changed under it.

And dnf remembers everything. Every install and every upgrade is a numbered transaction, with the date and the command I typed. I never wrote a list of what I installed on this machine, because dnf history is the list. Most of this post I wrote from it.

The thing I like less: a fresh Fedora cannot read everything. It ships ffmpeg-free, so the first video you open has no sound and you do not understand why. I searched twenty minutes on the side of the audio settings, of course. You add RPM Fusion and then it is finished, you never think about it again. Steam comes from there too.

B

My desktop

posément

Plasma 6.7 on Wayland, three virtual desktops. The theme is not the Fedora one: Ant-Dark, with WhiteSur-Dark on the window decorations and Papirus-Dark for the icons. I like when the system is dark and quiet and I do not have to look at it.

The terminal is foot. It is small, it is Wayland native, it opens instantly, and honestly this is the only thing I ask to a terminal. The colours are One Dark Pro Night Flat, the same as in my Neovim and in my launcher, so nothing on the screen fights with the rest. Yes I spent an evening on that. No I do not regret.

One line of the config matters more than all the rest. On a screen with fractional scaling, if the terminal does its own scaling and KWin does it also, the text is slightly wrong, and once you saw it you cannot unsee it. So I let KWin do the work alone:

~/.config/foot/foot.ini
font=JetBrainsMono Nerd Font:size=11

# Let KWin handle scaling, correct for fractional scaling on Plasma
dpi-aware=no

To launch things I use walker, from a COPR, with elephant behind it. I do not use KRunner at all, walker does everything. It runs as a user systemd service with --gapplication-service, so it is already in memory and the window is there the moment I press the shortcut, not half a second after.

The browser is helium, a Chromium with the Google services taken out of it, and for me this is exactly the point. The only problem is DRM, it cannot play it. So Firefox stays installed only for those sites, and I open it maybe once a week.

It is a laptop, so a part of my configuration is only touchpad. With InputActions I inverted the three finger swipe left and right, because the default direction goes the wrong way in my head, and I added three fingers up and down for the Overview so I do not have to use four. This is also why I keep three desktops and not one. Changing desktop is a gesture now, I do not think about it.

The last one is more annoying. Plasma has a global menu, KDE applications use it, GTK applications do not. Two variables in the shell and they do:

~/.bashrc
export GTK_MODULES=unity-gtk-module
export UBUNTU_MENUPROXY=1

Electron is worse. For VS Code I had to put the title bar in native mode, force it on x11, and write my own .desktop file with the flags inside. After that its menu is finally at the same place as all the others.

C

My tools

avec précision

Neovim with LazyVim and onedarkpro. The plugin I really use is competitest. It takes the sample tests of a problem, runs my binary on all of them, and shows me the diff. For a contest at school this is the whole loop.

VS Code is installed too, from Microsoft repo, and I open it when I want a real debugger interface. I do not think you have to choose one editor for life.

For C++ I keep gcc-c++ and clang both, because they do not complain about the same things, plus gdb, cmake, and libasan with libubsan. A build with the sanitizers finds in one second what I would search one hour.

Rust does not come from dnf, it comes from rustup, because this one I want to move it when I want and not when Fedora wants. kotofetch is built with it, and after I install it back on my own machine as a normal RPM. Packaging my own thing was more satisfying than it should be.

Docker comes from Docker repo and not podman, because what I need to reproduce locally is what everybody else runs. And I install the least possible with Flatpak. There are only three: Discord, Signal, and Obsidian where I keep all my notes. Those I prefer in a sandbox and they do not need to be integrated with anything. All the rest is RPM.

I keep all of this in a repo, the configs and the commands together, because one day I will change machine and I do not want to search again for the two lines that fixed the scaling.

So this is my Fedora. Nothing crazy inside. But I do not fight with it, and this is exactly what I was asking. Ask me again in six months, when I will have reinstalled.