Improve Guix commands for update/upgrade

  • Done
  • quality assurance status badge
Details
5 participants
  • bo0od
  • Bone Baboon
  • Leo Prikler
  • Ludovic Courtès
  • Christopher Baines
Owner
unassigned
Submitted by
bo0od
Severity
normal
B
(address . bug-guix@gnu.org)
d6318446-4b47-e68d-0ea6-e0755dd52e2b@riseup.net
Hi There,

The current commands used to make sure everything updated are not
friendly to type nor to memorize, Current commands:(i dunno if i missed
more)

guix pull
guix upgrade
sudo guix reconfigure /etc/config.scm


There is no relation can be drawn from using these commands:

- pull: Is actually the opposite of push which is a git command and it
make sense in git atmosphere/usage.

- upgrade: This is the only good one as this is very common term used
within distros or actually most of the operating systems generally.

- reconfigure /etc/config.scm: hmm...

There are many ways we can improve this by using different better terms
which can be easily memorized and even linked e.g: (These are just
examples, If there are any better terms you can come with sure why not)

- pull -> update or refresh
- upgrade -> can be kept or package-upgrade
- reconfigure /etc/config.scm -> dist-upgrade or distro-upgrade or
system-upgrade

----

OR There is another approach some distros taking which is using
shortcuts to only letters e.g

pull -> p or -p
upgrade -> u or -u
reconfigure -> re or -re

as a one world for memory "pure" (any other letters can be used as well)

ThX!
C
C
Christopher Baines wrote on 23 Apr 2021 16:15
(name . bo0od)(address . bo0od@riseup.net)
87pmylgk8e.fsf@cbaines.net
bo0od <bo0od@riseup.net> writes:

Toggle quote (16 lines)
> Hi There,
>
> The current commands used to make sure everything updated are not
> friendly to type nor to memorize, Current commands:(i dunno if i
> missed more)
>
> guix pull
> guix upgrade
> sudo guix reconfigure /etc/config.scm
>
>
> There is no relation can be drawn from using these commands:
>
> - pull: Is actually the opposite of push which is a git command and it
> make sense in git atmosphere/usage.

guix pull usually does a git pull under the hood and then builds guix
from that updated repository.

I don't get what you mean when you say pull is actually the opposite of
push? That's true in the sense of the words, but how does that relate to
Guix?

Toggle quote (12 lines)
> - upgrade: This is the only good one as this is very common term used
> within distros or actually most of the operating systems generally.
>
> - reconfigure /etc/config.scm: hmm...
>
> There are many ways we can improve this by using different better
> terms which can be easily memorized and even linked e.g: (These are
> just examples, If there are any better terms you can come with sure
> why not)
>
> - pull -> update or refresh

I think update is OK, although I think pull is OK too. refresh is
already taken.

Toggle quote (4 lines)
> - upgrade -> can be kept or package-upgrade
> - reconfigure /etc/config.scm -> dist-upgrade or distro-upgrade or
> system-upgrade

You can "downgrade" (switch to using an older Guix/software) by
reconfiguring, so I wouldn't like to see that operation referred to as
an upgrade (as it's not always).
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmCC1pFfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9XcWBw//S0V8qwntItO18BO2dyn0ucM8gF45IBU/
lkzRfAV2x/SavtgZQr9CyCmi2tI+gL2+MlkadpDekBTjlZMYMwQs5RPNpZ/xzQBS
HHf5WyI5VGZcFyOyL0/gYhs2vTHLNunw8VSyIHJx3L2N7u1XbysFJG4tSN0xhBWp
KkM4RQrdDIOpiPU101PwIbfeKbDDH88kECz8UnwYScmvoMOh/J0p+uUhZesNF+1h
efmv49flXL+Tr3czG+gzHQIj9P0lMAdyy28/MKlm4NvH/5Y12eFAN61sSxrc2FLp
YBcNy851VByahADqH2vxmnasPsmXNSNCIalmkSZJvD/cm26r1WLSckfuR4pUSF6L
+svn46a/gFcAcwzd9laiAFTamaEQ913yPLUwrANMzY4WPRLBhfAWKuhCb6dGFdVg
gfV3eEtV1OSaaxw4brdImAptl0ZbopVyfZ1lL1CrzrjDRLsPS1j2dgDvQ7VdVKDz
8CgoTuxDMoSKv0v5dGZCvLyqBZ3l9ApqVdZA0Fge1BYdWexIvVDXvcG4loM5hcOb
p4SgFfOpAWieIc7HlNUwWKAuwMQAjp6ntqydAJA25sMc/hdk/qQ8x5ebqU+6sym4
V2Yl0Gj9uzG9JnPqatbX//2ob2iDvlfxYQK6eEWq5hnFL1J1zKInu5xEUxZR8ECe
I4wk/MeGCC4=
=f2Sy
-----END PGP SIGNATURE-----

B
(name . Christopher Baines)(address . mail@cbaines.net)
11bff206-c709-e633-67ac-390bb65ffd03@riseup.net
Toggle quote (1 lines)
> I don't get what you mean when you say pull is actually the opposite of
> push? That's true in the sense of the words, but how does that relate to
> Guix?

git pull , git push -> both are making sense

guix pull, but no guix push -> doesnt make sense as there is no relation
between pull and other used commands. (thus i suggested to use known
linked-terms like update,upgrade...etc)

> You can "downgrade" (switch to using an older Guix/software) by
> reconfiguring, so I wouldn't like to see that operation referred to as
> an upgrade (as it's not always)

I see, for example it can be made as upgrade command to always read
configurations which are only intended for upgrading the system and if
you want to use downgrade then it will read configurations only intended
for downgrading the system. (either by using the same config.scm or each
command point to separated config.scm like upgrade.scm and downgrade.scm...)

by this can run system-upgrade , system-downgrade or
dist-upgrade/downgrade..etc

Maybe there are better solutions like better terms or technical
solutions someone can come up with to make things better than the
current situation.



Christopher Baines:
Toggle quote (49 lines)
>
> bo0od <bo0od@riseup.net> writes:
>
>> Hi There,
>>
>> The current commands used to make sure everything updated are not
>> friendly to type nor to memorize, Current commands:(i dunno if i
>> missed more)
>>
>> guix pull
>> guix upgrade
>> sudo guix reconfigure /etc/config.scm
>>
>>
>> There is no relation can be drawn from using these commands:
>>
>> - pull: Is actually the opposite of push which is a git command and it
>> make sense in git atmosphere/usage.
>
> guix pull usually does a git pull under the hood and then builds guix
> from that updated repository.
>
> I don't get what you mean when you say pull is actually the opposite of
> push? That's true in the sense of the words, but how does that relate to
> Guix?
>
>> - upgrade: This is the only good one as this is very common term used
>> within distros or actually most of the operating systems generally.
>>
>> - reconfigure /etc/config.scm: hmm...
>>
>> There are many ways we can improve this by using different better
>> terms which can be easily memorized and even linked e.g: (These are
>> just examples, If there are any better terms you can come with sure
>> why not)
>>
>> - pull -> update or refresh
>
> I think update is OK, although I think pull is OK too. refresh is
> already taken.
>
>> - upgrade -> can be kept or package-upgrade
>> - reconfigure /etc/config.scm -> dist-upgrade or distro-upgrade or
>> system-upgrade
>
> You can "downgrade" (switch to using an older Guix/software) by
> reconfiguring, so I wouldn't like to see that operation referred to as
> an upgrade (as it's not always).
>
B
B
Bone Baboon wrote on 23 Apr 2021 17:16
(name . bo0od)(address . bo0od@riseup.net)
878s592fqf.fsf@disroot.org
bo0od writes:
Toggle quote (3 lines)
> The current commands used to make sure everything updated are not
> friendly to type nor to memorize

The name of package management commands seems like it would largely be
personal preference.

Each person using Guix could customize the commands to their own
preferences using Bash aliases or an equivalent for the shell they are
using. For Bash refer to the Aliases section of it's info
documentation.

Toggle quote (5 lines)
> - pull -> update or refresh
> - upgrade -> can be kept or package-upgrade
> - reconfigure /etc/config.scm -> dist-upgrade or distro-upgrade or
> system-upgrade

For command names there are many package managers that you can look to
for inspiration. Here are some examples:

* Gentoo - emerge
* OpenBSD - pkg
* Void - xbps
* Alpine - apk
* Debian - apt
* Arch - pacam or paru
* Fedora - dnf

Toggle quote (7 lines)
> OR There is another approach some distros taking which is using
> shortcuts to only letters e.g
>
> pull -> p or -p
> upgrade -> u or -u
> reconfigure -> re or -re

This could also be done with shell aliases.
B
(name . Bone Baboon)(address . bone.baboon@disroot.org)
a2878671-95f8-edc7-9a82-fb134e69d114@riseup.net
Not really personal, Its about when there are new users these commands
looks horrible.

You can call it personal when im saying use this X instead B while X and
B has the same bad approach or both are good. This is called personal e.g:

use upgrade instead of distro-upgrade = yeah very much is something not
really benefiting/different and personal.

but pull or update , reconfigure or system-upgrade...etc this is not
anymore personal as i have already explained in my reasoning above.

Bone Baboon:
Toggle quote (37 lines)
> bo0od writes:
>> The current commands used to make sure everything updated are not
>> friendly to type nor to memorize
>
> The name of package management commands seems like it would largely be
> personal preference.
>
> Each person using Guix could customize the commands to their own
> preferences using Bash aliases or an equivalent for the shell they are
> using. For Bash refer to the Aliases section of it's info
> documentation.
>
>> - pull -> update or refresh
>> - upgrade -> can be kept or package-upgrade
>> - reconfigure /etc/config.scm -> dist-upgrade or distro-upgrade or
>> system-upgrade
>
> For command names there are many package managers that you can look to
> for inspiration. Here are some examples:
>
> * Gentoo - emerge
> * OpenBSD - pkg
> * Void - xbps
> * Alpine - apk
> * Debian - apt
> * Arch - pacam or paru
> * Fedora - dnf
>
>> OR There is another approach some distros taking which is using
>> shortcuts to only letters e.g
>>
>> pull -> p or -p
>> upgrade -> u or -u
>> reconfigure -> re or -re
>
> This could also be done with shell aliases.
>
L
L
Leo Prikler wrote on 23 Apr 2021 20:50
(address . 47971@debbugs.gnu.org)
a040cb73ad8e5e1455f1335513ff32c217ea1b9a.camel@student.tugraz.at
Am Freitag, den 23.04.2021, 16:23 +0000 schrieb bo0od:
Toggle quote (3 lines)
> Not really personal, Its about when there are new users these
> commands
> looks horrible.
Sorry for informing you, but your sense for aesthetics is a very
personal thing. If we really want to talk about UX, much more would be
gained by having a translatable GUI than through questionable command
renamings.

Toggle quote (12 lines)
> You can call it personal when im saying use this X instead B while X
> and
> B has the same bad approach or both are good. This is called personal
> e.g:
>
> use upgrade instead of distro-upgrade = yeah very much is something
> not
> really benefiting/different and personal.
>
> but pull or update , reconfigure or system-upgrade...etc this is not
> anymore personal as i have already explained in my reasoning above.

- guix pull: You "pull" a fresh set of package descriptions. Note,
that you can't "push" package descriptions *yet*.
- guix upgrade: You "upgrade" a given user profile.
- guix system reconfigure: You "reconfigure" your "system" according to
the specifications made in some file. Note, that this is not
inherently an upgrade -- it is perfectly fine only to change some
services, to add new ones, or to do all of those three at once.

Of course, there may come times, when you will have to explain to your
less tech-savvy family members or friends, who you've helped install
Guix, why upgrading all of your packages is such a tedious operation,
that involves this funny command line thing. I've been there and done
that. It all makes sense if you take a little time to
explain/understand it properly.

Regards,
Leo
L
L
Ludovic Courtès wrote on 4 May 2021 20:57
control message for bug #47971
(address . control@debbugs.gnu.org)
87mttamimn.fsf@gnu.org
tags 47971 wontfix
close 47971
quit
?