My Collection of DMS plugins
  • QML 58.6%
  • Shell 33.2%
  • JavaScript 6.3%
  • Nix 1.9%
Find a file
Chris Toph 7757654742 feat(ai-usage): use token icon and broaden registry metadata
- switch widget, pill, and plugin icon from psychology to token
- update registry category, repo, description, deps, and compositor scope
2026-06-04 09:56:38 -04:00
plugins/ai-usage feat(ai-usage): use token icon and broaden registry metadata 2026-06-04 09:56:38 -04:00
.gitignore init 2026-06-03 21:37:59 -04:00
flake.lock init 2026-06-03 21:37:59 -04:00
flake.nix feat(ai-usage): add AI usage plugin 2026-06-04 09:46:21 -04:00
README.md feat(ai-usage): add AI usage plugin 2026-06-04 09:46:21 -04:00

dms-plugins

Dank Material Shell plugin monorepo.

Layout

plugins/
  ai-usage/        # AI Usage plugin package root
flake.nix         # Nix packages for every plugin

Every plugin directory is self-contained and keeps plugin.json at its root so it can be copied into DMS directly or exposed as a Nix package.

Runtime tools are declared in each plugin manifest, but still need to be available on DMS' PATH. For aiUsage, install jq and sqlite3 (pkgs.sqlite in Nixpkgs).

Packages

Current packages:

  • aiUsage — multi-provider AI usage widget. Starts with Claude Code and Codex.

Build a plugin package:

nix build .#aiUsage

Run repository checks:

nix flake check

Enter dev shell:

nix develop

Home Manager wiring

With the DMS plugin-registry Home Manager module, point plugin src at the package:

programs.dankMaterialShell.plugins.aiUsage.src =
  inputs.dms-plugins.packages.${pkgs.system}.aiUsage;

Adding another plugin

  1. Add plugins/<kebab-name>/plugin.json and QML files.
  2. Add an entry to plugins in flake.nix.
  3. Run nix flake check.