diff --git a/docs/template/base-image.mdx b/docs/template/base-image.mdx
index e98a4c11..f21e65c8 100644
--- a/docs/template/base-image.mdx
+++ b/docs/template/base-image.mdx
@@ -31,19 +31,22 @@ template = Template(
Every template starts with a base image that provides the foundation for your sandbox environment.
-
-E2B currently supports only Debian-based images. Your base image must be Debian or a Debian derivative (e.g., `debian`, `ubuntu`, `python`, `node`). Alpine, RedHat-based, and other non-Debian distributions are not supported.
-
+
+E2B identifies your base image from its `/etc/os-release` and supports **Debian/Ubuntu, Fedora and the RHEL family (including Rocky Linux and AlmaLinux), Arch, and Alpine**. Images with no identifiable distribution — no `/etc/os-release`, e.g. `scratch`, distroless, or pure `nixos/nix` — and minimal images missing required packages (e.g. RHEL UBI-minimal with restricted repositories) are not supported and fail the build with a clear error naming the reason. For NixOS, use the official [`e2bdev/nixos`](#nixos-base-image) image instead of a raw NixOS image.
+
### Predefined base images
-Use convenience methods for common base images with Ubuntu, Debian, Python, Node.js, or Bun:
+Use convenience methods for common base images with Ubuntu, Debian, Fedora, Alpine, Arch, Python, Node.js, or Bun:
```typescript JavaScript & TypeScript
template.fromUbuntuImage("22.04"); // ubuntu:22.04
template.fromDebianImage("stable-slim"); // debian:stable-slim
+template.fromFedoraImage("44"); // fedora:44
+template.fromAlpineImage("3.24"); // alpine:3.24
+template.fromArchImage("base-devel"); // archlinux:base-devel
template.fromPythonImage("3.13"); // python:3.13
template.fromNodeImage("lts"); // node:lts
template.fromBunImage("1.3"); // oven/bun:1.3
@@ -52,6 +55,9 @@ template.fromBunImage("1.3"); // oven/bun:1.3
```python Python
template.from_ubuntu_image("22.04") # ubuntu:22.04
template.from_debian_image("stable-slim") # debian:stable-slim
+template.from_fedora_image("44") # fedora:44
+template.from_alpine_image("3.24") # alpine:3.24
+template.from_arch_image("base-devel") # archlinux:base-devel
template.from_python_image("3.13") # python:3.13
template.from_node_image("lts") # node:lts
template.from_bun_image("1.3") # oven/bun:1.3
@@ -93,6 +99,22 @@ template.from_base_image() # e2bdev/base
`base` is also the template used when you call `Sandbox.create()` without specifying one. It is Debian-based and comes with common tooling pre-installed: Python 3, Node.js, Yarn, `git`, `curl`, `build-essential`, and the GitHub CLI (`gh`). For the exact contents, see the public Dockerfile: [`templates/base/e2b.Dockerfile`](https://github.com/e2b-dev/E2B/blob/main/templates/base/e2b.Dockerfile).
+### NixOS base image
+
+Arbitrary [NixOS](https://nixos.org/) images (such as `nixos/nix`) aren't supported directly, because they don't expose the `/etc/os-release` metadata E2B needs to identify the distribution. To build NixOS-based sandboxes, use the official `e2bdev/nixos` image, which E2B prepares to work with the sandbox environment:
+
+
+
+```typescript JavaScript & TypeScript
+template.fromImage("e2bdev/nixos");
+```
+
+```python Python
+template.from_image("e2bdev/nixos")
+```
+
+
+
### Default resources
A sandbox gets its CPU and memory from the template it's built on. A sandbox built from `base` starts with **2 vCPU and 512 MiB of RAM**.