Zelphir Kaltstahl <[email protected]> writes:
> I just did the edit thing and I am not sure how to then "upload" a > package. But I will read the docs a little and will probably all clear up. “guix edit” only opens the source file containing a package definition in your editor. To contribute packages please see the Contributing section in the manual. >> The point is that Guix has a really large collection of Emacs packages: >> >> --8<---------------cut here---------------start------------->8--- >> $ du -sh gnu/packages/*.scm | sort -nr | head -n5 >> 908K gnu/packages/crates-io.scm >> 884K gnu/packages/emacs-xyz.scm >> 784K gnu/packages/cran.scm >> 732K gnu/packages/python-xyz.scm >> 636K gnu/packages/bioinformatics.scm >> --8<---------------cut here---------------end--------------->8--- >> >> and if your needs is not there then "guix import elpa" eases the task >> for adding it. :-) > > So if I understand this correctly, there are different channels for > different types of packages, for example for Rust packages we have > `gnu/packages/crates-io.scm` and for Emacs packages we have > `gnu/packages/emacs-xyz.scm`. No, these are not channels. These are all modules that are part of the default channel called “guix”. > The command `guix describe -f channels` does not work for me: > > ~~~~ > xiaolong@xlx200:~$ guix describe -f channels > guix describe: error: failed to determine origin > hint: Perhaps this `guix' command was not obtained with `guix pull'? Its > version string is > 36da62f1b9c78a2729658143a7df1845cd532afa. > ~~~~ “guix describe” will work when you use a “guix” that was obtained with “guix pull”. It will usually be in ~/.config/guix/current/bin/guix. > I did another `guix pull` and `guix package -u` and this is after a > fresh Guix package manager install and and installing the following > packages: > > ~~~~ > xiaolong@xlx200:~$ sudo -i guix package -I > glibc-utf8-locales 2.31 out > /gnu/store/z7a6sbvqzb5zapwpznmjkq2rsxil6i67-glibc-utf8-locales-2.31 > > xiaolong@xlx200:~$ sudo -i guix package -I > glibc-utf8-locales 2.31 out > /gnu/store/z7a6sbvqzb5zapwpznmjkq2rsxil6i67-glibc-utf8-locales-2.31 > xiaolong@xlx200:~$ guix package -I > guile 3.0.4 out /gnu/store/ah16zr8mmfkqy23rr7jy5a842ca1q9h1-guile-3.0.4 > erlang 21.3.8.13 out > /gnu/store/6x8ycgi8hv5rh8gq3vrdbcq5sh3qfq7i-erlang-21.3.8.13 > emacs-ob-erlang 20180827-1.f1a8c66 out > /gnu/store/czg6wqga0hvc57axbz1cjp892k5r8ybp-emacs-ob-erlang-20180827-1.f1a8c66 > icecat 68.9.0-guix0-preview1 out > /gnu/store/7qakza7zdiz57l5hldd8162324fwbw8s-icecat-68.9.0-guix0-preview1 > libreoffice 6.4.4.2 out > /gnu/store/swk410ahw9v4k0hjmsd4f33bqw5fdyqa-libreoffice-6.4.4.2 > lyx 2.3.5.1 out /gnu/store/p7z5436jhgjlgdbx44np44vzjhrwi2ns-lyx-2.3.5.1 > python 3.8.2 out > /gnu/store/6sr11m4i1d3vbqlmbpzmfj1lihbc5iz4-python-3.8.2 > rust 1.39.0 out /gnu/store/24pbvvdwaj9kbsdfi6kgxkvxkjayfz74-rust-1.39.0 > openvpn 2.4.9 out > /gnu/store/3rh4i3wbkdwkrmrxy30d3f3nbg6kdl02-openvpn-2.4.9 > emacs 26.3 out /gnu/store/528p0v6gg5gx53jd0x52dmghb01bfhc5-emacs-26.3 > glibc-utf8-locales 2.31 out > /gnu/store/z7a6sbvqzb5zapwpznmjkq2rsxil6i67-glibc-utf8-locales-2.31 > guile-colorized 0.1 out > /gnu/store/5h0jfssgyx49cq82wrmw57an7ngb7kkz-guile-colorized-0.1 > ~~~~ I don’t know what this is supposed to demonstrate. “sudo -i guix” runs Guix as the root user, which has a different default profile. > The other command to show the count of packages also does not work for me: > > ~~~~ > xiaolong@xlx200:/$ sudo du -sh gnu/packages/*.scm | sort -nr | head -n5 > du: cannot access 'gnu/packages/*.scm': No such file or directory > ~~~~ That’s not a general command to count packages. This was just simon’s way of showing you that the file containing package definitions for Emacs packages in the Guix repository is among the largest modules. To show all available packages use “guix package --list-available”. > Do I need to create channels, like a custom way of structuring packages > for myself, before running these commands? No. The command line that simon showed you is a simple combination of coreutils commands that operate on the Guix source code. If you want to run the same command you need to do this in the directory containing a checkout of the Guix source code. -- Ricardo
