# 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 `. 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.