add linearmouse module

This commit is contained in:
Yan Lin 2026-02-04 12:12:47 +01:00
parent 48b0aa2ef6
commit ca4f1226b7
5 changed files with 50 additions and 18 deletions

View file

@ -20,6 +20,7 @@
../../modules/media-process.nix
../../modules/fonts.nix
../../modules/aerospace.nix
../../modules/peripheral/home.nix
../../modules/env.nix
];
@ -229,6 +230,15 @@
};
};
launchd.agents.linearmouse = {
enable = true;
config = {
ProgramArguments = [ "/Applications/LinearMouse.app/Contents/MacOS/LinearMouse" ];
RunAtLoad = true;
KeepAlive = false;
};
};
# File associations configuration (macOS equivalent of xdg.mimeApps)
# Uses duti to set default applications for file types via Launch Services
home.activation.setFileAssociations = config.lib.dag.entryAfter ["writeBoundary"] ''

View file

@ -3,6 +3,7 @@
{
imports = [
../../modules/homebrew.nix
../../modules/peripheral/system.nix
nix-homebrew.darwinModules.nix-homebrew
];
@ -131,22 +132,4 @@
/System/Library/PrivateFrameworks/SystemAdministration.framework/Resources/activateSettings -u
'';
# Key remapping using hidutil via launchd agent
# This swaps Control and Caps Lock keys bidirectionally
launchd.user.agents.remap-keys = {
serviceConfig = {
ProgramArguments = [
"/usr/bin/hidutil"
"property"
"--set"
''{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x7000000E0},{"HIDKeyboardModifierMappingSrc":0x7000000E4,"HIDKeyboardModifierMappingDst":0x700000039}]}''
];
RunAtLoad = true;
KeepAlive = false;
Label = "org.nixos.remap-keys";
StandardErrorPath = "/tmp/remap-keys.err";
StandardOutPath = "/tmp/remap-keys.out";
};
};
}