Download → double-click → installed. exeify makes apps downloaded from a
company's website install like a Windows .exe — no terminal required.
Built for KDE Plasma on Arch Linux (tested on CachyOS).
On Windows you download app-setup.exe, double-click it, done. On Linux the
same button gives you a .tar.gz, a .deb (wrong distro), an .AppImage
that won't run until you chmod +x, or a .sh that opens in a text editor.
exeify fixes that: it registers itself as the handler for every common
"downloaded app" format and does the right thing when you double-click.
| You downloaded | exeify does |
|---|---|
.AppImage |
Moves it to ~/Applications, extracts its icon, adds it to your app menu |
.sh / .run / .bin |
Asks "Run installer?", then runs it in a terminal |
.deb / .rpm |
Extracts to ~/.local/opt/<app>, adopts the bundled .desktop file, rewrites its paths, symlinks binaries into ~/.local/bin |
.pkg.tar.zst |
pacman -U with a GUI password prompt (pkexec) |
.flatpakref / .flatpak |
flatpak install --user --from in a terminal |
.tar.gz / .tar.xz / .zip |
Sniffs the contents — if it looks like an app (e.g. Electron bundles like app-linux-x64.tar.gz), extracts and registers it; if it's just data, opens Ark like normal |
.exe / .msi |
Runs it with Wine |
Archives also get a right-click "Install as application" entry in Dolphin for cases the sniffer can't identify.
git clone https://github.com/Scdouglas1999/exeify.git
cd exeify
./install.shThat's it. There's no daemon and nothing runs at boot — it's just file-type
associations in ~/.config/mimeapps.list plus one script in ~/.local/bin.
Requirements (all preinstalled on a standard KDE system):
kdialog, konsole, dolphin, ark, tar, bsdtar (libarchive),
ar (binutils), unzip, file.
Optional:
sudo pacman -S fuse2 # AppImages need FUSE to actually launch
sudo pacman -S flatpak # .flatpakref support
sudo pacman -S discover # KDE's graphical app store (Flathub front-end)./uninstall.shRemoves the handler and all file associations. Apps already installed via exeify stay put.
- Extracted apps:
~/.local/opt/<name>/ - AppImages:
~/Applications/ - Launchers:
~/.local/share/applications/(auto-marked; exeify never overwrites a.desktopfile it didn't create) - Binary symlinks:
~/.local/bin/ - Icons:
~/.local/share/icons/
Everything is user-level — no sudo, no /usr writes (except
.pkg.tar.zst, which asks).
- Tarballs aren't a real installer format. Detection is heuristic
(looks for
.desktopfiles, installer scripts, and bare executables). Worst case it opens Ark or extracts and tells you it couldn't find a binary — right-click "Install as application" covers the misses. .debpackages are built for Debian. Self-contained ones (most Electron apps) work fine; ones with real dependencies won't resolve — exeify warns you vialddwhen that happens. Prefer Flatpak or the AUR when an app exists there.- Arch + KDE only. The concept ports to other distros/DEs (swap pacman bits, kdialog → zenity, etc.) — PRs welcome.
- Installed apps don't self-update — same as a Windows app without a built-in updater. Flatpaks update via Discover; AppImages update best via Gear Lever.
- Gear Lever — best-in-class AppImage manager; use it if AppImages are your main format
- KDE Discover — graphical Flathub storefront; install this too, it covers most mainstream apps
- AM — CLI manager for AppImages and portable apps from its own database
- debtap — converts
.debto system-level pacman packages (needs root; exeify's extraction doesn't)
exeify's niche is being the universal double-click glue across all of these formats at once — most of which have handlers that already exist piecemeal, but nothing wiring them together.
MIT