How rahulkumarparida/omarchy-customizer works
Omarchy Customizer is a local-first web app for browsing and applying Hyprland desktop themes, plus managing theme presets, configuration backups, and raw config edits. The main flow is browser → React collections/details → HTTP API → service layer → local config files and system commands. The README documents all five theme collections and the backup, bucket, and editor capabilities; sampled source confirms theme-route/service calls, while wiring for the other route families is represented only where supported by the tree and documentation.
Main entry points: routers.py API router · api.js HTTP client · App.jsx React app · file_services.py File operations
Components 24
Browser experience
- React app
Frontend/src/App.jsx - Theme collections
Frontend/src/components - Theme details
Frontend/src/components/ui - Bucket presets
Frontend/src/pages/BucketCollectionPage.jsx - Backup interface
Frontend/src/pages/BackupPage.jsx - Config editor
Frontend/src/pages/EditorPage.jsx - HTTP client
Frontend/src/api/api.js
API routes
- API router
Backend/app/api/routers.py - Theme routes
Backend/app/api/routes/theme_routes.py - Bucket routes
Backend/app/api/routes/bucket_routes.py - Backup routes
Backend/app/api/routes/backup_routes.py - Editor routes
Backend/app/api/routes/editor_routes.py - Fastfetch routes
Backend/app/api/routes/fastfetch_routes.py
Application services
- Theme operations
Backend/app/services/theme_services.py - Bucket operations
Backend/app/services/bucket_service.py - Backup operations
Backend/app/services/backup_service.py - Editor operations
Backend/app/services/editor_services.py - Fastfetch catalog
Backend/app/services/fastfetch_services.py - File operations
Backend/app/services/file_services.py - System commands
Backend/app/services/command_services.py
Local system
- Desktop configs
- Customizer data
Backend/app/store
Other components
- Desktop user
- Linux desktop
Connections 33
- Desktop user → React app: uses
- React app → Theme collections: shows
- React app → Bucket presets: opens
- React app → Backup interface: opens
- React app → Config editor: opens
- Theme collections → Theme details: opens
- Theme collections → HTTP client: requests themes
- Theme details → HTTP client: requests details or apply
- Bucket presets → HTTP client: manages presets
- Backup interface → HTTP client: manages backups
- Config editor → HTTP client: loads and saves
- HTTP client → API router: HTTP requests
- API router → Theme routes: dispatches
- API router → Bucket routes: dispatches
- API router → Backup routes: dispatches
- API router → Editor routes: dispatches
- API router → Fastfetch routes: dispatches
- Theme routes → Theme operations: calls
- Bucket routes → Bucket operations: handles presets
- Backup routes → Backup operations: handles backups
- Editor routes → Editor operations: handles edits
- Fastfetch routes → Fastfetch catalog: loads catalog
- Theme operations → File operations: edits config files
- Theme operations → System commands: runs commands
- Backup operations → File operations: copies configs
- Editor operations → File operations: reads and writes
- Bucket operations → Customizer data: stores presets
- Backup operations → Customizer data: stores snapshots
- Editor operations → Customizer data: stores history
- Fastfetch catalog → Customizer data: reads catalog
- File operations → Desktop configs: reads and writes
- System commands → Linux desktop: executes locally
- Linux desktop → Desktop configs: uses