FLATPAK-PREINSTALL(1)

πŸ“¦
version 1.18.4 Β· 3 versions
, in fedora 44, nixpkgs unstable, ubuntu stonking

πŸ’– FLATPAK PREINSTALL(1) πŸ’–

okay bestie, welcome to the flatpak preinstall manual page β€” yes that's the manual name, yes it's giving ✨operating-system-flatpak-energy✨, and yes we're going to read the whole thing together. grab a boba. πŸ§‹


🌸 NAME 🌸

flatpak-preinstall β€” install flatpaks that are part of the operating system 🫢


πŸŽ€ SYNOPSIS πŸŽ€

flatpak preinstall [OPTION...]

✨ DESCRIPTION ✨

so like, this command manages the flatpaks that are part of the operating system itself. no options? no problem. if you just run flatpak preinstall with nothing else, it synchronizes (that means installs AND removes, bestie) flatpaks so that what's on your system matches the set your OS vendor picked out. it's giving "trust the process" πŸ’…

the way preinstalled flatpaks work is: the OS vendor drops .preinstall files into these two directories:

  • /usr/share/flatpak/preinstall.d/
  • /etc/flatpak/preinstall.d/

then, at system startup, the OS runs flatpak preinstall -y (or whatever the GUI equivalent is), and that is when the actual installation happens. lowkey iconic.

this whole system means the OS vendor gets to define the list of flatpaks that come bundled with the OS, AND they can change that list later β€” and the change just gets applied the next time flatpak preinstall runs. obsessed. 😌

and here's the part you'll love: users can opt out of preinstalled flatpaks by literally just uninstalling them. once you do that, they will NOT get automatically reinstalled again. periodt. πŸ™…β™€οΈ


πŸ“„ FILE FORMAT πŸ“„

the .preinstall file uses the exact same .ini file format as systemd unit files or application .desktop files. same vibe, different purpose. πŸ’–

🌈 [Flatpak Preinstall NAME] 🌈

NAME here is the fully qualified name of the runtime or application. all the info for one single runtime or application lives inside one [Flatpak Preinstall NAME] group β€” and yes, you can define multiple groups in a single file. no cap.

these are the keys that can show up in this group:

  • Install (boolean) β€” whether this group should actually be installed. if you don't specify this key at all, the group will be installed. (default: yes, we're doing this πŸ’…)
  • Branch (string) β€” the name of the branch to install the application or runtime from. don't specify it? then the "master" branch is used.
  • IsRuntime (boolean) β€” whether this group is referring to a runtime. leave it out and the group is assumed to refer to an application.
  • CollectionID (string) β€” the collection ID of the remote to use, if it has one.

πŸ¦‹ EXAMPLE πŸ¦‹

[Flatpak Preinstall org.gnome.Loupe]
Branch=stable
IsRuntime=false

πŸ‘‘ OPTIONS πŸ‘‘

the following options are understood, and yes, we're going through every single one because that's the whole point bestie:

  • -h, --help β€” show help options and exit. the classic. 🫢
  • --reinstall β€” uninstall first if it's already installed. clean slate energy ✨
  • -u, --user β€” install the application or runtime in a per-user installation.
  • --system β€” install the application or runtime in the default system-wide installation.
  • --installation=NAME β€” install the application or runtime in a system-wide installation specified by NAME, picked from the ones defined in /etc/flatpak/installations.d/. heads up: using --installation=default is equivalent to using --system. πŸ’…
  • --no-deploy β€” download the latest version, but don't deploy it. look but don't touch.
  • --no-pull β€” don't download the latest version at all, just deploy whatever is locally available. use what you got πŸŽ€
  • --no-related β€” don't download related extensions, like the locale data. (sorry, translations 😭)
  • --no-deps β€” don't verify runtime dependencies when installing.
  • --sideload-repo=PATH β€” adds an extra local ostree repo as a source for installation. this is equivalent to using the sideload-repos directories (see flatpak(1)), but you can do it on a per-command basis. and note: any path you add here is used in addition to the ones in those directories β€” it doesn't replace them. 🌈
  • --include-sdk β€” for each app being installed, also installs the SDK that was used to build it. implies --or-update; incompatible with --no-deps. ⚠️
  • --include-debug β€” for each ref being installed, as well as all dependencies, also installs its debug info. implies --or-update; incompatible with --no-deps. ⚠️
  • -y, --assumeyes β€” automatically answer yes to all questions (or pick the most prioritized answer). super useful for automation, iykyk. πŸ€–
  • --noninteractive β€” produce minimal output and avoid most questions. suitable for non-interactive situations, like in a build script.
  • -v, --verbose β€” print debug information during command processing.
  • --ostree-verbose β€” print OSTree debug information during command processing. extra deep, extra nerdy, love that for us πŸ”₯

πŸ’œ EXAMPLES πŸ’œ

$ flatpak preinstall

🌟 SEE ALSO 🌟


and that's the whole page, bestie!! no crumbs left, every flag accounted for πŸ’– this little love letter came from the flatpak source, FLATPAK PREINSTALL(1) β€” go forth and preinstall responsibly βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from