{ description = "slopbot - Zulip bot with stock price lookups and LLM replies"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; agentd = { url = "git+file:///home/ben/src/bsima/agentd"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, agentd }: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; pythonEnv = pkgs.python3.withPackages (ps: [ ps.zulip ps.yfinance ps.openai ps.requests ]); agent = pkgs.rustPlatform.buildRustPackage { pname = "agent"; version = "0.1.0"; src = agentd; cargoLock.lockFile = "${agentd}/Cargo.lock"; cargoBuildFlags = [ "-p" "agent" ]; doCheck = false; }; in { devShells.${system}.default = pkgs.mkShell { buildInputs = [ pythonEnv agent ]; shellHook = '' echo "slopbot dev shell ready" echo "Run: python main.py" ''; }; packages.${system} = rec { default = slopbot; slopbot = pkgs.writeShellScriptBin "slopbot" '' cd /home/ben/src/bsima/slopbot export PATH=${agent}/bin:$PATH export SLOPBOT_AGENT=${agent}/bin/agent exec ${pythonEnv}/bin/python ${./main.py} ''; inherit agent; }; }; }