A shepherd for your Appimages.
0

Configure Feed

Select the types of activity you want to include in your feed.

46 1 0

Clone this repository

https://tangled.org/aly.codes/appherder https://tangled.org/did:plc:dnzn6t3scwrj6k4zkff7am5b
git@tangled.org:aly.codes/appherder git@tangled.org:did:plc:dnzn6t3scwrj6k4zkff7am5b

For self-hosted knots, clone URLs may differ based on your setup.



README.md

CI License: GPL v3 Ko-fi

appherder

A shepherd for your AppImages.

appherder automatically installs, removes, and upgrades your AppImages. Throw them in ~/AppImages and appherder does the rest: apps appear in your menu, deleted ones disappear from it, and supported apps update in place.

Features#

  • Set it and forget it. Watches ~/AppImages and checks for updates in the background.
  • Real apps, not loose files. Installed AppImages show up in your application menu with their real name and icon.
  • Install from anywhere. Point it at a local file or paste a download link.
  • Updates without the pile-up. A newer version replaces the old one.
  • Stays out of the way. It only touches launchers it created. Your Flatpaks and hand-made shortcuts are safe.

Installation#

Download a binary#

Grab appherder-linux-amd64 from the latest release, then:

chmod +x appherder-linux-amd64
sudo mv appherder-linux-amd64 /usr/local/bin/appherder

Nix flake#

nix run github:alyraffauf/appherder

Or nix profile install github:alyraffauf/appherder to keep it around.

Build from source#

Requires Go 1.24+.

git clone https://github.com/alyraffauf/appherder.git
cd appherder
go build ./cmd/appherder

Usage#

Enable automatic sync and upgrades:

appherder autosync             # sync whenever ~/AppImages changes
appherder autoupgrade          # check for updates once a day

Then use ~/AppImages like the place AppImages belong. Add a file and it gets a launcher. Remove a file and its launcher goes away. When an update is available, appherder installs it without leaving the old copy behind.

Install an app from a file or URL:

appherder install ~/Downloads/Foo-x86_64.AppImage
appherder install https://example.com/Foo.AppImage

See what you have, remove what you don't:

appherder list
appherder uninstall foo

Installing copies the AppImage into ~/AppImages. That folder is the source of truth: add or remove files there and appherder sync matches your launchers to it.

appherder sync

Keep things up to date:

appherder upgrade              # download and install available updates
appherder upgrade --check      # just see what's out of date

Coming from another AppImage tool? appherder migrate adopts the ones in ~/AppImages and clears out launchers whose AppImage is gone.

Under the hood#

appherder reads the AppImage's squashfs filesystem directly to grab its icon and desktop entry, then writes a launcher pointing back at the file in ~/AppImages. It does this without ever running the AppImage, unlike tools that launch it to unpack. Everything it writes is tagged, so uninstall and sync only touch its own files.

License#

GPLv3.