-
-
Notifications
You must be signed in to change notification settings - Fork 15.3k
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
build libinput to look for local quirks in /etc #70520
Conversation
If the user wants to configure libinput locally (e.g. to tune touchpad sensitivity) the advertised[*] mechanism to do this upstream is by adding a file /etc/libinput/local-overrides.quirks Add --sysconfdir option to the libinput configurePhase so that we build libinput to look for the file there instead of in libinput's store path [*] can't quite claim it as "supported", but it's certainly the mechanism that's publically described. See https://wayland.freedesktop.org/libinput/doc/latest/device-quirks.html
It's arguable whether this is The Right Thing and should we instead be providing some declarative/structured way to add local device quirks. That said, upstream seem quite firm on the idea that local quirks are temporary and should be pushed to them for distribution in later libinput versions, so one could make a case for intentionally keeping our quirks in the same text-based format (ini files) as they will expect. |
I think this is the right thing to do. |
I think you fixed something with fuse but didn't pr the change for that to happen. |
Even if this isn't philosophically the right solution, we need some way to add libinput quirks locally. Right now I can't use my double-click button on my RollerMouse Free3 because upstream does not have it in quirks yet, and the quirks mechanism in NixOS is broken. Unfortunately that means that it is currently a pain (quite literally, ergonomically) to use my mouse. I'm dependent on the functioning of that button to reduce my RSI issues. What needs to happen to get some sort of solution applied here ASAP? |
@joepie91 I don't think anyone said we didn't need this fix, in the end libinput needs to be configured to find configs from |
@worldofpeace Right, but from the above conversation it feels to me as if this PR is going to get stuck in "what would the philosophically correct solution be" limbo while leaving the immediate issue unsolved. As this is a significant health issue, that would be a serious problem to me. I'd rather just see an immediate solution applied (and backported to stable), and - if necessary - that solution getting replaced with a more generic/philosophically-correct one later. |
I agree with @joepie19. I patched it locally, for me, by adding an overlay in I should add that I don't have a commit bit myself, if anyone in the conversation is wondering why I haven't done it already |
Please add a libinput module option as well for it. |
something like that, you mean? It's a good idea (I'd be happy to try it as soon as I have the bandwidth), but I think it could be tackled as a separate PR instead of coupling to this one. It's not that hard to set |
Yes, like that. The reason is discoverability. |
Has this also been backported to stable? I'm not sure what the |
Motivation for this change
If the user wants to configure libinput locally (e.g. to tune
touchpad sensitivity) the advertised[*] mechanism to do this
upstream is by adding a file
/etc/libinput/local-overrides.quirks
This doesn't work in NixOS, which is instead looking at (e.g)
/nix/store/9lwm03xqd8pkbxc3hgq9iiginddiyha3-libinput-1.12.6/etc/libinput/local-overrides.quirks
[*] can't quite claim it as "supported", but it's certainly the
mechanism that's publically described. See
https://wayland.freedesktop.org/libinput/doc/latest/device-quirks.html
Things done
Add --sysconfdir option to the libinput configurePhase so that we
build libinput to look for the file there instead of in libinput's
store path
Tested on my laptop using an overlay to override the libinput derivation [https://ww.telent.net/2019/10/2/light_touch_regulation]
building the virtualbox image
nix-build nixos/release-combined.nix -A nixos.ova
as I write, will update this when finishedTested using sandboxing (nix.useSandbox on NixOS, or option
sandbox
innix.conf
on non-NixOS)Built on platform(s)
Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
Tested compilation of all pkgs that depend on this change using
nix-shell -p nix-review --run "nix-review wip"
Tested execution of all binary files (usually in
./result/bin/
)Determined the impact on package closure size (by running
nix path-info -S
before and after)Ensured that relevant documentation is up to date
Fits CONTRIBUTING.md.
Notify maintainers
cc @