Change summary
dot_config/private_fish/functions/install-keymapp.fish | 34 ++++++++++++
1 file changed, 34 insertions(+)
Detailed changes
@@ -0,0 +1,34 @@
+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