Platform support
The authoritative matrix of what NALA supports, what is built, and what you can actually download today.
This page separates three things that are easy to conflate:
- Supported — the application is written and configured to run there.
- Built — an artifact has actually been produced and tested.
- Published — you can download it from this site right now.
A platform can be supported without being published. That is the current state for macOS and Linux.
Download availability
| Platform id | Supported | Built | Published | Install kind |
|---|---|---|---|---|
windows-x64 | Yes | Yes | Yes | Squirrel Setup.exe |
windows-arm64 | Yes | No | No | Squirrel Setup.exe |
mac-arm64 | Yes | No | No | DMG |
mac-x64 | Yes | No | No | DMG |
linux-deb-x64 | Yes | No | No | DEB |
linux-rpm-x64 | Yes | No | No | RPM |
linux-appimage-x64 | Yes | No | No | AppImage |
IMPORTANT
Only windows-x64 is published. The release manifest omits every platform
without a verified artifact, and the download page renders only what the
manifest contains — so an unpublished platform is never offered as a broken
download.
Why macOS and Linux are not published yet
The packaging configuration declares makers for all three platforms, but each maker is guarded by a host-platform check. Electron Forge only invokes makers matching the machine it runs on, and the guards make that explicit. The practical consequences:
- A Windows host produces Squirrel
Setup.exeand a portable ZIP. - A macOS host is required for DMG and ZIP, because Apple code signing and DMG creation cannot run elsewhere.
- A Linux host is required for DEB, RPM, and AppImage, because the packaging tools are Linux-native.
Cross-platform CI workflows exist in the application repository and are the intended path to those artifacts. They have not yet produced a published release.
Signing status
| Platform | Signing | Current state |
|---|---|---|
| Windows | Authenticode + trusted timestamp | Not signed. Preview channel only. |
| macOS | Developer ID, hardened runtime, notarization, stapling | Not implemented end to end |
| Linux | Signed checksums, later repository signing | Not implemented |
Stable publication requires signing. An unsigned build can reach the preview channel only, with an explicit publisher flag, and the product and site must show that status honestly.
Update behaviour by platform
| Platform id | Update mode |
|---|---|
windows-x64 | Automatic, verified against size and SHA-256 |
windows-arm64 | Automatic, once a native ARM64 build is tested |
mac-arm64 / mac-x64 | Manual verified download until a supported feed exists |
linux-deb-x64 / linux-rpm-x64 | Native package manager notice |
linux-appimage-x64 | User-local install and verified replacement |
Feature parity
Do not assume parity across platforms. Several capabilities have platform-specific behaviour:
| Capability | Note |
|---|---|
| Voice dictation | Needs Python 3.10+ on PATH; model downloaded on first use |
| Read Aloud (TTS) | On-device, no Python required after first model download |
| System-wide dictation | Behaviour differs by OS window manager |
Ctrl+B tmux prefix | Literal Ctrl on every OS, including macOS |
mod shortcuts | ⌘ on macOS, Ctrl elsewhere |