diff --git a/src/Zifter/Hindent.hs b/src/Zifter/Hindent.hs
--- a/src/Zifter/Hindent.hs
+++ b/src/Zifter/Hindent.hs
@@ -1,7 +1,6 @@
 module Zifter.Hindent where
 
 import Control.Monad.IO.Class
-import Data.Foldable
 import Path
 import Path.IO
 import Safe
@@ -12,17 +11,31 @@
 
 import Zifter.Zift
 
+newtype HindentBin =
+    HindentBin (Path Abs File)
+    deriving (Show, Eq)
+
 hindentZift :: Zift ()
 hindentZift = do
-    () <- hindentCheckAndPrintVersion
+    hindentBin <- getHindent
+    () <- hindentCheckAndPrintVersion hindentBin
     rd <- getRootDir
     fs <- liftIO $ snd <$> listDirRecur rd
     let sources = filter (not . hidden) $ filter ((== ".hs") . fileExtension) fs
-    for_ sources hindentSingleSource
+    forZ_ sources $ hindentSingleSource hindentBin
 
-hindentCheckAndPrintVersion :: Zift ()
-hindentCheckAndPrintVersion = do
-    let cmd = "hindent --version"
+getHindent :: Zift HindentBin
+getHindent = do
+    home <- liftIO getHomeDir
+    file <- liftIO $ parseRelFile ".local/bin/hindent"
+    pure $ HindentBin $ home </> file
+
+hindentCmd :: HindentBin -> [String] -> String
+hindentCmd (HindentBin ap) args = unwords $ toFilePath ap : args
+
+hindentCheckAndPrintVersion :: HindentBin -> Zift ()
+hindentCheckAndPrintVersion hb = do
+    let cmd = hindentCmd hb ["--version"]
     (_, mouth, _, ph) <-
         liftIO $ createProcess ((shell cmd) {std_out = CreatePipe})
     ec <- liftIO $ waitForProcess ph
@@ -33,17 +46,12 @@
         ExitFailure c -> fail $ unwords [cmd, "failed with exit code", show c]
         ExitSuccess -> pure ()
 
-hindentSingleSource :: Path Abs File -> Zift ()
-hindentSingleSource file = do
+hindentSingleSource :: HindentBin -> Path Abs File -> Zift ()
+hindentSingleSource hb file = do
     let cmd =
-            unwords
-                [ "hindent"
-                , "--indent-size"
-                , "4"
-                , "--line-length"
-                , "80"
-                , toFilePath file
-                ]
+            hindentCmd
+                hb
+                ["--indent-size", "4", "--line-length", "80", toFilePath file]
     let cp = shell cmd
     ec <-
         liftIO $ do
diff --git a/zifter-hindent.cabal b/zifter-hindent.cabal
--- a/zifter-hindent.cabal
+++ b/zifter-hindent.cabal
@@ -1,7 +1,5 @@
 name: zifter-hindent
-synopsis: zifter-hindent
-description: zifter-hindent
-version: 0.0.0.0
+version: 0.0.0.1
 cabal-version: >=1.10
 build-type: Simple
 license: MIT
@@ -9,6 +7,9 @@
 copyright: Copyright: (c) 2017 Tom Sydney Kerckhove
 maintainer: syd.kerckhove@gmail.com
 homepage: http://cs-syd.eu
+synopsis: zifter-hindent
+description:
+    zifter-hindent
 category: Zift
 author: Tom Sydney Kerckhove
 
@@ -20,7 +21,7 @@
         process -any,
         filepath >=1.4 && <1.5,
         directory -any,
-        zifter >=0.0 && <0.1,
+        zifter >=0.0.1.2 && <0.1,
         path >=0.5 && <0.6,
         path-io >=1.2 && <1.3,
         safe >=0.3 && <0.4
