diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,10 @@
 # Revision history for tex-builder
 
+0.1.3.0
+---
+* Add new option to force an initial compile run.
+* Enforce threaded runtime in cabal file, fixing problems with e.g. the nix build, which is single threaded by default.
+
 0.1.2.0
 ---
 * Avoid calling external executables by hard coded path,
diff --git a/Main.hs b/Main.hs
--- a/Main.hs
+++ b/Main.hs
@@ -26,6 +26,7 @@
       <*> fileTypesOpt
       <*> depthOpt
       <*> (statefulFlag <|> persistFlag <|> pure Pure)
+      <*> forcedFlag
       -- <*> watchOpt
       <*> engineOption
       <*> nolatexmkFlag
@@ -70,6 +71,11 @@
   <> help "Run in persistent mode, using the main directory\
           \ for building. If the state gets messed up, YOU\
           \ will have to fix it.")
+
+forcedFlag :: Parser Forced
+forcedFlag = Forced <$> switch
+  ( long "forced"
+  <> help "Run in forced mode, doing an intial compile run, even if a pdf file is already present. ")
 
 -- | not yet ready
 watchOpt :: Parser String
diff --git a/TexBuilder/TexBuilder.hs b/TexBuilder/TexBuilder.hs
--- a/TexBuilder/TexBuilder.hs
+++ b/TexBuilder/TexBuilder.hs
@@ -1,6 +1,7 @@
 module TexBuilder.TexBuilder
   ( texBuilder
   , StatePolicy(..)
+  , Forced(..)
   , UseEngine(..)
   , UseLatexMk(..) )
 where
@@ -37,11 +38,14 @@
 
 data StatePolicy = Pure | Stateful | Persistent
 
+newtype Forced = Forced Bool
+
 texBuilder :: FilePath
   -> Maybe FilePath
   -> Exts
   -> Natural
   -> StatePolicy
+  -> Forced
   -> UseEngine
   -> UseLatexMk
   -> Natural
@@ -49,7 +53,7 @@
   -> IO ()
 texBuilder 
   texfile mbPdfFile exts depth statePolicy
-  useEngine useLatexmk nrecomp extraArgs
+  forced useEngine useLatexmk nrecomp extraArgs
   = do
   engine <- chooseEngine useEngine useLatexmk
   let runRaw = compile engine nrecomp texfile pdffile extraArgs
@@ -57,7 +61,7 @@
     $ \run -> do
       assertFileEx texfile
       -- ^ Assert that the tex file exists
-      initialCompile pdffile run
+      initialCompile forced pdffile run
       -- ^ Do an initial compile run if appropriate
       sem <- newBinSem
       -- ^ Signaling semaphore connecting the threads
@@ -83,11 +87,13 @@
     pdffile = fromMaybe (texfile -<.> "pdf") mbPdfFile
 
 
-initialCompile :: FilePath -> IO PP.Doc -> IO () 
-initialCompile pdffile run =
-  unlessM (doesFileExist pdffile) $ do
-    putStrLn "No ouput file detected, compiling."
-    run >>= PP.putDoc
+initialCompile :: Forced -> FilePath -> IO PP.Doc -> IO () 
+initialCompile (Forced f) pdffile run
+  | f = comp "Initial compilation forced, compiling."
+  | True = unlessM (doesFileExist pdffile)
+      $ comp "No ouput file detected, compiling."
+  where
+    comp msg = putStrLn msg >> run >>= PP.putDoc
 
 listSourceFiles :: Natural
   -> FilePath
diff --git a/texbuilder.cabal b/texbuilder.cabal
--- a/texbuilder.cabal
+++ b/texbuilder.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                texbuilder
-version:             0.1.2.0
+version:             0.1.3.0
 synopsis:            View your latex output while editing
 description:         
   This program allows you to view your latex document in your pdf viewer while 
@@ -61,6 +61,7 @@
   -- hs-source-dirs:      
   
   default-language:    Haskell2010
+  ghc-options: -threaded
 
 source-repository head
   type: git
