From a15fbab8e9dcc1b0993de04a631b23dd9f8b53f6 Mon Sep 17 00:00:00 2001 From: Guillaume Girol Date: Mon, 8 Nov 2021 12:00:00 +0000 Subject: doc: minimize mentions of nix-env -i without -A in nixpkgs manual --- doc/builders/packages/linux.section.md | 2 +- doc/contributing/submitting-changes.chapter.md | 8 ++++---- doc/languages-frameworks/emscripten.section.md | 4 ++-- doc/languages-frameworks/idris.section.md | 5 +---- doc/languages-frameworks/octave.section.md | 12 ++---------- doc/languages-frameworks/perl.section.md | 12 ++++-------- 6 files changed, 14 insertions(+), 29 deletions(-) diff --git a/doc/builders/packages/linux.section.md b/doc/builders/packages/linux.section.md index d8f0d0ad445..f669c720710 100644 --- a/doc/builders/packages/linux.section.md +++ b/doc/builders/packages/linux.section.md @@ -29,7 +29,7 @@ How to add a new (major) version of the Linux kernel to Nixpkgs: 4. If needed you can also run `make menuconfig`: ```ShellSession - $ nix-env -i ncurses + $ nix-env -f "" -iA ncurses $ export NIX_CFLAGS_LINK=-lncurses $ make menuconfig ARCH=arch ``` diff --git a/doc/contributing/submitting-changes.chapter.md b/doc/contributing/submitting-changes.chapter.md index 221ba300619..ca3532ea83d 100644 --- a/doc/contributing/submitting-changes.chapter.md +++ b/doc/contributing/submitting-changes.chapter.md @@ -43,13 +43,13 @@ - nixpkgs: - update pkg - - `nix-env -i pkg-name -f ` + - `nix-env -iA pkg-attribute-name -f ` - add pkg - Make sure it’s in `pkgs/top-level/all-packages.nix` - - `nix-env -i pkg-name -f ` + - `nix-env -iA pkg-attribute-name -f ` - _If you don’t want to install pkg in you profile_. - - `nix-build -A pkg-attribute-name /default.nix` and check results in the folder `result`. It will appear in the same directory where you did `nix-build`. - - If you did `nix-env -i pkg-name` you can do `nix-env -e pkg-name` to uninstall it from your system. + - `nix-build -A pkg-attribute-name ` and check results in the folder `result`. It will appear in the same directory where you did `nix-build`. + - If you installed your package with `nix-env`, you can run `nix-env -e pkg-name` where `pkg-name` is as reported by `nix-env -q` to uninstall it from your system. - NixOS and its modules: - You can add new module to your NixOS configuration file (usually it’s `/etc/nixos/configuration.nix`). And do `sudo nixos-rebuild test -I nixpkgs= --fast`. diff --git a/doc/languages-frameworks/emscripten.section.md b/doc/languages-frameworks/emscripten.section.md index b3ddf0cedae..c96f689c4c0 100644 --- a/doc/languages-frameworks/emscripten.section.md +++ b/doc/languages-frameworks/emscripten.section.md @@ -15,12 +15,12 @@ Modes of use of `emscripten`: If you want to work with `emcc`, `emconfigure` and `emmake` as you are used to from Ubuntu and similar distributions you can use these commands: - * `nix-env -i emscripten` + * `nix-env -f "" -iA emscripten` * `nix-shell -p emscripten` * **Declarative usage**: - This mode is far more power full since this makes use of `nix` for dependency management of emscripten libraries and targets by using the `mkDerivation` which is implemented by `pkgs.emscriptenStdenv` and `pkgs.buildEmscriptenPackage`. The source for the packages is in `pkgs/top-level/emscripten-packages.nix` and the abstraction behind it in `pkgs/development/em-modules/generic/default.nix`. + This mode is far more power full since this makes use of `nix` for dependency management of emscripten libraries and targets by using the `mkDerivation` which is implemented by `pkgs.emscriptenStdenv` and `pkgs.buildEmscriptenPackage`. The source for the packages is in `pkgs/top-level/emscripten-packages.nix` and the abstraction behind it in `pkgs/development/em-modules/generic/default.nix`. From the root of the nixpkgs repository: * build and install all packages: * `nix-env -iA emscriptenPackages` diff --git a/doc/languages-frameworks/idris.section.md b/doc/languages-frameworks/idris.section.md index ffdd706eb0b..19146844cff 100644 --- a/doc/languages-frameworks/idris.section.md +++ b/doc/languages-frameworks/idris.section.md @@ -5,10 +5,7 @@ The easiest way to get a working idris version is to install the `idris` attribute: ```ShellSession -$ # On NixOS -$ nix-env -i nixos.idris -$ # On non-NixOS -$ nix-env -i nixpkgs.idris +$ nix-env -f "" -iA idris ``` This however only provides the `prelude` and `base` libraries. To install idris with additional libraries, you can use the `idrisPackages.with-packages` function, e.g. in an overlay in `~/.config/nixpkgs/overlays/my-idris.nix`: diff --git a/doc/languages-frameworks/octave.section.md b/doc/languages-frameworks/octave.section.md index ff872f4a755..4ad2cb0d5fb 100644 --- a/doc/languages-frameworks/octave.section.md +++ b/doc/languages-frameworks/octave.section.md @@ -24,18 +24,10 @@ You can test building an Octave package as follows: $ nix-build -A octavePackages.symbolic ``` -When building Octave packages with `nix-build`, the `buildOctavePackage` function adds `octave-octaveVersion` to; the start of the package's name attribute. - -This can be required when installing the package using `nix-env`: - -```ShellSession -$ nix-env -i octave-6.2.0-symbolic -``` - -Although, you can also install it using the attribute name: +To install it into your user profile, run this command from the root of the repository: ```ShellSession -$ nix-env -i -A octavePackages.symbolic +$ nix-env -f. -iA octavePackages.symbolic ``` You can build Octave with packages by using the `withPackages` passed-through function. diff --git a/doc/languages-frameworks/perl.section.md b/doc/languages-frameworks/perl.section.md index c992b9d658b..9bfd209fec5 100644 --- a/doc/languages-frameworks/perl.section.md +++ b/doc/languages-frameworks/perl.section.md @@ -58,13 +58,7 @@ in `all-packages.nix`. You can test building a Perl package as follows: $ nix-build -A perlPackages.ClassC3 ``` -`buildPerlPackage` adds `perl-` to the start of the name attribute, so the package above is actually called `perl-Class-C3-0.21`. So to install it, you can say: - -```ShellSession -$ nix-env -i perl-Class-C3 -``` - -(Of course you can also install using the attribute name: `nix-env -i -A perlPackages.ClassC3`.) +To install it with `nix-env` instead: `nix-env -f. -iA perlPackages.ClassC3`. So what does `buildPerlPackage` do? It does the following: @@ -135,9 +129,11 @@ This will remove the `-I` flags from the shebang line, rewrite them in the `use Nix expressions for Perl packages can be generated (almost) automatically from CPAN. This is done by the program `nix-generate-from-cpan`, which can be installed as follows: ```ShellSession -$ nix-env -i nix-generate-from-cpan +$ nix-env -f "" -iA nix-generate-from-cpan ``` +Substitute `` by the path of a nixpkgs clone to use the latest version. + This program takes a Perl module name, looks it up on CPAN, fetches and unpacks the corresponding package, and prints a Nix expression on standard output. For example: ```ShellSession -- cgit 1.4.1