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/[email protected]
The 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/geode
Run 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_profile
or~/.zprofile
:export DISPLAY=host.docker.internal:0