From 198106a3d78ceae9d097bbcd0aceb4852e839e15 Mon Sep 17 00:00:00 2001 From: h7x4 Date: Tue, 14 Nov 2023 12:29:01 +0100 Subject: wordlists: refactor - Remove version tag - Filter out non-wordlist content from wordlist packages - Split up the derivation into several logical parts - Reorder package inputs to be in the order which they are used - Add h7x4 as maintainer Co-authored-by: Peder Bergebakken Sundt Co-authored-by: Janik H. --- pkgs/by-name/wo/wordlists/package.nix | 57 ++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 27 deletions(-) (limited to 'pkgs/by-name/wo/wordlists') diff --git a/pkgs/by-name/wo/wordlists/package.nix b/pkgs/by-name/wo/wordlists/package.nix index 16106707fd96d..5edd1f5ece4e5 100644 --- a/pkgs/by-name/wo/wordlists/package.nix +++ b/pkgs/by-name/wo/wordlists/package.nix @@ -1,11 +1,8 @@ { lib -, callPackage +, symlinkJoin , nmap , rockyou -, runtimeShell , seclists -, symlinkJoin -, tree , wfuzz , lists ? [ nmap @@ -13,33 +10,39 @@ seclists wfuzz ] +, writeShellScriptBin +, tree }: +let + wordlistsCollection = symlinkJoin { + name = "wordlists-collection"; + paths = lists; -symlinkJoin rec { - pname = "wordlists"; - version = "unstable-2023-10-10"; - - name = "${pname}-${version}"; - paths = lists; + postBuild = '' + shopt -s extglob + rm -rf $out/!(share) + rm -rf $out/share/!(wordlists) + shopt -u extglob + ''; + }; - postBuild = '' - mkdir -p $out/bin + # A command to show the location of the links. + wordlistsBin = writeShellScriptBin "wordlists" '' + ${lib.getExe tree} ${wordlistsCollection}/share/wordlists + ''; + # A command for easy access to the wordlists. + wordlistsPathBin = writeShellScriptBin "wordlists_path" '' + printf "${wordlistsCollection}/share/wordlists\n" + ''; - # Create a command to show the location of the links. - cat >> $out/bin/wordlists << __EOF__ - #!${runtimeShell} - ${tree}/bin/tree ${placeholder "out"}/share/wordlists - __EOF__ - chmod +x $out/bin/wordlists +in symlinkJoin { + name = "wordlists"; - # Create a handy command for easy access to the wordlists. - # e.g.: `cat "$(wordlists_path)/rockyou.txt"`, or `ls "$(wordlists_path)/dirbuster"` - cat >> $out/bin/wordlists_path << __EOF__ - #!${runtimeShell} - printf "${placeholder "out"}/share/wordlists\n" - __EOF__ - chmod +x $out/bin/wordlists_path - ''; + paths = [ + wordlistsCollection + wordlistsBin + wordlistsPathBin + ]; meta = with lib; { description = "A collection of wordlists useful for security testing"; @@ -65,6 +68,6 @@ symlinkJoin rec { If you want to add a new package that provides wordlist/s the convention is to copy it to {file}`$out/share/wordlists/myNewWordlist`. ''; - maintainers = with maintainers; [ janik pamplemousse ]; + maintainers = with maintainers; [ janik pamplemousse h7x4 ]; }; } -- cgit 1.4.1