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 [https://nixos.wiki/wiki/Sway Sway], create a <code>.profile</code> file with an override for your <code>XDG_DATA_DIRS</code> path, e.g.:
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 [https://nixos.wiki/wiki/Fonts#Flatpak_applications_can.27t_find_system_fonts Fonts]
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]]