Author: Kyle Fuller <kyle@fuller.li> 2025-04-03 21:14:42 +0100 +0100
Committer: Kyle Fuller <kyle@fuller.li> 2025-04-03 21:22:14 +0100 +0100
Commit: fb0a3de0f67f61f409a2aa0c2ada4c548f919f30
Parent: 6e87e4aa0d13cd2e58b31c181ca543ae0bf3f3e5
refactor(shell): migrate to ghostty
diff --git a/.config/bspwm/bspwmrc b/.config/bspwm/bspwmrc
index 8dfeb6fb991a590150e2382c19e1c48d16334ff7..d1e86677ece870004248ca1e47af6eb676dd2198 100755
--- a/.config/bspwm/bspwmrc
+++ b/.config/bspwm/bspwmrc
@@ -29,7 +29,7 @@
bspc rule -a "firefox:Toolkit" state=floating border=off sticky=on rectangle=600x400+3250+1200
if [[ "$primary_resolution" = "1366x"* ]]; then
- bspc rule -a scratch sticky=on state=floating hidden=on rectangle=1362x250+0+30
+ bspc rule -a 'com.mitchellh.ghostty:scratch' sticky=on state=floating hidden=on rectangle=1362x250+0+30
else
- bspc rule -a scratch sticky=on state=floating hidden=on
+ bspc rule -a 'com.mitchellh.ghostty:scratch' sticky=on state=floating hidden=on
fi
diff --git a/.config/ghostty/config b/.config/ghostty/config
new file mode 100644
index 0000000000000000000000000000000000000000..a33a71d9c7e0c7f52f25ea66041832d24f22d5c5
--- /dev/null
+++ b/.config/ghostty/config
@@ -0,0 +1,26 @@
+theme = Jellybeans
+cursor-style = block
+
+# gdk adwaita uses a slimmer tab bar
+gtk-adwaita = false
+
+font-family = ""
+font-family = "Source Code Pro"
+font-thicken = true
+font-size = 12
+
+window-decoration = false
+
+keybind = super+c=copy_to_clipboard
+keybind = super+v=paste_from_clipboard
+
+keybind = super+n=new_window
+keybind = super+t=new_tab
+keybind = super+w=close_surface
+
+keybind = super+shift+[=previous_tab
+keybind = super+shift+]=next_tab
+
+keybind = super+k=clear_screen
+
+keybind = super+r=reload_config
diff --git a/.config/home-manager/home.nix b/.config/home-manager/home.nix
index c23e52640c382700af7585daee5a1eeac512fab0..500d851ff20524ad27618a8ea28d56184fa26108 100644
--- a/.config/home-manager/home.nix
+++ b/.config/home-manager/home.nix
@@ -40,7 +40,7 @@ calibre
dunst
feh
font-awesome
- kitty
+ ghostty
ledger
maim
pulsemixer
@@ -155,7 +155,7 @@ };
services.sxhkd.enable = pkgs.stdenv.isLinux;
services.sxhkd.keybindings = {
- "super + Return" = "${pkgs.kitty}/bin/kitty";
+ "super + Return" = "${pkgs.ghostty}/bin/ghostty";
"super + b" = "${pkgs.firefox}/bin/firefox";
"super + shift + b" = "${pkgs.firefox}/bin/firefox --private-window";
"super + space" = "${pkgs.rofi}/bin/rofi -show combi";
@@ -170,7 +170,8 @@ "super + {_,shift +} {Left,Down,Up,Right}" = "bspc node -{f,s} {west,south,north,east}";
"super + alt + {Left,Down,Up,Right}" = "bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}";
"super + Tab" = "bspc desktop -f last";
- "super + grave" = "~/.local/bin/bspc-toggle --class scratch --run \"kitty --class scratch\"";
+ "super + grave" = "~/.local/bin/bspc-toggle --class scratch --run \"ghostty --x11-instance-name=scratch\"";
+ "super + Escape" = "~/.local/bin/bspc-toggle --class Toolkit";
"XF86MonBrightness{Down,Up}" = "${pkgs.brightnessctl}/bin/brightnessctl set {10%-,+10%}";
"XF86Audio{Lower,Raise}Volume" = "${pkgs.pamixer}/bin/pamixer -{d,i} 5";
diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf
deleted file mode 100644
index 55b7291c886f0774c56fdcf0b2f3fec56682e8ce..0000000000000000000000000000000000000000
--- a/.config/kitty/kitty.conf
+++ /dev/null
@@ -1,38 +0,0 @@
-font_family Source Code Pro
-font_size 12
-
-update_check_interval 0
-
-term xterm-256color
-include themes/jellybeans.conf
-window_margin_width 2
-
-mouse_hide_wait -1
-
-tab_bar_edge top
-tab_bar_style separator
-tab_bar_margin_width 10
-tab_separator " "
-tab_title_template "{title}"
-active_tab_foreground #130A20
-active_tab_background #D0996E
-active_tab_font_style bold
-inactive_tab_foreground #dedede
-inactive_tab_background #111
-inactive_tab_font_style normal
-
-map super+c copy_to_clipboard
-map super+v paste_from_clipboard
-
-map super+n new_os_window_with_cwd
-map super+t new_tab_with_cwd
-map super+w close_tab
-map super+k clear_terminal clear active
-
-map super+shift+[ previous_tab
-map super+shift+] next_tab
-map super+left previous_tab
-map super+right next_tab
-
-map super+up scroll_line_up
-map super+down scroll_line_down
diff --git a/.config/kitty/themes/jellybeans.conf b/.config/kitty/themes/jellybeans.conf
deleted file mode 100644
index bac5fb722722e7d119b526ade630417c6da15629..0000000000000000000000000000000000000000
--- a/.config/kitty/themes/jellybeans.conf
+++ /dev/null
@@ -1,21 +0,0 @@
-background #111111
-foreground #dedede
-cursor #ffa460
-selection_background #464d91
-color0 #919191
-color8 #bdbdbd
-color1 #e17373
-color9 #ffa0a0
-color2 #94b978
-color10 #bddeab
-color3 #ffb97b
-color11 #ffdba0
-color4 #96bddb
-color12 #b1d7f6
-color5 #e1c0fa
-color13 #fbdaff
-color6 #00988e
-color14 #19b2a7
-color7 #dedede
-color15 #ffffff
-selection_foreground #111111
diff --git a/.ssh/config b/.ssh/config
index 3c838e19ca32c8324425c38ec0da5aa6ea2eb5c5..f6a886f83a8d200eca90b4daa1e573885872f8b4 100644
--- a/.ssh/config
+++ b/.ssh/config
@@ -1,3 +1,6 @@
PKCS11Provider none
Include conf.d/*.conf
+
+Host *
+ SetEnv TERM=xterm-256color