{ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-legacy.url = "github:NixOS/nixpkgs/nixos-23.11"; utils.url = "github:numtide/flake-utils"; }; outputs = { nixpkgs, nixpkgs-legacy, utils, ... }: utils.lib.eachDefaultSystem ( system: let pkgs = import nixpkgs { inherit system; }; pkgs-old = import nixpkgs-legacy { inherit system; }; # Define Python environment with required packages pythonEnv = pkgs-old.python310.withPackages ( ps: with ps; [ gevent greenlet msgpack base58 merkletools rsa pysocks pyasn1 websocket-client gevent-websocket coincurve maxminddb ] ); libraries = with pkgs; [ stdenv.cc.cc glib dbus curl openssl ]; in { devShells.default = pkgs.mkShell { nativeBuildInputs = [ pkgs.pkg-config pkgs.openssl ]; buildInputs = [ pythonEnv pkgs.tor ] ++ libraries; shellHook = '' export LD_LIBRARY_PATH="${pkgs.lib.makeLibraryPath libraries}:$LD_LIBRARY_PATH" echo "❄️ ZeroNet dev environment loaded (Python 3.11)!" echo "To start ZeroNet, run: python zeronet.py" ''; }; } ); }