Raku
Installing Rakudo and Zef
Rakudo is the preferred implementation of Raku, and the zef the preferred module manager. Install them in a nix shell via
nix-shell -p rakudo zef
or install them permanently system-wide by adding pkgs.rakudo
and pkgs.zef
to your NixOS configuration file.
To create a Nix user environment on NixOS, run
nix-env -iA nixos.rakudo
(For environments or flakes on non-NixOS machines, different recommendations apply.[1])
No Nix packages currently exist for the Rakudo Star distribution, which bundles Rakudo with a collection of modules the language documentation. Thus, to use it, you need to download and compile it.[2] This way, you'll also always get the latest Rakudo version.
Making the Readline library available
When opening an interactive environment (by running rakudo
, or its symlink raku
, without arguments), you may get an error message like this:
I ran into a problem while trying to set up Readline: Could not instantiate role 'ReadlineBehavior'; exception details:
Cannot locate native library 'libreadline.so.7': libreadline.so.7: cannot open shared object file: No such file or directory
in method setup at [...]
Falling back to Linenoise (if present)
No line editor found.
You may want to exit first and `zef install Readline`, `zef install
Linenoise`, or `zef install Terminal::LineEditor` or install `rlwrap`
for a line editor before entering the REPL again.
And indeed, keyboard commands like Arrow-up
to go through history will not work.
Resources
- Examples for Raku Nix Shells: https://github.com/rcmlz/Raku-Nix-Shells
References
- ↑ See https://search.nixos.org/packages?channel=25.05&show=rakudo&query=raku under the tab nix-env
- ↑ https://rakudo.org/star