Geode helps you manage config files for your shell, editor, etc. You specify settings in TOML files, and Geode applies them inside a Docker container.
First, install the prerequisites: Git, Go, and Docker. Then, run the following command:
go install github.com/jeffs/geode/...@v0.1.2The geode command line tool should now be in your $GOPATH/bin directory (or
~/go/bin if $GOPATH is empty).  Re-run the command at any time to upgrade
to the latest version of Geode.  To uninstall Geode, remove the binary from
your go/bin folder, and (optionally) delete the downloaded package:
rm ~/go/bin/geode
rm -rf ~/go/pkg/*/mod/github.com/jeffs/geodeRun geode help for a list of Geode subcommands.
For a trivial profile, see testdata/groovy.  For a larger example, see
https://github.com/jeffs/geode-profile-home.
On the host machine, you probably want to create a ~/.docker/config.json file
setting Docker's "detach keys" to something other than the default ^p:
{ "detachKeys" : "ctrl-\\,ctrl-\\" }If you run containers on macOS, you can support copy/paste from the host pasteboard via X11. Paraphrasing cschiewek:
- Install XQuartz.
 - Under the XQuartz menu, select Preferences.
 - Under the security tab, check "Allow connections from network clients."
 - In a terminal on the host system, run 
xhost + 127.0.0.1. - In your Geode shell, set 
DISPLAY=host.docker.internal:0. 
- 
for example, in
~/.bash_profileor~/.zprofile:export DISPLAY=host.docker.internal:0