No description
- Rust 94.7%
- CSS 4.5%
- Nix 0.7%
Merge the Jellyfin and OpenSubsonic documents plus the curated ops (AuthenticateByName with 401, serveSpec) into one music.oas3.json and generate a single module from it (84 selected ops + curated auth). - Prefix colliding operationIds (GetJellyfin*, getOpenSubsonic*) and split the one colliding enum (MediaType stays Subsonic's, JellyfinMediaType is Jellyfin's); drop the merge-artifact Child.media_type, keeping canonical mediaType - Implement all 25 per-tag traits in routes/ (jellyfin_* for Jellyfin tags, subsonic_* for OpenSubsonic tags, codegen.rs for curated ops) - Single 25-trait build_router; regenerate music.http (85 requests); allowlist generated-module lints, fix hand-written clippy nits, keep single-line spec descriptions (multi-line text becomes doctests) - Document the merge rules in openapi-to-rust.toml and the README |
||
|---|---|---|
| dioxus_music | ||
| discord_bot | ||
| httpui | ||
| kinetic_ui | ||
| portfolio | ||
| .envrc | ||
| .gitignore | ||
| AGENTS.md | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CLAUDE.md | ||
| DESIGN.md | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
| rust-toolchain.toml | ||
| TODO.md | ||
dx_monorepo
Monorepo of my various Dioxus projects.
Projects
| Package | Platform | Description |
|---|---|---|
discord_bot |
web (fullstack) | Discord bot + games monolith (game manager merged in: /games, /api/terraria/*, /api/minecraft/*, /api/authorize) |
httpui |
desktop | HTTP client (Postman-like) |
dioxus_music_web |
web (fullstack) | Music player web app |
dioxus_music_desktop |
desktop | Music player desktop app |
dioxus_music_mobile |
android/ios | Music player mobile app |
Prerequisites
Nix (recommended)
This project uses a Nix flake for development dependencies. Enter the devshell:
nix develop
The devshell provides: Rust toolchain, Dioxus CLI (dx), Android SDK/NDK, wasm-bindgen, diesel CLI, and other build dependencies.
Without Nix
Install the following manually:
- Rust (see
rust-toolchain.tomlfor the required toolchain) - Dioxus CLI:
curl -sSL http://dioxus.dev/install.sh | sh - For Android: Android SDK + NDK, set
ANDROID_HOMEandANDROID_NDK_HOME - For database projects:
diesel_cliwith postgres support, a running PostgreSQL instance
iOS Builds (macOS only)
iOS builds require Xcode installed on the host machine. The Nix devshell handles SDK discovery automatically, but you must complete these one-time setup steps:
-
Install Xcode from the Mac App Store or developer.apple.com
-
Accept the Xcode license:
sudo xcodebuild -license -
Verify iOS SDKs are available (from within the devshell):
xcrun --show-sdk-path --sdk iphonesimulator xcrun --show-sdk-path --sdk iphoneos
The devshell unsets SDKROOT and sets DEVELOPER_DIR to Xcode.app so that xcrun can discover the iOS SDKs even if xcode-select points at CommandLineTools.
Serving / Building
# Serve with hot-reload (from repo root)
dx serve --package <package_name> --platform <platform>
# Build
dx build --package <package_name> --platform <platform>
Examples:
# Web
dx serve --package dioxus_music_web --platform web
# Desktop
dx serve --package dioxus_music_desktop --platform desktop
dx serve --package httpui --platform desktop
# Mobile
dx build --package dioxus_music_mobile --platform android
dx build --package dioxus_music_mobile --platform ios