Nuxtor: Nuxt Tauri Starter Template

Nuxtor is a starter template to build tiny desktop apps with Tauri, Nuxt 3 and UnoCSS. A spiritual successor of ViTauri, made with Nuxt 3 and Tauri 2 Built to create super fast desktop applications!

nuxtor is still a WIP

Nuxtor

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.

Github

View Github