Compare commits

..

6 commits

26 changed files with 149 additions and 229 deletions

View file

View file

@ -56,6 +56,8 @@
programs.zsh.enable = true;
# Browser
programs.firefox.enable = true;
# Direnv
programs.direnv.enable = true;
# Flatpak
# services.flatpak.enable = true;
# Tailscale

View file

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Before After
Before After

View file

@ -137,7 +137,7 @@
# Neovim
".config/nvim/init.lua" .source = dotfiles/nvim/init.lua;
# Emacs
".emacs.d/init.el" .source = dotfiles/.emacs.d/init.el;
".emacs.d/init.el" .source = dotfiles/emacs.d/init.el;
# MPV
".config/mpv/mpv.conf" .source = dotfiles/mpv/mpv.conf;
# Neofetch

146
modules/kanata/conf.kbd Normal file
View file

@ -0,0 +1,146 @@
(defcfg
process-unmapped-keys yes
block-unmapped-keys yes
concurrent-tap-hold yes
movemouse-smooth-diagonals yes
)
(defsrc
caps
q w e r t y u i o p
a s d f g h j k l scln
z x c v b n m , . /
lalt spc ralt
)
(defvar
tap-time 200
hold-time 250
chord-time 50
)
(defalias
normie (layer-switch norm)
chw (chord ch w)
che (chord ch e)
chi (chord ch i)
cho (chord ch o)
chs (chord ch s)
chd (chord ch d)
chf (chord ch f)
chj (chord ch j)
chk (chord ch k)
chl (chord ch l)
ch_lalt (chord ch lalt)
ch_ralt (chord ch ralt)
hyper (multi lmet lsft lctl lalt)
meh (multi lsft lctl lalt)
navlayer (layer-while-held nav)
caps (tap-hold $tap-time $hold-time (tap-dance 200 ((multi @hyper d) @hyper caps)) @navlayer)
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 lctl)
f (tap-hold $tap-time $hold-time f lsft)
j (tap-hold $tap-time $hold-time j rsft)
k (tap-hold $tap-time $hold-time k lctl)
l (tap-hold $tap-time $hold-time l lalt)
scln (tap-hold $tap-time $hold-time scln rmet)
numpad (layer-while-held num)
g (tap-hold $tap-time $hold-time g @numpad)
fnkeys (layer-while-held fn)
h (tap-hold $tap-time $hold-time h @fnkeys)
v (tap-hold $tap-time $hold-time v @meh)
m (tap-hold $tap-time $hold-time m (multi lsft lctl lalt))
symbols (layer-while-held symbol)
spc (tap-hold $tap-time $hold-time spc @symbols)
medialy (layer-while-held md)
z (tap-hold $tap-time $hold-time z @medialy)
/ (tap-hold $tap-time $hold-time / @medialy)
)
(defchords ch $chord-time
(w ) w
( e) e
(w e) XX
(i ) i
( o) o
(i o) XX
(s ) @s
( d) @d
(s d) ret
(f ) @f
(f d) tab
(j ) @j
(j k) esc
(k ) @k
( l) @l
(k l) bspc
(lalt ) (tap-dance $tap-time ((multi lsft lctl lalt lmet) lalt))
( ralt) (tap-dance $tap-time ((multi lsft lctl lalt lmet) lalt))
(lalt ralt) (tap-hold $tap-time $hold-time @normie (layer-switch base))
)
(deflayer base
@caps
q @chw @che r t y u @chi @cho p
@a @chs @chd @chf @g @h @chj @chk @chl @scln
@z x c @v b n @m , . @/
@ch_lalt @spc @ch_ralt
)
(deflayer nav
_
mbck (movemouse-up 3 2) mfwd _ _ _ mlft mrgt (mwheel-up 50 120) (mwheel-down 50 120)
(movemouse-left 3 2) (movemouse-down 3 2) (movemouse-right 3 2) _ home left down up right end
_ _ _ _ _ _ _ _ _ _
_ _ _
)
(deflayer num
_
_ _ _ _ _ _ 7 8 9 _
_ _ _ _ _ _ 4 5 6 0 _
_ _ _ _ _ 1 2 3 _
_ _ _
)
(deflayer fn
_
f1 f2 f3 f4 _ _ _ _ _ _
f5 f6 f7 f8 _ _ _ _ _ _ _
f9 f10 f11 f12 _ _ _ _ _
_ _ _
)
(deflayer symbol
_
S-1 S-2 S-3 S-4 S-5 S-6 S-7 S-8 S-9 S-0
S-\ = - S-= S-- ` S-` S-scln ' S-'
_ \ S-[ S-] S-, S-. [ ] _ _
_ _ _
)
(deflayer norm
esc
q w e r t y u i o p
a s d f g h j k l scln
z x c v b n m , . /
@ch_lalt spc @ch_ralt
)
(deflayer md
_
_ _ _ _ _ _ _ _ _ _
prev pp next mute _ _ vold volu brdn brup
_ _ _ _ _ _ _ _ _ _
_ _ _
)

View file

@ -1,18 +0,0 @@
{ config, pkgs, lib, inputs, ... }:
{
imports =
[
./hardware-configuration.nix
../../modules/kanata/kanata.nix
../../modules/laptop.nix
../../modules/efi.nix
../../modules/hypr.nix
../../modules/syncthing.nix
];
networking.hostName = "cantor";
# Overriding this, as the touchpad doesn't work properly anymore.
services.libinput.enable = lib.mkForce false;
system.stateVersion = "25.05";
}

View file

@ -1,46 +0,0 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/b6a3dc2d-983b-4be5-a1ae-e834b786377f";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/12CE-A600";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
fileSystems."/data/hdd" =
{ device = "/dev/disk/by-uuid/8db7c071-8946-4619-96fd-83259ae8d228";
fsType = "xfs";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/222e2b22-388c-490a-845f-35f774c395a8"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp4s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp5s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -1,164 +0,0 @@
#|
Kanata Config
○ Ergonomic (kinda?) 34-key QWERTY layout
○ GACS home-row mods
○ Layers for function, number, media, and symbol keys
○ Dedicated (and non-intrusive!) standard layout toggle for reliant tasks
○ Decently commented for beginners and seasoned veterans alike.
FEEL FREE TO FORK!!!
|#
(defcfg
concurrent-tap-hold yes
movemouse-smooth-diagonals yes
)
#|
Trying to be minimal in order to reduce constant editing
of layer keys, not to mention how ugly having a 60% layout
is when you have mapped keys in the grid.
|#
(defsrc
caps
q w e r t y u i o p
a s d f g h j k l scln
z x c v b n m , . /
lalt spc ralt
)
;; Variables for clean code
(defvar
tap-time 200
hold-time 250
chord-time 50
)
;; Bindings
(defalias
;; Normal keyboard layer for gaming/other normie usage
normie (layer-switch norm)
;; Key chord definitions
chw (chord ch w)
che (chord ch e)
chi (chord ch i)
cho (chord ch o)
chs (chord ch s)
chd (chord ch d)
chk (chord ch k)
chl (chord ch l)
ch_lalt (chord ch lalt)
ch_ralt (chord ch ralt)
;; Remap Caps to Escape/Nav layer
navlayer (layer-while-held nav)
caps (tap-hold $tap-time $hold-time (tap-dance 200 (esc caps)) @navlayer)
;; Home row mods
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 lctl)
f (tap-hold $tap-time $hold-time f lsft)
j (tap-hold $tap-time $hold-time j rsft)
k (tap-hold $tap-time $hold-time k lctl)
l (tap-hold $tap-time $hold-time l lalt)
scln (tap-hold $tap-time $hold-time scln rmet)
;; Numpad layer
numpad (layer-while-held num)
g (tap-hold $tap-time $hold-time g @numpad)
;; Function key layer
fnkeys (layer-while-held fn)
h (tap-hold $tap-time $hold-time h @fnkeys)
#|
Hyper key when V or M are held down to allow for either hand to
use hyper key for AHK/Raycast shortcuts.
|#
v (tap-hold $tap-time $hold-time v (multi lsft lctl lalt))
m (tap-hold $tap-time $hold-time m (multi lsft lctl lalt))
;; Holding Spacebar activates symbol layer
symbols (layer-while-held symbol)
spc (tap-hold $tap-time $hold-time spc @symbols)
;; Media layer when Z or / are held.
medialy (layer-while-held md)
z (tap-hold $tap-time $hold-time z @medialy)
/ (tap-hold $tap-time $hold-time / @medialy)
)
;; Chord definitions. Kind of weird to read as a layperson
;; so I provided sufficient comments for general understanding.
(defchords ch $chord-time
(w ) w ;; W => W
( e) e ;; E => E
(w e) ret ;; W + E => Enter
(i ) i ;; I => I
( o) o ;; O => O
(i o) bspc ;; I + O => Backspace
(s ) @s ;; S => S
( d) @d ;; D => D
(s d) tab ;; S + D => Tab
(k ) @k ;; K => K (See defalias)
( l) @l ;; L => L (See defalias)
(k l) esc ;; K + L => Escape
(lalt ) (tap-dance $tap-time ((multi lsft lctl lalt lmet) lalt)) ;; LAlt => Hyper Key, LAlt × 2 => LAlt
( ralt) (tap-dance $tap-time ((multi lsft lctl lalt lmet) lalt)) ;; RAlt => Hyper Key, RAlt × 2 => RAlt
#|
Put simply, the below line allows for toggling a no-bind
layer for when you may require a standard layout (such as
playing Street Fighter, Counter Strike, etc.) by pressing
both alt keys at the same time. You can toggle back to the
base layer by holding both alts at the same time, as to allow
for normal functionality when holding either key down for a shortcut.
|#
(lalt ralt) (tap-hold $tap-time $hold-time @normie (layer-switch base))
)
;; Base layer with all binds enabled
(deflayer base
@caps
q @chw @che r t y u @chi @cho p
@a @chs @chd @f @g @h @j @chk @chl @scln
@z x c @v b n @m , . @/
@ch_lalt @spc @ch_ralt
)
;; Navigation layer
(deflayer nav
_
mbck (movemouse-up 3 3) mfwd _ _ _ mlft mrgt pgup pgdn
(movemouse-left 3 3) (movemouse-down 3 3) (movemouse-right 3 3) _ home left down up right end
_ _ _ _ _ _ _ _ _ _
_ _ _
)
;; Numpad Layer
(deflayer num
_
_ _ _ _ _ _ 7 8 9 _
_ _ _ _ _ _ 4 5 6 0 _
_ _ _ _ _ 1 2 3 _
_ _ _
)
;; Function key layer
(deflayer fn
_
f1 f2 f3 f4 _ _ _ _ _ _
f5 f6 f7 f8 _ _ _ _ _ _ _
f9 f10 f11 f12 _ _ _ _ _
_ _ _
)
;; Symbol layer
(deflayer symbol
_
S-1 S-2 S-3 S-4 S-5 S-6 S-7 S-8 S-9 S-0
- S-= S-[ S-] [ ] S-` S-scln S-\ \
= _ _ ` _ S-- _ _ ' S-'
_ _ _
)
;; Aformentioned standard layer with combo binds for toggling back
;; to base layer.
(deflayer norm
esc
q w e r t y u i o p
a s d f g h j k l scln
z x c v b n m , . /
@ch_lalt spc @ch_ralt
)
;; Media layer
;; NOTE: On Windows the brdn and brup keys cause Kanata to crash for some reason as of kanata_gui 1.8.1
(deflayer md
_
_ _ _ _ _ _ _ _ _ _
prev pp next mute vold volu brdn brup ins del
_ _ _ _ _ _ _ _ _ _
_ _ _
)