mirror of
https://github.com/flatpak/flatpak.git
synced 2026-04-03 23:04:49 -04:00
The profile script previously nuked `XDG_DATA_DIRS` and then
“helpfully” re-populated it with FHS paths. This was especially
bad for systems like NixOS, which do not have `/usr`
and rely on `XDG_DATA_DIRS` heavily.
Quoting from https://fishshell.com/docs/current/cmds/set.html
> If a variable is set to zero elements, it will become a list with zero elements.
And indeed, that is what the `set -x --path XDG_DATA_DIRS` command does.
We need to list the value explicitly, if we want to preserve it
while setting variable options.
(cherry picked from commit a0505f52d9)
18 lines
546 B
Fish
18 lines
546 B
Fish
if type -q flatpak
|
|
# Set XDG_DATA_DIRS to include Flatpak installations
|
|
|
|
set -x --path XDG_DATA_DIRS $XDG_DATA_DIRS
|
|
|
|
set -q XDG_DATA_DIRS[1]; or set XDG_DATA_DIRS /usr/local/share /usr/share
|
|
set -q XDG_DATA_HOME; or set -l XDG_DATA_HOME $HOME/.local/share
|
|
|
|
set -l installations $XDG_DATA_HOME/flatpak
|
|
begin
|
|
set -le G_MESSAGES_DEBUG
|
|
set -lx GIO_USE_VFS local
|
|
set installations $installations (flatpak --installations)
|
|
end
|
|
|
|
set XDG_DATA_DIRS {$installations}/exports/share $XDG_DATA_DIRS
|
|
end
|