経緯

標準の nixos box on Vagrant on VirtualBox に Ruby 処理系をインストールしようとしています。以下の Vagrantfile があるディレクトリで作業しています。

# Vagrantfile
Vagrant.configure("2") do |config|
  config.vm.box = "nixos/nixos-18.03-x86_64"
end

vagrant up のあと vagrant ssh で NixOS 上のシェルに接続しました。
そのあと nixpkgs から nix-env -i ruby で Ruby をインストールしようとしたのですが、出力の最後に Killed と出て中断されてしまいます。終了ステータスは 137 であり、異常終了でした。以下はそのログです。

$ vagrant ssh
Last login: Fri Jun  8 13:38:06 2018 from 10.0.2.2

[vagrant@nixbox:~]$ ruby
ruby: command not found

[vagrant@nixbox:~]$ nix-env -i ruby
installing 'ruby-2.5.0'
these paths will be fetched (3.61 MiB download, 17.82 MiB unpacked):
  /nix/store/j9l2p2c1yhgb227cbr9n4yrd3x2h92gp-ruby-2.5.0
copying path '/nix/store/j9l2p2c1yhgb227cbr9n4yrd3x2h92gp-ruby-2.5.0' from 'https://cache.nixos.org'...
Killed

[vagrant@nixbox:~]$ echo $?
137

[vagrant@nixbox:~]$ ruby
ruby: command not found

NixOS に詳しくないため環境全体としておかしいのかもと思って試しに nix-env -i wget としてみたのですが、こちらは正常終了し、wget がインストールされました。

質問

  • どうすれば正常に Ruby をインストールできるのでしょうか?
  • なぜ nix-env -i ruby が中断されてしまうのでしょうか?
    • どこかにログが残っているでしたら知りたいです。簡単に探した程度では見つかりませんでした。

環境

  • ホスト: Ubuntu 18.04 bionic, VirtualBox 5.2.12 r122591 (Qt5.9.5), Vagrant 2.1.1
  • Vagrant box: nixos/nixos-18.03-x86_64
  • Vagrant box 内の NixOS の情報:

    [vagrant@nixbox:~]$ nixos-version
    18.03.131807.489a14add9a (Impala)
    
    [vagrant@nixbox:~]$ nix-env --version
    nix-env (Nix) 2.0
    

追記: メモリについて

コメントでのご指摘を受け、メモリ不足かどうか確認するために2つの端末で vagrant ssh し、片方で nix-env -i ruby、他方で while sleep 1; do free -h; done をしてみました。すると最初は下のような値だったものが、

[vagrant@nixbox:~]$ while sleep 1; do free -h; done
              total        used        free      shared  buff/cache   available
Mem:           993M         39M        914M        3.4M         39M        862M
Swap:            0B          0B          0B

だんだんと free が減っていき、最終的に下の値で止まりました。

              total        used        free      shared  buff/cache   available
Mem:           993M        904M         63M        3.4M         25M        4.4M
Swap:            0B          0B          0B

Killed が表示されて nix-env が終了すると元の値に戻ったため、確かに Vagrant/VirtualBox 内のメモリを使い果たしているようです。