about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2024-11-14T23·31+0200
committerclbot <clbot@tvl.fyi>2024-11-15T00·00+0000
commitc4459708697a85475a8ed4d03afdac565486c720 (patch)
treebff81656b30a620252b3fba94d0abf456dd9afbb
parent7a54360a39f4c5649a48fc6be919085170c4294c (diff)
feat(users/flokli/kb): add chocofi r/8922
`buildSplitKeyboard`, as well as all the patching of `miryoku_zmk` is
independent of the specific keyboard used, so it can be moved one layer
up.

`config-flat` is now provided through a helper function, accepting the
name of the keymap to use when rendering the config.

This all makes the amount of code added for the new keyboard itself
pleasantly small.

Change-Id: I2216aa246502eddaf9bc4f4d126b0639d574ad87
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12787
Reviewed-by: flokli <flokli@flokli.de>
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
-rw-r--r--users/flokli/keyboards/0001-miryoku_behaviors-add-quick-tap-ms-require-prior-idl.patch (renamed from users/flokli/keyboards/corneish_zen/0001-miryoku_behaviors-add-quick-tap-ms-require-prior-idl.patch)0
-rw-r--r--users/flokli/keyboards/0001-miryoku_layer_alternatives.h-expose-alt-gr-on-G-and-.patch (renamed from users/flokli/keyboards/corneish_zen/0001-miryoku_layer_alternatives.h-expose-alt-gr-on-G-and-.patch)0
-rw-r--r--users/flokli/keyboards/chocofi/default.nix25
-rw-r--r--users/flokli/keyboards/corneish_zen/default.nix58
-rw-r--r--users/flokli/keyboards/default.nix53
-rw-r--r--users/flokli/keyboards/west.yml (renamed from users/flokli/keyboards/corneish_zen/west.yml)0
6 files changed, 88 insertions, 48 deletions
diff --git a/users/flokli/keyboards/corneish_zen/0001-miryoku_behaviors-add-quick-tap-ms-require-prior-idl.patch b/users/flokli/keyboards/0001-miryoku_behaviors-add-quick-tap-ms-require-prior-idl.patch
index fc86c0627ddc..fc86c0627ddc 100644
--- a/users/flokli/keyboards/corneish_zen/0001-miryoku_behaviors-add-quick-tap-ms-require-prior-idl.patch
+++ b/users/flokli/keyboards/0001-miryoku_behaviors-add-quick-tap-ms-require-prior-idl.patch
diff --git a/users/flokli/keyboards/corneish_zen/0001-miryoku_layer_alternatives.h-expose-alt-gr-on-G-and-.patch b/users/flokli/keyboards/0001-miryoku_layer_alternatives.h-expose-alt-gr-on-G-and-.patch
index 540ecb162e2d..540ecb162e2d 100644
--- a/users/flokli/keyboards/corneish_zen/0001-miryoku_layer_alternatives.h-expose-alt-gr-on-G-and-.patch
+++ b/users/flokli/keyboards/0001-miryoku_layer_alternatives.h-expose-alt-gr-on-G-and-.patch
diff --git a/users/flokli/keyboards/chocofi/default.nix b/users/flokli/keyboards/chocofi/default.nix
new file mode 100644
index 000000000000..b8343f9592cc
--- /dev/null
+++ b/users/flokli/keyboards/chocofi/default.nix
@@ -0,0 +1,25 @@
+{ pkgs, depot, ... }:
+rec {
+  firmware = depot.users.flokli.keyboards.buildSplitKeyboard {
+    name = "nice_nano_v2";
+    board = "nice_nano_v2";
+    shield = "corne_%PART% nice_view_adapter nice_view";
+    zephyrDepsHash = "sha256-D5CAlrO/E6DPbtUJyh/ec8ACpo1XM1jx2gLS2TpklBQ=";
+    src = depot.users.flokli.keyboards.miryoku_config;
+  };
+
+  config-flat = depot.users.flokli.keyboards.mkFlatConfig "corne";
+
+  flash-left = pkgs.writeShellScript "flash.sh" ''
+    cp ${firmware}/zmk_left.uf2 /run/media/$USER/NICENANO/
+  '';
+
+  flash-right = pkgs.writeShellScript "flash.sh" ''
+    cp ${firmware}/zmk_right.uf2 /run/media/$USER/NICENANO/
+  '';
+
+  meta.ci.targets = [
+    "config-flat"
+    "firmware"
+  ];
+}
diff --git a/users/flokli/keyboards/corneish_zen/default.nix b/users/flokli/keyboards/corneish_zen/default.nix
index f570fc0bc003..5583cc929ee4 100644
--- a/users/flokli/keyboards/corneish_zen/default.nix
+++ b/users/flokli/keyboards/corneish_zen/default.nix
@@ -1,57 +1,14 @@
-{ pkgs, lib, ... }:
-let
-  zmk-nix = pkgs.fetchFromGitHub {
-    owner = "lilyinstarlight";
-    repo = "zmk-nix";
-    rev = "d72e94ab94b2bceb60a29a2a8c2e1d304a4e922e";
-    hash = "sha256-3WXPPBJ2u8rMxejPhUahSiqOBr1BOfTgDa7oQDPtw54=";
-  };
-
-  builders = pkgs.callPackage (import (zmk-nix + "/nix/builders.nix")) { };
-
-  miryoku_zmk = pkgs.fetchFromGitHub {
-    owner = "manna-harbour";
-    repo = "miryoku_zmk";
-    rev = "e6683e9f8b6c199b339208b1b501e88a7308ed48";
-    hash = "sha256-GjTbAoyhr557Tn4JaWsA3Po5KxMsQXrpKc9H+PU3T8A=";
-  };
-
-  miryoku_zmk_patched = pkgs.runCommand "miryoku_zmk_patched" { } ''
-    mkdir -p $out
-    cp -r ${miryoku_zmk}/. $out/
-    cd $out
-    chmod -R +w $out
-    patch -p1 < ${./0001-miryoku_layer_alternatives.h-expose-alt-gr-on-G-and-.patch}
-    patch -p1 < ${./0001-miryoku_behaviors-add-quick-tap-ms-require-prior-idl.patch}
-  '';
-
-in
-
+{ pkgs, depot, ... }:
 rec {
-  config = pkgs.runCommand "config" { } ''
-    mkdir -p $out/config
-    cp -r ${miryoku_zmk_patched}/miryoku $out/
-    cp ${./west.yml} $out/config/west.yml
-    cp ${miryoku_zmk_patched}/config/corneish_zen.keymap $out/config/
-  '';
-
-  # helpful for debugging the resulting keymap
-  config-flat = pkgs.runCommand "config-flat"
-    {
-      nativeBuildInputs = [ pkgs.python3.pkgs.pcpp ];
-    } ''
-    mkdir -p $out/config
-    cp ${./west.yml} $out/config/west.yml
-    pcpp --passthru-unfound-includes -o $out/config/corneish_zen.keymap ${miryoku_zmk_patched}/config/corneish_zen.keymap
-  '';
-
-  firmware = builders.buildSplitKeyboard {
+  firmware = depot.users.flokli.keyboards.buildSplitKeyboard {
     name = "corneish_zen_v1";
     board = "corneish_zen_v1_%PART%";
     zephyrDepsHash = "sha256-D5CAlrO/E6DPbtUJyh/ec8ACpo1XM1jx2gLS2TpklBQ=";
-    src = config;
+    src = depot.users.flokli.keyboards.miryoku_config;
   };
 
+  config-flat = depot.users.flokli.keyboards.mkFlatConfig "corneish_zen";
+
   flash-left = pkgs.writeShellScript "flash.sh" ''
     cp ${firmware}/zmk_left.uf2 /run/media/$USER/CORNEISHZEN/
   '';
@@ -59,4 +16,9 @@ rec {
   flash-right = pkgs.writeShellScript "flash.sh" ''
     cp ${firmware}/zmk_right.uf2 /run/media/$USER/CORNEISHZEN/
   '';
+
+  meta.ci.targets = [
+    "config-flat"
+    "firmware"
+  ];
 }
diff --git a/users/flokli/keyboards/default.nix b/users/flokli/keyboards/default.nix
new file mode 100644
index 000000000000..d843d541df53
--- /dev/null
+++ b/users/flokli/keyboards/default.nix
@@ -0,0 +1,53 @@
+{ pkgs, ... }:
+
+
+let
+  zmk-nix = pkgs.fetchFromGitHub {
+    owner = "lilyinstarlight";
+    repo = "zmk-nix";
+    rev = "d72e94ab94b2bceb60a29a2a8c2e1d304a4e922e";
+    hash = "sha256-3WXPPBJ2u8rMxejPhUahSiqOBr1BOfTgDa7oQDPtw54=";
+  };
+
+  zmk_builders = pkgs.callPackage (import (zmk-nix + "/nix/builders.nix")) { };
+
+  miryoku_zmk = pkgs.fetchFromGitHub {
+    owner = "manna-harbour";
+    repo = "miryoku_zmk";
+    rev = "e6683e9f8b6c199b339208b1b501e88a7308ed48";
+    hash = "sha256-GjTbAoyhr557Tn4JaWsA3Po5KxMsQXrpKc9H+PU3T8A=";
+  };
+
+  miryoku_zmk_patched = pkgs.runCommand "miryoku_zmk_patched" { } ''
+    mkdir -p $out
+    cp -r ${miryoku_zmk}/. $out/
+    cd $out
+    chmod -R +w $out
+    patch -p1 < ${./0001-miryoku_layer_alternatives.h-expose-alt-gr-on-G-and-.patch}
+    patch -p1 < ${./0001-miryoku_behaviors-add-quick-tap-ms-require-prior-idl.patch}
+  '';
+
+  miryoku_config = pkgs.runCommand "config" { } ''
+    mkdir -p $out/config
+    cp -r ${miryoku_zmk_patched}/miryoku $out/
+    cp ${./west.yml} $out/config/west.yml
+    cp ${miryoku_zmk_patched}/config/*.keymap $out/config/
+  '';
+
+  # helpful for debugging a resulting keymap config
+  mkFlatConfig = name: pkgs.runCommand "config-flat"
+    {
+      nativeBuildInputs = [ pkgs.python3.pkgs.pcpp ];
+    } ''
+    mkdir -p $out/config
+    cp ${./west.yml} $out/config/west.yml
+    pcpp --passthru-unfound-includes -o $out/config/${name}.keymap ${miryoku_zmk_patched}/config/${name}.keymap
+  '';
+
+in
+
+{
+  miryoku_zmk = miryoku_zmk_patched;
+  inherit (zmk_builders) buildSplitKeyboard;
+  inherit miryoku_config mkFlatConfig;
+}
diff --git a/users/flokli/keyboards/corneish_zen/west.yml b/users/flokli/keyboards/west.yml
index b48d4a66e986..b48d4a66e986 100644
--- a/users/flokli/keyboards/corneish_zen/west.yml
+++ b/users/flokli/keyboards/west.yml