BEAM docs: recommend nix-shell -p and shell.nix instead of nix-env (#255131)

* BEAM docs: recommend `nix-shell -p` and `shell.nix` instead of `nix-env`

Co-authored-by: asymmetric <lorenzo@mailbox.org>
This commit is contained in:
Valentin Gagarin 2023-09-18 16:34:30 +02:00 committed by GitHub
parent c62b4a053c
commit e2c2528075
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -44,11 +44,29 @@ There is also a `buildMix` helper, whose behavior is closer to that of `buildErl
## How to Install BEAM Packages {#how-to-install-beam-packages}
BEAM builders are not registered at the top level, simply because they are not relevant to the vast majority of Nix users. To install any of those builders into your profile, refer to them by their attribute path `beamPackages.rebar3`:
BEAM builders are not registered at the top level, simply because they are not relevant to the vast majority of Nix users.
To use any of those builders into your environment, refer to them by their attribute path under `beamPackages`, e.g. `beamPackages.rebar3`:
::: {.example #ex-beam-ephemeral-shell}
# Ephemeral shell
```ShellSession
$ nix-env -f "<nixpkgs>" -iA beamPackages.rebar3
$ nix-shell -p beamPackages.rebar3
```
:::
::: {.example #ex-beam-declarative-shell}
# Declarative shell
```nix
let
pkgs = import <nixpkgs> { config = {}; overlays = []; };
in
pkgs.mkShell {
packages = [ pkgs.beamPackages.rebar3 ];
}
```
:::
## Packaging BEAM Applications {#packaging-beam-applications}