FreeBSD
omfreebdy is built on FreeBSD, not Linux. This is a deliberate choice. FreeBSD provides a coherent, well-documented operating system with architectural properties that make it a better foundation for a desktop environment.
Base System Separation
Section titled “Base System Separation”FreeBSD draws a hard line between the operating system and third-party software.
/bin,/sbin,/usr/bin,/usr/sbin— base system, maintained by the FreeBSD project/usr/local/bin,/usr/local/sbin— packages installed viapkg
If a package upgrade goes wrong, you can nuke /usr/local and reinstall everything without touching the base system. The kernel, libc, and core utilities are unaffected.
# Nuclear option: wipe all ports/packages, base system intactsudo rm -rf /usr/localsudo pkg bootstrapsudo pkg install -y hyprland waybar ...On Linux, this separation does not exist. A broken upgrade to glibc or systemd can render the system unbootable.
ZFS Boot Environments
Section titled “ZFS Boot Environments”Every mise run update in omfreebdy creates a ZFS boot environment snapshot before making changes.
# Create a boot environment before risky operationsboot-env create before-experiment
# List available boot environmentsboot-env list
# Roll back if something breaksboot-env rollback before-experimentBoot environments are ZFS clones of the root dataset. Rollback is instant — no reinstall, no restore from backup. Reboot into the previous state in under 30 seconds.
You can also select a boot environment from the bootloader menu at startup, before the OS loads. No working system required.
256-Channel Kernel Audio
Section titled “256-Channel Kernel Audio”FreeBSD includes a kernel-level audio mixer with 256 virtual channels. Applications get audio output without any userspace audio daemon.
# Check audio devicescat /dev/sndstat
# Set default devicesysctl hw.snd.default_unit=0| System | Audio Stack | Daemons Required |
|---|---|---|
| FreeBSD | OSS (kernel) | Zero |
| Linux (modern) | PipeWire → WirePlumber → ALSA → kernel | 2–3 |
| Linux (legacy) | PulseAudio → ALSA → kernel | 1–2 |
Audio works at install time with no configuration. See the Audio page for full details.
FreeBSD jails are OS-level containers with hard namespace isolation. They have been part of the base system since FreeBSD 4.0 (year 2000).
# Create a jailsudo jail -c name=myjail path=/jails/myjail host.hostname=myjail
# Execute a command insidesudo jexec myjail sh
# List running jailsjlsomfreebdy uses jails for:
- Linux compat — run Linux-only binaries (Brave, hermes-agent) via the linuxulator
- Sandboxing — run untrusted apps in disposable ZFS-cloned environments
- Services — isolate network services from the host
Unlike Docker, jails use the host kernel directly. No virtualization overhead. No daemon. No image registry.
Rescue Subsystem
Section titled “Rescue Subsystem”FreeBSD ships a /rescue directory containing ~150 statically linked binaries.
ls /rescue[ cat chmod cp df echo expr hostname kill lnls mkdir mv ps rm sh stat tar ...If /usr is unmounted, corrupted, or a package upgrade broke a shared library, /rescue/sh still works. You can diagnose and repair the system without a live USB.
# Boot into single-user mode, use rescue shell/rescue/sh
# Mount filesystems manually/rescue/mount -a
# Repair or reinstall packagespkg install -f broken-packagerc.conf
Section titled “rc.conf”The entire system startup state lives in one file: /etc/rc.conf.
# View full system configurationcat /etc/rc.confhostname="myhost"ifconfig_em0="DHCP"sshd_enable="YES"dbus_enable="YES"seatd_enable="YES"llama_server_enable="YES"llama_server_model="/usr/local/share/llama/models/Qwen3-4B-Q4_K_M.gguf"Every enabled service, network interface, and system option is visible here. To disable a service: sudo sysrc sshd_enable=NO. No hunting through /etc/systemd/system/, /etc/init.d/, and /lib/systemd/system/ across three directories.
# Add a settingsudo sysrc some_service_enable=YES
# Remove a settingsudo sysrc -x some_service_enableSystem Simplicity
Section titled “System Simplicity”| Property | FreeBSD | Linux (typical) |
|---|---|---|
| Init system | rc.d (sh scripts) | systemd (binary journal, socket activation, unit files) |
| Package namespace | /usr/local only | Mixed into /usr, /lib, /bin |
| Kernel + userland | Developed together, same repo | Separate projects (kernel.org vs GNU vs distro) |
| Containers | Jails (base system) | Docker/containerd/runc (separate install) |
| Audio | OSS in kernel | ALSA + PipeWire + WirePlumber |
| Boot environments | Built into ZFS + bootloader | Requires btrfs-assistant or snapper + manual grub |
| Recovery shell | /rescue (always available) | Depends on initramfs configuration |
FreeBSD is not a replacement for Linux. It is a different design. omfreebdy targets users who prefer explicit, auditable system state over abstraction layers.