Skip to content

Installation Guide

OSFreeBSD 14+
GPUWayland/DRMIntel (i915, xe), AMD (amdgpu, radeonkms), NVIDIA (nouveau or nvidia-drm)
RAM4GB+
Disk10GB+

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 wayland

x11 — i3

Classic tiling window manager. Use for older hardware, NVIDIA with proprietary drivers, or if Wayland compositing is unavailable.

mise run setup — —profile x11
1

Clone the repository

git clone https://gitlab.daringbit.com/josh/omfreebdy.git ~/.omfreebdy
2

Run the setup

cd ~/.omfreebdy
mise run setup

The setup script will ask which profile to install (wayland, x11, or all). You can also pass the profile directly:

mise run setup -- --profile x11
3

Complete 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 --force
4

Reboot and log in

Log out and select Hyprland (Wayland) or i3 (X11) from your display manager, or reboot your system.

System Packages

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)
Configuration Files

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 definitions
User Scripts

Scripts are installed to ~/.local/bin/:

  • theme-set - Theme switcher
  • bg-next - Cycle wallpapers
  • screenshot - Screen capture
  • screenrecord - Video capture
  • volume - Audio control
  • brightness - Display brightness
  • wifi-manager - WiFi network picker
  • phone-led / phone-sensors - PinePhone Pro LED and raw sensor tools
  • usb-mount - USB drive manager
  • audio-switch - OSS device switcher
  • power-profile - CPU power management
  • hibernate - Suspend-to-disk
  • firewall - PF rule management
  • vpn-setup - WireGuard/Tailscale helper
  • disk-health - SMART monitoring
  • file-share - LAN file sharing
  • locale-set - Locale and keyboard picker
  • tz-auto - Timezone auto-detection
  • omfreebdy-setup - First-run wizard
  • omfreebdy-channel - Update channel switcher
  • omfreebdy-migrate - Config migration runner
  • omfreebdy-about - System info display
  • dmenu-pick - Universal picker (fuzzel/rofi/fzf)
  • And more — see Scripts Reference

First Steps

  • Press Super + Return to open terminal
  • Press Super + Space for app launcher
  • Run theme-set —list to see themes
  • Run theme-set tokyo-night to try a theme

Console Login

If not using a display manager, add to your login profile:

exec Hyprland
cd ~/.omfreebdy
mise run update
Remove configurations and scripts
rm -rf ~/.config/hypr ~/.config/waybar ~/.config/foot
rm -rf ~/.config/mako ~/.config/fuzzel ~/.config/omfreebdy
rm -rf ~/.local/bin/theme-set ~/.local/bin/bg-next
Remove system packages
pkg remove hyprland waybar foot mako fuzzel hypridle hyprlock