Installation Guide
| OS | FreeBSD 14+ | |
| GPU | Wayland/DRM | Intel (i915, xe), AMD (amdgpu, radeonkms), NVIDIA (nouveau or nvidia-drm) |
| RAM | 4GB+ | |
| Disk | 10GB+ |
Profiles
Section titled “Profiles”omfreebdy supports two desktop profiles. Choose one during setup, or install both.
wayland — Hyprland (default)
Dynamic tiling compositor with animations, GPU acceleration, and full Wayland-native tooling. Recommended for most systems.
mise run setup — —profile waylandx11 — i3
Classic tiling window manager. Use for older hardware, NVIDIA with proprietary drivers, or if Wayland compositing is unavailable.
mise run setup — —profile x11Both profiles share the same theme system, scripts, CLI tools, and system utilities. The difference is the window manager and its supporting stack (compositor vs. Xorg server, status bar, lock screen, launcher).
Quick Install
Section titled “Quick Install”Clone the repository
git clone https://gitlab.daringbit.com/josh/omfreebdy.git ~/.omfreebdyRun the setup
cd ~/.omfreebdymise run setupThe setup script will ask which profile to install (wayland, x11, or all). You can also pass the profile directly:
mise run setup -- --profile x11Complete the first-run wizard
On first login, omfreebdy-setup runs automatically and guides you through WiFi connection, timezone detection, and initial theme selection. You can re-run it at any time:
omfreebdy-setup --forceReboot and log in
Log out and select Hyprland (Wayland) or i3 (X11) from your display manager, or reboot your system.
What Gets Installed
Section titled “What Gets Installed”The installer uses pkg to install approximately 60 packages:
- Desktop: hyprland, hyprlock, hypridle, hyprpicker, hyprsunset, seatd, swaybg, xdg-desktop-portal-hyprland, xdg-desktop-portal-gtk
- Bar & Notifications: waybar, mako
- Terminals: foot (ghostty via port)
- Launcher: fuzzel, gum
- Screenshot: grim, slurp, satty, wf-recorder
- Clipboard: wl-clipboard, cliphist
- Audio: pipewire, wireplumber, playerctl, pamixer, alsa-utils, alsa-plugins
- CLI Tools: btop, fastfetch, starship, tmux, neovim, tree-sitter, zoxide, fzf, eza, bat, fd-find, ripgrep, jq, dust, tldr, lazygit, gh, plocate
- Development: git, bash, mise, rust, ruby
- GUI Apps: nautilus, brave (linux compat), imv, mpv, evince, gnome-calculator, file-roller, xournalpp, pinta, kdenlive, obs-studio, thunderbird
- Accessibility: orca (screen reader)
- Filesystem: gvfs, fusefs-hfsfuse
- Qt Theming: qt5ct, qt6ct, Kvantum
- Containers: docker
- Fonts: nerd-fonts, noto, noto-emoji, font-awesome
- Services: dbus, avahi, gnome-keyring, polkit-gnome, cups, ntpd (enabled by default)
Configurations are installed to ~/.config/:
~/.config/├── hypr/ # Hyprland window manager│ ├── hyprland.conf # Main config│ ├── conf/ # Modular configs│ │ ├── bindings.conf│ │ ├── looknfeel.conf│ │ ├── windows.conf│ │ └── monitors.conf│ ├── hyprlock.conf # Lock screen│ └── hypridle.conf # Idle behavior├── waybar/ # Status bar├── foot/ # Terminal├── ghostty/ # Ghostty terminal (optional)├── mako/ # Notifications├── fuzzel/ # App launcher├── btop/ # System monitor├── nvim/ # Neovim editor└── omfreebdy/ # Theme system state ├── current-theme # Active theme name ├── current-background # Active wallpaper └── themes/ # Theme definitionsScripts are installed to ~/.local/bin/:
theme-set- Theme switcherbg-next- Cycle wallpapersscreenshot- Screen capturescreenrecord- Video capturevolume- Audio controlbrightness- Display brightnesswifi-manager- WiFi network pickerphone-led/phone-sensors- PinePhone Pro LED and raw sensor toolsusb-mount- USB drive manageraudio-switch- OSS device switcherpower-profile- CPU power managementhibernate- Suspend-to-diskfirewall- PF rule managementvpn-setup- WireGuard/Tailscale helperdisk-health- SMART monitoringfile-share- LAN file sharinglocale-set- Locale and keyboard pickertz-auto- Timezone auto-detectionomfreebdy-setup- First-run wizardomfreebdy-channel- Update channel switcheromfreebdy-migrate- Config migration runneromfreebdy-about- System info displaydmenu-pick- Universal picker (fuzzel/rofi/fzf)- And more — see Scripts Reference
After Installation
Section titled “After Installation”First Steps
- Press Super + Return to open terminal
- Press Super + Space for app launcher
- Run
theme-set —listto see themes - Run
theme-set tokyo-nightto try a theme
Console Login
If not using a display manager, add to your login profile:
exec HyprlandUpdating
Section titled “Updating”cd ~/.omfreebdymise run updateUninstalling
Section titled “Uninstalling”Back up any customizations in ~/.config/ before removing.
rm -rf ~/.config/hypr ~/.config/waybar ~/.config/footrm -rf ~/.config/mako ~/.config/fuzzel ~/.config/omfreebdyrm -rf ~/.local/bin/theme-set ~/.local/bin/bg-nextpkg remove hyprland waybar foot mako fuzzel hypridle hyprlock