ghidra: make headless

This commit is contained in:
xenia 2024-04-10 12:29:18 -04:00
parent ea4e69511f
commit 573f1954b0
3 changed files with 17 additions and 9 deletions

View File

@ -18,7 +18,7 @@ dragnpkgs provides a set of nixos modules and a nixpkgs overlay containing custo
} }
``` ```
## documentation ## options documentation
documentation for options provided by dragnpkgs documentation for options provided by dragnpkgs
@ -44,7 +44,7 @@ adds a system package for the CLI tool `ghidra-svrAdmin`, which allows anyone in
to administer the server (this corresponds to the `server/svrAdmin` tool in the stock ghidra to administer the server (this corresponds to the `server/svrAdmin` tool in the stock ghidra
distribution) distribution)
#### services.ghidra-server.{package, jdkPackage} (`ghidra`, `openjdk17`) #### services.ghidra-server.{package, jdkPackage} (`ghidra_headless`, `openjdk17_headless`)
allows overriding the ghidra package and jdk package used for the server allows overriding the ghidra package and jdk package used for the server
@ -67,6 +67,12 @@ the service user and group
### more coming soon(tm) ### more coming soon(tm)
## packages documentation
### `ghidra_headless`
a variant of ghidra built with a headless openjdk, intended to reduce closure size for server
operation
## licensing ## licensing

View File

@ -5,9 +5,11 @@
./modules/ghidra-server ./modules/ghidra-server
]; ];
# nixpkgs.overlays = [ nixpkgs.overlays = [
# (final: prev: { (final: prev: {
# ghidra_headless = prev.ghidra.override {
# }) openjdk17 = prev.openjdk17_headless;
# ]; };
})
];
} }

View File

@ -9,8 +9,8 @@ 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";
package = mkPackageOption pkgs "ghidra" { }; package = mkPackageOption pkgs "ghidra_headless" { };
jdkPackage = mkPackageOption pkgs "openjdk17" { }; jdkPackage = mkPackageOption pkgs "openjdk17_headless" { };
host = mkOption { host = mkOption {
default = null; default = null;
defaultText = literalExpression "null"; defaultText = literalExpression "null";