diff --git a/nix-diff.cabal b/nix-diff.cabal
--- a/nix-diff.cabal
+++ b/nix-diff.cabal
@@ -1,5 +1,5 @@
 name:                nix-diff
-version:             1.0.9
+version:             1.0.10
 synopsis:            Explain why two Nix derivations differ
 description:         This package provides a @nix-diff@ executable which
                      explains why two Nix derivations (i.e. @*.drv@ files)
@@ -12,7 +12,7 @@
 copyright:           2017 Gabriel Gonzalez
 category:            System
 build-type:          Simple
-tested-with:         GHC == 8.0.2, GHC == 8.2.2
+tested-with:         GHC == 8.0.2, GHC == 8.2.2, GHC == 8.8.3
 cabal-version:       >= 1.10
 extra-source-files:  README.md
 
@@ -23,9 +23,8 @@
                      , containers           >= 0.5      && < 0.7
                      , Diff                 >= 0.3      && < 0.5
                      , text                 >= 1.2      && < 1.3
-                     , system-filepath      >= 0.4      && < 0.5
                      , optparse-applicative >= 0.14.0.0 && < 0.16
-                     , nix-derivation       >= 1.0      && < 1.1
+                     , nix-derivation       >= 1.1      && < 1.2
                      , mtl                  >= 2.2      && < 2.3
                      , unix                                < 2.8
                      , vector               >= 0.12     && < 0.13
diff --git a/src/Main.hs b/src/Main.hs
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -18,11 +18,9 @@
 import Data.Set (Set)
 import Data.Text (Text)
 import Data.Vector (Vector)
-import Filesystem.Path (FilePath)
 import Nix.Derivation (Derivation, DerivationOutput)
 import Numeric.Natural (Natural)
 import Options.Applicative (Parser, ParserInfo)
-import Prelude hiding (FilePath)
 
 import qualified Control.Monad.Reader
 import qualified Control.Monad.State
@@ -33,7 +31,6 @@
 import qualified Data.Text
 import qualified Data.Text.IO
 import qualified Data.Vector
-import qualified Filesystem.Path.CurrentOS
 import qualified GHC.IO.Encoding
 import qualified Nix.Derivation
 import qualified Options.Applicative
@@ -152,10 +149,7 @@
     adapt context = context { indent = indent context + n }
 
 pathToText :: FilePath -> Text
-pathToText path =
-    case Filesystem.Path.CurrentOS.toText path of
-        Left  text -> text
-        Right text -> text
+pathToText = Data.Text.pack
 
 {-| Extract the name of a derivation (i.e. the part after the hash)
 
@@ -183,9 +177,9 @@
     assocs = fmap toAssoc (Data.Map.keys m)
 
 -- | Read and parse a derivation from a file
-readDerivation :: FilePath -> Diff Derivation
+readDerivation :: FilePath -> Diff (Derivation FilePath Text)
 readDerivation path = do
-    let string = Filesystem.Path.CurrentOS.encodeString path
+    let string = path
     text <- liftIO (Data.Text.IO.readFile string)
     case Data.Attoparsec.Text.parse Nix.Derivation.parseDerivation text of
         Done _ derivation -> do
@@ -268,9 +262,9 @@
 diffOutput
     :: Text
     -- ^ Output name
-    -> DerivationOutput
+    -> (DerivationOutput FilePath Text)
     -- ^ Left derivation outputs
-    -> DerivationOutput
+    -> (DerivationOutput FilePath Text)
     -- ^ Right derivation outputs
     -> Diff ()
 diffOutput outputName leftOutput rightOutput = do
@@ -289,9 +283,9 @@
 
 -- | Diff two sets of outputs
 diffOutputs
-    :: Map Text DerivationOutput
+    :: Map Text (DerivationOutput FilePath Text)
     -- ^ Left derivation outputs
-    -> Map Text DerivationOutput
+    -> Map Text (DerivationOutput FilePath Text)
     -- ^ Right derivation outputs
     -> Diff ()
 diffOutputs leftOutputs rightOutputs = do
