[NixOS] How to keep hyprland and plugins in sync
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:
- Normally my preferred option:
hyprland.url = "github:hyprwm/Hyprland";andhyprland-plugins = { url = "github:hyprwm/hyprland-plugins"; inputs.hyprland.follows = "hyprland"; };This right now gives the runtime error that the header versions are different. - Pinning hyprland to a release:
hyprland.url = "github:hyprwm/Hyprland/v0.49.0";andhyprland-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 - Using the hyprland input of hyprland-plugins
hyprland-plugins.url = "github:hyprwm/hyprland-plugins";and then usinginputs.hyprland-plugins.inputs.hyprlandFails 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?)
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.
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.
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.
I see you're only using hyprscrolling. That's hit or miss since it's in active development.