unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Giovanni Biscuolo <g@xelera.eu>
To: kiasoc5@disroot.org, help-guix@gnu.org
Subject: Re: How to install guix system from existing linux with guix package manager?
Date: Mon, 30 May 2022 11:14:32 +0200	[thread overview]
Message-ID: <87sforpekn.fsf@xelera.eu> (raw)
In-Reply-To: <49e9b7842da4af85f8608c95929c605d46c0c5a1@disroot.org>

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

Hi kiasoc5,

kiasoc5@disroot.org writes:

[...]

>> I never tried this, but beware that the UID and GID of user(s) in
>> your new Guix System sould be the very same of the arch system to be
>> able to access homes, /including/ Guix profiles of users (stored in
>> /home/$USER...)
>
> Yes, I believe most Linuxes set the first created user to a UID and
> GID of 1000, so hopefully this is not an issue.

Automatic UID and GID assignemt works that way /but/ when
migrating/sharing an OS that's not deterministic and I strongly suggest
you to use the "source system" (arch in your case) UID and GID in your
target system (Guix System in your case)

>> Important: if you want to be able to share the store between the two
>> systems you should also share the /status/ of Guix, stored in
>> LOCALSTATEDIR/guix/ (usually /var/guix), since it contains a lot of
>> useful data and AFAIU it must be kept in sync between the foreign distro
>> and the Guix System [1]. This is the most critical part about being
>> able to share Guix between two different host operating systems.
>
> Should I make /var/guix a subvolume as well?

Oh yes, I forgot to mention this!

Both /gnu/store and /var/guix must be shared so you need a dedicated
block device: partition or LVM/btrfs (sub)volume.  An alternative could
be to bind mount /gnu/store and /var/guix on the "target system" [1]
(Guix System in your case)... but IMHO the dedicated block device is
better for dual (multiple) boot systems like in your case

> ALso the only directory in /gnu is /gnu/store right? So I could just
> have an @gnu subvolume mounted on /gnu instead of a @gnu-store
> subvolume mounted on /gnu/store?

AFAIK /gnu is still not used by any other software to store files, but
it could be in the future... who knows?  For this reason I'd share only
/gnu/store for Guix and nothing more, eventually sharing other
/gnu/folders in the future, IF needed.

>> Last but not least, once you have installed Guix System you have to
>> decide what manages your GRUB configuraton: Guix System or arch, you
>> cannot share the grub config between the two; Guix System have a
>> stateless GRUB config (and it' good and fair) so I suggest you to use it
>> for GRUB configuration, but if you decide to keep using arch this is a
>> good tip: https://yhetil.org/guix/20181031125428.GA814@doom/
>
> Thanks for the tip. What if I install another bootloader on Arch like
> systemd boot? Then there will not be a bootloader conflict and I can
> select one with efibootmgr.

Yes of course you can always select your preferred boot mamager with
efibootmgr, but I'm lazy and I like to have GRUB manage all my OSs :-)

> May 28, 2022, 10:51 AM, "Giovanni Biscuolo" <g@xelera.eu mailto:g@xelera.eu?to=%22Giovanni%20Biscuolo%22%20%3Cg%40xelera.eu%3E > wrote:

[...]

>> As a side note, you could also consider to switch to Guix System and
>> keep your foreign distro running as an LXC container sharing store and
>> state with the host, but you have to be familiar with LXC tooling [1]
>> AND know how to "convert" a "physical" machine to an LXC container [2],
>> giving the guests acces to the host GPU [3] for graphical applications
>> or using remote dektop applications like SPICE or VNC... it's a little
>> bit complex but pure fun!
>
> Would an LXC approach require two graphics cards? I only have an
> integrated GPU.

No, you can share your GPU with guests or connect to guests using remote
desktop, as mentioned above ;-)


Happy hacking! Gio'



[1] I'm using this technique in my LXC containers, excerpt from one
config:

--8<---------------cut here---------------start------------->8---

lxc.mount.entry=/gnu/store gnu/store none ro,bind 0 0
lxc.mount.entry=/var/guix var/guix none bind 0 0

--8<---------------cut here---------------end--------------->8---

-- 
Giovanni Biscuolo

Xelera IT Infrastructures

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

      reply	other threads:[~2022-05-30  9:15 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-26 22:21 How to install guix system from existing linux with guix package manager? kiasoc5
2022-05-27 10:03 ` Giovanni Biscuolo
2022-05-28 10:51   ` Giovanni Biscuolo
2022-05-28 19:56   ` kiasoc5
2022-05-30  9:14     ` Giovanni Biscuolo [this message]

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=87sforpekn.fsf@xelera.eu \
    --to=g@xelera.eu \
    --cc=help-guix@gnu.org \
    --cc=kiasoc5@disroot.org \
    /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).