{ description = "Starling gRPC Tools"; inputs = { nixpkgs = { url = "nixpkgs/nixos-23.11"; }; poetry2nix = { url = "github:nix-community/poetry2nix"; inputs.nixpkgs.follows = "nixpkgs"; }; flake-utils = { url = "github:numtide/flake-utils"; }; make-shell = { url = "github:ursi/nix-make-shell"; }; }; outputs = { self, nixpkgs, poetry2nix, flake-utils, make-shell, ... } @ inputs: flake-utils.lib.eachDefaultSystem ( system: let inherit (poetry2nix.lib.mkPoetry2Nix {inherit pkgs;}) mkPoetryApplication overrides; pkgs = import nixpkgs { inherit system; }; python = pkgs.python311.withPackages (ps: with ps; [ poetry-core ]); in { devShells.default = let make-shell = import inputs.make-shell { inherit system; pkgs = pkgs; }; project = "starlink"; in make-shell { packages = [ python pkgs.poetry ]; env = { POETRY_VIRTUALENVS_IN_PROJECT = "true"; name = project; }; setup = '' export PATH=''$(pwd)/.venv/bin:$PATH ''; }; packages = { starlink-grpc-tools = mkPoetryApplication { python = pkgs.python311; projectDir = ./.; groups = []; overrides = overrides.withDefaults ( self: super: { yagrc = super.yagrc.overridePythonAttrs ( old: { buildInputs = old.buildInputs ++ [self.setuptools]; } ); } ); meta = with pkgs.lib; { homepage = "https://github.com/sparky8512/starlink-grpc-tools"; description = ""; longDescription = ''''; license = licenses.unlicense; }; }; }; default = self.packages.${system}.starlink-grpc-tools; } ); }