My Collection of DMS plugins
- QML 58.6%
- Shell 33.2%
- JavaScript 6.3%
- Nix 1.9%
- switch widget, pill, and plugin icon from psychology to token - update registry category, repo, description, deps, and compositor scope |
||
|---|---|---|
| plugins/ai-usage | ||
| .gitignore | ||
| flake.lock | ||
| flake.nix | ||
| README.md | ||
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
- Add
plugins/<kebab-name>/plugin.jsonand QML files. - Add an entry to
pluginsinflake.nix. - Run
nix flake check.