unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Guix system init but for guix home
@ 2023-08-04 19:12 Christian Miller
  2023-08-04 19:40 ` (
  0 siblings, 1 reply; 4+ messages in thread
From: Christian Miller @ 2023-08-04 19:12 UTC (permalink / raw)
  To: guix-devel@gnu.org

Hello,

I am using guix home for managing my whole list of packages and dotfiles that I use.  An awesome feature would be, to run something like guix home init home.scm /mnt.

Basically my idea would be, that I am on the live ISO and run guix system init [...] and after that I would run guix home init home.scm /mnt or something like that.  Now if I reboot in to the actual system, I have my complete setup with EXWM and Emacs completely configured and ready to go.

Best Regards
Christian Miller


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

* Re: Guix system init but for guix home
  2023-08-04 19:12 Guix system init but for guix home Christian Miller
@ 2023-08-04 19:40 ` (
  2023-08-08 12:53   ` (
  2023-08-13  5:45   ` Andrew Tropin
  0 siblings, 2 replies; 4+ messages in thread
From: ( @ 2023-08-04 19:40 UTC (permalink / raw)
  To: Christian Miller; +Cc: guix-devel

Christian Miller <miller.christian@proton.me> writes:
> Basically my idea would be, that I am on the live ISO and run guix system init
> [...] and after that I would run guix home init home.scm /mnt or something like
> that.  Now if I reboot in to the actual system, I have my complete setup with
> EXWM and Emacs completely configured and ready to go.

Something that would cover this use case be a HOME-ENVIRONMENT field for
user-accounts in /etc/config.scm:

  (user-account
   (name "paren")
   ...
   (home-environment
    ...))

which could either be a file-like that evaluates to a Scheme file that
returns a HOME-ENVIRONMENT object, or a HOME-ENVIRONMENT by itself:

  ;; with local-file
  (home-environment
   (local-file
    (string-append (dirname (get-current-filename))
                   "/home-paren.scm")))

  ;; with home-environment
  (home-environment
   (home-environment
    (services (cons* ...))
    (packages (list ...))))

  -- (


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

* Re: Guix system init but for guix home
  2023-08-04 19:40 ` (
@ 2023-08-08 12:53   ` (
  2023-08-13  5:45   ` Andrew Tropin
  1 sibling, 0 replies; 4+ messages in thread
From: ( @ 2023-08-08 12:53 UTC (permalink / raw)
  To: (; +Cc: Christian Miller, guix-devel


"(" <paren@disroot.org> writes:

> Christian Miller <miller.christian@proton.me> writes:
>> Basically my idea would be, that I am on the live ISO and run guix system init
>> [...] and after that I would run guix home init home.scm /mnt or something like
>> that.  Now if I reboot in to the actual system, I have my complete setup with
>> EXWM and Emacs completely configured and ready to go.
>
> Something that would cover this use case be a HOME-ENVIRONMENT field for
> user-accounts in /etc/config.scm:
>
>   (user-account
>    (name "paren")
>    ...
>    (home-environment
>     ...))
>
> which could either be a file-like that evaluates to a Scheme file that
> returns a HOME-ENVIRONMENT object, or a HOME-ENVIRONMENT by itself:
>
>   ;; with local-file
>   (home-environment
>    (local-file
>     (string-append (dirname (get-current-filename))
>                    "/home-paren.scm")))
>
>   ;; with home-environment
>   (home-environment
>    (home-environment
>     (services (cons* ...))
>     (packages (list ...))))
>
>   -- (

OP accidentally sent replies without CCing the mailing list, so:

Christian Miller:
> I like it, since now it is just the default command for initializing Guix.
>
> With that change, would that also mean that someone doesn't need to run "guix
> home reconfigure home.scm", since the person could just run "guix system
> reconfigure system.scm" after a "guix pull", if the person wants to update the
> whole system and the home packages like in my case?

me:
> Exactly.

Christian Miller:
> I like that.  Makes stuff easier for people like me that use both.
>
> I also replied to you directly.  I should have replied to all, so the system
> detects it as well.  Just to be sure, is that correct?
>
> How would we now add that stuff, so others could see those emails as
> well?

me:
> You'd have to resend it with the To: address changed and possibly also
> In-Reply-To: modified as well.  I guess you could just use 'reply all'
> in your mail client and then remove my address from the To: field.

Christian Miller:
> Hi,
>
> it seems that my mail client can only do this for one message, but we had
> several messages.  Should I begin with my initial message and we go through it
> again, or could you send all at once?

me:
> I'll send a compilation of all the messages as a reply to the original
> post.

  -- (


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

* Re: Guix system init but for guix home
  2023-08-04 19:40 ` (
  2023-08-08 12:53   ` (
@ 2023-08-13  5:45   ` Andrew Tropin
  1 sibling, 0 replies; 4+ messages in thread
From: Andrew Tropin @ 2023-08-13  5:45 UTC (permalink / raw)
  To: (, Christian Miller; +Cc: guix-devel

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

On 2023-08-04 20:40, paren@disroot.org wrote:

> Christian Miller <miller.christian@proton.me> writes:
>> Basically my idea would be, that I am on the live ISO and run guix system init
>> [...] and after that I would run guix home init home.scm /mnt or something like
>> that.  Now if I reboot in to the actual system, I have my complete setup with
>> EXWM and Emacs completely configured and ready to go.
>
> Something that would cover this use case be a HOME-ENVIRONMENT field for
> user-accounts in /etc/config.scm:
>
>   (user-account
>    (name "paren")
>    ...
>    (home-environment
>     ...))
>
> which could either be a file-like that evaluates to a Scheme file that
> returns a HOME-ENVIRONMENT object, or a HOME-ENVIRONMENT by itself:
>
>   ;; with local-file
>   (home-environment
>    (local-file
>     (string-append (dirname (get-current-filename))
>                    "/home-paren.scm")))
>
>   ;; with home-environment
>   (home-environment
>    (home-environment
>     (services (cons* ...))
>     (packages (list ...))))
>
>   -- (
>

Hi everyone!

The implementation for this functionality is here:

https://git.sr.ht/~abcdw/rde/tree/3b81be46d3d6891663f857172bc00b46f0e1eafa/src/gnu/services/home.scm#L1

The discussion of it is here:

https://issues.guix.gnu.org/56669

-- 
Best regards,
Andrew Tropin

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

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

end of thread, other threads:[~2023-08-13  5:46 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-04 19:12 Guix system init but for guix home Christian Miller
2023-08-04 19:40 ` (
2023-08-08 12:53   ` (
2023-08-13  5:45   ` Andrew Tropin

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

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