An open API service indexing awesome lists of open source software.

https://github.com/vasak-os/vasak-desktop

Desktop for VasakOS
https://github.com/vasak-os/vasak-desktop

background desktop desktop-environment javascript linux vasak

Last synced: 3 months ago
JSON representation

Desktop for VasakOS

Awesome Lists containing this project

README

          









Vasak Desktop is a modern desktop environment built with Tauri (Rust backend + Vue.js frontend) that provides a comprehensive Linux desktop shell. It implements a multi-window desktop interface with system panel, application launcher, control center, and desktop background management across multiple monitors.

This document covers the overall system architecture, core components, and technology stack.

## Preview

![Vasak Desktop Preview](./preview.gif)

## Getting Started

### Prerequisites and System Requirements
The vasak-desktop application requires both Node.js/JavaScript and Rust toolchains due to its hybrid Tauri architecture.

#### Required Dependencies
* JavaScript Runtime (Bun Recommended):
* Bun runtime
* Package manager: bun
* Rust Toolchain:
* Rust 1.70+ with Cargo
* Tauri CLI 2.8+
* System Libraries: The application requires system libraries for desktop integration:
* GTK 3.0+ development libraries
* D-Bus development libraries
* X11 development libraries (for X11 support)
* Wayland development libraries (for Wayland support)

### Installation & Development

1. **Clone the repository**
```bash
git clone https://github.com/vasak-os/vasak-desktop.git
cd vasak-desktop
```

2. **Install dependencies**
```bash
bun install
```

3. **Run in development mode**
```bash
bun tauri dev
```

4. **Build for production**
```bash
bun tauri build
```

### Recommended IDE Setup

- [VS Code](https://code.visualstudio.com/)
- [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar)
- [Tauri](https://marketplace.visualstudio.com/items?itemName=tauri-apps.tauri-vscode)
- [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer)

## System Architecture

Vasak Desktop follows a hybrid web-native architecture where Vue.js handles the user interface layer while Rust manages system-level operations through Tauri's IPC bridge.

## Technology Stack
### Build and Development Stack

| Component | Technology | Purpose |
|-----------|------------|---------|
| Frontend Framework | Vue.js 3.5.18 | Reactive user interface |
| Backend Runtime | Rust + Tauri 2.x | System integration and window management |
| Styling | Tailwind CSS 4.1.12 | Utility-first CSS framework |
| Build Tool | Vite 7.1.3 | Frontend build and development server |
| State Management | Pinia 3.0.3 | Vue.js state management |
| Routing | Vue Router 4.5.1 | Client-side routing |
| Type System | TypeScript 5.9.2 | Static type checking |

### System Integration Technologies
| Component | Technology | Purpose |
|-----------|------------|---------|
| Display Server | X11 + Wayland | Multi-protocol display server support |
| GUI Toolkit | GTK 0.18 + GDK 0.18 | Native Linux widget integration |
| IPC/DBus | zbus 4.x | D-Bus communication for system services |
| Image Processing | image 0.25 |

## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.