f34ce41345
GitOrigin-RevId: b73c2221a46c13557b1b3be9c2070cc42cf01eb3
35 lines
1.1 KiB
Markdown
35 lines
1.1 KiB
Markdown
# Scheme {#sec-scheme}
|
|
|
|
## Package Management {#sec-scheme-package-management}
|
|
|
|
### Akku {#sec-scheme-package-management-akku}
|
|
|
|
About two hundred R6RS & R7RS libraries from [Akku](https://akkuscm.org/)
|
|
(which also mirrors [snow-fort](https://snow-fort.org/pkg))
|
|
are available inside the `akkuPackages` attrset, and the Akku executable
|
|
itself is at the top level as `akku`. The packages could be used
|
|
in a derivation's `buildInputs`, work inside of `nix-shell`, and
|
|
are tested using [Chez](https://www.scheme.com/) &
|
|
[Chibi](https://synthcode.com/wiki/chibi-scheme)
|
|
Scheme during build time.
|
|
|
|
Including a package as a build input is done in the typical Nix fashion.
|
|
For example, to include
|
|
[a bunch of SRFIs](https://akkuscm.org/packages/chez-srfi/)
|
|
primarily for Chez Scheme in a derivation, one might write:
|
|
|
|
```nix
|
|
{
|
|
buildInputs = [
|
|
chez
|
|
akkuPackages.chez-srfi
|
|
];
|
|
}
|
|
|
|
```
|
|
|
|
The package index is located in `pkgs/tools/package-management/akku`
|
|
as `deps.toml`, and should be updated occasionally by running `./update.sh`
|
|
in the directory. Doing so will pull the source URLs for new packages and
|
|
more recent versions, then write them to the TOML.
|
|
|