A Native GUI for Helix
Nucleotide is a high-performance graphical interface for the Helix modal editor, bringing the power of terminal-based modal editing to a modern native GUI.
Nucleotide wouldn't exist without these incredible projects:
- Helix - The powerful modal editor that powers our editing engine
- GPUI - Zed's blazing-fast GPU-accelerated UI framework
- helix-gpui - The original project we forked from, created by @polachok
We are deeply grateful to these projects and their maintainers for making Nucleotide possible.
Currently, Nucleotide provides a native GUI wrapper around Helix with:
- Native macOS/Linux/Windows support
- GPU-accelerated rendering via GPUI
- File tree sidebar
- Integrated terminal (planned)
- Full Helix keybinding support
Install Rust stable and Zig 0.15.2 first. Zig is required to build the Ghostty-backed integrated terminal.
cargo build --release
./target/release/nuclThe repo-local Cargo config disables Helix's automatic grammar fetch during
builds. Use nucl --grammar fetch / nucl --grammar build or the bundle script
when you need to update packaged runtime grammars.
./scripts/bundle-mac.sh
open Nucleotide.appNucleotide publishes Velopack installers and update feeds for macOS and Windows. Download the platform setup package from a release, run it, then launch Nucleotide from Applications or the Start Menu.
Install Rust stable, Zig 0.15.2, the .NET 8 SDK, and the Velopack CLI before building a Windows installer locally.
cargo build --release -p nucleotide --bins
git clone --depth 1 --branch 25.07.1 https://github.com/helix-editor/helix.git helix-temp
try {
.\scripts\setup-windows-runtime.cmd -RuntimeSource helix-temp\runtime -NuclExe target\release\nucl-grammar.exe
} finally {
Remove-Item -LiteralPath helix-temp -Recurse -Force
}
dotnet tool update -g vpk
.\scripts\package-velopack.ps1 -RequireRemoteHelpersSee docs/windows_install.md for local Windows Velopack build and install
notes.
To ensure consistent code formatting, install the pre-commit hooks:
./scripts/install-hooks.shThis will set up automatic cargo fmt checks before each commit.
Nucleotide uses Helix's platform config directory. It looks for
nucleotide.toml there and falls back to Helix's config.toml for editor
settings.
- Linux/macOS: commonly
~/.config/helix/nucleotide.toml - Windows:
%APPDATA%\helix\nucleotide.toml
See docs/examples/nucleotide.example.toml for a sample GUI configuration.
MPL-2.0 (same as Helix)