mirror of
https://git.lgmrszd.xyz/Lgmrszd/nix-cfg.git
synced 2025-12-13 23:28:20 +01:00
laptop: add IDEAappwrapper to set JAVA_HOME
This commit is contained in:
parent
317d66bab2
commit
476280c3ef
2 changed files with 33 additions and 4 deletions
|
|
@ -94,19 +94,19 @@
|
||||||
# dev
|
# dev
|
||||||
# Wrap idea-community to add libraries required for Minecraft Moddev
|
# Wrap idea-community to add libraries required for Minecraft Moddev
|
||||||
jetbrains.idea-community
|
jetbrains.idea-community
|
||||||
(mylib.appwrapper {
|
(mylib.IDEAappwrapper {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
inputpkg = jetbrains.idea-community;
|
inputpkg = jetbrains.idea-community;
|
||||||
pkgsuffix = "mcdev-jbr17";
|
pkgsuffix = "mcdev-jbr17";
|
||||||
libraries = with pkgs; [libpulseaudio libGL glfw openal stdenv.cc.cc.lib];
|
libraries = with pkgs; [libpulseaudio libGL glfw openal stdenv.cc.cc.lib];
|
||||||
extrapathpkgs = with pkgs; [jetbrains.jdk-no-jcef-17];
|
jdk = pkgs.jetbrains.jdk-no-jcef-17;
|
||||||
})
|
})
|
||||||
(mylib.appwrapper {
|
(mylib.IDEAappwrapper {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
inputpkg = jetbrains.idea-community;
|
inputpkg = jetbrains.idea-community;
|
||||||
pkgsuffix = "mcdev-jbr21";
|
pkgsuffix = "mcdev-jbr21";
|
||||||
libraries = with pkgs; [libpulseaudio libGL glfw openal stdenv.cc.cc.lib];
|
libraries = with pkgs; [libpulseaudio libGL glfw openal stdenv.cc.cc.lib];
|
||||||
extrapathpkgs = with pkgs; [jetbrains.jdk-no-jcef];
|
jdk = pkgs.jetbrains.jdk-no-jcef;
|
||||||
})
|
})
|
||||||
packwiz
|
packwiz
|
||||||
# vscodium # see programs.vscode
|
# vscodium # see programs.vscode
|
||||||
|
|
|
||||||
|
|
@ -26,4 +26,33 @@
|
||||||
'';
|
'';
|
||||||
dontBuild = true;
|
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;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue