init
This commit is contained in:
parent
972aea0b76
commit
c26df3e1a6
10
README.md
10
README.md
|
@ -0,0 +1,10 @@
|
||||||
|
### qmk-config
|
||||||
|
|
||||||
|
qmk configuration for ergodox
|
||||||
|
Uses nix to build and flash the firmware
|
||||||
|
The configurations are generated by qmk online tool
|
||||||
|
|
||||||
|
### flash
|
||||||
|
|
||||||
|
To flash, simply run nix run `.#$KEYBOARD` where `$KEYBOARD` is the desired keyboard
|
||||||
|
Or you can manually use qmk command line if you use nix develop.
|
167
ergodox.json
Normal file
167
ergodox.json
Normal file
|
@ -0,0 +1,167 @@
|
||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"notes": "",
|
||||||
|
"documentation": "\"This file is a QMK Configurator export. You can import this at <https://config.qmk.fm>. It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: <https://docs.qmk.fm/#/newbs>\n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n",
|
||||||
|
"keyboard": "ergodox_ez/base",
|
||||||
|
"keymap": "ergodox_ez_base_layout_ergodox_pretty_2025-09-28",
|
||||||
|
"layout": "LAYOUT_ergodox_pretty",
|
||||||
|
"layers": [
|
||||||
|
[
|
||||||
|
"KC_ESC",
|
||||||
|
"KC_1",
|
||||||
|
"KC_2",
|
||||||
|
"KC_3",
|
||||||
|
"KC_4",
|
||||||
|
"KC_5",
|
||||||
|
"KC_LEFT",
|
||||||
|
"KC_RGHT",
|
||||||
|
"KC_6",
|
||||||
|
"KC_7",
|
||||||
|
"KC_8",
|
||||||
|
"KC_9",
|
||||||
|
"KC_0",
|
||||||
|
"KC_EQL",
|
||||||
|
"KC_GRV",
|
||||||
|
"KC_QUOT",
|
||||||
|
"KC_COMM",
|
||||||
|
"KC_DOT",
|
||||||
|
"KC_P",
|
||||||
|
"KC_Y",
|
||||||
|
"KC_LBRC",
|
||||||
|
"KC_RBRC",
|
||||||
|
"KC_F",
|
||||||
|
"KC_G",
|
||||||
|
"KC_C",
|
||||||
|
"KC_R",
|
||||||
|
"KC_L",
|
||||||
|
"KC_BSLS",
|
||||||
|
"KC_BSPC",
|
||||||
|
"KC_A",
|
||||||
|
"KC_O",
|
||||||
|
"KC_E",
|
||||||
|
"KC_U",
|
||||||
|
"KC_I",
|
||||||
|
"KC_D",
|
||||||
|
"KC_H",
|
||||||
|
"KC_T",
|
||||||
|
"KC_N",
|
||||||
|
"KC_S",
|
||||||
|
"KC_SLSH",
|
||||||
|
"KC_LSFT",
|
||||||
|
"KC_SCLN",
|
||||||
|
"KC_Q",
|
||||||
|
"KC_J",
|
||||||
|
"KC_K",
|
||||||
|
"KC_X",
|
||||||
|
"KC_LPRN",
|
||||||
|
"KC_RPRN",
|
||||||
|
"KC_B",
|
||||||
|
"KC_M",
|
||||||
|
"KC_W",
|
||||||
|
"KC_V",
|
||||||
|
"KC_Z",
|
||||||
|
"KC_MINS",
|
||||||
|
"KC_LCTL",
|
||||||
|
"LALT(KC_LSFT)",
|
||||||
|
"KC_NO",
|
||||||
|
"KC_LEFT",
|
||||||
|
"KC_RGHT",
|
||||||
|
"KC_UP",
|
||||||
|
"KC_DOWN",
|
||||||
|
"KC_NO",
|
||||||
|
"KC_RALT",
|
||||||
|
"KC_RCTL",
|
||||||
|
"LCG(KC_ENT)",
|
||||||
|
"LCTL(KC_B)",
|
||||||
|
"LCTL(KC_W)",
|
||||||
|
"LCTL(KC_P)",
|
||||||
|
"LCTL(KC_O)",
|
||||||
|
"LCTL(KC_E)",
|
||||||
|
"KC_SPC",
|
||||||
|
"KC_ENT",
|
||||||
|
"LT(1,KC_NO)",
|
||||||
|
"LT(1,KC_NO)",
|
||||||
|
"KC_TAB",
|
||||||
|
"KC_LGUI"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"KC_NO",
|
||||||
|
"KC_F1",
|
||||||
|
"KC_F2",
|
||||||
|
"KC_F3",
|
||||||
|
"KC_F4",
|
||||||
|
"KC_F5",
|
||||||
|
"KC_TRNS",
|
||||||
|
"KC_TRNS",
|
||||||
|
"KC_F6",
|
||||||
|
"KC_F7",
|
||||||
|
"KC_F8",
|
||||||
|
"KC_F9",
|
||||||
|
"KC_F10",
|
||||||
|
"KC_F11",
|
||||||
|
"KC_TRNS",
|
||||||
|
"KC_EXLM",
|
||||||
|
"KC_AT",
|
||||||
|
"KC_UP",
|
||||||
|
"KC_DLR",
|
||||||
|
"KC_PERC",
|
||||||
|
"KC_TRNS",
|
||||||
|
"KC_TRNS",
|
||||||
|
"KC_PMNS",
|
||||||
|
"KC_7",
|
||||||
|
"KC_8",
|
||||||
|
"KC_9",
|
||||||
|
"KC_ASTR",
|
||||||
|
"KC_F12",
|
||||||
|
"KC_TRNS",
|
||||||
|
"KC_LPRN",
|
||||||
|
"KC_LEFT",
|
||||||
|
"KC_DOWN",
|
||||||
|
"KC_RGHT",
|
||||||
|
"KC_RPRN",
|
||||||
|
"KC_PPLS",
|
||||||
|
"KC_4",
|
||||||
|
"KC_5",
|
||||||
|
"KC_6",
|
||||||
|
"KC_EQL",
|
||||||
|
"KC_TRNS",
|
||||||
|
"KC_TRNS",
|
||||||
|
"KC_LBRC",
|
||||||
|
"KC_RBRC",
|
||||||
|
"KC_HASH",
|
||||||
|
"KC_LCBR",
|
||||||
|
"KC_RCBR",
|
||||||
|
"KC_TRNS",
|
||||||
|
"KC_TRNS",
|
||||||
|
"KC_0",
|
||||||
|
"KC_1",
|
||||||
|
"KC_2",
|
||||||
|
"KC_3",
|
||||||
|
"KC_BSLS",
|
||||||
|
"KC_TRNS",
|
||||||
|
"EE_CLR",
|
||||||
|
"KC_TRNS",
|
||||||
|
"KC_TRNS",
|
||||||
|
"KC_TRNS",
|
||||||
|
"KC_TRNS",
|
||||||
|
"KC_TRNS",
|
||||||
|
"KC_DOT",
|
||||||
|
"KC_0",
|
||||||
|
"KC_EQL",
|
||||||
|
"KC_TRNS",
|
||||||
|
"UG_NEXT",
|
||||||
|
"KC_TRNS",
|
||||||
|
"UG_TOGG",
|
||||||
|
"ANY(RGB_M_P)",
|
||||||
|
"KC_TRNS",
|
||||||
|
"KC_TRNS",
|
||||||
|
"UG_VALD",
|
||||||
|
"UG_VALU",
|
||||||
|
"KC_TRNS",
|
||||||
|
"KC_TRNS",
|
||||||
|
"UG_HUED",
|
||||||
|
"UG_HUEU"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"author": ""
|
||||||
|
}
|
61
flake.lock
Normal file
61
flake.lock
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731533236,
|
||||||
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1759036355,
|
||||||
|
"narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
36
flake.nix
Normal file
36
flake.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{
|
||||||
|
description = "Configuration and build from my qmk keyboards";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
||||||
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs, flake-utils, ... }:
|
||||||
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
|
let pkgs = import nixpkgs { inherit system; };
|
||||||
|
in with pkgs; {
|
||||||
|
devShells.default = mkShell {
|
||||||
|
QMK_HOME = "./qmk_firmware";
|
||||||
|
nativeBuildInputs = [ qmk ];
|
||||||
|
};
|
||||||
|
|
||||||
|
apps = let
|
||||||
|
flash = kb:
|
||||||
|
pkgs.writeShellApplication {
|
||||||
|
name = "flash";
|
||||||
|
runtimeInputs = with pkgs; [ qmk ];
|
||||||
|
text = ''
|
||||||
|
export QMK_HOME=./qmk_firmware
|
||||||
|
qmk flash -c ./${kb}.json
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
sol3 = {
|
||||||
|
type = "app";
|
||||||
|
program = "${flash "sol3"}/bin/flash";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
Loading…
Reference in a new issue