anchor.diff:  
       # set up the new config
       machine.succeed("mkdir -p ${user.home}/.xmonad")
  -    machine.copy_from_host("${newConfig}", "${user.home}/.xmonad/xmonad.hs")
  +    machine.copy_from_host("${newConfig}", "${user.home}/.config/xmonad/xmonad.hs")
   
       # recompile xmonad using the new config
       machine.send_key("alt-ctrl-q")
  
positive.code:     import System.Environment (getArgs)
      import System.FilePath ((</>))
  
      main = launch $ def { startupHook = startup } `additionalKeysP` myKeys
  
      startup = isSessionStart >>= \sessInit ->
        spawn "touch /tmp/${name}"
  
negative.code: 
      compiledConfig = printf "xmonad-%s-%s" arch os
  
      compileRestart resume = do
        dirs <- asks directories
  
        whenX (recompile dirs True) $
          when resume writeStateToFile
            *> catchIO
              ( do
                  args <- getArgs
                  executeFile (cacheDir dirs </> compiledConfig) False args Nothing
              )
    '';
  
  