Compare commits

...

10 commits

6 changed files with 63 additions and 134 deletions

View file

@ -1,7 +1,7 @@
font-family = Monocraft Nerd Font font-family = Monocraft Nerd Font
background-opacity = 0.8 background-opacity = 0.8
background-blur = 10 background-blur = 10
theme = IC Orange PPL theme = Sakura
mouse-hide-while-typing = true mouse-hide-while-typing = true
@ -20,12 +20,12 @@ keybind = cmd+f=toggle_split_zoom
keybind = cmd+a>l=next_tab keybind = cmd+a>l=next_tab
keybind = cmd+a>h=previous_tab keybind = cmd+a>h=previous_tab
keybind = super+r=reload_config keybind = cmd+r=reload_config
quick-terminal-position = center quick-terminal-position = center
quick-terminal-screen = main quick-terminal-screen = main
quick-terminal-animation-duration = 0.2 quick-terminal-animation-duration = 0.2
quick-terminal-autohide = true quick-terminal-autohide = true
keybind = super+shift+q=toggle_quick_terminal keybind = cmd+shift+q=toggle_quick_terminal
window-save-state = always window-save-state = always

View file

@ -1,16 +1,16 @@
#|
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 (defcfg
process-unmapped-keys yes
block-unmapped-keys yes
concurrent-tap-hold yes concurrent-tap-hold yes
movemouse-smooth-diagonals yes movemouse-smooth-diagonals yes
macos-dev-names-include (
"0xD4359520DA829EC8" ;; Macbook keyboard
"0x2E7E3EBD4C615B55" ;; Karabiner Driver
"0x379FD7D8D8AE4ACA" ;; Logitech Wave Keys (Bluetooth)
"0x4C044B7D74E4DBB4" ;; Gamestop keeb
"0xC7C83E024FB08653" ;; Razer Hunstman V2 TKL
)
) )
#| #|
Trying to be minimal in order to reduce constant editing Trying to be minimal in order to reduce constant editing
@ -41,14 +41,16 @@
cho (chord ch o) cho (chord ch o)
chs (chord ch s) chs (chord ch s)
chd (chord ch d) chd (chord ch d)
chf (chord ch f)
chj (chord ch j)
chk (chord ch k) chk (chord ch k)
chl (chord ch l) chl (chord ch l)
ch_lmet (chord ch lmet) ch_lmet (chord ch lmet)
ch_rmet (chord ch rmet) ch_rmet (chord ch rmet)
;; Remap Caps to Escape/Nav layer
navlayer (layer-while-held nav) navlayer (layer-while-held nav)
caps (tap-hold $tap-time $hold-time (tap-dance 200 (esc caps)) @navlayer) hyper (multi lsft lctl lalt lmet)
;; Home row mods meh (multi lsft lctl lalt)
caps (tap-hold $tap-time $hold-time (tap-dance 200 ((multi lctl spc) @meh caps)) @navlayer)
a (tap-hold $tap-time $hold-time a lctl) a (tap-hold $tap-time $hold-time a lctl)
s (tap-hold $tap-time $hold-time s lalt) s (tap-hold $tap-time $hold-time s lalt)
d (tap-hold $tap-time $hold-time d lmet) d (tap-hold $tap-time $hold-time d lmet)
@ -57,22 +59,14 @@
k (tap-hold $tap-time $hold-time k lmet) k (tap-hold $tap-time $hold-time k lmet)
l (tap-hold $tap-time $hold-time l lalt) l (tap-hold $tap-time $hold-time l lalt)
scln (tap-hold $tap-time $hold-time scln rctl) scln (tap-hold $tap-time $hold-time scln rctl)
;; Numpad layer numpad (layer-while-held num)
numpad (layer-while-held num)
g (tap-hold $tap-time $hold-time g @numpad) g (tap-hold $tap-time $hold-time g @numpad)
;; Function key layer
fnkeys (layer-while-held fn) fnkeys (layer-while-held fn)
h (tap-hold $tap-time $hold-time h @fnkeys) h (tap-hold $tap-time $hold-time h @fnkeys)
#| v (tap-hold $tap-time $hold-time v @meh)
Hyper key when V or M are held down to allow for either hand to m (tap-hold $tap-time $hold-time m @meh)
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) symbols (layer-while-held symbol)
spc (tap-hold $tap-time $hold-time spc @symbols) spc (tap-hold $tap-time $hold-time spc @symbols)
;; Media layer when Z or / are held.
medialy (layer-while-held md) medialy (layer-while-held md)
z (tap-hold $tap-time $hold-time z @medialy) z (tap-hold $tap-time $hold-time z @medialy)
/ (tap-hold $tap-time $hold-time / @medialy) / (tap-hold $tap-time $hold-time / @medialy)
@ -80,47 +74,43 @@
;; Chord definitions. Kind of weird to read as a layperson ;; Chord definitions. Kind of weird to read as a layperson
;; so I provided sufficient comments for general understanding. ;; so I provided sufficient comments for general understanding.
(defchords ch $chord-time (defchords ch $chord-time
(w ) w ;; W => W (w ) w
( e) e ;; E => E ( e) e
(w e) ret ;; W + E => Enter (w e) XX
(i ) i ;; I => I (i ) i
( o) o ;; O => O ( o) o
(i o) bspc ;; I + O => Backspace (i o) XX
(s ) @s ;; S => S (s ) @s
( d) @d ;; D => D ( d) @d
(s d) tab ;; S + D => Tab (s d) ret
(k ) @k ;; K => K (See defalias) (f ) @f
( l) @l ;; L => L (See defalias) (f d) tab
(k l) esc ;; K + L => Escape (j ) @j
(lmet ) (tap-dance $tap-time ((multi lsft lctl lalt lmet) lmet)) ;; LCmd => Hyper Key, LCmd × 2 => LCmd (j k) esc
( rmet) (tap-dance $tap-time ((multi lsft lctl lalt lmet) lmet)) ;; RCmd => Hyper Key, RAlt × 2 => RCmd (k ) @k
#| ( l) @l
Put simply, the below line allows for toggling a no-bind (k l) bspc
layer for when you may require a standard layout (such as (lmet ) (tap-dance $tap-time ((multi lsft lctl lalt lmet) lmet))
playing Street Fighter, Counter Strike, etc.) by pressing ( rmet) (tap-dance $tap-time ((multi lsft lctl lalt lmet) lmet))
both Meta keys at the same time. You can toggle back to the
base layer by holding both Meta keys at the same time, as to allow
for normal functionality when holding either key down for a shortcut.
|#
(lmet rmet) (tap-hold $tap-time $hold-time @normie (layer-switch base)) (lmet rmet) (tap-hold $tap-time $hold-time @normie (layer-switch base))
) )
;; Base layer with all binds enabled
(deflayer base (deflayer base
@caps @caps
q @chw @che r t y u @chi @cho p q @chw @che r t y u @chi @cho p
@a @chs @chd @f @g @h @j @chk @chl @scln @a @chs @chd @chf @g @h @chj @chk @chl @scln
@z x c @v b n @m , . @/ @z x c @v b n @m , . @/
@ch_lmet @spc @ch_rmet @ch_lmet @spc @ch_rmet
) )
;; Navigation layer
(deflayer nav (deflayer nav
_ _
_ (movemouse-up 3 3) _ _ _ _ mlft mrgt pgup pgdn mbck (movemouse-up 3 2) mfwd _ _ _ mlft mrgt (mwheel-up 50 120) (mwheel-down 50 120)
(movemouse-left 3 3) (movemouse-down 3 3) (movemouse-right 3 3) _ home left down up right end (movemouse-left 3 2) (movemouse-down 3 2) (movemouse-right 3 2) _ home left down up right end
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _
) )
;; Numpad Layer
(deflayer num (deflayer num
_ _
_ _ _ _ _ _ 7 8 9 _ _ _ _ _ _ _ 7 8 9 _
@ -128,7 +118,7 @@
_ _ _ _ _ 1 2 3 _ _ _ _ _ _ 1 2 3 _
_ _ _ _ _ _
) )
;; Function key layer
(deflayer fn (deflayer fn
_ _
f1 f2 f3 f4 _ _ _ _ _ _ f1 f2 f3 f4 _ _ _ _ _ _
@ -136,16 +126,15 @@
f9 f10 f11 f12 _ _ _ _ _ f9 f10 f11 f12 _ _ _ _ _
_ _ _ _ _ _
) )
;; Symbol layer
(deflayer symbol (deflayer symbol
_ _
S-1 S-2 S-3 S-4 S-5 S-6 S-7 S-8 S-9 S-0 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-` S-scln ' S-'
= _ _ ` _ S-- _ _ ' S-' _ \ S-[ S-] S-, S-. [ ] _ _
_ _ _ _ _ _
) )
;; Aformentioned standard layer with combo binds for toggling back
;; to base layer.
(deflayer norm (deflayer norm
esc esc
q w e r t y u i o p q w e r t y u i o p
@ -153,11 +142,11 @@
z x c v b n m , . / z x c v b n m , . /
@ch_lmet spc @ch_rmet @ch_lmet spc @ch_rmet
) )
;; Media layer
(deflayer md (deflayer md
_ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
prev pp next mute vold volu brdn brup ins del prev pp next mute XX XX vold volu brdn brup
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _
) )

View file

@ -1,43 +0,0 @@
# General Movement
0x3A - h : yabai -m window --focus west
0x3A - j : yabai -m window --focus south
0x3A - k : yabai -m window --focus north
0x3A - l : yabai -m window --focus east
shift + alt - h : yabai -m window --swap west
shift + alt - j : yabai -m window --swap south
shift + alt - k : yabai -m window --swap north
shift + alt - l : yabai -m window --swap east
# Workspace navigation
alt - q : yabai -m space --focus 1
alt - w : yabai -m space --focus 2
alt - e : yabai -m space --focus 3
alt - r : yabai -m space --focus 4
alt - t : yabai -m space --focus 5
alt - y : yabai -m space --focus 6
alt - u : yabai -m space --focus 7
alt - i : yabai -m space --focus 8
alt - o : yabai -m space --focus 9
alt - p : yabai -m space --focus 10
shift + alt - 1 : yabai -m window --space 1
shift + alt - 2 : yabai -m window --space 2
shift + alt - 3 : yabai -m window --space 3
shift + alt - 4 : yabai -m window --space 4
shift + alt - 5 : yabai -m window --space 5
shift + alt - 6 : yabai -m window --space 6
shift + alt - 7 : yabai -m window --space 7
shift + alt - 8 : yabai -m window --space 8
shift + alt - 9 : yabai -m window --space 9
shift + alt - 0 : yabai -m window --space 10
alt - m : yabai -m window --minimize
alt - f : yabai -m window --toggle float;\
yabai -m window --grid 4:4:1:1:2:2
shift + alt - f : yabai -m window --focus mouse && \
yabai -m window --toggle zoom-fullscreen
# Open apps
alt - t : open -n -a "ghostty"

View file

@ -1,14 +0,0 @@
yabai -m config layout bsp
yabai -m config window_placement second_child
yabai -m config top_padding 10
yabai -m config bottom_padding 10
yabai -m config left_padding 10
yabai -m config right_padding 10
yabai -m config window_gap 10
yabai -m config mouse_follows_focus on
yabai -m config mouse_modifier alt
yabai -m rule --add app="^System Preferences$" manage=off
yabai -m rule --add app="^KeePassXC$" manage=off

View file

@ -31,8 +31,6 @@
neovim # Text editor of choice neovim # Text editor of choice
htop # Resource manager htop # Resource manager
iina # Media player iina # Media player
yabai # Tiling window manager
skhd # Hotkey daemon
# raycast # AI chat/Application launcher/Automation tool # raycast # AI chat/Application launcher/Automation tool
# kanata # Keyboard remapping tool # kanata # Keyboard remapping tool
]; ];
@ -42,7 +40,6 @@
taps = []; taps = [];
brews = [ brews = [
"kanata" "kanata"
"hugo"
"mpv" "mpv"
"lua" "lua"
"luarocks" "luarocks"
@ -59,18 +56,13 @@
"foobar2000" "foobar2000"
"android-platform-tools" "android-platform-tools"
"zen" "zen"
"obs"
"krita"
"sioyek"
"shortcat"
]; ];
}; };
services.yabai = {
enable = true;
extraConfig = builtins.readFile ./dotfiles/yabai/yabairc;
};
/* services.skhd = {
enable = true;
skhdConfig = builtins.readFile ./dotfiles/skhd/skhdrc;
};*/
system.primaryUser = "erogers"; system.primaryUser = "erogers";
system.defaults = { system.defaults = {
dock.autohide = true; dock.autohide = true;

View file

@ -17,10 +17,10 @@
home.file = { home.file = {
".config/ghostty/config" .source = dotfiles/ghostty/config; ".config/ghostty/config" .source = dotfiles/ghostty/config;
".config/kanata/conf.kbd" .source = dotfiles/kanata/conf.kbd; ".config/kanata/conf.kbd" .source = dotfiles/kanata/conf.kbd;
".config/nvim/init.lua" .source = builtins.fetchurl { /* ".config/nvim/init.lua" .source = builtins.fetchurl {
url = "https://git.luluslly.xyz/lulusilly/dotfiles/raw/branch/master/.config/nvim/init.lua"; url = "https://git.luluslly.xyz/lulusilly/dotfiles/raw/branch/master/.config/nvim/init.lua";
sha256 = "fc7104ae4957a7ff92375557725daf9872f836645556f7940fdd6366b04386e0"; sha256 = "fc7104ae4957a7ff92375557725daf9872f836645556f7940fdd6366b04386e0";
}; }; */
}; };
home.sessionVariables = { home.sessionVariables = {
@ -39,6 +39,11 @@
co = "checkout"; co = "checkout";
}; };
}; };
programs.direnv = {
enable = true;
nix-direnv.enable = true;
};
programs.home-manager.enable = true; programs.home-manager.enable = true;
} }