7 ms·
How does Nix compare to Environment Modules: https://modules.sourceforge.net/ https://modules.sourceforge.net/ Am I correct in understanding they are similar,
by fuball63 4y ago
How does Nix compare to Environment Modules: https://modules.sourceforge.net/ https://modules.sourceforge.net/ Am I correct in understanding they are similar, except Nix has the "pure" package building?
- rgoulter 4y agoI'm not familiar with Environment Modules. I see they're popular in HPC? One difference: On Nix's homepage (https://nixos.org https://nixos.org), the first word which stands out is "reproducible". -- If I search the read the docs for "reproducible", the word shows up once. https://modules.readthedocs.io/en/latest/index.html https://modules.readthedocs.io/en/latest/index.html Not sure if there's anything recent, but links from this may be useful: https://github.com/freuk/awesome-nix-hpc https://github.com/freuk/awesome-nix-hpc
- rekado 4y agoThis is not Nix, but in showing the Environment Modules support for Guix the blog post also shows how functional package management (as implemented in Nix and Guix) differ: https://hpc.guix.info/blog/2022/05/back-to-the-future-modules-for-guix-packages/ https://hpc.guix.info/blog/2022/05/back-to-the-future-module...
- pxc 4y agoHelpful article and cool feature! Thanks for sharing
- forgotpwd16 4y agoModules imperatively modify the current (shell) environment (PATH and other variables) but you've to install anything required by modulefiles yourself. Nix handles package management and also allows you to declaratively create an environment to which you enter. For example `module load gcc` will bring gcc to your environment but it must already be installed by the administrator. On the other hand on Nix, you can either do something similar with `nix-shell -p gcc` which will give you an environment with gcc that if it isn't available on store will download it, but you can also create a `shell.nix` where you specify anything you need explicitly (have those packages available, download those dependencies not available as packages, make those config files, etc). Overall Modules has only a part of the functionality offered by Nix. *Although `nix-shell` in newer unified `nix` command has been broken to few subcommands. Can find more info at https://blog.ysndr.de/posts/guides/2021-12-01-nix-shells/ https://blog.ysndr.de/posts/guides/2021-12-01-nix-shells/ if interested.