!tCyGickeVqkHsYjWnh:nixos.org

NixOS Networking

904 Members
Declaratively manage your switching, routing, wireless, tunneling and more.264 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
29 Jul 2025
@hexa:lossy.networkhexayeah, nvm14:45:51
@hexa:lossy.networkhexabootstrapping the package set doesn't work with minimal14:45:59
@hexa:lossy.networkhexanot sure how I forgot14:46:08
@hexa:lossy.networkhexapython3Small when14:46:26
@hexa:lossy.networkhexa* python3Smol when14:46:31
@hexa:lossy.networkhexa * python3Smol when 14:46:42
@sandro:supersandro.deSandro 🐧hehe, let me try that 14:47:59
@emilazy:matrix.orgemily you could build with python3 and deploy with minimal but I'm also guessing that's hard for a billion reasons 14:50:04
@sandro:supersandro.deSandro 🐧that shouldn't be that hard to do but then you have no test coverage if something is missing14:58:06
@emilazy:matrix.orgemilyyeah15:03:48
@emilazy:matrix.orgemilywell hopefully IfState is going to have end-to-end NixOS tests… right? :)15:03:57
@emilazy:matrix.orgemilynot like you can unit test most of the really important stuff there15:04:05
@marcel:envs.netMarcel
In reply to @emilazy:matrix.org
well hopefully IfState is going to have end-to-end NixOS tests… right? :)
The funny thing is that he did not really had an idea how to implement automatic tests and them I showed him Nixos tests and now there is nix code upstream. But I've already have VM tests in my nixpkgs fork on the ifstate branch
15:05:00
@sandro:supersandro.deSandro 🐧
diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix
index 5d60226aeb9c..8e38fe089aa9 100644
--- a/pkgs/development/interpreters/python/default.nix
+++ b/pkgs/development/interpreters/python/default.nix
@@ -145,6 +145,54 @@
           pname = "python3-minimal";
         });

+    # Minimal versions of Python (built without optional dependencies)
+    python3Smol =
+      (callPackage ./cpython (
+        {
+          self = __splicedPackages.python3Smol;
+          inherit passthruFun;
+          pythonAttr = "python3Smol";
+          # strip down that python version as much as possible
+          openssl = null;
+          readline = null;
+          ncurses = null;
+          gdbm = null;
+          sqlite = null;
+          tzdata = null;
+          libuuid = null;
+          bzip2 = null;
+          libxcrypt = null;
+          xz = null;
+          stripConfig = true;
+          stripIdlelib = true;
+          stripTests = true;
+          stripTkinter = true;
+          rebuildBytecode = false;
+          stripBytecode = true;
+          includeSiteCustomize = false;
+          enableOptimizations = false;
+          enableLTO = false;
+          mimetypesSupport = false;
+          withExpat = false;
+          withMpdecimal = false;
+          /*
+            The actual 'allowedReferences' attribute is set inside the cpython derivation.
+            This is necessary in order to survive overrides of dependencies.
+          */
+          allowedReferenceNames = [
+            "bashNonInteractive"
+            "libffi"
+            "zlib"
+          ];
+        }
+        // sources.python313
+      )).overrideAttrs
+        (old: {
+          # TODO(@Artturin): Add this to the main cpython expr
+          strictDeps = true;
+          pname = "python3-smol";
+        });
+
     pypy27 = callPackage ./pypy {
       self = __splicedPackages.pypy27;
       sourceVersion = {
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c0e953a8d19e..14cb4c3e1ef1 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6578,6 +6578,7 @@
     python313
     python314
     python3Minimal
+    python3Smol
     pypy27
     pypy310
     pypy311

16:25:48
@sandro:supersandro.deSandro 🐧This got me pretty far. pyroute2 is failing for some seemingly unrelated error.16:25:48
@elvishjerricco:matrix.orgElvishJerriccoI'm not 100% opposed to this but I certainly don't like it17:36:52
@elvishjerricco:matrix.orgElvishJerriccoI mean I can think of how to do it with no new features too17:37:08
@emilazy:matrix.orgemilywould you like it if we just… made the closures of things small enough that we can use it for everything?17:37:15

Show newer messages


Back to Room ListRoom Version: 6