NixでKarabinerの設定をする
とても簡単mrsekut.icon
Karabinerの設定ファイルを書く
code:gyazo.json
{
"title": "FnでGyazo起動",
"rules": [
{
"description": "FnでGyazo起動",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "fn"
},
"to_if_alone": [
{
"shell_command": "open -a 'Gyazo.app'"
}
]
}
]
}
]
}
これを、nix経由で読み込んで、特定のpathに置けば良い
code:default.nix
{ lib, ... }:
let
target = name: ".config/karabiner/assets/complex_modifications/${name}.json";
in {
home.file.karabinerGyazo = {
target = target "gyazo";
text = builtins.toJSON (lib.importJSON ./gyazo.json);
};
}
home.file.ここのここの部分はコンフリクトしなければ何でも良い
これで、$ home-manager switchすれば、↑のpathにgyazo.jsonのような設定ファイルが置かれる
Complex Modifications→Add ruleで、先程の設定を追加すれば終わり