Any advice on how to transition from my package manager (apt) to guix?
I am doing it gradually installing a new software with guix, testing it, and then apt remove it . This feels like an never-ending story that will only end the day I start from scratch, using guix system or another distro.
Does anyone have any advice. Or should I simply accept this in-between package managers situation?
Note that I do consider to eventually use a full guix system (I am currently testing/playing with it on an old laptop), once I understand the channels and am in a position to install the same system on multiple machines.
I am in the same endeavour as you are. I am still using void-linux and guix as package manager, but hopefully soon I’ll dare to go full-guix.
Maybe not the best advice, but this is what I did: I started creating a virtual machine using the guix ISO without any graphical enviroment (only %base-services%) and slowly installing all my usual setup (sway, waybar, emacs, syncthing, etc…) using guix home. When I felt more or less comfortable with the setup in the VM, I did run it in the host. Good news is that in my home-manifest.scm I had already listed all the packages I needed to delete on xbps (void-linux package manager), so there was not too much back-and-forth between package managers.
Besides small problems on zshrc and zprofile due to my lack of knowledge on Guix, I’d say the swap from the VM to the host was fairly fast.
I’ve been running dual package managers (actually 3x counting Flatpak) for about 2 years now. I generally use guix for the newer Emacs and yt-dlp than available in Debian apt repos (Debian discourages use of PPAs as in Ubuntu).
Upsides to the approach:
often newer packages than in Debian stable w/o having to pull in testing/unstable and then pin.
The clever rollback/forward stuff that guix does including the per-app/env package list.
Downsides:
guix upgrade takes a heck of a lot longer than apt-get upgrade.
I’ve always had to modify /etc/profile.d to make sure Guix .desktop files are found on login.
The occasional problem with some low-level mis-interaction between system locales and guix locales.
I’ve been using guix in debian for more than two years, I began installing debian with xfce4 ( the desktop installation which includes many packages) but these days I install a very minimal debian (no desktop), plus gpg, seatd and udiskie; and then install everything using guix (sway, alacritty, emacs, etc); I do not even need to edit the apt source list . I tested the same configuration in alpine and it works just as well, so you can definitely replace apt.
Initially I had a lot of trouble with guix home ( I did not understood at the time how .profile .bash_profile worked). The default guix home shell configuration does not source .guix-profile so you need to add this step yourself or regular guix commands will not work.