Switching the desktop enviroment Would it be possible to change the default environment to something like Cinnamon? Or to a window manager like openbox or awesomewm?
Yes. Reference the XQuartz Project, which is developing an OS X friendly version of Xorg: http://xquartz.macosforge.org/trac/wiki

Awesome WM has been successfully installed by at least this user: http://permalink.gmane.org/gmane.comp.window-managers.awesome/7939

They go on to list a step by step. Your mileage may vary, but it looks like it is possible to replace the default:

Once Xquartz was installed, set the following prefences:

 CHECK option key sends alt instead of mode_switch
 UNCHECK enable key equivelants


I installed the following ports from macports

 port install awesome
 port install xmodmap
 port install xev
 port install rxvt-unicode


Then, I made the following configuration file changes to get it
configured with the X server.  B

.xinitrc

  cd /Users/≤username&gt;
 xmodmap .Xmodmap
 exec /opt/local/bin/awesome


.xmodmap

 remove mod1 = Alt_L
 add mod4 = Alt_L


Now, create an rc.lua file based on the stock version from macports,
and make a few changes to set the keys up

 mkdir -p ~/.config/awesome
 cp /opt/local/etc/xdg/awesome/rc.lua ~/.config/awesome


Making it more Mac-like

Define the commandkey as a variable.  Also set urxvt-unicode as


the default terminal:

    commandkey = "mod2"
    terminal = "/opt/local/bin/urxvt"

Command-W to close a window, like the default MacOS shortcut

    awful.key({ commandkey }, "w", function (c) c:kill() end)


Fixing the Tag navigation

The Mod4 + N key combination doesn't actually send you to tag N
using the default rc.lua.  You must add the following

    tagkeys = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }

and then change

    "#" .. i,

to
    tagkeys[i],

In the section where the awful.keys() functions switch tags


There are still some quirks with this setup, but overall I find it
better than having to resize and place terminal windows by hand.