Imports
Config created by other tools, or those imported from
shared rules, can be imported into
karabiner.ts
instead of being rewritten.
importJson()
Rules imported from shared rules
are stored in directory ~/.config/karabiner/assets/complex_modifications/
.
They can also be stored within the karabiner.ts
project directory and
imported using __dirname
:
import { homedir } from 'node:os'
import { resolve } from 'node:path'
writeToProfile('Default', [
// ... karabiner.ts rules
// Imported shared rules
importJson(
resolve(
homedir(),
'.config/karabiner/assets/complex_modifications/1703535155.json',
),
),
// Local JSON file
importJson(resolve(__dirname, './my-rules.json')),
])
importProfile()
Rules created using other tools can be imported from a different profile, and new rules
can be added prior to the importProfile()
call.
writeToProfile('karabiner.ts', [
// ... karabiner.ts rules
// Import from another profile
importProfile('ByAnotherTool'),
])