explaingit

vinceliuice/whitesur-gtk-theme

8,865CSSAudience · generalComplexity · 2/5Setup · easy

TLDR

A Linux desktop theme that makes your windows and apps look like Apple's macOS Big Sur or Monterey, installed by running a single shell script with options for colors and dark mode.

Mindmap

mindmap
  root((WhiteSur GTK))
    What it does
      macOS look for Linux
      Window styling
      App theming
    Customization
      Accent colors
      Dark mode
      Nord palette
    Extras
      Firefox theme
      Login screen
      Flatpak apps
    Audience
      Linux desktop users
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Make your Linux GNOME desktop look like macOS Big Sur by running the install script with your chosen accent color.

USE CASE 2

Apply the macOS look to Firefox, the login screen, and Flatpak apps using the included tweaks script.

USE CASE 3

Customize the theme with dark mode, Nord palette, panel transparency, or rounded window corners by passing options to the install command.

Tech stack

CSSShell

Getting it running

Difficulty · easy Time to first run · 5min

Newer GNOME apps built with libadwaita require overwriting a config file directly, normal on-the-fly theme switching does not work for those apps.

License not mentioned in the explanation.

In plain English

WhiteSur GTK Theme is a visual skin for Linux desktops that makes them look like Apple's macOS. GTK is the system that draws the windows, buttons, menus, and controls you see in apps on Linux. This theme replaces the default look of those elements with one that closely matches the white, rounded aesthetic Apple uses in its Big Sur and Monterey operating system designs. Installing it is done by running a shell script that comes with the project. The script installs the theme into your home folder, and a separate tweaks script handles extras like reskinning the Firefox browser, theming the login screen, and applying the look to Flatpak apps. Both scripts accept options so you can customize accent colors, choose between light and dark variants, adjust window button styles, and pick the file manager layout you prefer. The theme supports a wide range of accent colors: blue, purple, pink, red, orange, yellow, green, and grey, among others. You can also choose between a standard color scheme and a Nord-inspired palette, set panel transparency levels, change the panel height, and control whether maximized windows have rounded or square corners. Most of these options are passed directly to the install command, so you can mix and match without editing any files by hand. One limitation the author notes plainly is that newer GNOME apps built with a library called libadwaita do not support custom themes in the normal way. The workaround the project provides involves overwriting a configuration file directly, which means you cannot switch between themes on the fly for those apps. This is a constraint of how libadwaita works, not a flaw in the WhiteSur project itself. The project is maintained by an individual developer and accepts donations. It targets GNOME desktops in particular but works on any desktop environment that uses GTK for drawing its interface.

Copy-paste prompts

Prompt 1
Walk me through installing the WhiteSur GTK theme on Ubuntu with a purple accent color and dark mode enabled.
Prompt 2
How do I use the WhiteSur tweaks script to apply the theme to Firefox so it looks like Safari on macOS?
Prompt 3
What command do I run to install WhiteSur on GNOME with a Nord color palette and make it the active desktop theme?
Prompt 4
Why does WhiteSur not work on newer GNOME apps that use libadwaita, and what is the workaround the project provides?
Prompt 5
How do I set a specific panel height and choose between rounded or square corners when installing WhiteSur?
Open on GitHub → Explain another repo

← vinceliuice on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.