Alcedo

Install

Build Alcedo from source.

Alcedo 0.1.0 installs from a source checkout on Ubuntu 26.04 LTS. One script handles the apt packages, the release build, and the desktop integration.

Source only, for now. Alcedo is not on Flathub and there is no .deb or AppImage. The Flatpak manifest in the tree is for development builds. If you want Alcedo today, you compile it.

Before you start

What you need

  • Ubuntu 26.04 LTS with GNOME 50 on Wayland. The installer refuses other releases unless you pass --force.
  • rustc and cargo 1.93 or newer. Ubuntu 26.04 ships 1.93.1, and the installer pulls it from apt.
  • About 2 GB of disk for the build tree, and patience for a first release build.
  • A working keyring. GNOME Keyring is present on a standard desktop install. Alcedo stores every credential there.

Linux only. There is no Windows or macOS build and none is planned.

Four steps

Install

  1. Get a checkout

    git clone https://github.com/placeholder/alcedo.git
    cd alcedo
  2. Install the build dependencies

    The installer does this for you. Run it separately if you would rather see the apt transaction on its own:

    ./scripts/install-ubuntu-26.sh --deps-only

    These are the packages it installs:

    sudo apt install -y \
      build-essential pkg-config cmake nasm \
      rustc cargo \
      libgtk-4-dev libadwaita-1-dev libwebkitgtk-6.0-dev \
      libspelling-1-dev libenchant-2-dev libgtksourceview-5-dev \
      libglib2.0-dev librsvg2-dev desktop-file-utils
  3. Build and install

    This builds a release binary and installs it to ~/.local along with the desktop entry, the icon, and the GSettings schema.

    ./scripts/install-ubuntu-26.sh

    For a system-wide install, give it a prefix. The script escalates with sudo only for the directories that need it.

    ./scripts/install-ubuntu-26.sh --prefix /usr/local
  4. Launch it

    Alcedo appears in the GNOME app grid. From a terminal, make sure the prefix bin directory is on your PATH:

    export PATH="$HOME/.local/bin:$PATH"
    alcedo

    Install a spell-check dictionary for your locale if you have not already, for example hunspell-en-us.

Reference

Installer options

./scripts/install-ubuntu-26.sh [options] — the default prefix is $HOME/.local, overridable with the PREFIX environment variable.
Option Effect
--prefix DIR Install prefix. Use /usr/local for a system install.
--deps-only Install the apt packages and stop.
--skip-deps Skip apt. Build and install only.
--debug Build without --release. Faster to compile, slower to run.
--force Continue on a host that is not Ubuntu 26.
-h, --help Print usage.

Try before you connect

A demo with no network

Run the full three-pane shell against fabricated mail. No sockets are opened, no account is configured, nothing is stored against a real address.

ALCEDO_MOCK=1 cargo run -p alcedo

This is the honest way to judge the interface at 0.1.0. Use it to see whether the client suits you before you hand it credentials.

Accounts

Signing in

Gmail and Microsoft

Both use OAuth with PKCE, and the consent screen opens in your system browser rather than an embedded web view. Alcedo ships without client IDs, so you register your own and drop them in a config file:

cp oauth.toml.example ~/.config/alcedo/oauth.toml
[google]
client_id = "xxxxx.apps.googleusercontent.com"
client_secret = "GOCSPX-xxxxx"

[microsoft]
client_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

Google desktop clients require a client_secret. For installed applications it is not confidential, and Google documents it as such. Tokens land in the system keyring.

Yahoo and generic IMAP

Use an app password from your provider. Alcedo stores it in the system keyring, never in its SQLite database. Connections are IMAP over port 993 and SMTP over TLS, using rustls.

Development builds

Flatpak

Not a distribution channel. The manifest exists so contributors can build a sandboxed dev build. Alcedo is not published on Flathub, and flatpak install alcedo will not find it.

flatpak-builder --user --install flatpak_app \
  build-aux/dev.alcedo.Mail.Devel.json

Removal

Uninstall

There is no uninstall target at 0.1.0. Delete the files the installer wrote under your prefix:

rm -f  ~/.local/bin/alcedo
rm -f  ~/.local/share/applications/dev.alcedo.Mail.desktop
rm -f  ~/.local/share/metainfo/dev.alcedo.Mail.metainfo.xml
rm -f  ~/.local/share/glib-2.0/schemas/dev.alcedo.Mail.gschema.xml
rm -f  ~/.local/share/icons/hicolor/scalable/apps/dev.alcedo.Mail.svg
glib-compile-schemas ~/.local/share/glib-2.0/schemas

Your local mail store and settings live under ~/.local/share/alcedo, ~/.config/alcedo, and the dev.alcedo.Mail GSettings path. Remove those too if you want no trace. Credentials are in the system keyring; delete them with Seahorse or secret-tool.