Frosted-glass icon theme for Linux — folders, apps, 134 file types and top-bar status icons
TypeScript
0
80 commits
updated Sep 19, 2026
A frosted-glass icon theme for Linux — folders, apps, 134 file types and top-bar status icons, each one a vivid colour seen through a soft pane of frosted glass, with a crisp white symbol on top.
![]()
curl -fsSL https://raw.githubusercontent.com/thissayantan/frost-icon-theme/main/install.sh | sh
Then pick Frost in GNOME Tweaks → Appearance → Icons (or run
gsettings set org.gnome.desktop.interface icon-theme 'Frost').
{ }, Markdown is M↓, a lock file is a padlock, a
certificate is a rosette, a Dockerfile is a stack of crates. Colour tells the kind, and from 48 px a short
label (JSON, MD, PEM, LOCK, GO…) tells the exact type. All 134 file types →bun.lock, .env, Dockerfiles and .gitignore as plain text,
.ts as a Qt translation file and go.mod as a tracker-music module. The optional MIME add-on
(--mime) gives them real types, per user, reversibly.@2x included.![]()
One line (downloads the latest release to ~/.local/share/icons/Frost; never changes your theme):
curl -fsSL https://raw.githubusercontent.com/thissayantan/frost-icon-theme/main/install.sh | sh
# with the developer file-type fixes:
curl -fsSL https://raw.githubusercontent.com/thissayantan/frost-icon-theme/main/install.sh | sh -s -- --mime
Also on gnome-look.org.
Manual: download Frost-v*.tar.xz from Releases,
extract it, and copy the Frost folder to ~/.local/share/icons/.
Recommended: install Papirus too
(sudo apt install papirus-icon-theme). Frost only ships icons it has redrawn well; everything else falls back to
Papirus, then Adwaita.
Uninstall: sh install.sh --uninstall (removes the theme and the MIME add-on), then pick another icon theme.
Made and tested on GNOME 50 / GTK 4.22, Ubuntu 26.04. The glass is baked into PNGs (16–256 px, @2x), so
it looks the same in GTK 4, GTK 3, Qt/KDE apps and the GNOME Shell app grid. Status icons are plain symbolic SVG
so the shell can recolour them.
![]()
Why isn't Firefox / Chrome / VS Code themed? Frost never redraws trademarked logos. Brand apps keep their own icon (via Papirus), which is also what their makers ask for.
An icon I use is missing. Request it —
include the app's Icon= name (from its .desktop file) or the file's type (gio info -a standard::icon FILE).
Requires Bun and Python 3.
bun install
bun run build # src/**/*.svg → dist/Frost (PNG @1x/@2x, aliases, index.theme, icon cache)
bun run verify # lint + index.theme checks + real GTK lookup of every shipped name
bun run install:local # → ~/.local/share/icons/Frost (+ MIME add-on)
bun run pack # → dist/Frost-v<version>.tar.xz
Design rules: docs/DESIGN.md. Pipeline and decisions: docs/ARCHITECTURE.md.
How to contribute: CONTRIBUTING.md. Shipped vs inherited: docs/COVERAGE.md.
M↓) is by Dustin Curtis, public domain (CC0).MIT — icons and tools alike. Use it, change it, ship it.
80 commits
TypeScript
50.1%
Python
46.5%
Shell
3.5%
Frosted-glass icon theme for Linux — folders, apps, 134 file types and top-bar status icons
TypeScript
0
80 commits
updated Sep 19, 2026
A frosted-glass icon theme for Linux — folders, apps, 134 file types and top-bar status icons, each one a vivid colour seen through a soft pane of frosted glass, with a crisp white symbol on top.
![]()
curl -fsSL https://raw.githubusercontent.com/thissayantan/frost-icon-theme/main/install.sh | sh
Then pick Frost in GNOME Tweaks → Appearance → Icons (or run
gsettings set org.gnome.desktop.interface icon-theme 'Frost').
{ }, Markdown is M↓, a lock file is a padlock, a
certificate is a rosette, a Dockerfile is a stack of crates. Colour tells the kind, and from 48 px a short
label (JSON, MD, PEM, LOCK, GO…) tells the exact type. All 134 file types →bun.lock, .env, Dockerfiles and .gitignore as plain text,
.ts as a Qt translation file and go.mod as a tracker-music module. The optional MIME add-on
(--mime) gives them real types, per user, reversibly.@2x included.![]()
One line (downloads the latest release to ~/.local/share/icons/Frost; never changes your theme):
curl -fsSL https://raw.githubusercontent.com/thissayantan/frost-icon-theme/main/install.sh | sh
# with the developer file-type fixes:
curl -fsSL https://raw.githubusercontent.com/thissayantan/frost-icon-theme/main/install.sh | sh -s -- --mime
Also on gnome-look.org.
Manual: download Frost-v*.tar.xz from Releases,
extract it, and copy the Frost folder to ~/.local/share/icons/.
Recommended: install Papirus too
(sudo apt install papirus-icon-theme). Frost only ships icons it has redrawn well; everything else falls back to
Papirus, then Adwaita.
Uninstall: sh install.sh --uninstall (removes the theme and the MIME add-on), then pick another icon theme.
Made and tested on GNOME 50 / GTK 4.22, Ubuntu 26.04. The glass is baked into PNGs (16–256 px, @2x), so
it looks the same in GTK 4, GTK 3, Qt/KDE apps and the GNOME Shell app grid. Status icons are plain symbolic SVG
so the shell can recolour them.
![]()
Why isn't Firefox / Chrome / VS Code themed? Frost never redraws trademarked logos. Brand apps keep their own icon (via Papirus), which is also what their makers ask for.
An icon I use is missing. Request it —
include the app's Icon= name (from its .desktop file) or the file's type (gio info -a standard::icon FILE).
Requires Bun and Python 3.
bun install
bun run build # src/**/*.svg → dist/Frost (PNG @1x/@2x, aliases, index.theme, icon cache)
bun run verify # lint + index.theme checks + real GTK lookup of every shipped name
bun run install:local # → ~/.local/share/icons/Frost (+ MIME add-on)
bun run pack # → dist/Frost-v<version>.tar.xz
Design rules: docs/DESIGN.md. Pipeline and decisions: docs/ARCHITECTURE.md.
How to contribute: CONTRIBUTING.md. Shipped vs inherited: docs/COVERAGE.md.
M↓) is by Dustin Curtis, public domain (CC0).MIT — icons and tools alike. Use it, change it, ship it.
80 commits
TypeScript
50.1%
Python
46.5%
Shell
3.5%