Vagrant: Difference between revisions

From NixOS Wiki
imported>Samueldr
m Adds a (slightly wrong) documentation to make use of NFS mounts and vagrant.
imported>Mic92
document vagrant quirk
Line 27: Line 27:


See [[Vagrant_Box#NixOS_Plugin|the NixOS vagrant box page]], which as information about the <code>vagrant-nixos-plugin</code> project.
See [[Vagrant_Box#NixOS_Plugin|the NixOS vagrant box page]], which as information about the <code>vagrant-nixos-plugin</code> project.
== Troubleshooting:  conflicting dependencies bundler when installing vagrant plugins==
As of 18.03 vagrant plugins are broken:
<syntaxhighlight lang=console>
$  vagrant plugin update
Updating installed plugins...
Bundler, the underlying system Vagrant uses to install plugins,
reported an error. The error is shown below. These errors are usually
caused by misconfigured plugin installations or transient network
issues. The error from Bundler is:
conflicting dependencies bundler (= 1.14.6) and bundler (= 1.16.1)
  Activated bundler-1.16.1
  which does not match conflicting dependency (= 1.14.6)
  Conflicting dependency chains:
    bundler (= 1.16.1), 1.16.1 activated
  versus:
    bundler (= 1.14.6)
  Gems matching bundler (= 1.14.6):
    bundler-1.14.6
</syntaxhighlight>
using the following nix expression fixes the problems:
<syntaxhighlight lang=nix>
(import <nixpkgs> {
    overlays = [
      (self: super: {
        bundler = super.bundler.overrideAttrs (old: {
          name = "bundler-1.16.1";
          src = super.fetchurl {
            url = "https://rubygems.org/gems/bundler-1.16.1.gem";
            sha256 = "1s2nq4qnffxg3kwrk7cnwxcvfihlhxm9absl2l6d3qckf3sy1f22";
          };
        });
      })
    ];
  }).vagrant
</syntaxhighlight>
More information in this [https://github.com/NixOS/nixpkgs/issues/36880 issue]

Revision as of 12:43, 24 March 2018

Note: This page is about vagrant, see Vagrant Box for the NixOS vagrant boxes.

NixOS as Host

Using NFS mounts

Add to your configuration.nix:

{
  # Minimal configuration for NFS support with Vagrant.
  services.nfs.server.enable = true;
  # !!! This is "unsafe", ports needed should be found and fixed here.
  networking.firewall.enable = false;
}

This will make NFS mounts work.

Note: Do note that vagrant will, by default, want to use sudo and modify /etc/exports. As long as you are not defining exports with configuration.nix, vagrant should be able to work.

Plugins

NixOS Plugin

See the NixOS vagrant box page, which as information about the vagrant-nixos-plugin project.

Troubleshooting: conflicting dependencies bundler when installing vagrant plugins

As of 18.03 vagrant plugins are broken:

$  vagrant plugin update
Updating installed plugins...
Bundler, the underlying system Vagrant uses to install plugins,
reported an error. The error is shown below. These errors are usually
caused by misconfigured plugin installations or transient network
issues. The error from Bundler is:
conflicting dependencies bundler (= 1.14.6) and bundler (= 1.16.1)
  Activated bundler-1.16.1
  which does not match conflicting dependency (= 1.14.6)
  Conflicting dependency chains:
    bundler (= 1.16.1), 1.16.1 activated
  versus:
    bundler (= 1.14.6)
  Gems matching bundler (= 1.14.6):
    bundler-1.14.6

using the following nix expression fixes the problems:

(import <nixpkgs> {
    overlays = [
      (self: super: {
        bundler = super.bundler.overrideAttrs (old: {
          name = "bundler-1.16.1";
          src = super.fetchurl {
            url = "https://rubygems.org/gems/bundler-1.16.1.gem";
            sha256 = "1s2nq4qnffxg3kwrk7cnwxcvfihlhxm9absl2l6d3qckf3sy1f22";
          };
        });
      })
    ];
  }).vagrant

More information in this issue