# -*- mode: ruby -*-
# vi: set ft=ruby :

NAME = "jabref-fedora-39"

Vagrant.configure("2") do |config|

  config.vm.box = "fedora/39-cloud-base"

  config.vm.define NAME
  config.vm.hostname = NAME

  config.vm.provider "virtualbox" do |v|
    v.name = NAME
    v.gui = true
    v.customize ["modifyvm", :id, "--memory", "4096", "--cpus", "2"]
  end

  config.vm.provision "shell", inline: <<-SHELL
    sudo dnf update -y
    sudo dnf install -y @kde-desktop-environment

    # Following X11 packages are NOT required even the clipboard functionality seems to ask for (cf. https://github.com/JabRef/jabref/issues/11464)
    # sudo dnf install -y kwin-x11 plasma-workspace-x11

    # We need exactly the java version required by JabRef. Auto download does not work on Fedora.
    sudo dnf install -y git java-21-openjdk-devel.x86_64

    sudo systemctl set-default graphical.target
  SHELL

  config.vm.provision "shell", privileged:false, inline: <<-SHELL
    git clone --recurse-submodules https://github.com/JabRef/jabref.git
    cd jabref && ./gradlew jar || true
  SHELL

  config.vm.provision "shell", inline: "sudo reboot"

  config.ssh.forward_x11 = true
end