docs/nix-development.md
LLDAP provides a Nix flake that sets up a complete development environment with all necessary tools and dependencies.
# Clone the repository
git clone https://github.com/lldap/lldap.git
cd lldap
# Enter the development environment
nix develop
# Build the workspace
cargo build --workspace
# Run tests
cargo test --workspace
# Check formatting and linting
cargo fmt --check --all
cargo clippy --tests --workspace -- -D warnings
# Build frontend
./app/build.sh
# Export GraphQL schema (if needed)
./export_schema.sh
# Start development server
cargo run -- run --config-file lldap_config.docker_template.toml
You can also build LLDAP directly using Nix:
# Build the default package (server)
nix build
# Build and run
nix run
The flake provides two development shells:
default - Full development environmentci - Minimal environment similar to CI# Use the CI-like environment
nix develop .#ci
For automatic environment activation when entering the project directory:
nix profile install nixpkgs#direnvdirenv allow