Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: I58533d1577fc092fb393b70f2dd1a4146a6a6964
32 lines
1.2 KiB
Markdown
32 lines
1.2 KiB
Markdown
# Hacking Pinakes
|
|
|
|
Pinakes is a lot of things. One of the things it aims to be is _complete_. To be
|
|
complete in features, to be complete in documentation and to be complete in
|
|
hackability. This document covers, very comprehensively, how you may:
|
|
|
|
- Build Pinakes
|
|
- Develop Pinakes
|
|
- Contribute to Pinakes
|
|
|
|
for developers as well as:
|
|
|
|
- Distribute Pinakes
|
|
|
|
for Pinakes maintainers and packagers.
|
|
|
|
## Building Pinakes
|
|
|
|
Pinakes is built with Rust (nightly edition) and various crates. The most
|
|
_notable_ crate among those is Dioxus, which provides its own toolkit. The UI
|
|
for Pinakes is usually _not_ built with the Dioxus CLI but instead with
|
|
`cargo build`. This also applies to distributable build results.
|
|
|
|
[Direnv]: https://direnv.net
|
|
|
|
To build Pinakes, simply pick the components you want and build them with
|
|
`cargo build --release --package <component>`. A Nix shell is provided for
|
|
reproducible developer environments and you may obtain all build dependencies by
|
|
simply running `nix develop` or `direnv allow` if you use [Direnv]. Nix is a
|
|
cross-platform build tool and works on most Linux distributions as well as
|
|
Darwin. While distro-specific package managers _might_ work, Nix is the only
|
|
supported one.
|