How to install a shared multi user environment?

I would like to install PlatformIO on my Manjaro linux system (notebook) with at least 3 users, to replace the existing Arduino IDE. My Arduino projects are stored in a shared folder, which is synced every 15 minutes with a NAS using ZFS functions if the network is available.
All requested software is installed via the system package manager. So there is nerely nothing in the homefilesets. Everything uses default locations like /usr/bin and /usr/lib.

In Manjaro (arch based linux) there are also up to date packages for "code " (open source version of Visual Studio Code) and “platformio” too.

For a first test I installed the PlatformIO IDE as plugin into code. But I found, that everything was installed into the homefileset of only one user. This looks like 3 completely different installations if I have 3 users.
In addition the avr-gcc and the avr-gdb in the plugin are quite old, and I got a incompatibility with ncurses. Thats truely not what I want…

So finally my question is:
How to install a shared file system based PlatformIO IDE using code as a GUI?

What I think you’d want to do is to first install the PlatformIO Core/CLI so that you have a system-wide version of PIO available, and then in the VSCode PIO extension, tell it to not use the built-in core. This should then let you point it to your system-wide install of PIO, which would then be shared.

I seem to think there’s something else that needs to be set - possibly the custompath parameter - so that the extension knows where to look for the platformio executable.

installing PlatformIO Core/CLI and Code is no problem so far. It’s just like installing any other application.
But changing PIO settings is not possible during setup. First it is installed in the users home directory and afterwards the path can be changed.
But thats only the first step. When selecting a board i.e. “ESP32 Devkit” the nessecary libraries are installed in the home directrory too.
This is done for every user who is using the machine. How to change the location for boards, tools, libraries, …?


Have a look the environment variable directory overrides… if it works in this situation, you can possibly just use PLATFORMIO_CORE_DIR to override the lot, and point to the one common folder, or can be more grannular and specify the package, platform, cache, global library folders.

This is the correct answer. Thanks, @pfeerick!

1 Like

Sorry to bump this, There appear to be solutions here, but can someone synthesize this into a short step-by-step procedure?

I have admin privileges on my Windows 10 machine, and I’d like to set up pio+VSCode for all users on the machine without them having to install plug-ins – i.e., using something of a global install.

I’m a bit of a novice, so detail is appreciated.