Skip to content

Commit

Permalink
nixos/security.cyber-toolnix: add module
Browse files Browse the repository at this point in the history
This module is used to install pentesting tools based on the chosen role. Options are:
* `blue` (Blue Teamer),
* `bugbounty` (Bug Bounty Hunter),
* `cracker` (Cracker Specialist),
* `dos` (DoS Tester),
* `forensic` (Forensic Specialist),
* `malware` (Malware Analyst),
* `mobile` (Mobile Specialist),
* `network` (Network Specialist),
* `osint` (OSINT Specialist),
* `red` (Red Teamer),
* `student` (Student),
* `web` (Web Pentester)
  • Loading branch information
D3vil0p3r committed Sep 29, 2024
1 parent 99b71d2 commit 7cda323
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions nixos/modules/security/cyber-toolnix/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
{ lib, config, pkgs, ... }:

with lib;

let
roles = {
blue = import ./roles/blue.nix { inherit pkgs; };
bugbounty = import ./roles/bugbounty.nix { inherit pkgs; };
cracker = import ./roles/cracker.nix { inherit pkgs; };
dos = import ./roles/dos.nix { inherit pkgs; };
forensic = import ./roles/forensic.nix { inherit pkgs; };
malware = import ./roles/malware.nix { inherit pkgs; };
mobile = import ./roles/mobile.nix { inherit pkgs; };
network = import ./roles/network.nix { inherit pkgs; };
osint = import ./roles/osint.nix { inherit pkgs; };
red = import ./roles/red.nix { inherit pkgs; };
student = import ./roles/student.nix { inherit pkgs; };
web = import ./roles/web.nix { inherit pkgs; };
};
in {
options.cyber-toolnix = {
enable = mkOption {
type = types.bool;
default = false;
description = "Enable the cyber-toolnix module to install cyber security tools based on role.";
};

role = mkOption {
type = types.enum [
"blue"
"bugbounty"
"cracker"
"dos"
"forensic"
"malware"
"mobile"
"network"
"osint"
"red"
"student"
"web"
];
default = "student";
description = "Cyber role to determine which set of tools to install. Options are 'blue', 'bugbounty', 'cracker', 'dos', 'forensic', 'malware', 'mobile', 'network', 'osint', 'red', 'student' or 'web'.";
example = "student";
};
};

config = mkIf config.cyber-toolnix.enable {
environment.systemPackages = builtins.getAttr config.cyber-toolnix.role roles;
};
}

0 comments on commit 7cda323

Please sign in to comment.