A place for my keyboard keymaps and configurations.
I'm using vanilla QMK firmware on a rev1 Corne and rev6 Planck.
- Using External QMK Userspace
qmk_firmwarerepo pinned as a git submodule
Pull qmk_firmware git submodule:
git submodule update --init --recursiveConfigure with qmk cli installed (using dev shell or otherwise):
qmk config user.keymap=willbush \
user.overlay_dir="$(realpath .)" \
user.qmk_home="$(realpath ./qmk_firmware)"Verify:
qmk doctorIgnore qmk doctor warning:
QMK home does not appear to be a Git repository! (no .git folder)
qmk flash -kb crkbd/rev1qmk flash -kb planck/rev6Replace flash with compile to just compile.
The flake.nix is only to supply some utils that I otherwise don't have installed globally on my system. This is very far from being a hermetic setup.
One can use nix develop to get a nix dev shell, but I generally use nix-direnv and direnv allow once.
On NixOS the following sets up udev rules for non-root access to the firmware.
hardware.keyboard.qmk.enable = true;Bump qmk_firmware to the latest upstream master and sync its nested submodules:
git submodule update --remote --depth 1 qmk_firmware
git -C qmk_firmware submodule update --init --recursiveTest recompile both keyboards, then commit the new pin. The submodule has
ignore = all set, so it won't show in git status and staging requires
--force:
git add --force qmk_firmware