Hello, I’m trying to get a Ruby REPL setup and I want to have the documentation available in it. I’m new to NixOS and Ruby, the closest issue I have found is with homebrew.
So if I try creating a nix shell with nix-shell -E "(import <nixpkgs> {}).ruby.withPackages (pkgs: with pkgs; [ pry nokogiri ])"
Or using the following shell.nix I created:
with (import (fetchTarball https://github.com/nixos/nixpkgs/archive/nixpkgs-unstable.tar.gz) {});
let
myruby = ruby_3_2.override {
docSupport = true;
useBaseRuby = false;
};
in
mkShell {
buildInputs = [
bundix
myruby
myruby.gems.pry
];
}
Then do ri Array
, I get Nothing known about Array
.
If I do ri --list-doc-dirs
, then I get
/nix/store/2axmqk00plnxpbqimkg9y5chf74jzz8y-ruby-3.2.2/share/ri/share/ri/3.2.0/system
/nix/store/2axmqk00plnxpbqimkg9y5chf74jzz8y-ruby-3.2.2/share/ri/share/ri/3.2.0/site
/home/rich/.local/share/rdoc
The only contents of share
are:
/nix/store/2axmqk00plnxpbqimkg9y5chf74jzz8y-ruby-3.2.2/share
/nix/store/2axmqk00plnxpbqimkg9y5chf74jzz8y-ruby-3.2.2/share/doc
/nix/store/2axmqk00plnxpbqimkg9y5chf74jzz8y-ruby-3.2.2/share/doc/ruby
/nix/store/2axmqk00plnxpbqimkg9y5chf74jzz8y-ruby-3.2.2/share/man
/nix/store/2axmqk00plnxpbqimkg9y5chf74jzz8y-ruby-3.2.2/share/man/man1
/nix/store/2axmqk00plnxpbqimkg9y5chf74jzz8y-ruby-3.2.2/share/man/man1/erb.1.gz
/nix/store/2axmqk00plnxpbqimkg9y5chf74jzz8y-ruby-3.2.2/share/man/man1/irb.1.gz
/nix/store/2axmqk00plnxpbqimkg9y5chf74jzz8y-ruby-3.2.2/share/man/man1/ri.1.gz
/nix/store/2axmqk00plnxpbqimkg9y5chf74jzz8y-ruby-3.2.2/share/man/man1/ruby.1.gz
I see comments about removing the docs from the main derivations closure in Ruby’s default.nix and rbconfig.rb. So I guess I am just missing a package or an option of some sort?