-
Notifications
You must be signed in to change notification settings - Fork 27
Setting up the Development Environment
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.
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.
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.