| Layout | Classic | Rosé Pine | Rosé Pine Moon |
Rosé Pine Dawn |
Gruvbox Dark |
Gruvbox Light |
Catppuccin Latte |
Catppuccin Frappé |
Catppuccin Macchiato |
Catppuccin Mocha |
|---|---|---|---|---|---|---|---|---|---|---|
| Modern | ||||||||||
| Modern Right | ||||||||||
| Original | ||||||||||
| Original Right |
Custom Bibata color variants and source layouts for my Nix cursor packages.
Overview - Variants - Usage
Building - Packaging - Layout - Credits
I created this fork to support themed versions of Bibata Cursor in Nix packages. It provides the rendered bitmap sources used to build matching XCursor and Hyprcursor themes.
The repository is a fork of
LOSEARDES77/Bibata-Cursor-hyprcursor,
which is itself a fork of the original
ful1e5/Bibata_Cursor.
- Renders reproducible Bibata bitmap sets from the original SVG sources.
- Keeps Modern, Modern Right, Original, and Original Right source layouts.
- Publishes each configured color variant as a separate release archive.
- Provides handedness-aware
ctgenand Hyprcursor conversion files used by my NUR packages. - Includes a Nix development shell and treefmt checks for repository tooling.
| Palette | Base | Outline | Activity |
|---|---|---|---|
| Classic | #000000 |
#FFFFFF |
#000000 |
| Rosé Pine | #26233A |
#E0DEF4 |
#191724 |
| Rosé Pine Moon | #393552 |
#E0DEF4 |
#232136 |
| Rosé Pine Dawn | #F2E9E1 |
#464261 |
#FAF4ED |
| Gruvbox Dark | #504945 |
#FBF1C7 |
#282828 |
| Gruvbox Light | #D5C4A1 |
#282828 |
#FBF1C7 |
| Catppuccin Latte | #EFF1F5 |
#4C4F69 |
#E6E9EF |
| Catppuccin Frappé | #303446 |
#C6D0F5 |
#292C3C |
| Catppuccin Macchiato | #24273A |
#CAD3F5 |
#1E2030 |
| Catppuccin Mocha | #1E1E2E |
#CDD6F4 |
#181825 |
Rendered PNG archives are available as Tangled tag artifacts. They are build inputs rather than directly installable cursor themes.
The finished XCursor and Hyprcursor themes are published through my NUR repository. Follow the NUR installation guide, then install both packages for combined XCursor and Hyprcursor support:
{
home.packages = with pkgs.nur.repos.adam0; [
bibata.modern.cursors.gruvbox-dark
bibata.modern.cursors.gruvbox-dark.hyprcursor
];
}Packages follow this structure for every layout and palette:
bibata.<modern|modern-right|original|original-right>.cursors.<palette>
bibata.<modern|modern-right|original|original-right>.cursors.<palette>.hyprcursorThe repository includes an .envrc that uses the Nix flake development
shell. With direnv installed and hooked into your shell,
allow it once and install the locked JavaScript dependencies:
direnv allow
bun install --frozen-lockfileWithout direnv, enter the same shell manually with nix develop.
Render every palette and layout combination configured in render.json:
bun run generateThe generated PNG assets are written to bitmaps/<variant>. Rendering uses up
to four workers by default. Override the worker count when more CPU and memory
are available:
BIBATA_GENERATE_JOBS=8 bun run generateTo change or add a color variant, add another entry to render.json. Each color
mapping replaces the source SVG's base, outline, or activity color during
rendering. Keep entries for all four layouts when a palette should be available
across the complete cursor set.
The source layout symlinks can be regenerated after changing files under
svg/groups:
bun run linkThe downstream packages in
adam01110/nur fetch both this source tree
and a rendered bitmap archive. They use build.toml with ctgen
to build an XCursor theme:
ctgen build.toml \
-d bitmaps/Bibata-Modern-Gruvbox-Dark \
-n Bibata-Modern-Gruvbox-Dark \
-c "Gruvbox dark Bibata modern XCursors"Use build.right.toml instead when packaging a theme whose
name ends in -Right. It contains the right-handed hotspots required by the
mirrored pointer artwork; using build.toml would produce incorrect click
positions.
The Hyprcursor package then converts the generated theme:
bash scripts/build-hyprcursor.sh