diff --git a/nix/packages/continuwuity.nix b/nix/packages/continuwuity.nix index 0f525ee30..e5cf07c2c 100644 --- a/nix/packages/continuwuity.nix +++ b/nix/packages/continuwuity.nix @@ -9,6 +9,7 @@ rustPlatform, cargoExtraArgs ? "", rocksdb ? callPackage ./rocksdb.nix { }, + profile ? "release", }: let # see https://crane.dev/API.html#cranelibfiltercargosources @@ -35,6 +36,7 @@ let env = { ROCKSDB_INCLUDE_DIR = "${rocksdb}/include"; ROCKSDB_LIB_DIR = "${rocksdb}/lib"; + CARGO_PROFILE = profile; }; }; in diff --git a/nix/packages/default.nix b/nix/packages/default.nix index d0f9e122f..28fe87495 100644 --- a/nix/packages/default.nix +++ b/nix/packages/default.nix @@ -5,6 +5,7 @@ { perSystem = { + self', pkgs, craneLib, ... @@ -13,6 +14,14 @@ packages = { rocksdb = pkgs.callPackage ./rocksdb.nix { }; default = pkgs.callPackage ./continuwuity.nix { inherit self craneLib; }; + # users may also override this with other cargo profiles to build for other feature sets + # + # other examples include: + # + # - release-high-perf + max-perf = self'.packages.default.override { + profile = "release-max-perf"; + }; }; }; }