From ad07db8094e354b010b8b8d9115971c512701846 Mon Sep 17 00:00:00 2001 From: uku Date: Sun, 11 Aug 2024 11:07:35 +0200 Subject: [PATCH] feat(exprs): add enigma --- configs/desktop.nix | 3 +++ exprs/default.nix | 2 ++ exprs/pkgs/enigma.nix | 42 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 exprs/pkgs/enigma.nix diff --git a/configs/desktop.nix b/configs/desktop.nix index 99c3bd4..45d9459 100644 --- a/configs/desktop.nix +++ b/configs/desktop.nix @@ -1,4 +1,5 @@ { + self, lib, pkgs, config, @@ -90,6 +91,8 @@ shotcut vscode + self.packages.${system}.enigma + (vesktop.override {withSystemVencord = false;}) (prismlauncher.override { jdks = [temurin-bin-21 temurin-bin-17 temurin-bin-8]; diff --git a/exprs/default.nix b/exprs/default.nix index b16bc45..15cf21f 100644 --- a/exprs/default.nix +++ b/exprs/default.nix @@ -6,6 +6,8 @@ perSystem = {pkgs, ...}: { packages = { reposilite = pkgs.callPackage ./reposilite/derivation.nix {}; + enigma = pkgs.callPackage ./pkgs/enigma.nix {}; + wine-discord-ipc-bridge = pkgs.callPackage ./pkgs/wine-discord-ipc-bridge.nix { inherit (pkgs.pkgsCross.mingw32) stdenv; }; diff --git a/exprs/pkgs/enigma.nix b/exprs/pkgs/enigma.nix new file mode 100644 index 0000000..ae6d9c3 --- /dev/null +++ b/exprs/pkgs/enigma.nix @@ -0,0 +1,42 @@ +{ + stdenv, + fetchurl, + temurin-bin, + makeWrapper, + makeDesktopItem, + copyDesktopItems, +}: +stdenv.mkDerivation (finalAttrs: { + name = "enigma"; + version = "2.5.0"; + + src = fetchurl { + url = with finalAttrs; "https://maven.fabricmc.net/cuchaz/enigma-swing/${version}/enigma-swing-${version}-all.jar"; + hash = "sha256-yOPPTKt96aRSbziYDBLBKqfLS2R9GeXgz5m2t1fgFHo="; + }; + + dontUnpack = true; + + nativeBuildInputs = [makeWrapper copyDesktopItems]; + + installPhase = with finalAttrs; '' + runHook preInstall + + mkdir -p $out/bin $out/share/${name} + cp ${src} $out/share/${name}/${name}.jar + makeWrapper ${temurin-bin}/bin/java $out/bin/${name} --add-flags "-jar $out/share/${name}/${name}.jar" + + runHook postInstall + ''; + + desktopItems = [ + (makeDesktopItem { + name = "enigma"; + desktopName = "Enigma"; + exec = "enigma"; + terminal = false; + }) + ]; + + meta.mainProgram = "enigma"; +})