move karabiner-elements to homebrew, add macfuse and sshfs-mac

nix-darwin's karabiner module is broken with 15.7+ - the karabiner_grabber
and karabiner_observer binaries no longer exist, causing system daemons to
fail with exit code 78. Moved karabiner-elements to homebrew cask which
handles its own service registration correctly.

Also adds macfuse cask and gromgit/fuse/sshfs-mac brew, updates
agentcomputer-cli flake input, and tweaks zsh alias.
This commit is contained in:
Harivansh Rathi 2026-03-27 23:27:42 -04:00
parent 9c9640cfa1
commit 09d138e992
5 changed files with 10 additions and 33 deletions

View file

@ -9,17 +9,20 @@
};
taps = [
# riptide-dev is still sourced from this tap.
"humanlayer/humanlayer"
"gromgit/fuse"
];
brews = [
"bitwarden-cli"
"gromgit/fuse/sshfs-mac"
];
casks = [
"cap"
"codex"
"karabiner-elements"
"macfuse"
"rectangle"
"raycast"
"riptide-beta"

View file

@ -1,33 +1,8 @@
{
lib,
pkgs,
...
}: let
karabinerAgentsDir =
"${pkgs.karabiner-elements}/Library/Application Support/org.pqrs/Karabiner-Elements/"
+ "Karabiner-Elements Non-Privileged Agents v2.app/Contents/Library/LaunchAgents";
in {
{...}: {
security.pam.services.sudo_local.touchIdAuth = true;
services.karabiner-elements.enable = true;
# Upstream nix-darwin still expects Karabiner's old agent layout. Override it
# here until the built-in module catches up to the 15.7+ bundle structure.
# Karabiner-Elements 15.7.0 moved its user launch agents into the
# Non-Privileged Agents v2 bundle and renamed karabiner_grabber.
# nix-darwin's built-in module still points at the old top-level paths.
environment.userLaunchAgents."org.pqrs.karabiner.agent.karabiner_grabber.plist".enable =
lib.mkForce false;
environment.userLaunchAgents."org.pqrs.karabiner.agent.karabiner_observer.plist".enable =
lib.mkForce false;
environment.userLaunchAgents."org.pqrs.karabiner.karabiner_console_user_server.plist".enable =
lib.mkForce false;
environment.userLaunchAgents."org.pqrs.service.agent.Karabiner-Core-Service.plist".source = "${karabinerAgentsDir}/org.pqrs.service.agent.Karabiner-Core-Service.plist";
environment.userLaunchAgents."org.pqrs.service.agent.Karabiner-NotificationWindow.plist".source = "${karabinerAgentsDir}/org.pqrs.service.agent.Karabiner-NotificationWindow.plist";
environment.userLaunchAgents."org.pqrs.service.agent.Karabiner-Menu.plist".source = "${karabinerAgentsDir}/org.pqrs.service.agent.Karabiner-Menu.plist";
environment.userLaunchAgents."org.pqrs.service.agent.karabiner_console_user_server.plist".source = "${karabinerAgentsDir}/org.pqrs.service.agent.karabiner_console_user_server.plist";
environment.userLaunchAgents."org.pqrs.service.agent.Karabiner-MultitouchExtension.plist".source = "${karabinerAgentsDir}/org.pqrs.service.agent.Karabiner-MultitouchExtension.plist";
# Karabiner-Elements is managed via Homebrew cask because nix-darwin's
# built-in module is broken with 15.7+ (missing karabiner_grabber/observer binaries).
system.defaults = {
dock.autohide = true;