Files
flatpak/profile/flatpak.fish
Jan Tojnar a0505f52d9 profile.d: Do not destroy XDG_DATA_DIRS in fish
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.
2022-10-14 12:24:21 +01:00

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