When you set an environment variable in linux is it set only for the user who executes it, or can you specify a user when you store it, or instead is it always available for all users?
If you set environment variables in the global shell startup scripts, they'll be applied to all users who log in. The location of these scripts depends on the shells, but common locations are /etc/environment, /etc/profile, /etc/profile.d, /etc/bashrc, and /etc/X11/Xsession.d. You need to read the manuals for your shell(s)/desktop environments to find out for sure. For example, for bash see the section "INVOCATION" in the bash manual.
To set an environment variable for just a single user, you could either set it in that user's startup scripts (~/.bashrc, ~/.profile, ~/.xsessionrc, ...), or in the global startup scripts with a test to apply it only to that user.