# Transition from distro package mangager to guix

**URL:** <https://forum.systemcrafters.net/t/transition-from-distro-package-mangager-to-guix/770>\
**Category:** Guix\
**Created:** [June 9, 2024, 10:43am UTC](https://forum.systemcrafters.net/t/transition-from-distro-package-mangager-to-guix/770 "2024-06-09T10:43:02Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![lgatto](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/lgatto/32/443_2.png) [@lgatto](https://forum.systemcrafters.net/u/lgatto)\
**Post date:** [June 9, 2024, 10:43am UTC](https://forum.systemcrafters.net/t/transition-from-distro-package-mangager-to-guix/770/1 "2024-06-09T10:43:03Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![jaume](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/jaume/32/544_2.png) [@jaume](https://forum.systemcrafters.net/u/jaume)\
**Post date:** [June 9, 2024, 4:21pm UTC](https://forum.systemcrafters.net/t/transition-from-distro-package-mangager-to-guix/770/2 "2024-06-09T16:21:27Z")

</div>

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.

Hope that helps!

---

<div class="post-metadata">

**Author:** ![unruffled\_lumiere](https://avatars.discourse-cdn.com/v4/letter/u/82dd89/32.png) [@unruffled\_lumiere](https://forum.systemcrafters.net/u/unruffled_lumiere)\
**Post date:** [June 9, 2024, 7:00pm UTC](https://forum.systemcrafters.net/t/transition-from-distro-package-mangager-to-guix/770/3 "2024-06-09T19:00:49Z")

</div>

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:

1. often newer packages than in Debian stable w/o having to pull in testing/unstable and then pin.

2. The clever rollback/forward stuff that guix does including the per-app/env package list.

Downsides:

1. `guix upgrade` takes a heck of a lot longer than `apt-get upgrade`.

2. I’ve always had to modify /etc/profile.d to make sure Guix .desktop files are found on login.

3. The occasional problem with some low-level mis-interaction between system locales and guix locales.

Overall, it works pretty well.

---

<div class="post-metadata">

**Author:** ![mirkoh](https://avatars.discourse-cdn.com/v4/letter/m/eb9ed0/32.png) [@mirkoh](https://forum.systemcrafters.net/u/mirkoh)\
**Post date:** [June 10, 2024, 1:51am UTC](https://forum.systemcrafters.net/t/transition-from-distro-package-mangager-to-guix/770/4 "2024-06-10T01:51:55Z")

</div>

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.
