mirror of
https://git.lgmrszd.xyz/Lgmrszd/nix-cfg.git
synced 2025-12-14 07:38:19 +01:00
laptop: link jdks in /opt/java
This commit is contained in:
parent
5543cf819f
commit
d6a6f51490
4 changed files with 39 additions and 12 deletions
|
|
@ -11,6 +11,7 @@ in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./thinkfan.nix
|
./thinkfan.nix
|
||||||
|
./jdks.nix
|
||||||
./mounts.nix
|
./mounts.nix
|
||||||
./akkotest.nix
|
./akkotest.nix
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -97,20 +97,26 @@
|
||||||
# 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.IDEAappwrapper {
|
(mylib.appwrapper {
|
||||||
inherit pkgs;
|
|
||||||
inputpkg = jetbrains.idea-community;
|
|
||||||
pkgsuffix = "mcdev-jbr17";
|
|
||||||
libraries = with pkgs; [libpulseaudio libGL glfw openal stdenv.cc.cc.lib];
|
|
||||||
jdk = pkgs.jetbrains.jdk-no-jcef-17;
|
|
||||||
})
|
|
||||||
(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];
|
||||||
jdk = pkgs.jetbrains.jdk-no-jcef;
|
|
||||||
})
|
})
|
||||||
|
# (mylib.IDEAappwrapper {
|
||||||
|
# inherit pkgs;
|
||||||
|
# inputpkg = jetbrains.idea-community;
|
||||||
|
# pkgsuffix = "mcdev-jbr17";
|
||||||
|
# libraries = with pkgs; [libpulseaudio libGL glfw openal stdenv.cc.cc.lib];
|
||||||
|
# jdk = pkgs.jetbrains.jdk-no-jcef-17;
|
||||||
|
# })
|
||||||
|
# (mylib.IDEAappwrapper {
|
||||||
|
# inherit pkgs;
|
||||||
|
# inputpkg = jetbrains.idea-community;
|
||||||
|
# pkgsuffix = "mcdev-jbr21";
|
||||||
|
# libraries = with pkgs; [libpulseaudio libGL glfw openal stdenv.cc.cc.lib];
|
||||||
|
# jdk = pkgs.jetbrains.jdk-no-jcef;
|
||||||
|
# })
|
||||||
packwiz
|
packwiz
|
||||||
# vscodium # see programs.vscode
|
# vscodium # see programs.vscode
|
||||||
#nnn # terminal file manager
|
#nnn # terminal file manager
|
||||||
|
|
|
||||||
22
hosts/laptop/jdks.nix
Normal file
22
hosts/laptop/jdks.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
# https://discourse.nixos.org/t/system-wide-installation-of-gradle-and-jdk/11305/4
|
||||||
|
{ config, pkgs, ...}:
|
||||||
|
let
|
||||||
|
jdkEnv = pkgs.runCommand "jdk-env" {
|
||||||
|
buildInputs = with pkgs; [
|
||||||
|
pkgs.jetbrains.jdk-no-jcef
|
||||||
|
pkgs.jetbrains.jdk-no-jcef-17
|
||||||
|
];
|
||||||
|
} ''
|
||||||
|
mkdir -p $out/jdks
|
||||||
|
ln -s ${pkgs.jetbrains.jdk-no-jcef}/lib/openjdk $out/jdks/jdk-no-jcef
|
||||||
|
ln -s ${pkgs.jetbrains.jdk-no-jcef-17}/lib/openjdk $out/jdks/jdk-no-jcef-17
|
||||||
|
'';
|
||||||
|
in {
|
||||||
|
environment.systemPackages = [
|
||||||
|
jdkEnv
|
||||||
|
];
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d /opt 755 root root -"
|
||||||
|
"L+ /opt/java - - - - ${jdkEnv}/jdks"
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
@ -5,7 +5,6 @@
|
||||||
inputpkg,
|
inputpkg,
|
||||||
pkgsuffix,
|
pkgsuffix,
|
||||||
libraries,
|
libraries,
|
||||||
extrapathpkgs
|
|
||||||
}: with pkgs; let
|
}: with pkgs; let
|
||||||
name = "${inputpkg.pname}-${pkgsuffix}";
|
name = "${inputpkg.pname}-${pkgsuffix}";
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation {
|
||||||
|
|
@ -17,8 +16,7 @@
|
||||||
mkdir -p $out/share/applications
|
mkdir -p $out/share/applications
|
||||||
cp ${inputpkg}/share/applications/${inputpkg.pname}.desktop $out/share/applications/${name}.desktop
|
cp ${inputpkg}/share/applications/${inputpkg.pname}.desktop $out/share/applications/${name}.desktop
|
||||||
makeWrapper ${inputpkg}/bin/${inputpkg.pname} $out/bin/${name} \
|
makeWrapper ${inputpkg}/bin/${inputpkg.pname} $out/bin/${name} \
|
||||||
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath libraries}" \
|
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath libraries}"
|
||||||
--prefix PATH : "${lib.makeBinPath extrapathpkgs}"
|
|
||||||
substituteInPlace $out/share/applications/${name}.desktop \
|
substituteInPlace $out/share/applications/${name}.desktop \
|
||||||
--replace-fail "=${inputpkg.pname}" "=${name}"
|
--replace-fail "=${inputpkg.pname}" "=${name}"
|
||||||
sed -i -E "s/^Name=(.*)/Name=\1 (${pkgsuffix})/g" "$out/share/applications/${name}.desktop"
|
sed -i -E "s/^Name=(.*)/Name=\1 (${pkgsuffix})/g" "$out/share/applications/${name}.desktop"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue