Skip to content

Setting up the Development Environment

Bernd Schoolmann edited this page May 11, 2024 · 2 revisions

To start, clone the repository to your go sources, this would usually be something like: ~/go/src/github.com/quexten/goldwarden.

Make sure you have fido2-dev installed for your system. To compile, run go build -o goldwarden ..

If you want to debug, using the environment variable GOLDWARDEN_NO_MEMGUARD=true is important, since memguard currently has issues with debugging. Furthermore, you need to comment out the line return unix.Prctl(unix.PR_SET_DUMPABLE, 0, 0, 0, 0) in processsecurity/unix.go to make the debugger work.

Flatpak

To build the flatpak, make sure you have flatpak-builder installed.

Finally, in the GUI directory run: flatpak-builder --force-clean --user --install --repo=repo builddir com.quexten.Goldwarden.Devel.yml --verbose And you will end up with the dev build flatpak installed on your system.

Gui unsandboxed

Make sure you have a goldwarden daemon running (unsandboxed or sandboxed, but reachable via `goldwarden' in the PATH environment variable or as an alias to a flatpak run command.

Then, compile the gui blueprints. For this, set up: https://jwestman.pages.gitlab.gnome.org/blueprint-compiler/

Next, in goldwarden/gui/src/gui run blueprint-compiler batch-compile .templates ./ ./settings.blp Finally, to start, run gui/goldwarden_ui_main.py.

If you want to debug individual applications (autofill, vault, etc), run your daemon with the environment variable GOLDWARDEN_DAEMON_AUTH_TOKEN=YOUR_DEV_TOKEN. When starting the individual application using python, e.g python3 -m src.gui.quickaccess, you need to pass YOUR_DEV_TOKEN via stdin, so that the application can authenticate to the daemon without an approval prompt.