The answer to you question can be found in the Nixpkgs user manual. I'm citing the relevant bit from "8.5.1. How to install Haskell packages":
We [keep] all Haskell-related packages in a separate attribute set called haskellPackages
, which the following command will list:
$ nix-env -f "<nixpkgs>" -qaP -A haskellPackages
haskellPackages.a50 a50-0.5
haskellPackages.abacate haskell-abacate-0.0.0.0
haskellPackages.abcBridge haskell-abcBridge-0.12
haskellPackages.afv afv-0.1.1
haskellPackages.alex alex-3.1.4
haskellPackages.Allure Allure-0.4.101.1
haskellPackages.alms alms-0.6.7
[... some 8000 entries omitted ...]
To install any of those packages into your profile, refer to them by their attribute path (first column):
$ nix-env -f "<nixpkgs>" -iA haskellPackages.Allure ...
The attribute path of any Haskell packages corresponds to the name of that particular package on Hackage: the package cabal-install has the attribute haskellPackages.cabal-install, and so on.
In your specific case, this means that running
nix-env -f "<nixpkgs>" -iA haskellPackages.SourceGraph
or
nix-shell -p haskellPackages.SourceGraph
will make that package available for you to run.