# Guix shell not showing mentioned program inside the shell environment

**URL:** <https://forum.systemcrafters.net/t/guix-shell-not-showing-mentioned-program-inside-the-shell-environment/232>\
**Category:** Guix\
**Created:** [February 8, 2024, 5:28am UTC](https://forum.systemcrafters.net/t/guix-shell-not-showing-mentioned-program-inside-the-shell-environment/232 "2024-02-08T05:28:48Z")\
**Posts on this page:** 1\
**Showing post:** 11

<div class="post-metadata">

**Author:** ![apoorv569](https://avatars.discourse-cdn.com/v4/letter/a/958977/32.png) [@apoorv569](https://forum.systemcrafters.net/u/apoorv569)\
**Post date:** [February 12, 2024, 11:17am UTC](https://forum.systemcrafters.net/t/guix-shell-not-showing-mentioned-program-inside-the-shell-environment/232/11 "2024-02-12T11:17:47Z")

</div>

OK, so I disabled `home-bash-service-type` and `home-zsh-service-type` and tried my `guix home` configuration in `guix home container`. It looks like only creates a `.profile` file, there is no `.bashrc` or `.zshrc` or anything else.

The content of the `.profile` file are,

```auto
MachineY% cat .profile
HOME_ENVIRONMENT=$HOME/.guix-home
. $HOME_ENVIRONMENT/setup-environment
$HOME_ENVIRONMENT/on-first-login

```

Similar to what I have on my regular system.

I also tried installing `Guix` on a `VM` everything default, didn’t even change my user `shell` to `zsh` and it generates a `.bashrc`, `.bash_profile` and `.zprofile` file by default,

Here are the contents of `.bashrc`

```auto
as@guix-virt ~$ cat .bashrc
# Bash initialization for interactive non-login shells and
# for remote shells (info "(bash) Bash Startup Files").

# Export 'SHELL' to child processes. Programs such as 'screen'
# honor it and otherwise use /bin/sh.
export SHELL

if [[$- != *i*]]
then
    # We are being invoked from a non-interactive shell. If this
    # is an SSH session (as in "ssh host command"), source
    # /etc/profile so we get PATH and other essential variables.
    [[-n "$SSH_CLIENT"]] && source /etc/profile

    # Don't do anything else.
    return
fi

# Source the system-wide file.
[-f /etc/bashrc] && source /etc/bashrc

alias ls='ls -p --color=auto'
alias ll='ls -l'
alias grep='grep --color=auto'

```

Here are the contents of `.bash_profile`,

```auto
as@guix-virt ~$ cat .bash_profile
# Set up Guix Home profile
if [-f ~/.profile]; then . ~/.profile; fi

# Honor per-interactive-shell startup file
if [-f ~/.bashrc]; then . ~/.bashrc; fi

# Merge search-paths from multiple profiles, the order matters.
eval "$(guix package --search-paths \
-p $HOME/.config/guix/current \
-p $HOME/.guix-profile \
-p /run/current-system/profile)"

# Prepend setuid programs.
export PATH=/run/setuid-programs:$PATH

```

Here are the contents of `.zprofile`,

```auto
as@guix-virt ~$ cat .zprofile
# Honor system-wide environment variables
source /etc/profile

# Merge search-paths from multiple profiles, the order matters.
eval "$(guix package --search-paths \
-p $HOME/.config/guix/current \
-p $HOME/.guix-profile \
-p /run/current-system/profile)"

# Prepend setuid programs.
export PATH=/run/setuid-programs:$PATH

```

There is no

```auto
GUIX_PROFILE="/home/apoorv/.config/guix/current" . "$GUIX_PROFILE/etc/profile"

```

So I guess we can leave it. I think this is for foreign distributions only, like when you install `guix` on another distribution.

Though it does have (in both `.bash_profile` and `.zprofile`) this,

```auto
# Merge search-paths from multiple profiles, the order matters.
eval "$(guix package --search-paths \
-p $HOME/.config/guix/current \
-p $HOME/.guix-profile \
-p /run/current-system/profile)"

```

Though when I put this in `.zprofile` and manage it via `guix home` none of the programs installed via `guix home` shows up in `dmenu`.

---

_[View the full topic](https://forum.systemcrafters.net/t/guix-shell-not-showing-mentioned-program-inside-the-shell-environment/232)._
