unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: "Sébastien Rey-Coyrehourcq" <sebastien.rey-coyrehourcq@univ-rouen.fr>
To: "Daniel Meißner" <daniel.meissner-i4k@ruhr-uni-bochum.de>
Cc: Julien Lepiller <julien@lepiller.eu>, help-guix@gnu.org
Subject: Re: Guix home, guix system, channels, some noob questions
Date: Tue, 17 May 2022 18:02:17 +0200	[thread overview]
Message-ID: <2e112f4a-980c-f3fb-167f-624914a71384@univ-rouen.fr> (raw)
In-Reply-To: <87pmkc4g8z.fsf@ruhr-uni-bochum.de>


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

  reply	other threads:[~2022-05-17 16:05 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 [this message]
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

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=2e112f4a-980c-f3fb-167f-624914a71384@univ-rouen.fr \
    --to=sebastien.rey-coyrehourcq@univ-rouen.fr \
    --cc=daniel.meissner-i4k@ruhr-uni-bochum.de \
    --cc=help-guix@gnu.org \
    --cc=julien@lepiller.eu \
    /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).