diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,12 @@
+propellor (3.0.3) unstable; urgency=medium
+
+  * Remove Propellor.DotDir from the propellor library, as its use of
+    Paths_propellor prevents use of the module out of propellor's tree.
+    This module is only needed for the wrapper program anyway, which
+    handles --init.
+
+ -- Joey Hess <id@joeyh.name>  Sun, 01 May 2016 17:51:37 -0400
+
 propellor (3.0.2) unstable; urgency=medium
 
   * Added Apt.periodicUpdates.
diff --git a/debian/changelog b/debian/changelog
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+propellor (3.0.3) unstable; urgency=medium
+
+  * Remove Propellor.DotDir from the propellor library, as its use of
+    Paths_propellor prevents use of the module out of propellor's tree.
+    This module is only needed for the wrapper program anyway, which
+    handles --init.
+
+ -- Joey Hess <id@joeyh.name>  Sun, 01 May 2016 17:51:37 -0400
+
 propellor (3.0.2) unstable; urgency=medium
 
   * Added Apt.periodicUpdates.
diff --git a/propellor.cabal b/propellor.cabal
--- a/propellor.cabal
+++ b/propellor.cabal
@@ -1,5 +1,5 @@
 Name: propellor
-Version: 3.0.2
+Version: 3.0.3
 Cabal-Version: >= 1.8
 License: BSD3
 Maintainer: Joey Hess <id@joeyh.name>
@@ -47,6 +47,8 @@
     MissingH, directory, filepath, IfElse, process, bytestring, hslogger,
     unix, unix-compat, ansi-terminal, containers (>= 0.5), network, async,
     time, mtl, transformers, exceptions (>= 0.6), stm, text
+  Other-Modules:
+    Propellor.DotDir
 
 Executable propellor-config
   Main-Is: config.hs
@@ -152,7 +154,6 @@
     Propellor.Info
     Propellor.Message
     Propellor.Debug
-    Propellor.DotDir
     Propellor.PrivData
     Propellor.Engine
     Propellor.EnsureProperty
diff --git a/src/Propellor/CmdLine.hs b/src/Propellor/CmdLine.hs
--- a/src/Propellor/CmdLine.hs
+++ b/src/Propellor/CmdLine.hs
@@ -16,7 +16,6 @@
 import Propellor.Bootstrap
 import Propellor.Spin
 import Propellor.Types.CmdLine
-import Propellor.DotDir (interactiveInit)
 import qualified Propellor.Property.Docker as Docker
 import qualified Propellor.Property.Chroot as Chroot
 import qualified Propellor.Shim as Shim
@@ -71,7 +70,6 @@
 	go ("--serialized":s:[]) = serialized Serialized s
 	go ("--continue":s:[]) = serialized Continue s
 	go ("--gitpush":fin:fout:_) = return $ GitPush (Prelude.read fin) (Prelude.read fout)
-	go ("--init":_) = return Init
 	go ("--run":h:[]) = go [h]
 	go (h:[])
 		| "--" `isPrefixOf` h = usageError [h]
@@ -133,7 +131,6 @@
 		fetchFirst (buildFirst (findHost hostlist hn) cr cmdline (runhost hn))
 	-- When continuing after a rebuild, don't want to rebuild again.
 	go _ (Continue cmdline) = go NoRebuild cmdline
-	go _ Init = interactiveInit
 
 	withhost :: HostName -> (Host -> IO ()) -> IO ()
 	withhost hn a = maybe (unknownhost hn hostlist) a (findHost hostlist hn)
diff --git a/src/Propellor/Types/CmdLine.hs b/src/Propellor/Types/CmdLine.hs
--- a/src/Propellor/Types/CmdLine.hs
+++ b/src/Propellor/Types/CmdLine.hs
@@ -28,5 +28,4 @@
 	| ChrootChain HostName FilePath Bool Bool
 	| GitPush Fd Fd
 	| Check
-	| Init
 	deriving (Read, Show, Eq)
