{ description = "puzzleYOU release action"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils, ... }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; }; python = pkgs.python313.withPackages (ps: with ps; [ isort flake8 semver toml ]); pythonPackage = pkgs.python3Packages.buildPythonPackage { name = "release-action"; src = ./.; }; in { devShells.default = pkgs.mkShell { buildInputs = [ pkgs.envsubst pkgs.just pkgs.gitea-actions-runner python ]; }; packages.default = pkgs.writers.writePython3Bin "release-action" { libraries = with pkgs.python3Packages; [ semver # TODO move to setup.py? toml pythonPackage ]; } (builtins.readFile ./src/main.py) ; } ); }