Solving Dumb Hacker Problems With Nix

No ratings

Presented at Wild West Hackin Fest 2025 by

Between Python version mismatches, virtual environments, and containers, getting even popular software to work on every operating system and setup is more cumbersome than it should be. Hackers should be fighting vulnerabilities, not their own tooling. Nix has solved this for me and I need to share it with people. It takes "it works on my machine" to a whole new level. Nix suffers from an inordinate degree of mystery that turns a lot of people away from it, but those of us who have pushed through the haze have come to appreciate just how brilliant Nix is. But it doesn't have to be complicated, and I'll be demonstrating that. Within and without NixOS, the Nix package management system alone offers hackers the ability to (at a minimum): - Effortlessly install packages not available in their default repositories - Replicate system setups for any machine or server with a single file - Only activate virtual environments and access specific dependencies based on isolated environments or even just entering system directories This is all done without technologies like Ansible or Docker, making even the base system dependency overhead much smaller. Since this talk involves creating environments that help users deal with dependency management, tool installation, and system deployment, I'll be demonstrating all of those things. For example, we will: 1. Build a working Python virtual environment, handle all the dependencies, and successfully run highly opinionated tooling (impacket) alongside other highly opinionated tooling (CrackMapExec) using an ".envrc" file of our making. 2. Demonstrate native containerization via systemd-nspawn for keeping hacking tools isolated from the main system. 3. Deploying my favorite tools to a brand new virtual private server to starting hacking from it in seconds. Much of these capabilities will be available as script and file templates via a Github repo I'll make public alongside the talk.