#!/bin/bash if (($# == 0)); then echo "Usage: omarchy-install-terminal [alacritty|ghostty|kitty]" exit 1 fi package="$1" # Map package name to desktop entry ID case "$package" in alacritty) desktop_id="Alacritty.desktop" ;; ghostty) desktop_id="com.mitchellh.ghostty.desktop" ;; kitty) desktop_id="kitty.desktop" ;; *) echo "Unknown terminal: $package" exit 1 ;; esac # Install package if omarchy-pkg-add $package; then # Set as default terminal echo "Setting $package as new default terminal..." sed -i "/export TERMINAL=/ c\export TERMINAL=$package" ~/.config/uwsm/default # Copy custom desktop entry for alacritty with X-TerminalArg* keys if [ "$package" = "alacritty" ]; then mkdir -p ~/.local/share/applications cp "$OMARCHY_PATH/applications/Alacritty.desktop" ~/.local/share/applications/ fi # Update xdg-terminals.list to prioritize the proper terminal cat > ~/.config/xdg-terminals.list << EOF # Terminal emulator preference order for xdg-terminal-exec # The first found and valid terminal will be used $desktop_id EOF else echo "Failed to install $package" fi