diff options
Diffstat (limited to 'nixpkgs/pkgs/by-name/or/oreo-cursors-plus/package.nix')
-rw-r--r-- | nixpkgs/pkgs/by-name/or/oreo-cursors-plus/package.nix | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/by-name/or/oreo-cursors-plus/package.nix b/nixpkgs/pkgs/by-name/or/oreo-cursors-plus/package.nix new file mode 100644 index 000000000000..d998718ad085 --- /dev/null +++ b/nixpkgs/pkgs/by-name/or/oreo-cursors-plus/package.nix @@ -0,0 +1,70 @@ +{ + lib, + stdenvNoCC, + fetchFromGitHub, + ruby, + inkscape, + xorg, + writeText, + cursorsConf ? null, # If set to a string, overwrites contents of './cursors.conf' +}: +let + newCursorsConf = writeText "oreo-cursors-plus.conf" cursorsConf; +in +stdenvNoCC.mkDerivation { + pname = "oreo-cursors-plus"; + version = "unstable-2023-06-05"; + src = fetchFromGitHub { + owner = "Souravgoswami"; + repo = "oreo-cursors"; + # At the time of writing, there are no version tags. The author will add them starting with the next version release. + # Using the latest commit instead. + rev = "9133204d60ca2c54be0df03b836968a1deac6b20"; + hash = "sha256-6oTyOQK7mkr+jWYbPNBlJ4BpT815lNJvsJjzdTmj+68="; + }; + + nativeBuildInputs = lib.optionals (cursorsConf != null) [ ruby inkscape xorg.xcursorgen ]; + + # './cursors.conf' contains definitions of cursor variations to generate. + configurePhase = '' + runHook preConfigure + + ${lib.optionalString (cursorsConf != null) '' + cp ${newCursorsConf} cursors.conf + ''} + + runHook postConfigure + ''; + + # The repo already contains the default cursors pre-generated in './dist'. Just copy these if './cursors.conf' is not overwritten. + # Otherwise firs remove all default variations and build. + buildPhase ='' + runHook preBuild + + ${lib.optionalString (cursorsConf != null) '' + rm -r {dist,src/oreo_*} + export HOME=$TMP + ruby generator/convert.rb + make build + ''} + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share + mv ./dist $out/share/icons + + runHook postInstall + ''; + + meta = { + description = "Colored Material cursors with cute animations"; + homepage = "https://github.com/Souravgoswami/oreo-cursors"; + license = lib.licenses.gpl2Only; + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [michaelBrunner]; + }; +} |