User Tools

Site Tools


howto:languages

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
howto:languages [2023/07/29 13:18] tcmalhowto:languages [2024/02/23 11:05] (current) tcmal
Line 1: Line 1:
-====== 3. Installing new packages ======+====== 5. Installing new packages ======
  
 If you want to run some code you wrote, you probably need some language or runtime to do so - eg Python, GCC, Haskell. It might happen to be installed system wide, but when it's not, we use a tool called [[https://nixos.org/|Nix]] to install packages per-user without having version conflicts. If you want to run some code you wrote, you probably need some language or runtime to do so - eg Python, GCC, Haskell. It might happen to be installed system wide, but when it's not, we use a tool called [[https://nixos.org/|Nix]] to install packages per-user without having version conflicts.
Line 7: Line 7:
 <code> <code>
 # install 'hello' from nixpkgs # install 'hello' from nixpkgs
-$ nix-env -iA nixpkgs.hello  +$ nix profile install nixpkgs#hello 
-installing 'hello-2.12.1'+
 $ hello  $ hello 
 Hello, world! Hello, world!
Line 14: Line 13:
  
 # see everything installed for the current user # see everything installed for the current user
-$ nix-env -q  +$ nix profile list 
-hello-2.12.1+0 flake:nixpkgs#legacyPackages.x86_64-linux.hello github:NixOS/nixpkgs/98b00b6947a9214381112bdb6f89c25498db4959#legacyPackages.x86_64-linux.hello /nix/store/63l345l7dgcfz789w1y93j1540czafqh-hello-2.12.1
  
 # uninstall 'hello'. note no 'nixpkgs.' this time # uninstall 'hello'. note no 'nixpkgs.' this time
-$ nix-env --uninstall hello+$ nix profile remove 0 
 +removing 'flake:nixpkgs#legacyPackages.x86_64-linux.hello'
 </code> </code>
  
Line 29: Line 29:
   * [[https://zero-to-nix.com/|Zero to Nix]], a more up-to-date but slightly incomplete resource   * [[https://zero-to-nix.com/|Zero to Nix]], a more up-to-date but slightly incomplete resource
  
 +===== Alternatives =====
 +
 +The language versions that Nix can install might not be the ones you want, or it might be missing a package you need. In this case, you might want to try an alternative:
 +
 +  * Rust has [[https://rustup.rs/|rustup]]
 +  * Node.JS has [[https://github.com/nvm-sh/nvm|NVM]]
 +  * Ruby has [[https://github.com/rvm/rvm|RVM]]
 +  * [[https://asdf-vm.com/|asdf]] supports many other languages
 +  * You can just compile it from source and install it somewhere in your home directory.
 +
 +If you're having problems, feel free to ask an admin.
howto/languages.1690636683.txt.gz · Last modified: 2023/07/29 13:18 by tcmal