Why can't I control environment variables via /etc/environment?
/etc/environment may work in Linux but doesn't in OS X. There exist other options to accomplish similar results though.
Additional paths
Additional paths can be added in /etc/paths.d by creating a text file there listing one path component per line (e.g. sudo echo /usr/local/superbin &gt; /etc/paths.d/superbin).
Other environment variables
As more or less everything is controlled by launchd these days global environment variables can be specified directly in /etc/launchd.conf as described in this StackOverflow answer.