diff --git a/nix-derivation.cabal b/nix-derivation.cabal
--- a/nix-derivation.cabal
+++ b/nix-derivation.cabal
@@ -1,6 +1,6 @@
 Name: nix-derivation
-Version: 1.0.0
-Cabal-Version: >=1.8.0.2
+Version: 1.0.1
+Cabal-Version: >=1.10
 Build-Type: Simple
 Tested-With: GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.2
 License: BSD3
@@ -12,6 +12,10 @@
 Synopsis: Parse and render *.drv files
 Description:
     Use this package to parse and render Nix derivation files (i.e. *.drv files)
+    .
+    This package also provides a @pretty-derivation@ executable which reads a
+    derivation on standard input and outputs the pretty-printed Haskell
+    representation on standard output
 Category: System
 Extra-Source-Files:
     tests/example0.drv
@@ -21,6 +25,7 @@
     Location: https://github.com/Gabriel439/Haskell-Nix-Derivation-Library
 
 Library
+    Default-Language: Haskell2010
     Hs-Source-Dirs: src
     Build-Depends:
         base            >= 4.6.0.0  && < 5   ,
@@ -38,7 +43,20 @@
         Nix.Derivation.Types
     GHC-Options: -Wall
 
+Executable pretty-derivation
+    Default-Language: Haskell2010
+    Hs-Source-Dirs: pretty-derivation
+    Build-Depends:
+        base           >= 4.6.0.0  && < 5   ,
+        attoparsec     >= 0.12.0.0 && < 0.14,
+        pretty-show    >= 1.6.11   && < 1.7 ,
+        text           >= 0.8.0.0  && < 1.3 ,
+        nix-derivation
+    GHC-Options: -Wall
+    Main-Is: Main.hs
+
 Test-Suite example
+    Default-Language: Haskell2010
     Type: exitcode-stdio-1.0
     Hs-Source-Dirs: tests
     Main-Is: Example.hs
@@ -50,6 +68,7 @@
         text           >= 0.8.0.0  && < 1.3
 
 Test-Suite property
+    Default-Language: Haskell2010
     Type: exitcode-stdio-1.0
     Hs-Source-Dirs: tests
     Main-Is: Property.hs
diff --git a/pretty-derivation/Main.hs b/pretty-derivation/Main.hs
new file mode 100644
--- /dev/null
+++ b/pretty-derivation/Main.hs
@@ -0,0 +1,15 @@
+module Main where
+
+import Data.Attoparsec.Text.Lazy (Result(..))
+
+import qualified Data.Attoparsec.Text.Lazy
+import qualified Data.Text.Lazy.IO
+import qualified Nix.Derivation
+import qualified Text.Show.Pretty
+
+main :: IO ()
+main = do
+    text <- Data.Text.Lazy.IO.getContents
+    case Data.Attoparsec.Text.Lazy.parse Nix.Derivation.parseDerivation text of
+        Fail _ _ err      -> fail err
+        Done _ derivation -> Text.Show.Pretty.pPrint derivation
