Skip to content

Testing in a VM

The easiest way to try Nurvus is in a NixOS VM. You can use UTM (macOS), QEMU, or VirtualBox.

1. Download the NixOS Minimal ISO

Get the latest minimal ISO from nixos.org/download:

  • x86_64: nixos-minimal-*-x86_64-linux.iso
  • aarch64 (Apple Silicon): nixos-minimal-*-aarch64-linux.iso

2. Create the VM

  • RAM: 2GB minimum (Demi runs the TUI only, Ollama can run on a separate machine)
  • Disk: 20GB+
  • Network: Bridged or shared networking so you can SSH in

3. Install NixOS

Boot the ISO and run the NixOS installer:

sudo -i
parted /dev/vda -- mklabel gpt
parted /dev/vda -- mkpart root ext4 1MB -8GB
parted /dev/vda -- mkpart swap linux-swap -8GB 100%
parted /dev/vda -- mkpart ESP fat32 1MB 512MB
parted /dev/vda -- set 3 esp on

mkfs.ext4 -L nixos /dev/vda1
mkswap -L swap /dev/vda2
mkfs.fat -F 32 -n boot /dev/vda3

mount /dev/disk/by-label/nixos /mnt
mkdir -p /mnt/boot
mount /dev/disk/by-label/boot /mnt/boot
swapon /dev/vda2

nixos-generate-config --root /mnt
nixos-install
reboot

4. Install Nurvus

After rebooting into NixOS, run the install script:

curl -sSL https://codeberg.org/ewrogers/nurvus/raw/branch/main/install.sh | sudo bash

5. Using a Remote Ollama

If your VM doesn't have enough RAM to run the LLM locally, point Demi at an Ollama instance on your host or another machine:

# In your flake.nix
services.nurvus = {
  enable = true;
  model = "qwen3:30b-a3b";
  llmUrl = "http://<host-ip>:11434";
  contextSize = 32768;
};

The NixOS module will skip installing local Ollama when using a remote URL.

6. Run Demi

demi