Compare commits

...
2 Commits
Author SHA1 Message Date
Sweetbread c4ceb67dfc Add Miku cursor 2025-10-10 00:51:20 +03:00
Sweetbread 9706b7954c Add Kurumi cursor 2025-10-10 00:50:52 +03:00
2 changed files with 171 additions and 12 deletions
+85 -8
View File
@@ -1,4 +1,85 @@
{ pkgs, config, lib, host, ... }: { { pkgs, config, lib, ... }: let
miku-cursor = pkgs.stdenv.mkDerivation {
name = "Miku cursor";
# Hatsune Miku Cursor
# Author: NOiiRE ❖
# https://ko-fi.com/s/dcea0e990f
src = pkgs.fetchzip {
name = "MikuCursor.zip";
url = "https://ko-fi.com/api/file-upload/cf0bb0a7-feb8-4090-8e2e-68fd33b7b040/download?transactionId=684d8995-2014-4f9f-bb77-39e4dae3bad7";
curlOpts = "-A HTTPie/3.2.4";
extension = "zip";
hash = "sha256-WYk8Hh92IE3CyUCAOp7QMKrYN8Hpt/cs+O17jhh5tJs=";
};
nativeBuildInputs = [ pkgs.win2xcur ];
patchPhase = ''
rm 02-Link.ani
pwd
echo $src
mkdir Miku/cursors -p
win2xcur $src/*.ani -o Miku/cursors
cd Miku/
echo "[Icon theme]" > index.theme
echo "Name=Miku Cursor" >> index.theme
cd cursors/
mv 'Miku normal' default
ln -s default left_ptr
ln -s default arrow
mv 'Miku link' pointer
ln -s pointer hand2
mv 'Miku busy' wait
ln -s wait progress
mv 'Miku help' help
ln -s help question_arrow
mv 'Miku text' text
ln -s text xterm
mv 'Miku hand' pencil
mv 'Miku precision' cross
ln -s cross crosshair
ln -s cross tcross
mv 'Miku unavailable' not-allowed
# mv 'Miku location' ?
# mv 'Miku person' ?
mv 'Miku vert' ns-resize
ln -s ns-resize n-resize
ln -s ns-resize s-resize
ln -s ns-resize v_double_arrow
ln -s ns-resize sb_v_double_arrow
mv 'Miku horz' ew-resize
ln -s ew-resize e-resize
ln -s ew-resize w-resize
ln -s ew-resize h_double_arrow
ln -s ew-resize sb_h_double_arrow
ln -s ew-resize left_side
ln -s ew-resize right_side
mv 'Miku dgn1' nw-resize
ln -s nw-resize top_left_corner
ln -s nw-resize bottom_right_corner
mv 'Miku dgn2' ne-resize
ln -s ne-resize top_right_corner
ln -s ne-resize bottom_left_corner
mv 'Miku move' move
ln -s move nesw-resize
ln -s move grab
ln -s move grabbing
ln -s move fleur
# mv 'Miku alt' ?
cd ../..
'';
installPhase = ''
mkdir $out/share/icons -p
cp Miku $out/share/icons -r
'';
};
in {
stylix = { stylix = {
enable = true; enable = true;
targets = { targets = {
@@ -21,14 +102,10 @@
dark = "Pop-Dark"; dark = "Pop-Dark";
}; };
cursor = if host.name == "Impreza" then { cursor = {
name = "catppuccin-mocha-pink-cursors"; name = "Miku";
size = 16; size = 16;
package = pkgs.catppuccin-cursors.mochaPink; package = miku-cursor;
} else {
name = "catppuccin-mocha-peach-cursors";
size = 16;
package = pkgs.catppuccin-cursors.mochaPeach;
}; };
fonts = { fonts = {
+86 -4
View File
@@ -1,4 +1,86 @@
{ pkgs, config, lib, ... }: { { pkgs, config, lib, ... }: let
kurumi-cursor = pkgs.stdenv.mkDerivation {
name = "Kurumi cursor";
# [Date A Live] Kurumi Tokisaki Cursor
# Author: EbiEbiBeam
# https://ko-fi.com/s/66a6c36df1
src = pkgs.fetchzip {
name = "KurumiCursor.zip";
url = "https://ko-fi.com/api/file-upload/d2a5e046-1d48-49f9-9e41-9c230cc08821/download?transactionId=9dc3593e-b36b-40aa-910c-71ddee802d37";
curlOpts = "-A HTTPie/3.2.4";
extension = "zip";
hash = "sha256-WYk8Hh92IE3CyUCAOp7QMKrYN8Hpt/cs+O17jhh5tJs=";
};
nativeBuildInputs = [ pkgs.win2xcur ];
patchPhase = ''
rm 02-Link.ani
pwd
echo $src
mkdir Kurumi/cursors -p
win2xcur $src/*.ani -o Kurumi/cursors
cd Kurumi/
echo "[Icon theme]" > index.theme
echo "Name=Kurumi Cursor" >> index.theme
cd cursors/
mv '01-Normal' default
ln -s default left_ptr
ln -s default arrow
mv '02-Link' pointer
ln -s pointer hand2
mv '03-Loading' wait
ln -s wait progress
mv '04-Help' help
ln -s help question_arrow
mv '05-Text Select' text
ln -s text xterm
mv '06-Handwriting' pencil
mv '07-Precision' cross
ln -s cross crosshair
ln -s cross tcross
mv '08-Unavailable' not-allowed
# mv '09-Location Select' ?
# mv '10-Person Select' ?
mv '11-Vertical Resize' ns-resize
ln -s ns-resize n-resize
ln -s ns-resize s-resize
ln -s ns-resize v_double_arrow
ln -s ns-resize sb_v_double_arrow
mv '12-Horizontal Resize' ew-resize
ln -s ew-resize e-resize
ln -s ew-resize w-resize
ln -s ew-resize h_double_arrow
ln -s ew-resize sb_h_double_arrow
ln -s ew-resize left_side
ln -s ew-resize right_side
mv '13-Diagonal Resize 1' nw-resize
ln -s nw-resize top_left_corner
ln -s nw-resize bottom_right_corner
mv '14-Diagonal Resize 2' ne-resize
ln -s ne-resize top_right_corner
ln -s ne-resize bottom_left_corner
mv '15-Move' move
ln -s move nesw-resize
ln -s move grab
ln -s move grabbing
ln -s move fleur
# mv '16-Alternate Select' ?
cd ../..
'';
installPhase = ''
mkdir $out/share/icons -p
cp Kurumi $out/share/icons -r
'';
};
in {
# {
stylix = { stylix = {
enable = true; enable = true;
targets = { targets = {
@@ -22,9 +104,9 @@
}; };
cursor = { cursor = {
name = "catppuccin-mocha-green-cursors"; name = "Kurumi";
size = 24; size = 32;
package = pkgs.catppuccin-cursors.mochaGreen; package = kurumi-cursor;
}; };
fonts = { fonts = {