Kromacut can be built as a native application for macOS, Windows, and Linux using Tauri.
- Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source "$HOME/.cargo/env"
- Node.js
npm run tauri:devnpm run tauri:buildBuild artifacts are created under src-tauri/target/release/bundle/.
Main config file: src-tauri/tauri.conf.json
- Window defaults are set for Kromacut’s two-pane layout.
- Bundle identifier is configured in the same file.
When releasing a new version:
- Update
package.jsonversion. - Update
src-tauri/tauri.conf.jsonversion. - Commit and tag the release.
Example:
git add package.json src-tauri/tauri.conf.json
git commit -m "Bump version to vX.Y.Z"
git tag vX.Y.Z
git push origin main
git push origin vX.Y.ZThe GitHub Actions workflow will automatically build native applications for:
- macOS: Apple Silicon (M1/M2/M3) and Intel
- Windows: x64 NSIS setup installer, plus an offline NSIS setup installer with the WebView2 offline installer embedded
- Linux: AppImage and .deb package
All artifacts are attached to the GitHub release.
macOS: Unsigned builds require removing quarantine:
sudo xattr -d com.apple.quarantine /Applications/Kromacut.appFor notarized distribution, configure a Developer ID signing identity in tauri.conf.json.
Windows: The setup installer may trigger Windows SmartScreen for unsigned builds. Users can click "More info" → "Run anyway".
The standard Windows installers embed the small WebView2 bootstrapper. The NSIS setup installer also checks for WebView2 114.0.1823.67 or newer and can update the runtime when internet access is available. The release workflow also publishes a larger *_offline-setup.exe for Windows machines that need to install without internet access.
Linux: AppImage bundles are portable and require no installation. .deb packages integrate with the system package manager.