Hi,

Sébastien Gendre <[email protected]> writes:

> Hello everyone.
>
> What is the minimum hardware requirements you would suggest for running
> Guix System on a computer and having the Guix commands running in a
> comfortable amount of time ? (Without using Guix deploy and local build
> of system derivations)
>
> By a "comfortable amount of time", I mean to not have to wait 15 or 30
> minutes for most of the commands.

In my experience only guix pull and guix time-machine requires more
local compute.  The rest works well on even low-end machines, as long as
you have substitutes for things like guix shell etc.  Then guix is more
IO bound in terms of both disk and network.

I used a Thinkpad x220 with an i7-2640M (2.8GHz, 4MB L3 cache) CPU.
And that might have been my minimum hardware requirements.  Guix pull on
that did probably take 15+ min.

I got a MNT Reform with the original i.MX8MQ module, which has
Cortex-A53 CPU, 4 x 1.5 GHz.  That is too slow to run Guix.

> I would love to have a server at home that run on Guix System, but all
> my available hardware are old computers with Intel Atom or AMD Embedded
> G series CPU. And when I do my testes, it was very slow. I would like to
> get a new computer for this, but don't know what I should get for the
> hardware.

If aiming to build a server then waiting on guix pull can be relaxed a
bit in my opinion.  You can for example setup unattended upgrades [0],
and let it do the upgrades in the background.  Or write a tiny script,
as suggested by Hugo [1].  The latter is what I'm doing — working my way
to unattended upgrades.  E.g. here is the script I use for one of my
servers:

```
#! /usr/bin/env bash

set -ex
channels=/tmp/update-channels.scm
guix time-machine -- describe --format=channels > "$channels"
guix time-machine --channels="$channels" -- system reconfigure -e '(@ (plt 
system machines fafner) plt-fafner-os)'
sudo -u plattfot guix pull --channels="$channels"

```

I simply ssh into that machine, and run:
```
guix shell screen -- screen -R update
sudo ./path/to/the/script.sh
```

Then I just disconnect from `screen` and check back in after a while and
see if everything went well.

I also have offloading setup [2], for my htpc which uses a Intel
Celeron N5095 @ 2.00GHz.  As that one isn't superfast, so it will offload
builds to my server which helps to speed up the reconfigure and to some
extent guix pull.

I hope that helps a little bit in finding the right hardware for you.

[0] https://guix.gnu.org/manual/devel/en/html_node/Unattended-Upgrades.html
[1] https://lists.gnu.org/archive/html/help-guix/2026-03/msg00077.html
[2] https://guix.gnu.org/manual/devel/en/html_node/Daemon-Offload-Setup.html
-- 
s/Fred[re]+i[ck]+/Fredrik/g

Reply via email to