summaryrefslogtreecommitdiff
path: root/modules/home/re.nix
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
      '';
    })
  ];
}