81 lines
1.9 KiB
Bash
81 lines
1.9 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
DEST=${1:-/etc/skel}
|
|
GHOSTTY_HOME=${DEST}/.config/ghostty
|
|
|
|
sudo apt update
|
|
sudo apt install ghostty
|
|
|
|
# https://ghostty.org/docs/config/reference
|
|
|
|
mkdir -p "${GHOSTTY_HOME}"
|
|
|
|
# https://gist.githubusercontent.com/adibhanna/c552c452fb244b3b721e3c2432e85cde/raw/a7540b1bfe1d653df303ed2aecf943bc15515752/config
|
|
# https://www.youtube.com/watch?v=jWuQxU4bDeU&t=7s
|
|
conf_print_ghostty_config() {
|
|
cat <<EOF
|
|
font-family = BerkeleyMono Nerd Font
|
|
#font-family = Iosevka Nerd Font
|
|
# font-family = SFMono Nerd Font
|
|
font-size = 20
|
|
theme = GruvboxDarkHard
|
|
shell-integration-features = no-cursor,sudo,no-title
|
|
cursor-style = block
|
|
adjust-cell-height = 35%
|
|
# background-opacity = 0.96
|
|
|
|
mouse-hide-while-typing = true
|
|
mouse-scroll-multiplier = 2
|
|
|
|
window-padding-balance = true
|
|
window-save-state = always
|
|
macos-titlebar-style=transparent
|
|
window-colorspace = "display-p3"
|
|
background = 1C2021
|
|
# foreground = d4be98
|
|
|
|
# keybindings
|
|
keybind = cmd+s>r=reload_config
|
|
keybind = cmd+s>x=close_surface
|
|
|
|
keybind = cmd+s>n=new_window
|
|
|
|
# tabs
|
|
keybind = cmd+s>c=new_tab
|
|
keybind = cmd+s>shift+l=next_tab
|
|
keybind = cmd+s>shift+h=previous_tab
|
|
keybind = cmd+s>comma=move_tab:-1
|
|
keybind = cmd+s>period=move_tab:1
|
|
|
|
# quick tab switch
|
|
keybind = cmd+s>1=goto_tab:1
|
|
keybind = cmd+s>2=goto_tab:2
|
|
keybind = cmd+s>3=goto_tab:3
|
|
keybind = cmd+s>4=goto_tab:4
|
|
keybind = cmd+s>5=goto_tab:5
|
|
keybind = cmd+s>6=goto_tab:6
|
|
keybind = cmd+s>7=goto_tab:7
|
|
keybind = cmd+s>8=goto_tab:8
|
|
keybind = cmd+s>9=goto_tab:9
|
|
|
|
# split
|
|
keybind = cmd+s>\=new_split:right
|
|
keybind = cmd+s>-=new_split:down
|
|
|
|
keybind = cmd+s>j=goto_split:bottom
|
|
keybind = cmd+s>k=goto_split:top
|
|
keybind = cmd+s>h=goto_split:left
|
|
keybind = cmd+s>l=goto_split:right
|
|
|
|
keybind = cmd+s>z=toggle_split_zoom
|
|
|
|
keybind = cmd+s>e=equalize_splits
|
|
|
|
# other
|
|
copy-on-select = clipboard
|
|
EOF
|
|
}
|
|
conf_print_ghostty_config | tee "${GHOSTTY_HOME}/config.yaml"
|
|
|
|
ghostty +validate-config
|