A live Linux distribution for DevOps engineers
Niri scrollable-tiling compositor · Noctalia shell · Container-native toolchain · Live ISO
Veilbox is a live Linux distribution purpose-built for DevOps engineers. Boot it on any x86_64 machine and instantly get a keyboard-driven Wayland desktop with a complete container-native DevOps toolchain — Docker, Kubernetes tools, Terraform, cloud CLIs, and system monitoring — pre-installed and ready to work.
No installation required. No configuration needed. Boot the ISO, and you're in a scrollable-tiling Niri compositor with Noctalia shell, terminal, launcher, and your full toolkit. When you're ready to make it permanent, the Calamares graphical installer handles disk installation.
Built weekly via GitHub Actions on Debian Trixie (13). Vetted with automated builds, size checks, and release publishing.
| Need | How Veilbox Delivers |
|---|---|
| Zero-setup workstation | Live ISO — burn to USB, boot, and you have a full environment in 30 seconds |
| Ephemeral / disposable | Use it for CTF work, audits, CI debugging, or conference machines. Reboot to reset |
| Container-native toolkit | Docker, kubectl, Helm, k9s, kind, kustomize, stern, nerdctl — all pre-installed |
| Cloud CLIs | AWS CLI, GitHub CLI, Terraform, Ansible — ready for any cloud |
| Keyboard-driven | Niri scrollable-tiling compositor + Noctalia shell = no mouse needed |
| Multi-monitor fluid | Niri's scrollable workspace model handles any display arrangement |
| Serial console friendly | Auto-login on ttyS0 (115200 baud) — drop into a VM, get a shell instantly |
| GitHub Actions CI | Every commit builds and releases a fresh ISO. Weekly cron keeps packages current |
| Auditable & free | Open source GPL-2.0 build scripts. Inspect, fork, customize anything |
- Your daily driver is a terminal, not a mouse
- You want Docker + k8s tooling without installing anything
- You need a disposable Linux environment for CI troubleshooting or security work
- You want Niri's scrollable-tiling on a modern Debian base, pre-configured
Veilbox is a desktop OS for DevOps engineers — not a server OS. Compared to commercial cloud Linux distributions:
- No LTS guarantee — Debian Trixie is rolling/testing; stable releases are periodic
- No live patching — kernel updates require reboot
- No marketplace presence — not on AWS/Azure/GCP; use it on any VM by attaching the ISO
- No vendor support — community-driven, no escalation channel
Use it where you need a powerful, ephemeral desktop workstation. For production servers, see veilbox-cloud.
Grab the latest ISO from GitHub Releases:
# Download and write to USB
wget https://github.com/Shreyas0047/veilbox/releases/latest/download/veilbox-2.0-amd64.iso
dd if=veilbox-2.0-amd64.iso of=/dev/sdX bs=4M status=progressqemu-system-x86_64 -m 2048 -smp 2 -enable-kvm \
-cdrom output/veilbox-2.0-amd64.iso \
-netdev user,id=net0,hostfwd=tcp::2224-:22 \
-device virtio-net,netdev=net0 \
-nographic -serial mon:stdio
# Login: veilbox / veilbox (passwordless sudo)| Area | Description |
|---|---|
| Base OS | Debian Trixie (13) — rolling snapshot, wide hardware support via live-build |
| Compositor | Niri — scrollable-tiling Wayland compositor, fluid multi-monitor workflow |
| Desktop Shell | Noctalia — keyboard-driven shell, auto-launched by niri |
| Container Runtime | Docker CE + containerd + Docker Compose + nerdctl |
| Orchestration CLI | kubectl, Helm, k9s, stern, kind, kustomize |
| Infrastructure as Code | Terraform, Ansible |
| Cloud CLIs | AWS CLI v2, GitHub CLI |
| Utilities | yq, jq, dive, skopeo, PipeWire audio |
| Installer | Calamares graphical installer for permanent installs |
| Keyboard-centric | Fuzzel launcher (Mod+D), foot terminal (Mod+Return), full Niri keybindings |
| Display fallback | xwayland-satellite, Xterm fallback, serial console auto-login |
| Session watchdog | Niri crash -> text console fallback with diagnostic logging |
| Component | Detail |
|---|---|
| Base OS | Debian Trixie (13) — amd64 |
| Kernel | linux-image-amd64 (6.12) — full desktop kernel |
| Compositor | Niri 26.04 — community .deb |
| Shell | Noctalia v5 — official APT repo |
| Launcher | Fuzzel — Wayland-native |
| Terminal | Foot + XTerm — Wayland + X11 fallback |
| Notifications | Mako — Wayland notification daemon |
| Audio | PipeWire + WirePlumber + ALSA compatibility |
| Container | Docker CE + containerd + Docker Compose plugin |
| Installer | Calamares 3.3 (graphical, binary-only on ISO) |
| Init | systemd |
| Bootloader | ISOLINUX + GRUB (BIOS + UEFI) |
| Image Size | ~1.7 GB, XZ-compressed squashfs |
boot=live components quiet splash console=tty0 console=ttyS0,115200n8
username=veilbox locales=en_US.UTF-8 keyboard-layouts=us timezone=UTC
| Tool | Source | Purpose |
|---|---|---|
| Docker CE | get.docker.com |
Container runtime |
| Docker Compose | Docker plugin | Multi-container orchestration |
| containerd | Docker bundle | Container runtime daemon |
| nerdctl | GitHub Releases | containerd CLI |
| kubectl | GitHub Releases | Kubernetes CLI |
| Helm | GitHub Releases | Kubernetes package manager |
| k9s | GitHub Releases | Kubernetes TUI dashboard |
| stern | GitHub Releases | Multi-pod log tailing |
| kind | GitHub Releases | Local Kubernetes clusters |
| kustomize | GitHub Releases | Kubernetes config management |
| skopeo | Debian repo | Container image inspection |
| dive | GitHub Releases | Docker layer inspector |
| Tool | Source | Purpose |
|---|---|---|
| Terraform | HashiCorp APT | Infrastructure provisioning |
| Ansible | Debian repo | Configuration management |
| AWS CLI v2 | AWS installer | Amazon Web Services |
| GitHub CLI | GitHub APT | GitHub operations |
| Tool | Source | Purpose |
|---|---|---|
| yq | GitHub Releases | YAML/JSON processor |
| jq | Debian repo | JSON processor |
| fuzzel | Debian repo | App launcher |
| foot | Debian repo | Wayland terminal |
| xterm | Debian repo | X11 terminal (fallback) |
| mako | Debian repo | Notification daemon |
| grim / slurp | Debian repo | Screenshot tools |
| PipeWire / WirePlumber | Debian repo | Audio |
veilbox/
├── auto/config # live-build configuration
├── build.sh # Build wrapper (clean, config, build, qemu)
├── docker-build.sh # Containerized build wrapper
├── Dockerfile.build # Builder container (Python + live-build)
├── config/
│ ├── package-lists/ # APT package manifests
│ │ ├── base.list.chroot
│ │ ├── desktop.list.chroot
│ │ ├── devops.list.chroot
│ │ └── live.list.chroot
│ ├── hooks/
│ │ ├── live/ # Runtime chroot hooks
│ │ │ ├── branding.hook.chroot
│ │ │ ├── cleanup.hook.chroot
│ │ │ ├── devops-tools.hook.chroot
│ │ │ ├── docker-install.hook.chroot
│ │ │ ├── noctalia-install.hook.chroot
│ │ │ └── user-setup.hook.chroot
│ │ └── normal/
│ │ └── patch-isolinux-timeout.binary
│ ├── includes.chroot/ # Filesystem overlay
│ │ ├── etc/
│ │ │ ├── xdg/niri/ # Niri compositor config
│ │ │ ├── calamares/ # Installer modules
│ │ │ ├── motd
│ │ │ ├── update-motd.d/
│ │ │ ├── skel/
│ │ │ └── systemd/
│ │ ├── home/veilbox/
│ │ ├── usr/local/bin/
│ │ └── boot/grub/
│ └── includes.binary/
├── branding/
├── calamares/
└── output/
- Linux host with
podmanordocker - ~10 GB free disk space
- Network access to Debian mirrors and GitHub/cloud provider releases
git clone https://github.com/Shreyas0047/veilbox.git
cd veilbox
./docker-build.sh build
# Output: output/veilbox-2.0-amd64.isosudo apt install live-build
./auto/config
sudo lb clean
sudo lb build| Command | Description |
|---|---|
./build.sh clean |
Clean build artifacts |
./build.sh config |
Re-run lb config |
./build.sh build |
Build the ISO |
./build.sh all |
Clean + config + build |
./build.sh qemu |
Boot the ISO in QEMU |
The ISO boots to GRUB (auto-selects after 5 seconds):
- Boots with Plymouth splash and quiet kernel parameters
- Auto-logs in as
veilboxon the display (tty1) and serial console (ttyS0) - Starts Niri via
niri-sessionwrapper - Launches Noctalia shell, Mako notifications, foot terminal
| Field | Value |
|---|---|
| Username | veilbox |
| Password | veilbox |
| sudo | Passwordless (NOPASSWD: ALL) |
| Shortcut | Action |
|---|---|
| Mod+D | Open fuzzel launcher |
| Mod+Return | Open foot terminal |
| Mod+Q | Close focused window |
| Mod+F | Toggle fullscreen |
| Mod+H / L | Focus column left / right |
| Mod+Shift+H / L | Move column |
| Mod+1-9 | Switch to workspace |
| Mod+Shift+1-9 | Move window to workspace |
| Mod+Shift+S | Screenshot region |
| Fullscreen screenshot |
If Niri crashes, the niri-session watchdog restores the text console with diagnostic logs at /tmp/veilbox/.
pkexec calamares -dVeilbox is built on Debian GNU/Linux and the Linux kernel. Build scripts, configuration, and documentation in this repository are licensed under GNU General Public License v2.0.
github.com/Shreyas0047/veilbox