Commit Diff


commit - cb763040fa838bc539204b648b8769dfd2ba972b
commit + 97b83a82103197915fefaa3b0daf649f14f57280
blob - 4164dc12c58412d437c1704a8d0317575b8e7642
blob + 449e187a803c0c71a6d490b6266c91908039b72f
--- flake.nix
+++ flake.nix
@@ -9,8 +9,52 @@
     let
       system = "x86_64-linux";
       pkgs = import nixpkgs { inherit system; };
+
+      # cowsay (el paquete de Python, no el cowsay clásico de C) no está en
+      # nixpkgs — el resto de las deps sí (confirmado: textual, pyfiglet,
+      # matplotlib, textual-image, flatlatex), así que solo hace falta
+      # empaquetar esta. Wheel puro, sin deps propias.
+      cowsay-py = pkgs.python313Packages.buildPythonPackage rec {
+        pname = "cowsay";
+        version = "6.1";
+        format = "wheel";
+        src = pkgs.fetchPypi {
+          inherit pname version format;
+          python = "py3";
+          dist = "py3";
+          sha256 = "02mk8hi8ipzvz5d4a2vh192pmc2cr45bjgikfqwxarmrq5piwjr7";
+        };
+        doCheck = false;
+      };
+
+      nezzontli-ctl = pkgs.python313Packages.buildPythonApplication {
+        pname = "nezzontli-ctl";
+        version = "0.1.0";
+        pyproject = true;
+        src = ./.;
+        build-system = [ pkgs.python313Packages.hatchling ];
+        dependencies = with pkgs.python313Packages; [
+          textual
+          pyfiglet
+          cowsay-py
+          textual-image
+          matplotlib
+          flatlatex
+        ];
+        # Empaquetado así (deps de nixpkgs, no pip), numpy/matplotlib ya
+        # vienen enlazados correctamente por nixpkgs — a diferencia del
+        # devShell (venv + pip), acá no hace falta el fix de
+        # LD_LIBRARY_PATH para libstdc++.so.6.
+        doCheck = false;
+        pythonImportsCheck = [ "nezzontli_ctl" ];
+      };
     in
     {
+      packages.${system} = {
+        default = nezzontli-ctl;
+        inherit nezzontli-ctl;
+      };
+
       devShells.${system}.default = pkgs.mkShell {
         # Deps del proyecto (textual/pyfiglet/cowsay/matplotlib/textual-image)
         # van por pip/pyproject.toml, no por nixpkgs: cowsay no está