Skip to content

About

Use locally installed fonts in Figma’s web app on Linux. (a.k.a. font helper)

Resources

Code of conduct

Contributing

Stars

400 stars

Watchers

6 watching

Forks

Repository files navigation

Figma Agent for Linux

CI

Use the fonts installed on your Linux computer in Figma. Figma Agent runs in the background and makes them available in your browser's Figma font picker. It supports system fonts, custom font folders, and variable fonts, including named instances. New and updated fonts are picked up automatically.

Install

The installer needs bash, curl, and a running systemd user session. Run it as your regular user:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/neetly/figma-agent-linux/main/files/install.sh)"

This downloads the latest release and sets it up to start when Figma connects. Run the same command again to update.

If you prefer a package manager, these packages are available:

Platform Package
Arch Linux figma-agent-linux (AUR) / figma-agent-linux-bin (AUR)
Nix figma-agent (community-maintained)

Follow your package's instructions to start the service, then connect it to Figma using the steps below.

Connect Figma to your local fonts

Once Figma Agent is running, give Figma permission to connect to it. You do not need to change your browser's user agent.

  1. Open a design file on figma.com.
  2. Click the Figma logo in the top-left corner, then choose Preferences → Permissions and helpers….
  3. Under Apps on device, click Show me how to connect if the status is Not connected.
  4. Click Connect in the instructions that appear. The message mentions Figma's font installer or desktop app; with Figma Agent running, you can go straight to Connect.
  5. If your browser asks to Access other apps and services on this device, click Allow. The wording may differ between browsers.
  6. Check that Apps on device now shows Connected, then close the dialog and try your local fonts in the font picker.

Clipboard access and Microphone access are separate permissions. They can stay Blocked when using local fonts.

If the connection fails or a font is missing, see Troubleshooting.

Configuration

No configuration is needed to use your system fonts. To change the defaults, create ~/.config/figma-agent/config.json (and its parent directory if needed). All settings are optional.

For example, to include fonts from ~/Fonts alongside your system fonts:

{
  "font_directories": ["~/Fonts"]
}

After changing the configuration, run:

systemctl --user try-restart figma-agent.service
Setting Default What it does
font_directories [] Additional font folders to scan. Use ~ for your home directory.
use_system_fonts true Include system fonts found through Fontconfig.
enable_font_rescan true Pick up newly installed or updated fonts automatically.
enable_font_preview true Show font previews in Figma's font picker. This feature is experimental.

Font folders can contain symlinks to files or other folders, including fonts outside the configured folders.

Troubleshooting

Figma does not connect

Open Permissions and helpers and check Apps on device. If you previously blocked access, open your browser's site permissions for figma.com, allow access to apps on your device, and try Connect again. The browser's permission label may vary.

If permission is allowed, check whether Figma Agent is running:

systemctl --user status figma-agent.{service,socket}

With the automatic installer, the socket starts at login and launches the service when Figma connects. An inactive service is normal before the first connection, as long as the socket is active. If the socket is inactive, start it:

systemctl --user start figma-agent.socket

If it still won't connect, check whether an ad blocker or privacy extension is blocking connections to localhost or 127.0.0.1. Add an exception for figma.com if needed.

You can also restart the service and check its logs for errors:

systemctl --user restart figma-agent.service
journalctl --user --unit figma-agent.service --follow

Normal startup and font requests are quiet. Warnings and errors describe problems such as invalid configuration or failed font previews. For detailed diagnostics when running the agent directly, use RUST_LOG=debug figma-agent.

A font is missing

Check that the font is installed on your system or is in a folder listed in font_directories. See Configuration to add a folder.

If you turned off enable_font_rescan, restart the service after installing or updating fonts. You also need to restart after changing the configuration:

systemctl --user try-restart figma-agent.service

Switching fonts is slow

If you have a large font collection, try setting enable_font_rescan to false in your configuration and restarting the service. Fonts will then be scanned only at startup, so you'll need to restart the service whenever you install or update fonts.

Font previews cause problems

Font previews are experimental. Set enable_font_preview to false in your configuration and restart the service to turn them off.

Uninstall

If you used the automatic installer, stop Figma Agent and remove its installed files:

systemctl --user disable --now figma-agent.{service,socket}
rm -rf "${XDG_DATA_HOME:-$HOME/.local/share}/figma-agent" \
  "${XDG_DATA_HOME:-$HOME/.local/share}/systemd/user/figma-agent.service" \
  "${XDG_DATA_HOME:-$HOME/.local/share}/systemd/user/figma-agent.socket"
systemctl --user daemon-reload

This leaves your configuration file in place. If you installed through a package manager, use that package manager to remove it instead.

Credits

Inspired by Figma Linux Font Helper.

About

Use locally installed fonts in Figma’s web app on Linux. (a.k.a. font helper)

Resources

Code of conduct

Contributing

Stars

400 stars

Watchers

6 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages