diff --git a/src/Yi/Dired.hs b/src/Yi/Dired.hs
--- a/src/Yi/Dired.hs
+++ b/src/Yi/Dired.hs
@@ -49,7 +49,8 @@
 import           Control.Category         ((>>>))
 import           Control.Exc              (orException, printingException)
 import           Lens.Micro.Platform      (makeLenses, use, (%~), (&), (.=), (.~), (^.))
-import           Control.Monad.Reader     (asks, foldM, unless, void, when)
+import           Control.Monad            (foldM, unless, void, when)
+import           Control.Monad.Reader     (asks)
 import qualified Data.Attoparsec.Text     as P
 import           Data.Binary              (Binary)
 import           Data.Char                (toLower)
@@ -90,11 +91,15 @@
                                            unionFileModes)
 import           System.PosixCompat.Types (FileMode, GroupID, UserID)
 #ifndef mingw32_HOST_OS
-import           System.Posix.User        (GroupEntry, GroupEntry (..),
-                                           UserEntry (..), getAllGroupEntries,
+#if MIN_VERSION_unix(2,8,0)
+import           System.Posix.User.ByteString (GroupEntry(GroupEntry), UserEntry(UserEntry))
+import           System.Posix.User        (getAllGroupEntries,
+#else
+import           System.Posix.User        (GroupEntry(..), UserEntry(..),getAllGroupEntries,
+#endif
                                            getAllUserEntries,
                                            getGroupEntryForID,
-                                           getUserEntryForID, groupID, userID)
+                                           getUserEntryForID, groupID, userID, userName, groupName)
 #endif
 import           Text.Printf              (printf)
 import           Yi.Buffer
diff --git a/src/Yi/Editor.hs b/src/Yi/Editor.hs
--- a/src/Yi/Editor.hs
+++ b/src/Yi/Editor.hs
@@ -104,9 +104,8 @@
 import           Lens.Micro.Platform            (Lens', lens, mapped,
                                                  use, view, (%=), (%~),
                                                  (&), (.~), (^.))
-import           Control.Monad                  (forM_, liftM)
-import           Control.Monad.Reader           (MonadReader (ask), asks,
-                                                 unless, when)
+import           Control.Monad                  (forM_, liftM, unless, when)
+import           Control.Monad.Reader           (MonadReader (ask), asks)
 import           Control.Monad.State            (gets, modify)
 import           Data.Binary                    (Binary, get, put)
 import           Data.Default                   (Default, def)
diff --git a/src/Yi/Interact.hs b/src/Yi/Interact.hs
--- a/src/Yi/Interact.hs
+++ b/src/Yi/Interact.hs
@@ -72,7 +72,8 @@
 import           Control.Arrow       (first)
 import           Lens.Micro.Platform          (_1, _2, view)
 import qualified Control.Monad.Fail as Fail
-import           Control.Monad.State (MonadPlus (..), MonadTrans (lift), StateT)
+import           Control.Monad.State (MonadTrans (lift), StateT)
+import           Control.Monad       (MonadPlus(..))
 import           Data.Function       (on)
 import           Data.List           (groupBy)
 import qualified Data.Text           as T (Text, append, pack)
diff --git a/src/Yi/Monad.hs b/src/Yi/Monad.hs
--- a/src/Yi/Monad.hs
+++ b/src/Yi/Monad.hs
@@ -9,9 +9,10 @@
                  with,
                 ) where
 
+import Control.Monad (when)
 import Control.Monad.Base   (MonadBase, liftBase)
 import Control.Monad.Reader (MonadReader, ask)
-import Control.Monad.State  (MonadState, get, gets, put, when)
+import Control.Monad.State  (MonadState, get, gets, put)
 import Lens.Micro.Platform (Getting, ASetter, (.=), use)
 
 -- | Combination of the Control.Monad.State 'modify' and 'gets'
diff --git a/yi-core.cabal b/yi-core.cabal
--- a/yi-core.cabal
+++ b/yi-core.cabal
@@ -1,5 +1,5 @@
 name:           yi-core
-version:        0.19.3
+version:        0.19.4
 synopsis:       Yi editor core library
 category:       Yi
 homepage:       https://github.com/yi-editor/yi#readme
