Declarative Burp Suite configuration for Nix and Home Manager — including automatic installation and configuration of Burp extensions (BApps), Jython, JRuby, and Burp configuration files.
burpsuite-nix makes Burp Suite fully reproducible:
extensions, interpreters, UI settings, and Burp’s UserConfig.json are all generated automatically through Nix.
- Home Manager module for Burp Suite
-
Declarative UserConfigCommunity.json / UserConfigPro.json generation
-
Deep merging of your overrides with Burp defaults
-
Automatic dark mode support
-
Multiple edition configs (Community, Pro)
- Fully packaged Burp extensions (BApps)
-
Managed and installed through Nix
-
Extensions are installed into your profile automatically
-
Each extension exposes metadata through passthru.burp
- Automatic interpreter setup
-
If any extension requires Python, Jython is installed and configured
-
If any extension requires Ruby, JRuby is installed and configured
-
Burp receives correct interpreter JAR paths automatically
- Reproducible & portable
-
All config JSON files are fully generated by Nix
-
Zero runtime patching or mutating files in $HOME
-
No GUI config needed — all Burp settings are declarative
The Documentation for each Module Setting can be found here: nixos-options.md
Note that this Module does not install Burpsuite, this needs to be done separately!
Import this Repo as a Flake Input:
burpsuite-nix = {
url = "github:Red-Flake/burpsuite-nix";
inputs.nixpkgs.follows = "nixpkgs";
};Then you need to import the Module in your Home-Manager Configuration and configure it:
imports = [ inputs.burpsuite-nix.homeManagerModules.default ];
programs.burp = {
enable = true;
extensions = [
# Loaded by default
"403-bypasser"
"json-web-tokens"
"js-miner"
"param-miner"
# Installed but not loaded
{
package = "http-request-smuggler";
loaded = false;
}
];
# Define which file will be installed, defaults to community
edition = [
"Community"
"Pro"
];
# Settings that are deep-merged into the default config
settings = {
display.user_interface = {
# Enable Darkmode
look_and_feel = "Dark";
# Change Scaling
font_size = 17;
};
};
};- [] Add a Github Action Workflow that updates the Extensions
- [] Add integration tests
- [] Only prefetch changed Extensions, not all Extensions on a Change
- [] Explore compiling the Extensions from Source
- [] reimplement javas cursed directory name generation to declaratively modify burp extension settings