function install-keymapp -d "Install or update keymapp from latest release" set -l temp_dir (mktemp -d) gum spin --spinner dot --title "Downloading keymapp..." -- \ wcurl -o $temp_dir/keymapp-latest.tar.gz https://oryx.nyc3.cdn.digitaloceanspaces.com/keymapp/keymapp-latest.tar.gz or return 1 gum spin --spinner dot --title "Extracting..." -- \ tar -xzf $temp_dir/keymapp-latest.tar.gz -C $temp_dir or return 1 gum spin --spinner dot --title "Installing binary..." -- \ sh -c "mkdir -p ~/.local/bin && cp $temp_dir/keymapp ~/.local/bin/ && chmod +x ~/.local/bin/keymapp" gum spin --spinner dot --title "Installing icon..." -- \ sh -c "mkdir -p ~/.local/share/icons/hicolor/1024x1024/apps && cp $temp_dir/icon.png ~/.local/share/icons/hicolor/1024x1024/apps/keymapp.png" gum spin --spinner dot --title "Creating desktop file..." -- \ sh -c "mkdir -p ~/.local/share/applications && echo '[Desktop Entry] Name=Keymapp Comment=ZSA Keyboard Configuration Tool Exec=keymapp Icon=$HOME/.local/share/icons/hicolor/1024x1024/apps/keymapp.png Terminal=false Type=Application Categories=Utility;Settings;' > ~/.local/share/applications/keymapp.desktop" gum spin --spinner dot --title "Updating caches..." -- \ sh -c "update-desktop-database ~/.local/share/applications/ 2>/dev/null; gtk-update-icon-cache ~/.local/share/icons/hicolor/ 2>/dev/null; true" rm -rf $temp_dir gum style --foreground 212 --bold "✓ Keymapp installed successfully" end