snix/users/flokli/keyboards/dilemma/default.nix
Vincent Ambo 6046ff9f25 chore(3p/sources): bump channels & overlays (2025-02-09)
Included changes:

* targeted primary NixOS channel back at `nixos-unstable`

* //3p/chicago95: disable new broken symlink check

* //tvix: omit unnecessary lifetime clippy recommends

* //users/sterni/blipqn: wait a bit for data to arrive in test so it
  succeeds under load.

* //fun/paroxysm: force pkg-config flag of pq-sys by adding a bogus
  dependency on it. Otherwise, pq-sys will try to use pg_config
  which does not work correctly in pkgs.libpq at the moment.

* //users/flokli/keyboards/dilemma: disable temporarily

Change-Id: I6d53bd7bca6886f3457e1f41505e97314f4cd191
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13119
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: aspen <root@gws.fyi>
Reviewed-by: sterni <sternenseemann@systemli.org>
2025-02-18 15:07:10 +00:00

49 lines
1.2 KiB
Nix

{ depot, pkgs, ... }:
rec {
qmk_firmware_src = pkgs.fetchFromGitHub {
owner = "qmk";
repo = "qmk_firmware";
rev = "0.26.6";
hash = "sha256-mzkX1YF7MLrBpDhQV/0IlEyjcgaCkq8EaRDoBT97o8I=";
fetchSubmodules = true;
};
firmware = pkgs.stdenv.mkDerivation {
name = "keychron-bastardkb-dilemma-firmware";
src = qmk_firmware_src;
patches = [ ./enable-taps.patch ];
postPatch = ''
patchShebangs util/uf2conv.py
'';
nativeBuildInputs = [
pkgs.python3
pkgs.qmk
];
buildPhase = ''
mkdir -p keyboards/bastardkb/dilemma/3x5_3/keymaps/flokli
cp ${./keymap.c} keyboards/bastardkb/dilemma/3x5_3/keymaps/flokli/keymap.c
cp ${./rules.mk} keyboards/bastardkb/dilemma/3x5_3/keymaps/flokli/rules.mk
make bastardkb/dilemma/3x5_3:flokli
'';
installPhase = ''
mkdir -p $out
cp bastardkb_dilemma_3x5_3_flokli.uf2 $out/
'';
};
flash = pkgs.writeShellScript "flash.sh" ''
QMK_HOME=${qmk_firmware_src} ${pkgs.qmk}/bin/qmk flash ${firmware}/bastardkb_dilemma_3x5_3_flokli.uf2
'';
# TODO(flokli): it appears that qmk and qmk_firmeware have diverged so that the latter misses some deps
meta.ci.skip = true;
# meta.ci.targets = [ "firmware" ];
}