Skip to content

Latest commit

 

History

History
64 lines (44 loc) · 1.85 KB

README.md

File metadata and controls

64 lines (44 loc) · 1.85 KB

Geode

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.

Installation

First, install the prerequisites: Git, Go, and Docker. Then, run the following command:

go install github.com/jeffs/geode/...@v0.1.2

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

Usage

Run geode help for a list of Geode subcommands.

Tips

Examples

For a trivial profile, see testdata/groovy. For a larger example, see https://github.com/jeffs/geode-profile-home.

Key bindings

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-\\" }

Clipboards

If you run containers on macOS, you can support copy/paste from the host pasteboard via X11. Paraphrasing cschiewek:

  1. Install XQuartz.
  2. Under the XQuartz menu, select Preferences.
  3. Under the security tab, check "Allow connections from network clients."
  4. In a terminal on the host system, run xhost + 127.0.0.1.
  5. In your Geode shell, set DISPLAY=host.docker.internal:0.
  • for example, in ~/.bash_profile or ~/.zprofile:

        export DISPLAY=host.docker.internal:0