Qmk: Difference between revisions

From NixOS Wiki
imported>Mic92
Created page with "== QMK == QMK (Quantum Mechanical Keyboard) is an open-source firmware for mechanical keyboards that enables users to customize and program various aspects of their keyboards..."
 
imported>Jmarmstrong1207
Add VIA section
Line 17: Line 17:


After that you can configure keyboard settings using the [https://www.caniusevia.com/ Via] app (if your firmware has enabled support for it).
After that you can configure keyboard settings using the [https://www.caniusevia.com/ Via] app (if your firmware has enabled support for it).
== VIA ==
VIA is a feature in QMK that lets you change your keymap on your keyboard without needing to reflash firmware. Your keyboard must support VIA in order for it to work.
=== Installation ===
Install the VIA package, and add the package to udev. The nixpkg disables the prompt to add the udev due to compatibility issues with NixOS, so it's necessary for the app to detect your keyboard.
<syntaxHighlight lang=nix>
{
  environment.systemPackages = with pkgs; [
    via
  ];
  services.udev.packages = [ pkgs.via ];
}
</syntaxHighlight>


== Flashing custom firmware ==
== Flashing custom firmware ==

Revision as of 12:49, 19 February 2024

QMK

QMK (Quantum Mechanical Keyboard) is an open-source firmware for mechanical keyboards that enables users to customize and program various aspects of their keyboards. It provides a rich set of features for customization, including keymaps, macros, LED backlighting, and layers.

QMK is built on top of the popular AVR and ARM microcontrollers, making it compatible with a wide range of keyboards, including custom and commercial keyboards. It allows users to create fully programmable keyboard layouts, which can then be saved, shared, and reused across different boards or devices.


NixOS configuration

To access the keyboard for configuration as a normal non-root user add the following nixos configuration:

{
  hardware.keyboard.qmk.enable = true
}

After that you can configure keyboard settings using the Via app (if your firmware has enabled support for it).

VIA

VIA is a feature in QMK that lets you change your keymap on your keyboard without needing to reflash firmware. Your keyboard must support VIA in order for it to work.

Installation

Install the VIA package, and add the package to udev. The nixpkg disables the prompt to add the udev due to compatibility issues with NixOS, so it's necessary for the app to detect your keyboard.

{
  environment.systemPackages = with pkgs; [
     via
  ];
  services.udev.packages = [ pkgs.via ];
}

Flashing custom firmware

The qmk commandline application is fully supported in nixpkgs. After doing nix-shell -p qmk you can follow the upstream documentation for building, customizing and flashing your keyboard