|
1 | 1 | # Installation |
2 | 2 |
|
3 | | -## From crates.io |
| 3 | +## Desktop App (GUI) |
4 | 4 |
|
5 | | -```bash |
6 | | -cargo install null-e |
7 | | -``` |
| 5 | +Download the latest version from [GitHub Releases](https://github.com/us/null-e/releases/latest). |
| 6 | + |
| 7 | +| Platform | File | Notes | |
| 8 | +|----------|------|-------| |
| 9 | +| **macOS (Apple Silicon)** | `null-e_x.x.x_aarch64.dmg` | M1, M2, M3, M4 | |
| 10 | +| **macOS (Intel)** | `null-e_x.x.x_x64.dmg` | Intel Macs | |
| 11 | +| **Windows** | `null-e_x.x.x_x64-setup.exe` | 64-bit Windows 10/11 | |
| 12 | +| **Linux (deb)** | `null-e_x.x.x_amd64.deb` | Ubuntu, Debian | |
| 13 | +| **Linux (AppImage)** | `null-e_x.x.x_amd64.AppImage` | Any Linux distro | |
| 14 | + |
| 15 | +### macOS Setup |
8 | 16 |
|
9 | | -## From source |
| 17 | +The app is currently unsigned. macOS will block it by default. |
| 18 | + |
| 19 | +1. Download the `.dmg` for your chip |
| 20 | +2. Open the DMG and drag `null-e.app` to `/Applications` |
| 21 | +3. Open Terminal and run: |
10 | 22 |
|
11 | 23 | ```bash |
12 | | -git clone https://github.com/us/null-e.git |
13 | | -cd null-e |
14 | | -cargo install --path . |
| 24 | +xattr -rd com.apple.quarantine /Applications/null-e.app |
15 | 25 | ``` |
16 | 26 |
|
17 | | -The release profile uses LTO, single codegen unit, and symbol stripping for a small binary. |
| 27 | +4. Open null-e from Applications or Spotlight |
18 | 28 |
|
19 | | -## Pre-built binaries |
| 29 | +> **Why?** macOS Gatekeeper blocks unsigned apps. The `xattr` command removes the quarantine flag. This is safe — verify the source on [GitHub](https://github.com/us/null-e). |
20 | 30 |
|
21 | | -Download from [GitHub Releases](https://github.com/us/null-e/releases): |
| 31 | +### Windows Setup |
22 | 32 |
|
23 | | -| Platform | File | |
24 | | -|----------|------| |
25 | | -| macOS ARM | `null-e-darwin-aarch64.tar.gz` | |
26 | | -| macOS Intel | `null-e-darwin-x86_64.tar.gz` | |
27 | | -| Linux x86_64 | `null-e-linux-x86_64.tar.gz` | |
28 | | -| Linux ARM | `null-e-linux-aarch64.tar.gz` | |
29 | | -| Windows | `null-e-windows-x86_64.zip` | |
| 33 | +1. Download and run the `.exe` installer |
| 34 | +2. If SmartScreen warns you, click **"More info" → "Run anyway"** |
| 35 | +3. Launch from Start Menu |
30 | 36 |
|
31 | | -## Package managers |
| 37 | +### Linux Setup |
32 | 38 |
|
33 | 39 | ```bash |
34 | | -# Homebrew |
35 | | -brew install null-e |
36 | | - |
37 | | -# AUR (Arch Linux) |
38 | | -yay -S null-e |
| 40 | +# Ubuntu/Debian |
| 41 | +sudo dpkg -i null-e_x.x.x_amd64.deb |
39 | 42 |
|
40 | | -# Scoop (Windows) |
41 | | -scoop bucket add us https://github.com/us/scoop-bucket |
42 | | -scoop install null-e |
| 43 | +# AppImage (any distro) |
| 44 | +chmod +x null-e_x.x.x_amd64.AppImage |
| 45 | +./null-e_x.x.x_amd64.AppImage |
43 | 46 | ``` |
44 | 47 |
|
45 | | -## Docker |
| 48 | +## CLI (command-line) |
46 | 49 |
|
47 | 50 | ```bash |
48 | | -docker run -v $(pwd):/workspace ghcr.io/us/null-e |
| 51 | +# From crates.io |
| 52 | +cargo install null-e |
| 53 | + |
| 54 | +# From Homebrew |
| 55 | +brew tap us/tap |
| 56 | +brew install null-e |
| 57 | + |
| 58 | +# From source |
| 59 | +git clone https://github.com/us/null-e.git |
| 60 | +cd null-e |
| 61 | +cargo install --path crates/null-e-cli |
49 | 62 | ``` |
50 | 63 |
|
| 64 | +## Auto-Updates |
| 65 | + |
| 66 | +The desktop app checks for updates on launch. A notification bar shows when a new version is available — click **"Update & Restart"** to install. |
| 67 | + |
| 68 | +Manual check: **Settings → About → Check for updates** |
| 69 | + |
51 | 70 | ## Verify |
52 | 71 |
|
53 | 72 | ```bash |
|
0 commit comments