{ overlays ? [] }: let sources = import ./sources.nix; settings = import ./settings.nix; overlay = final: prev: { haskell = prev.haskell // { packages = prev.haskell.packages // { "${settings.ghc}" = prev.haskell.packages."${settings.ghc}".override { overrides = haskellOverlay prev; }; }; }; }; haskellOverlay = pkgs: final: prev: { unicode-data = prev.unicode-data_0_4_0_1; unicode-data-names = pkgs.haskell.lib.markUnbroken prev.unicode-data-names; }; in import sources.nixpkgs { overlays = overlays ++ [overlay]; }