Gloamy Desktop is the primary GUI for the project. It is built with:
-
Rust
- Tauri v2 as the desktop application framework.
- Tauri Store Plugin for persistence.
- Tauri Log Plugin for logging.
- CrabNebula DevTools for development.
-
Vue.js 3
- Shadcn Vue + Tailwind CSS v4 for components.
- Vue Router for application routing.
- Vue I18n for internationalization.
- Pinia for state management.
- VS Code + Volar + Tauri + rust-analyzer
Follow Tauri's prerequisites guide to setup your development environment.
Install dependencies with pnpm install
The app can load background-image thumbnails from a JSON manifest.
By default, it will try same-origin: GET /logo/manifest.v1.json (served from public/logo/manifest.v1.json).
To use a remote CDN/Worker endpoint, configure either:
VITE_BACKGROUND_CDN_BASE(base URL that containsmanifest.v1.json)VITE_BACKGROUND_MANIFEST_URL(full URL to the manifest)
Note: the *.r2.cloudflarestorage.com hostname is an R2 S3 API endpoint and usually requires Authorization,
so it won’t work for browser fetch() unless you put a public/custom domain or a Worker in front of it.
For Desktop development, run: pnpm tauri dev
The legacy browser dashboard has been removed. Use this desktop app for the primary UI.
The app can optionally load background image thumbnails from a CDN using a JSON manifest.
VITE_BACKGROUND_CDN_BASE: Base URL that containsmanifest.v1.jsonand the folders (e.g.blur/,glass/).VITE_BACKGROUND_MANIFEST_URL: Full override URL for the manifest (optional).VITE_BACKGROUND_PROXY_TARGET: Dev-only Vite proxy target (optional). If set, you can use a same-origin base likeVITE_BACKGROUND_CDN_BASE=/__bg/logo.
Note: the *.r2.cloudflarestorage.com endpoint is the R2 S3 API endpoint and typically requires auth; for browser access you usually need a public/custom domain (or r2.dev) with CORS enabled.
Create a new JSON file in the locales directory with the appropriate translations and the locale as the filename.
Then update the supportedLanguages function in lib/config.ts to include the new language.
Tauri Store Plugin stores settings.json at:
macOS: ~/Library/Application Support/com.gloamy.desktop
Use a single default icon family across product UI:
- Default UI icons: Hugeicons
stroke-rounded(Iconifyhugeicons:*) - Brand surfaces (integrations, channels, providers): official brand marks only (
simple-icons:*/official logos) - Do not mix multiple generic icon families in the same screen unless there is a migration exception
- When editing an existing screen with legacy
ph:*icons, migrate touched icons to Hugeicons as part of that change
Tauri CLI provides an icon command pnpm tauri icon which takes an image path and generates icon files for your application.
Contributions are welcome! Feel free to:
- Open issues for bugs or feature requests
- Submit pull requests for improvements
- Provide feedback on existing features
- Suggest documentation improvements
- Help with translations
To build a binary, run:
pnpm tauri buildThis repo is currently setup to create a release on Github when you merge to the release branch. See https://github.com/tauri-apps/tauri-action/tree/dev.
If you are using the signing identity - for macOS, when you first download and run the application, you will have to go to System Settings > Privacy & Security and allow your app to run.
See tauri-apps/tauri-action/issues/824 & support.apple.com/open-a-mac-app-from-an-unidentified-developer.