nWriter
One column of text, a warm page - and a spreadsheet engine, a PDF typesetter and a versioned file format underneath.
What it is
nWriter is a writing app in the spirit of iA Writer: one column of text, a warm page, and nothing else competing for attention. Markdown highlights in place, focus modes dim everything but the sentence you're on, and thirteen templates cover the distance from blank page to invoice to research paper.
The restraint is the interface, not the engineering. Behind the page sit an embedded spreadsheet engine with formulas and cell styling, and a PDF typesetter with real control over typography and page setup - so a budget or a formatted report never forces you out of the app.
Documents live in .nd - a ZIP-based format that carries its own full edit history. Sync resolves conflicts with a proper three-way merge, a web viewer opens .nd files in the browser, and the CLI exports with --to-pdf, --to-html and --to-nd. Your writing stays in a file you own, with its whole past attached.
Highlights
- Markdown editing with in-place syntax highlighting and focus modes
- Embedded spreadsheet engine - formulas and cell styling inside a document
- PDF export with custom typography and page setup
- Native
.ndformat: ZIP-based, with full edit history - Document sync with three-way merge conflict resolution
- Web-based viewer for
.ndfiles - Thirteen templates - blank, invoice, budget, research paper and more
Install
git clone https://github.com/niraj-envision/nWriter.git
cd nWriter
./install.sh
nd-writer notes.nd
Builds a release binary and installs to ~/.local - no root required. Optimized for Wayland/Hyprland desktops.
Specification
| Language | Rust |
| Platform | Linux desktop · Wayland / Hyprland |
| Dependencies | Self-contained release build |
| Licence | MIT |
| Repository | github.com/niraj-envision/nWriter |