Qmk: Difference between revisions

From NixOS Wiki
imported>Lucas-Haux
m Advising users that after updating udev rules, a system restart is required for the changes to take effect
Klinger (talk | contribs)
m link. category hardware
 
Line 1: Line 1:
== QMK ==
== 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.
[https://qmk.fm/ 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.
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.
Line 39: Line 39:
The qmk commandline application is fully supported in nixpkgs.
The qmk commandline application is fully supported in nixpkgs.
After doing <code>nix-shell -p qmk</code> you can follow the [https://docs.qmk.fm/#/newbs_building_firmware upstream documentation] for building, customizing and flashing your keyboard
After doing <code>nix-shell -p qmk</code> you can follow the [https://docs.qmk.fm/#/newbs_building_firmware upstream documentation] for building, customizing and flashing your keyboard
[[Category:Hardware]]

Latest revision as of 21:32, 18 June 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 ];
}

After updating udev rules a system restart is required for the changes to take effect.

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