[SOLVED] Replace /usr/share by a rw directory

I run Gnome and would like to use i3 tiling window manager.
I found this package to properly install and make i3 work with gnome. As we can see in the makefile, build/install is very simple:

INSTALL = install
DESTDIR ?= /
PREFIX  ?= $(DESTDIR)/usr

PATH_I3_GNOME = $(PREFIX)/bin/i3-gnome
PATH_I3_GNOME_DESKTOP = $(PREFIX)/share/applications/i3-gnome.desktop
PATH_I3_GNOME_SESSION = $(PREFIX)/share/gnome-session/sessions/i3-gnome.session
PATH_I3_GNOME_XSESSION = $(PREFIX)/share/xsessions/i3-gnome.desktop
PATH_GNOME_SESSION_I3 = $(PREFIX)/bin/gnome-session-i3

The problem is of course /usr/share/ being read-only.
I must admit I don’t know all the aspects of OStree and wonder where I can place these gnome files. Is using the XDG_DATA_DIRS environment variable a good way to solve this issue? If yes, what would be the appropriate directory where to place these files? I was thinking somewhere in my $HOME directory as it is a per user setting.

Thank you for advice.

Have you tried using --prefix=/usr/local?

/usr/local is still rw under Silverblue and is in the XDG paths.

No, but will give a try.
My XDG paths does not include /usr/local but /usr/local/share/. I will modify this variable accordingly.

Thank you

/usr/local/share should be fine.

If /usr/local is set as your prefix, it should use /usr/local/share.

yes, /usr/local/share did the job.

Can you give a good pointer to OSTree documentation about all these folders? I need a clear view of the main differences between a usual Linux filesystem and how OSTree organize everything. I already read the official OSTree documentation but I still miss a clear understanding.

Thank you.

/usr/local is a standard directory and is for administrator installed software that mirrors the structure of /usr but isn’t managed by the package manager. It’s usually includes in the paths.

So for example, if you wanted to install a binary system wide under Silverblue, rather than /usr/bin you could put it in /usr/local/bin.

AFAIK Homebrew under macOS uses /usr/local too (I sometimes wish Linux had something similar).