This page is to serve as both an apology and an announcement. I’ve recently modularized my xmonad.hs
. I’m sorry.
This is no longer true. I’ve since gone through a bit of a config cleanse, deciding it makes my life easier to live closer to defaults and not carry around a lot of extra configuration or features (that I don’t actively use).
As part of this cleanse, I’ve stripped my config back down to a very lean xmonad.hs
that can easily live within the confines of a single file.
Who cares?
I know of at least one person who stops by my site on a regular basis to update his xmonad.hs
to match the latest version of mine. I’ve also seen, on a few occasions, someone mention that they use brisbin33’s xmonad config when discussing an issue on the forums or in IRC. True, for all I know, there could be only three people using some form of my config – but to them, I’m sorry.
Anyone who blindly updates to my most recent xmonad.hs
may get hit with the following error:
xmonad.hs:21:7:
Could not find module `ScratchPadKeys':
Use -v to see a list of the files searched for.
Failed, modules loaded: none.
That’s because I’ve offloaded some of the more module-ish chunks of my config into, well, modules.
Why?
I noticed, when browsing the XMonad source (I know, shut-up), that the default recompile command includes the option -ilib
this tells ghc to include source files in ./lib
. It was a light-bulb moment.
I had gathered some pretty sophisticated code in my little xmonad.hs
: custom data types and instances, reusable utilities, etc. Why not put them in their own files and import them into a nice clean config as I would with any normal contrib module?
So, if you’re following my xmonad.hs
, please continue to do so. Just be advised you’ll need a few files in lib
if you want to use the functionality they offer.