Important
Recent commit set services.xremap.enable to false by default so that it
matches other modules. Make sure to enable the service
(services.xremap.enable = true;)
This is a Nix flake that installs and configures xremap.
Flake allows running xremap as a system-wide service and as a user service (controlled by services.xremap.serviceMode option).
Flake implements xremap features that allow specifying per-application remapping. Following combinations are tested:
| Mode | No features | KDE | Gnome | X11 | Wlroots | Niri | Cosmic |
|---|---|---|---|---|---|---|---|
| System | ✔️ | ✖️ | ✖️ | ✔️ | ✖️ | ❓ | ❓ |
| User | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❓ |
- ✔️ – tested, works
- ✖️ – not implemented
- ❓ – implemented, not tested
TL;DR:
- Import one of this flake's modules (
xremap-flake.nixosModules.defaultorxremap-flake.homeManagerModules.default) - (optional) configure xremap for your DE (
services.xremap.withWlroots/withX11/etc., see HOWTO) - Configure xremap binds in
services.xremap.config
See HOWTO for more information and sample configs.
The subflake in .dev that includes the CI config, formatters, linters,
automatic tests and demos.
The .envrc file bundled in the repo loads the development shell automatically.