I've been following Jupiter Broadcasting for years, and when Chris Fisher shared his HyprVibe setup, I was impressed. It's a well-configured Hyprland desktop that runs on NixOS, with good attention to detail and thoughtful keybindings.

The problem is that it's NixOS-specific. If you don't want to learn Nix or prefer a different base system, you're out of luck. Since I maintain Soltros OS (which uses rpm-ostree), I decided to port it over.

What is HyprVibe?

HyprVibe is Chris Fisher's Hyprland configuration. It includes:

It's a complete desktop setup that works out of the box.

The Technical Challenge

Porting from NixOS to rpm-ostree wasn't straightforward. The original setup uses:

None of that translates directly to a standard Linux filesystem. I had to extract the actual config files and scripts, then figure out how to integrate them properly with rpm-ostree's image-based model.

The Solution: XDG Base Directories

Most Linux applications follow the XDG Base Directory specification. They look for configs in this order:

  1. ~/.config/ - User's personal config (checked first)
  2. /etc/xdg/ - System-wide defaults (fallback)

This works perfectly for an image-based OS. I put the HyprVibe configs in both /etc/xdg/ (system-wide) and /etc/skel/ (template for new users). This means:

No scripts needed at login. Everything just works.

What's Included

This is a complete port of the HyprVibe experience:

How It Works

Because everything follows the XDG specification:

Boot into the HyprVibe image and you get a fully configured desktop immediately.

Changes from the Original

I kept the spirit of Chris's setup but made a few adjustments for Soltros:

Getting Started

HyprVibe is available in both LTS (Long Term Support) and Unstable tracks.

New Installations

# Download the ISO from https://soltros.dev
# Choose either:
#   - soltros-os-lts_hyprvibe (stable)
#   - soltros-os-unstable_hyprvibe (latest packages)
# Install normally
# Select Hyprland at login

Existing Soltros Users

# Switch to the HyprVibe image
bootc switch ghcr.io/soltros/soltros-os-lts_hyprvibe:latest

# Or for Unstable track:
bootc switch ghcr.io/soltros/soltros-os-unstable_hyprvibe:latest

# Reboot
systemctl reboot

# Select Hyprland at SDDM login

No additional configuration needed. The system-wide configs are picked up automatically.

# Hyprland reloads automatically on save

Keybindings

Here are the main keybindings to get started:

Why This Matters

This is about making good software more accessible. Chris's HyprVibe is well-designed, but it was limited to NixOS users. Now anyone running Soltros (or potentially other rpm-ostree systems) can use it without learning a new configuration system.

It also demonstrates the value of following standards. The XDG Base Directory specification made this port possible. When applications follow common conventions, configurations become portable across distributions.

Credit

All credit for the design, keybindings, and overall setup goes to Chris Fisher and his HyprVibe repository. I just adapted it for a different platform. If you like this setup, check out Jupiter Broadcasting.

What's Next

Plans for the future:

Try It

New users: Download from soltros.dev (LTS strongly reccomended as Unstable isn't working correctly).

Existing Soltros users:

bootc switch ghcr.io/soltros/soltros-os-lts_hyprvibe:latest

Questions or issues? Open an issue on GitHub.