But I don’t know how to determine the path to the plugin. More worrying, every attempt I have made (also used Hyprland - NixOS Wiki), I get the error attribute 'inputs' missing.
(Note: I have never used Hyprland myself, so take the following with a grain of salt. Maybe someone else can confirm this?)
A quick search brought up this list of available plugins that you can use in wayland.windowManager.hyprland.plugins. As I understand it, you can also build and use plugins locally and refer to them with "/absolute/path/to/plugin.so", so it apparently depends on where you choose to store them.
Concerning the attribute 'inputs' missing error: I think you need to pass the named attribute set argumentinputs to your home.nix. To do that, modify your flake.nix:
This clears it up. I was ignoring the second bit anyway without error, but now I know what it’s purpose is.
I had tried specialArgs like in the configuration.nix part but I didn’t realize that the HM ones were extraSpecial ;-). Actually I had tried, but it does not build properly either, failing with this
-- Found xwayland, version 23.2.6
-- Found xcb-util, version 0.4.1
-- Found xcb-render, version 1.16
-- Found xcb-xfixes, version 1.16
-- Found xcb-icccm, version 0.4.2
-- Found xcb-composite, version 1.16
-- Found xcb-res, version 1.16
-- Found xcb-ewmh, version 0.4.2
-- Checking for module 'xcb-errors'
-- Found xcb-errors, version 1.0.1
-- SYSTEMD support is requested (NO_SYSTEMD not defined)...
-- Setting precompiled headers
-- Setting link libraries
Could not open input file: No such file or directory
Could not open input file: No such file or directory
Could not open input file: No such file or directory
Could not open input file: No such file or directory
Couldn't load proto
-- Checking for module 'tomlplusplus'
-- Found tomlplusplus, version 3.4.0
-- Configuring incomplete, errors occurred!
And earlier in the same log.
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /nix/store/k9pxn9rdy5d2081612zx4i177kzzyvkn-gcc-wrapper-13.2.0/bin/g++
- skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Gathering git info
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
CMake Error at CMakeLists.txt:32 (add_subdirectory):
The source directory
/build/source/subprojects/udis86
does not contain a CMakeLists.txt file.
I’ve posted the full log below, but these seem to be the problematic bits.
I really appreciate your assistance. Thank you.
warning: The interpretation of store paths arguments ending in `.drv` recently changed. If this command is now failing try again with '/nix/store/kb2fmj213vl2vzjhg9ybmcsf3hnryqky-hyprland-0.40.0+date=2024-05-06_a8a04c7.drv^*'
➜ .dotfiles git:(name) ✗ nix log /nix/store/kb2fmj213vl2vzjhg9ybmcsf3hnryqky-hyprland-0.40.0+date=2024-05-06_a8a04c7.drv | cat
warning: The interpretation of store paths arguments ending in `.drv` recently changed. If this command is now failing try again with '/nix/store/kb2fmj213vl2vzjhg9ybmcsf3hnryqky-hyprland-0.40.0+date=2024-05-06_a8a04c7.drv^*'
@nix { "action": "setPhase", "phase": "unpackPhase" }
Running phase: unpackPhase
unpacking source archive /nix/store/bn9c0x8m31lcahyvl12ayj8zzdc815bz-source
source root is source
@nix { "action": "setPhase", "phase": "patchPhase" }
Running phase: patchPhase
@nix { "action": "setPhase", "phase": "updateAutotoolsGnuConfigScriptsPhase" }
Running phase: updateAutotoolsGnuConfigScriptsPhase
@nix { "action": "setPhase", "phase": "configurePhase" }
Running phase: configurePhase
fixing cmake files...
cmake flags: -GNinja -DCMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY=OFF -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_TESTING=OFF -DCMAKE_INSTALL_LOCALEDIR=/nix/store/00g9cg3bccji6kcs5n7ay6lr8mywd6d2-hyprland-0.40.0+date=2024-05-06_a8a04c7/share/locale -DCMAKE_INSTALL_LIBEXECDIR=/nix/store/00g9cg3bccji6kcs5n7ay6lr8mywd6d2-hyprland-0.40.0+date=2024-05-06_a8a04c7/libexec -DCMAKE_INSTALL_LIBDIR=/nix/store/00g9cg3bccji6kcs5n7ay6lr8mywd6d2-hyprland-0.40.0+date=2024-05-06_a8a04c7/lib -DCMAKE_INSTALL_DOCDIR=/nix/store/00g9cg3bccji6kcs5n7ay6lr8mywd6d2-hyprland-0.40.0+date=2024-05-06_a8a04c7/share/doc/Hyprland -DCMAKE_INSTALL_INFODIR=/nix/store/00g9cg3bccji6kcs5n7ay6lr8mywd6d2-hyprland-0.40.0+date=2024-05-06_a8a04c7/share/info -DCMAKE_INSTALL_MANDIR=/nix/store/h14zffwcfix6iy30jl53wahl6vz8nggd-hyprland-0.40.0+date=2024-05-06_a8a04c7-man/share/man -DCMAKE_INSTALL_OLDINCLUDEDIR=/nix/store/fpvpwffvw65y9dss24dn3jcx9ic5zq18-hyprland-0.40.0+date=2024-05-06_a8a04c7-dev/include -DCMAKE_INSTALL_INCLUDEDIR=/nix/store/fpvpwffvw65y9dss24dn3jcx9ic5zq18-hyprland-0.40.0+date=2024-05-06_a8a04c7-dev/include -DCMAKE_INSTALL_SBINDIR=/nix/store/00g9cg3bccji6kcs5n7ay6lr8mywd6d2-hyprland-0.40.0+date=2024-05-06_a8a04c7/sbin -DCMAKE_INSTALL_BINDIR=/nix/store/00g9cg3bccji6kcs5n7ay6lr8mywd6d2-hyprland-0.40.0+date=2024-05-06_a8a04c7/bin -DCMAKE_INSTALL_NAME_DIR=/nix/store/00g9cg3bccji6kcs5n7ay6lr8mywd6d2-hyprland-0.40.0+date=2024-05-06_a8a04c7/lib -DCMAKE_POLICY_DEFAULT_CMP0025=NEW -DCMAKE_OSX_SYSROOT= -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_STRIP=/nix/store/k9pxn9rdy5d2081612zx4i177kzzyvkn-gcc-wrapper-13.2.0/bin/strip -DCMAKE_RANLIB=/nix/store/k9pxn9rdy5d2081612zx4i177kzzyvkn-gcc-wrapper-13.2.0/bin/ranlib -DCMAKE_AR=/nix/store/k9pxn9rdy5d2081612zx4i177kzzyvkn-gcc-wrapper-13.2.0/bin/ar -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_INSTALL_PREFIX=/nix/store/00g9cg3bccji6kcs5n7ay6lr8mywd6d2-hyprland-0.40.0+date=2024-05-06_a8a04c7 -DNO_XWAYLAND:BOOL=FALSE -DLEGACY_RENDERER:BOOL=FALSE -DNO_SYSTEMD:BOOL=FALSE
-- The C compiler identification is GNU 13.2.0
-- The CXX compiler identification is GNU 13.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /nix/store/k9pxn9rdy5d2081612zx4i177kzzyvkn-gcc-wrapper-13.2.0/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /nix/store/k9pxn9rdy5d2081612zx4i177kzzyvkn-gcc-wrapper-13.2.0/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Gathering git info
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
CMake Error at CMakeLists.txt:32 (add_subdirectory):
The source directory
/build/source/subprojects/udis86
does not contain a CMakeLists.txt file.
-- Setting up wlroots
-- Found PkgConfig: /nix/store/39nq7p6jcm9m3xqqm99skwmgsqw4pbbg-pkg-config-wrapper-0.29.2/bin/pkg-config (found version "0.29.2")
-- Found WaylandScanner at /nix/store/wfh7w6rfcsnscs7w745pllry2n3wjqcl-wayland-1.22.0-bin/bin/wayland-scanner
-- Found wayland-protocols at //nix/store/byysaxsxa8bgqdypczmnxr84yy1ynqjx-wayland-protocols-1.35/share/wayland-protocols
-- Configuring Hyprland in Release with CMake
-- Checking deps...
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found OpenGL: /nix/store/qady90492hsb01i96amgb8z6q24bv9kd-libGL-1.7.0/lib/libOpenGL.so found components: GLES3
-- Checking for modules 'xkbcommon;uuid;wayland-server;wayland-client;wayland-cursor;wayland-protocols;cairo;pango;pangocairo;pixman-1;libdrm;libinput;hwdata;libseat;libdisplay-info;libliftoff;libudev;gbm;hyprwayland-scanner>=0.3.4;hyprlang>=0.3.2;hyprcursor>=0.1.7'
-- Found xkbcommon, version 1.5.0
-- Found uuid, version 2.39.3
-- Found wayland-server, version 1.22.0
-- Found wayland-client, version 1.22.0
-- Found wayland-cursor, version 1.22.0
-- Found wayland-protocols, version 1.35
-- Found cairo, version 1.18.0
-- Found pango, version 1.51.2
-- Found pangocairo, version 1.51.2
-- Found pixman-1, version 0.43.4
-- Found libdrm, version 2.4.120
-- Found libinput, version 1.25.0
-- Found hwdata, version 0.381
-- Found libseat, version 0.8.0
-- Found libdisplay-info, version 0.1.1
-- Found libliftoff, version 0.4.1
-- Found libudev, version 255
-- Found gbm, version 24.0.5
-- Found hyprwayland-scanner, version 0.3.4
-- Found hyprlang, version 0.5.1
-- Found hyprcursor, version 0.1.7
-- Looking for execinfo.h
-- Looking for execinfo.h - found
-- Configuration supports execinfo
-- Looking for backtrace in execinfo
-- Looking for backtrace in execinfo - not found
-- Looking for sys/timerfd.h
-- Looking for sys/timerfd.h - found
-- Checking for module 'epoll-shim'
-- No package 'epoll-shim' found
-- XWAYLAND Enabled (NO_XWAYLAND not defined) checking deps...
-- Checking for modules 'xcb;xwayland;xcb-util;xcb-render;xcb-xfixes;xcb-icccm;xcb-composite;xcb-res;xcb-ewmh'
-- Found xcb, version 1.16
-- Found xwayland, version 23.2.6
-- Found xcb-util, version 0.4.1
-- Found xcb-render, version 1.16
-- Found xcb-xfixes, version 1.16
-- Found xcb-icccm, version 0.4.2
-- Found xcb-composite, version 1.16
-- Found xcb-res, version 1.16
-- Found xcb-ewmh, version 0.4.2
-- Checking for module 'xcb-errors'
-- Found xcb-errors, version 1.0.1
-- SYSTEMD support is requested (NO_SYSTEMD not defined)...
-- Setting precompiled headers
-- Setting link libraries
Could not open input file: No such file or directory
Could not open input file: No such file or directory
Could not open input file: No such file or directory
Could not open input file: No such file or directory
Couldn't load proto
-- Checking for module 'tomlplusplus'
-- Found tomlplusplus, version 3.4.0
-- Configuring incomplete, errors occurred!
As I said before, I’m just guessing here, but the Hyprland-Wiki page that you linked in your original post states at the top: “(Required) NixOS Module: enables critical components needed to run Hyprland properly”. And the next wiki page contains instructions on how to enable the module:
Have you tried adding hyprland-plugins to your inputs?
The line inputs.hyprland-plugins.packages.${pkgs.system}.hyprbars in your config requires a hyprland-plugins entry in your flake’s inputs.
The inputs.hyprland.follows guarantees the plugins will always be built using your locked Hyprland version, thus you will never get version mismatches that lead to errors.
Edit: There also seems to be a typo in your hyprland.nix: apparently it’s hyprbars and not hyperbars.
OK. BTW, I tried also with a different repo, hyprland.url = "github:vaxerski/Hyprland"; which I found in someone else’s flake, and it failed in the same way. Not sure if that is significant since I’m new to this. Is the other url I tried, in theory anyway, a clone of the hyprwm repo, which is the “official” one?