about summary refs log tree commit diff
path: root/users/flokli/keyboards
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2024-01-19T22·54+0200
committerclbot <clbot@tvl.fyi>2024-01-19T23·01+0000
commit93dfc65f10592cc57b53e06cb8593484008c371b (patch)
treeeb02593cd8631aaba6e0fa44320f7c0a2c14e791 /users/flokli/keyboards
parent3af72dad390eb26d7c1e84cc79f949dcfa0c4d25 (diff)
feat(users/flokli/keyboards): add dilemma 3x5_3 r/7424
This builds the stock "via" layout, which, in addition to via support,
contains some other usefulness from miryoku.

Change-Id: I967a9bfcc87e108d4c0a2cb37b512d0b39912f7a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10666
Reviewed-by: flokli <flokli@flokli.de>
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Diffstat (limited to 'users/flokli/keyboards')
-rw-r--r--users/flokli/keyboards/dilemma/default.nix39
1 files changed, 39 insertions, 0 deletions
diff --git a/users/flokli/keyboards/dilemma/default.nix b/users/flokli/keyboards/dilemma/default.nix
new file mode 100644
index 000000000000..fc1bb45b3367
--- /dev/null
+++ b/users/flokli/keyboards/dilemma/default.nix
@@ -0,0 +1,39 @@
+{ depot, pkgs, ... }:
+
+rec {
+  firmware = pkgs.stdenv.mkDerivation {
+    name = "keychron-bastardkb-dilemma-firmware";
+
+    src = pkgs.fetchFromGitHub {
+      owner = "Bastardkb"; # the bastadrkb fork of qmk/qmk_firmware
+      repo = "bastardkb-qmk";
+      rev = "78b6376b073c174dee482ae3ebe4fdc572874a09"; # bkb-master
+      hash = "sha256-30TqwEsLNs5Rli+RMQQMOg8AIufIZvhbetbdz9C4k/8=";
+      fetchSubmodules = true;
+    };
+
+    postPatch = ''
+      patchShebangs util/uf2conv.py
+    '';
+
+    nativeBuildInputs = [
+      pkgs.python3
+      pkgs.qmk
+    ];
+
+    buildPhase = ''
+      make bastardkb/dilemma/3x5_3:via
+    '';
+
+    installPhase = ''
+      mkdir -p $out
+      cp bastardkb_dilemma_3x5_3_via.uf2 $out/
+    '';
+  };
+
+  flash = pkgs.writeShellScript "flash.sh" ''
+    ${pkgs.qmk}/bin/qmk flash ${firmware}/bastardkb_dilemma_3x5_3_via.uf2
+  '';
+
+  meta.ci.targets = [ "firmware" ];
+}