From fc4b96e5a23e89658be618bf7f0c7ef1cf49f48c Mon Sep 17 00:00:00 2001 From: Kiana Sheibani Date: Mon, 24 Nov 2025 02:47:11 -0500 Subject: [PATCH] feat: `python_pyproject_nixpkgs_basic` --- python/pyproject/nixpkgs/basic/.envrc | 2 ++ python/pyproject/nixpkgs/basic/flake.nix | 23 +++++++++++++++++++ python/pyproject/nixpkgs/basic/package.nix | 20 ++++++++++++++++ python/pyproject/nixpkgs/basic/pyproject.toml | 7 ++++++ python/pyproject/nixpkgs/basic/shell.nix | 8 +++++++ .../nixpkgs/basic/src/hello/__init__.py | 1 + .../pyproject/nixpkgs/basic/src/hello/main.py | 3 +++ 7 files changed, 64 insertions(+) create mode 100644 python/pyproject/nixpkgs/basic/.envrc create mode 100644 python/pyproject/nixpkgs/basic/flake.nix create mode 100644 python/pyproject/nixpkgs/basic/package.nix create mode 100644 python/pyproject/nixpkgs/basic/pyproject.toml create mode 100644 python/pyproject/nixpkgs/basic/shell.nix create mode 100644 python/pyproject/nixpkgs/basic/src/hello/__init__.py create mode 100644 python/pyproject/nixpkgs/basic/src/hello/main.py diff --git a/python/pyproject/nixpkgs/basic/.envrc b/python/pyproject/nixpkgs/basic/.envrc new file mode 100644 index 0000000..af0cc93 --- /dev/null +++ b/python/pyproject/nixpkgs/basic/.envrc @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +use flake diff --git a/python/pyproject/nixpkgs/basic/flake.nix b/python/pyproject/nixpkgs/basic/flake.nix new file mode 100644 index 0000000..0c2dc0d --- /dev/null +++ b/python/pyproject/nixpkgs/basic/flake.nix @@ -0,0 +1,23 @@ +{ + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + systems.url = "github:nix-systems/default"; + }; + + outputs = { self, nixpkgs, systems, ... }: + let eachSystem = nixpkgs.lib.genAttrs (import systems); + in { + packages = eachSystem (system: + let pkgs = nixpkgs.legacyPackages.${system}; + in { + hello = pkgs.callPackage ./package.nix {}; + default = self.packages.${system}.hello; + }); + + devShells = eachSystem (system: + let pkgs = nixpkgs.legacyPackages.${system}; + in { + default = pkgs.callPackage ./shell.nix {}; + }); + }; +} diff --git a/python/pyproject/nixpkgs/basic/package.nix b/python/pyproject/nixpkgs/basic/package.nix new file mode 100644 index 0000000..9919aa3 --- /dev/null +++ b/python/pyproject/nixpkgs/basic/package.nix @@ -0,0 +1,20 @@ +{ python3 +}: + +python3.pkgs.buildPythonPackage { + pname = "hello"; + version = "0.1"; + src = ./.; + + pyproject = true; + build-system = with python3.pkgs; [ + # build-system.{requires,setup_requires} + setuptools + ]; + + dependencies = [ + # Python package dependencies + ]; + + doCheck = false; +} diff --git a/python/pyproject/nixpkgs/basic/pyproject.toml b/python/pyproject/nixpkgs/basic/pyproject.toml new file mode 100644 index 0000000..013c54f --- /dev/null +++ b/python/pyproject/nixpkgs/basic/pyproject.toml @@ -0,0 +1,7 @@ +[project] +name = "hello" +version = "0.1.0" + +[build-system] +requires = ["setuptools"] +build-backend = "setuptools.build_meta" diff --git a/python/pyproject/nixpkgs/basic/shell.nix b/python/pyproject/nixpkgs/basic/shell.nix new file mode 100644 index 0000000..4a7e9e5 --- /dev/null +++ b/python/pyproject/nixpkgs/basic/shell.nix @@ -0,0 +1,8 @@ +{ mkShell +, python3 +}: + +mkShell { + inputsFrom = [ python3.buildEnv.env ]; + packages = [ python3.pkgs.python-lsp-server ]; +} diff --git a/python/pyproject/nixpkgs/basic/src/hello/__init__.py b/python/pyproject/nixpkgs/basic/src/hello/__init__.py new file mode 100644 index 0000000..15b6a64 --- /dev/null +++ b/python/pyproject/nixpkgs/basic/src/hello/__init__.py @@ -0,0 +1 @@ +from .main import * diff --git a/python/pyproject/nixpkgs/basic/src/hello/main.py b/python/pyproject/nixpkgs/basic/src/hello/main.py new file mode 100644 index 0000000..c7691d4 --- /dev/null +++ b/python/pyproject/nixpkgs/basic/src/hello/main.py @@ -0,0 +1,3 @@ + +def hello(): + return "Hello, World!"