James Bond went on a new mission as a Secret Service provider
  • Rust 97.3%
  • Python 1.4%
  • Meson 0.9%
  • Shell 0.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-04-13 10:54:07 +02:00
cargo-credential chore: sync dependencies (monorepo) 2026-04-06 15:19:46 +02:00
cli chore: sync dependencies (monorepo) 2026-04-07 18:06:11 +02:00
client chore: sync dependencies (monorepo) 2026-04-06 15:19:46 +02:00
macros chore: sync dependencies (monorepo) 2026-04-13 10:54:07 +02:00
pam chore: sync dependencies (monorepo) 2026-04-06 15:19:46 +02:00
portal chore: sync dependencies (monorepo) 2026-04-06 15:19:46 +02:00
python chore: sync dependencies (monorepo) 2026-04-06 15:19:46 +02:00
server chore: sync dependencies (monorepo) 2026-04-06 15:19:46 +02:00
.gitignore Add Python bindings 2025-11-29 16:07:22 +01:00
.rustfmt.toml Use rustfmt nightly features 2022-04-28 01:19:54 +02:00
_typos.toml typos: Ignore translation files 2026-03-13 11:55:14 +01:00
Cargo.lock chore: sync dependencies (monorepo) 2026-04-06 15:19:46 +02:00
Cargo.toml chore: sync dependencies (monorepo) 2026-04-06 15:19:46 +02:00
coverage.sh coverage: Also check the gnome code path 2026-03-12 14:44:13 +01:00
deny.toml deny: Remove ashpd exception 2026-02-06 21:05:15 +01:00
LICENSE server: Add myself to project authors 2025-03-19 13:50:33 +01:00
oo7.doap Add a doap to the root 2026-03-14 12:36:12 +01:00
org.freedesktop.Secrets.xml Include the dbus interface spec 2022-04-24 03:37:58 +02:00
README.md README: Add note about translations via D-L 2026-03-14 20:32:13 +01:00

OO7

docs crates.io CI Coverage

James Bond went on a new mission and this time as a Secret Service provider.

The repository consists of the following projects:

Hacking on oo7 services

Testing oo7-daemon

The daemon can be testing by simply compiling and running the binary with

cargo run --bin oo7-daemon -- --verbose --replace --login

Note however that if gnome-keyring-daemon is running, it will need to be killed directly before running oo7-daemon, as it is not running as a systemd service.

Testing oo7-portal

The oo7-portal service can be tested using systemd-sysext. Directly running the binary is possible, but without a oo7-portal.portal file, xdg-desktop-portal will ignore it.

First build the services on its subdirectory:

cd oo7-portal
meson setup --prefix=/usr _build
meson compile -C _build
DESTDIR=oo7-extension meson install -C _build

This will create a oo7-extension directory under oo7-portal/_build, which can be moved to /run/extensions, afterwards extensions can be reloaded via

systemd-sysext refresh --force

Warning

In Fedora Silverblue one needs to disable SELinux via setenforce 0 before loading any system extensions.

The portal can be then started with:

/usr/libexec/oo7-portal --replace --verbose

In order for xdg-desktop-portal to use oo7-portal as a server for org.freedesktop.impl.portal.Secret it needs to be configured via a portals.conf file at /etc/xdg-desktop-portal/portals.conf, see the portals.conf(5) man page.

This can be achieved by creating a file at ~/.config/xdg-desktop-portal/gnome-portals.conf with contents:

[preferred]
default=gnome;gtk;
org.freedesktop.impl.portal.Secret=oo7-portal;gnome-keyring;

and then, restarting xdg-desktop-portal via

systemctl restart --user xdg-desktop-portal

If more output is required, the later can be replaced with:

/usr/libexec/xdg-desktop-portal --replace --verbose

Translations

Helping to translate oo7 or add support to a new language is very welcome. You can find everything you need at: l10n.gnome.org/module/oo7/

License

The project is released under the MIT license.