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

Rust v0.20.1

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 trackingdepot check detects 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

Rust Wayland Smithay

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-shell support
  • 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

Rust v0.2.0

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

Rust v0.1.0

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/certs symlinks
  • Fetching and converting Mozilla NSS certdata.txt
  • Operating on alternate root filesystems with --root for 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:

Linux kernel — Clang build fixes
glibc — Vertex-specific patches
LLVM — distribution integration
GnuTLS / Nettle — build system fixes
Qt 5 — Clang compatibility
zsh — distribution patches
Rust — toolchain patches
util-linux — integration fixes
Fish — shell patches
fastfetch — Vertex detection
toybox — supplemental utilities
fakeroot — build environment