mirror of
https://github.com/CharaChorder/DeviceManager.git
synced 2025-12-11 13:26:16 +00:00
44 lines
1.0 KiB
Markdown
44 lines
1.0 KiB
Markdown
# Contributing
|
|
|
|
## UX Principles
|
|
|
|
- **Opinionated.** There should never be two ways to do the same thing.
|
|
- **Intuitive.** If a feature needs a description to explain it,
|
|
the feature has failed.
|
|
- **Simple.** No useless buttons that always need to be pressed.
|
|
|
|
## UI Design
|
|
|
|
The UI design is based on Material 3.
|
|
|
|
## Development Setup
|
|
|
|
### Nix
|
|
|
|
[Enable flakes](https://nixos.wiki/wiki/Flakes#Enable_flakes), then start the development shell using
|
|
|
|
```shell
|
|
nix develop
|
|
```
|
|
|
|
You may need to run through some additional setup to get Rust running inside IntelliJ.
|
|
|
|
### Other platforms
|
|
|
|
- NodeJS >=18.16
|
|
- Python >=3.10
|
|
- Rust Stable (For Tauri Development)
|
|
|
|
I know, python in JS projects is extremely annoying. Unfortunately,
|
|
it seems to be the only platform that offers a functional
|
|
way to subset variable woff2 fonts with ligatures.
|
|
|
|
In other words, either have python as a development dependency or
|
|
serve a 3.5MB icons font of which 99.5% is completely unused.
|
|
|
|
To generate the icons use the following command:
|
|
|
|
```shell
|
|
npm run minify-icons
|
|
```
|