From 901b51531a5cf4656f2d35b463a989c9989c53ac Mon Sep 17 00:00:00 2001 From: Anthony Rodriguez Date: Fri, 1 Nov 2024 22:50:39 +0100 Subject: [PATCH] treewide: add kanata --- README.md | 1 + hosts/vamos/default.nix | 2 +- system/services/default.nix | 7 ++++++- system/services/kanata.nix | 33 +++++++++++++++++++++++++++++++++ 4 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 system/services/kanata.nix diff --git a/README.md b/README.md index c8190bd..e568821 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ Additionally using a lot of other software you can find in the configuration fil | [hosts](hosts/) | Host-specific | | [lib](lib/) | Helper functions | | [modules](modules/) | NixOS modules | +| [pkgs](pkgs/) | Custom packages | | [system](system/) | NixOS configuration | My configuration is structured based on the following principles: diff --git a/hosts/vamos/default.nix b/hosts/vamos/default.nix index e70867f..da0c285 100644 --- a/hosts/vamos/default.nix +++ b/hosts/vamos/default.nix @@ -15,10 +15,10 @@ in { "${mod}/hardware/fprintd.nix" "${mod}/services/power.nix" "${mod}/services/brightness.nix" - "${mod}/services/keyd.nix" "${mod}/services/logind.nix" "${mod}/services/greetd.nix" + "${mod}/services/kanata.nix" "${mod}/programs/niri" "${mod}/services/gnome.nix" diff --git a/system/services/default.nix b/system/services/default.nix index ab2f69d..9c1bc5f 100644 --- a/system/services/default.nix +++ b/system/services/default.nix @@ -3,6 +3,11 @@ pkgs, ... }: { - imports = [./docker.nix ./gnupg.nix ./pipewire.nix ./kmscon.nix]; + imports = [ + ./docker.nix + ./gnupg.nix + ./pipewire.nix + ./kmscon.nix + ]; services.udev.packages = [pkgs.segger-jlink inputs.self.packages.${pkgs.system}.mcuxpresso.ide]; } diff --git a/system/services/kanata.nix b/system/services/kanata.nix new file mode 100644 index 0000000..c8a42d9 --- /dev/null +++ b/system/services/kanata.nix @@ -0,0 +1,33 @@ +_: { + services.kanata = { + enable = true; + keyboards.default = { + extraDefCfg = "process-unmapped-keys yes"; + config = '' + (defsrc + caps a s d f j k l ; + ) + (defvar + tap-time 150 + hold-time 200 + ) + + (defalias + escctrl (tap-hold 100 100 esc lctl) + a (tap-hold $tap-time $hold-time a lmet) + s (tap-hold $tap-time $hold-time s lalt) + d (tap-hold $tap-time $hold-time d lsft) + f (tap-hold $tap-time $hold-time f lctl) + j (tap-hold $tap-time $hold-time j rctl) + k (tap-hold $tap-time $hold-time k rsft) + l (tap-hold $tap-time $hold-time l ralt) + ; (tap-hold $tap-time $hold-time ; rmet) + ) + + (deflayer base + @escctrl @a @s @d @f @j @k @l @; + ) + ''; + }; + }; +}