This document assumes you understand your local package manager/host environment and have duckdb, git, podman, gpgme, btrfs-progs and golang toolchain 1.24 (or later) installed.
add-apt-repository ppa:egdaemon/eg
apt-get install eg
NOTE: currently macosx support for local workloads is in beta, remote workloads is ready. we generally expect macosx to work, but it is not necessarily a smooth experience.
# unable to connect to podman: unix:///run/eg-daemon/podman/podman.sock
# install podman via https://podman.io/, brew unfortunately failed during initial testing.
brew install duckdb git gpgme
# these machine settings are just advisory, we know they work but are not necessarily the minimum.
podman machine init --memory 8192 --disk-size 256 --now
CGO_ENABLED=1 CGO_LDFLAGS="-L/opt/homebrew/lib" go install -tags duckdb_use_lib github.com/egdaemon/eg/cmd/...@latest
NOTE: nixos isn't directly supported at this time, and is community driven.
shell.nix:
let
nixpkgs = fetchTarball "https://github.com/NixOS/nixpkgs/tarball/nixos-24.11";
pkgs = import nixpkgs {};
in
pkgs.mkShell {
packages = with pkgs; [go duckdb gpgme btrfs-progs];
PKG_CONFIG_PATH = pkgs.lib.concatStringsSep ":" ["${pkgs.gpgme.dev}/lib/pkgconfig"];
}
go install github.com/egdaemon/eg/cmd/...@latest