Hyprscrolling fails to run after install using Nix Flakes
When installing the Hyprscrolling plugin using the nix flake setup as provided by the readme, I receive the following errors after attempting to start the plugin:
hyprctl plugin load "$HYPR_PLUGIN_DIR/lib/libhyprscrolling.so"
error in loading plugin, last error: Plugin /nix/store/*-hyrpland-plugins/lib/libhyprscrolling.so could not be loaded: /nix/store/*-gcc-14.2.0-lib/lib/libstdc++.so.6: version `GLIBCXX_3.4.34' not found (required by /nix/store/*-hyrpland-plugins/lib/libhyprscrolling.so)
(I replaced some of the long text in these filenames with asterisks to make the output more readable)
As far as I am aware, obtaining this GLIBCXX_3.4.34 is borderline impossible, as the latest version of gcc available to me at least is 14.2 which only goes up to GLIBCXX_3.4.33.
Advice on how to either obtain this dependency or to get the plugin working without would be greatly appreciated.
Are you on hyprland-git? See also https://github.com/hyprwm/hyprland-plugins/issues/381
im just using the hyprland flake mentioned in this repo if it helps.
After looking at that issue i tried building with hyprland v0.48.0 to see if that would fix it and i got this build error:
> buildtype : plain
> includedir : /nix/store/2v869raza9srnwhz5g596f3bfj3k3ag4-hyprscrolling-0.1/include
> infodir : /nix/store/2v869raza9srnwhz5g596f3bfj3k3ag4-hyprscrolling-0.1/share/info
> libdir : /nix/store/2v869raza9srnwhz5g596f3bfj3k3ag4-hyprscrolling-0.1/lib
> libexecdir : /nix/store/2v869raza9srnwhz5g596f3bfj3k3ag4-hyprscrolling-0.1/libexec
> localedir : /nix/store/2v869raza9srnwhz5g596f3bfj3k3ag4-hyprscrolling-0.1/share/locale
> mandir : /nix/store/2v869raza9srnwhz5g596f3bfj3k3ag4-hyprscrolling-0.1/share/man
> prefix : /nix/store/2v869raza9srnwhz5g596f3bfj3k3ag4-hyprscrolling-0.1
> sbindir : /nix/store/2v869raza9srnwhz5g596f3bfj3k3ag4-hyprscrolling-0.1/sbin
> wrap_mode : nodownload
>
> Found ninja-1.12.1 at /nix/store/b8hida4z1qy9aw1fy3vdr251rzf125i0-ninja-1.12.1/bin/ninja
> mesonConfigurePhase: enabled\ parallel\ building
> Running phase: buildPhase
> build flags: -j6
> [1/3] Compiling C++ object libhyprscrolling.so.p/Scrolling.cpp.o
> FAILED: libhyprscrolling.so.p/Scrolling.cpp.o
> g++ -Ilibhyprscrolling.so.p -I. -I.. -I/nix/store/ayqmq1x9x4l95qkxb219hh01lmblh6jw-hyprland-0.48.0+date=2025-03-23_5ee35f9-dev/include -I/nix/store/ayqmq1x9x4l95qkxb219hh01lmblh6jw-hyprland-0.48.0+date=2025-03-23_5ee35f9-dev/include/hyprland/protocols -I/nix/store/ayqmq1x9x4l95qkxb219hh01lmblh6jw-hyprland-0.48.0+date=2025-03-23_5ee35f9-dev/include/hyprland -I/nix/store/8k6yc12fjsabc9a8msc7hwv6rxzm0fi0-pixman-0.44.2/include/pixman-1 -I/nix/store/9pxabmi7kfnkk7m6b6b13wryyd5lzb16-libdrm-2.4.124-dev/include -I/nix/store/9pxabmi7kfnkk7m6b6b13wryyd5lzb16-libdrm-2.4.124-dev/include/libdrm -I/nix/store/hnqd8hy29lms41fy7r8ccyhq0xahlfgf-cairo-1.18.2-dev/include/cairo -I/nix/store/90g3mg3c7w9hs78n9c29bbbz80cpcvq2-freetype-2.13.3-dev/include/freetype2 -I/nix/store/90g3mg3c7w9hs78n9c29bbbz80cpcvq2-freetype-2.13.3-dev/include -I/nix/store/bry9cijf53mjxhfcwv77ps5y2f9zak8k-glib-2.82.4-dev/include -I/nix/store/bry9cijf53mjxhfcwv77ps5y2f9zak8k-glib-2.82.4-dev/include/glib-2.0 -I/nix/store/7ly9p55j21sr0rl93lb6vpi1k1sbb3x3-glib-2.82.4/lib/glib-2.0/include -I/nix/store/g93ivkzmhggli8rwhwqbqbf8kgy9h7hr-pango-1.56.1-dev/include/pango-1.0 -I/nix/store/gr2rixxmaplly7cgc78bmscdyxvalmgc-harfbuzz-10.2.0-dev/include/harfbuzz -I/nix/store/xy0f7l9jhy0grsc17b6rlmssvzm6cqs8-libinput-1.27.1-dev/include -I/nix/store/9frccpzw96ri6y67bix1yr9pxbh8iq75-systemd-minimal-libs-257.3-dev/include -I/nix/store/kdvf8bl620s9mf1izprm596jmi489srx-wayland-1.23.1-dev/include -I/nix/store/bms469l1c5d31iq8df2gafbb9fjxmxdx-libxkbcommon-1.7.0-dev/include -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++23 -fPIC -MD -MQ libhyprscrolling.so.p/Scrolling.cpp.o -MF libhyprscrolling.so.p/Scrolling.cpp.o.d -o libhyprscrolling.so.p/Scrolling.cpp.o -c ../Scrolling.cpp
> In file included from ../Scrolling.cpp:7:
> /nix/store/ayqmq1x9x4l95qkxb219hh01lmblh6jw-hyprland-0.48.0+date=2025-03-23_5ee35f9-dev/include/hyprland/src/managers/eventLoop/EventLoopManager.hpp:8:10: fatal error: helpers/signal/Signal.hpp: No such file or directory
> 8 | #include "helpers/signal/Signal.hpp"
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> compilation terminated.
> [2/3] Compiling C++ object libhyprscrolling.so.p/main.cpp.o
> ninja: build stopped: subcommand failed
The issue itself beyond checking that version didn't seem to hold any solutions to this problem unless I overlooked something
hyprscrolling is only available on git atm
hyprscrolling is only available on git atm
Would there be any way of getting hyprland-git on NixOS then? I see it on the AUR but Google searching for something similar on nixos is proving to be difficult.
The -git equivalent on Nix is the flake, which you already said you were using. Make sure it is up to date. Check the version using hyprctl version, and make sure it gives you something like this, with a recent date:
Hyprland 0.49.0 built from branch at commit 6bdb1f413e4c592f73d91bef33dfb202503ef7ab ().
Date: 2025-06-10
Tag: v0.49.0, commits:
built against:
aquamarine 0.8.0
hyprlang 0.6.3
hyprutils 0.7.1
hyprcursor 0.1.12
hyprgraphics 0.1.3
no flags were set
The
-gitequivalent on Nix is the flake, which you already said you were using. Make sure it is up to date. Check the version usinghyprctl version, and make sure it gives you something like this, with a recent date:
Thanks to this I just realized I was not using the flake package but the regular one, I switched it out but now web browsers and the kitty terminal are not working, at least the plugin actually initialized this time.
I switched it out but now web browsers and the kitty terminal are not working, at least the plugin actually initialized this time.
I doubt that's related to Hyprland, unless your keybinds changed or some services/portals are not starting anymore.
I switched it out but now web browsers and the kitty terminal are not working, at least the plugin actually initialized this time.
I doubt that's related to Hyprland, unless your keybinds changed or some services/portals are not starting anymore.
Steam and vesktop work as expected but launching terminals and browsers results in blank windows, I did confirm in a secondary tty that hyprland had indeed upgraded to v0.49.0, but now switching configurations is giving an error regarding needed gcc15stdenv despite having gcc15. I don't even know if this is a hyprland issue anymore or my configuration is just evil
Make sure you're not overriding any of Hyprland's inputs (i.e by using inputs.hyprland.inputs.nixpkgs.follows = "nixpkgs";).
I don't believe I did that at any point, disabling the plugin due to build issues and compiling from the flake is causing this now, I can't see a way to diagnose the issue given that I can't access a terminal with hyprland running. I know at this point this has transcended the issue of the plugins but I am at a loss
some hailmarys:
- if you are using home manager: check the journalctl (works also postmortem) => could be that this got blocked and is not applying your keybind config this is by far the most common issue for me
- make sure you are overriding the program packages:
programs.hyprland = {
enable = true;
# set the flake package
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
# make sure to also set the portal package, so that they are in sync
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
};
- if you are using home manager: check that you set home manager to null
wayland.windowManager.hyprland = {
enable = true;
package = null;
portalPackage = null;
plugins = [ inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprscrolling ];
...
- copy my last working pin (#381):
hyprland = {
url = "github:hyprwm/Hyprland?rev=2794f485cb5d52b3ff572953ddcfaf7fd3c25182";
};
hyprland-plugins = {
url = "github:hyprwm/hyprland-plugins"; #/v0.49.0-fix";
inputs.hyprland.follows = "hyprland";
};
I hope some of this works for you :)
Not using home manager and while hyprland-git finally compiles using that ref, it runs into the same issues where some apps (now including thunar) work but apps like the kitty terminal and zen browser fail to work beyond showing a window that doesn't close, the keybinds are loading properly although the shutdown screen does seemingly cause the system to lock up, I don't know why my config breaks when updating to 25.05 considering the original configuration that I based mine off of didn't need to update much beyond the version number.