/font-logos

An icon font providing popular linux distro's logos

Primary LanguageJavaScriptThe UnlicenseUnlicense

font-logos

Available logos

font-logos is an icon font containing logos of popular linux distributions and other open source software.

Note: All brand icons are trademarks of their respective owners and should only be used to represent the company or product to which they refer.

Installation

Install the font by downloading and unpacking the latest release's zip manually or installing it from npm:

npm install font-logos

To use the font, include assets/font-logos.css as well as the fonts in your project and use the CSS classes listed below.

<link href="/assets/font-logos.css" rel="stylesheet">

Alternatively just link to it using a CDN such as jsDelivr:

<link href="//cdn.jsdelivr.net/npm/font-logos@1/assets/font-logos.css" rel="stylesheet">

Usage

Include an icon using the corresponding CSS class in an empty element:

<i class="fl-[icon]"></i>

Add fl-fw as class for a fixed width icon.

If you want to insert a glyph of this font on a GNU/Linux system press Ctrl + Shift + u, release the keys and then type the code point, for instance: Ctrl + Shift + u and f31a will insert the Tux glyph.

Available logos are:

Distribution CSS class Code Code point Image
Alma Linux fl-almalinux <i class="fl-almalinux"></i> 0xf31d
Alpine fl-alpine <i class="fl-alpine"></i> 0xf300
AOSC OS fl-aosc <i class="fl-aosc"></i> 0xf301
Apple fl-apple <i class="fl-apple"></i> 0xf302
Archcraft fl-archcraft <i class="fl-archcraft"></i> 0xf345
ArchLabs fl-archlabs <i class="fl-archlabs"></i> 0xf31e
Arch Linux fl-archlinux <i class="fl-archlinux"></i> 0xf303
ArcoLinux fl-arcolinux <i class="fl-arcolinux"></i> 0xf346
Arduino fl-arduino <i class="fl-arduino"></i> 0xf34b
Artix Linux fl-artix <i class="fl-artix"></i> 0xf31f
Awesome WM fl-awesome <i class="fl-awesome"></i> 0xf354
BigLinux fl-biglinux <i class="fl-biglinux"></i> 0xf347
bspwm fl-bspwm <i class="fl-bspwm"></i> 0xf355
Budgie fl-budgie <i class="fl-budgie"></i> 0xf320
CentOS fl-centos <i class="fl-centos"></i> 0xf304
Cinnamon fl-cinnamon <i class="fl-cinnamon"></i> 0xf35f
Codeberg fl-codeberg <i class="fl-codeberg"></i> 0xf330
CoreOS fl-coreos <i class="fl-coreos"></i> 0xf305
Crystal Linux fl-crystal <i class="fl-crystal"></i> 0xf348
Debian fl-debian <i class="fl-debian"></i> 0xf306
Deepin fl-deepin <i class="fl-deepin"></i> 0xf321
Devuan fl-devuan <i class="fl-devuan"></i> 0xf307
Docker fl-docker <i class="fl-docker"></i> 0xf308
dwm fl-dwm <i class="fl-dwm"></i> 0xf356
elementary OS fl-elementary <i class="fl-elementary"></i> 0xf309
Endeavour OS fl-endeavour <i class="fl-endeavour"></i> 0xf322
Enlightenment fl-enlightenment <i class="fl-enlightenment"></i> 0xf357
F-droid fl-fdroid <i class="fl-fdroid"></i> 0xf36a
Fedora fl-fedora <i class="fl-fedora"></i> 0xf30a
Fedora (inverse) fl-fedora-inverse <i class="fl-fedora-inverse"></i> 0xf30b
Ferris fl-ferris <i class="fl-ferris"></i> 0xf323
Flathub fl-flathub <i class="fl-flathub"></i> 0xf324
Fluxbox fl-fluxbox <i class="fl-fluxbox"></i> 0xf358
Forgejo fl-forgejo <i class="fl-forgejo"></i> 0xf335
FOSDEM fl-fosdem <i class="fl-fosdem"></i> 0xf36b
FreeBSD fl-freebsd <i class="fl-freebsd"></i> 0xf30c
FreeCAD fl-freecad <i class="fl-freecad"></i> 0xf336
freedesktop.org fl-freedesktop <i class="fl-freedesktop"></i> 0xf360
Garuda Linux fl-garuda <i class="fl-garuda"></i> 0xf337
Gentoo fl-gentoo <i class="fl-gentoo"></i> 0xf30d
GIMP fl-gimp <i class="fl-gimp"></i> 0xf338
Gitea fl-gitea <i class="fl-gitea"></i> 0xf339
GNOME fl-gnome <i class="fl-gnome"></i> 0xf361
GNU Guix fl-gnu-guix <i class="fl-gnu-guix"></i> 0xf325
GTK fl-gtk <i class="fl-gtk"></i> 0xf362
Hyperbola GNU/Linux-libre fl-hyperbola <i class="fl-hyperbola"></i> 0xf33a
Hyprland fl-hyprland <i class="fl-hyprland"></i> 0xf359
i3 fl-i3 <i class="fl-i3"></i> 0xf35a
illumos fl-illumos <i class="fl-illumos"></i> 0xf326
Inkscape fl-inkscape <i class="fl-inkscape"></i> 0xf33b
JWM fl-jwm <i class="fl-jwm"></i> 0xf35b
Kali Linux fl-kali-linux <i class="fl-kali-linux"></i> 0xf327
KDE fl-kde <i class="fl-kde"></i> 0xf373
KDE Neon fl-kde-neon <i class="fl-kde-neon"></i> 0xf331
KDE Plasma fl-kde-plasma <i class="fl-kde-plasma"></i> 0xf332
Kdenlive fl-kdenlive <i class="fl-kdenlive"></i> 0xf33c
KiCad fl-kicad <i class="fl-kicad"></i> 0xf34c
Krita fl-krita <i class="fl-krita"></i> 0xf33d
Kubuntu fl-kubuntu <i class="fl-kubuntu"></i> 0xf333
Kubuntu (inverse) fl-kubuntu-inverse <i class="fl-kubuntu-inverse"></i> 0xf334
openSUSE Leap fl-leap <i class="fl-leap"></i> 0xf37e
LibreOffice fl-libreoffice <i class="fl-libreoffice"></i> 0xf376
LibreOffice Base fl-libreofficebase <i class="fl-libreofficebase"></i> 0xf377
LibreOffice Calc fl-libreofficecalc <i class="fl-libreofficecalc"></i> 0xf378
LibreOffice Draw fl-libreofficedraw <i class="fl-libreofficedraw"></i> 0xf379
LibreOffice Impress fl-libreofficeimpress <i class="fl-libreofficeimpress"></i> 0xf37a
LibreOffice Math fl-libreofficemath <i class="fl-libreofficemath"></i> 0xf37b
LibreOffice Writer fl-libreofficewriter <i class="fl-libreofficewriter"></i> 0xf37c
Linux Mint fl-linuxmint <i class="fl-linuxmint"></i> 0xf30e
Linux Mint (inverse) fl-linuxmint-inverse <i class="fl-linuxmint-inverse"></i> 0xf30f
Loc-OS fl-locos <i class="fl-locos"></i> 0xf349
LXDE fl-lxde <i class="fl-lxde"></i> 0xf363
LXLE Linux fl-lxle <i class="fl-lxle"></i> 0xf33e
LXQt fl-lxqt <i class="fl-lxqt"></i> 0xf364
Mageia fl-mageia <i class="fl-mageia"></i> 0xf310
Mandriva fl-mandriva <i class="fl-mandriva"></i> 0xf311
Manjaro fl-manjaro <i class="fl-manjaro"></i> 0xf312
MATE fl-mate <i class="fl-mate"></i> 0xf365
mpv fl-mpv <i class="fl-mpv"></i> 0xf36e
MX Linux fl-mxlinux <i class="fl-mxlinux"></i> 0xf33f
Neovim fl-neovim <i class="fl-neovim"></i> 0xf36f
NixOS fl-nixos <i class="fl-nixos"></i> 0xf313
Nobara Linux fl-nobara <i class="fl-nobara"></i> 0xf380
Octoprint fl-octoprint <i class="fl-octoprint"></i> 0xf34d
OpenBSD fl-openbsd <i class="fl-openbsd"></i> 0xf328
OpenSCAD fl-openscad <i class="fl-openscad"></i> 0xf34e
OpenSUSE fl-opensuse <i class="fl-opensuse"></i> 0xf314
OSH fl-osh <i class="fl-osh"></i> 0xf34f
OSHWA fl-oshwa <i class="fl-oshwa"></i> 0xf350
OSI fl-osi <i class="fl-osi"></i> 0xf36c
Parabola GNU/Linux-libre fl-parabola <i class="fl-parabola"></i> 0xf340
Parrot OS fl-parrot <i class="fl-parrot"></i> 0xf329
Pop!_OS fl-pop-os <i class="fl-pop-os"></i> 0xf32a
PostmarketOS fl-postmarketos <i class="fl-postmarketos"></i> 0xf374
Prusa Slicer fl-prusaslicer <i class="fl-prusaslicer"></i> 0xf351
Puppy Linux fl-puppy <i class="fl-puppy"></i> 0xf341
Qt fl-qt <i class="fl-qt"></i> 0xf375
Qtile fl-qtile <i class="fl-qtile"></i> 0xf35c
QubesOS fl-qubesos <i class="fl-qubesos"></i> 0xf342
Raspberry pi fl-raspberry-pi <i class="fl-raspberry-pi"></i> 0xf315
Red Hat fl-redhat <i class="fl-redhat"></i> 0xf316
RepRap fl-reprap <i class="fl-reprap"></i> 0xf352
RISC-V fl-riscv <i class="fl-riscv"></i> 0xf353
River fl-river <i class="fl-river"></i> 0xf381
Rocky Linux fl-rocky-linux <i class="fl-rocky-linux"></i> 0xf32b
Sabayon fl-sabayon <i class="fl-sabayon"></i> 0xf317
Slackware fl-slackware <i class="fl-slackware"></i> 0xf318
Slackware (inverse) fl-slackware-inverse <i class="fl-slackware-inverse"></i> 0xf319
Snappy fl-snappy <i class="fl-snappy"></i> 0xf32c
Solus fl-solus <i class="fl-solus"></i> 0xf32d
Sway fl-sway <i class="fl-sway"></i> 0xf35d
Tails fl-tails <i class="fl-tails"></i> 0xf343
Thunderbird fl-thunderbird <i class="fl-thunderbird"></i> 0xf370
Tor Browser fl-tor <i class="fl-tor"></i> 0xf371
Trisquel GNU/Linux fl-trisquel <i class="fl-trisquel"></i> 0xf344
openSUSE Tumbleweed fl-tumbleweed <i class="fl-tumbleweed"></i> 0xf37d
Tux fl-tux <i class="fl-tux"></i> 0xf31a
Typst fl-typst <i class="fl-typst"></i> 0xf37f
Ubuntu fl-ubuntu <i class="fl-ubuntu"></i> 0xf31b
Ubuntu (inverse) fl-ubuntu-inverse <i class="fl-ubuntu-inverse"></i> 0xf31c
Vanilla OS fl-vanilla <i class="fl-vanilla"></i> 0xf366
Void fl-void <i class="fl-void"></i> 0xf32e
VS Codium fl-vscodium <i class="fl-vscodium"></i> 0xf372
Wayland fl-wayland <i class="fl-wayland"></i> 0xf367
Wikimedia fl-wikimedia <i class="fl-wikimedia"></i> 0xf36d
XeroLinux fl-xerolinux <i class="fl-xerolinux"></i> 0xf34a
XFCE fl-xfce <i class="fl-xfce"></i> 0xf368
Xmonad fl-xmonad <i class="fl-xmonad"></i> 0xf35e
Xorg fl-xorg <i class="fl-xorg"></i> 0xf369
Zorin OS fl-zorin <i class="fl-zorin"></i> 0xf32f

Building

Make sure you have the following dependencies installed:

  • Node, Python and jq to run the build scripts
  • FontForge to generate the fonts
  • wkhtmltopdf to generate this readme's preview image

Then run npm install/yarn install and make.

Releasing

If you are a maintainer of this repository and a new release is to be published

  • Make sure all PRs (that shall be pulled) are pulled
    • The PRs add new svgs in vectors/
    • The icons.tsv is ammended (i.e. new icons added at the bottom)
  • Every time the svgs or icons.tsv is touched in the master branch (i.e. through pulling) the preview image is updated
  • Note that the README.md is NOT updated. You can manually modify it to indicate/add recently added but not released icons.
  • Once the release seems ready:
  • Edit the version number in package.json (and push that change to master)
  • Trigger the "Draft a Release" workflow manually on the Actions page (on the master branch)
    • The workflow will add a git tag for the release
  • Go to the releases list and find the draft release
    • Edit the description etc pp and finally
    • Push "publish release"
    • The release is published on Github
  • Automatically the "Update README" workflow is triggered
    • The README.md is regenerated (the preview should already be up to date, see above)
    • Maybe the autotriggered workflow does not work, then manually trigger
  • Automatically the "Publish release to npm" workflow is triggered
    • If the npm token is not expired the release is pushed to NPM
    • You need to publish on NPM manually if token is expired (expected)
      • npm update (and commit/push updates if there were any)
      • npm adduser to log into npm with MFA
      • npm publish