-
-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fail to build on NixOS after libinput overlay removal #73
Comments
Are you overriding the nixpkgs input by any chance? |
Yes, because it fails to build 0.42 without overriding. hyprwm/Hyprland#6967 (comment) |
Makes sense then. I wanted to backport libinput 1.26 to NixOS 24.05 but some committers deemed it a breaking change (with more recursive breakages). I think the best option for you currently is to manually add the overlay. I've removed it due to it causing mass rebuilds for people using hyprland through the overlay. |
Yeh that makes sense. I could also just pin hyprland/aquamarine to b4 the change was made. |
You know any way to add an overlay that affects the build of an external flake. Simply overriding aquamarine / libinput has not been successful for me. This is what I have tried so far. Any thoughts on getting this to work? Or do you think that pinning until 24.11 is good enough. aquamarine = prev.aquamarine.override {
libinput = prev.libinput.overrideAttrs (self: super: {
version = "1.26.0";
src = final.fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "libinput";
repo = "libinput";
rev = self.version;
hash = "sha256-mlxw4OUjaAdgRLFfPKMZDMOWosW9yKAkzDccwuLGCwQ=";
};
});
};
}; libinput = prev.libinput.overrideAttrs (self: super: {
version = "1.26.0";
src = final.fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "libinput";
repo = "libinput";
rev = self.version;
hash = "sha256-mlxw4OUjaAdgRLFfPKMZDMOWosW9yKAkzDccwuLGCwQ=";
};
});
}; |
That looks good at first sight, but perhaps other dependencies of aquamarine also depend on libinput. I believe a "global" overlay might fix this, but it will also require you to rebuild some other packages. |
This is actually a global overlay. And it still fails with the aquamarine PkgConfig.cmake failing. Bit strange. nixpkgs = {
overlays = builtins.attrValues outputs.overlays;
}; I have this section of nix in both my home-manager and my system level config. I believe that that should totally override it. Perhaps I will also need to set |
Not sure, but it's worth a try. |
Ok I have a fix, couple of weird behaviors with wayland-scanner but it's all good. So: With these inputs: inputs = {
aquamarine = {
type = "git";
url = "https://github.com/hyprwm/aquamarine";
ref = "refs/tags/v0.4.1";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
hyprland = {
type = "git";
url = "https://github.com/hyprwm/hyprland";
ref = "refs/tags/v0.43.0";
submodules = true;
inputs.nixpkgs.follows = "nixpkgs";
inputs.aquamarine.follows = "aquamarine";
};
} I have this overlay: modifications = final: prev: {
hyprland-patched = let
libinput = prev.libinput.overrideAttrs (self: {
name = "libinput";
version = "1.26.0";
src = final.fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "libinput";
repo = "libinput";
rev = self.version;
hash = "sha256-mlxw4OUjaAdgRLFfPKMZDMOWosW9yKAkzDccwuLGCwQ=";
};
});
in
inputs.hyprland.packages.${prev.system}.hyprland.override {
libinput = libinput;
aquamarine = inputs.hyprland.inputs.aquamarine.packages.${prev.system}.aquamarine.override {
libinput = libinput;
};
# need this to fix meson build for some reason?
wayland-scanner = final.unstable.wayland-scanner;
};
}; Where unstable-packages = final: _prev: {
unstable = import inputs.nixpkgs-unstable {
inherit (final) system;
config.allowUnfree = true;
};
}; Important to note: using unstable wayland-scanner and unstable nixpkgs for aquamarine. |
Libinput was what was preventing Hyprland from building on update. See hyprwm/aquamarine#73. The overlay ensures even after an update, Hyprland will build with the right version of libinput.
After cff0019
Aquamarine no longer builds for me on nixos.
Here is the error:
I guess still needs the overlay? @fufexan
The text was updated successfully, but these errors were encountered: