So i was thinking about to give OpenBSD a try to see if it could fit a minimalist user like me. I know it’s not made for desktop users, which is not my case(i use Dwm, a limited amount of packages and tweaking my system dosn’t scare me).
If you want even finer grained control over your software then I recommend staying on the GNU/Linux systemd train and trying out NixOS which may be more valuable for an Arch user than switching to OpenBSD.
NixOS will still continue to teach you a lot about package management and operating systems while you build up a portfolio of a reproducible (not bit by bit) fully custom operating system that you can deploy on any compatible machine. DWM can be configured via Nix quite ingeniously using a flake, the fun part is learning enough to get to there. NixOS can be even more minimalist than Arch if you write your config tightly enough.
The difficulty of using OpenBSD has been highly overstated. If you’re used to Arch Linux you will probably find OpenBSD pretty easy and probably much less tedious lol. It actually is meant for desktop use. A basic graphical environment comes with the system and the installer will ask you if you want it to run at boot. The availability of desktop-related ports (BSD word for third-party packages) is quite good too. I run OpenBSD on my desktop and everywhere else and really like it, most of the time lol. OpenBSD is meant to be really easy to set up and for everything to more or less work out of the box with good default settings.
One thing that tends to trip up new users is that the resource quotas for the default login classes (users are separated into different classes which have different capabilities) are quite low, so if you see programs running out of memory or not being able to start new processes, just raise your limits in
login.conf
. There’s a manpage about it. OpenBSD has great documentation.If you decide to try, let us know how it goes!
Disclaimer: Of the BSDs, I have only ever used FreeBSD.
The experience on any BSD will be similar to Arch in the sense that you start with a ‘minimal’ base system and are left to install and configure whatever extras you desire, rather than getting a fully configured and ‘streamlined’ desktop system out of the box (with all the assumptions that entails). The selling point is that the base system, rather than being a collection of dozens of independently developed software components as they are in any Linux distribution, is a cohesive OS developed and released as a single project with a single set of coding and documentation standards by a single set of maintainers on a single schedule.
Third-party software is made available through a ports collection, a collection of Makefiles and patches which function effectively like a source-based package manager. Because the software is being compiled on your machine, you have the ability to make many configuration changes which aren’t available at runtime. You can change optimization flags, enable / disable features for hardening, performance, or extravagance. Need ImageMagick but know ahead of time you will ONLY be dealing with JPEG files? You can omit support for everything else, reducing dependencies, compile time, binary size, memory consumption, and attack surface.
At first you will be tripped up by a lot of GNU-isms that you take for granted not working. Be prepared for ‘trivial’ things you’re used to doing requiring a review of the manual pages. Commands requiring somewhat different flags or syntax. The word POSIX gets thrown around a lot in the Linux community, but this is where you will probably first learn its implications.
@pmk@lemmy.sdf.org mentioned OpenBSD not having Nvidia support. If you absolutely need it and are just curious about trying something other than Linux, FreeBSD does have a first party driver from Nvidia. The Bluetooth situation is probably the same. (I THINK their Bluetooth stacks are nearly identical. They exist. But they are VERY different from BlueZ, which most Linux applications use via a DBUS interface. Porting Bluetooth software is a lot more involved than simply recompiling).
Personally, I enjoyed fiddling around with FreeBSD for a while, but I am terminally Gentoo-brained.
GOOD post. Idk how it is on FreeBSD, but on OpenBSD for most of the architectures we actually have binary packages so users don’t need to build ports from source.
OpenBSD much easier to set up than Arch imo, mainly just less tedious
The Bluetooth situation is probably the same.
No Bluetooth infrastructure at all on OpenBSD :(
It got ripped out cuz the implementation ported from NetBSD was bad and no one wanted to maintain it