unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* Guix home, guix system, channels, some noob questions
@ 2022-05-11  9:09 Sébastien Rey-Coyrehourcq
  2022-05-11 10:47 ` Julien Lepiller
  0 siblings, 1 reply; 23+ messages in thread
From: Sébastien Rey-Coyrehourcq @ 2022-05-11  9:09 UTC (permalink / raw)
  To: help-guix


[-- Attachment #1.1.1: Type: text/plain, Size: 2510 bytes --]

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


//


[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 8861 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Guix home, guix system, channels, some noob questions
  2022-05-11  9:09 Guix home, guix system, channels, some noob questions Sébastien Rey-Coyrehourcq
@ 2022-05-11 10:47 ` Julien Lepiller
  2022-05-11 14:36   ` Sébastien Rey-Coyrehourcq
  0 siblings, 1 reply; 23+ messages in thread
From: Julien Lepiller @ 2022-05-11 10:47 UTC (permalink / raw)
  To: Sébastien Rey-Coyrehourcq, help-guix

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-coyrehourcq@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
>
>
>//
>

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Guix home, guix system, channels, some noob questions
  2022-05-11 10:47 ` Julien Lepiller
@ 2022-05-11 14:36   ` Sébastien Rey-Coyrehourcq
  2022-05-11 14:55     ` Sébastien Rey-Coyrehourcq
  0 siblings, 1 reply; 23+ messages in thread
From: Sébastien Rey-Coyrehourcq @ 2022-05-11 14:36 UTC (permalink / raw)
  To: Julien Lepiller, help-guix


[-- Attachment #1.1.1: Type: text/plain, Size: 6125 bytes --]

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-coyrehourcq@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
>
>
>     //
>

[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 8861 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Guix home, guix system, channels, some noob questions
  2022-05-11 14:36   ` Sébastien Rey-Coyrehourcq
@ 2022-05-11 14:55     ` Sébastien Rey-Coyrehourcq
  2022-05-11 15:48       ` Julien Lepiller
  2022-05-11 21:56       ` Mekeor Melire
  0 siblings, 2 replies; 23+ messages in thread
From: Sébastien Rey-Coyrehourcq @ 2022-05-11 14:55 UTC (permalink / raw)
  To: Julien Lepiller, help-guix

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-coyrehourcq@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
>>
>>
>>     //
>>


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Guix home, guix system, channels, some noob questions
  2022-05-11 14:55     ` Sébastien Rey-Coyrehourcq
@ 2022-05-11 15:48       ` Julien Lepiller
  2022-05-12  8:40         ` Sébastien Rey-Coyrehourcq
  2022-05-11 21:56       ` Mekeor Melire
  1 sibling, 1 reply; 23+ messages in thread
From: Julien Lepiller @ 2022-05-11 15:48 UTC (permalink / raw)
  To: sebastien.rey-coyrehourcq, Sébastien Rey-Coyrehourcq,
	help-guix

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-coyrehourcq@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-coyrehourcq@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
>>> 
>>> 
>>>     //
>>> 

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Guix home, guix system, channels, some noob questions
  2022-05-11 14:55     ` Sébastien Rey-Coyrehourcq
  2022-05-11 15:48       ` Julien Lepiller
@ 2022-05-11 21:56       ` Mekeor Melire
  1 sibling, 0 replies; 23+ messages in thread
From: Mekeor Melire @ 2022-05-11 21:56 UTC (permalink / raw)
  To: sebastien.rey-coyrehourcq; +Cc: help-guix

2022-05-11 / 16:55 / sebastien.rey-coyrehourcq@univ-rouen.fr:

> 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 ...))


For the record: Make sure you use (cons* …) and not (cons * …), i.e.
don't add a space there. The identifier is `cons*`. :)


> 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-coyrehourcq@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
> >>
> >>
> >>     //
> >>



^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Guix home, guix system, channels, some noob questions
  2022-05-11 15:48       ` Julien Lepiller
@ 2022-05-12  8:40         ` Sébastien Rey-Coyrehourcq
  2022-05-12  9:28           ` Julien Lepiller
  0 siblings, 1 reply; 23+ messages in thread
From: Sébastien Rey-Coyrehourcq @ 2022-05-12  8:40 UTC (permalink / raw)
  To: Julien Lepiller, help-guix


[-- Attachment #1.1.1: Type: text/plain, Size: 9398 bytes --]

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-coyrehourcq@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-coyrehourcq@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     // 
>

[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 8861 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Guix home, guix system, channels, some noob questions
  2022-05-12  8:40         ` Sébastien Rey-Coyrehourcq
@ 2022-05-12  9:28           ` Julien Lepiller
  2022-05-12 12:32             ` Sébastien Rey-Coyrehourcq
  0 siblings, 1 reply; 23+ messages in thread
From: Julien Lepiller @ 2022-05-12  9:28 UTC (permalink / raw)
  To: Sébastien Rey-Coyrehourcq, help-guix

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-coyrehourcq@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-coyrehourcq@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-coyrehourcq@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     // 

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Guix home, guix system, channels, some noob questions
  2022-05-12  9:28           ` Julien Lepiller
@ 2022-05-12 12:32             ` Sébastien Rey-Coyrehourcq
  2022-05-17  7:26               ` Daniel Meißner
  0 siblings, 1 reply; 23+ messages in thread
From: Sébastien Rey-Coyrehourcq @ 2022-05-12 12:32 UTC (permalink / raw)
  To: Julien Lepiller, help-guix


[-- Attachment #1.1.1: Type: text/plain, Size: 12206 bytes --]

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/sshpass

Ok 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-coyrehourcq@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-coyrehourcq@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-coyrehourcq@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     // 
>>

[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 8861 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Guix home, guix system, channels, some noob questions
  2022-05-12 12:32             ` Sébastien Rey-Coyrehourcq
@ 2022-05-17  7:26               ` Daniel Meißner
  2022-05-17  8:01                 ` Sébastien Rey-Coyrehourcq
  0 siblings, 1 reply; 23+ messages in thread
From: Daniel Meißner @ 2022-05-17  7:26 UTC (permalink / raw)
  To: Sébastien Rey-Coyrehourcq; +Cc: Julien Lepiller, help-guix

Hi Guix,

Sébastien Rey-Coyrehourcq writes:

> 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 ?

‘guix install’ installs into the current user’s profile which can be
found at ~/.guix-profile whereas ‘guix home’ creates an immutable
profile under ~/.guix-home/profile.¹  You can install the same package to
different profiles but of course they will be built only once (provided
you use the same Guix revision).  You can list the packages which are
installed in your Guix home profile via:

  guix package --profile="$HOME/.guix-home/profile" --list-installed

Best



¹ IIUC the profile under ~/.guix-profile is also immutable (as are all
  profiles).  ‘guix install icecat’, for example, would create a new
  profile that contains all packages from the previous generation of
  ~/.guix-profile plus the packages icecat and then it would link the
  new profile to ~/.guix-profile.  In contrast you cannot do the same
  with ‘guix install’ for ~/.guix-home/profile.  Invoking

    guix install --profile="$HOME/.guix-home/profile" icecat

  to try to install icecat to the profile ~/.guix-home/profile yields:

    guix install: error: open-file: Read-only file system: "/home/daniel/.guix-home/profile.lock"



--
Daniel


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Guix home, guix system, channels, some noob questions
  2022-05-17  7:26               ` Daniel Meißner
@ 2022-05-17  8:01                 ` Sébastien Rey-Coyrehourcq
  2022-05-17  8:57                   ` Daniel Meißner
  0 siblings, 1 reply; 23+ messages in thread
From: Sébastien Rey-Coyrehourcq @ 2022-05-17  8:01 UTC (permalink / raw)
  To: Daniel Meißner; +Cc: Julien Lepiller, help-guix


[-- Attachment #1.1.1: Type: text/plain, Size: 2580 bytes --]


Le 17/05/2022 à 09:26, Daniel Meißner a écrit :
> Hi Guix,
>
> Sébastien Rey-Coyrehourcq writes:
>
>> 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 ?
> ‘guix install’ installs into the current user’s profile which can be
> found at ~/.guix-profile whereas ‘guix home’ creates an immutable
> profile under ~/.guix-home/profile.¹  You can install the same package to
> different profiles but of course they will be built only once (provided
> you use the same Guix revision).  You can list the packages which are
> installed in your Guix home profile via:
>
>    guix package --profile="$HOME/.guix-home/profile" --list-installed
>
> Best
>
>
>
> ¹ IIUC the profile under ~/.guix-profile is also immutable (as are all
>    profiles).  ‘guix install icecat’, for example, would create a new
>    profile that contains all packages from the previous generation of
>    ~/.guix-profile plus the packages icecat and then it would link the
>    new profile to ~/.guix-profile.  In contrast you cannot do the same
>    with ‘guix install’ for ~/.guix-home/profile.  Invoking
>
>      guix install --profile="$HOME/.guix-home/profile" icecat
>
>    to try to install icecat to the profile ~/.guix-home/profile yields:
>
>      guix install: error: open-file: Read-only file system: "/home/daniel/.guix-home/profile.lock"
>
Thanks Daniel,

So if i understand well, in the common use case, if you install guix 
home and use it in parallel with guix install, these profile are 
"cumulative",
software installed are available no matter how I set them up (guix 
install or using guix home declarative file + reconfigure) ?

It is a bit confusing at first for new user, what's the best workflow, 
using the guix home declarative file and "reconfigure" or directly guix 
install ?

SRC

>
> --
> Daniel

[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 8861 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Guix home, guix system, channels, some noob questions
  2022-05-17  8:01                 ` Sébastien Rey-Coyrehourcq
@ 2022-05-17  8:57                   ` Daniel Meißner
  2022-05-17  9:20                     ` Sébastien Rey-Coyrehourcq
  0 siblings, 1 reply; 23+ messages in thread
From: Daniel Meißner @ 2022-05-17  8:57 UTC (permalink / raw)
  To: Sébastien Rey-Coyrehourcq; +Cc: Julien Lepiller, help-guix

Hi Sébastien,

Sébastien Rey-Coyrehourcq writes:

> Thanks Daniel,
>
> So if i understand well, in the common use case, if you install guix
> home and use it in parallel with guix install, these profile are 
> "cumulative",
> software installed are available no matter how I set them up (guix
> install or using guix home declarative file + reconfigure) ?

Yes, these two profiles are normally both loaded in the sense that the
shell scripts ~/.guix-profile/etc/profile and
~/.guix-home/setup-environment are sourced.

> It is a bit confusing at first for new user, what's the best workflow,
> using the guix home declarative file and "reconfigure" or directly
> guix install ?

It depends on what you want to achieve.  You could use also both at the
same time.  I like to use only Guix home to manage the packages that I
need on a regular basis.  However, this is mainly because I also have
some dotfiles in my home-environment.  If you just want to declaratively
manage the packages you use, you could also do it with manifests¹.
Additionally, sometimes, when I need a package, that I presumably only
use once, I use ‘guix shell’² for it.

Best


¹ https://guix.gnu.org/en/manual/devel/en/html_node/Writing-Manifests.html
² https://guix.gnu.org/en/manual/devel/en/html_node/Invoking-guix-shell.html#Invoking-guix-shell

--
Daniel


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Guix home, guix system, channels, some noob questions
  2022-05-17  8:57                   ` Daniel Meißner
@ 2022-05-17  9:20                     ` Sébastien Rey-Coyrehourcq
  2022-05-17 10:15                       ` Daniel Meißner
  0 siblings, 1 reply; 23+ messages in thread
From: Sébastien Rey-Coyrehourcq @ 2022-05-17  9:20 UTC (permalink / raw)
  To: Daniel Meißner; +Cc: Julien Lepiller, help-guix


[-- Attachment #1.1.1: Type: text/plain, Size: 1792 bytes --]


Le 17/05/2022 à 10:57, Daniel Meißner a écrit :
> Hi Sébastien,
>
> Sébastien Rey-Coyrehourcq writes:
>
>> Thanks Daniel,
>>
>> So if i understand well, in the common use case, if you install guix
>> home and use it in parallel with guix install, these profile are
>> "cumulative",
>> software installed are available no matter how I set them up (guix
>> install or using guix home declarative file + reconfigure) ?
> Yes, these two profiles are normally both loaded in the sense that the
> shell scripts ~/.guix-profile/etc/profile and
> ~/.guix-home/setup-environment are sourced.
Ok !
>
>> It is a bit confusing at first for new user, what's the best workflow,
>> using the guix home declarative file and "reconfigure" or directly
>> guix install ?
> It depends on what you want to achieve.  You could use also both at the
> same time.  I like to use only Guix home to manage the packages that I
> need on a regular basis.  However, this is mainly because I also have
> some dotfiles in my home-environment.  If you just want to declaratively
> manage the packages you use, you could also do it with manifests¹.
> Additionally, sometimes, when I need a package, that I presumably only
> use once, I use ‘guix shell’² for it.

Ok, i suppose manifest are similar to config.scm used for reconfiguring 
system for exemple.

If you have some example of guix home profile that use dotfile manager 
i'm interested :)
I'm planned to use chezmoi with pass (https://www.chezmoi.io/) in go 
that use git to version file.

Thanks !

>
> Best
>
>
> ¹ https://guix.gnu.org/en/manual/devel/en/html_node/Writing-Manifests.html
> ² https://guix.gnu.org/en/manual/devel/en/html_node/Invoking-guix-shell.html#Invoking-guix-shell
>
> --
> Daniel

[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 8861 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Guix home, guix system, channels, some noob questions
  2022-05-17  9:20                     ` Sébastien Rey-Coyrehourcq
@ 2022-05-17 10:15                       ` Daniel Meißner
  2022-05-17 16:02                         ` Sébastien Rey-Coyrehourcq
  0 siblings, 1 reply; 23+ messages in thread
From: Daniel Meißner @ 2022-05-17 10:15 UTC (permalink / raw)
  To: Sébastien Rey-Coyrehourcq; +Cc: Julien Lepiller, help-guix

Sébastien Rey-Coyrehourcq writes:

> If you have some example of guix home profile that use dotfile manager
> i'm interested :)
> I'm planned to use chezmoi with pass (https://www.chezmoi.io/) in go
> that use git to version file.

IIUC you can use Guix home directly and dispense with chezmoi.  However,
I did not know chezmoi before so there might be a use-case that is not
covered by Guix home, in principle though, Guix home is itself a dotfile
manager.  I use it for example to manage my Git config, Emacs config and
others.  The manual has a chapter about it:

https://guix.gnu.org/de/manual/devel/en/html_node/Home-Configuration.html#Home-Configuration

A simple example would be the following:

--8<---------------cut here---------------start------------->8---
(use-modules (gnu home)
             (gnu home services)
             (gnu home services shells)
             (gnu services)
             (gnu packages admin)
             (guix gexp))


(home-environment
 (packages (list htop))
 (services
  (list
   (service home-bash-service-type
            (home-bash-configuration
             (environment-variables
              '(("HISTFILE" . "$XDG_STATE_HOME/bash_history")))))

   (simple-service 'git-config
                   home-files-service-type
                   (list `(".gitconfig"
                           ,(plain-file "gitconfig"
                                        "[user]
	email = daniel.meissner-i4k@ruhr-uni-bochum.de
	name = Daniel Meißner
")))))))
--8<---------------cut here---------------end--------------->8---

This would create a home-environment with the package ‘htop’, a bash
configuration that sets the HISTFILE env var as well as the .gitconfig
file with the above contents.  You can test this environment using:

  guix home container test-home.scm

This spawns a shell where your home environment is set up as specified
but using a container.  So your actual home directory is not modified.
You don’t have to embed all your config files inside the Scheme file
directly.  You can also load from other files, for example, you could
replace the ,(plain-file ...) call with a ,(local-file "gitconfig.txt")
which would use the contents of the file gitconfig.txt which lives next
to your Scheme file for the generation of the .gitconfig file.

Best

--
Daniel


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Guix home, guix system, channels, some noob questions
  2022-05-17 10:15                       ` Daniel Meißner
@ 2022-05-17 16:02                         ` Sébastien Rey-Coyrehourcq
  2022-05-25 13:34                           ` Daniel Meißner
  2022-05-26  0:31                           ` Dominic Martinez
  0 siblings, 2 replies; 23+ messages in thread
From: Sébastien Rey-Coyrehourcq @ 2022-05-17 16:02 UTC (permalink / raw)
  To: Daniel Meißner; +Cc: Julien Lepiller, help-guix


[-- Attachment #1.1.1: Type: text/plain, Size: 3967 bytes --]


Le 17/05/2022 à 12:15, Daniel Meißner a écrit :
> Sébastien Rey-Coyrehourcq writes:
>
>> If you have some example of guix home profile that use dotfile manager
>> i'm interested :)
>> I'm planned to use chezmoi with pass (https://www.chezmoi.io/) in go
>> that use git to version file.
> IIUC you can use Guix home directly and dispense with chezmoi.  However,
> I did not know chezmoi before so there might be a use-case that is not
> covered by Guix home, in principle though, Guix home is itself a dotfile
> manager.

Thanks,  in fact when i see *guix home* that was my first intention 
(like home-manager in nix).

The only things holding me back at the moment is two things :

a) doom emacs flavour, how to manage the fact that doom use straigt.el 
to maintain packages

I suppose i only save the .doom.d and ignore the .emacs.d that contain 
all packages downloaded by .doom.d/init.el and config.el

b) "password / secrets" management ?

There are two things, file to directly encrypt (like ssh key) and 
password to hide into configuration file (templating)

b.1) So, that need to encrypt/decrypt more or less "on-the-fly" the 
files using gpg/yubikey or age like yadm ( 
https://yadm.io/docs/encryption ) or chezmoi 
(https://www.chezmoi.io/user-guide/encryption/gpg/) do ?

b.2) And for templating, like replacing ${mypassword} into some 
configuration file by getting info stored into password manager like 
"pass", i also don't know how to do that.

Actually I have no idea how to do that with guile / guix home for b.1 / b.2

c) synchronization of my .dotfiles between two different OS/System : 
Ubuntu (home) / Guix (work & home)

Lot of people use Ubuntu in my work environment, so i need to maintain 
some sort of compatibility between both systems for my dotfile (before 
everyone use guix in 2030 ? :D).

I suppose guix home work well with guix on top of ubuntu ?

Best.

>   I use it for example to manage my Git config, Emacs config and
> others.  The manual has a chapter about it:
>
> https://guix.gnu.org/de/manual/devel/en/html_node/Home-Configuration.html#Home-Configuration
>
> A simple example would be the following:
>
> --8<---------------cut here---------------start------------->8---
> (use-modules (gnu home)
>               (gnu home services)
>               (gnu home services shells)
>               (gnu services)
>               (gnu packages admin)
>               (guix gexp))
>
>
> (home-environment
>   (packages (list htop))
>   (services
>    (list
>     (service home-bash-service-type
>              (home-bash-configuration
>               (environment-variables
>                '(("HISTFILE" . "$XDG_STATE_HOME/bash_history")))))
>
>     (simple-service 'git-config
>                     home-files-service-type
>                     (list `(".gitconfig"
>                             ,(plain-file "gitconfig"
>                                          "[user]
> 	email = daniel.meissner-i4k@ruhr-uni-bochum.de
> 	name = Daniel Meißner
> ")))))))
> --8<---------------cut here---------------end--------------->8---
>
> This would create a home-environment with the package ‘htop’, a bash
> configuration that sets the HISTFILE env var as well as the .gitconfig
> file with the above contents.  You can test this environment using:
>
>    guix home container test-home.scm
>
> This spawns a shell where your home environment is set up as specified
> but using a container.  So your actual home directory is not modified.
> You don’t have to embed all your config files inside the Scheme file
> directly.  You can also load from other files, for example, you could
> replace the ,(plain-file ...) call with a ,(local-file "gitconfig.txt")
> which would use the contents of the file gitconfig.txt which lives next
> to your Scheme file for the generation of the .gitconfig file.
>
> Best
>
> --
> Daniel

[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 8861 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Guix home, guix system, channels, some noob questions
  2022-05-17 16:02                         ` Sébastien Rey-Coyrehourcq
@ 2022-05-25 13:34                           ` Daniel Meißner
  2022-05-25 18:45                             ` Efraim Flashner
  2022-07-11  6:06                             ` Joshua Branson
  2022-05-26  0:31                           ` Dominic Martinez
  1 sibling, 2 replies; 23+ messages in thread
From: Daniel Meißner @ 2022-05-25 13:34 UTC (permalink / raw)
  To: Sébastien Rey-Coyrehourcq; +Cc: Julien Lepiller, help-guix

Hi Sébastien,

Sébastien Rey-Coyrehourcq writes:

> Thanks,  in fact when i see *guix home* that was my first intention
> (like home-manager in nix).
>
> The only things holding me back at the moment is two things :
>
> a) doom emacs flavour, how to manage the fact that doom use straigt.el
> to maintain packages

I am sorry, I am not using Doom Emacs, so I cannot be of any help in
this regard.  I manage my (relatively few) Emacs packages with Guix
directly.

> b) "password / secrets" management ?
>
> There are two things, file to directly encrypt (like ssh key) and
> password to hide into configuration file (templating)
>
> b.1) So, that need to encrypt/decrypt more or less "on-the-fly" the
> files using gpg/yubikey or age like yadm (
> https://yadm.io/docs/encryption ) or chezmoi
> (https://www.chezmoi.io/user-guide/encryption/gpg/) do ?
>
> b.2) And for templating, like replacing ${mypassword} into some
> configuration file by getting info stored into password manager like
> "pass", i also don't know how to do that.
>
> Actually I have no idea how to do that with guile / guix home for b.1
> / b.2

Yes, that's indeed a problem and I haven't come up with a solution.  I
simply copy the respective files from machine to machine.  Maybe someone
else on this list has a better idea...

> c) synchronization of my .dotfiles between two different OS/System :
> Ubuntu (home) / Guix (work & home)
>
> Lot of people use Ubuntu in my work environment, so i need to maintain
> some sort of compatibility between both systems for my dotfile (before
> everyone use guix in 2030 ? :D).
>
> I suppose guix home work well with guix on top of ubuntu ?

Yes, I think so, I haven't tested it though.  You can, in principle,
adapt the generated dotfiles to the machines you're deploying them to.
You could, for example, use the hostname to distinguish them (untested):

--8<---------------cut here---------------start------------->8---
(mixed-text-file
 "test.txt"
 "setting = "
 #~(case (gethostname)
     (("hosta") => "foo")
     (("hostb") => "bar")
     (else => "foobar")))
--8<---------------cut here---------------end--------------->8---

Best

-- 
Daniel


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Guix home, guix system, channels, some noob questions
  2022-05-25 13:34                           ` Daniel Meißner
@ 2022-05-25 18:45                             ` Efraim Flashner
  2022-07-11  6:06                             ` Joshua Branson
  1 sibling, 0 replies; 23+ messages in thread
From: Efraim Flashner @ 2022-05-25 18:45 UTC (permalink / raw)
  To: Daniel Meißner
  Cc: Sébastien Rey-Coyrehourcq, Julien Lepiller, help-guix

[-- Attachment #1: Type: text/plain, Size: 2898 bytes --]

On Wed, May 25, 2022 at 03:34:58PM +0200, Daniel Meißner wrote:
> Hi Sébastien,
> 
> Sébastien Rey-Coyrehourcq writes:
> 
> > Thanks,  in fact when i see *guix home* that was my first intention
> > (like home-manager in nix).
> >
> > The only things holding me back at the moment is two things :
> >
> > a) doom emacs flavour, how to manage the fact that doom use straigt.el
> > to maintain packages
> 
> I am sorry, I am not using Doom Emacs, so I cannot be of any help in
> this regard.  I manage my (relatively few) Emacs packages with Guix
> directly.
> 
> > b) "password / secrets" management ?
> >
> > There are two things, file to directly encrypt (like ssh key) and
> > password to hide into configuration file (templating)
> >
> > b.1) So, that need to encrypt/decrypt more or less "on-the-fly" the
> > files using gpg/yubikey or age like yadm (
> > https://yadm.io/docs/encryption ) or chezmoi
> > (https://www.chezmoi.io/user-guide/encryption/gpg/) do ?
> >
> > b.2) And for templating, like replacing ${mypassword} into some
> > configuration file by getting info stored into password manager like
> > "pass", i also don't know how to do that.
> >
> > Actually I have no idea how to do that with guile / guix home for b.1
> > / b.2
> 
> Yes, that's indeed a problem and I haven't come up with a solution.  I
> simply copy the respective files from machine to machine.  Maybe someone
> else on this list has a better idea...
> 
> > c) synchronization of my .dotfiles between two different OS/System :
> > Ubuntu (home) / Guix (work & home)
> >
> > Lot of people use Ubuntu in my work environment, so i need to maintain
> > some sort of compatibility between both systems for my dotfile (before
> > everyone use guix in 2030 ? :D).
> >
> > I suppose guix home work well with guix on top of ubuntu ?
> 
> Yes, I think so, I haven't tested it though.  You can, in principle,
> adapt the generated dotfiles to the machines you're deploying them to.
> You could, for example, use the hostname to distinguish them (untested):
> 
> --8<---------------cut here---------------start------------->8---
> (mixed-text-file
>  "test.txt"
>  "setting = "
>  #~(case (gethostname)
>      (("hosta") => "foo")
>      (("hostb") => "bar")
>      (else => "foobar")))
> --8<---------------cut here---------------end--------------->8---
> 

I check for /run/current-system/provenance¹ and based on that I make
some changes to what gets placed in my dot-files.

¹ https://git.sr.ht/~efraim/guix-config/tree/master/item/efraim-home.scm#L31
² https://git.sr.ht/~efraim/guix-config/tree/master/item/efraim-home.scm#L342-346

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Guix home, guix system, channels, some noob questions
  2022-05-17 16:02                         ` Sébastien Rey-Coyrehourcq
  2022-05-25 13:34                           ` Daniel Meißner
@ 2022-05-26  0:31                           ` Dominic Martinez
  2022-06-01 20:38                             ` Sébastien Rey-Coyrehourcq
  1 sibling, 1 reply; 23+ messages in thread
From: Dominic Martinez @ 2022-05-26  0:31 UTC (permalink / raw)
  To: sebastien.rey-coyrehourcq; +Cc: Daniel Meißner, Julien Lepiller, help-guix

[-- Attachment #1: Type: text/plain, Size: 2755 bytes --]


Sébastien Rey-Coyrehourcq 
<sebastien.rey-coyrehourcq@univ-rouen.fr> writes:

> The only things holding me back at the moment is two things :
>
> a) doom emacs flavour, how to manage the fact that doom use 
> straigt.el
> to maintain packages

I don't think it's possible to use Doom with Guix emacs packages, 
but you can just set up Doom as you would on another distro. I did 
this while I transitioned to a Guix config, using 
~home-files-service-type~ to deploy my Doom config files.

> b) "password / secrets" management ?
>
> There are two things, file to directly encrypt (like ssh key) 
> and
> password to hide into configuration file (templating)
>
> b.1) So, that need to encrypt/decrypt more or less "on-the-fly" 
> the
> files using gpg/yubikey or age like yadm ( 
> https://yadm.io/docs/encryption ) or chezmoi
> (https://www.chezmoi.io/user-guide/encryption/gpg/) do ?

I use small wrappers around GPG's built in encryption 
(https://git.sr.ht/~dominicm/dotfiles/tree/main/item/System.org#L2663) 
and decryption 
(https://git.sr.ht/~dominicm/dotfiles/tree/main/item/System.org#L2691) 
functions to manage secrets directly in my repository on the 
fly. Then I can have supported services call the script to get 
secrets without storing them in plain-text 
(https://git.sr.ht/~dominicm/dotfiles/tree/main/item/System.org#L1648).

> b.2) And for templating, like replacing ${mypassword} into some
> configuration file by getting info stored into password manager 
> like 
> "pass", i also don't know how to do that.

Org makes this really convienent. Using noweb and shell scripts I 
can decrypt and insert secrets into templated areas when I tangle 
my configuration files. That way my repo only contains encrypted 
secrets, but as long as I have my GPG keys I can build my 
configuration files locally. See 
https://git.sr.ht/~dominicm/dotfiles/tree/main/item/System.org#L5 
and 
https://git.sr.ht/~dominicm/dotfiles/tree/main/item/System.org#L1937.

> c) synchronization of my .dotfiles between two different 
> OS/System :
> Ubuntu (home) / Guix (work & home)

I keep all my configuration in a git repository, then use ~guix 
home~ to put all the files in the right places. As others have 
noted, there are many ways to identify the current system and do 
system-specific operations. I personally use an environment 
variable to keep track, and wrap guix operations with scripts that 
detect the system and use different system/home configurations 
(https://git.sr.ht/~dominicm/dotfiles/tree/main/item/System.org#L2366). Then 
all I have to do is supply the script with the system name on the 
first run, and ~home-environment-variables-service-type~ takes it 
from there.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Guix home, guix system, channels, some noob questions
  2022-05-26  0:31                           ` Dominic Martinez
@ 2022-06-01 20:38                             ` Sébastien Rey-Coyrehourcq
  2022-06-12 19:32                               ` sebastien rey-coyrehourcq
  0 siblings, 1 reply; 23+ messages in thread
From: Sébastien Rey-Coyrehourcq @ 2022-06-01 20:38 UTC (permalink / raw)
  To: Dominic Martinez; +Cc: Daniel Meißner, Julien Lepiller, help-guix


[-- Attachment #1.1.1: Type: text/plain, Size: 3166 bytes --]

Thanks Julien, Daniel, Dominic, Efraim for these very detailed answers 
and snippets, that will be very useful in my current migration from 
Ubuntu to Guix.

I answer here if i need some highlights or if i found interesting 
questions or remarks to share with you.

Best regards,

Le 26/05/2022 à 02:31, Dominic Martinez a écrit :
>
> Sébastien Rey-Coyrehourcq <sebastien.rey-coyrehourcq@univ-rouen.fr> 
> writes:
>
>> The only things holding me back at the moment is two things :
>>
>> a) doom emacs flavour, how to manage the fact that doom use straigt.el
>> to maintain packages
>
> I don't think it's possible to use Doom with Guix emacs packages, but 
> you can just set up Doom as you would on another distro. I did this 
> while I transitioned to a Guix config, using ~home-files-service-type~ 
> to deploy my Doom config files.
>
>> b) "password / secrets" management ?
>>
>> There are two things, file to directly encrypt (like ssh key) and
>> password to hide into configuration file (templating)
>>
>> b.1) So, that need to encrypt/decrypt more or less "on-the-fly" the
>> files using gpg/yubikey or age like yadm ( 
>> https://yadm.io/docs/encryption ) or chezmoi
>> (https://www.chezmoi.io/user-guide/encryption/gpg/) do ?
>
> I use small wrappers around GPG's built in encryption 
> (https://git.sr.ht/~dominicm/dotfiles/tree/main/item/System.org#L2663) 
> and decryption 
> (https://git.sr.ht/~dominicm/dotfiles/tree/main/item/System.org#L2691) 
> functions to manage secrets directly in my repository on the fly. Then 
> I can have supported services call the script to get secrets without 
> storing them in plain-text 
> (https://git.sr.ht/~dominicm/dotfiles/tree/main/item/System.org#L1648).
>
>> b.2) And for templating, like replacing ${mypassword} into some
>> configuration file by getting info stored into password manager like 
>> "pass", i also don't know how to do that.
>
> Org makes this really convienent. Using noweb and shell scripts I can 
> decrypt and insert secrets into templated areas when I tangle my 
> configuration files. That way my repo only contains encrypted secrets, 
> but as long as I have my GPG keys I can build my configuration files 
> locally. See 
> https://git.sr.ht/~dominicm/dotfiles/tree/main/item/System.org#L5 and 
> https://git.sr.ht/~dominicm/dotfiles/tree/main/item/System.org#L1937.
>
>> c) synchronization of my .dotfiles between two different OS/System :
>> Ubuntu (home) / Guix (work & home)
>
> I keep all my configuration in a git repository, then use ~guix home~ 
> to put all the files in the right places. As others have noted, there 
> are many ways to identify the current system and do system-specific 
> operations. I personally use an environment variable to keep track, 
> and wrap guix operations with scripts that detect the system and use 
> different system/home configurations 
> (https://git.sr.ht/~dominicm/dotfiles/tree/main/item/System.org#L2366). 
> Then all I have to do is supply the script with the system name on the 
> first run, and ~home-environment-variables-service-type~ takes it from 
> there.

[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 8861 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Guix home, guix system, channels, some noob questions
  2022-06-01 20:38                             ` Sébastien Rey-Coyrehourcq
@ 2022-06-12 19:32                               ` sebastien rey-coyrehourcq
  2022-06-13 19:31                                 ` Dominic Martinez
  0 siblings, 1 reply; 23+ messages in thread
From: sebastien rey-coyrehourcq @ 2022-06-12 19:32 UTC (permalink / raw)
  To: sebastien.rey-coyrehourcq, Dominic Martinez
  Cc: Daniel Meißner, help-guix, Julien Lepiller

Hi,

I jump into guile world by learning and copy/pasting Dominic Martinez config :) 

Everything going pretty well but now i'm blocked with yubikey configuration. 

And without yubikey that contain your only private key to sign/decrypt everything, that's a little complicated ...

Running "gpg --card-status" my yubikey is correclty detected. That a good news ... BUT that's all, 
other command don't work, for example both : 

gpg --list-secret-keys

gpg --list-keys 

don't ask pin, and return nothing when yubikey is plugged ... 
gnome seahorse also see nothing ...
emacs see anything when i try to decipher thing ...

I reboot and retry without success ...

I miss something with this $# gpg-agent conf ? 

I post the home config here : 

https://gitlab.com/reyman64/dotfiles

June 1, 2022 10:38:09 PM CEST "Sébastien Rey-Coyrehourcq" <sebastien.rey-coyrehourcq@univ-rouen.fr> wrote:Thanks Julien, Daniel, Dominic, Efraim for these very detailed answers 
and snippets, that will be very useful in my current migration from 
Ubuntu to Guix.

I answer here if i need some highlights or if i found interesting 
questions or remarks to share with you.

Best regards,

Le 26/05/2022 à 02:31, Dominic Martinez a écrit :
>
> Sébastien Rey-Coyrehourcq <sebastien.rey-coyrehourcq@univ-rouen.fr> 
> writes:
>
>> The only things holding me back at the moment is two things :
>>
>> a) doom emacs flavour, how to manage the fact that doom use straigt.el
>> to maintain packages
>
> I don't think it's possible to use Doom with Guix emacs packages, but 
> you can just set up Doom as you would on another distro. I did this 
> while I transitioned to a Guix config, using ~home-files-service-type~ 
> to deploy my Doom config files.
>
>> b) "password / secrets" management ?
>>
>> There are two things, file to directly encrypt (like ssh key) and
>> password to hide into configuration file (templating)
>>
>> b.1) So, that need to encrypt/decrypt more or less "on-the-fly" the
>> files using gpg/yubikey or age like yadm ( 
>> https://yadm.io/docs/encryption ) or chezmoi
>> (https://www.chezmoi.io/user-guide/encryption/gpg/) do ?
>
> I use small wrappers around GPG's built in encryption 
> (https://git.sr.ht/~dominicm/dotfiles/tree/main/item/System.org#L2663) 
> and decryption 
> (https://git.sr.ht/~dominicm/dotfiles/tree/main/item/System.org#L2691) 
> functions to manage secrets directly in my repository on the fly. Then 
> I can have supported services call the script to get secrets without 
> storing them in plain-text 
> (https://git.sr.ht/~dominicm/dotfiles/tree/main/item/System.org#L1648).
>
>> b.2) And for templating, like replacing ${mypassword} into some
>> configuration file by getting info stored into password manager like 
>> "pass", i also don't know how to do that.
>
> Org makes this really convienent. Using noweb and shell scripts I can 
> decrypt and insert secrets into templated areas when I tangle my 
> configuration files. That way my repo only contains encrypted secrets, 
> but as long as I have my GPG keys I can build my configuration files 
> locally. See 
> https://git.sr.ht/~dominicm/dotfiles/tree/main/item/System.org#L5 and 
> https://git.sr.ht/~dominicm/dotfiles/tree/main/item/System.org#L1937.
>
>> c) synchronization of my .dotfiles between two different OS/System :
>> Ubuntu (home) / Guix (work & home)
>
> I keep all my configuration in a git repository, then use ~guix home~ 
> to put all the files in the right places. As others have noted, there 
> are many ways to identify the current system and do system-specific 
> operations. I personally use an environment variable to keep track, 
> and wrap guix operations with scripts that detect the system and use 
> different system/home configurations 
> (https://git.sr.ht/~dominicm/dotfiles/tree/main/item/System.org#L2366). 
> Then all I have to do is supply the script with the system name on the 
> first run, and ~home-environment-variables-service-type~ takes it from 
> there.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Guix home, guix system, channels, some noob questions
  2022-06-12 19:32                               ` sebastien rey-coyrehourcq
@ 2022-06-13 19:31                                 ` Dominic Martinez
  2022-06-14 10:36                                   ` Sébastien Rey-Coyrehourcq
  0 siblings, 1 reply; 23+ messages in thread
From: Dominic Martinez @ 2022-06-13 19:31 UTC (permalink / raw)
  To: sebastien rey-coyrehourcq; +Cc: Daniel Meißner, help-guix, Julien Lepiller

[-- Attachment #1: Type: text/plain, Size: 2171 bytes --]


sebastien rey-coyrehourcq 
<sebastien.rey-coyrehourcq@univ-rouen.fr> writes:

> Hi,
>
> I jump into guile world by learning and copy/pasting Dominic 
> Martinez config :)

Nice to know my config helped someone! Sorry it's a bit of a mess, 
I didn't really document anything.

> Everything going pretty well but now i'm blocked with yubikey 
> configuration.
>
> And without yubikey that contain your only private key to 
> sign/decrypt everything, that's a
> little complicated ...
>
> Running "gpg --card-status" my yubikey is correclty 
> detected. That a good news ... BUT
> that's all,
> other command don't work, for example both :
>
> gpg --list-secret-keys
> gpg --list-keys

When you say it doesn't work, do you mean it doesn't list any 
keys? If you have keys on your Yubikey that you used with GPG on a 
different system, you'll have to re-export the key stubs for GPG 
to use the Yubikey for authentication (see 
https://github.com/drduh/YubiKey-Guide#switching-between-two-or-more-yubikeys).

If you're getting other errors, you might need to enable some 
system services. For instance, you need the pcscd service 
(https://guix.gnu.org/manual/devel/en/guix.html#index-pcscd), and 
also the udev rules appropriate for your Yubikey model 
(https://github.com/Yubico/libfido2/blob/main/udev/70-u2f.rules). The 
below snippet should get all Yubikey functionality working:

#+begin_src scheme
(service pcscd-service-type)
(udev-rules-service 'yubikey-rules
                     (udev-rule
                      "70-u2f.rules"
                      (string-append
                       ;; All keys
                       "ACTION!=\"add|change\", 
                       GOTO=\"u2f_end\"\n"
                       ;; Yubikey
                       "KERNEL==\"hidraw*\", "
                       "SUBSYSTEM==\"hidraw\", "
                       "ATTRS{idVendor}==\"1050\", "
                        "ATTRS{idProduct}==\"0113|0114|0115|0116|0120|0121|0200|0402|0403|0406|0407|0410\", 
                        "
                       "TAG+=\"uaccess\", MODE=\"0660\"\n"
                       ;; End all keys
                       "LABEL=\"u2f_end\"")))
#+end_src

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Guix home, guix system, channels, some noob questions
  2022-06-13 19:31                                 ` Dominic Martinez
@ 2022-06-14 10:36                                   ` Sébastien Rey-Coyrehourcq
  0 siblings, 0 replies; 23+ messages in thread
From: Sébastien Rey-Coyrehourcq @ 2022-06-14 10:36 UTC (permalink / raw)
  To: Dominic Martinez; +Cc: Daniel Meißner, help-guix, Julien Lepiller


[-- Attachment #1.1.1: Type: text/plain, Size: 3086 bytes --]


Le 13/06/2022 à 21:31, Dominic Martinez a écrit :
>
> sebastien rey-coyrehourcq <sebastien.rey-coyrehourcq@univ-rouen.fr> 
> writes:
>
>> Hi,
>>
>> I jump into guile world by learning and copy/pasting Dominic Martinez 
>> config :)
>
> Nice to know my config helped someone! Sorry it's a bit of a mess, I 
> didn't really document anything.
I'm interested to better understand some Guile snippet of your config, 
if you're ok, is it possible to ask that in another mail or irc ?
>
>> Everything going pretty well but now i'm blocked with yubikey 
>> configuration.
>>
>> And without yubikey that contain your only private key to 
>> sign/decrypt everything, that's a
>> little complicated ...
>>
>> Running "gpg --card-status" my yubikey is correclty detected. That a 
>> good news ... BUT
>> that's all,
>> other command don't work, for example both :
>>
>> gpg --list-secret-keys
>> gpg --list-keys
>
> When you say it doesn't work, do you mean it doesn't list any keys? If 
> you have keys on your Yubikey that you used with GPG on a different 
> system, you'll have to re-export the key stubs for GPG to use the 
> Yubikey for authentication (see 
> https://github.com/drduh/YubiKey-Guide#switching-between-two-or-more-yubikeys).
>
Thanks! This only manipulation seems not enough and i finally found that 
importing public key is required, from server or directly from the key ....

yourkey.asc | gpg --import

After that, everything goes well !

> If you're getting other errors, you might need to enable some system 
> services. For instance, you need the pcscd service 
> (https://guix.gnu.org/manual/devel/en/guix.html#index-pcscd), and also 
> the udev rules appropriate for your Yubikey model 
> (https://github.com/Yubico/libfido2/blob/main/udev/70-u2f.rules). The 
> below snippet should get all Yubikey functionality working:
>
> #+begin_src scheme
> (service pcscd-service-type)
> (udev-rules-service 'yubikey-rules
>                     (udev-rule
>                      "70-u2f.rules"
>                      (string-append
>                       ;; All keys
>                       "ACTION!=\"add|change\",                       
> GOTO=\"u2f_end\"\n"
>                       ;; Yubikey
>                       "KERNEL==\"hidraw*\", "
>                       "SUBSYSTEM==\"hidraw\", "
>                       "ATTRS{idVendor}==\"1050\", "
> "ATTRS{idProduct}==\"0113|0114|0115|0116|0120|0121|0200|0402|0403|0406|0407|0410\", 
>                        "
>                       "TAG+=\"uaccess\", MODE=\"0660\"\n"
>                       ;; End all keys
>                       "LABEL=\"u2f_end\"")))
> #+end_src

I already copy paste this part from your config :)

Thanks again !

Sébastien RC.


[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 8861 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: Guix home, guix system, channels, some noob questions
  2022-05-25 13:34                           ` Daniel Meißner
  2022-05-25 18:45                             ` Efraim Flashner
@ 2022-07-11  6:06                             ` Joshua Branson
  1 sibling, 0 replies; 23+ messages in thread
From: Joshua Branson @ 2022-07-11  6:06 UTC (permalink / raw)
  To: Daniel Meißner
  Cc: Sébastien Rey-Coyrehourcq, Julien Lepiller, help-guix

Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de> writes:

> Hi Sébastien,
>
> Sébastien Rey-Coyrehourcq writes:
>
>> Thanks,  in fact when i see *guix home* that was my first intention
>> (like home-manager in nix).
>>
>> The only things holding me back at the moment is two things :
>>
>> a) doom emacs flavour, how to manage the fact that doom use straigt.el
>> to maintain packages

I actually use doom emacs on guix system.  I have not yet migrated to
guix home just yet.  I had an issue with doom emacs NOT having debbugs
installed.  This worked for me:

$ guix install emacs-debbugs

Then I opened up: .doom.d/config.el
(require 'debbugs-autoloads)

$ doom sync

Now I can use doom emacs and debbugs!

Maybe you can add other emacs packages to doom that way.

>> b) "password / secrets" management ?
>>
>> There are two things, file to directly encrypt (like ssh key) and
>> password to hide into configuration file (templating)
>>
>> b.1) So, that need to encrypt/decrypt more or less "on-the-fly" the
>> files using gpg/yubikey or age like yadm (
>> https://yadm.io/docs/encryption ) or chezmoi
>> (https://www.chezmoi.io/user-guide/encryption/gpg/) do ?
>>
>> b.2) And for templating, like replacing ${mypassword} into some
>> configuration file by getting info stored into password manager like
>> "pass", i also don't know how to do that.
>>

This is probably heresy...but I use an ~/.authinfo file.  It's a plain
text file.  I have never been able to figure out how to use a
~/.authinfo.gpg.  Or rather I did figure out how to use it...Then lost
my gpg key, and then lost all of my passwords.  So now I have an
.authinfo file, and I have a private git repo of my /home/joshua of
various files.  It's probably a poor way of doing it, but it's how I do it.

Hope that helps,

-- 

Joshua Branson
https://gnucode.me
https://video.hardlimit.com/a/joshua_branson/video-channels
mastodon: thegnuguy@fosstodon.org
Sent from Emacs, Gnus, and the Hurd!


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2022-07-11  6:07 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-11  9:09 Guix home, guix system, channels, some noob questions Sébastien Rey-Coyrehourcq
2022-05-11 10:47 ` Julien Lepiller
2022-05-11 14:36   ` Sébastien Rey-Coyrehourcq
2022-05-11 14:55     ` Sébastien Rey-Coyrehourcq
2022-05-11 15:48       ` Julien Lepiller
2022-05-12  8:40         ` Sébastien Rey-Coyrehourcq
2022-05-12  9:28           ` Julien Lepiller
2022-05-12 12:32             ` Sébastien Rey-Coyrehourcq
2022-05-17  7:26               ` Daniel Meißner
2022-05-17  8:01                 ` Sébastien Rey-Coyrehourcq
2022-05-17  8:57                   ` Daniel Meißner
2022-05-17  9:20                     ` Sébastien Rey-Coyrehourcq
2022-05-17 10:15                       ` Daniel Meißner
2022-05-17 16:02                         ` Sébastien Rey-Coyrehourcq
2022-05-25 13:34                           ` Daniel Meißner
2022-05-25 18:45                             ` Efraim Flashner
2022-07-11  6:06                             ` Joshua Branson
2022-05-26  0:31                           ` Dominic Martinez
2022-06-01 20:38                             ` Sébastien Rey-Coyrehourcq
2022-06-12 19:32                               ` sebastien rey-coyrehourcq
2022-06-13 19:31                                 ` Dominic Martinez
2022-06-14 10:36                                   ` Sébastien Rey-Coyrehourcq
2022-05-11 21:56       ` Mekeor Melire

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).