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.