unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Dominic Martinez <dom@dominicm.dev>
To: sebastien.rey-coyrehourcq@univ-rouen.fr
Cc: "Daniel Meißner" <daniel.meissner-i4k@ruhr-uni-bochum.de>,
	"Julien Lepiller" <julien@lepiller.eu>,
	help-guix@gnu.org
Subject: Re: Guix home, guix system, channels, some noob questions
Date: Wed, 25 May 2022 20:31:31 -0400	[thread overview]
Message-ID: <87zgj56rm6.fsf@dominicm.dev> (raw)
In-Reply-To: <2e112f4a-980c-f3fb-167f-624914a71384@univ-rouen.fr>

[-- 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 --]

  parent reply	other threads:[~2022-05-26  0:55 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87zgj56rm6.fsf@dominicm.dev \
    --to=dom@dominicm.dev \
    --cc=daniel.meissner-i4k@ruhr-uni-bochum.de \
    --cc=help-guix@gnu.org \
    --cc=julien@lepiller.eu \
    --cc=sebastien.rey-coyrehourcq@univ-rouen.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).