blob: 451d1fe3493ea5d3973ed7a20c2df6f352406ec2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
{
config,
pkgs,
inputs,
...
}:
let
pyghidra = pkgs.python3Packages.buildPythonPackage {
pname = "pyghidra";
version = "2.2.1";
format = "wheel";
src = "${pkgs.ghidra}/lib/ghidra/Ghidra/Features/PyGhidra/pypkg/dist/pyghidra-2.2.1-py3-none-any.whl";
propagatedBuildInputs = with pkgs.python3Packages; [
jpype1
packaging
];
};
ghidraPython = pkgs.python3.withPackages (_: [ pyghidra ]);
in
{
home.packages = with pkgs; [
binaryninja-free
avalonia-ilspy
(symlinkJoin {
name = "ghidra";
paths = [ ghidra ];
buildInputs = [ makeWrapper ];
postBuild = ''
rm $out/bin/ghidra
makeWrapper ${ghidraPython}/bin/python3 $out/bin/ghidra \
--add-flags "-m pyghidra.ghidra_launch --install-dir ${ghidra}/lib/ghidra -g ghidra.GhidraRun" \
--set JAVA_HOME ${pkgs.jdk21} \
--prefix PATH : ${pkgs.jdk21}/bin
'';
})
];
}
|