help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

guix on a debian system (with packages from experimental) - recommended


From: Andreas Reuleaux
Subject: guix on a debian system (with packages from experimental) - recommended day to day routine?
Date: Mon, 30 Aug 2021 01:58:24 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)

Having started with guix only recently (with a standalone GuixSD
on a spare machine i.e.), I cannot immediatly switch to working
with guix only (as much as I would like to), as I have come to depend on
many things debian over the years.

Thus I am trying to tackle this from both ends:

(1) learn some more guix, create packages as I need them, and so on
    (prepare for my move to guix some day i.e.).

(2) and I have now installed guix my main debian machine as well.

And I have used the packages from experimental to that end,
(on an otherwise bullseye=debian-testing machine), roughly like so:


/etc/apt/sources
--8<---------------cut here---------------start------------->8---
...
deb http://ftp.uk.debian.org/debian/ bullseye main
deb http://security.debian.org/debian-security bullseye-security main

deb http://ftp.uk.debian.org/debian/ unstable main
deb http://ftp.debian.org/debian experimental main
--8<---------------cut here---------------end--------------->8---


/etc/apt/preferences
--8<---------------cut here---------------start------------->8---
Package: *
Pin: release o=Debian a=testing
Pin-Priority: 500

Package: *
Pin: release a=unstable
Pin-Priority: 490

Package: *
Pin: release a=experimental
Pin-Priority: 480
--8<---------------cut here---------------end--------------->8---


and then:
--8<---------------cut here---------------start------------->8---
root@softland /etc/apt # apt-get -t experimental install guix
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following package was automatically installed and is no longer required:
  libc-devtools
  Use 'apt autoremove' to remove it.
  The following additional packages will be installed:
    guile-2.2 guile-3.0-libs guile-bytestructures guile-gcrypt guile-git 
guile-gnutls guile-json
    guile-lzlib guile-sqlite3 guile-ssh guile-zlib libc-bin libc-dev-bin 
libc-l10n libc6 libc6-dbg
    libc6-dev libgcrypt20 libgcrypt20-dev libgit2-dev libgpg-error-dev 
libguile-ssh13 libhttp-parser-dev
    liblz-dev liblz1 libmbedtls-dev libsqlite3-dev libssh-4 libssh-dev 
libssh2-1-dev libssl-dev libssl3
    locales nscd rpcsvc-proto
  Suggested packages:
    guile-2.2-doc glibc-doc rng-tools libgcrypt20-doc libmbedtls-doc 
sqlite3-doc libssh-doc libssl-doc
  Recommended packages:
    libc-devtools
  The following NEW packages will be installed:
    guile-2.2 guile-3.0-libs guile-bytestructures guile-gcrypt guile-git 
guile-gnutls guile-json
    guile-lzlib guile-sqlite3 guile-ssh guile-zlib guix libgcrypt20-dev 
libgit2-dev libgpg-error-dev
    libguile-ssh13 libhttp-parser-dev liblz-dev liblz1 libmbedtls-dev 
libsqlite3-dev libssh-4 libssh-dev
    libssh2-1-dev libssl-dev libssl3 nscd rpcsvc-proto
    The following packages will be upgraded:
    libc-bin libc-dev-bin libc-l10n libc6 libc6-dbg libc6-dev libgcrypt20 
locales
  8 upgraded, 28 newly installed, 0 to remove and 236 not upgraded.
  Need to get 74.0 MB/84.7 MB of archives.
  After this operation, 409 MB of additional disk space will be used.
  Do you want to continue? [Y/n]
--8<---------------cut here---------------end--------------->8---

And yes: I have continued here, and accepted all these new packages,
and the installation went smoothly for me.

If it was wise to do so, I don't know, and only time will tell:
I hope this will not break my system at some point later.

My idea was, to have an up to date guix system (1.3.0) on top of my
debian system as a starting point - without having to follow the manual steps
of a binary installation.

And according to /usr/share/doc/guix/README.Debian
  "installing the Debian package of guix is similar to installing guix on a 
foreign distro"

(Some minor differences are explained there as well: 
guix build group is _guixbuild and the users are named _guixbuilder[0-9] ...
-- OK, fine with me).


And now I am using guix on my debian system (I haven't taken exact
notes, what I did step by step), but after some

--8<---------------cut here---------------start------------->8---
git pull 
--8<---------------cut here---------------end--------------->8---

step I guess (as a normal/unpriviliged user: rx), I have now two guix
(and guix-daemon) binaries:

from my debian guix installation:
--8<---------------cut here---------------start------------->8---
/usr/bin/guix
/usr/bin/guix-daemon
--8<---------------cut here---------------end--------------->8---

and as installed/updated from guix itself:
--8<---------------cut here---------------start------------->8---
/home/rx/.config/guix/current/bin/guix
/home/rx/.config/guix/current/bin/guix-daemon
--8<---------------cut here---------------end--------------->8---

and likewise, if I install packages with guix, say fontconfig, then I have:

--8<---------------cut here---------------start------------->8---
/home/rx/.guix-profile/bin/fc-list
--8<---------------cut here---------------end--------------->8---
(among other fontconfig binaries)

in addtion to my debian-system fontconfig binaries (fc-list among them):

--8<---------------cut here---------------start------------->8---
rx@softland ~ $ type fc-list
fc-list is /usr/bin/fc-list
--8<---------------cut here---------------end--------------->8---

I DO NOT want /home/rx/.guix-profile/bin/fc-list to appear before
/usr/bin/fc-list in my path, thus I am NOT sourcing:

--8<---------------cut here---------------start------------->8---
export GUIX_PROFILE="$HOME/.guix-profile"
. "$GUIX_PROFILE/etc/profile"
--8<---------------cut here---------------end--------------->8---

at least not for now (and certainly not at the top of my .bashrc)
but rather I have a bash function: gx which gives me:
--8<---------------cut here---------------start------------->8---
/home/rx/.guix-profile/bin/fc-list
--8<---------------cut here---------------end--------------->8---
when I type
--8<---------------cut here---------------start------------->8---
gx fc-list
--8<---------------cut here---------------end--------------->8---

and otherwise fc-list is my (debian) system command /usr/bin/fc-list.

(I am not going into the details: gx is simple enough ...)

Now my understanding is, that in my day to day routine, I will
work mostly with this newly installed guix command:

--8<---------------cut here---------------start------------->8---
/home/rx/.config/guix/current/bin/guix
--8<---------------cut here---------------end--------------->8---

rather than with my debian /usr/bin/guix

(and THIS /home/rx/.config/guix/current/bin/guix I HAVE in my PATH
before /usr/bin/guix),

and indeed I can: pull, install packages, upgrade them and so on:

--8<---------------cut here---------------start------------->8---
guix pull
guix packge -i ...
guix package -u ...
--8<---------------cut here---------------end--------------->8---

And by the way: only this /home/rx/.config/guix/current/bin/guix will
find my personal channel as specified in ~/.config/guix/channels.scm
(/usr/bin/guix will not).

All this in the personal (rx) niche of my debian system. 

Now, long story short: I wonder -- two things:

(1) what good is the debian /usr/bin/guix at all for me? - and

(2) what daily routine is recommended for upgrading/reconfiguring my
whole guix system, with /usr/bin/guix perhaps - if any routine at all?

Obviously, the
--8<---------------cut here---------------start------------->8---
sudo guix system reconfigure /etc/config.scm
--8<---------------cut here---------------end--------------->8---
step does not apply, as there is no /etc/config.scm now on my system
(it is running debian after all).


Should I try to do something similar nevertheless once in a while?
(and as what user: my unprivileged rx, or as root)?

Somehow upgrade my whole guix on debian system i.e.?

Clear some cache maybe, etc.?

Restart the (debian) guix-daemon perhaps after some upgrade?

Or should I just wait till I get upgrades from debian (experimental)
at some point?

I wonder how other people are coping with this situation?


Thanks in advance.

  -A



reply via email to

[Prev in Thread] Current Thread [Next in Thread]