about summary refs log tree commit diff
path: root/pkgs/by-name/or
diff options
context:
space:
mode:
authorh7x4 <h7x4@nani.wtf>2024-01-18 19:26:08 +0100
committerGitHub <noreply@github.com>2024-01-18 19:26:08 +0100
commit91035ad498d1be669719e133dbee34e328212357 (patch)
treed273d3536bddcd4061cf21df4a48b9bf7b3fa71a /pkgs/by-name/or
parentd7d0d9d87374b7f786018c74abc24299290894c6 (diff)
parent8343b8e59a402122bb31fc915db21cc6b5b0a507 (diff)
Merge pull request #258995 from MichaelBrunn3r/oreo-cursors-plus
oreo-cursors-plus: init at unstable-2023-06-05
Diffstat (limited to 'pkgs/by-name/or')
-rw-r--r--pkgs/by-name/or/oreo-cursors-plus/package.nix70
1 files changed, 70 insertions, 0 deletions
diff --git a/pkgs/by-name/or/oreo-cursors-plus/package.nix b/pkgs/by-name/or/oreo-cursors-plus/package.nix
new file mode 100644
index 0000000000000..d998718ad085c
--- /dev/null
+++ b/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];
+  };
+}