Skip to content
 
 

Repository files navigation

Layout Classic Rosé Pine Rosé Pine
Moon
Rosé Pine
Dawn
Gruvbox
Dark
Gruvbox
Light
Catppuccin
Latte
Catppuccin
Frappé
Catppuccin
Macchiato
Catppuccin
Mocha
Modern Modern Classic Modern Rosé Pine Modern Rosé Pine Moon Modern Rosé Pine Dawn Modern Gruvbox Dark Modern Gruvbox Light Modern Catppuccin Latte Modern Catppuccin Frappé Modern Catppuccin Macchiato Modern Catppuccin Mocha
Modern Right Modern Right Classic Modern Right Rosé Pine Modern Right Rosé Pine Moon Modern Right Rosé Pine Dawn Modern Right Gruvbox Dark Modern Right Gruvbox Light Modern Right Catppuccin Latte Modern Right Catppuccin Frappé Modern Right Catppuccin Macchiato Modern Right Catppuccin Mocha
Original Original Classic Original Rosé Pine Original Rosé Pine Moon Original Rosé Pine Dawn Original Gruvbox Dark Original Gruvbox Light Original Catppuccin Latte Original Catppuccin Frappé Original Catppuccin Macchiato Original Catppuccin Mocha
Original Right Original Right Classic Original Right Rosé Pine Original Right Rosé Pine Moon Original Right Rosé Pine Dawn Original Right Gruvbox Dark Original Right Gruvbox Light Original Right Catppuccin Latte Original Right Catppuccin Frappé Original Right Catppuccin Macchiato Original Right Catppuccin Mocha

Bibata Cursor

Custom Bibata color variants and source layouts for my Nix cursor packages.

Tags Repo Size
Nix Bun License

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.

Overview

  • 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 ctgen and Hyprcursor conversion files used by my NUR packages.
  • Includes a Nix development shell and treefmt checks for repository tooling.

Variants

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

Usage

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>.hyprcursor

Building

The 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-lockfile

Without direnv, enter the same shell manually with nix develop.

Render every palette and layout combination configured in render.json:

bun run generate

The 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 generate

To 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 link

Packaging

The 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

Credits

About

[Mirror] Open source, compact, and material designed cursor set.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Contributors

Languages