Move Rust build into its own flake at rust/flake.nix using crane, and reference it as an input from the top-level flake. The Haskell build gets the Rust artifacts (header + static lib) via a haskell.nix override that symlinks them into place before configure. Use Cabal's Cgarnet_rs naming convention for extra-bundled-libraries to satisfy the shared library install phase naming requirements. Also extract inputs.nix, default.nix, and shell.nix for flake-compat (nix-build / nix-shell) support.
19 lines
375 B
Nix
19 lines
375 B
Nix
{ system ? builtins.currentSystem
|
|
, inputs ? (import ./inputs.nix)
|
|
}:
|
|
|
|
let pkgs = import inputs.nixpkgs { inherit system; };
|
|
project = import ./default.nix { inherit system inputs; };
|
|
|
|
in pkgs.mkShell {
|
|
inputsFrom = [
|
|
project.shell
|
|
(inputs.garnet-rs.devShells.${system}.default or {})
|
|
];
|
|
packages = with pkgs; [
|
|
bacon
|
|
ghcid
|
|
rust-analyzer
|
|
];
|
|
}
|