If you like TypeScript and want your Karabiner configuration maintainable & type-safe, you probably want to use the custom configuration DSL / generator I created in rules.ts
and utils.ts
!
“This repo is incredible - thanks so much for putting it together! I always avoided Karabiner mostly because of its complicated configuration. Your project makes it so much easier to work with and so much more powerful. I'm geeking out on how much faster I'm going to be now.”
— @jhanstra (source)
Watch the video about this repo:
Watch my interview with Raycast for a deeper dive into how I connect this with Raycast as my personal productivity system:
You probably don't want to use my exact configuration, as it's optimized for my personal style & usage. Best way to go about using this if you want to? Probably delete all the sublayers in rules.ts
and add your own based on your own needs!
- Install & start Karabiner Elements
- Clone this repository
- Delete the default
~/.config/karabiner
folder - Create a symlink with
ln -s ~/github/mxstbr/karabiner ~/.config
(where~/github/mxstbr/karabiner
is your local path to where you cloned the repository) - Restart karabiner_console_user_server with
launchctl kickstart -k gui/`id -u`/org.pqrs.karabiner.karabiner_console_user_server
- Add the
raycast-scripts
directory to your Raycast scripts by opening Raycast, going to the "Extensions" tab, searching for "Script Commands", click "Add Directories" and then choose theraycast-scripts
directory in this repository - The "Open Google Calendar in Arc" script needs the calendar to have a specific name. For it to work, go into Arc, right-click on the pinned Google Calendar tab and rename it to
RAYCAST_TARGET_CALENDAR_TAB
. You may change this name, but you'll have to update theopen-calendar.applescript
file accordingly. Also, keep in mind that this name must be unique across all tabs you will ever have.
yarn install
to install the dependencies. (one-time only)
yarn run build
builds the karabiner.json
from the rules.ts
.
yarn run watch
watches the TypeScript files and rebuilds whenever they change.
Copyright (c) 2022 Maximilian Stoiber, licensed under the MIT license.