TenebraOS TenebraOS

Documentation

CLI reference for every tool shipping with TenebraOS.

📦

Zebra zbra

DEFAULT PKG MANAGER

Zebra is TenebraOS's primary package manager. It fetches native .deb packages from the TenebraOS GitHub repository while supporting passthrough to APT, Pacman, Yay, Snap, Flatpak, and Gentoo source backends. Every native install auto-creates a Btrfs snapshot for safe rollback.

Usage
zbra [options] <action> [package]
Actions
FlagDescription
-i, --install <pkg>Install a package
-r, --remove <pkg>Remove a package
-s, --search <pattern>Search for packages
-u, --updateUpdate package lists
-U, --upgradeUpgrade all packages
-b, --build <source>Build package from source
-l, --listList installed packages
--info <pkg>Show package information
--snapshotsList Btrfs snapshots
--rollback <snap>Rollback to a snapshot
-c, --cleanClean build cache
Backend Selection
# Native (GitHub TenebraOS-packages) zbra -i vim # APT passthrough zbra -pm apt -i vim # Pacman via distrobox zbra -pm pacman -i neovim # AUR via yay zbra -pm yay -i hyprland # Flatpak zbra -pm flatpak -i org.mozilla.firefox # Snap zbra -pm snap -i spotify
Source Build
# Build from tarball zbra -b https://ftp.gnu.org/gnu/wget/wget-1.24.tar.xz # Build from git zbra -b git@github.com:user/repo.git # Supports autotools, cmake, meson, plain make
Snapshots
# List snapshots zbra --snapshots # Rollback to a snapshot zbra --rollback zbra_pre-install_20260910_120000
🔧

tenebra-kernel

KERNEL MANAGER

CLI utility to install, swap, and remove TenebraOS kernel variants. Automatically updates GRUB bootloader configuration after changes.

Available Variants

tenebra-core

Stock kernel with CachyOS performance patches. Best for general use.

tenebra-t2

Core + Apple T2 hardware support (NVMe, keyboard, touchbar, audio).

tenebra-cachy

Full CachyOS tuning: BORE scheduler, BBRv3, -O3, CPU optimizations.

Commands
# List installed kernels tenebra-kernel list # Show current kernel info tenebra-kernel info # Install a kernel variant tenebra-kernel install tenebra-t2 # Remove a kernel version tenebra-kernel remove 6.18.0-1-tenebra-cachy # Set default boot kernel tenebra-kernel default 6.18.0-1-tenebra-t2 # Regenerate GRUB config tenebra-kernel update-grub
⚙️

build-tenebra-kernel.sh

KERNEL BUILDER

Standalone build script that fetches mainline Linux kernel source, applies Apple T2 and CachyOS patches, compiles, and outputs standard Debian packages.

Usage
# Default: BORE scheduler, latest kernel sudo ./build-tenebra-kernel.sh # Apple T2 variant sudo ./build-tenebra-kernel.sh --variant tenebra-t2 # Specific kernel version + EEVDF scheduler sudo ./build-tenebra-kernel.sh --version 6.18 --scheduler eevdf # Custom parallel jobs sudo ./build-tenebra-kernel.sh --jobs 8
Options
FlagDescriptionDefault
--variantKernel variant: tenebra-core, tenebra-t2, tenebra-cachytenebra-cachy
--versionLinux kernel version to build7.2
--schedulerScheduler: bore, eevdf, bmqbore
--jobsParallel compilation threads$(nproc)
--keepPreserve build directory after completionfalse
Output
# Builds produce standard Debian packages: linux-image-6.18.0-1-tenebra-cachy_amd64.deb linux-headers-6.18.0-1-tenebra-cachy_amd64.deb # Output directory: repo/pool/
💾

Btrfs Snapshots

SNAPSHOT SYSTEM

Automatic Btrfs snapshot management with Snapper and grub-btrfs. Pre/post APT transactions create bootable, read-only snapshots accessible from the GRUB bootloader menu.

Subvolume Layout
# TenebraOS uses 4 Btrfs subvolumes: @ / Root filesystem @home /home User data @snapshots /snapshots Snapshot storage @var_log /var/log Persistent logs # Mount options: compress=zstd:1,ssd,noatime
How It Works

Auto Snapshots

Every apt install or zbra -i triggers a snapshot before and after the operation.

Bootable Recovery

grub-btrfs adds every snapshot to the GRUB menu — boot into any previous state.

Timeline Cleanup

Snapper keeps 5 hourly, 7 daily, 4 weekly snapshots. Old ones are auto-pruned.

One-Command Rollback

zbra --rollback <snap> restores the root subvolume from any snapshot.

Manual Snapshot Commands
# Create a manual snapshot snapper -c root create --description "Before kernel update" # List all snapshots snapper -c root list # Delete a snapshot snapper -c root delete --number 42 # Or use Zebra zbra --snapshots zbra --rollback zbra_pre-install_20260910_120000
🔍

Auto Hardware Detection

POST-INSTALL

First-boot hardware detection runs lspci and lsusb to identify NVIDIA GPUs, Broadcom Wi-Fi chips, and Apple T2 bridge hardware, then automatically installs the required proprietary firmware and drivers.

What Gets Detected

NVIDIA GPUs

Installs nvidia-driver and nvidia-kernel-dkms for proprietary GPU support.

Broadcom Wi-Fi

Installs firmware-brcm80211 and firmware-iwlwifi for wireless cards.

Apple T2

Configures audio pipeline and kernel parameters for T2 Mac stability.

One-Shot

Runs once at first boot, then disables itself. No ongoing overhead.

Manual Trigger
# Hardware detection runs automatically at first boot via /etc/rc.local # Log file: /var/log/tenebra-hw-detect.log # Calamares also runs detection during installation: # - GPU vendor detection (NVIDIA/AMD/Intel) # - Apple T2 bridge chip detection # - Driver installation confirmation prompt
📋

pkg

LEGACY WRAPPER

The older unified package manager wrapper. Supports APT, Flatpak, and Distrobox passthrough. New installations should use zbra instead.

Usage
# Auto-detect source pkg install vim # Force Flatpak pkg install flathub:org.mozilla.firefox # Force Arch/AUR via distrobox pkg install arch:neovim # Search all sources pkg search image editor # Export desktop entry from distrobox pkg export firefox