Subject: [PATCH 0/4] 'guix pull -l' no longer displays package lists by default

From: Ludovic Courtès <[email-masked]>
Date: Wed, 9 Feb 2022 23:12:37 +0100

Hi!

The other day on IRC zimoun noted that ‘guix pull -l’ doesn’t work for
them because it prints those long package lists, which incidentally
makes it slower.

This series changes ‘guix pull -l’ so that by default it only prints
channel info and news:

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix pull -l
Generation 192       Oct 25 2021 00:12:47
  guix b5f45a2
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: b5f45a21c27b80210753e184e52708bb75a347bb
Generation 193       Oct 25 2021 21:29:18
  guix b0735c7
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: b0735c79b0d1d34117ec36d5dc5f14a3f9392bc1

News for channel 'guix'
  New `guix shell' command supersedes `guix environment'
    commit 746584e0ca200e7bf51b139ceb36c19ea81d6ef1

    A new `guix shell' command is now available.  It is similar to `guix environment', but with a
    more convenient interface (`guix environment' is deprecated but will remain available until
    May, 1st 2023).  The main difference compared to `guix environment' is that the "ad hoc" mode
    is the default.  Thus, to create an interactive environment containing Python, NumPy, and
    SciPy, you would run:
    
         guix shell python python-numpy python-scipy
    
    To get a development environment for, say, Inkscape, pass the `-D' flag:
    
         guix shell -D inkscape
    
    Another difference is that running `guix shell' without arguments loads `manifest.scm' or
    `guix.scm' for the current directory or an ancestor, provided you allowed it.  The command
    maintains a cache to speed up access to such environments.
    
    Run `info "(guix) Invoking guix shell"' for more information.

Generation 194       Nov 07 2021 23:40:30
  guix bd41e59
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: bd41e590dd24e54797fb8b6854c244efd4d12df5
--8<---------------cut here---------------end--------------->8---

One can pass ‘--details’ to get view new/upgraded packages:

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix pull --detail -l
Generation 192       Oct 25 2021 00:12:47
  guix b5f45a2
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: b5f45a21c27b80210753e184e52708bb75a347bb
Generation 193       Oct 25 2021 21:29:18
  guix b0735c7
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: b0735c79b0d1d34117ec36d5dc5f14a3f9392bc1
  3 new packages: lttng-tools, vim-gitgutter, vim-mucomplete
  7 packages upgraded: [email-masked], [email-masked], [email-masked],
    [email-masked], [email-masked], [email-masked], [email-masked]

News for channel 'guix'
  New `guix shell' command supersedes `guix environment'
--8<---------------cut here---------------end--------------->8---

Last, ‘guix pull -l’ pipes its output to $PAGER by default.

Thoughts?

Ludo’.

Ludovic Courtès (4):
  pull: '--list-generations' doesn't list package changes by default.
  ui: 'with-paginated-output-port' gives access to the wrapped port.
  ui: 'display-generation' uses color when talking to a pager.
  pull: '--list-generations' pipes its output to the pager.

 doc/guix.texi         | 15 +++++++++------
 guix/scripts/pull.scm | 35 +++++++++++++++++++++++++++--------
 guix/ui.scm           | 24 ++++++++++++++++++++++--
 3 files changed, 58 insertions(+), 16 deletions(-)

-- 
2.34.0