https://github.com/svssdeva/nirvana
Fully offline Windows game launcher — unify Steam, Epic & local games. Tauri 2 + Rust + Lit 3.
https://github.com/svssdeva/nirvana
Last synced: 20 days ago
JSON representation
Fully offline Windows game launcher — unify Steam, Epic & local games. Tauri 2 + Rust + Lit 3.
- Host: GitHub
- URL: https://github.com/svssdeva/nirvana
- Owner: svssdeva
- Created: 2026-06-07T17:55:52.000Z (21 days ago)
- Default Branch: main
- Last Pushed: 2026-06-08T04:43:19.000Z (20 days ago)
- Last Synced: 2026-06-08T05:22:43.255Z (20 days ago)
- Language: Rust
- Size: 938 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
Nirvana
A fully offline Windows launcher that unifies your Steam, Epic, and local games — with disk insight, GPU info, and a minimal system monitor.
· Alpha · by svssdeva / beyondcodekarma
The badge above always tracks the newest published release — no manual version bumps in this file.
---
Nirvana brings every game you own into one fast, native window — no accounts, no
store, no telemetry, and no network calls in the default build. It discovers what
you have installed, lets you launch through the official mechanisms, and adds the
practical extras a launcher should have: per-game disk usage, a GPU/driver panel,
and a live resource monitor.
> [!NOTE]
> **Offline by default.** The standard build makes zero network requests. The
> only networked feature — SteamGridDB cover art — is opt-in, off by default, and
> compiled out entirely unless you build with the `steamgriddb` feature.
## Features
- **One library, every source** — discovers Steam (`libraryfolders.vdf` →
`appmanifest`), Epic (`.item` manifests), and local installs (your watch
folders), deduped into a single grid.
- **Launch natively** — Steam/Epic via their official protocols, local games via
a validated `argv` spawn (never a shell).
- **Browse your way** — a comfortable 5-up cover grid or a compact list view;
filter by source/favorites/tags, search, and sort by name/size/last-played.
- **Make it yours** — favorites, colored tags, and custom cover thumbnails
(point at any local image — ideal for offline/local games).
- **Disk insight** — per-drive capacity and biggest-games, with junction-safe
sizing. Open an install folder or the store's uninstall flow; Nirvana never
deletes files.
- **System monitor** — ~1 Hz CPU / RAM / network / disk / GPU + VRAM sparklines,
a system-info panel, and an Open Task Manager shortcut. Sampling pauses when
the window isn't focused, so an idle monitor costs nothing.
- **Polished** — light/dark themes (dark by default), a sticky header, and smooth
view transitions.
## Tech stack
| Layer | Choice |
|---|---|
| Shell | [Tauri 2](https://tauri.app) — Rust core + system WebView2 |
| Frontend | [Lit 3](https://lit.dev) + [Vite](https://vitejs.dev) + TypeScript |
| Storage | SQLite via [`rusqlite`](https://docs.rs/rusqlite) (bundled) |
| System / GPU | [`windows`](https://docs.rs/windows) (WMI · PDH · DXGI), [`sysinfo`](https://docs.rs/sysinfo) |
| Extras | `image`, `qrcode`, `keyring` (opt-in SteamGridDB) |
All scanning, parsing, disk, GPU, monitor, and persistence logic lives in the
Rust core under `src-tauri/src/`; OS access sits behind trait seams so the logic
is unit-tested with in-memory fakes. The UI is a set of Lit web components under
`src/components/`.
## Getting started
**Prerequisites:** Windows 10/11, [Bun](https://bun.sh), the
[Rust toolchain](https://rustup.rs) (MSVC), and the
[Tauri prerequisites](https://tauri.app/start/prerequisites/) (WebView2 +
Microsoft C++ Build Tools).
```sh
bun install # install frontend deps
bun run tauri dev # run the app with hot reload
```
Other useful commands:
```sh
bun run tauri build # production bundle (installer + portable exe)
bun run build # frontend only (tsc + vite build)
cargo test # in src-tauri/ — run the Rust test suite
cargo clippy # in src-tauri/ — lints
```
## Install (Windows)
Grab a build from [Releases](../../releases), or build it yourself with
`bun run tauri build`. Each release ships **two editions**, each as an installer
and a portable exe:
| Edition | Files | Network |
|---|---|---|
| **Offline** (recommended) | `Nirvana__x64-setup.exe`, `nirvana.exe` | None, ever |
| **Online** | `Nirvana-online__x64-setup.exe`, `nirvana-online.exe` | Only when you enable SteamGridDB cover art |
- **Installer** — NSIS, **per-user**: installs to `%LOCALAPPDATA%`, **no admin / UAC**.
- **Portable** — run from anywhere, no install; needs the WebView2 runtime
(preinstalled on Windows 11).
> [!NOTE]
> Pick **one** edition. The **Online** edition only differs by including the
> optional SteamGridDB cover-art feature (still **off by default**, toggled in
> Settings, API key kept in the OS vault). If you don't need online art, use
> **Offline** — it makes zero network requests, guaranteed at compile time.
> [!IMPORTANT]
> Builds are **unsigned** (no code-signing certificate), so SmartScreen may warn
> "Windows protected your PC" on first run. Choose **More info → Run anyway**.
> Expected for an unsigned per-user app.
## Configuration
- **Local games** come only from folders you add under **Settings → Watch
folders** (curated, so no installed-app noise). Steam/Epic are detected
automatically.
- **SteamGridDB cover art** is opt-in. Toggle it in Settings and build with the
feature flag — it adds a network dependency, so it stays off in the default,
fully-offline build:
```sh
bun run tauri build -- --features steamgriddb
```
The API key is stored in the OS credential vault, never on disk or in logs.
## Contributing
Contributions are welcome — see [`CONTRIBUTING.md`](CONTRIBUTING.md) for setup,
conventions, and the two non-negotiable rules (offline-by-default, no destructive
file actions). Good first stops: the [`FUTURE-PLANS.md`](FUTURE-PLANS.md) backlog
(next up: more stores) and open issues.
## Documentation
- [`CONTRIBUTING.md`](CONTRIBUTING.md) — how to build, the conventions, PR flow
- [`CHANGELOG.md`](CHANGELOG.md) — release notes
- [`RELEASING.md`](RELEASING.md) — versioning, the 2-edition pipeline, code signing
- [`FUTURE-PLANS.md`](FUTURE-PLANS.md) — roadmap (next up: more stores)
- [`docs/design.md`](docs/design.md) — the PlayStation-style design system
- [`docs/PRD-game-launcher.md`](docs/PRD-game-launcher.md) — full product spec