I have not found need to import a particular git revision, but that is one alternative. I usually reference nixpkgs paths defined in NIX_PATH
: import <unstable> {}
or something.
Is there a reason that either of these would not work? Could you take a package straight out of a nixpkgs channel, packages having dependencies from different nixpkgs versions, or do you need a package from unstable with its dependencies changed to the stable versions, for example?