.Rprofile
local({
# modify as needed
modules = c("git", "git-lfs", "gcc")
capt = system2("./capture_module_environment.sh", modules, stdout = TRUE)
split = strsplit(capt, '=', fixed = TRUE)
out = lapply(split, function(v){
do.call(Sys.setenv, stats::setNames(list(v[2]), v[1]))
})
message("Added environment variables for ", paste(modules, collapse = ', '))
})
capture_module_environment.sh
#!/bin/sh
module load $@
echo -n "PATH="
printenv PATH
echo -n "LD_LIBRARY_PATH="
printenv LD_LIBRARY_PATH
# if other variables are set you might need add more echo and printenv statements