Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Desk is a lightweight module alternative! #12

Closed
szaghi opened this issue Oct 28, 2015 · 3 comments
Closed

Desk is a lightweight module alternative! #12

szaghi opened this issue Oct 28, 2015 · 3 comments

Comments

@szaghi
Copy link

szaghi commented Oct 28, 2015

Dear all,

this is not a issue-ticket, just a post to thank you for this great script and to make you conscious that you have created a very nice module load/unload lightweight-alternative!

I was frustrating with the cumbersome configuration of the unix command module and its modulefiles paths. I searched for a lightweight configuration-painless-alternative and I found your great desk.

You do not mention this application-case, but it is perfect for this. My workflow is now the following:

  • use desk to manage modulefile-like environment configuration: they are all into my home under the desks directory... easy to remember, easy to maintain;
  • use desk list like the old module avail to list the available modules;
  • use desk . desk-script like the old module load module-script to load the module;
  • use desk like old module list to list the loaded modules;
  • use exit like the old module unload module-script to revert back to the original shell.

This is a very awesome module replacement!

For example, the desk module file for loading gcc-6.0 environment is

# gcc-6.0.sh
#
# Description: load gcc 6.0 environment
#

PATH=/opt/arch/gcc/6.0/bin:$PATH
LD_LIBRARY_PATH=/opt/arch/gcc/6.0/lib/mpich:/opt/arch/gcc/6.0/lib:$LD_LIBRARY_PATH
LD_RUN_PATH=/opt/arch/gcc/6.0/lib/mpich:/opt/arch/gcc/6.0/lib:$LD_RUN_PATH
MANPATH=/opt/arch/gcc/6.0/share/man:$MANPATH
export PATH LD_LIBRARY_PATH LD_RUN_PATH MANPATH

Using deck as above described I obtain:

→ desk list
gcc-6.0 - load gcc 6.0 environment

→ desk . gcc-6.0

→ desk
gcc-6.0
load gcc 6.0 environment

→ gfortran --version

→ gfortran --version
GNU Fortran (GCC) 6.0.0 20151027 (experimental)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

exit

→ gfortran --version
GNU Fortran (GCC) 5.2.0
Copyright (C) 2015 Free Software Foundation, Inc.

GNU Fortran comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of GNU Fortran
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING

Very nice!

Thank you very much!

@jamesob
Copy link
Owner

jamesob commented Oct 28, 2015

Thanks much for the kind words, @szaghi. I'm glad to hear you're getting some mileage out of desk. When I released this project, I half expected to be told about existing, mature tools that did this sort of thing (but better). I sure didn't expect this level of response.

I'd like to improve the README and example deskfiles to represent your use. If you have any thoughts on this, PRs or comments in this issue are warmly encouraged.

Thanks again for writing this note, and please get in touch if there's anything I can do to make desk more useful for you.

@szaghi
Copy link
Author

szaghi commented Oct 29, 2015

@jamesob
I will try to put this usage-case into your readme, but my English is very bad, thus review carefully my work before accept my future PR.

I am using desk routinely, I will give you feedbacks as I will find any interesting issues or possible improvements.

Thank you again.

@szaghi
Copy link
Author

szaghi commented Oct 29, 2015

@jamesob my PR has been sent.

Thank you again and see you soon.

@szaghi szaghi closed this as completed Oct 29, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants