!tCyGickeVqkHsYjWnh:nixos.org

NixOS Networking

884 Members
Declaratively manage your switching, routing, wireless, tunneling and more. | Don't rely on `networking.*` for interface and routing setup, use systemd-networkd, ifstate or NetworkManager instead. | Set `SYSTEMD_LOG_LEVEL=debug` to debug networking issues with networkd | No bad nft puns, please. | Room recommendations: #sysops:nixos.org255 Servers

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


SenderMessageTime
29 Jul 2025
@sandro:supersandro.deSandro 🐧

and fails in flit-core

Building wheel from /build/source/flit_core
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/build/source/flit_core/flit_core/wheel.py", line 259, in <module>
    main()
    ~~~~^^
  File "/build/source/flit_core/flit_core/wheel.py", line 255, in main
    info = make_wheel_in(pyproj_toml, outdir)
  File "/build/source/flit_core/flit_core/wheel.py", line 222, in make_wheel_in
    wb = WheelBuilder.from_ini_path(ini_path, fp)
  File "/build/source/flit_core/flit_core/wheel.py", line 89, in from_ini_path
    return cls(
        directory, module, metadata, entrypoints, target_fp, ini_info.data_directory
    )
  File "/build/source/flit_core/flit_core/wheel.py", line 78, in __init__
    self.wheel_zip = zipfile.ZipFile(target_fp, 'w',
                     ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
                         compression=zipfile.ZIP_DEFLATED)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/2bh3ww7jpp1cvd921r3lmsw1kkgrycb5-python3-minimal-3.13.5/lib/python3.13/zipfile/__init__.py", line 1335, in __init__
    _check_compression(compression)
    ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/nix/store/2bh3ww7jpp1cvd921r3lmsw1kkgrycb5-python3-minimal-3.13.5/lib/python3.13/zipfile/__init__.py", line 754, in _check_compression
    raise RuntimeError(
        "Compression requires the (missing) zlib module")
RuntimeError: Compression requires the (missing) zlib module
14:45:30
@hexa:lossy.networkhexa (clat on linux when)meh14:45:42
@hexa:lossy.networkhexa (clat on linux when)yeah, nvm14:45:51
@hexa:lossy.networkhexa (clat on linux when)bootstrapping the package set doesn't work with minimal14:45:59
@hexa:lossy.networkhexa (clat on linux when)not sure how I forgot14:46:08
@hexa:lossy.networkhexa (clat on linux when)python3Small when14:46:26
@hexa:lossy.networkhexa (clat on linux when)* python3Smol when14:46:31
@hexa:lossy.networkhexa (clat on linux when) * 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.net@marcel:envs.net
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
@emilazy:matrix.orgemilywithout the current hacks17:37:23
@elvishjerricco:matrix.orgElvishJerricco i.e. make a derivation that creates symlinks to everything listed in a ${closureInfo}/store-paths 17:37:38
@elvishjerricco:matrix.orgElvishJerriccothat's really not going to happen17:37:47
@emilazy:matrix.orgemilyI genuinely think it could!17:38:04
@emilazy:matrix.orgemilywhat do you think the blockers would be? (we could discuss in the systemd room)17:38:12
@elvishjerricco:matrix.orgElvishJerriccoeven if we split binaries from everything else in every relevant derivation (which is a lot of derivations), there's still way more binaries than necessary in a lot of those derivations17:38:33
@emilazy:matrix.orgemily it doesn't have to be a monolithic bin, we do split out individual binaries into their own outputs when necessary 17:39:02

Show newer messages


Back to Room ListRoom Version: 6