ghidra-server: create admin cli bin
This commit is contained in:
parent
636d3d98a6
commit
787ae9af8e
|
@ -1,6 +1,11 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
with lib;
|
with lib;
|
||||||
let cfg = config.services.ghidra-server; in {
|
let
|
||||||
|
cfg = config.services.ghidra-server;
|
||||||
|
adminCli = pkgs.callPackage ../../pkgs/ghidra-server-cli {
|
||||||
|
inherit (cfg) package jdkPackage directory;
|
||||||
|
};
|
||||||
|
in {
|
||||||
options.services.ghidra-server = {
|
options.services.ghidra-server = {
|
||||||
enable = mkEnableOption "ghidra-server";
|
enable = mkEnableOption "ghidra-server";
|
||||||
enableAdminCli = mkEnableOption "ghidra-svrAdmin";
|
enableAdminCli = mkEnableOption "ghidra-svrAdmin";
|
||||||
|
@ -80,5 +85,6 @@ let cfg = config.services.ghidra-server; in {
|
||||||
};
|
};
|
||||||
wantedBy = ["multi-user.target"];
|
wantedBy = ["multi-user.target"];
|
||||||
};
|
};
|
||||||
|
environment.systemPackages = optionals cfg.enableAdminCli [ adminCli ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
writeShellScriptBin,
|
||||||
|
writeText,
|
||||||
|
|
||||||
|
directory,
|
||||||
|
jdkPackage,
|
||||||
|
package
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
server_conf = writeText "server.conf" "ghidra.repositories.dir=${directory}/repositories";
|
||||||
|
in writeShellScriptBin "ghidra-svrAdmin" ''
|
||||||
|
exec ${jdkPackage}/bin/java \
|
||||||
|
-cp ${package}/lib/ghidra/Ghidra/Framework/Utility/lib/Utility.jar \
|
||||||
|
-Djava.system.class.loader=ghidra.GhidraClassLoader \
|
||||||
|
-Dfile.encoding=UTF8 \
|
||||||
|
-Duser.country=US -Duser.language=en -Duser.variant= \
|
||||||
|
-Xshare:off ghidra.Ghidra ghidra.server.ServerAdmin \
|
||||||
|
${server_conf} "$@"
|
||||||
|
''
|
Loading…
Reference in New Issue