So, the supported ways for running
bashscripts as provided in the
start_isis.csh and .sh).
But I recently started to switch to
zsh, because I was sick of the fragile and complicated (complex?) setup that
zshrequires. I was using the
zpreztoframework and everytime I got an update on that, which is git-based, I got some conflicts between their config scripts and mine. I guess I still was doing it wrong, but I thought, that it really shouldn’t be too hard, so I looked for alternatives.
I actually even played with the totally new Python-based xonsh shell for a while, but it requires an extra plugin to work with
conda , so I thought “here we go again, everything needs something extra to be configured”, so after finding some other problems with other good-sounding plugins, I decided to be not quite that radical for my everyday shell, and went with
To be fair, the reason for this post is of course that it required something extra to run ISIS3 with the fish shell, but that’s just the mere lack of the simple startup script that is provide for csh and bash but not for fish.
So, without further ado, here’s how to set it up.
I first simply added the main
ENV variables required to my
set -x ISISROOT /isis3/isis
set -x ISIS3DATA $ISISROOT/../data
set -x PATH $PATH $ISISROOT/bin
ENV variable that is required is
QT_PLUGIN_PATH, but because setting this ALWAYS can create havoc, specifically on Linux systems where its OS is written in
So, I put the setting of it into a new function called, of course,
set -gx QT_PLUGIN_PATH $ISISROOT/3rdParty/plugins
-g option (i.e. “global”) that enables the survival of the variable after executing the function code.
In case you need it, you unset a variable by doing
set -e QT_PLUGIN_PATH which is **HIGHLY** confusing to me, because all time I want to **SET* a variable using the option
-e, NATURALLY! ;) But no,
-e stands for “erase” while
-x stands for “export”. Harr…
Hope that helps someone out there, who wants to have more
fish in their life! ;)