![Banner](/banner.gif)
# lushlayers
`lushlayers` is a configuration generator for [Karabiner-Elements].
It generates JSON files for `~/.config/karabiner/assets/complex_modifications/`.
## Why?
Karabiner-Elements is configured through JSON files that are really verbose,
making them hard to read and edit. To simplify writing configurations, tools
exist that generate the JSON from a more user-friendly format. `lushlayers` is
such a tool. It was inspired by [Goku] and [KMonad], and combines some of their
ideas.
I really like KMonad's configuration syntax. Unfortunately I can't get KMonad
installed on macOS Ventura. To get over the heartbreak I rolled my own tool with
a similar configuration syntax. I haven't documented the config yet, but you'll
probably get the gist from [KMonad's tutorial] and my [examples](examples/).
### Disclaimer
This tool doesn't have nearly as many features as KMonad or Goku. I've only
implemented what I needed for [my own config](examples/) so far. Ideas and
feature requests are welcome.
[Karabiner-Elements]: https://karabiner-elements.pqrs.org
[Goku]: https://github.com/yqrashawn/GokuRakuJoudo
[KMonad]: https://github.com/kmonad/kmonad
[KMonad's tutorial]: https://github.com/kmonad/kmonad/blob/master/keymap/tutorial.kbd
## Installation
```console
$ pip install lushlayers
```
## Usage
```console
$ lushlayers examples/macbook-iso.py
Wrote .../examples/macbook-iso.json
```
Raw data
{
"_id": null,
"home_page": "https://github.com/mdwint/lushlayers",
"name": "lushlayers",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.11,<4.0",
"maintainer_email": "",
"keywords": "keyboard,hotkeys,karabiner-elements",
"author": "Matteo De Wint",
"author_email": "matteo@mailfence.com",
"download_url": "https://files.pythonhosted.org/packages/5e/99/25d7dac8a49093982706bcacc03f6c11adff3bffea8d6cf3334504fa7401/lushlayers-0.4.0.tar.gz",
"platform": null,
"description": "![Banner](/banner.gif)\n\n# lushlayers\n\n`lushlayers` is a configuration generator for [Karabiner-Elements].\n\nIt generates JSON files for `~/.config/karabiner/assets/complex_modifications/`.\n\n\n## Why?\n\nKarabiner-Elements is configured through JSON files that are really verbose,\nmaking them hard to read and edit. To simplify writing configurations, tools\nexist that generate the JSON from a more user-friendly format. `lushlayers` is\nsuch a tool. It was inspired by [Goku] and [KMonad], and combines some of their\nideas.\n\nI really like KMonad's configuration syntax. Unfortunately I can't get KMonad\ninstalled on macOS Ventura. To get over the heartbreak I rolled my own tool with\na similar configuration syntax. I haven't documented the config yet, but you'll\nprobably get the gist from [KMonad's tutorial] and my [examples](examples/).\n\n### Disclaimer\n\nThis tool doesn't have nearly as many features as KMonad or Goku. I've only\nimplemented what I needed for [my own config](examples/) so far. Ideas and\nfeature requests are welcome.\n\n[Karabiner-Elements]: https://karabiner-elements.pqrs.org\n[Goku]: https://github.com/yqrashawn/GokuRakuJoudo\n[KMonad]: https://github.com/kmonad/kmonad\n[KMonad's tutorial]: https://github.com/kmonad/kmonad/blob/master/keymap/tutorial.kbd\n\n\n## Installation\n\n```console\n$ pip install lushlayers\n```\n\n\n## Usage\n\n```console\n$ lushlayers examples/macbook-iso.py\nWrote .../examples/macbook-iso.json\n```\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Turn your keyboard into hot lasagna.",
"version": "0.4.0",
"project_urls": {
"Homepage": "https://github.com/mdwint/lushlayers",
"Repository": "https://github.com/mdwint/lushlayers"
},
"split_keywords": [
"keyboard",
"hotkeys",
"karabiner-elements"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "55e3701cba9e41f240e77467590f1951a931f5575ce332f5146424f47da251da",
"md5": "33d24491ac3341d409414547e8966e31",
"sha256": "7a88c9e8a7005f112ddf90b318ec3d046264376faba8abc41787bf3d8db9aca2"
},
"downloads": -1,
"filename": "lushlayers-0.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "33d24491ac3341d409414547e8966e31",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11,<4.0",
"size": 8365,
"upload_time": "2023-08-27T15:36:24",
"upload_time_iso_8601": "2023-08-27T15:36:24.209086Z",
"url": "https://files.pythonhosted.org/packages/55/e3/701cba9e41f240e77467590f1951a931f5575ce332f5146424f47da251da/lushlayers-0.4.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5e9925d7dac8a49093982706bcacc03f6c11adff3bffea8d6cf3334504fa7401",
"md5": "69f4d1b0e8e864ea7298af2cc75078e4",
"sha256": "8a1cc2e71def5d6a57e0f0867ea0aa16fbeeafb358138aef3cceb3ff38b2435f"
},
"downloads": -1,
"filename": "lushlayers-0.4.0.tar.gz",
"has_sig": false,
"md5_digest": "69f4d1b0e8e864ea7298af2cc75078e4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11,<4.0",
"size": 6679,
"upload_time": "2023-08-27T15:36:25",
"upload_time_iso_8601": "2023-08-27T15:36:25.236431Z",
"url": "https://files.pythonhosted.org/packages/5e/99/25d7dac8a49093982706bcacc03f6c11adff3bffea8d6cf3334504fa7401/lushlayers-0.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-27 15:36:25",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mdwint",
"github_project": "lushlayers",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "lushlayers"
}