Vial og qmk på NixOS
Seneste git commit: 2025-05-05
Hvis man har været så heldig at have fået et ergo-mech keyboard til jul, og skal konfigurere sit keymap i Vial på NixOS - opdager man hurtigt at opsætningen af de nødvendige udev regler på NixOS, er en lidt anderledes process end hvad det er på “traditionelle” linux-distributioner.
Nix config #
For at bruge Vial til at customize sit keymap på sit nye tastatur, er
man nødt til først på “traditionelle” linux-distributioner at redigere
sine udev
-filer, som Vial også vil henvise til første gang man
opstarter det på en linux-maskine. På NixOS er den nedenstående
konfiguration, alt som det kræver for at få Vial til at virke. Så man kan
komme igang med at bruge Vial som grafisk konfigurations-værktøj til
sit nye tastatur (per NixOS 25.05).
{pkgs, ...}:
{
environment.systemPackages = with pkgs; [
vial
];
# tilføj de nødvendige pakker til udev for at Vial kan tilgå tastaturets firmware
services.udev.packages = with pkgs; [
vial via
];
}
Qmk og compiling af firmware #
For at compile firmware til sit keyboard på nixos, tilføjere man qmk
til sin systemPackages
, men idet at qmk blot er et værktøj for compilation
skal man stadig have sit environment og source code sat op. I tilfældet
af vial:
qmk clone -b vial vial-kb/vial-qmk # clone vial repo'et som qmk_firmware fork
cd qmk_firmware # skift til firmware directory
Hvor efter at man kan compile sin firmware for sit keyboard,
hvis altså det eksistere i keyboards
mappen med følgende command.
qmk compile -kb <keyboard-navn> -km <keymap>
Hvor <keyboard-navn
korrespondere til en file-path i keyboard-mappen,
og hvor <keymap>
ofte vil være vial
, men i tilfælde af mixed repo’s
kan der også være andre muligheder. Yderligere kan man også ved
brug af at sætte “handedness” for split keyboards med eeprom, når
man flasher direkte til micro-controlleren gøre følgende:
qmk flash -kb <keyboard-navn> -km <keymap> -bl uf2-split-left # for at flashe venstre halvdel
qmk flash -kb <keyboard-navn> -km <keymap> -bl uf2-split-right # for at flashe højre halvdel