A cross-platform, GPU-accelerated OpenGL terminal emulator that relies on other tools like tmux for tabs and splits.
ifd3f/caligula
A lightweight, user-friendly terminal UI for writing disk images to USB drives and SD cards, with hash checks and post-write verification.
Open-source alternative to:balenaEtcher
- Stars
- 2,410
- Forks
- 41
- Open issues
- 56
- Last commit
- last month
What is it?
Caligula is a terminal user interface for burning disk images, a friendlier alternative to running dd by hand. It lists attached disks with their size and hardware model, so you can pick the target visually instead of typing device paths from memory. Before writing, it asks for confirmation to reduce the risk of overwriting the wrong disk.
The tool can decompress input images in gz, bz2, xz, lz4 and zst formats, and it can validate an image against a hash such as md5, sha1 or sha256 before burning. It shows a live write-speed graph and verifies the disk after writing. If the current user lacks permission to write to the device, it can re-run the operation through sudo, doas or su.
Caligula is written in Rust and is published as a single binary under five megabytes. It is invoked with `caligula burn <IMAGE>`, and it can run non-interactively with flags for scripting. Linux x86_64 is the best-supported platform, with macOS builds available but with limited testing.
Key features
- 01Lists attached disks with size and hardware model information
- 02Decompresses gz, bz2, xz, lz4 and zst input images
- 03Validates images against md5, sha1, sha256 and other hashes before writing
- 04Verifies the disk after writing
- 05Asks for confirmation before erasing a disk, with a force flag to skip it
- 06Escalates privileges with sudo, doas or su when needed
Use cases
- Writing a Linux installer ISO to a USB flash drive
- Flashing a Raspberry Pi or other OS image to an SD card
- Replacing ad-hoc dd commands in scripts or workflows that need safer confirmation
Quick start
- 1
Install via Cargo from crates.io
cargo install caligula - 2
Run the burn command with an image file
caligula burn <IMAGE>
Things to know
- Platform support is limited: Linux x86_64 is fully tested, while macOS has known bugs and Windows is not supported.
- Licensed under GPL-3.0, a copyleft license that may restrict how you can reuse the code.
Topics
FAQ
- What is caligula?
- A lightweight, user-friendly terminal UI for writing disk images to USB drives and SD cards, with hash checks and post-write verification. Caligula is a terminal user interface for burning disk images, a friendlier alternative to running dd by hand. It lists attached disks with their size and hardware model, so you can pick the target visually instead of typing device paths from memory. Before writing, it asks for confirmation to reduce the risk of overwriting the wrong disk.
- Is caligula free to use? What license does it have?
- caligula is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
- Is caligula still maintained?
- Updated within 6 months. The last commit to caligula was on Sep 17, 2026.
- What can I use caligula for?
- Writing a Linux installer ISO to a USB flash drive Flashing a Raspberry Pi or other OS image to an SD card Replacing ad-hoc dd commands in scripts or workflows that need safer confirmation
- How do I install caligula?
- Install via Cargo from crates.io: cargo install caligula Run the burn command with an image file: caligula burn <IMAGE>
- Where can I get caligula?
- The source code and installation instructions are on GitHub: https://github.com/ifd3f/caligula
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A smarter cd command that learns your most-used directories and lets you jump to them with a few keystrokes, across all major shells.
A user-friendly interactive command line shell for macOS, Linux and other Unix-like systems, with syntax highlighting and autosuggestions out of the box.
A terminal directory navigator that shows trees with unlisted content collapsed, with fuzzy search, file operations, previews and git status.
A terminal tool that replays Git commits as animated typing sessions with syntax highlighting and file tree transitions.
A terminal code review tool with vim keybindings that exports comments to GitHub, GitLab, Gitea, Bitbucket, Azure DevOps, Gerrit, or the clipboard.