Flatpak: Difference between revisions
No edit summary |
imported from old wiki |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
[https://www.flatpak.org/ Flatpak] is a Linux application sandboxing and distribution framework. | [https://www.flatpak.org/ Flatpak] is a Linux application sandboxing and distribution framework. | ||
This article extends the documentation in the [https://nixos.org/manual/nixos/stable/#module-services-flatpak NixOS manual]. | |||
== Usage == | == Usage == | ||
Line 21: | Line 23: | ||
After adding the desired solution to your configuration file, Flatpak will be installed, but it is not always added to your path directly, e.g. when you are using Sway. | After adding the desired solution to your configuration file, Flatpak will be installed, but it is not always added to your path directly, e.g. when you are using Sway. | ||
To manually add it to the path while using the [[Greetd]] login manager and [ | To manually add it to the path while using the [[Greetd]] login manager and [[Sway]], create a <code>.profile</code> file with an override for your <code>XDG_DATA_DIRS</code> path, e.g.: | ||
{{file|.profile|nix|<nowiki> | {{file|.profile|nix|<nowiki> | ||
export XDG_DATA_DIRS=$XDG_DATA_DIRS:/usr/share:/var/lib/flatpak/exports/share:$HOME/.local/share/flatpak/exports/share | export XDG_DATA_DIRS=$XDG_DATA_DIRS:/usr/share:/var/lib/flatpak/exports/share:$HOME/.local/share/flatpak/exports/share | ||
Line 36: | Line 38: | ||
$ flatpak run org.freedesktop.Bustle | $ flatpak run org.freedesktop.Bustle | ||
</syntaxHighlight> | </syntaxHighlight> | ||
To automatically configure a flatpak repository for all users using the global configuration file, add this to your configuration.nix file. | |||
{{file|/etc/nixos/configuration.nix|nix|<nowiki> | |||
systemd.services.flatpak-repo = { | |||
wantedBy = [ "multi-user.target" ]; | |||
path = [ pkgs.flatpak ]; | |||
script = '' | |||
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo | |||
''; | |||
}; | |||
</nowiki>}} | |||
== Development == | == Development == | ||
Line 60: | Line 74: | ||
Note that the <code>gnome-nightly</code> repository and its dependencies are especially required for this specific project and might be different for other Flatpak projects. | Note that the <code>gnome-nightly</code> repository and its dependencies are especially required for this specific project and might be different for other Flatpak projects. | ||
== Tips and tricks == | |||
=== Emulate Flatpaks of different architecture === | |||
It is possible to install and run Flatpaks which were compiled for a different platform. In this example we start the application ''Metronome'' as aarch64 Flatpak on a x86_64 host:<syntaxhighlight lang="bash"> | |||
flatpak install --user --arch=aarch64 flathub com.adrienplazas.Metronome | |||
flatpak run --user com.adrienplazas.Metronome | |||
</syntaxhighlight>To support emulation with Qemu, [[QEMU#Run binaries of different architecture|following Binfmt configuration]] is required. | |||
== Troubleshooting == | == Troubleshooting == | ||
Line 65: | Line 87: | ||
=== Missing themes and cursors === | === Missing themes and cursors === | ||
If you have issues with cursors or themes in general, take a look at [ | If you have issues with cursors or themes in general, take a look at [[Fonts#Flatpak_applications_can't_find_system_fonts]] | ||
[[Category:Software]] | |||
[[Category:NixOS Manual]] |