Luke Granger-Brown
57725ef3ec
git-subtree-dir: third_party/nixpkgs git-subtree-split: 76612b17c0ce71689921ca12d9ffdc9c23ce40b2
31 lines
1.1 KiB
Markdown
31 lines
1.1 KiB
Markdown
# Hy {#sec-language-hy}
|
|
|
|
## Installation {#ssec-hy-installation}
|
|
|
|
### Installation without packages {#installation-without-packages}
|
|
|
|
You can install `hy` via nix-env or by adding it to `configuration.nix` by referring to it as a `hy` attribute. This kind of installation adds `hy` to your environment and it successfully works with `python3`.
|
|
|
|
::: {.caution}
|
|
Packages that are installed with your python derivation, are not accessible by `hy` this way.
|
|
:::
|
|
|
|
### Installation with packages {#installation-with-packages}
|
|
|
|
Creating `hy` derivation with custom `python` packages is really simple and similar to the way that python does it. Attribute `hy` provides function `withPackages` that creates custom `hy` derivation with specified packages.
|
|
|
|
For example if you want to create shell with `matplotlib` and `numpy`, you can do it like so:
|
|
|
|
```ShellSession
|
|
$ nix-shell -p "hy.withPackages (ps: with ps; [ numpy matplotlib ])"
|
|
```
|
|
|
|
Or if you want to extend your `configuration.nix`:
|
|
```nix
|
|
{ # ...
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
(hy.withPackages (py-packages: with py-packages; [ numpy matplotlib ]))
|
|
];
|
|
}
|
|
```
|