|
|
@ -0,0 +1,59 @@ |
|
|
|
|
|
#!/usr/bin/env bash |
|
|
|
|
|
|
|
|
|
|
|
## CONSTANTS |
|
|
|
|
|
|
|
|
|
|
|
## FUNCTIONS |
|
|
|
|
|
|
|
|
|
|
|
function assert_debian13 { |
|
|
|
|
|
test -f /etc/debian_version && |
|
|
|
|
|
grep --quiet ^13\. /etc/debian_version || |
|
|
|
|
|
echo "assert: Debian 13 missing!" |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function assert_gnome_desktop { |
|
|
|
|
|
[[ $XDG_SESSION_DESKTOP == "gnome" ]] || |
|
|
|
|
|
echo "assert: Gnome Shell missing!" |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function install_ghostty { |
|
|
|
|
|
|
|
|
|
|
|
if ! command -v ghostty >/dev/null; then |
|
|
|
|
|
curl -sS https://debian.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | |
|
|
|
|
|
sudo gpg --dearmor --yes -o /etc/apt/trusted.gpg.d/debian.griffo.io.gpg |
|
|
|
|
|
|
|
|
|
|
|
echo "deb https://debian.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | |
|
|
|
|
|
sudo tee /etc/apt/sources.list.d/debian.griffo.io.list |
|
|
|
|
|
|
|
|
|
|
|
sudo apt-get update && |
|
|
|
|
|
sudo apt-get install -y ghostty |
|
|
|
|
|
else |
|
|
|
|
|
echo Ghostty already installed! |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
if ! systemctl is-enabled --user --quiet app-com.mitchellh.ghostty; then |
|
|
|
|
|
systemctl enable --user app-com.mitchellh.ghostty.service |
|
|
|
|
|
else |
|
|
|
|
|
echo "Ghostty service already enabled!" |
|
|
|
|
|
fi |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function install_homebrew { |
|
|
|
|
|
: |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function configure_default { |
|
|
|
|
|
# CAPS LOCK means ESC |
|
|
|
|
|
gsettings set org.gnome.desktop.input-sources xkb-options "['caps:escape']" |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
## MAIN |
|
|
|
|
|
|
|
|
|
|
|
assert_debian13 |
|
|
|
|
|
assert_gnome_desktop |
|
|
|
|
|
|
|
|
|
|
|
echo "MIAOU-DESKTOP installation..." |
|
|
|
|
|
|
|
|
|
|
|
install_ghostty |
|
|
|
|
|
install_homebrew |
|
|
|
|
|
configure_default |
|
|
|
|
|
echo SUCCESS |