1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
{
flake ? import ./nix/flake-compat.nix { },
pkgs ? import flake.inputs.nixpkgs { },
toolchain ? "",
...
}@args:
let
lib = pkgs.lib;
toolchain-stdenv = pkgs.callPackage ./nix/choose-stdenv.nix {
inherit toolchain;
};
stdenv = toolchain-stdenv;
zug = pkgs.callPackage ./nix/zug.nix {
inherit stdenv;
withTests = true;
withExamples = true;
withDocs = stdenv.isLinux;
};
in
pkgs.mkShell.override { stdenv = toolchain-stdenv; } {
inputsFrom = [ zug ];
packages =
with pkgs;
[ ccache ]
++ lib.optionals toolchain-stdenv.cc.isClang [ lldb ]
++ lib.optionals toolchain-stdenv.cc.isGNU [ gdb ];
hardeningDisable = [ "fortify" ];
}
|