From 6a037061824cd94b5cca6c48c3ba3a88094b6f95 Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Sun, 25 May 2025 23:11:05 +0800 Subject: [PATCH 1/7] update flake inputs --- flake.lock | 72 +++++++++++++++++++++++++++--------------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/flake.lock b/flake.lock index 89035c1..9d879d0 100644 --- a/flake.lock +++ b/flake.lock @@ -97,11 +97,11 @@ ] }, "locked": { - "lastModified": 1747009814, - "narHash": "sha256-b3sOJbDYjqGtoRbgg7jichWclNHYBX0xHkWV/lzs9j0=", + "lastModified": 1748096159, + "narHash": "sha256-DCQv+QKmDBM/4uWI4o/wBxA98h3G1t2HMxm6AWCmCus=", "owner": "daeuniverse", "repo": "flake.nix", - "rev": "0b7800c3fe6e1596521d8270c428b7aced42f3da", + "rev": "5a9cab7839e79d4ecc36ec0ee83a1eb6c36cea95", "type": "github" }, "original": { @@ -357,11 +357,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1747921971, - "narHash": "sha256-ZH/YXPZKyrrlEm9/tlLmYFbG5j76GqisFJYo/Kh85Ak=", + "lastModified": 1748180830, + "narHash": "sha256-KKsqcJDszs4NAYCI2VTDXfEgD2ulotobpKr5kAZjWBU=", "owner": "helix-editor", "repo": "helix", - "rev": "ae0dd313bdb418b6944ce77b44023c7fb31b9000", + "rev": "8d58f6ce8d4c78f9205ee95e1bbaef729068afed", "type": "github" }, "original": { @@ -378,11 +378,11 @@ ] }, "locked": { - "lastModified": 1747978958, - "narHash": "sha256-pQQnbxWpY3IiZqgelXHIe/OAE/Yv4NSQq7fch7M6nXQ=", + "lastModified": 1748182899, + "narHash": "sha256-r6MHSalDFydlUmjorVTSsyhLjIt8VWNtGc5+mffXvFQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "7419250703fd5eb50e99bdfb07a86671939103ea", + "rev": "901f8fef7f349cf8a8e97b3230b22fd592df9160", "type": "github" }, "original": { @@ -443,11 +443,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1747980132, - "narHash": "sha256-jdQZZDMYl9JBtWupRRneP1NLDylf2KPUu8z72tJVBJI=", + "lastModified": 1748033637, + "narHash": "sha256-TetDbakvubacirX9JTzrZ8FePtT8taVv53sbqY61t38=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "d5ccd8c5e6198bdac760ea65dd6c46e83a55b6f6", + "rev": "262837d8190629c4af723e35a7f2a3f49d1afb26", "type": "github" }, "original": { @@ -476,11 +476,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1747977864, - "narHash": "sha256-BEXi6zHNguEsBD3TIUk/2EMOh5c4Z664UaDeUYpWDhw=", + "lastModified": 1748030931, + "narHash": "sha256-34Y9mI/IN9eWZm6v1wQS+TUw1BK9Ed5XBWe8lrVu6RE=", "owner": "YaLTeR", "repo": "niri", - "rev": "7fdb918cd04076b173a38f026dc5c27ac830b028", + "rev": "a605a3f016769ba2fd7e2147fe05c9ac3707f973", "type": "github" }, "original": { @@ -497,11 +497,11 @@ "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1747998535, - "narHash": "sha256-ksu3B37s1dU8V0JGcYs0i2u5TOFO5DJhCU53/J2/hiY=", + "lastModified": 1748171373, + "narHash": "sha256-w13clACePanx7hsF62vtRpZwbM6VUVBY5xK2+jGCTzg=", "owner": "lilyinstarlight", "repo": "nixos-cosmic", - "rev": "fd723f06756030d45df9bae01286f9e2f8be12aa", + "rev": "bf3593b6a84e201251560a20dde9b3b1ac6d49aa", "type": "github" }, "original": { @@ -528,11 +528,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1747744144, - "narHash": "sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q=", + "lastModified": 1748026106, + "narHash": "sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2795c506fe8fb7b03c36ccb51f75b6df0ab2553f", + "rev": "063f43f2dbdef86376cc29ad646c45c46e93234c", "type": "github" }, "original": { @@ -575,11 +575,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1747862697, - "narHash": "sha256-U4HaNZ1W26cbOVm0Eb5OdGSnfQVWQKbLSPrSSa78KC0=", + "lastModified": 1748037224, + "narHash": "sha256-92vihpZr6dwEMV6g98M5kHZIttrWahb9iRPBm1atcPk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2baa12ff69913392faf0ace833bc54bba297ea95", + "rev": "f09dede81861f3a83f7f06641ead34f02f37597f", "type": "github" }, "original": { @@ -591,11 +591,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1747744144, - "narHash": "sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q=", + "lastModified": 1748026106, + "narHash": "sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2795c506fe8fb7b03c36ccb51f75b6df0ab2553f", + "rev": "063f43f2dbdef86376cc29ad646c45c46e93234c", "type": "github" }, "original": { @@ -634,11 +634,11 @@ "nur-rycee": { "flake": false, "locked": { - "lastModified": 1747973023, - "narHash": "sha256-v2OgykASspKAyL+hYKlfa9PM4cwlFZ7/WQ1uvd256ko=", + "lastModified": 1748161689, + "narHash": "sha256-gm1ikRi3L2qpTQUUV/dURDUeg/dfstopzBduTKkIdqw=", "owner": "rycee", "repo": "nur-expressions", - "rev": "c7ee05a5dc9b52ba7a6a660537fabaf711b7790a", + "rev": "c60c48473ddf0b439079824cb08ccfa6c703ff87", "type": "gitlab" }, "original": { @@ -697,11 +697,11 @@ ] }, "locked": { - "lastModified": 1747967795, - "narHash": "sha256-76s4jDRbQzxRO+5y8ilMp5V30qVgY9R6n8U7aOap8ig=", + "lastModified": 1748140821, + "narHash": "sha256-GZcjWLQtDifSYMd1ueLDmuVTcQQdD5mONIBTqABooOk=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "f1d5bfa8c692cacd798a3e1fb93d54c1b9ac701a", + "rev": "476b2ba7dc99ddbf70b1f45357dbbdbdbdfb4422", "type": "github" }, "original": { @@ -758,11 +758,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1747952198, - "narHash": "sha256-GjxRPffuLQQx1G701fzgom+bKxCEJD9fbq44x4gl/n8=", + "lastModified": 1748028561, + "narHash": "sha256-IgtJU6n9vR3nBUdcXrc7K9E+Y/G/4P6hFifGRr1tXMU=", "owner": "danth", "repo": "stylix", - "rev": "f99fe598a68831debbf096e289296c7c7178c21f", + "rev": "34b5930894d8315401d93bd8a9a6635e1cd28eff", "type": "github" }, "original": { From b5cb9e511e64cc49d08c3af8bf5ff4dc1300dc85 Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Sun, 25 May 2025 23:28:27 +0800 Subject: [PATCH 2/7] update flake inputs and update pkgs --- flake.lock | 6 +++--- pkgs/_sources/generated.json | 24 ++++++++++++------------ pkgs/_sources/generated.nix | 24 ++++++++++++------------ 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index 9d879d0..3812442 100644 --- a/flake.lock +++ b/flake.lock @@ -758,11 +758,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1748028561, - "narHash": "sha256-IgtJU6n9vR3nBUdcXrc7K9E+Y/G/4P6hFifGRr1tXMU=", + "lastModified": 1748213724, + "narHash": "sha256-ppmdSruEH7sKzhMNdrY+0NVGOe5Q68LDNVcBZuHuU5o=", "owner": "danth", "repo": "stylix", - "rev": "34b5930894d8315401d93bd8a9a6635e1cd28eff", + "rev": "e22f96de3f57b1ab1a393607bc08c003925f68fc", "type": "github" }, "original": { diff --git a/pkgs/_sources/generated.json b/pkgs/_sources/generated.json index 5d6fb1c..9a8f21e 100644 --- a/pkgs/_sources/generated.json +++ b/pkgs/_sources/generated.json @@ -1,7 +1,7 @@ { "TrackersListCollection": { "cargoLocks": null, - "date": "2025-05-23", + "date": "2025-05-26", "extract": null, "name": "TrackersListCollection", "passthru": null, @@ -13,14 +13,14 @@ "name": null, "owner": "XIU2", "repo": "TrackersListCollection", - "rev": "ee8fdda211b4913f7a952fe8ca43b22c3ca2bc54", - "sha256": "sha256-e1KUpIR7KcGawZLsd8bD/R0WpOM5evtsMzPxWmJ3WFk=", + "rev": "1886c4360d2f02eb3ade5abda634f70729137e00", + "sha256": "sha256-wLaYJCNWH9dQL7vbq/1ueXd/rNGzJcWt7Eu+U64RX0Q=", "sparseCheckout": [ "all.txt" ], "type": "github" }, - "version": "ee8fdda211b4913f7a952fe8ca43b22c3ca2bc54" + "version": "1886c4360d2f02eb3ade5abda634f70729137e00" }, "dioxionary": { "cargoLocks": { @@ -115,7 +115,7 @@ }, "rime-ice": { "cargoLocks": null, - "date": "2025-05-19", + "date": "2025-05-25", "extract": null, "name": "rime-ice", "passthru": null, @@ -127,16 +127,16 @@ "name": null, "owner": "iDvel", "repo": "rime-ice", - "rev": "7fab37280f1a90055007f561518c7daf59da9a09", - "sha256": "sha256-vWjAJ7UEnuGpYVfqwLt0Cq1jzz+S+DjivQpR9QKyad8=", + "rev": "904aedb7c2097309e4f5a9be29baf6ce5cc64415", + "sha256": "sha256-a0b6k0dOwrdxCf+ZcX/fiF4K1LLGuEw5eBriRFkY2AI=", "sparseCheckout": [], "type": "github" }, - "version": "7fab37280f1a90055007f561518c7daf59da9a09" + "version": "904aedb7c2097309e4f5a9be29baf6ce5cc64415" }, "spotx": { "cargoLocks": null, - "date": "2025-05-12", + "date": "2025-05-24", "extract": null, "name": "spotx", "passthru": null, @@ -148,12 +148,12 @@ "name": null, "owner": "SpotX-Official", "repo": "SpotX-Bash", - "rev": "d756a3f23ddd8bbbeb644f6070a147aaa239ba4a", - "sha256": "sha256-QKfSQby0hw2X9mHxLSO4I6Z9nXPNWIHqJkdP23BC+48=", + "rev": "5e9b08f91e55c210bbc64715b4ad698186b3c06b", + "sha256": "sha256-34lqV5p44Iqn2v6UJtVTrxwkHY7JXJueItBu/AhXo6A=", "sparseCheckout": [], "type": "github" }, - "version": "d756a3f23ddd8bbbeb644f6070a147aaa239ba4a" + "version": "5e9b08f91e55c210bbc64715b4ad698186b3c06b" }, "tree-sitter-idris": { "cargoLocks": null, diff --git a/pkgs/_sources/generated.nix b/pkgs/_sources/generated.nix index f0e2384..bf37f3a 100644 --- a/pkgs/_sources/generated.nix +++ b/pkgs/_sources/generated.nix @@ -3,18 +3,18 @@ { TrackersListCollection = { pname = "TrackersListCollection"; - version = "ee8fdda211b4913f7a952fe8ca43b22c3ca2bc54"; + version = "1886c4360d2f02eb3ade5abda634f70729137e00"; src = fetchFromGitHub { owner = "XIU2"; repo = "TrackersListCollection"; - rev = "ee8fdda211b4913f7a952fe8ca43b22c3ca2bc54"; + rev = "1886c4360d2f02eb3ade5abda634f70729137e00"; fetchSubmodules = false; deepClone = false; leaveDotGit = false; sparseCheckout = [ "all.txt" ]; - sha256 = "sha256-e1KUpIR7KcGawZLsd8bD/R0WpOM5evtsMzPxWmJ3WFk="; + sha256 = "sha256-wLaYJCNWH9dQL7vbq/1ueXd/rNGzJcWt7Eu+U64RX0Q="; }; - date = "2025-05-23"; + date = "2025-05-26"; }; dioxionary = { pname = "dioxionary"; @@ -80,27 +80,27 @@ }; rime-ice = { pname = "rime-ice"; - version = "7fab37280f1a90055007f561518c7daf59da9a09"; + version = "904aedb7c2097309e4f5a9be29baf6ce5cc64415"; src = fetchFromGitHub { owner = "iDvel"; repo = "rime-ice"; - rev = "7fab37280f1a90055007f561518c7daf59da9a09"; + rev = "904aedb7c2097309e4f5a9be29baf6ce5cc64415"; fetchSubmodules = false; - sha256 = "sha256-vWjAJ7UEnuGpYVfqwLt0Cq1jzz+S+DjivQpR9QKyad8="; + sha256 = "sha256-a0b6k0dOwrdxCf+ZcX/fiF4K1LLGuEw5eBriRFkY2AI="; }; - date = "2025-05-19"; + date = "2025-05-25"; }; spotx = { pname = "spotx"; - version = "d756a3f23ddd8bbbeb644f6070a147aaa239ba4a"; + version = "5e9b08f91e55c210bbc64715b4ad698186b3c06b"; src = fetchFromGitHub { owner = "SpotX-Official"; repo = "SpotX-Bash"; - rev = "d756a3f23ddd8bbbeb644f6070a147aaa239ba4a"; + rev = "5e9b08f91e55c210bbc64715b4ad698186b3c06b"; fetchSubmodules = false; - sha256 = "sha256-QKfSQby0hw2X9mHxLSO4I6Z9nXPNWIHqJkdP23BC+48="; + sha256 = "sha256-34lqV5p44Iqn2v6UJtVTrxwkHY7JXJueItBu/AhXo6A="; }; - date = "2025-05-12"; + date = "2025-05-24"; }; tree-sitter-idris = { pname = "tree-sitter-idris"; From 227441f5d650b62e30021fde4bcf7f8881bdbe37 Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Sun, 25 May 2025 23:28:27 +0800 Subject: [PATCH 3/7] add commit hook for rust template --- templates/rust/flake.lock | 60 +++++++++++++++++++++++++++++++++++++++ templates/rust/flake.nix | 28 ++++++++++++++++++ 2 files changed, 88 insertions(+) diff --git a/templates/rust/flake.lock b/templates/rust/flake.lock index 2cee095..86e35b4 100644 --- a/templates/rust/flake.lock +++ b/templates/rust/flake.lock @@ -31,6 +31,22 @@ "type": "github" } }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems" @@ -49,6 +65,27 @@ "type": "github" } }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "pre-commit-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1747958103, @@ -65,12 +102,35 @@ "type": "github" } }, + "pre-commit-hooks": { + "inputs": { + "flake-compat": "flake-compat", + "gitignore": "gitignore", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1747372754, + "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, "root": { "inputs": { "advisory-db": "advisory-db", "crane": "crane", "flake-utils": "flake-utils", "nixpkgs": "nixpkgs", + "pre-commit-hooks": "pre-commit-hooks", "rust-overlay": "rust-overlay" } }, diff --git a/templates/rust/flake.nix b/templates/rust/flake.nix index 1e02842..d83b4f1 100644 --- a/templates/rust/flake.nix +++ b/templates/rust/flake.nix @@ -17,6 +17,12 @@ crane = { url = "github:ipetkov/crane"; }; + pre-commit-hooks = { + url = "github:cachix/git-hooks.nix"; + inputs = { + nixpkgs.follows = "nixpkgs"; + }; + }; }; outputs = { self, @@ -25,6 +31,7 @@ rust-overlay, advisory-db, crane, + pre-commit-hooks, ... }: flake-utils.lib.eachDefaultSystem (system: let @@ -70,6 +77,24 @@ in { formatter = pkgs.alejandra; checks = { + pre-commit-check = pre-commit-hooks.lib.${system}.run { + src = ./.; + hooks = { + alejandra = { + enable = true; + }; + rustfmt.enable = true; + cargo-check = { + enable = true; + stages = ["pre-push"]; + }; + clippy = { + enable = true; + stages = ["pre-push"]; + settings.denyWarnings = true; + }; + }; + }; package = self.packages.${system}.default.overrideAttrs { doCheck = true; }; @@ -111,6 +136,9 @@ }; devShells.default = craneLib.devShell { checks = self.checks.${system}; + shellHook = + '''' + + self.checks.${system}.pre-commit-check.shellHook; packages = with pkgs; [ rust-analyzer cargo-audit From 58440406241a8d8c0f8974907ce42e9615d063b6 Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Sun, 25 May 2025 23:28:27 +0800 Subject: [PATCH 4/7] update flake inputs --- flake.lock | 100 +++++++++++++++++++++++----------------------- pkgs/spotifyx.nix | 11 +++-- 2 files changed, 57 insertions(+), 54 deletions(-) diff --git a/flake.lock b/flake.lock index 3812442..c26a3e5 100644 --- a/flake.lock +++ b/flake.lock @@ -97,11 +97,11 @@ ] }, "locked": { - "lastModified": 1748096159, - "narHash": "sha256-DCQv+QKmDBM/4uWI4o/wBxA98h3G1t2HMxm6AWCmCus=", + "lastModified": 1748604223, + "narHash": "sha256-E6wTWq2joeUiiI/6a3th+CjVL/bD4jHCsskCr3WmiKY=", "owner": "daeuniverse", "repo": "flake.nix", - "rev": "5a9cab7839e79d4ecc36ec0ee83a1eb6c36cea95", + "rev": "84263801dbbc4bb87b363a3e5f766e0da0bec156", "type": "github" }, "original": { @@ -141,11 +141,11 @@ ] }, "locked": { - "lastModified": 1747742835, - "narHash": "sha256-kYL4GCwwznsypvsnA20oyvW8zB/Dvn6K5G/tgMjVMT4=", + "lastModified": 1748225455, + "narHash": "sha256-AzlJCKaM4wbEyEpV3I/PUq5mHnib2ryEy32c+qfj6xk=", "owner": "nix-community", "repo": "disko", - "rev": "df522e787fdffc4f32ed3e1fca9ed0968a384d62", + "rev": "a894f2811e1ee8d10c50560551e50d6ab3c392ba", "type": "github" }, "original": { @@ -357,11 +357,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1748180830, - "narHash": "sha256-KKsqcJDszs4NAYCI2VTDXfEgD2ulotobpKr5kAZjWBU=", + "lastModified": 1748526926, + "narHash": "sha256-f14perPUk+H15GyGRbg0Akqhn3rxFnc6Ez5onqpzu6A=", "owner": "helix-editor", "repo": "helix", - "rev": "8d58f6ce8d4c78f9205ee95e1bbaef729068afed", + "rev": "8961ae1dc66633ea6c9f761896cb0d885ae078ed", "type": "github" }, "original": { @@ -378,11 +378,11 @@ ] }, "locked": { - "lastModified": 1748182899, - "narHash": "sha256-r6MHSalDFydlUmjorVTSsyhLjIt8VWNtGc5+mffXvFQ=", + "lastModified": 1748610552, + "narHash": "sha256-bCBPjZ3ukUbAaCIDzGmvA+ZcMNk4+YIWLM8cks0jiic=", "owner": "nix-community", "repo": "home-manager", - "rev": "901f8fef7f349cf8a8e97b3230b22fd592df9160", + "rev": "482c306ef70785f53d9d90839b6b5643521ac031", "type": "github" }, "original": { @@ -417,11 +417,11 @@ ] }, "locked": { - "lastModified": 1746839156, - "narHash": "sha256-4wPryIk4yXSmxEBmxMsMaeG/7as5EXQxVXs+LjTY8fI=", + "lastModified": 1748254718, + "narHash": "sha256-Uf6HNA0JctJH4ZdrZ/xb185mT0/XusLxnric9Xhg7Es=", "ref": "release-2.93", - "rev": "4ca269a38949de3ef7f47da25576dc8974855f8f", - "revCount": 141, + "rev": "3855614ceafe562393472cca5fb2005297889a75", + "revCount": 143, "type": "git", "url": "https://git.lix.systems/lix-project/nixos-module" }, @@ -443,11 +443,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1748033637, - "narHash": "sha256-TetDbakvubacirX9JTzrZ8FePtT8taVv53sbqY61t38=", + "lastModified": 1748609405, + "narHash": "sha256-tuhbZf+oQ6lvBRN7iySy9ZeY9sMVtlAzQvDBBrvwEsk=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "262837d8190629c4af723e35a7f2a3f49d1afb26", + "rev": "73bcebf1ac79a9a31e29ffd08bcd982c7301d8fc", "type": "github" }, "original": { @@ -476,11 +476,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1748030931, - "narHash": "sha256-34Y9mI/IN9eWZm6v1wQS+TUw1BK9Ed5XBWe8lrVu6RE=", + "lastModified": 1748151941, + "narHash": "sha256-z4viQZLgC2bIJ3VrzQnR+q2F3gAOEQpU1H5xHtX/2fs=", "owner": "YaLTeR", "repo": "niri", - "rev": "a605a3f016769ba2fd7e2147fe05c9ac3707f973", + "rev": "8ba57fcf25d2fc9565131684a839d58703f1dae7", "type": "github" }, "original": { @@ -497,11 +497,11 @@ "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1748171373, - "narHash": "sha256-w13clACePanx7hsF62vtRpZwbM6VUVBY5xK2+jGCTzg=", + "lastModified": 1748529102, + "narHash": "sha256-dAtr4HDDc8/0vGTIZZpMLp8n8nnQoCmdGsfGmKsUHBg=", "owner": "lilyinstarlight", "repo": "nixos-cosmic", - "rev": "bf3593b6a84e201251560a20dde9b3b1ac6d49aa", + "rev": "dc645ec3b4d852f71b3cbcc666aaa44dffbb8315", "type": "github" }, "original": { @@ -512,11 +512,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1747900541, - "narHash": "sha256-dn64Pg9xLETjblwZs9Euu/SsjW80pd6lr5qSiyLY1pg=", + "lastModified": 1748613622, + "narHash": "sha256-SLB2MV138ujdjw0ETEakNt/o2O+d/QtvNLlwaBZSWKg=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "11f2d9ea49c3e964315215d6baa73a8d42672f06", + "rev": "b9d69212b5e65620e7d5b08df818db656f7fefb3", "type": "github" }, "original": { @@ -528,11 +528,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1748026106, - "narHash": "sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o=", + "lastModified": 1748370509, + "narHash": "sha256-QlL8slIgc16W5UaI3w7xHQEP+Qmv/6vSNTpoZrrSlbk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "063f43f2dbdef86376cc29ad646c45c46e93234c", + "rev": "4faa5f5321320e49a78ae7848582f684d64783e9", "type": "github" }, "original": { @@ -559,16 +559,16 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1747862697, - "narHash": "sha256-U4HaNZ1W26cbOVm0Eb5OdGSnfQVWQKbLSPrSSa78KC0=", + "lastModified": 1748437600, + "narHash": "sha256-hYKMs3ilp09anGO7xzfGs3JqEgUqFMnZ8GMAqI6/k04=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2baa12ff69913392faf0ace833bc54bba297ea95", + "rev": "7282cb574e0607e65224d33be8241eae7cfe0979", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.11", + "ref": "nixos-25.05", "repo": "nixpkgs", "type": "github" } @@ -591,11 +591,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1748026106, - "narHash": "sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o=", + "lastModified": 1748460289, + "narHash": "sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "063f43f2dbdef86376cc29ad646c45c46e93234c", + "rev": "96ec055edbe5ee227f28cdbc3f1ddf1df5965102", "type": "github" }, "original": { @@ -634,11 +634,11 @@ "nur-rycee": { "flake": false, "locked": { - "lastModified": 1748161689, - "narHash": "sha256-gm1ikRi3L2qpTQUUV/dURDUeg/dfstopzBduTKkIdqw=", + "lastModified": 1748577804, + "narHash": "sha256-mk4nReFlqtGToFfZngNZ58FYud/svkmRp+THBsfqhcw=", "owner": "rycee", "repo": "nur-expressions", - "rev": "c60c48473ddf0b439079824cb08ccfa6c703ff87", + "rev": "493bb7da63143e3144c964d2b8e34e78dfe02a4b", "type": "gitlab" }, "original": { @@ -697,11 +697,11 @@ ] }, "locked": { - "lastModified": 1748140821, - "narHash": "sha256-GZcjWLQtDifSYMd1ueLDmuVTcQQdD5mONIBTqABooOk=", + "lastModified": 1748486227, + "narHash": "sha256-veMuFa9cq/XgUXp1S57oC8K0TIw3XyZWL2jIyGWlW0c=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "476b2ba7dc99ddbf70b1f45357dbbdbdbdfb4422", + "rev": "4bf1892eb81113e868efe67982b64f1da15c8c5a", "type": "github" }, "original": { @@ -758,11 +758,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1748213724, - "narHash": "sha256-ppmdSruEH7sKzhMNdrY+0NVGOe5Q68LDNVcBZuHuU5o=", + "lastModified": 1748572239, + "narHash": "sha256-Of7bmWQUEVILpx1GJz0gLHmRoGrEP/G7q9RnidxW5Go=", "owner": "danth", "repo": "stylix", - "rev": "e22f96de3f57b1ab1a393607bc08c003925f68fc", + "rev": "0512b0f685ab2ac0586c897460c247f49670460b", "type": "github" }, "original": { @@ -924,11 +924,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1747111562, - "narHash": "sha256-GAqhWoxaBIk0tgoecZPa8gTHDHxNc0JtlwWHZN2iOOo=", + "lastModified": 1748488455, + "narHash": "sha256-IiLr1alzKFIy5tGGpDlabQbe6LV1c9ABvkH6T5WmyRI=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "ec9ff64c1e0cbec42710b580b7c0f759b1694e72", + "rev": "3ba30b149f9eb2bbf42cf4758d2158ca8cceef73", "type": "github" }, "original": { diff --git a/pkgs/spotifyx.nix b/pkgs/spotifyx.nix index 6b563d2..0718727 100644 --- a/pkgs/spotifyx.nix +++ b/pkgs/spotifyx.nix @@ -3,9 +3,7 @@ srcs, }: let inherit (srcs) spotx; -in - pkgs.spotify.overrideAttrs (final: prev: { - version = prev.version + "_spotx-${spotx.version}"; + spotifyx = pkgs.spotify.overrideAttrs (final: prev: { nativeBuildInputs = prev.nativeBuildInputs ++ (with pkgs; [ @@ -22,4 +20,9 @@ in postInstall = '' ./spotx.sh -P $out/share/spotify -h ''; - }) + }); +in + pkgs.symlinkJoin { + name = "spotifyx"; + paths = [spotifyx]; + } From cae1182840a5b7367d7a2d227246e281caaeecc1 Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Sat, 31 May 2025 03:42:12 +0800 Subject: [PATCH 5/7] package OuterWildsTextAdventureWeb as caddy service --- nixos/configurations/Cape/default.nix | 1 + .../caddy/OuterWildsTextAdventure.nix | 27 ++++++++++++++ nixos/modules/programs/caddy/default.nix | 1 + .../additions/OuterWildsTextAdventure.nix | 5 +++ overlays/additions/default.nix | 1 + pkgs/OuterWildsTextAdventure.nix | 30 +++++++++++++++ pkgs/_sources/generated.json | 37 +++++++++++++++---- pkgs/_sources/generated.nix | 28 ++++++++++---- pkgs/default.nix | 1 + pkgs/nvfetcher.toml | 4 ++ 10 files changed, 119 insertions(+), 16 deletions(-) create mode 100644 nixos/modules/programs/caddy/OuterWildsTextAdventure.nix create mode 100644 overlays/additions/OuterWildsTextAdventure.nix create mode 100644 pkgs/OuterWildsTextAdventure.nix diff --git a/nixos/configurations/Cape/default.nix b/nixos/configurations/Cape/default.nix index 0587d08..85e7d6f 100644 --- a/nixos/configurations/Cape/default.nix +++ b/nixos/configurations/Cape/default.nix @@ -30,6 +30,7 @@ enable = true; baseDomain = "youthlic.fun"; radicle-explorer.enable = true; + outer-wilds-text-adventure.enable = true; }; juicity.server.enable = true; }; diff --git a/nixos/modules/programs/caddy/OuterWildsTextAdventure.nix b/nixos/modules/programs/caddy/OuterWildsTextAdventure.nix new file mode 100644 index 0000000..07c265f --- /dev/null +++ b/nixos/modules/programs/caddy/OuterWildsTextAdventure.nix @@ -0,0 +1,27 @@ +{ + config, + lib, + pkgs, + ... +}: let + cfg = config.youthlic.programs.caddy.outer-wilds-text-adventure; + caddy-cfg = config.youthlic.programs.caddy; +in { + options = { + youthlic.programs.caddy.outer-wilds-text-adventure = { + enable = lib.mkEnableOption "caddy.OuterWildsTextAdventure"; + }; + }; + config = lib.mkIf (cfg.enable && caddy-cfg.enable) { + services.caddy.virtualHosts = { + "outer-wilds.${caddy-cfg.baseDomain}" = { + extraConfig = '' + root * ${pkgs.OuterWildsTextAdventure} + encode zstd gzip + try_files {path} /index.html + file_server + ''; + }; + }; + }; +} diff --git a/nixos/modules/programs/caddy/default.nix b/nixos/modules/programs/caddy/default.nix index 96bc518..d922f59 100644 --- a/nixos/modules/programs/caddy/default.nix +++ b/nixos/modules/programs/caddy/default.nix @@ -7,6 +7,7 @@ in { imports = [ ./radicle-explorer.nix + ./OuterWildsTextAdventure.nix ]; options = { youthlic.programs.caddy = { diff --git a/overlays/additions/OuterWildsTextAdventure.nix b/overlays/additions/OuterWildsTextAdventure.nix new file mode 100644 index 0000000..8ab28c7 --- /dev/null +++ b/overlays/additions/OuterWildsTextAdventure.nix @@ -0,0 +1,5 @@ +{outputs, ...}: final: prev: let + inherit (prev.stdenv.hostPlatform) system; +in { + inherit (outputs.packages.${system}) OuterWildsTextAdventure; +} diff --git a/overlays/additions/default.nix b/overlays/additions/default.nix index 36e6432..1c72bfd 100644 --- a/overlays/additions/default.nix +++ b/overlays/additions/default.nix @@ -4,6 +4,7 @@ in [ ./rime-ice.nix ./TrackersListCollection.nix + ./OuterWildsTextAdventure.nix ] |> map (file: import file args) |> (overlays: (lib.composeManyExtensions overlays) final prev) diff --git a/pkgs/OuterWildsTextAdventure.nix b/pkgs/OuterWildsTextAdventure.nix new file mode 100644 index 0000000..459706f --- /dev/null +++ b/pkgs/OuterWildsTextAdventure.nix @@ -0,0 +1,30 @@ +{ + srcs, + buildNpmPackage, + importNpmLock, + ... +}: let + inherit (srcs.OuterWildsTextAdventure) src date version; +in + buildNpmPackage { + pname = "OuterWildsTextAdventure"; + version = "0-unstable.${date}-git${version}"; + inherit src; + + npmDeps = importNpmLock { + npmRoot = src; + }; + + npmBuildScript = "bundle"; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cp -rt $out/ index.html data p5.min.js bundle.js bundle.js.map + + runHook postInstall + ''; + + npmConfigHook = importNpmLock.npmConfigHook; + } diff --git a/pkgs/_sources/generated.json b/pkgs/_sources/generated.json index 9a8f21e..6662036 100644 --- a/pkgs/_sources/generated.json +++ b/pkgs/_sources/generated.json @@ -1,7 +1,28 @@ { + "OuterWildsTextAdventure": { + "cargoLocks": null, + "date": "2024-12-21", + "extract": null, + "name": "OuterWildsTextAdventure", + "passthru": null, + "pinned": false, + "src": { + "deepClone": false, + "fetchSubmodules": false, + "leaveDotGit": false, + "name": null, + "owner": "top-mind", + "repo": "OuterWildsTextAdventureWeb", + "rev": "2a4430a6e53fc2e9979e0f4ebb312d90b92ba119", + "sha256": "sha256-sINGUxPj3V257zbuMnT/TK2j8Bwj9Rck4uXx7Y1fTQY=", + "sparseCheckout": [], + "type": "github" + }, + "version": "2a4430a6e53fc2e9979e0f4ebb312d90b92ba119" + }, "TrackersListCollection": { "cargoLocks": null, - "date": "2025-05-26", + "date": "2025-05-31", "extract": null, "name": "TrackersListCollection", "passthru": null, @@ -13,14 +34,14 @@ "name": null, "owner": "XIU2", "repo": "TrackersListCollection", - "rev": "1886c4360d2f02eb3ade5abda634f70729137e00", - "sha256": "sha256-wLaYJCNWH9dQL7vbq/1ueXd/rNGzJcWt7Eu+U64RX0Q=", + "rev": "313c18fc1ae756ea99ae6275e4454ccff95d9b5d", + "sha256": "sha256-yCcWx/tnz7JjHs6wniuy6owqIMjZrOS13HBz4MgtiAg=", "sparseCheckout": [ "all.txt" ], "type": "github" }, - "version": "1886c4360d2f02eb3ade5abda634f70729137e00" + "version": "313c18fc1ae756ea99ae6275e4454ccff95d9b5d" }, "dioxionary": { "cargoLocks": { @@ -115,7 +136,7 @@ }, "rime-ice": { "cargoLocks": null, - "date": "2025-05-25", + "date": "2025-05-29", "extract": null, "name": "rime-ice", "passthru": null, @@ -127,12 +148,12 @@ "name": null, "owner": "iDvel", "repo": "rime-ice", - "rev": "904aedb7c2097309e4f5a9be29baf6ce5cc64415", - "sha256": "sha256-a0b6k0dOwrdxCf+ZcX/fiF4K1LLGuEw5eBriRFkY2AI=", + "rev": "2e0d8d9a3ba292ecca3f6dccb5719a06764917ca", + "sha256": "sha256-v+j2Bp7+OEbiWImf0/6YbZTTHlaORvtK2foXTfjZW9s=", "sparseCheckout": [], "type": "github" }, - "version": "904aedb7c2097309e4f5a9be29baf6ce5cc64415" + "version": "2e0d8d9a3ba292ecca3f6dccb5719a06764917ca" }, "spotx": { "cargoLocks": null, diff --git a/pkgs/_sources/generated.nix b/pkgs/_sources/generated.nix index bf37f3a..293fa71 100644 --- a/pkgs/_sources/generated.nix +++ b/pkgs/_sources/generated.nix @@ -1,20 +1,32 @@ # This file was generated by nvfetcher, please do not modify it manually. { fetchgit, fetchurl, fetchFromGitHub, dockerTools }: { + OuterWildsTextAdventure = { + pname = "OuterWildsTextAdventure"; + version = "2a4430a6e53fc2e9979e0f4ebb312d90b92ba119"; + src = fetchFromGitHub { + owner = "top-mind"; + repo = "OuterWildsTextAdventureWeb"; + rev = "2a4430a6e53fc2e9979e0f4ebb312d90b92ba119"; + fetchSubmodules = false; + sha256 = "sha256-sINGUxPj3V257zbuMnT/TK2j8Bwj9Rck4uXx7Y1fTQY="; + }; + date = "2024-12-21"; + }; TrackersListCollection = { pname = "TrackersListCollection"; - version = "1886c4360d2f02eb3ade5abda634f70729137e00"; + version = "313c18fc1ae756ea99ae6275e4454ccff95d9b5d"; src = fetchFromGitHub { owner = "XIU2"; repo = "TrackersListCollection"; - rev = "1886c4360d2f02eb3ade5abda634f70729137e00"; + rev = "313c18fc1ae756ea99ae6275e4454ccff95d9b5d"; fetchSubmodules = false; deepClone = false; leaveDotGit = false; sparseCheckout = [ "all.txt" ]; - sha256 = "sha256-wLaYJCNWH9dQL7vbq/1ueXd/rNGzJcWt7Eu+U64RX0Q="; + sha256 = "sha256-yCcWx/tnz7JjHs6wniuy6owqIMjZrOS13HBz4MgtiAg="; }; - date = "2025-05-26"; + date = "2025-05-31"; }; dioxionary = { pname = "dioxionary"; @@ -80,15 +92,15 @@ }; rime-ice = { pname = "rime-ice"; - version = "904aedb7c2097309e4f5a9be29baf6ce5cc64415"; + version = "2e0d8d9a3ba292ecca3f6dccb5719a06764917ca"; src = fetchFromGitHub { owner = "iDvel"; repo = "rime-ice"; - rev = "904aedb7c2097309e4f5a9be29baf6ce5cc64415"; + rev = "2e0d8d9a3ba292ecca3f6dccb5719a06764917ca"; fetchSubmodules = false; - sha256 = "sha256-a0b6k0dOwrdxCf+ZcX/fiF4K1LLGuEw5eBriRFkY2AI="; + sha256 = "sha256-v+j2Bp7+OEbiWImf0/6YbZTTHlaORvtK2foXTfjZW9s="; }; - date = "2025-05-25"; + date = "2025-05-29"; }; spotx = { pname = "spotx"; diff --git a/pkgs/default.nix b/pkgs/default.nix index c249653..bff4832 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -16,6 +16,7 @@ in radicle-explorer = callPackage ./radicle-explorer {}; TrackersListCollection = callPackage ./TrackersListCollection.nix {}; wshowkeys-mao = callPackage ./wshowkeys-mao.nix {}; + OuterWildsTextAdventure = callPackage ./OuterWildsTextAdventure.nix {}; noto-serif-cjk = callPackage ./noto-serif-cjk.nix {}; noto-sans-cjk = callPackage ./noto-sans-cjk.nix {}; diff --git a/pkgs/nvfetcher.toml b/pkgs/nvfetcher.toml index ef7d3f9..58bad99 100644 --- a/pkgs/nvfetcher.toml +++ b/pkgs/nvfetcher.toml @@ -38,3 +38,7 @@ git.sparseCheckout = ["all.txt"] [wshowkeys-mao] src.git = "https://github.com/DreamMaoMao/wshowkeys.git" fetch.github = "DreamMaoMao/wshowkeys" + +[OuterWildsTextAdventure] +src.git = "https://github.com/top-mind/OuterWildsTextAdventureWeb.git" +fetch.github = "top-mind/OuterWildsTextAdventureWeb" From fa180a7636a5de3b55c7f2cf93fd255819b3614f Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Sun, 25 May 2025 23:28:27 +0800 Subject: [PATCH 6/7] Add python template. --- templates/default.nix | 4 + templates/python/.envrc | 3 + templates/python/.gitignore | 199 ++++++++++++++++++++++ templates/python/.python-version | 1 + templates/python/README.md | 0 templates/python/app/__init__.py | 1 + templates/python/app/__main__.py | 10 ++ templates/python/flake.lock | 61 +++++++ templates/python/flake.nix | 53 ++++++ templates/python/pyproject.toml | 16 ++ templates/python/uv.lock | 273 +++++++++++++++++++++++++++++++ 11 files changed, 621 insertions(+) create mode 100644 templates/python/.envrc create mode 100644 templates/python/.gitignore create mode 100644 templates/python/.python-version create mode 100644 templates/python/README.md create mode 100644 templates/python/app/__init__.py create mode 100644 templates/python/app/__main__.py create mode 100644 templates/python/flake.lock create mode 100644 templates/python/flake.nix create mode 100644 templates/python/pyproject.toml create mode 100644 templates/python/uv.lock diff --git a/templates/default.nix b/templates/default.nix index b44b634..c781381 100644 --- a/templates/default.nix +++ b/templates/default.nix @@ -11,4 +11,8 @@ path = ./cxxWithXmake; description = "C++ template built by xmake."; }; + python = { + path = ./python; + description = "Python template."; + }; } diff --git a/templates/python/.envrc b/templates/python/.envrc new file mode 100644 index 0000000..97dd692 --- /dev/null +++ b/templates/python/.envrc @@ -0,0 +1,3 @@ +watch_file pyproject.toml uv.lock + +use flake diff --git a/templates/python/.gitignore b/templates/python/.gitignore new file mode 100644 index 0000000..7720b41 --- /dev/null +++ b/templates/python/.gitignore @@ -0,0 +1,199 @@ +###### Nix Region Begin +# Ignore build outputs from performing a nix-build or `nix build` command +result +result-* + +# Ignore automatically generated direnv output +.direnv +###### Nix Region End + +###### Python Region Begin +# # Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# UV +# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +#uv.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/latest/usage/project/#working-with-version-control +.pdm.toml +.pdm-python +.pdm-build/ + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + +# Visual Studio Code +# Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore +# that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore +# and can be added to the global gitignore or merged into this file. However, if you prefer, +# you could uncomment the following to ignore the enitre vscode folder +# .vscode/ + +# Ruff stuff: +.ruff_cache/ + +# PyPI configuration file +.pypirc + +# Cursor +# Cursor is an AI-powered code editor. `.cursorignore` specifies files/directories to +# exclude from AI features like autocomplete and code analysis. Recommended for sensitive data +# refer to https://docs.cursor.com/context/ignore-files +.cursorignore +.cursorindexingignore +###### Python Region End diff --git a/templates/python/.python-version b/templates/python/.python-version new file mode 100644 index 0000000..e4fba21 --- /dev/null +++ b/templates/python/.python-version @@ -0,0 +1 @@ +3.12 diff --git a/templates/python/README.md b/templates/python/README.md new file mode 100644 index 0000000..e69de29 diff --git a/templates/python/app/__init__.py b/templates/python/app/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/templates/python/app/__init__.py @@ -0,0 +1 @@ + diff --git a/templates/python/app/__main__.py b/templates/python/app/__main__.py new file mode 100644 index 0000000..ebfc5ed --- /dev/null +++ b/templates/python/app/__main__.py @@ -0,0 +1,10 @@ +def hello(name: str = "World"): + print(f"Hello, {name}!") + + +def main(): + hello() + + +if __name__ == "__main__": + main() diff --git a/templates/python/flake.lock b/templates/python/flake.lock new file mode 100644 index 0000000..5011e13 --- /dev/null +++ b/templates/python/flake.lock @@ -0,0 +1,61 @@ +{ + "nodes": { + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1746300365, + "narHash": "sha256-thYTdWqCRipwPRxWiTiH1vusLuAy0okjOyzRx4hLWh4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "f21e4546e3ede7ae34d12a84602a22246b31f7e0", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + } + }, + "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/templates/python/flake.nix b/templates/python/flake.nix new file mode 100644 index 0000000..f1f811f --- /dev/null +++ b/templates/python/flake.nix @@ -0,0 +1,53 @@ +{ + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + flake-utils = { + url = "github:numtide/flake-utils"; + }; + }; + outputs = { + self, + flake-utils, + nixpkgs, + ... + }: + flake-utils.lib.eachDefaultSystem (system: let + inherit (pkgs) lib; + pkgs = import nixpkgs { + inherit system; + config = { + cudaSupport = true; + allowUnfree = true; + }; + }; + defaultPython = pkgs.python3; + in { + formatter = pkgs.alejandra; + devShells.default = pkgs.mkShell { + packages = + (with pkgs; [ + ruff + pyright + + uv + defaultPython + ]) + ++ (with pkgs.python3Packages; [ + pydantic + torchWithCuda + ]); + shellHook = '' + uv sync + . ./.venv/bin/activate + ''; + env = { + UV_PYTHON_DOWNLOADS = "never"; + UV_PYTHON = "${lib.getExe' defaultPython "python"}"; + UV_TORCH_BACKEND = "auto"; + }; + }; + }); + nixConfig = { + keepOutputs = true; + }; +} diff --git a/templates/python/pyproject.toml b/templates/python/pyproject.toml new file mode 100644 index 0000000..faab326 --- /dev/null +++ b/templates/python/pyproject.toml @@ -0,0 +1,16 @@ +[project] +name = "python" +version = "0.1.0" +description = "Add your description here" +readme = "README.md" +requires-python = ">=3.12" +dependencies = ["numpy>=2.2.6"] + +[dependency-groups] +dev = ["ipython>=9.2.0", "ptpython>=3.0.30"] + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" +[tool.hatch.build.targets.wheel] +packages = ["app"] diff --git a/templates/python/uv.lock b/templates/python/uv.lock new file mode 100644 index 0000000..aeb2b05 --- /dev/null +++ b/templates/python/uv.lock @@ -0,0 +1,273 @@ +version = 1 +revision = 2 +requires-python = ">=3.12" + +[[package]] +name = "appdirs" +version = "1.4.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d7/d8/05696357e0311f5b5c316d7b95f46c669dd9c15aaeecbb48c7d0aeb88c40/appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41", size = 13470, upload-time = "2020-05-11T07:59:51.037Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128", size = 9566, upload-time = "2020-05-11T07:59:49.499Z" }, +] + +[[package]] +name = "asttokens" +version = "3.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4a/e7/82da0a03e7ba5141f05cce0d302e6eed121ae055e0456ca228bf693984bc/asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7", size = 61978, upload-time = "2024-11-30T04:30:14.439Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2", size = 26918, upload-time = "2024-11-30T04:30:10.946Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "decorator" +version = "5.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711, upload-time = "2025-02-24T04:41:34.073Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190, upload-time = "2025-02-24T04:41:32.565Z" }, +] + +[[package]] +name = "executing" +version = "2.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/91/50/a9d80c47ff289c611ff12e63f7c5d13942c65d68125160cefd768c73e6e4/executing-2.2.0.tar.gz", hash = "sha256:5d108c028108fe2551d1a7b2e8b713341e2cb4fc0aa7dcf966fa4327a5226755", size = 978693, upload-time = "2025-01-22T15:41:29.403Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/8f/c4d9bafc34ad7ad5d8dc16dd1347ee0e507a52c3adb6bfa8887e1c6a26ba/executing-2.2.0-py2.py3-none-any.whl", hash = "sha256:11387150cad388d62750327a53d3339fad4888b39a6fe233c3afbb54ecffd3aa", size = 26702, upload-time = "2025-01-22T15:41:25.929Z" }, +] + +[[package]] +name = "ipython" +version = "9.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "decorator" }, + { name = "ipython-pygments-lexers" }, + { name = "jedi" }, + { name = "matplotlib-inline" }, + { name = "pexpect", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit" }, + { name = "pygments" }, + { name = "stack-data" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9d/02/63a84444a7409b3c0acd1de9ffe524660e0e5d82ee473e78b45e5bfb64a4/ipython-9.2.0.tar.gz", hash = "sha256:62a9373dbc12f28f9feaf4700d052195bf89806279fc8ca11f3f54017d04751b", size = 4424394, upload-time = "2025-04-25T17:55:40.498Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/ce/5e897ee51b7d26ab4e47e5105e7368d40ce6cfae2367acdf3165396d50be/ipython-9.2.0-py3-none-any.whl", hash = "sha256:fef5e33c4a1ae0759e0bba5917c9db4eb8c53fee917b6a526bd973e1ca5159f6", size = 604277, upload-time = "2025-04-25T17:55:37.625Z" }, +] + +[[package]] +name = "ipython-pygments-lexers" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81", size = 8393, upload-time = "2025-01-17T11:24:34.505Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c", size = 8074, upload-time = "2025-01-17T11:24:33.271Z" }, +] + +[[package]] +name = "jedi" +version = "0.19.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "parso" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0", size = 1231287, upload-time = "2024-11-11T01:41:42.873Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9", size = 1572278, upload-time = "2024-11-11T01:41:40.175Z" }, +] + +[[package]] +name = "matplotlib-inline" +version = "0.1.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/99/5b/a36a337438a14116b16480db471ad061c36c3694df7c2084a0da7ba538b7/matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90", size = 8159, upload-time = "2024-04-15T13:44:44.803Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca", size = 9899, upload-time = "2024-04-15T13:44:43.265Z" }, +] + +[[package]] +name = "numpy" +version = "2.2.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", size = 20276440, upload-time = "2025-05-17T22:38:04.611Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/82/5d/c00588b6cf18e1da539b45d3598d3557084990dcc4331960c15ee776ee41/numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff", size = 20875348, upload-time = "2025-05-17T21:34:39.648Z" }, + { url = "https://files.pythonhosted.org/packages/66/ee/560deadcdde6c2f90200450d5938f63a34b37e27ebff162810f716f6a230/numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c", size = 14119362, upload-time = "2025-05-17T21:35:01.241Z" }, + { url = "https://files.pythonhosted.org/packages/3c/65/4baa99f1c53b30adf0acd9a5519078871ddde8d2339dc5a7fde80d9d87da/numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3", size = 5084103, upload-time = "2025-05-17T21:35:10.622Z" }, + { url = "https://files.pythonhosted.org/packages/cc/89/e5a34c071a0570cc40c9a54eb472d113eea6d002e9ae12bb3a8407fb912e/numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282", size = 6625382, upload-time = "2025-05-17T21:35:21.414Z" }, + { url = "https://files.pythonhosted.org/packages/f8/35/8c80729f1ff76b3921d5c9487c7ac3de9b2a103b1cd05e905b3090513510/numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87", size = 14018462, upload-time = "2025-05-17T21:35:42.174Z" }, + { url = "https://files.pythonhosted.org/packages/8c/3d/1e1db36cfd41f895d266b103df00ca5b3cbe965184df824dec5c08c6b803/numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249", size = 16527618, upload-time = "2025-05-17T21:36:06.711Z" }, + { url = "https://files.pythonhosted.org/packages/61/c6/03ed30992602c85aa3cd95b9070a514f8b3c33e31124694438d88809ae36/numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49", size = 15505511, upload-time = "2025-05-17T21:36:29.965Z" }, + { url = "https://files.pythonhosted.org/packages/b7/25/5761d832a81df431e260719ec45de696414266613c9ee268394dd5ad8236/numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de", size = 18313783, upload-time = "2025-05-17T21:36:56.883Z" }, + { url = "https://files.pythonhosted.org/packages/57/0a/72d5a3527c5ebffcd47bde9162c39fae1f90138c961e5296491ce778e682/numpy-2.2.6-cp312-cp312-win32.whl", hash = "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4", size = 6246506, upload-time = "2025-05-17T21:37:07.368Z" }, + { url = "https://files.pythonhosted.org/packages/36/fa/8c9210162ca1b88529ab76b41ba02d433fd54fecaf6feb70ef9f124683f1/numpy-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2", size = 12614190, upload-time = "2025-05-17T21:37:26.213Z" }, + { url = "https://files.pythonhosted.org/packages/f9/5c/6657823f4f594f72b5471f1db1ab12e26e890bb2e41897522d134d2a3e81/numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84", size = 20867828, upload-time = "2025-05-17T21:37:56.699Z" }, + { url = "https://files.pythonhosted.org/packages/dc/9e/14520dc3dadf3c803473bd07e9b2bd1b69bc583cb2497b47000fed2fa92f/numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b", size = 14143006, upload-time = "2025-05-17T21:38:18.291Z" }, + { url = "https://files.pythonhosted.org/packages/4f/06/7e96c57d90bebdce9918412087fc22ca9851cceaf5567a45c1f404480e9e/numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d", size = 5076765, upload-time = "2025-05-17T21:38:27.319Z" }, + { url = "https://files.pythonhosted.org/packages/73/ed/63d920c23b4289fdac96ddbdd6132e9427790977d5457cd132f18e76eae0/numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566", size = 6617736, upload-time = "2025-05-17T21:38:38.141Z" }, + { url = "https://files.pythonhosted.org/packages/85/c5/e19c8f99d83fd377ec8c7e0cf627a8049746da54afc24ef0a0cb73d5dfb5/numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f", size = 14010719, upload-time = "2025-05-17T21:38:58.433Z" }, + { url = "https://files.pythonhosted.org/packages/19/49/4df9123aafa7b539317bf6d342cb6d227e49f7a35b99c287a6109b13dd93/numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f", size = 16526072, upload-time = "2025-05-17T21:39:22.638Z" }, + { url = "https://files.pythonhosted.org/packages/b2/6c/04b5f47f4f32f7c2b0e7260442a8cbcf8168b0e1a41ff1495da42f42a14f/numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868", size = 15503213, upload-time = "2025-05-17T21:39:45.865Z" }, + { url = "https://files.pythonhosted.org/packages/17/0a/5cd92e352c1307640d5b6fec1b2ffb06cd0dabe7d7b8227f97933d378422/numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d", size = 18316632, upload-time = "2025-05-17T21:40:13.331Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3b/5cba2b1d88760ef86596ad0f3d484b1cbff7c115ae2429678465057c5155/numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd", size = 6244532, upload-time = "2025-05-17T21:43:46.099Z" }, + { url = "https://files.pythonhosted.org/packages/cb/3b/d58c12eafcb298d4e6d0d40216866ab15f59e55d148a5658bb3132311fcf/numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c", size = 12610885, upload-time = "2025-05-17T21:44:05.145Z" }, + { url = "https://files.pythonhosted.org/packages/6b/9e/4bf918b818e516322db999ac25d00c75788ddfd2d2ade4fa66f1f38097e1/numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6", size = 20963467, upload-time = "2025-05-17T21:40:44Z" }, + { url = "https://files.pythonhosted.org/packages/61/66/d2de6b291507517ff2e438e13ff7b1e2cdbdb7cb40b3ed475377aece69f9/numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda", size = 14225144, upload-time = "2025-05-17T21:41:05.695Z" }, + { url = "https://files.pythonhosted.org/packages/e4/25/480387655407ead912e28ba3a820bc69af9adf13bcbe40b299d454ec011f/numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40", size = 5200217, upload-time = "2025-05-17T21:41:15.903Z" }, + { url = "https://files.pythonhosted.org/packages/aa/4a/6e313b5108f53dcbf3aca0c0f3e9c92f4c10ce57a0a721851f9785872895/numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8", size = 6712014, upload-time = "2025-05-17T21:41:27.321Z" }, + { url = "https://files.pythonhosted.org/packages/b7/30/172c2d5c4be71fdf476e9de553443cf8e25feddbe185e0bd88b096915bcc/numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f", size = 14077935, upload-time = "2025-05-17T21:41:49.738Z" }, + { url = "https://files.pythonhosted.org/packages/12/fb/9e743f8d4e4d3c710902cf87af3512082ae3d43b945d5d16563f26ec251d/numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa", size = 16600122, upload-time = "2025-05-17T21:42:14.046Z" }, + { url = "https://files.pythonhosted.org/packages/12/75/ee20da0e58d3a66f204f38916757e01e33a9737d0b22373b3eb5a27358f9/numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571", size = 15586143, upload-time = "2025-05-17T21:42:37.464Z" }, + { url = "https://files.pythonhosted.org/packages/76/95/bef5b37f29fc5e739947e9ce5179ad402875633308504a52d188302319c8/numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1", size = 18385260, upload-time = "2025-05-17T21:43:05.189Z" }, + { url = "https://files.pythonhosted.org/packages/09/04/f2f83279d287407cf36a7a8053a5abe7be3622a4363337338f2585e4afda/numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff", size = 6377225, upload-time = "2025-05-17T21:43:16.254Z" }, + { url = "https://files.pythonhosted.org/packages/67/0e/35082d13c09c02c011cf21570543d202ad929d961c02a147493cb0c2bdf5/numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06", size = 12771374, upload-time = "2025-05-17T21:43:35.479Z" }, +] + +[[package]] +name = "parso" +version = "0.8.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/66/94/68e2e17afaa9169cf6412ab0f28623903be73d1b32e208d9e8e541bb086d/parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d", size = 400609, upload-time = "2024-04-05T09:43:55.897Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c6/ac/dac4a63f978e4dcb3c6d3a78c4d8e0192a113d288502a1216950c41b1027/parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18", size = 103650, upload-time = "2024-04-05T09:43:53.299Z" }, +] + +[[package]] +name = "pexpect" +version = "4.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ptyprocess" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450, upload-time = "2023-11-25T09:07:26.339Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772, upload-time = "2023-11-25T06:56:14.81Z" }, +] + +[[package]] +name = "prompt-toolkit" +version = "3.0.51" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wcwidth" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bb/6e/9d084c929dfe9e3bfe0c6a47e31f78a25c54627d64a66e884a8bf5474f1c/prompt_toolkit-3.0.51.tar.gz", hash = "sha256:931a162e3b27fc90c86f1b48bb1fb2c528c2761475e57c9c06de13311c7b54ed", size = 428940, upload-time = "2025-04-15T09:18:47.731Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ce/4f/5249960887b1fbe561d9ff265496d170b55a735b76724f10ef19f9e40716/prompt_toolkit-3.0.51-py3-none-any.whl", hash = "sha256:52742911fde84e2d423e2f9a4cf1de7d7ac4e51958f648d9540e0fb8db077b07", size = 387810, upload-time = "2025-04-15T09:18:44.753Z" }, +] + +[[package]] +name = "ptpython" +version = "3.0.30" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "appdirs" }, + { name = "jedi" }, + { name = "prompt-toolkit" }, + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c9/ce/4441ac40762c73d74b48088a7311e368d28beec92602d66e632a59792a93/ptpython-3.0.30.tar.gz", hash = "sha256:51a07f9b8ebf8435a5aaeb22831cca4a52e87029771a2637df2763c79d3d8776", size = 72812, upload-time = "2025-04-15T09:26:37.534Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/05/15/77dfd9a52fa6c87b50232b246df0cfacacc0665c95ebe4a517cc994819f0/ptpython-3.0.30-py3-none-any.whl", hash = "sha256:bec3045f0285ac817c902ef98d6ece31d3e00a4604ef3fdde07d365c78bde23c", size = 67249, upload-time = "2025-04-15T09:26:35.693Z" }, +] + +[[package]] +name = "ptyprocess" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762, upload-time = "2020-12-28T15:15:30.155Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993, upload-time = "2020-12-28T15:15:28.35Z" }, +] + +[[package]] +name = "pure-eval" +version = "0.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752, upload-time = "2024-07-21T12:58:21.801Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842, upload-time = "2024-07-21T12:58:20.04Z" }, +] + +[[package]] +name = "pygments" +version = "2.19.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581, upload-time = "2025-01-06T17:26:30.443Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293, upload-time = "2025-01-06T17:26:25.553Z" }, +] + +[[package]] +name = "python" +version = "0.1.0" +source = { editable = "." } +dependencies = [ + { name = "numpy" }, +] + +[package.dev-dependencies] +dev = [ + { name = "ipython" }, + { name = "ptpython" }, +] + +[package.metadata] +requires-dist = [{ name = "numpy", specifier = ">=2.2.6" }] + +[package.metadata.requires-dev] +dev = [ + { name = "ipython", specifier = ">=9.2.0" }, + { name = "ptpython", specifier = ">=3.0.30" }, +] + +[[package]] +name = "stack-data" +version = "0.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "asttokens" }, + { name = "executing" }, + { name = "pure-eval" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707, upload-time = "2023-09-30T13:58:05.479Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521, upload-time = "2023-09-30T13:58:03.53Z" }, +] + +[[package]] +name = "traitlets" +version = "5.14.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", size = 161621, upload-time = "2024-04-19T11:11:49.746Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359, upload-time = "2024-04-19T11:11:46.763Z" }, +] + +[[package]] +name = "wcwidth" +version = "0.2.13" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301, upload-time = "2024-01-06T02:10:57.829Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166, upload-time = "2024-01-06T02:10:55.763Z" }, +] From e77baa8fc2a274c16e8fd5e192b9fbefd02a1262 Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Sun, 25 May 2025 23:28:27 +0800 Subject: [PATCH 7/7] Update flake inputs. --- flake.lock | 72 +++++++++++++++++++++++++++--------------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/flake.lock b/flake.lock index c26a3e5..c364b49 100644 --- a/flake.lock +++ b/flake.lock @@ -97,11 +97,11 @@ ] }, "locked": { - "lastModified": 1748604223, - "narHash": "sha256-E6wTWq2joeUiiI/6a3th+CjVL/bD4jHCsskCr3WmiKY=", + "lastModified": 1748747628, + "narHash": "sha256-GSdRsUdUt2RENE3mevSY8bTKZhXB4vdyC4jfgSZrS/k=", "owner": "daeuniverse", "repo": "flake.nix", - "rev": "84263801dbbc4bb87b363a3e5f766e0da0bec156", + "rev": "729bb3b18d9f7efaaaef1244d16d4b033b0fb980", "type": "github" }, "original": { @@ -357,11 +357,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1748526926, - "narHash": "sha256-f14perPUk+H15GyGRbg0Akqhn3rxFnc6Ez5onqpzu6A=", + "lastModified": 1748702599, + "narHash": "sha256-cXzTGHrZsT4wSxlLvw2ZlHPVjC/MA2W0sI/KF1yStbY=", "owner": "helix-editor", "repo": "helix", - "rev": "8961ae1dc66633ea6c9f761896cb0d885ae078ed", + "rev": "2baff46b2578d78d817b9e128e8cc00345541f0b", "type": "github" }, "original": { @@ -378,11 +378,11 @@ ] }, "locked": { - "lastModified": 1748610552, - "narHash": "sha256-bCBPjZ3ukUbAaCIDzGmvA+ZcMNk4+YIWLM8cks0jiic=", + "lastModified": 1748737919, + "narHash": "sha256-5kvBbLYdp+n7Ftanjcs6Nv+UO6sBhelp6MIGJ9nWmjQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "482c306ef70785f53d9d90839b6b5643521ac031", + "rev": "5675a9686851d9626560052a032c4e14e533c1fa", "type": "github" }, "original": { @@ -443,11 +443,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1748609405, - "narHash": "sha256-tuhbZf+oQ6lvBRN7iySy9ZeY9sMVtlAzQvDBBrvwEsk=", + "lastModified": 1748764887, + "narHash": "sha256-PSVK8ufm8I61OlTpWzsphaHDUCwMJoGKG1f5aUhYOnk=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "73bcebf1ac79a9a31e29ffd08bcd982c7301d8fc", + "rev": "f4fa77397ffc70ecc3c19f935a967136c13b17bc", "type": "github" }, "original": { @@ -476,11 +476,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1748151941, - "narHash": "sha256-z4viQZLgC2bIJ3VrzQnR+q2F3gAOEQpU1H5xHtX/2fs=", + "lastModified": 1748760988, + "narHash": "sha256-8oQh8Rw0bYwaEcEDc6bMlzOU38TEDJOpfJkGjngqGFo=", "owner": "YaLTeR", "repo": "niri", - "rev": "8ba57fcf25d2fc9565131684a839d58703f1dae7", + "rev": "09da884cd86d343c50c449f6ab8ba5d775bdd380", "type": "github" }, "original": { @@ -497,11 +497,11 @@ "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1748529102, - "narHash": "sha256-dAtr4HDDc8/0vGTIZZpMLp8n8nnQoCmdGsfGmKsUHBg=", + "lastModified": 1748697856, + "narHash": "sha256-RiPbZm8NbbCXVPi6WZDWabGpOA6X98nSk0GPTaPlmVA=", "owner": "lilyinstarlight", "repo": "nixos-cosmic", - "rev": "dc645ec3b4d852f71b3cbcc666aaa44dffbb8315", + "rev": "a0b5cb4cf16f0a5f90e3b683b6be50f39ea407bf", "type": "github" }, "original": { @@ -512,11 +512,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1748613622, - "narHash": "sha256-SLB2MV138ujdjw0ETEakNt/o2O+d/QtvNLlwaBZSWKg=", + "lastModified": 1748634340, + "narHash": "sha256-pZH4bqbOd8S+si6UcfjHovWDiWKiIGRNRMpmRWaDIms=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "b9d69212b5e65620e7d5b08df818db656f7fefb3", + "rev": "daa628a725ab4948e0e2b795e8fb6f4c3e289a7a", "type": "github" }, "original": { @@ -528,11 +528,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1748370509, - "narHash": "sha256-QlL8slIgc16W5UaI3w7xHQEP+Qmv/6vSNTpoZrrSlbk=", + "lastModified": 1748460289, + "narHash": "sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4faa5f5321320e49a78ae7848582f684d64783e9", + "rev": "96ec055edbe5ee227f28cdbc3f1ddf1df5965102", "type": "github" }, "original": { @@ -575,11 +575,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1748037224, - "narHash": "sha256-92vihpZr6dwEMV6g98M5kHZIttrWahb9iRPBm1atcPk=", + "lastModified": 1748421225, + "narHash": "sha256-XXILOc80tvlvEQgYpYFnze8MkQQmp3eQxFbTzb3m/R0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f09dede81861f3a83f7f06641ead34f02f37597f", + "rev": "78add7b7abb61689e34fc23070a8f55e1d26185b", "type": "github" }, "original": { @@ -634,11 +634,11 @@ "nur-rycee": { "flake": false, "locked": { - "lastModified": 1748577804, - "narHash": "sha256-mk4nReFlqtGToFfZngNZ58FYud/svkmRp+THBsfqhcw=", + "lastModified": 1748730131, + "narHash": "sha256-QHKZlwzw80hoJkNGXQePIg4u109lqcodALkont2WJAc=", "owner": "rycee", "repo": "nur-expressions", - "rev": "493bb7da63143e3144c964d2b8e34e78dfe02a4b", + "rev": "aa7bfc2ec4763b57386fcd50242c390a596b9bb0", "type": "gitlab" }, "original": { @@ -697,11 +697,11 @@ ] }, "locked": { - "lastModified": 1748486227, - "narHash": "sha256-veMuFa9cq/XgUXp1S57oC8K0TIw3XyZWL2jIyGWlW0c=", + "lastModified": 1748658947, + "narHash": "sha256-F+nGITu6D7RswJlm8qCuU1PCuOSgDeAqaDKWW1n1jmQ=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "4bf1892eb81113e868efe67982b64f1da15c8c5a", + "rev": "fc82ce758cc5df6a6d5d24e75710321cdbdc787a", "type": "github" }, "original": { @@ -758,11 +758,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1748572239, - "narHash": "sha256-Of7bmWQUEVILpx1GJz0gLHmRoGrEP/G7q9RnidxW5Go=", + "lastModified": 1748717073, + "narHash": "sha256-Yxo8A7BgNpRXTrB359LyfQ0NjJuiaLIS6sTTUCulEX0=", "owner": "danth", "repo": "stylix", - "rev": "0512b0f685ab2ac0586c897460c247f49670460b", + "rev": "64b9f2c2df31bb87bdd2360a2feb58c817b4d16c", "type": "github" }, "original": {