Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nicinabox/qmk-cli
A thin wrapper around QMK + new features
https://github.com/nicinabox/qmk-cli
Last synced: about 1 month ago
JSON representation
A thin wrapper around QMK + new features
- Host: GitHub
- URL: https://github.com/nicinabox/qmk-cli
- Owner: nicinabox
- License: isc
- Created: 2018-02-27T20:51:10.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-07-19T01:51:11.000Z (over 6 years ago)
- Last Synced: 2024-04-24T03:23:17.207Z (7 months ago)
- Language: Ruby
- Homepage:
- Size: 26.4 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# qmk-cli
A wrapper around QMK's `make` to make common tasks easier. **This is a proof of concept and should be considered unstable.**
## Why use this?
- Flashing is more intuitive (Example: `qmk flash planck`)
- Automatic programmer detection (No more "Does this board use dfu-programmer/avrdude/teensy/other?")
- Supports standalone keymaps## Usage
Usage:
qmk COMMAND [options]Commands:
flash KEYBOARD Flash a keyboard
build KEYBOARD Compile a keyboard
clean [KEYBOARD] Cleans up output folders so things compile from scratch
setup Clone QMK firmware and checkout latest tag
update Update QMK firmware to latest tagOptions:
-k, --keymap KEYMAP Your keymap name (default: `whoami`)
-h, --help Show this help message## Standalone keymaps
- Add a `.qmk` file in your keymaps directory to designate this a standalone keymaps directory.
- Keyboard directories should be at the root with the keymap files inside. Since these are *your* keymaps there's no need to add additional namespacing.View [nicinabox/keymaps](https://github.com/nicinabox/keymaps) for a complete example on how standalone keymaps should be organized.
### .qmk
This file tells qmk-cli that the directory contains keymaps only, with the directory named after the keyboard it supports. This works well for common cases, but there are a number of cases in which you may want to organize differently and supply a configuration.
Here is an example configuration. All fields are optional.
```yaml
# Specify your keymap name. Uses `whoami` by default.
keymap: nic# Map local keyboard directories to qmk keyboard directories if needed.
keyboards:
bananasplit_blocked: bananasplit
clueboard: clueboard/66
nh60: handwired/nh60keymaps:
# Override keymap names that differ from your keymap setting above.
nh60: default
```## Platforms
- [x] macOS
- [x] linux, probably
- [ ] windows## Requirements
- Ruby >= 2
- Git
- [build tools](https://docs.qmk.fm/getting_started_build_tools.html)## License
ISC