diff --git a/Distribution/PackDeps.hs b/Distribution/PackDeps.hs
--- a/Distribution/PackDeps.hs
+++ b/Distribution/PackDeps.hs
@@ -18,10 +18,11 @@
     ) where
 
 import System.Directory (getAppUserDataDirectory)
+import System.FilePath ((</>))
 import qualified Data.Map as Map
-import Data.List (foldl', group, sort, isInfixOf)
+import Data.List (foldl', group, sort, isInfixOf, isPrefixOf)
 import Data.Time (UTCTime (UTCTime), addUTCTime)
-import Data.Maybe (mapMaybe)
+import Data.Maybe (mapMaybe, catMaybes)
 
 import Distribution.Package
 import Distribution.PackageDescription
@@ -42,9 +43,23 @@
 loadNewest :: IO Newest
 loadNewest = do
     c <- getAppUserDataDirectory "cabal"
-    let fn = c ++ "/packages/hackage.haskell.org/00-index.tar"
-    loadNewestFrom fn
+    cfg <- readFile (c </> "config")
+    let repos        = reposFromConfig cfg
+        tarName repo = c </> "packages" </> repo </> "00-index.tar"
+    fmap (Map.unionsWith maxVersion) . mapM (loadNewestFrom . tarName) $ repos
 
+reposFromConfig :: String -> [String]
+reposFromConfig = map (takeWhile (/= ':'))
+                . catMaybes
+                . map (dropPrefix "remote-repo: ")
+                . lines
+
+dropPrefix :: (Eq a) => [a] -> [a] -> Maybe [a]
+dropPrefix prefix s =
+  if prefix `isPrefixOf` s
+  then Just . drop (length prefix) $ s
+  else Nothing
+
 loadNewestFrom :: FilePath -> IO Newest
 loadNewestFrom = fmap parseNewest . L.readFile
 
@@ -87,6 +102,9 @@
     , piEpoch :: Tar.EpochTime
     }
     deriving (Show, Read)
+
+maxVersion :: PackInfo -> PackInfo -> PackInfo
+maxVersion pi1 pi2 = if piVersion pi1 <= piVersion pi2 then pi2 else pi1
 
 -- | The newest version of every package.
 type Newest = Map.Map String PackInfo
diff --git a/packdeps.cabal b/packdeps.cabal
--- a/packdeps.cabal
+++ b/packdeps.cabal
@@ -1,5 +1,5 @@
 name:            packdeps
-version:         0.0.0
+version:         0.0.1
 license:         BSD3
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
@@ -25,6 +25,7 @@
                    , time                      >= 1.1.4    && < 1.3
                    , containers                >= 0.2      && < 0.5
                    , directory                 >= 1.0      && < 1.2
+                   , filepath                  >= 1.1      && < 1.3
     exposed-modules: Distribution.PackDeps
     ghc-options:     -Wall
 
