# Should i use guix home guix system or guix install for installing packages?

**URL:** <https://forum.systemcrafters.net/t/should-i-use-guix-home-guix-system-or-guix-install-for-installing-packages/1883>\
**Category:** Guix\
**Created:** [January 24, 2026, 6:16am UTC](https://forum.systemcrafters.net/t/should-i-use-guix-home-guix-system-or-guix-install-for-installing-packages/1883 "2026-01-24T06:16:20Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Arisu](https://avatars.discourse-cdn.com/v4/letter/a/bc79bd/32.png) [@Arisu](https://forum.systemcrafters.net/u/Arisu)\
**Post date:** [January 24, 2026, 6:16am UTC](https://forum.systemcrafters.net/t/should-i-use-guix-home-guix-system-or-guix-install-for-installing-packages/1883/1 "2026-01-24T06:16:20Z")

</div>

i have been using guix home for my default applications and guix system for system wide things like fonts and drivers, what way is the correct?

---

<div class="post-metadata">

**Author:** ![trev](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/trev/32/81_2.png) [@trev](https://forum.systemcrafters.net/u/trev)\
**Post date:** [January 25, 2026, 6:09am UTC](https://forum.systemcrafters.net/t/should-i-use-guix-home-guix-system-or-guix-install-for-installing-packages/1883/2 "2026-01-25T06:09:29Z")

</div>

> [@Arisu](#):
>
> guix home for my default applications and guix system for system wide things like fonts and drivers

That is generally how I do it too.

There are pitfalls where you need to install something in guix-home for it to work, for example, with icon packs.

---

<div class="post-metadata">

**Author:** ![ced4rtree](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/ced4rtree/32/821_2.png) [@ced4rtree](https://forum.systemcrafters.net/u/ced4rtree)\
**Post date:** [January 26, 2026, 3:16am UTC](https://forum.systemcrafters.net/t/should-i-use-guix-home-guix-system-or-guix-install-for-installing-packages/1883/3 "2026-01-26T03:16:19Z")

</div>

I would say never ever ever ever use `guix install` to install software, since this reduces the reproducibility of your environment. If I install a piece of software using `guix install`, and reinstall my configuration on a new machine, I will have to remember to do this again. Such is not the case when outlining what packages to install through code (whether that be a manifest for a project or your home/system configuration)

---

<div class="post-metadata">

**Author:** ![trev](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/trev/32/81_2.png) [@trev](https://forum.systemcrafters.net/u/trev)\
**Post date:** [January 27, 2026, 7:16am UTC](https://forum.systemcrafters.net/t/should-i-use-guix-home-guix-system-or-guix-install-for-installing-packages/1883/4 "2026-01-27T07:16:43Z")

</div>

> [@ced4rtree](#):
>
> I would say never ever ever ever use `guix install` to install software

Agree. I did this in the beginning but then quickly realized that what I was looking for is `guix shell` for one-off usages of programs.

---

<div class="post-metadata">

**Author:** ![dgr](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/dgr/32/394_2.png) [@dgr](https://forum.systemcrafters.net/u/dgr)\
**Post date:** [January 30, 2026, 9:38am UTC](https://forum.systemcrafters.net/t/should-i-use-guix-home-guix-system-or-guix-install-for-installing-packages/1883/5 "2026-01-30T09:38:36Z")

</div>

I guess, this also works for GUI programs?

Also is there a workflow to check for guix install programs to list them and migrate them to guix home?

---

<div class="post-metadata">

**Author:** ![ced4rtree](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/ced4rtree/32/821_2.png) [@ced4rtree](https://forum.systemcrafters.net/u/ced4rtree)\
**Post date:** [January 30, 2026, 9:32pm UTC](https://forum.systemcrafters.net/t/should-i-use-guix-home-guix-system-or-guix-install-for-installing-packages/1883/6 "2026-01-30T21:32:00Z")

</div>

`guix shell` does also work for GUI programs.

You can use `guix package --list-installed | cut -f 1` to get a list of all of the names of packages you have installed and then copy those packages into your guix home config

---

<div class="post-metadata">

**Author:** ![wxie](https://avatars.discourse-cdn.com/v4/letter/w/ee59a6/32.png) [@wxie](https://forum.systemcrafters.net/u/wxie)\
**Post date:** [January 31, 2026, 2:22am UTC](https://forum.systemcrafters.net/t/should-i-use-guix-home-guix-system-or-guix-install-for-installing-packages/1883/7 "2026-01-31T02:22:49Z")

</div>

Another ways is

\*\*\* generate an initial config  
#+BEGIN\_SRC shell  
guix home import ~/src/guix-config  
#+END\_SRC  
This will create the ~/src/guix-config directory and populate it with a bunch  
of files among which there is home-configuration.scm which includes the packages you have installed.

---

<div class="post-metadata">

**Author:** ![dgr](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.systemcrafters.net/dgr/32/394_2.png) [@dgr](https://forum.systemcrafters.net/u/dgr)\
**Post date:** [January 31, 2026, 11:47am UTC](https://forum.systemcrafters.net/t/should-i-use-guix-home-guix-system-or-guix-install-for-installing-packages/1883/8 "2026-01-31T11:47:11Z")

</div>

Thanks @wxie but that ship already sailed 😉

Maybe I should whip up a tool that runs periodically, diffs `guix home` and `guix package --list-installed` and then alerts me of my bad habits.

This should help me to remember to use `guix shell` and migrate or remove remnants if I forgot again.
