From: Andreas Reuleaux <rx@a-rx.info>
To: help-guix <help-guix@gnu.org>
Subject: guix on a debian system (with packages from experimental) - recommended day to day routine?
Date: Mon, 30 Aug 2021 01:58:24 +0100 [thread overview]
Message-ID: <87mtoz695b.fsf@softland> (raw)
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
next reply other threads:[~2021-08-30 0:58 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-30 0:58 Andreas Reuleaux [this message]
2021-09-02 19:58 ` guix on a debian system (with packages from experimental) - recommended day to day routine? zimoun
2021-09-02 21:35 ` Andreas Reuleaux
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=87mtoz695b.fsf@softland \
--to=rx@a-rx.info \
--cc=help-guix@gnu.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).