Before we get into the details of xmonad.hs it is a good thing to first setup your workflow as in this article.
Then we analyze the parts of the file only to discover that the actual application is at the very bottom.
All the rest is importing modules and defining configs and keyboard shortcuts.
We recognize the following blocks in your xmonad.hs file
- importing modules
- autostart.sh script
- coloring of borders
- name of our primary keys like super key, alt key, …
- border width
- window manipulation (floating or not etc…)
- mouse bindings
- key bindings
- azerty and qwerty settings
- at the bottom xmonad actually starts – main :: IO()
Programming tip : Never ever use TAB