Description of how to use the Nix expressions
This commit is contained in:
84
README.md
Normal file
84
README.md
Normal file
@@ -0,0 +1,84 @@
|
||||
# Overview
|
||||
|
||||
This package contains a collection of Nix expressions created by
|
||||
SHARCNET staff for various software packages. Once copied or linked
|
||||
into your *~/.nix-defexpr* directory they will allow you to install
|
||||
the associated package into your Nix environment.
|
||||
|
||||
These directions assume you have loaded the Nix module (this enabes
|
||||
your Nix environment and makes the various Nix commands avaialble)
|
||||
|
||||
|
||||
```sh
|
||||
module load nix
|
||||
```
|
||||
|
||||
# Obtaining the latest expressions
|
||||
|
||||
If you don't yet have a copy of *~/nix-nixpkgs-sharcnet*, you will
|
||||
need to clone a copy (use your SHARCNET credentials)
|
||||
|
||||
```sh
|
||||
cd ~
|
||||
git clone https://git.sharcnet.ca/tyson/nix-nixpkgs-sharcnet.git
|
||||
```
|
||||
|
||||
If you already have a copy, you can update to the latest version
|
||||
|
||||
```sh
|
||||
cd ~/nix-nixpkgs-sharcnet
|
||||
git pull
|
||||
```
|
||||
|
||||
## Installing an expression
|
||||
|
||||
To use any of the provided Nix expressions, you need to copy it to or
|
||||
link it into your *~/.nix-defexpr* directory (replace *package.nix*
|
||||
with the name of the Nix expression you wish to use)
|
||||
|
||||
```sh
|
||||
ln -s ../nix-nixpkgs-sharcnet/package.nix ~/.nix-defexpr/
|
||||
|
||||
```
|
||||
|
||||
Using a symbolic link has the advantage that it automatically gets
|
||||
updated whenever you update *~/nix-nixpkgs-sharcnet*.
|
||||
|
||||
# Using an expression
|
||||
|
||||
Once you have the expression in your *~/.nix-defexpr* you can use the
|
||||
`nix-env` command to install (or update) the associated package in
|
||||
your Nix environment.
|
||||
|
||||
## Installing and updating
|
||||
|
||||
To install or update the associated package (replace *package* with
|
||||
the base name of the Nix expression file you copied to
|
||||
*~/.nix-defexpr*)
|
||||
|
||||
```sh
|
||||
nix-env --install --attr package
|
||||
```
|
||||
|
||||
## Removing
|
||||
|
||||
To remove a package you first need to figure out its name (generally,
|
||||
but not nessesarily, the same as the name of the Nix expression file)
|
||||
|
||||
```sh
|
||||
nix-env --query
|
||||
```
|
||||
|
||||
Then you (replace *package* with the package name)
|
||||
|
||||
```sh
|
||||
nix-env --uninstall package
|
||||
```
|
||||
|
||||
## Reverting
|
||||
|
||||
To undo the last install/update/remove command
|
||||
|
||||
```sh
|
||||
nix-env --rollback
|
||||
```
|
||||
Reference in New Issue
Block a user