Guix shell not showing mentioned program inside the shell environment

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,

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

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,

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,

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

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,

# 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.