You can use this module by importing it into your ~/.xmonad/xmonad.hs file:
import XMonad.Layout.PerWorkspace
and modifying your layoutHook as follows (for example):
layoutHook = modWorkspace "baz" m1 $ -- apply layout modifier m1 to all layouts on workspace "baz"
onWorkspace "foo" l1 $ -- layout l1 will be used on workspace "foo".
onWorkspaces ["bar","6"] l2 $ -- layout l2 will be used on workspaces "bar" and "6".
l3 -- layout l3 will be used on all other workspaces.
Note that l1, l2, and l3 can be arbitrarily complicated
layouts, e.g. (Full ||| smartBorders $ tabbed shrinkText
defaultTConf ||| ...), and m1 can be any layout modifier, i.e. a
function of type (l a -> ModifiedLayout lm l a).
In another scenario, suppose you wanted to have layouts A, B, and C
available on all workspaces, except that on workspace foo you want
layout D instead of C. You could do that as follows:
layoutHook = A ||| B ||| onWorkspace "foo" D C
|