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).
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
so what is the selling point of BSDs over linux? I cant imagine any situation where I'd want something like this over gentoo or arch outside of embedded systems.
Interestingly enough to point out, BSD was actually shaping up to be the free operating system kernel of choice until the UNIX wars and AT&T filing a lawsuit against BSD which made large enterprises use Linux as the replacement free operating system. Large part of Linux kernel's success could be attributed to this legal battle.
BSDs and even GNU Hurd have more cohesive architecture than Linux, a monolithic kernel, but Linux blew up as the free operating system of choice while attention drifted away from these other free kernel projects.
BSDs are also monolithic kernels no? But yeah the history is fascinating really. still holding out for the Hurd to emerge from the ashes of civilization
I was a Gentoo and Arch user for some years. Tbh OpenBSD is just a lot less tedious to set up, use, and maintain, the documentation is soooo much better, the code quality is way better, I prefer a lot of the tooling over Linux stuff (ports system as in bsd.port.mk pretty good, OpenBSD ifconfig is the best networking tool ever, xenodm is great, OpenBSD init works very well, etc), it's much more reliable and probably a lot more secure (besides the novel exploit mitigation techniques they are famous for, OpenBSD just has better default settings for everything)
It's just a much more cohesive and coherent system that comes with most of what you want by default
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!
The manpages are actually very useful. Read the instructions you are given, and don't skip any part. If it tells you to read afterboot(8), read all of it. Also, common dotfiles have their own manpages. Be prepared that you might find Linux to be a bit of a mess after having used OpenBSD.
PS. OpenBSD makes a great minimalist desktop. If you need nvidia support or bluetooth, it's just not going to work.
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.