mirror of
https://git.lgmrszd.xyz/Lgmrszd/nix-cfg.git
synced 2025-12-14 07:38:19 +01:00
58 lines
No EOL
1.9 KiB
Nix
58 lines
No EOL
1.9 KiB
Nix
{
|
|
appwrapper =
|
|
{
|
|
pkgs,
|
|
inputpkg,
|
|
pkgsuffix,
|
|
libraries,
|
|
extrapathpkgs
|
|
}: with pkgs; let
|
|
name = "${inputpkg.pname}-${pkgsuffix}";
|
|
in stdenv.mkDerivation {
|
|
inherit name;
|
|
inherit (inputpkg) version;
|
|
nativeBuildInputs = [ makeWrapper gnused ];
|
|
buildCommand = ''
|
|
mkdir -p $out/bin
|
|
mkdir -p $out/share/applications
|
|
cp ${inputpkg}/share/applications/${inputpkg.pname}.desktop $out/share/applications/${name}.desktop
|
|
makeWrapper ${inputpkg}/bin/${inputpkg.pname} $out/bin/${name} \
|
|
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath libraries}" \
|
|
--prefix PATH : "${lib.makeBinPath extrapathpkgs}"
|
|
substituteInPlace $out/share/applications/${name}.desktop \
|
|
--replace-fail "=${inputpkg.pname}" "=${name}"
|
|
sed -i -E "s/^Name=(.*)/Name=\1 (${pkgsuffix})/g" "$out/share/applications/${name}.desktop"
|
|
echo $out/bin/${name}
|
|
'';
|
|
dontBuild = true;
|
|
};
|
|
|
|
IDEAappwrapper =
|
|
{
|
|
pkgs,
|
|
inputpkg,
|
|
pkgsuffix,
|
|
libraries,
|
|
jdk
|
|
}: with pkgs; let
|
|
name = "${inputpkg.pname}-${pkgsuffix}";
|
|
in stdenv.mkDerivation {
|
|
inherit name;
|
|
inherit (inputpkg) version;
|
|
nativeBuildInputs = [ makeWrapper gnused ];
|
|
buildCommand = ''
|
|
mkdir -p $out/bin
|
|
mkdir -p $out/share/applications
|
|
cp ${inputpkg}/share/applications/${inputpkg.pname}.desktop $out/share/applications/${name}.desktop
|
|
makeWrapper ${inputpkg}/bin/${inputpkg.pname} $out/bin/${name} \
|
|
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath libraries}" \
|
|
--prefix PATH : "${lib.makeBinPath [jdk]}" \
|
|
--set JAVA_HOME "${jdk}/lib/openjdk"
|
|
substituteInPlace $out/share/applications/${name}.desktop \
|
|
--replace-fail "=${inputpkg.pname}" "=${name}"
|
|
sed -i -E "s/^Name=(.*)/Name=\1 (${pkgsuffix})/g" "$out/share/applications/${name}.desktop"
|
|
echo $out/bin/${name}
|
|
'';
|
|
dontBuild = true;
|
|
};
|
|
} |