

What you are describing for the master-sleve layout can be achieved with either, XMonad.Layout.Grid or Tall layout (more likely, other ways to achieve this).
The stack layout on the other hand can be achieved through the XMonad.Layout.Accordion? And if you are not a fan of that you could always refer to the XMonad.Layout.Tabbed.
Extra:
- mirror functionality where you can rotate your layouts. Mirroring
XMonad.Layout.Tabbedresults in a stack-like layout. - magnifying glass for your layouts and much more!
- Not a fan of a specific layout and want to adjust it a bit? XMonad.Layout.LayoutModifier is your friend!
- XMonad.Actions.WindowBringer to bring window into focus on demand.
- XMonad.Layout.ToggleLayouts toggle desired layout on specified binding.



After years of distro-hopping, I settled with NixOS 7 years ago and kept on expanding my setup to accommodate for my new demands from it. I might be hopping to GNU Guix at some point in the future because of their choice to use scheme as the configuration language for the Guix setups.