Features
A look at what makes Vertex different — from the toolchain to the desktop.
LLVM/Clang Toolchain
Vertex is compiled entirely with LLVM/Clang. There is no GCC dependency anywhere in the base system. This gives the distribution a single, unified compiler infrastructure that covers:
- The Linux kernel (patched for x86_64-v3 warnings)
- System libraries (glibc with Vertex-specific patches)
- All userland packages from the base set onward
Using a single toolchain simplifies cross-compilation, reduces build complexity, and ensures consistent behavior across the entire system. Patches for LLVM compatibility with upstream packages are maintained in the Vertex patches repository.
uutils Coreutils
GNU coreutils is replaced by uutils — a ground-up Rust rewrite
of the standard Unix utilities. This swap brings memory safety to foundational
tools like cp, ls, mv, sort,
and dozens more.
The uutils project tracks GNU compatibility closely, so scripts and build systems that assume GNU behavior continue to work. Vertex ships uutils as the sole coreutils provider.
Depot Package Manager
Depot is the source-based package manager built for Vertex. Packages are defined in TOML spec files, and Depot handles fetching, building, and installing from source with full dependency resolution.
Key capabilities
- Build system support — Autotools, CMake, Meson, Cargo, and custom scripts
- Atomic installs — transactional approach ensures system consistency
- Cross-compilation — built-in support for cross-toolchains
- Binary repos — optional pre-built packages with minisign signature verification
- Dependency graph — powered by petgraph for correct build ordering
- Update tracking —
depot checkdetects newer upstream versions automatically
Commands
depot install packages/zlib.toml # Build and install from spec
depot install zlib-*.depot.pkg.tar.zst # Install from binary archive
depot build packages/zlib.toml # Build without installing
depot update # Update all installed packages
depot search zlib # Search repos by name
depot check # Check for upstream updates AstraDE — Astra Desktop Environment
AstraDE is a custom Wayland desktop environment built specifically for Vertex Linux. The compositor is built on Smithay — a Rust library for building Wayland compositors — and implements a floating window manager.
Compositor features
- Wayland-native with
xdg-shellsupport - Floating window management with move, resize, maximize, and fullscreen
- Output detection and multi-monitor layout
- Keyboard and pointer seat management
- Configurable keybindings (launch terminal, close window, cycle focus)
- Clean session lifecycle with safe shutdown
AstraDE is under active development, following a phased roadmap from compositor foundation through to a full desktop shell with panels, notifications, and a settings interface.
mkinitramfs
A lightweight initramfs creator written in Rust. Generates compressed CPIO archives containing the kernel modules, firmware, and early-boot binaries needed to mount the root filesystem.
Supports xz and zstd compression. Designed to integrate directly with Depot for automatic initramfs regeneration during kernel updates.
ca-certs
A CLI tool for managing CA certificate trust stores in a
p11-kit / update-ca-trust-style layout. Handles the
full certificate lifecycle:
- Adding PEM certificates to
trust-source/anchors - Extracting PEM bundles, OpenSSL bundles, Java cacerts, and hash directories
- Syncing
/etc/ssl/certssymlinks - Fetching and converting Mozilla NSS
certdata.txt - Operating on alternate root filesystems with
--rootfor image builds
Shell Environment
Vertex uses a two-shell strategy:
- dash as
/bin/sh— a fast, minimal, POSIX-compliant shell for system scripts and boot. Avoids the overhead of bash for non-interactive use. - zsh as the default interactive shell — providing rich completions, history, prompt customization, and plugin support out of the box.
Shell completions for Vertex tools (Depot, ca-certs) are generated at build time for Bash, Zsh, and Fish, and installed automatically via Meson.
Patches
Vertex maintains a curated set of patches for upstream packages that need adjustments for the LLVM/Clang toolchain or Vertex-specific integration. The patches repository covers: