third_party/nix: move overrides to toolchain-bundle derivation

We have multiple consumers of nixpkgs. The nix-shell for development
and our toolchain-bundle. To reduce the amount of applied overlays
in normal evaluation, we move all overrides/patches that are only
required for the toolchain bundle to its definition. Additionally
all small overrides get inlined as its actually more easy to read.
I also refactored the way the toolchain-bundle is constructed to make
it easier to extend.

Change-Id: If7daafb6de43d26a0b95d0248cfb8c573cc5bbbe
Reviewed-on: https://review.monogon.dev/c/monogon/+/4457
Reviewed-by: Leopold Schabel <leo@monogon.tech>
Tested-by: Jenkins CI
diff --git a/build/toolchain/toolchain-bundle/pkgs/bison/default.nix b/build/toolchain/toolchain-bundle/pkgs/bison/default.nix
new file mode 100644
index 0000000..9132a30
--- /dev/null
+++ b/build/toolchain/toolchain-bundle/pkgs/bison/default.nix
@@ -0,0 +1,9 @@
+{ super, ... }:
+super.bison.overrideAttrs (_: {
+  # Check overrided file for more informations
+  postPatch = ''
+    cp ${./yacc.in} src/yacc.in
+  '';
+
+  env.BISON = "${builtins.placeholder "out"}/bin/bison";
+})