hyprland-plugins icon indicating copy to clipboard operation
hyprland-plugins copied to clipboard

[NixOS] How to keep hyprland and plugins in sync

Open clotodex opened this issue 6 months ago • 4 comments

I am constantly running into build or runtime errors when unlocking the flake inputs and was wondering if there is a "best practice" apart from "find a hyprland version that works and dont ever touch it".

I have tried three different options that all fail because of different reasons:

  1. Normally my preferred option: hyprland.url = "github:hyprwm/Hyprland"; and hyprland-plugins = { url = "github:hyprwm/hyprland-plugins"; inputs.hyprland.follows = "hyprland"; }; This right now gives the runtime error that the header versions are different.
  2. Pinning hyprland to a release: hyprland.url = "github:hyprwm/Hyprland/v0.49.0"; and hyprland-plugins = { url = "github:hyprwm/hyprland-plugins"; inputs.hyprland.follows = "hyprland"; }; Actually fails to build right now and no official branch for 0.49.0 exists
  3. Using the hyprland input of hyprland-plugins hyprland-plugins.url = "github:hyprwm/hyprland-plugins"; and then using inputs.hyprland-plugins.inputs.hyprland Fails to build since this still pulls in 0.48.0.

Is there any preferred way of making sure plugins + hyprland just build on nixos? (Or build and load as well?)

clotodex avatar Jun 09 '25 14:06 clotodex

Normally plugins should build fine in most cases, as long as there's a PR to chase Hyprland changes. If it takes too long to get one, plugins will eventually fail to build.

Approach #2 almost works, except you also have to pin the plugins to the same version as Hyprland. v0.49.0-fix should be the preferred one for v0.49.0, due to the chase PR arriving later.

fufexan avatar Jun 09 '25 15:06 fufexan

Ah interesting I was not aware of the tags here. Still it does not load for me (my config if you want to check it out is here)

with 48 i had no problems with pinning, maybe this is something weird with 49, but I cannot tell right now, will investigate further.

clotodex avatar Jun 09 '25 16:06 clotodex

Since the pinning does not want to work for me, I instead managed to identify the breaking commit on main. here

I dont know in what way this breaks the plugins right now, likely the hyprgraphics update changed something.

clotodex avatar Jun 09 '25 16:06 clotodex

I see you're only using hyprscrolling. That's hit or miss since it's in active development.

fufexan avatar Jun 09 '25 16:06 fufexan