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.tomlYou can also build LLDAP directly using Nix:
# Build the default package (server)
nix build
# Build and run
nix runThe flake provides two development shells:
default- Full development environmentci- Minimal environment similar to CI
# Use the CI-like environment
nix develop .#ciFor automatic environment activation when entering the project directory:
- Install direnv:
nix profile install nixpkgs#direnv - Set up direnv shell hook in your shell configuration
- Navigate to the project directory and allow direnv:
direnv allow - The environment will automatically activate when entering the directory