{ config, lib, pkgs, ... }: # ============================================================================ # Python Environment # ============================================================================ # This module provides Python development tools. It installs 'pixi' and 'uv' # for project-based dependency management, rather than installing global # Python packages which can lead to conflicts. with lib; let cfg = config.athenix.sw.python; in { options.athenix.sw.python = lib.mkOption { type = lib.types.submodule { options = { enable = lib.mkOption { type = lib.types.bool; default = true; description = '' Enable Python development tools (pixi, uv). Provides: - pixi: Fast, cross-platform package manager for Python - uv: Extremely fast Python package installer and resolver These tools manage project-based dependencies rather than global Python packages, avoiding conflicts and improving reproducibility. ''; }; }; }; default = { }; description = "Python development environment configuration."; }; config = mkIf cfg.enable { environment.systemPackages = [ (pkgs.buildFHSEnv { name = "pixi"; runScript = "pixi"; targetPkgs = pkgs: with pkgs; [ pixi ]; }) pkgs.uv ]; }; }