Subject: Re: [bug#35456] [PATCH 1/1] guix package: Add 'install', 'remove', and 'upgrade' aliases.

From: Ricardo Wurmus <[email-masked]>
Date: Sat, 27 Apr 2019 23:31:07 +0200

Ludovic Courtès <[email-masked]> writes:

> * guix/scripts/install.scm, guix/scripts/remove.scm,
> guix/scripts/upgrade.scm, tests/guix-package-aliases.sh: New files.
> * Makefile.am (MODULES, SH_TESTS): Add them.
> * po/guix/POTFILES.in: Add them.
> * guix/scripts/package.scm (guix-package): Split with...
> (guix-package*): ... this.  New procedure.
> * doc/guix.texi (Invoking guix package): Document them.
> (Binary Installation, Application Setup, Package Management)
> (Packages with Multiple Outputs, Package Modules)
> (X.509 Certificates, Installing Debugging Files): Use 'guix install' in
> simple examples.

I like it!

> diff --git a/guix/scripts/install.scm b/guix/scripts/install.scm
> new file mode 100644
> index 0000000000..611ed1f712
> --- /dev/null
> +++ b/guix/scripts/install.scm
[…]
> +(define (show-help)
> +  (display (G_ "Usage: guix install [OPTION] PACKAGES...
> +Install the given PACKAGES.
> +This is an alias for 'guix package -i'.\n"))
> +  (display (G_ "
> +  -p, --profile=PROFILE  use PROFILE instead of the user's default profile"))
> +  (display (G_ "
> +      --bootstrap        use the bootstrap Guile to build the profile"))

I have to admit that I never use “--bootstrap”.  You already removed
many advanced options of “guix package” from this alias.  Would it make
sense to also remove this one?

(I don’t feel strongly about this.)

> diff --git a/guix/scripts/remove.scm b/guix/scripts/remove.scm
> new file mode 100644
> index 0000000000..9204740d65
> --- /dev/null
> +++ b/guix/scripts/remove.scm
[…]
> +(define (show-help)
> +  (display (G_ "Usage: guix remove [OPTION] PACKAGES...
> +Remove the given PACKAGES.
> +This is an alias for 'guix package -r'.\n"))
> +  (display (G_ "
> +  -p, --profile=PROFILE  use PROFILE instead of the user's default profile"))
> +  (display (G_ "
> +      --bootstrap        use the bootstrap Guile to build the profile"))

Same here….

> diff --git a/guix/scripts/upgrade.scm b/guix/scripts/upgrade.scm
> new file mode 100644
> index 0000000000..bf3b8a0710
> --- /dev/null
> +++ b/guix/scripts/upgrade.scm
[…]
> +(define (show-help)
> +  (display (G_ "Usage: guix upgrade [OPTION] [REGEXP]
> +Upgrade packages that match REGEXP.
> +This is an alias for 'guix package -u'.\n"))
> +  (display (G_ "
> +  -p, --profile=PROFILE  use PROFILE instead of the user's default profile"))
> +  (display (G_ "
> +      --bootstrap        use the bootstrap Guile to build the profile"))

…and here.

Aside from that it looks good to me.  I expect this to be a very welcome
change for my colleagues who often typed “guix install” only to correct
it to “guix package -i” after an error.

--
Ricardo