diff --git a/nix-derivation.cabal b/nix-derivation.cabal
--- a/nix-derivation.cabal
+++ b/nix-derivation.cabal
@@ -1,5 +1,5 @@
 Name: nix-derivation
-Version: 1.1.1
+Version: 1.1.2
 Cabal-Version: >=1.10
 Build-Type: Simple
 Tested-With: GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.2, GHC == 8.8.3
@@ -29,7 +29,7 @@
     Hs-Source-Dirs: src
     Build-Depends:
         base            >= 4.6.0.0  && < 5   ,
-        attoparsec      >= 0.12.0.0 && < 0.14,
+        attoparsec      >= 0.12.0.0 && < 0.15,
         containers                     < 0.7 ,
         deepseq         >= 1.4.0.0  && < 1.5 ,
         text            >= 0.8.0.0  && < 1.3 ,
@@ -48,7 +48,7 @@
     Hs-Source-Dirs: pretty-derivation
     Build-Depends:
         base           >= 4.6.0.0  && < 5   ,
-        attoparsec     >= 0.12.0.0 && < 0.14,
+        attoparsec     >= 0.12.0.0 && < 0.15,
         pretty-show    >= 1.6.11   && < 1.11,
         text           >= 0.8.0.0  && < 1.3 ,
         nix-derivation
@@ -63,7 +63,7 @@
     GHC-Options: -Wall
     Build-Depends:
         base           >= 4.6.0.0  && < 5   ,
-        attoparsec     >= 0.12.0.0 && < 0.14,
+        attoparsec     >= 0.12.0.0 && < 0.15,
         nix-derivation                      ,
         text           >= 0.8.0.0  && < 1.3
 
@@ -75,9 +75,9 @@
     GHC-Options: -Wall
     Build-Depends:
         base            >= 4.6.0.0  && < 5   ,
-        attoparsec      >= 0.12.0.0 && < 0.14,
+        attoparsec      >= 0.12.0.0 && < 0.15,
         nix-derivation                       ,
-        QuickCheck                     < 2.14,
+        QuickCheck                     < 2.15,
         text            >= 0.8.0.0  && < 1.3 ,
         vector                         < 0.13,
         filepath                       < 1.5
@@ -91,7 +91,7 @@
 
     Build-Depends:
         base            >= 4.6.0.0  && < 5   ,
-        attoparsec      >= 0.12.0.0 && < 0.14,
+        attoparsec      >= 0.12.0.0 && < 0.15,
         criterion       >= 1.1.4.0  && < 1.6 ,
         nix-derivation                       ,
         text            >= 0.8.0.0  && < 1.3
diff --git a/src/Nix/Derivation/Parser.hs b/src/Nix/Derivation/Parser.hs
--- a/src/Nix/Derivation/Parser.hs
+++ b/src/Nix/Derivation/Parser.hs
@@ -19,11 +19,11 @@
 import Data.Vector (Vector)
 import Nix.Derivation.Types (Derivation(..), DerivationOutput(..))
 
+import qualified Data.Attoparsec.Text
 import qualified Data.Attoparsec.Text.Lazy
 import qualified Data.Map
 import qualified Data.Set
 import qualified Data.Text
-import qualified Data.Text.Lazy
 import qualified Data.Vector
 import qualified System.FilePath
 
@@ -102,24 +102,34 @@
 textParser :: Parser Text
 textParser = do
     "\""
+
     let predicate c = not (c == '"' || c == '\\')
+
     let loop = do
-            text0 <- Data.Attoparsec.Text.Lazy.takeWhile predicate
-            char0 <- Data.Attoparsec.Text.Lazy.anyChar
-            text2 <- case char0 of
-                '"'  -> return ""
+            text0 <- Data.Attoparsec.Text.takeWhile predicate
+
+            char0 <- Data.Attoparsec.Text.anyChar
+
+            case char0 of
+                '"'  -> do
+                    return [ text0 ]
+
                 _    -> do
-                    char1 <- Data.Attoparsec.Text.Lazy.anyChar
+                    char1 <- Data.Attoparsec.Text.anyChar
+
                     char2 <- case char1 of
                         'n' -> return '\n'
                         'r' -> return '\r'
                         't' -> return '\t'
                         _   -> return char1
-                    text1 <- loop
-                    return (Data.Text.Lazy.cons char2 text1)
-            return (Data.Text.Lazy.fromStrict text0 <> text2)
-    text <- loop
-    return (Data.Text.Lazy.toStrict text)
+
+                    textChunks <- loop
+
+                    return (text0 : Data.Text.singleton char2 : textChunks)
+
+    textChunks <- loop
+
+    return (Data.Text.concat textChunks)
 
 filepathParser :: Parser FilePath
 filepathParser = do
