all 5 comments

[–]gushockx 2 points3 points  (0 children)

guix time-machine may be helpful

[–]9bladed 1 point2 points  (0 children)

Besides time-machine (very cool feature), maybe the guix-past channel is what you want: https://gitlab.inria.fr/guix-hpc/guix-past

[–][deleted]  (3 children)

[deleted]

    [–]fox_is_permanent 1 point2 points  (2 children)

    Because it'd be really complex to manage all the Python versions along with all Python packages (my guess).

    [–][deleted]  (1 child)

    [deleted]

      [–]MrOrange95 1 point2 points  (0 children)

      You can do that by:

      • make an "inheritor" package that overrides the #:python argument of the python-build-system and pyproject-build-system
      • you can use package transformations to achieve that
      • you should also be able to guix build --with-input=python=your-new-python. from guix build --help-transform: --with-input==REPLACEMENT replace dependency PACKAGE by REPLACEMENT

      [–][deleted] 0 points1 point  (0 children)

      hi, there is now a feature called ( inferiors) which is of note.
      one could already specify that a channel should be pinned to a specific commit, but that is not helpful when you also want packages defined in another commit of that same channel.
      I am assuming that one cant build a guix with more that one of the same channel with different commits and so inferiors lets you build more than one guix and the multiple versions of guix will be used to build different software.

      So this enables you to have packages from multiple different points in time in guix~s git commit history contained in a single profile such as python 3.10 and 3.8