kanidm/shell.nix
Katherina Walshe-Grey ef638a62e9
Update shell.nix to work with stable nixpkgs ()
The existing shell.nix uses whatever versions of rustc and cargo are in
the system nixpkgs. In the current stable nixpkgs version (24.11), this
is rustc 1.82.0. Unfortunately, we depend on the `strict_provenance`
feature, which was unstable before 1.84.0. (See: )

This patch makes minimal changes to shell.nix to overlay nixpkgs with
the rustc version defined in rust-toolchain.toml, enabling Kanidm to
build locally on stable versions of NixOS.

Co-authored-by: Firstyear <william@blackhats.net.au>
2025-03-20 13:06:51 +10:00

24 lines
605 B
Nix

let
rust-overlay = (import (builtins.fetchTarball "https://github.com/oxalica/rust-overlay/archive/master.tar.gz"));
in
{ pkgs ? import <nixpkgs> { overlays = [ rust-overlay ]; } }:
pkgs.mkShellNoCC {
# Kanidm dependencies
buildInputs = with pkgs; [
pkg-config
(rust-bin.fromRustupToolchainFile ./rust-toolchain.toml)
clang
llvmPackages.bintools
openssl
] ++ pkgs.lib.optionals (pkgs.stdenv.isLinux) [
systemd
linux-pam
];
# https://github.com/rust-lang/rust-bindgen#environment-variables
LIBCLANG_PATH = pkgs.lib.makeLibraryPath [ pkgs.llvmPackages_latest.libclang.lib ];
}