From 573f1954b001e16c89b431a99e7c95f012275e28 Mon Sep 17 00:00:00 2001 From: xenia Date: Wed, 10 Apr 2024 12:29:18 -0400 Subject: [PATCH] ghidra: make headless --- README.md | 10 ++++++++-- default.nix | 12 +++++++----- modules/ghidra-server/default.nix | 4 ++-- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index c69a01d..bae7217 100644 --- a/README.md +++ b/README.md @@ -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 @@ -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 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 @@ -67,6 +67,12 @@ the service user and group ### 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 diff --git a/default.nix b/default.nix index c4d1b73..05a7378 100644 --- a/default.nix +++ b/default.nix @@ -5,9 +5,11 @@ ./modules/ghidra-server ]; - # nixpkgs.overlays = [ - # (final: prev: { - # - # }) - # ]; + nixpkgs.overlays = [ + (final: prev: { + ghidra_headless = prev.ghidra.override { + openjdk17 = prev.openjdk17_headless; + }; + }) + ]; } diff --git a/modules/ghidra-server/default.nix b/modules/ghidra-server/default.nix index f3c5597..5ef7682 100644 --- a/modules/ghidra-server/default.nix +++ b/modules/ghidra-server/default.nix @@ -9,8 +9,8 @@ in { options.services.ghidra-server = { enable = mkEnableOption "ghidra-server"; enableAdminCli = mkEnableOption "ghidra-svrAdmin"; - package = mkPackageOption pkgs "ghidra" { }; - jdkPackage = mkPackageOption pkgs "openjdk17" { }; + package = mkPackageOption pkgs "ghidra_headless" { }; + jdkPackage = mkPackageOption pkgs "openjdk17_headless" { }; host = mkOption { default = null; defaultText = literalExpression "null";