diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,10 @@
 # xmonad-volume
 
+## 0.1.0.1
+
+  * Generalize type signatures
+  * Remove dependency on `xmonad`
+
 ## 0.1.0.0
 
 Initial release
diff --git a/cabal.project.local b/cabal.project.local
--- a/cabal.project.local
+++ b/cabal.project.local
@@ -1,6 +1,1 @@
 constraints: xmonad-volume +development
-tests: True
-benchmarks: True
-documentation: True
-haddock-hoogle: True
-haddock-internal: True
diff --git a/src/XMonad/Util/ALSA.hs b/src/XMonad/Util/ALSA.hs
--- a/src/XMonad/Util/ALSA.hs
+++ b/src/XMonad/Util/ALSA.hs
@@ -12,11 +12,11 @@
 import           Control.Arrow                (first)
 import           Control.Composition
 import           Control.Monad
+import           Control.Monad.IO.Class
 import qualified Data.Map                     as M
 import           Graphics.X11.ExtraTypes.XF86
 import           Graphics.X11.Types
 import           Sound.ALSA.Mixer
-import           XMonad
 
 -- | Mute/unmute within the `X` Monad.
 toggleMute :: MonadIO m => m ()
@@ -42,19 +42,19 @@
             setChannel channel (value playbackVolume) $ vol + i'
 
 -- | Raise volume
-raiseVolume :: Integer -> X ()
+raiseVolume :: MonadIO m => Integer -> m ()
 raiseVolume = axe [ changeVolume FrontLeft, changeVolume FrontRight ]
 
 -- | Lower volume
-lowerVolume :: Integer -> X ()
+lowerVolume :: MonadIO m => Integer -> m ()
 lowerVolume = axe [ changeVolume FrontLeft, changeVolume FrontRight ] . negate
 
 -- | Given your keymaps, add volume control keybindings.
-volumeKeys :: M.Map (KeyMask, KeySym) (X ()) -> M.Map (KeyMask, KeySym) (X ())
+volumeKeys :: MonadIO m => M.Map (KeyMask, KeySym) (m ()) -> M.Map (KeyMask, KeySym) (m ())
 volumeKeys = M.union mediaKeyMap
     where mediaKeyMap = M.fromList volumeKeyList
 
-volumeKeyList :: [((KeyMask, KeySym), X ())]
+volumeKeyList :: MonadIO m => [((KeyMask, KeySym), m ())]
 volumeKeyList = go <$> [ (xF86XK_AudioMute, toggleMute)
                        , (xF86XK_AudioLowerVolume, lowerVolume 5)
                        , (xF86XK_AudioRaiseVolume, raiseVolume 5)
diff --git a/xmonad-volume.cabal b/xmonad-volume.cabal
--- a/xmonad-volume.cabal
+++ b/xmonad-volume.cabal
@@ -1,6 +1,6 @@
 cabal-version: 1.18
 name: xmonad-volume
-version: 0.1.0.0
+version: 0.1.0.1
 license: BSD3
 license-file: LICENSE
 copyright: Copyright: (c) 2018 Vanessa McHale
@@ -35,9 +35,8 @@
     other-extensions: TupleSections
     ghc-options: -Wall
     build-depends:
-        base >=4.3 && <5,
+        base >=4.8 && <5,
         alsa-mixer -any,
-        xmonad -any,
         X11 -any,
         containers -any,
         composition-prelude -any
