From 2aa50d1109579c02fc08d7187485dc56af67f3b2 Mon Sep 17 00:00:00 2001 From: Kiana Sheibani Date: Mon, 24 Nov 2025 02:47:11 -0500 Subject: [PATCH 1/4] 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!" From cfcc6c68a66d77857e636062a52e5a6e8530c227 Mon Sep 17 00:00:00 2001 From: Kiana Sheibani Date: Mon, 24 Nov 2025 02:48:06 -0500 Subject: [PATCH 2/4] refactor: remove dead function in `flake.nix` --- flake.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/flake.nix b/flake.nix index 9d558a2..1eb6bb3 100644 --- a/flake.nix +++ b/flake.nix @@ -16,8 +16,6 @@ (d: sub.${d} == "directory") (builtins.attrNames sub); - vowelStart = str: builtins.elem (builtins.substring 0 1 str) [ "a" "e" "i" "o" "u" ]; - concatMapAttrs = func: attr: builtins.foldl' (x: y: x // y) {} (builtins.map func attr); From f245106449ec1f764ec2f9009436039c3819892a Mon Sep 17 00:00:00 2001 From: Kiana Sheibani Date: Mon, 24 Nov 2025 02:50:45 -0500 Subject: [PATCH 3/4] refactor: rename shell script templates --- bash/{ => script}/nixpkgs/flake.nix | 0 bash/{ => script}/nixpkgs/hello | 0 bash/{ => script}/nixpkgs/package.nix | 0 fish/{ => script}/nixpkgs/flake.nix | 0 fish/{ => script}/nixpkgs/hello | 0 fish/{ => script}/nixpkgs/package.nix | 0 flake.nix | 4 ++-- 7 files changed, 2 insertions(+), 2 deletions(-) rename bash/{ => script}/nixpkgs/flake.nix (100%) rename bash/{ => script}/nixpkgs/hello (100%) rename bash/{ => script}/nixpkgs/package.nix (100%) rename fish/{ => script}/nixpkgs/flake.nix (100%) rename fish/{ => script}/nixpkgs/hello (100%) rename fish/{ => script}/nixpkgs/package.nix (100%) diff --git a/bash/nixpkgs/flake.nix b/bash/script/nixpkgs/flake.nix similarity index 100% rename from bash/nixpkgs/flake.nix rename to bash/script/nixpkgs/flake.nix diff --git a/bash/nixpkgs/hello b/bash/script/nixpkgs/hello similarity index 100% rename from bash/nixpkgs/hello rename to bash/script/nixpkgs/hello diff --git a/bash/nixpkgs/package.nix b/bash/script/nixpkgs/package.nix similarity index 100% rename from bash/nixpkgs/package.nix rename to bash/script/nixpkgs/package.nix diff --git a/fish/nixpkgs/flake.nix b/fish/script/nixpkgs/flake.nix similarity index 100% rename from fish/nixpkgs/flake.nix rename to fish/script/nixpkgs/flake.nix diff --git a/fish/nixpkgs/hello b/fish/script/nixpkgs/hello similarity index 100% rename from fish/nixpkgs/hello rename to fish/script/nixpkgs/hello diff --git a/fish/nixpkgs/package.nix b/fish/script/nixpkgs/package.nix similarity index 100% rename from fish/nixpkgs/package.nix rename to fish/script/nixpkgs/package.nix diff --git a/flake.nix b/flake.nix index 1eb6bb3..ecd2637 100644 --- a/flake.nix +++ b/flake.nix @@ -4,8 +4,8 @@ outputs = { self, ... }: let aliases = { - bash = "bash_nixpkgs"; - fish = "fish_nixpkgs"; + bash = "bash_script_nixpkgs"; + fish = "fish_script_nixpkgs"; python = "python_pyproject_nixpkgs_basic"; }; From 1e1bfc267954a984ad44b61b1f7868e5caaf04e7 Mon Sep 17 00:00:00 2001 From: Kiana Sheibani Date: Mon, 24 Nov 2025 02:53:50 -0500 Subject: [PATCH 4/4] tweak: include `flake.lock` in repository --- .gitignore | 3 -- bash/script/nixpkgs/flake.lock | 43 +++++++++++++++++++++++ fish/script/nixpkgs/flake.lock | 43 +++++++++++++++++++++++ flake.nix | 2 +- python/pyproject/nixpkgs/basic/flake.lock | 43 +++++++++++++++++++++++ python/pyproject/nixpkgs/cli/flake.lock | 43 +++++++++++++++++++++++ 6 files changed, 173 insertions(+), 4 deletions(-) create mode 100644 bash/script/nixpkgs/flake.lock create mode 100644 fish/script/nixpkgs/flake.lock create mode 100644 python/pyproject/nixpkgs/basic/flake.lock create mode 100644 python/pyproject/nixpkgs/cli/flake.lock diff --git a/.gitignore b/.gitignore index 09e9e2d..564c965 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,3 @@ result* .direnv/ - -flake.lock -!/flake.lock diff --git a/bash/script/nixpkgs/flake.lock b/bash/script/nixpkgs/flake.lock new file mode 100644 index 0000000..31c547b --- /dev/null +++ b/bash/script/nixpkgs/flake.lock @@ -0,0 +1,43 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1763806073, + "narHash": "sha256-FHsEKDvfWpzdADWj99z7vBk4D716Ujdyveo5+A048aI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "878e468e02bfabeda08c79250f7ad583037f2227", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs", + "systems": "systems" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/fish/script/nixpkgs/flake.lock b/fish/script/nixpkgs/flake.lock new file mode 100644 index 0000000..31c547b --- /dev/null +++ b/fish/script/nixpkgs/flake.lock @@ -0,0 +1,43 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1763806073, + "narHash": "sha256-FHsEKDvfWpzdADWj99z7vBk4D716Ujdyveo5+A048aI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "878e468e02bfabeda08c79250f7ad583037f2227", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs", + "systems": "systems" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix index ecd2637..51cee52 100644 --- a/flake.nix +++ b/flake.nix @@ -28,7 +28,7 @@ in { templates = concatMapAttrs (path: { ${builtins.concatStringsSep "_" path} = { - description = "${builtins.head path} template with ${builtins.concatStringsSep + description = "${builtins.head path} template - ${builtins.concatStringsSep ", " (builtins.tail path)}"; path = builtins.filterSource (path: type: builtins.baseNameOf path != "flake.lock") diff --git a/python/pyproject/nixpkgs/basic/flake.lock b/python/pyproject/nixpkgs/basic/flake.lock new file mode 100644 index 0000000..fdd658c --- /dev/null +++ b/python/pyproject/nixpkgs/basic/flake.lock @@ -0,0 +1,43 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1763618868, + "narHash": "sha256-v5afmLjn/uyD9EQuPBn7nZuaZVV9r+JerayK/4wvdWA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "a8d610af3f1a5fb71e23e08434d8d61a466fc942", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs", + "systems": "systems" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/python/pyproject/nixpkgs/cli/flake.lock b/python/pyproject/nixpkgs/cli/flake.lock new file mode 100644 index 0000000..fdd658c --- /dev/null +++ b/python/pyproject/nixpkgs/cli/flake.lock @@ -0,0 +1,43 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1763618868, + "narHash": "sha256-v5afmLjn/uyD9EQuPBn7nZuaZVV9r+JerayK/4wvdWA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "a8d610af3f1a5fb71e23e08434d8d61a466fc942", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs", + "systems": "systems" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +}