[go: up one dir, main page]

Skip to content
/ nuxtor Public template

Build tiny desktop apps with Tauri, Nuxt 3 and UnoCSS

License

Notifications You must be signed in to change notification settings

NicolaSpadari/nuxtor

Repository files navigation

logo

NUXTOR

A spiritual successor of ViTauri, made with Nuxt 3 and Tauri 2
Build super fast desktop applications!

⚠️ nuxtor is still a WIP



Powered by Nuxt 3


Technologies run-down

  • Nuxt 3
  • Tauri 2
  • UnoCSS
  • Typescript
  • ESLint
  • Auto imports (for Tauri api too!)

Functionalities

  • Run shell commands from the app
  • Send custom notifications to the client (remember to turn on/grant notifications in your computer settings!)
  • Display OS related informations
  • Support all Nuxt functionalities (routing/layout/middleware/modules/etc...)

Setup

  • Before running this app, you need to configure your environment with Rust. Take a look at the Tauri docs.
  • This project enforces pnpm. In order to use another package manager you need to update package.json and tauri.config.js
  • The frontend runs on the usual port 3000 of Nuxt, the Tauri server uses the port 3001. This settings are customizable in the nuxt.config.ts and tauri.config.js.
  • Once ready, follow these commands:
# use this template
$ npx degit NicolaSpadari/nuxtor my-nuxtor-app

# go into the folder
$ cd my-nuxtor-app

# install dependencies
$ pnpm install

# start the project
$ pnpm run tauri:dev

This will run the Nuxt frontend and will launch the Tauri window.

Build

$ pnpm run tauri:build

This command will generate the Nuxt static output and bundle the project under src-tauri/target.

Debug

$ pnpm run tauri:build:debug

The same Tauri bundle will generate under src-tauri/target, but with the ability to open the console.

Notes

  • Tauri v2 is still in beta. Some things might not work, or present some bugs.
  • Tauri v2 brings some big refactors, such as packages names and permission management. New permissions have to be granted under src-tauri/capabilities/main.json
  • Tauri js functions are auto imported as-is with the help of a custom module. If another Tauri plugin is added, then the module has to be updated to support auto imports under src/modules/tauri.ts
  • As per documentation, the Nuxt SSR must be disabled in order for Tauri to act as the backend. Still, all Nuxt goodies are still there.

License

MIT License © 2024-PRESENT NicolaSpadari