# Python runtime with pip and uv. { config, lib, pkgs, ... }: with lib; let cfg = config.coding.languages.python; in { options.coding.languages.python = { enable = mkEnableOption "Python runtime with pip and uv"; extraPackages = mkOption { type = types.listOf types.package; default = []; example = literalExpression "[ pkgs.python3Packages.numpy ]"; description = "Additional Python packages to include"; }; }; config = mkIf cfg.enable { home.packages = with pkgs; [ (pkgs.python3.withPackages (ps: with ps; [ pip uv ] ++ cfg.extraPackages)) pyrefly ]; }; }