I am attempting to switch our ARTIQ 6 Illinois setup to an Ubuntu 20.04 VM on Windows 10 VirtuaBox. I have set up with the same version of Ubuntu installed on a test computer but am encountering a persistent issue trying through VirtualBox. When I try to spawn the nix shell for the first time, it fails referring to Vivado missing. I tried installing Vivado 2021.2 and see that it works correctly and has a symlink to the /opt/Xilinx folder as ARTIQ expects. However, I still see this when attempting to start the shell (shown here follows a second attempt).

nix-shell artiq-6-illinois-env.nix

these 4 derivations will be built:
  /nix/store/s93zlpl2fl7msgkgm95y9hpvi5rpc9vd-artiq-board-kasli-illinoismaster-6.7671.b50d30ba-vivado-checkpoint.drv
  /nix/store/z547by2lzajwngqwaxn94zx0yxswajv4-artiq-board-kasli-illinoismaster-6.7671.b50d30ba-vivado-output.drv
  /nix/store/ihd62ccfca4bp5q4jdn47ny075kl4ph5-artiq-board-kasli-illinoismaster-6.7671.b50d30ba.drv
  /nix/store/fnakgjyia7zsniamgn8m42mpckqaq6jf-python3-3.8.11-env.drv
building '/nix/store/s93zlpl2fl7msgkgm95y9hpvi5rpc9vd-artiq-board-kasli-illinoismaster-6.7671.b50d30ba-vivado-checkpoint.drv'...
unpacking sources
unpacking source archive /nix/store/q1jmhgqj2yxgy0h25m984nbnskj8mfpv-artiq-board-kasli-illinoismaster-6.7671.b50d30ba-gateware
source root is artiq-board-kasli-illinoismaster-6.7671.b50d30ba-gateware
patching sources
configuring
no configure script, doing nothing
building
/etc/profile: line 16: /opt/Xilinx/Vivado/2021.2/settings64.sh: No such file or directory
/etc/profile: line 16: /opt/Xilinx/Vivado/2021.2/settings64.sh: No such file or directory
/etc/profile: line 16: /opt/Xilinx/Vivado/2021.2/settings64.sh: No such file or directory
/etc/profile: line 16: /opt/Xilinx/Vivado/2021.2/settings64.sh: No such file or directory

** Message: 03:05:52.870: Requires Linux version >= 3.19 built with CONFIG_USER_NS
** Message: 03:05:52.871: Run: sudo sysctl -w kernel.unprivileged_userns_clone=1

** (process:305): ERROR **: 03:05:52.871: main: unshare: No space left on device
/nix/store/pv61va1xnggylxjcd3s35pjn3r66v0zk-stdenv-linux/setup: line 1309:    15 Trace/breakpoint trap   (core dumped) vivado -mode batch -source top_route.tcl
error: builder for '/nix/store/s93zlpl2fl7msgkgm95y9hpvi5rpc9vd-artiq-board-kasli-illinoismaster-6.7671.b50d30ba-vivado-checkpoint.drv' failed with exit code 133;
       last 10 log lines:
       > /etc/profile: line 16: /opt/Xilinx/Vivado/2021.2/settings64.sh: No such file or directory
       > /etc/profile: line 16: /opt/Xilinx/Vivado/2021.2/settings64.sh: No such file or directory
       > /etc/profile: line 16: /opt/Xilinx/Vivado/2021.2/settings64.sh: No such file or directory
       > /etc/profile: line 16: /opt/Xilinx/Vivado/2021.2/settings64.sh: No such file or directory
       > /etc/profile: line 16: /opt/Xilinx/Vivado/2021.2/settings64.sh: No such file or directory
       > ** Message: 03:05:52.870: Requires Linux version >= 3.19 built with CONFIG_USER_NS
       > ** Message: 03:05:52.871: Run: sudo sysctl -w kernel.unprivileged_userns_clone=1
       >
       > ** (process:305): ERROR **: 03:05:52.871: main: unshare: No space left on device
       > /nix/store/pv61va1xnggylxjcd3s35pjn3r66v0zk-stdenv-linux/setup: line 1309:    15 Trace/breakpoint trap   (core dumped) vivado -mode batch -source top_route.tcl
       For full logs, run 'nix log /nix/store/s93zlpl2fl7msgkgm95y9hpvi5rpc9vd-artiq-board-kasli-illinoismaster-6.7671.b50d30ba-vivado-checkpoint.drv'.
error: 1 dependencies of derivation '/nix/store/z547by2lzajwngqwaxn94zx0yxswajv4-artiq-board-kasli-illinoismaster-6.7671.b50d30ba-vivado-output.drv' failed to build
error: 1 dependencies of derivation '/nix/store/ihd62ccfca4bp5q4jdn47ny075kl4ph5-artiq-board-kasli-illinoismaster-6.7671.b50d30ba.drv' failed to build
error: 1 dependencies of derivation '/nix/store/fnakgjyia7zsniamgn8m42mpckqaq6jf-python3-3.8.11-env.drv' failed to build

The env.nix looks like (I do require openocd)

let
  # pkgs contains the NixOS package collection. ARTIQ depends on some of them, and
  # you may want some additional packages from there.
  pkgs = import <nixpkgs> {};
  artiq-full = import <artiq-full> { inherit pkgs; };
in
  pkgs.mkShell {
    buildInputs = [
      (pkgs.python3.withPackages(ps: [
        # List desired Python packages here.

        # You probably want these two.
        artiq-full.artiq
        artiq-full.artiq-comtools

        # You need a board support package if and only if you intend to flash
        # a board (those packages contain only board firmware).
        # The lines below are only examples, you need to select appropriate
        # packages for your boards.
        #artiq-full.artiq-board-kc705-nist_clock
        artiq-full.artiq-board-kasli-illinoismaster
        #ps.paramiko  # needed if and only if flashing boards remotely (artiq_flash -H)

        # The NixOS package collection contains many other packages that you may find
        # interesting for your research. Here are some examples:
        #ps.pandas
        #ps.numpy
        #ps.scipy
        ps.numba
        (ps.matplotlib.override { enableQt = true; })
        #ps.bokeh
        #ps.cirq
        #ps.qiskit
      ]))

      # List desired non-Python packages here
      artiq-full.openocd  # needed if and only if flashing boards
      # Other potentially interesting packages from the NixOS package collection:
      #pkgs.gtkwave
      #pkgs.spyder
      #pkgs.R
      #pkgs.julia
    ];
  }

and nix.conf

substituters = https://cache.nixos.org https://nixbld.m-labs.hk
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= nixbld.m-labs.hk-1:5aSRVA5b320xbNvu30tqxVPXpld73bhtOeH6uAjRyHc=

I believe I have tried the solutions suggested in posts mentioning the same error (Installing Xilinx Vivado, Ubuntu variant choice, Vivado problem during firmware build).

Let me know if there's any info I can provide, thanks.

Use the exact nixpkgs version which is used by hydra, e.g. 022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf (can be found on the "inputs" tab e.g. https://nixbld.m-labs.hk/eval/5375#tabs-inputs). You don't need Vivado and you don't need to try different host distros for Nix, the posts you mention are not actually related to your issue.

Or switch to ARTIQ-7 and Nix flakes which don't have this kind of problem.