mirror of
https://github.com/lldap/lldap.git
synced 2026-03-31 15:07:48 +01:00
fe063272bf
Co-authored-by: Kumpelinus <kumpelinus@jat.de> - Add Nix flake and lockfile for reproducible development environments - Document Nix-based setup in `docs/nix-development.md` - Add `.envrc` for direnv integration and update `.gitignore` for Nix/direnv artifacts - Reference Nix setup in CONTRIBUTING.md
1.5 KiB
1.5 KiB
Nix Development Environment
LLDAP provides a Nix flake that sets up a complete development environment with all necessary tools and dependencies.
Requirements
Usage
# 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
Building with Nix
You can also build LLDAP directly using Nix:
# Build the default package (server)
nix build
# Build and run
nix run
Development Shells
The flake provides two development shells:
default- Full development environmentci- Minimal environment similar to CI
# Use the CI-like environment
nix develop .#ci
Automatic Environment Activation (Optional)
For 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