Nitpick
Themes for Filament panels, and a way for every person to pick their own. Free and open source (MIT).
- Repository: github.com/packstub/filament-nitpick
- Packagist: packstub/filament-nitpick
- Support: GitHub issues

Two designed themes ship with the plugin, and a theme plugin from the Filament plugin directory, free or paid, joins them in the picker with one line:
use Noreviq\FilamentTheme\NoreviqThemePlugin;
use Packstub\Nitpick\Facades\Themes;
use Packstub\Nitpick\Theme;
// AppServiceProvider::boot()
Themes::register(
Theme::make('noreviq')->plugin(fn () => NoreviqThemePlugin::make()),
);
Features
- Two bundled themes: Aurora, glass with a floating dock sidebar, and Midnight, dark with violet accents.
- Themes from the plugin directory: install a free or paid theme plugin and register it in one line; it joins the picker. Ready-made CSS and Vite-built themes alike.
- A theme per panel: each panel picks its themes and default; the default can follow the workspace.
- A theme per user: an Appearance page where each person picks their theme, previewed instantly.
- Write your own: a theme is a class with a palette, plus a stylesheet for a full redesign;
Theme::make()defines one inline. - Fits your brand: your colours and CSS on top of any theme.
Guides
| Guide | What it covers |
|---|---|
| Installation | Requirements, the install command, publishing assets, registering the plugin |
| Themes | The bundled themes, themes from the Filament plugin directory (a step-by-step example, Vite-built themes), offering themes per panel, the default and the tenant hook |
| User preferences | The Appearance page, the ThemePicker field, storage, reading and writing a choice from code |
| Creating a theme | The Theme contract, palettes, stylesheets, preferred mode, Theme::make() for a theme without a class file, themes from the Filament plugin directory, configuring the panel, shipping a theme as a package |
| For theme authors | Writing a Filament theme plugin that works well in Nitpick: configuring the panel you are given, colours in register(), publishing assets, joining the picker on install |
| Configuration | The fluent NitpickPlugin API, the config file, colour overrides, custom CSS and forced mode, events |
At a glance
composer require "packstub/filament-nitpick:^1.0@beta"
php artisan nitpick:install
php artisan filament:assets
use Packstub\Nitpick\NitpickPlugin;
$panel->plugin(
NitpickPlugin::make()
->default('aurora')
->picker(),
);
Requirements
PHP 8.3+, Laravel 12 or 13, Filament 5.
These pages are published at packstub.dev/docs/filament-nitpick from the package's docs/ directory. Spotted a mistake? Open a pull request.