Thanks, I made some test on my own to understand :
1 - Like you say, installing things with *guix install* is for current user (for example *firefox* and *sshpass*)
2 - Adding a package that don't exist to * myhome.scm* and reconfigure it with *guix home reconfigure* file will download a package (ex "ncdu"), but this package doesn't appear into "guix package --list-installed"
3 - Adding a package that already exist for user (ex : firefox already installed with guix install) to *myhome.scm* doesn't reinstall package, that's normal.
I don't understand the step 2, why *guix home* installed package (*ncdu* here) are not listed with *guix install --list-installed*, is there a difference ?
- using *which ncdu*, bin is located into .guix-home/profile/bin/ncdu - using *which firefox*, bin is located into .guix-home/profile/bin/firefox - using *which sshpass*, bin is located into .guix-home/profile/bin/sshpassOk for secrets, but i don't understand the "out-of-band" reference in your previous mail.
Thanks ! Best regards Le 12/05/2022 à 11:28, Julien Lepiller a écrit :
guix install something installs for the current user. Note that, if you do that as root, the package is also only available to root. The only way to install or remove a global package is through guix system and its configuration file.I don't know how guix home interacts with other solutions.We don't have a good solution for secrets. We advise to manage the "out-of-band" to make sure that you don't share the secret accidentally (eg. publishing your configuration with others) and that the secret doesn't end up in the store (it's world-readable).On May 12, 2022 10:40:18 AM GMT+02:00, "Sébastien Rey-Coyrehourcq" <sebastien.rey-coyrehou...@univ-rouen.fr> wrote:Thanks Julien, Ok i see, like you say jpoiret also say me that the concept are orthogonal, so if i understand well : - adding emacs as system package, i suppose this is available for all users - adding emacs as home package, i suppose this is available only for me And *guix install something* install for which, system or home or both ? Some other general questions : - About dotfile management, is it possible to use chezmoi, yadm, stow in // of guix home ? I'm interested by some example if you have. - About secrets management, i know this is very complicated in nix (there are one hundred way to do the things, more or less secure), how that works if i want to inject *secrets* into guix home scm file and maintain security when i share or publish my config with/to others ? Thanks, Best regards Le 11/05/2022 à 17:48, Julien Lepiller a écrit :Guix home and guix system are pretty similar as they are used to declaratively manage configuration. But, they are not mutually exclusive. Guix system is the only way to install and update the Guix System (hence the name ;)). Guix home manages your user's configuration (in /home) while guix system manages the system's configuration (traditionally in /etc, though less true for guix). The two are acting in a very similar on two different things. Also, you can use guix home on a foreign distro, or choose to not use guix home on the Guix System. HTH! On May 11, 2022 4:55:23 PM GMT+02:00, "Sébastien Rey-Coyrehourcq" <sebastien.rey-coyrehou...@univ-rouen.fr> wrote: Hi, My other question remain about guix home / guix system relation, and sudo, but jpoiret found my main problem, my channels.scm are not well defined / not good ... - I made (cons * (channel ...)) (cons* (channel ...)) etc. - and .. the correct way is (cons * (channel ...) (channel ...)) Everything run fine now with *guix system reconfigure /.config/guix/system.scm* Best Le 11/05/2022 à 16:36, Sébastien Rey-Coyrehourcq a écrit : Hi, Thanks Julien, I see on the doc that *sudo* run command as user and not as root like other distro. So, to be sure, if i run *sudo guix something*, i don't change user to run this command isn't it ? Actually i only work with my account "myuser" into group ("users","wheel",etc.) using or not using *sudo* (this is not clear when i need or not) for running *guix* command. About the commands with /.config/guix/channels.scm (see content here https://paste.debian.net/1240553) : a) *guix describe* and *sudo guix describe* and *sudo -E guix describe* return Génération 7 11 mai 2022 16:01:25 (actuelle) guix d24ad39 URL du dépôt : https://git.savannah.gnu.org/git/guix.git branche : master commit : d24ad3949127a938cad306f0524c120afe5e2e4f b) *guix system describe* return Génération 7 10 mai 2022 12:39:34 (actuelle) nom de fichier : /var/guix/profiles/system-7-link nom de fichier canonique : /gnu/store/az1ff4ll80dbrbkayc4y0jqgnc2m37mp-system étiquette : GNU with Linux 5.17.5 chargeur de démarrage : grub-efi périphérique racine : /dev/mapper/cryptroot noyau : /gnu/store/0ffifgs0ixgz0bf1pcahkfdkx9f7h720-linux-5.17.5/bzImage canaux : nonguix: URL du dépôt : https://gitlab.com/nonguix/nonguix branche : master commit : 1de0c32142c54bc73af5556d5e45c77152b31f0f guix: URL du dépôt : https://git.savannah.gnu.org/git/guix.git branche : master commit : d775a24344d4a910f6a19072c595bdafcf104b6f fichier de configuration : /gnu/store/idr8ds86m69gbx217g5h3qm6m353wliz-configuration.scm c) *guix home describe* return Génération 1 10 mai 2022 16:59:14 (actuelle) nom de fichier : /var/guix/profiles/per-user/reyman/guix-home-1-link nom de fichier canonique : /gnu/store/3q599hyjkx8c5ywsdy2gqfmx2bjzgzmm-home canaux : flat: URL du dépôt : https://github.com/flatwhatson/guix-channel.git branche : master commit : 094746c1e2e90f2df1e598ab1fd0abb4d75ce84d guix: URL du dépôt : https://git.savannah.gnu.org/git/guix.git branche : master commit : 0f705472126f7b935e0783bcd8fec831b7a0593b fichier de configuration : /gnu/store/ip90ffd0bzlr7j6kw5ky2pgxpyq1x23c-configuration.scm With jpoiret, i try to resolve the issue on chat, i also try to run manually *guix pull -C ./config/guix/channels.scm* without success. A *command -v guix* return */home/myuser/.config/current/bin/guix* Best regards, SR Le 11/05/2022 à 12:47, Julien Lepiller a écrit : Hi Sébastien, When you run guix describe, it's running the guix for your user, which miggt be different from the one you run when you use sudo. That could explain why the modules are not found. I don't think guix home has anything to do with that. I noticed that the first time you use sudo -E, whereas you use only sudo on step 5. Mayée that's why it fails? I would run sudo guix describe and sudo -E guix describe to see how the two might be different from your user's guix :) HTH! On May 11, 2022 11:09:19 AM GMT+02:00, "Sébastien Rey-Coyrehourcq" <sebastien.rey-coyrehou...@univ-rouen.fr> wrote: Hi Guix people :) I'm starting guix, picking information when needed into documentation. I'm facing difficulties with channels.scm since i start using "guix home", i read the doc page, but i need some other things to understand. Here my logic to start just after install : 1 - I modify my //etc/guix/channels.scm/ file to add some modules : /nonguix/ (my computer don't work well without) and /emacs-native-dep/ from flatwhatson flat channel. 2 - I /guix -E guix system reconfigure /etc/config.scm/, /guix pull/, and everything goes well 3 - Like explained in the doc, I run /guix home import ~/src/guix-config /that generate /a //home-configuration.scm// / /4 - /Into /home-configuration.scm///i add the package htop and /emacs-native-comp/ 5 - In the guix home doc the next command is /guix home reconfigure config.scm /but this is probably a typo and i run /guix home reconfigure ~/src/guix-config/home-configuration.scm/ 6 - Everything goes well, emacs-native-dep compile during 1 hour, problems arrive after that. 7 - I'm moving the //etc/guix/config.scm/ and //etc/guix/channels.scm /to my home /~/.config/guix/ , /and i run /sudo guix system reconfigure ~/.config/guix/system.scm///*, that fail*/, /it seems the module (nongnu and emacs-native-dep) are not referenced, like the error say /"no code for module ( nongnu ..." /But when i run /guix system describe/, the corresponding channel are well defined. / / After that, i try many thing, like moving channels.scm and system.scm back to /etc/guix/ but every reconfigure command fail in link with channel/module not recognized (emacs-native-dep or nongnu) - /guix home reconfigure ~/src/guix-config/home-configuration.scm/ - /guix system reconfigure ~/.config/guix/system.scm/ - /guix system reconfigure ~/etc/guix/config.scm/ So my question is first, why that fail after switching to guix home ? and how and where i need to define/set correctly the /channel.scm/ file to repair that ? For example, /guix system//describe/ and /guix home describe/ and /guix describe/ return all different channel referenced, how i manage that ? I suppose there is a "workflow to use well guix home"? but this is not actually in the doc. For example, perhaps after creating and switching to guix home profile, running guix system is impossible or prohibited ? I suppose this will be added in the future. Thanks a lot for your help. ------------------------------------------------------------------------Sebastien Rey-C //
OpenPGP_0xD262AFCCE42732D3.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature