Nix Vegas

The world's largest Linux package repo is back at DEF CON

This August 6-9, 2026, at DEF CON 34

@NixVegas on GitHub NixVegas on Bluesky NixVegas on Mastodon @NixVegas on X @NixVegasDEFCON on YouTube Nix Vegas Live

Welcome to Nix Vegas

We have every package from the world's largest software repository on machines here in this very room. Hopefully we've made it easy to get started.

On the network

Once you're on our Wi-Fi or plugged in, everything below lives on the event network and loads at LAN speed. Start here:

Nixpkgs 26.05

We serve a full copy of nixpkgs, the world's largest and most up to date Linux package repository by many measures, straight from our own git server, plus every package built against it from our cache. Our version is 26.05.20260812114805.9f78f44 at commit 9f78f44a87948854445dae0b6bf82b2e87e4efb5. Use it whichever way you like:

Flakes. Point nix run at our git server and cache in one shot, no setup. Our current release:

nix run \
  --option substituters https://cache.nixos.lv \
  https://git.nixos.lv/NixOS/nixpkgs/archive/nixos-26.05.tar.gz#hello

Or the bleeding edge, nixos-unstable:

nix run \
  --option substituters https://cache.nixos.lv \
  https://git.nixos.lv/NixOS/nixpkgs/archive/nixos-unstable.tar.gz#hello

We keep the previous release, nixos-25.11, cached too, so swap that branch into either command if you need it. Swap hello for any package. To pin a branch in your own flake.nix, use this as your nixpkgs input (or nixos-unstable):

git+https://git.nixos.lv/NixOS/nixpkgs?ref=nixos-26.05

Channels. The classic route:

nix-channel --remove nixpkgs
nix-channel --add https://nixos.lv/nixos/channel/tarballs/nixos-26.05.20260812114805.9f78f44.tar.xz nixpkgs
nix-channel --update

Clone it. Want the tree itself to hack on? Grab our mirror. The LAN is fast, so a full clone is the default:

git clone https://git.nixos.lv/NixOS/nixpkgs.git

Or shallow, if you just want the latest quickly:

git clone --depth 1 https://git.nixos.lv/NixOS/nixpkgs.git

(A --filter=blob:none clone is another option: full history, blobs on demand.)

Downloading packages from our binary cache

However you got our nixpkgs above, point Nix at https://cache.nixos.lv to pull packages from the room instead of the venue uplink. On the classic channel:

nix-shell --option substituters https://cache.nixos.lv -p ghidra

We use Let's Encrypt and pass through the "official" Hydra binary cache key, so no more configuration is needed and you mostly don't have to trust us to serve you packages except for accepting that you'll need to hit our infra to download them. If you use the above version of nixpkgs, we will likely have what you want cached. If we don't, cache.nixos.lv fetches it from https://cache.nixos.org for you on the fly and keeps a copy for the next person, so it only crosses the venue uplink once.

You can use https://search.nixos.org or our local nixos-pagefind built in the docs section to find packages.

Trust but verify

While you could just grab our nixpkgs following the above instructions, you can also check that it's what we say it is yourself. (Installing random software at DEF CON seems like a great idea, right)?

diff -r \
  $(nix-prefetch-url --print-path --unpack https://nixos.lv/nixos/channel/tarballs/nixos-26.05.20260812114805.9f78f44.tar.xz | tee /dev/stderr | tail -n1) \
  $(nix-prefetch-url --print-path --unpack https://github.com/NixOS/nixpkgs/archive/9f78f44a87948854445dae0b6bf82b2e87e4efb5.tar.gz | tee /dev/stderr | tail -n1)

You should just see versions that differ.

NixOS 26.05

You can also download our images that are configured to use https://cache.nixos.lv as their primary substituter to retrieve packages.

ISOs

Proxmox Images

Docs

PXE boot your machine into NixOS

Our DHCP servers all serve the same config as the above ISOs via NixOS netboot. Boot into PXE while plugged into one and you'll boot directly into NixOS.