diff options
author | Graham Christensen <graham@grahamc.com> | 2018-03-24 10:47:41 -0400 |
---|---|---|
committer | Graham Christensen <graham@grahamc.com> | 2018-03-25 19:52:00 -0400 |
commit | 92d53362d4da7e19b6a7a6b1b936a0a34a17c0c9 (patch) | |
tree | 0181e4b13913552df774069766369a5f75babbef /pkgs | |
parent | a0c525bd0a93fba70471392b8651882b52197788 (diff) |
Move all nixpkgs doc files in to the doc directory
This makes a makefile-driven developer workflow nicer.
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/development/idris-modules/README.md | 40 | ||||
-rw-r--r-- | pkgs/development/node-packages/README.md | 52 | ||||
-rw-r--r-- | pkgs/development/r-modules/README.md | 121 |
3 files changed, 3 insertions, 210 deletions
diff --git a/pkgs/development/idris-modules/README.md b/pkgs/development/idris-modules/README.md index 005ed3602851c..80b7ccefbcfa9 100644 --- a/pkgs/development/idris-modules/README.md +++ b/pkgs/development/idris-modules/README.md @@ -1,39 +1 @@ -Idris packages -============== - -This directory contains build rules for idris packages. In addition, -it contains several functions to build and compose those packages. -Everything is exposed to the user via the `idrisPackages` attribute. - -callPackage ------------- - -This is like the normal nixpkgs callPackage function, specialized to -idris packages. - -builtins ---------- - -This is a list of all of the libraries that come packaged with Idris -itself. - -build-idris-package --------------------- - -A function to build an idris package. Its sole argument is a set like -you might pass to `stdenv.mkDerivation`, except `build-idris-package` -sets several attributes for you. See `build-idris-package.nix` for -details. - -build-builtin-package ----------------------- - -A version of `build-idris-package` specialized to builtin libraries. -Mostly for internal use. - -with-packages -------------- - -Bundle idris together with a list of packages. Because idris currently -only supports a single directory in its library path, you must include -all desired libraries here, including `prelude` and `base`. \ No newline at end of file +Moved to [/doc/languages-frameworks/idris.section.md](/doc/languages-frameworks/idris.section.md) diff --git a/pkgs/development/node-packages/README.md b/pkgs/development/node-packages/README.md index 17a203ed12bef..9760285a915ed 100644 --- a/pkgs/development/node-packages/README.md +++ b/pkgs/development/node-packages/README.md @@ -1,51 +1 @@ -Node.js packages -================ -The `pkgs/development/node-packages` folder contains a generated collection of -[NPM packages](https://npmjs.com/) that can be installed with the Nix package -manager. - -As a rule of thumb, the package set should only provide *end user* software -packages, such as command-line utilities. Libraries should only be added to the -package set if there is a non-NPM package that requires it. - -When it is desired to use NPM libraries in a development project, use the -`node2nix` generator directly on the `package.json` configuration file of the -project. - -The package set also provides support for multiple Node.js versions. The policy -is that a new package should be added to the collection for the latest stable LTS -release (which is currently 6.x), unless there is an explicit reason to support -a different release. - -If your package uses native addons, you need to examine what kind of native -build system it uses. Here are some examples: - -* `node-gyp` -* `node-gyp-builder` -* `node-pre-gyp` - -After you have identified the correct system, you need to override your package -expression while adding in build system as a build input. For example, `dat` -requires `node-gyp-build`, so we override its expression in `default-v6.nix`: - -```nix -dat = nodePackages.dat.override (oldAttrs: { - buildInputs = oldAttrs.buildInputs ++ [ nodePackages.node-gyp-build ]; -}); -``` - -To add a package from NPM to nixpkgs: - - 1. Modify `pkgs/development/node-packages/node-packages-v6.json` to add, update - or remove package entries. (Or `pkgs/development/node-packages/node-packages-v4.json` - for packages depending on Node.js 4.x) - 2. Run the script: `(cd pkgs/development/node-packages && ./generate.sh)`. - 3. Build your new package to test your changes: - `cd /path/to/nixpkgs && nix-build -A nodePackages.<new-or-updated-package>`. - To build against a specific Node.js version (e.g. 4.x): - `nix-build -A nodePackages_4_x.<new-or-updated-package>` - 4. Add and commit all modified and generated files. - -For more information about the generation process, consult the -[README.md](https://github.com/svanderburg/node2nix) file of the `node2nix` -tool. +Moved to [/doc/languages-frameworks/node.section.md](/doc/languages-frameworks/node.section.md) diff --git a/pkgs/development/r-modules/README.md b/pkgs/development/r-modules/README.md index c8f02bd147806..e6fd09d764714 100644 --- a/pkgs/development/r-modules/README.md +++ b/pkgs/development/r-modules/README.md @@ -1,120 +1 @@ -R packages -========== - -## Installation - -Define an environment for R that contains all the libraries that you'd like to -use by adding the following snippet to your $HOME/.config/nixpkgs/config.nix file: - -```nix -{ - packageOverrides = super: let self = super.pkgs; in - { - - rEnv = super.rWrapper.override { - packages = with self.rPackages; [ - devtools - ggplot2 - reshape2 - yaml - optparse - ]; - }; - }; -} -``` - -Then you can use `nix-env -f "<nixpkgs>" -iA rEnv` to install it into your user -profile. The set of available libraries can be discovered by running the -command `nix-env -f "<nixpkgs>" -qaP -A rPackages`. The first column from that -output is the name that has to be passed to rWrapper in the code snipped above. - -However, if you'd like to add a file to your project source to make the -environment available for other contributors, you can create a `default.nix` -file like so: -```nix -let - pkgs = import <nixpkgs> {}; - stdenv = pkgs.stdenv; -in with pkgs; { - myProject = stdenv.mkDerivation { - name = "myProject"; - version = "1"; - src = if pkgs.lib.inNixShell then null else nix; - - buildInputs = with rPackages; [ - R - ggplot2 - knitr - ]; - }; -} -``` -and then run `nix-shell .` to be dropped into a shell with those packages -available. - -## RStudio - -RStudio uses a standard set of packages and ignores any custom R -environments or installed packages you may have. To create a custom -environment, see `rstudioWrapper`, which functions similarly to -`rWrapper`: - -```nix -{ - packageOverrides = super: let self = super.pkgs; in - { - - rstudioEnv = super.rstudioWrapper.override { - packages = with self.rPackages; [ - dplyr - ggplot2 - reshape2 - ]; - }; - }; -} -``` - -Then like above, `nix-env -f "<nixpkgs>" -iA rstudioEnv` will install -this into your user profile. - -Alternatively, you can create a self-contained `shell.nix` without the need to -modify any configuration files: - -```nix -{ pkgs ? import <nixpkgs> {} -}: - -pkgs.rstudioWrapper.override { - packages = with pkgs.rPackages; [ dplyr ggplot2 reshape2 ]; -} - -``` - -Executing `nix-shell` will then drop you into an environment equivalent to the -one above. If you need additional packages just add them to the list and -re-enter the shell. - -## Updating the package set - -```bash -nix-shell generate-shell.nix - -Rscript generate-r-packages.R cran > cran-packages.nix.new -mv cran-packages.nix.new cran-packages.nix - -Rscript generate-r-packages.R bioc > bioc-packages.nix.new -mv bioc-packages.nix.new bioc-packages.nix -``` - -`generate-r-packages.R <repo>` reads `<repo>-packages.nix`, therefor the renaming. - - -## Testing if the Nix-expression could be evaluated - -```bash -nix-build test-evaluation.nix --dry-run -``` - -If this exits fine, the expression is ok. If not, you have to edit `default.nix` +Moved to [/doc/languages-frameworks/r.section.md](/doc/languages-frameworks/r.section.md) |