Skip to content
Snippets Groups Projects
Vagrantfile 1.83 KiB
Newer Older
  • Learn to ignore specific revisions
  • # -*- mode: ruby -*-
    # vi: set ft=ruby :
    
    # This Vagrantfile worked for Florian Sesser using Vagrant 2.2.16dev and
    # the VirtualBox Hypervisor. Earlier Vagrant and LibVirt did not work.
    
    Vagrant.configure("2") do |config|
      # For a complete reference, please see the online documentation at
      # https://docs.vagrantup.com.
    
      config.vm.define "payments1" do |config|
        config.vm.hostname = "payments1"
        config.vm.box = "esselius/nixos"
        config.vm.box_version = "20.09"
        config.vm.box_check_update = false
        config.vm.network "private_network", ip: "192.168.67.21"
      end
    
      config.vm.define "storage1" do |config|
        config.vm.hostname = "storage1"
        config.vm.box = "esselius/nixos"
        config.vm.box_version = "20.09"
        config.vm.box_check_update = false
        config.vm.network "private_network", ip: "192.168.67.22"
      end
    
      config.vm.define "storage2" do |config|
        config.vm.hostname = "storage2"
        config.vm.box = "esselius/nixos"
        config.vm.box_version = "20.09"
        config.vm.box_check_update = false
        config.vm.network "private_network", ip: "192.168.67.23"
      end
    
    
    Florian Sesser's avatar
    Florian Sesser committed
      config.vm.define "monitoring1" do |config|
        config.vm.hostname = "monitoring1"
        config.vm.box = "esselius/nixos"
        config.vm.box_version = "20.09"
        config.vm.box_check_update = false
        config.vm.network "private_network", ip: "192.168.67.24"
      end
    
    
      # To make the VMs assign the static IPs to the network interfaces we need a rebuild:
    
      config.vm.provision "shell", inline: "echo '{nix.trustedUsers = [ \"@wheel\" \"root\" \"vagrant\" ];}' > /etc/nixos/custom-configuration.nix"
    
      config.vm.provision "shell", inline: "nixos-rebuild switch"
    
      config.trigger.after :up do |trigger|
        trigger.info = "Hostname and IP address this host actually uses:"
        trigger.run_remote = {inline: "echo `hostname` `ifconfig | egrep -o '192.168.67.[0-9]* '`"}
      end
    
    end