{ description = "xonotic-exporter dev shell"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils, }: flake-utils.lib.eachDefaultSystem ( system: let pkgs = import nixpkgs { inherit system; }; # Python env with all runtime + dev deps pythonEnv = pkgs.python313.withPackages ( ps: with ps; [ (ps.buildPythonPackage rec { pname = "xrcon"; version = "0.2"; format = "setuptools"; src = ps.fetchPypi { inherit pname version; sha256 = "sha256-xRuZXgf09zrQUpneR2DTBYr7W08GYOc2TmaVp71rcqs="; }; build-system = [ ps.setuptools ]; dependencies = [ ps.six ]; }) prometheus-client pytest pytest-asyncio mypy black isort ruff pip ] ); # Convenience script: start a local Xonotic dedicated server startXonotic = pkgs.writeShellScriptBin "start-xonotic-server" '' set -euo pipefail PORT=''${XONOTIC_PORT:-26010} RCON_PW=''${XONOTIC_RCON_PASSWORD:-devpassword} DATADIR=''${XONOTIC_DATADIR:-$PWD/.xonotic-data} CFGDIR="$DATADIR/data" mkdir -p "$CFGDIR" cat > "$CFGDIR/config.cfg" < "$CFGDIR/server.cfg" < "$OUT" <