Vagrant: Difference between revisions
imported>Lheckemann No edit summary |
imported>GeFrIt42 No edit summary |
||
Line 6: | Line 6: | ||
=== Using NFS mounts === | === Using NFS mounts === | ||
Add to your <tt>Vagrantfile</tt>: | |||
<syntaxhighlight lang="Ruby"> | |||
# Mount a folder inside the VM. | |||
config.vm.synced_folder "myfolder/", "/mnt/myfolder", type: "nfs", nfs_version: 4 | |||
</syntaxhighlight> | |||
Add to your <tt>configuration.nix</tt>: | Add to your <tt>configuration.nix</tt>: | ||
Line 13: | Line 19: | ||
# Minimal configuration for NFS support with Vagrant. | # Minimal configuration for NFS support with Vagrant. | ||
services.nfs.server.enable = true; | services.nfs.server.enable = true; | ||
# Add firewall exception for VirtualBox provider | |||
networking.firewall.extraCommands = '' | networking.firewall.extraCommands = '' | ||
ip46tables -I INPUT 1 -i vboxnet+ -p tcp -m tcp --dport 2049 -j ACCEPT | ip46tables -I INPUT 1 -i vboxnet+ -p tcp -m tcp --dport 2049 -j ACCEPT | ||
''; | ''; | ||
# Add firewall exception for libvirt provider when using NFSv4 | |||
networking.firewall.interfaces."virbr1" = { | |||
allowedTCPPorts = [ 2049 ]; | |||
allowedUDPPorts = [ 2049 ]; | |||
}; | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 02:24, 11 February 2023
NixOS as Host
Using NFS mounts
Add to your Vagrantfile:
# Mount a folder inside the VM.
config.vm.synced_folder "myfolder/", "/mnt/myfolder", type: "nfs", nfs_version: 4
Add to your configuration.nix:
{
# Minimal configuration for NFS support with Vagrant.
services.nfs.server.enable = true;
# Add firewall exception for VirtualBox provider
networking.firewall.extraCommands = ''
ip46tables -I INPUT 1 -i vboxnet+ -p tcp -m tcp --dport 2049 -j ACCEPT
'';
# Add firewall exception for libvirt provider when using NFSv4
networking.firewall.interfaces."virbr1" = {
allowedTCPPorts = [ 2049 ];
allowedUDPPorts = [ 2049 ];
};
}
This should make NFS mounts 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