1
0
dotfiles/gui/setup.sh
erick-alcachofa 80f1d28d02
feat: migrate terminal to ghostty and overhaul picom animations
- **Terminal**:
    - Complete migration from WezTerm to Ghostty
    - Updated `setup.sh` to install and configure Ghostty instead of WezTerm
    - Removed all WezTerm configuration files and themes
- **i3**:
    - Switched default terminal binding to Ghostty
    - Refactored scratchpad rules to use `instance` instead of `class` for more precise targeting
    - Updated scratchpad launches to use Ghostty-specific flags (`--x11-instance-name`)
- **Picom**:
    - Overhauled animation system with new cubic-bezier curves for open, close, and geometry changes
    - Increased `corner-radius` to 10px and refined exclusion list
    - Switched backend to `glx` for better performance and enabled `vsync` and `unredir-if-possible`
    - Updated opacity rules for Ghostty and improved shadow exclusions for UI elements
- **Scripts**:
    - `launch-scratchpad.sh`: Improved logic to toggle scratchpads; now hides the window if it's already focused
    - `window-wait.sh`: Updated to track window `instance` properties for reliability

Signed-off-by: erick-alcachofa <erick@artichoke.dev>
2026-05-14 01:15:02 -06:00

81 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
if [ -z "$DOTFILES" ]; then
export DOTFILES=$HOME/dotfiles
if [ ! -d "$DOTFILES" ]; then
if [ ! -x "$(command -v git)" ]; then
sudo pacman -Syu
sudo pacman -S --needed git
fi
git clone https://github.com/erick-alcachofa/dotfiles $DOTFILES
fi
source $DOTFILES/env.sh
fi
if [ ! -x "$(command -v yay)" ]; then
. $DOTFILES/yay.sh
fi
yay -Syu
yay -S --needed \
xorg \
xorg-xinit \
. $DOTFILES/gui/i3/setup.sh
. $DOTFILES/gui/picom/setup.sh
. $DOTFILES/gui/dunst/setup.sh
. $DOTFILES/gui/polybar/setup.sh
. $DOTFILES/gui/rofi/setup.sh
. $DOTFILES/gui/ghostty/setup.sh
yay -S --needed \
obs-studio \
vlc \
ufw \
flac \
gimp \
opus \
gpick \
qimgv \
arandr \
scrcpy \
thunar \
ffmpeg \
jmtpfs \
xdotool \
firefox \
spotify \
discord \
remmina \
xreader \
ntfs-3g \
texinfo \
udiskie \
seahorse \
guvcview \
qpwgraph \
opusfile \
pipewire \
screenkey \
xarchiver \
djvulibre \
ufw-extras \
libspectre \
pavucontrol \
wireplumber \
texlive-bin \
extfat-utils \
pipewire-alsa \
pipewire-jack \
pipewire-pulse \
squashfs-tools \
transmission-qt \
telegram-desktop \
otf-latin-modern \
ffmpegthumbnailer