Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.fau.fpt.icu/llms.txt

Use this file to discover all available pages before exploring further.

A recipe is a YAML file that tells fp-appimage-updater everything it needs to know about one app: what it’s called, how to find updates, and how to install it. You write one recipe per app, commit it to your dotfiles, and fp-appimage-updater handles the rest.

Where recipes live

Place recipe files inside ~/.config/fp-appimage-updater/apps/. Each file can be a flat .yml at the top level, or a subdirectory containing the recipe file and any supporting scripts.
~/.config/fp-appimage-updater/
├── config.yml
└── apps/
    ├── hydra-launcher.yml
    └── hayase/
        ├── hayase.yml
        └── resolver.sh
Use a subdirectory when your app needs a custom resolver.sh script for the script strategy. Place the recipe and the script together in the subdirectory so the script_path stays a clean relative path like ./resolver.sh.

Fields

name
string
required
Unique identifier for the app. Used as the filename base, symlink name, and display name in CLI output. Must be unique across all your recipes.
strategy
object
required
Defines how fp-appimage-updater finds and downloads updates. See update strategies for the full reference and examples.
ignore
boolean
Skip this recipe in check and update, and show it as ignored in list. This is useful for keeping a recipe in your config without having fp-appimage-updater touch it.
integration
boolean
Override the global manage_desktop_files setting for this app. Set to false to skip .desktop file and icon extraction for apps that don’t ship a proper AppImage desktop manifest.
Override the global create_symlinks setting for this app.
segmented_downloads
boolean
Override the global segmented_downloads setting for this app. Set to false for servers that don’t support HTTP range requests.
respect_rate_limits
boolean
Override the global respect_rate_limits setting for this app. When set to false, fp-appimage-updater always attempts the request even if a prior rate limit window hasn’t expired.
github_proxy
boolean
Override the global github_proxy setting for this app.
github_proxy_prefix
string | string[]
Override the global github_proxy_prefix setting for this app. Accepts a single URL string, a list of URLs, or all.
storage_dir
string
Override the global storage_dir for this app. The AppImage file is stored in this directory instead of the global default.
naming_format
string
Override the global naming_format for this app. Supported placeholders: {name} and {version}.
inner_asset_match
string
Optional pattern to find a specific AppImage inside a .zip archive. If omitted, the updater automatically finds files ending in .AppImage or containing ELF magic bytes.
zsync
boolean | string
Enable zsync delta updates for this app. Set to true to let fp-appimage-updater detect the zsync URL automatically, or provide a direct zsync URL string to use a specific endpoint.
# Auto-detect zsync URL
zsync: true

# Explicit zsync URL
zsync: "https://example.com/app.AppImage.zsync"
Uses the built-in zsync-rs backend, so no separate system zsync package is required.

Examples

name: hydra-launcher
strategy:
  strategy: forge
  repository: https://github.com/hydralauncher/hydra
  asset_match: "hydralauncher-*.AppImage"

Advanced Recipe

This example shows a recipe using multiple overrides to customize storage, naming, and download behavior:
curseforge.yml
name: curseforge
storage_dir: ~/Games/AppImages
naming_format: "CurseForge-{version}.AppImage"
create_symlink: true
segmented_downloads: false
zsync: true
strategy:
  strategy: direct
  url: "https://curseforge.overwolf.com/downloads/curseforge-latest-linux.AppImage"
  check_method: last-modified
Generate a recipe scaffold for a new app with:
fp-appimage-updater init --app <name> --strategy <forge|direct|script>
Use --force to overwrite an existing recipe file.
Last modified on April 24, 2026