Skip to content

A lightweight local service that makes your locally installed fonts available on Figma.

License

Notifications You must be signed in to change notification settings

neetly/figma-agent-linux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

426 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Figma Agent for Linux

CI

A lightweight local service that makes your locally installed fonts available on figma.com.

Features

  • System font integration — Automatically discovers your installed system fonts.
  • Custom font directories — Add your own font directories alongside system fonts.
  • Variable fonts — Full support for variable fonts, including named instances.
  • Font preview — Preview fonts directly in the Figma font picker.
  • Automatic rescanning — Detects newly installed or updated fonts without restarting the service.

Prerequisites

Important

For this service to work, you must override your browser's user agent string to a Windows one. Without this, Figma will not attempt to connect to the local font helper.

See this thread for details and instructions.

Installation

Run the following command to download the latest release and set it up automatically:

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

Tip

You can run the same command again at any time to update to the latest version.

Package Managers

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

Uninstallation

Click to expand
systemctl --user disable --now figma-agent.{service,socket}
rm -rf ~/.local/share/figma-agent ~/.local/share/systemd/user/figma-agent.{service,socket}
systemctl --user daemon-reload

Configuration

The configuration file is located at ~/.config/figma-agent/config.json. All fields are optional — the service works out of the box without any configuration.

Key Default Description
bind "127.0.0.1:44950" Address and port to listen on. Has no effect when using socket activation.
use_system_fonts true Include fonts discovered via Fontconfig.
font_directories [] Additional directories to scan for fonts. Supports ~ for home.
enable_font_rescan true Automatically pick up newly installed or updated fonts.
enable_font_preview true Enable font previews in the Figma font picker.

Example:

// ~/.config/figma-agent/config.json
{
  "font_directories": ["~/Fonts"],
}

Note

You must restart the service for configuration changes to take effect:

systemctl --user restart figma-agent.service

Tip

If you have a large number of fonts installed and notice slowness when switching fonts in Figma, try setting enable_font_rescan to false. The service will then only scan fonts once at startup; restart it manually after installing new fonts.

Warning

Font preview is currently experimental and may cause unexpected issues. If you experience problems, set enable_font_preview to false.

Troubleshooting

Check whether the service is running:

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

Restart the service:

systemctl --user restart figma-agent.service

View logs:

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

Chromium-Based Browsers

Chromium-based browsers enforce Local Network Access restrictions that require websites to request permission before connecting to local network devices or apps on your device (localhost). Since Figma Agent listens on localhost, you need to grant figma.com the Apps on device permission when prompted.

If you previously dismissed or disallowed the prompt, you can manage the permission via Site settings for figma.com.

Note

Brave has shipped its own localhost permission independently and may label it differently. See the Brave documentation for details.

Firefox

Firefox is progressively rolling out local network access permissions that require websites to request permission before connecting to apps on your device (localhost) or local network devices. When figma.com tries to connect to Figma Agent, Firefox will prompt you for the Device apps and services permission. You need to allow it for font loading to work.

If you previously dismissed or disallowed the prompt, you can change the permission in Settings → Privacy & Security → Permissions → Device apps and services.

Note

This feature is currently being rolled out progressively. In stable Firefox releases, only users with Enhanced Tracking Protection set to Strict are included. It is available by default in beta and nightly builds.

Ad Blockers

Some ad blockers and privacy extensions block websites from connecting to localhost, which prevents figma.com from communicating with Figma Agent. If your fonts are not showing up despite the service running, your ad blocker is a likely cause. Check whether it has rules that block connections to localhost or 127.0.0.1 and add an exception for figma.com.

Credits

This project is inspired by Figma Linux Font Helper.

About

A lightweight local service that makes your locally installed fonts available on Figma.

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

Contributors 8