diff --git a/flake.lock b/flake.lock index c7550b8b..f6d55f54 100644 --- a/flake.lock +++ b/flake.lock @@ -23,11 +23,11 @@ ] }, "locked": { - "lastModified": 1743998459, - "narHash": "sha256-/GCbTBG+oVzj4WlAXIXOdrN2IZaWqtbrZ3hGzIIf4eo=", + "lastModified": 1746967469, + "narHash": "sha256-FRpU/uwwqS9v/ehoZ2FPvm7TNVS4/kDnXVWEvBKBuAc=", "owner": "sofusa", "repo": "csharp-language-server", - "rev": "9f92214e73e01707bdf91f33c696368ecd739dab", + "rev": "dd210e8300ef03ce70dcbee5e7c441cee6e71795", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1743577054, - "narHash": "sha256-6dgyOlYg5eKSYfdOgbX3xqZhCfPlUir9UrkgIQa6KpA=", + "lastModified": 1746686948, + "narHash": "sha256-w61Wo6vlkPXEiuqd19AIwvlVA77siY1oVXfK3o+buOU=", "owner": "sofusa", "repo": "helix-pull-diagnostics", - "rev": "f32f5fddbac6767a5ad29207ea727fa4c716103f", + "rev": "b99c77b7898ebc0b2b6d40e728abb513e6a9fa6a", "type": "github" }, "original": { @@ -193,11 +193,11 @@ ] }, "locked": { - "lastModified": 1745494811, - "narHash": "sha256-YZCh2o9Ua1n9uCvrvi5pRxtuVNml8X2a03qIFfRKpFs=", + "lastModified": 1746981801, + "narHash": "sha256-+Bfr0KqZV6gZdA7e2kupeoawozaLIHLuiPtC54uxbFc=", "owner": "nix-community", "repo": "home-manager", - "rev": "abfad3d2958c9e6300a883bd443512c55dfeb1be", + "rev": "ff915842e4a2e63c4c8c5c08c6870b9d5b3c3ee9", "type": "github" }, "original": { @@ -279,15 +279,15 @@ "lix": { "flake": false, "locked": { - "lastModified": 1737234286, - "narHash": "sha256-pgDJZjj4jpzkFxsqBTI/9Yb0n3gW+DvDtuv9SwQZZcs=", - "rev": "079528098f5998ba13c88821a2eca1005c1695de", + "lastModified": 1746827285, + "narHash": "sha256-hsFe4Tsqqg4l+FfQWphDtjC79WzNCZbEFhHI8j2KJzw=", + "rev": "47aad376c87e2e65967f17099277428e4b3f8e5a", "type": "tarball", - "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/079528098f5998ba13c88821a2eca1005c1695de.tar.gz?rev=079528098f5998ba13c88821a2eca1005c1695de" + "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/47aad376c87e2e65967f17099277428e4b3f8e5a.tar.gz?rev=47aad376c87e2e65967f17099277428e4b3f8e5a" }, "original": { "type": "tarball", - "url": "https://git.lix.systems/lix-project/lix/archive/release-2.92.tar.gz" + "url": "https://git.lix.systems/lix-project/lix/archive/2.93.0.tar.gz" } }, "lix-module": { @@ -300,15 +300,15 @@ ] }, "locked": { - "lastModified": 1742943028, - "narHash": "sha256-fprwZKE1uMzO9tiWWOrmLWBW3GPkMayQfb0xOvVFIno=", - "rev": "868d97695bab9d21f6070b03957bcace249fbe3c", + "lastModified": 1746838955, + "narHash": "sha256-11R4K3iAx4tLXjUs+hQ5K90JwDABD/XHhsM9nkeS5N8=", + "rev": "cd2a9c028df820a83ca2807dc6c6e7abc3dfa7fc", "type": "tarball", - "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/868d97695bab9d21f6070b03957bcace249fbe3c.tar.gz?rev=868d97695bab9d21f6070b03957bcace249fbe3c" + "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/cd2a9c028df820a83ca2807dc6c6e7abc3dfa7fc.tar.gz?rev=cd2a9c028df820a83ca2807dc6c6e7abc3dfa7fc" }, "original": { "type": "tarball", - "url": "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0-3.tar.gz" + "url": "https://git.lix.systems/lix-project/nixos-module/archive/2.93.0.tar.gz" } }, "mobile-nixos": { @@ -345,11 +345,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1744366945, - "narHash": "sha256-OuLhysErPHl53BBifhesrRumJNhrlSgQDfYOTXfgIMg=", + "lastModified": 1746814339, + "narHash": "sha256-hf2lICJzwACWuzHCmZn5NI6LUAOgGdR1yh8ip+duyhk=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "1fe3cc2bc5d2dc9c81cb4e63d2f67c1543340df1", + "rev": "3c5e12673265dfb0de3d9121420c0c2153bf21e0", "type": "github" }, "original": { @@ -361,11 +361,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1745391562, - "narHash": "sha256-sPwcCYuiEopaafePqlG826tBhctuJsLx/mhKKM5Fmjo=", + "lastModified": 1746904237, + "narHash": "sha256-3e+AVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8a2f738d9d1f1d986b5a4cd2fd2061a7127237d7", + "rev": "d89fc19e405cb2d55ce7cc114356846a0ee5e956", "type": "github" }, "original": { @@ -377,11 +377,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1744378394, - "narHash": "sha256-pefnMwJsrpyJcJ27g++y7xQBFPm/QKnY6NiCaOsvDH4=", + "lastModified": 1747003416, + "narHash": "sha256-AT1E41SQNY19vQ9L+RDSGkall2fEjLptBc6DSLJ0U5E=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2ae2efad112e0a57dbe6b27ef00291e3b38e5cca", + "rev": "5d35e620053b041a4e04f09b21adf058408994c9", "type": "github" }, "original": { @@ -441,11 +441,11 @@ ] }, "locked": { - "lastModified": 1743361017, - "narHash": "sha256-RELV9YxfhwjuN4edtVmpupVvHUiWu/KuF4mqzU+neYE=", + "lastModified": 1746457417, + "narHash": "sha256-Eno9poUcLhWfMvs4H9Eb8JnXT5LFVhQ6G3UiEb0iKoA=", "owner": "SEIAROTg", "repo": "quadlet-nix", - "rev": "971479231c7dd2433954dd26c240e1bdc5bd9849", + "rev": "11315f2c85e7ef9022115ce73386852e60de2c11", "type": "github" }, "original": { @@ -566,11 +566,11 @@ ] }, "locked": { - "lastModified": 1744345419, - "narHash": "sha256-wLozT8CpHvu04t0LKxJ9fzKAZ8AULpC7XfgIOLgtUbM=", + "lastModified": 1746998207, + "narHash": "sha256-q+3L52wIBNoUPPWGw55O2+WstZCgBVRGdKpYRxt60Rw=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "ec5c1df02b5d7806dcfa89191e671ebdf00ee6b5", + "rev": "37077d385abbf4358621948df86b37f618c5b338", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 9794eb66..aedb09e4 100644 --- a/flake.nix +++ b/flake.nix @@ -21,7 +21,7 @@ inputs.nixpkgs.follows = "nixpkgs"; }; lix-module = { - url = "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0-3.tar.gz"; + url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.0.tar.gz"; inputs.nixpkgs.follows = "nixpkgs"; }; zen-browser.url = "github:0xc000022070/zen-browser-flake"; diff --git a/instances/minos/configuration.nix b/instances/minos/configuration.nix index 31685c6b..b1ed71b4 100644 --- a/instances/minos/configuration.nix +++ b/instances/minos/configuration.nix @@ -7,7 +7,7 @@ }: { imports = [ - (import { device = "lenovo-krane"; }) + (import "${inputs.mobile-nixos}/lib/configuration.nix" { device = "lenovo-krane"; }) ./hardware-configuration.nix # ]; @@ -42,7 +42,7 @@ security.rtkit.enable = true; services.tailscale.enable = true; - services.tailscale.useRoutingFeatures = "client"; + # services.tailscale.useRoutingFeatures = "client"; xyno.hardware.kmonad.enable = true; xyno.presets.cli.enable = true; xyno.presets.gui.enable = true; diff --git a/modules/hardware/kmonad.nix b/modules/hardware/kmonad.nix index c4489472..5f194943 100644 --- a/modules/hardware/kmonad.nix +++ b/modules/hardware/kmonad.nix @@ -13,6 +13,10 @@ in services.kmonad = { enable = true; keyboards = { + krane = { + device = "/dev/input/by-id/usb-Google_Inc._Hammer_440041001157415636313920-event-kbd"; + config = builtins.readFile ./kmonad/krane.kbd; + }; builtin = { device = "/dev/input/by-path/platform-i8042-serio-0-event-kbd"; config = builtins.readFile ./kmonad/builtin.kbd; diff --git a/modules/hardware/kmonad/krane.kbd b/modules/hardware/kmonad/krane.kbd new file mode 100644 index 00000000..ea3f1613 --- /dev/null +++ b/modules/hardware/kmonad/krane.kbd @@ -0,0 +1,89 @@ +(defcfg + ;; ** For Linux ** + input (device-file "/dev/input/by-id/usb-Google_Inc._Hammer_440041001157415636313920-event-kbd") + ;; input (device-file "/dev/input/by-path/platform-i8042-serio-0-event-kbd") + output (uinput-sink "KMonad output") + + ;; ** For Windows ** + ;; input (low-level-hook) + ;; output (send-event-sink) + + ;; ** For MacOS ** + ;; input (iokit-name "my-keyboard-product-string") + ;; output (kext) + + fallthrough true +) + +(defsrc + esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 + grv 1 2 3 4 5 6 7 8 9 0 - = bspc + tab q w e r t y u i o p [ ] + caps a s d f g h j k l ; ' \ ret + lsft 102d z x c v b n m , . / rsft + lctl lmet lalt spc ralt rmet cmp rctl +) + +(defalias + ext (layer-toggle extend) ;; Bind 'ext' to the Extend Layer +) + +(defalias + cpy C-c + pst C-v + cut C-x + udo C-z + all C-a + fnd C-f + bk Back + fw Forward +) +(defalias + num (layer-toggle num) +) + +(deflayer colemak-dh + esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 + grv 1 2 3 4 5 6 7 8 9 0 - = bspc + tab q w f p b j l u y ; [ ] + esc (tap-hold-next-release 200 a lctrl) (tap-hold-next-release 200 r ralt) (tap-hold-next-release 200 s lmet) t g m n (tap-hold-next-release 200 e rmet) (tap-hold-next-release 200 i lalt) (tap-hold-next-release 200 o rctrl) ' \\ ret + lsft z x c d v 102d k h , . / rsft + lctl lmet lalt spc ralt rmet _ _ +) +(deflayer num + esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 + grv 1 2 3 4 5 6 7 8 9 0 - = bspc + tab q w f p b j l u y ; [ ] + esc 1 2 3 4 5 6 7 8 9 0 ' \\ ret + lsft z x c d v 102d k h , . / rsft + lctl lmet lalt spc ralt rmet _ _ +) + +(deflayer colemak-dhk + esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 + grv 1 2 3 4 5 6 7 8 9 0 - = bspc + tab q w f p b j l u y ; [ ] + @ext a r s t g k n e i o ' \\ ret + lsft z x c d v 102d m h , . / rsft + lctl lmet lalt spc ralt rmet _ _ +) + +(deflayer extend + _ play rewind previoussong nextsong ejectcd refresh brdn brup www mail prog1 prog2 + _ f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 _ + _ esc @bk @fnd @fw ins pgup home up end menu prnt slck + _ lalt lmet lsft lctl ralt pgdn lft down rght del caps _ _ + _ @udo @cut @cpy tab @pst _ pgdn bks lsft lctl comp _ + _ _ _ ret _ _ _ _ +) + + +(deflayer empty + _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ _ _ _ _ _ + _ _ _ _ _ _ _ _ +) +