This is a story on my moving to FreeBSD as a daily driver.
I have been a Mac OS user for as long as I can remember. I remember the first Mac I laid hands on, a Mac SE/30. At the time I was playing games on it, in 1-bit black and white. I have a very fond nostalgia for this time; it was a simple and efficient system.
Through the years, I moved from Mac to Mac: Classic II, Quadra 800, Performa 5200, Power Mac G3 (the blue translucent one), the G4 (black/gray translucent), the G5 and then the Mac Pro, both aluminum beasts that I used for quite some time.
Mac OS X was a bit rough at first, but then it was a solid operating system that I used for around 15 years.
Then, everything became a blur. I remember bits, like the "trash can" Mac Pro disappointment, the subscription model coming to Adobe products and, most importantly, the Mac OS I loved dying.
I tried Hackintosh, which gave me like 2 years of Mac OS, then I got fed up and I installed Windows.
I played with Windows for like another year; honestly, if you tinker enough with it, there are some good sides to the system. But I was mostly administering Linux boxes and I couldn't handle the difference anymore.
So I migrated to Linux.
I went for Arch Linux and it was very early Wayland. I picked up Sway, wondering what UI madness I was signing up for, and it stuck.
For work, I was deploying Linux servers and I was quite happy with my setup. With time I got all my GUI software.
It took an ENORMOUS effort. I cannot count the number of things that kept breaking. I couldn't copy and paste, I couldn't capture my screen, but, with patience, I could always fix everything.
Linux stuck with me for nearly 10 years from late 2016 to early 2026.
But I wasn't as happy as I could be; Arch kept breaking stuff. Well, it's a rolling release; there is no way in the world I would be mad at the Arch project and team, but it was wearing on me. Also, systemd, on which I had no opinion at the time, is everywhere. It's really nice to manage services, but I got bitten by an obscure DHCPv6 client issue I cannot even remember properly and another one about NTP client sync. So I understood the frustration about this project "taking over" Linux. Even so, I don't think it is bad; it does a lot to provide a good "desktop" experience. The traditional Linux permission model is not very good at letting the user manage the WiFi from a widget sitting in the screen's corner. I am very happy that Linux is embracing the typical user and provides solutions for them.
Well, I'm not the typical user, I want something I can control and understand to its very core.
While working with networking stuff, I deployed OpenBSD and FreeBSD machines for routing, security and email serving. I was always in awe that I could just do stuff easily. You want to do something at boot time? There is a script that gets run at boot time; put whatever you want in it.
With time, I developed a deep liking of BSD systems. And it was funny because Mac OS X was BSD-based.
Then one day, my keyboard stopped working after a Linux kernel update. I was like "duuh, my keyboard, seriously???". I thought it was broken, but it worked fine on an older kernel or on my Windows gaming PC.
I considered which of the BSDs I wanted on my machine, and I went for FreeBSD because of the ports tree.
I booted the installer, and my keyboard was working fine.
So I broke my ZFS mirror, created a new pool on the detached disk, and installed FreeBSD on this pool.
It was a refreshing experience. I got everything configured in a few days. I
have my Linux filesystem under /mnt, so it helped a lot.
It's been 6 months now and there is little to say about it. It works.
There are only a few things missing that I couldn't port:
- no browser source in OBS; I found no viable workaround
- AnyDesk and RustDesk don't work; I use a VM for them, which is an acceptable workaround
Otherwise it's a happy ride.
I still have tons of things to say about it, and how welcoming the FreeBSD community has been, but that'll be for another time.