diff --git a/home/kitty.nix b/home/kitty.nix new file mode 100644 index 0000000..fa8a1ba --- /dev/null +++ b/home/kitty.nix @@ -0,0 +1,46 @@ +{pkgs, ...}: { + programs.kitty = { + enable = true; + font = { + name = "IBM Plex Mono"; + package = pkgs.ibm-plex; + size = 12; + }; + themeFile = "GitHub_Dark"; + settings = { + enable_audio_bell = false; + # how many windows should be open before kitty asks + # for confirmation + confirm_os_window_close = 0; + }; + keybindings = { + # kitty_mod is ctrl+shift by default + "kitty_mod+c" = "copy_to_clipboard"; + "kitty_mod+v" = "paste_from_clipboard"; + "ctrl+q" = "quit"; + + # windows + "kitty_mod+h" = "neighboring_window left"; + "kitty_mod+alt+h" = "move_window left"; + "kitty_mod+l" = "neighboring_window right"; + "kitty_mod+alt+l" = "move_window right"; + "kitty_mod+j" = "neighboring_window down"; + "kitty_mod+alt+j" = "move_window down"; + "kitty_mod+k" = "neighboring_window up"; + "kitty_mod+alt+k" = "move_window up"; + "ctrl+f2" = "detach_tab"; + "ctrl+f3" = "detach_window new-tab"; + "ctrl+f4" = "detach_window prev-tab"; + "ctrl+alt+l" = "next_layout"; + "ctrl+alt+t" = "goto_layout tall"; + "ctrl+alt+s" = "goto_layout stack"; + + # tabs + "kitty_mod+n" = "next_tab"; + "kitty_mod+p" = "previous_tab"; + "kitty_mod+alt+n" = "move_tab_forward"; + "kitty_mod+alt+p" = "move_tab_backward"; + "kitty_mod+w" = "close_tab"; + }; + }; +} diff --git a/home/niri/default.nix b/home/niri/default.nix index fdc7418..5661d44 100644 --- a/home/niri/default.nix +++ b/home/niri/default.nix @@ -6,7 +6,7 @@ }: let wallpaper = "${./nixos-c-book.png}"; - terminal = "ghostty"; + terminal = "kitty"; menu = [ "fuzzel" "-w" diff --git a/home/niri/scripts/remote.sh b/home/niri/scripts/remote.sh index 5065980..0ef7c0d 100755 --- a/home/niri/scripts/remote.sh +++ b/home/niri/scripts/remote.sh @@ -5,7 +5,7 @@ active_window=$(niri msg --json focused-window |jq -r .app_id) if [ "$1" = "btn1" ]; then if [ "$active_window" = "anki" ]; then wtype " " - elif [ "$active_window" = "foot" ]; then + elif [ "$active_window" = "kitty" ]; then wtype -M ctrl -M shift -k c -m ctrl -m shift elif [ "$active_window" = "chromium-browser" ] || [ "$active_window" = "librewolf" ]; then wtype -M alt -P right -p right -m alt @@ -15,7 +15,7 @@ if [ "$1" = "btn1" ]; then else if [ "$active_window" = "anki" ]; then wtype "1" - elif [ "$active_window" = "foot" ]; then + elif [ "$active_window" = "kitty" ]; then wtype -M ctrl -M shift -k v -m ctrl elif [ "$active_window" = "chromium-browser" ] || [ "$active_window" = "librewolf" ]; then wtype -M alt -P left -p left -m alt diff --git a/home/yt/ytnix.nix b/home/yt/ytnix.nix index 33d6965..b1af7f5 100644 --- a/home/yt/ytnix.nix +++ b/home/yt/ytnix.nix @@ -9,6 +9,7 @@ ../niri ../irssi.nix ../ghostty.nix + ../kitty.nix ]; home = { username = "yt";