Flatpak: Difference between revisions

imported>IgorM
m Fixed syntax highlighting
Klinger (talk | contribs)
added link to manual
(7 intermediate revisions by 5 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 ==


Using this configuration, <code>flatpak</code> will be installed and ready for use globally for all users:
Using this configuration, <code>flatpak</code> will be installed and ready to use globally for all users:
{{file|/etc/nixos/configuration.nix|nix|<nowiki>
{{file|/etc/nixos/configuration.nix|nix|<nowiki>
services.flatpak.enable = true;
services.flatpak.enable = true;
</nowiki>}}
</nowiki>}}


If you'd rather make flatpak available on a specific user rather than globally, add <code>flatpak</code> to that user's packages. To be able to install flatpaks graphically, add the <code>gnome.gnome-software</code> package. The result will look something like this:
If you'd rather make Flatpak available to a specific user, add <code>flatpak</code> to that user's packages. To be able to install Flatpaks graphically, add the <code>gnome.gnome-software</code> package. The result will look something like this:


{{file|/etc/nixos/configuration.nix|nix|<nowiki>
{{file|/etc/nixos/configuration.nix|nix|<nowiki>
   users.users.myflatpakuser = {
   users.users."user" = {
     packages = with pkgs; [
     packages = with pkgs; [
       flatpak
       flatpak
Line 19: Line 21:
</nowiki>}}
</nowiki>}}


After adding the desired solution to your configuration file, flatpak will be installed, however it is not always added to your path directly, e.g. when you are using sway it will be not.
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 path while using a [https://nixos.wiki/wiki/Greetd 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 39: Line 41:
== Development ==
== Development ==


=== Build Flatpak project ===
=== Build a Flatpak project ===


The following example builds a demo project of the [https://gitlab.gnome.org/GNOME/libhandy libhandy] repository using <code>flatpak-builder</code>, installs it locally in the user space and run it. First install <code>flatpak</code> and <code>flatpak-builder</code> on your system
The following example builds a demo project of the [https://gitlab.gnome.org/GNOME/libhandy libhandy] repository using <code>flatpak-builder</code>, installs it locally in the user space and runs it. First install <code>flatpak</code> and <code>flatpak-builder</code> on your system


{{file|/etc/nixos/configuration.nix|nix|<nowiki>
{{file|/etc/nixos/configuration.nix|nix|<nowiki>
Line 48: Line 50:
</nowiki>}}
</nowiki>}}


Clone, build and run the example project. As for now [https://gitlab.gnome.org/GNOME/libhandy/-/merge_requests/844 a patch] for libhandy might be required to fix a bug in the build process.
Clone, build and run the example project. For now, [https://gitlab.gnome.org/GNOME/libhandy/-/merge_requests/844 a patch] for libhandy might be required to fix a bug in the build process.


<syntaxHighlight lang=console>
<syntaxHighlight lang=console>
Line 65: Line 67:
=== 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]]