10

I would like to set an environment variable so that it is set when I launch a specific Flatpak application, and only set for this application. How do I go about doing this in a permanent manner?

Newbyte
  • 856
  • 1
  • 9
  • 31

2 Answers2

9

You can do this via the flatpak override command.

To set only one environment variable you can use this syntax:

flatpak override --env=VARIABLE_NAME=VARIABLE_VALUE full.application.Name

To set multiple environment variables you can use this syntax:

flatpak override --env=VARIABLE_NAME_ONE=VARIABLE_VALUE_ONE --env=VARIABLE_NAME_TWO=VARIABLE_VALUE_TWO full.application.Name

This will set it globally and therefore requires you to run the command as root. If you want to do this for your current user, you can add the --user parameter to the command, like so:

flatpak override --user --env=VARIABLE_NAME=VARIABLE_VALUE full.application.Name

Source and further reading: http://docs.flatpak.org/en/latest/flatpak-command-reference.html#flatpak-override

Newbyte
  • 856
  • 1
  • 9
  • 31
  • 1
    (1) I don’t have Flatpak, so I can’t experiment, but are you sure the `--env="NAME1=VALUE1 NAME2=VAL2"` syntax really works?  I see nothing in the documentation that suggests that it does.  Rather, it suggests `--env="NAME1=VALUE1"` `--env="NAME2=VAL2"`.  (2) If it works as you describe, I don’t see how you would set an environment variable value that contains space(s) and equal sign(s).  For example, I wonder what ``--env="RELATIVITY=Einstein says E=mc^2"`` does. – G-Man Says 'Reinstate Monica' May 13 '21 at 21:10
  • as @G-ManSays'ReinstateMonica' mentioned `--env` can be used multiple times and join them with space is not working. – Tim Green Sep 27 '21 at 13:11
  • I thought I tested it and saw it work, but maybe I'm wrong. I'll update my answer. – Newbyte Sep 27 '21 at 15:33
2

The Flatseal application lets you set environment variables and other things relating to your installed flatpaks in a convenient fashion if you are GUI sort of person.

Newbyte
  • 856
  • 1
  • 9
  • 31
Seb Brosig
  • 29
  • 1