{ inputs = { nixpkgs = { type = "github"; owner = "NixOS"; repo = "nixpkgs"; ref = "nixos-25.05"; }; }; outputs = { self, nixpkgs }: let supportedSystems = [ "aarch64-linux" "x86_64-linux" ]; forAllSystems = nixpkgs.lib.genAttrs supportedSystems; nixpkgsFor = forAllSystems (system: import nixpkgs { inherit system; }); in { packages = forAllSystems (system: let pkgs = nixpkgsFor.${system}; in rec { default = pollyana; pollyana = pkgs.python3Packages.buildPythonPackage rec { pname = "pollyana"; version = "0.1"; src = ./src; nativeBuildInputs = with pkgs; [ gobject-introspection wrapGAppsHook4 ]; propagatedBuildInputs = (with pkgs; [ gtk3 pocketsphinx.lib ]) ++ (with pkgs.gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good ]) ++ (with pkgs.python3Packages; [ more-itertools requests pygobject3 ]); }; kaylee = pkgs.python3Packages.buildPythonPackage rec { pname = "KayleeVC"; version = "0.1.1"; src = pkgs.fetchFromGitHub { owner = "Ratfink"; repo = "kaylee"; rev = "baeb0e1fa08fb6b21e4a22458de16b4948d1f2d0"; hash = "sha256-ghZnmdtXme0g+nsi/dSGxQ6UqGB48lUhYaTSLF94KIo="; }; patches = [ ./packages/kaylee-data-location.patch ]; nativeBuildInputs = with pkgs; [ gobject-introspection wrapGAppsHook4 ]; propagatedBuildInputs = (with pkgs; [ gtk3 pocketsphinx.lib ]) ++ (with pkgs.gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good ]) ++ (with pkgs.python3Packages; [ requests pygobject3 ]); }; }); devShells = forAllSystems (system: let pkgs = nixpkgsFor.${system}; in { default = pkgs.mkShell { nativeBuildInputs = with pkgs; [ ]; }; }); }; }