diff options
| author | Akshay Nair <phenax5@gmail.com> | 2025-11-22 01:08:35 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2025-11-22 01:08:35 +0530 |
| commit | 9b07aa4ec5cb75ae53c61d2c971e073193dec476 (patch) | |
| tree | 3d95cc0c2162e1864221cf0de1010fb9feb06f05 /modules/nessus-daemon/fhs.nix | |
| parent | 5f4b94771201c07531fcf9be128a53638fe3a6c4 (diff) | |
| download | nixos-config-9b07aa4ec5cb75ae53c61d2c971e073193dec476.tar.gz nixos-config-9b07aa4ec5cb75ae53c61d2c971e073193dec476.zip | |
Add nessus-agent module
Diffstat (limited to 'modules/nessus-daemon/fhs.nix')
| -rw-r--r-- | modules/nessus-daemon/fhs.nix | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/modules/nessus-daemon/fhs.nix b/modules/nessus-daemon/fhs.nix new file mode 100644 index 0000000..97f5016 --- /dev/null +++ b/modules/nessus-daemon/fhs.nix @@ -0,0 +1,59 @@ +{ pkgs ? import <nixpkgs> {}, ... }: +let + debUrl = "https://www.tenable.com/downloads/api/v1/public/pages/nessus-agents/downloads/26786/download?i_agree_to_tenable_license_agreement=true"; + + setupNessusAgentDir = pkgs.writeShellScriptBin "setup-nessus-agent-dir" '' + set -eu -o pipefail + outdir=/opt/nessus_agent + if ! [ -f "$outdir/.installed" ]; then + echo "First install setup" + mkdir -p "$outdir" + cp -rf ${nessus-files}/nessus/* "$outdir" + chmod -R 755 "$outdir" + touch "$outdir/.installed" + fi + ''; + + nessus-files = pkgs.stdenv.mkDerivation { + pname = "nessus-files"; + version = "11.0.2"; + nativeBuildInputs = [ pkgs.dpkg ]; + src = pkgs.fetchurl { + url = debUrl; + sha256 = "sha256-TlO7l50sqILcF/xga+RifvzptcSBk/PGqunhJYzUFYA="; + }; + dontConfigure = true; + dontBuild = true; + unpackPhase = ''dpkg-deb -x $src .''; + installPhase = '' + mkdir -p $out/nessus + mv opt/nessus_agent/* $out/nessus + ''; + }; +in +pkgs.buildFHSEnv { + name = "nessus-agent-fhs"; + + targetPkgs = pkgs: with pkgs; [ + coreutils + openssl_3 + nettools + iproute2 + procps + util-linux + glibc + zlib + sqlite + ]; + + profile = '' + export NESSUS_TZ_DIR=/etc/zoneinfo; + export PATH="$PATH:/opt/nessus_agent/bin:/opt/nessus_agent/sbin" + ''; + + runScript = ''bash -c ' + echo "Starting service with args: $@"; + ${setupNessusAgentDir}/bin/setup-nessus-agent-dir; + "$@"; + ' -- ''; +} |
