Subject: Position of '--check' makes or breaks 'guix shell'

From: Felix Lechner <[email-masked]>
Date: Sun, 30 Oct 2022 14:57:45 -0700

Hi,

For the Guix file below, which is also available here [1], the
position of the --check makes or breaks the command.

With

    guix shell --development --check --file=guix.scm

$ which autopoint

which: no autopoint in
(/home/lechner/.guix-home/profile/bin:/home/lechner/.guix-home/profile/sbin:/run/setuid-programs:/home/lechner/.config/guix/current/bin:/home/lechner/.guix-profile/bin:/home/lechner/.guix-profile/sbin:/run/current-system/profile/bin:/run/current-system/profile/sbin)

while with

    guix shell --development --file=guix.scm --check

$ which autopoint
/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/bin/autopoint

The list of the working and non-working environment variables can be
found at the very bottom of this message.

Kind regards
Felix Lechner

[1] https://codeberg.org/lechner/guile-pam/src/branch/history/guix.scm

* * *

(use-modules
 (gnu packages autotools)
 (gnu packages gettext)
 (gnu packages guile)
 (gnu packages guile-xyz)
 (gnu packages linux)
 (gnu packages mes)
 (gnu packages pkg-config)
 (gnu packages)
 (guix build-system gnu)
 (guix download)
 (guix gexp)
 (guix git-download)
 ((guix licenses) #:prefix license:)
 (guix packages)
 (guix utils))

(define-public my-linux-pam
  (package
    (inherit linux-pam)
    (version "1.5.2")
    (source
     (origin
       (method url-fetch)
       (uri (string-append
             "https://github.com/linux-pam/linux-pam/releases/download/v"
             version "/Linux-PAM-" version ".tar.xz"))
       (sha256
        (base32
         "0kgrsj2scv5mx6w925h9hxf11jnqqs9z8s22aw94b90xm4qp3v74"))
       (patches (search-patches "linux-pam-no-setfsuid.patch"))))
    (arguments (substitute-keyword-arguments
                   (package-arguments linux-pam)
                 ((#:configure-flags flags)
                  ;; explicit libdir; drop when
                  ;; https://github.com/linux-pam/linux-pam/issues/466
                  ;; was resolved
                  '(list (string-append "--includedir="
                                        (assoc-ref %outputs "out")
                                        "/include/security")
                         (string-append "--libdir="
                                        (assoc-ref %outputs "out")
                                        "/lib")))))))

(define-public guile-pam
  (let ((commit "65fef0971761f5b70191350884429da5bddcb4fa")
        (revision "0"))
    (package
      (name "guile-pam")
      (version (git-version "0.0" revision commit))
      (source (origin
                (method git-fetch)
                (uri (git-reference
                      (url "https://codeberg.org/lechner/guile-pam")
                      (commit commit)))
                (file-name (git-file-name name version))
                (sha256
                 (base32
                  "16zvwyv6hp58lffsniaas9kw23vlpwgzbrr7zs4p7391ybxx5gmm"))))
      (build-system gnu-build-system)
      (native-inputs (list autoconf automake libtool pkg-config
guile-3.0 my-linux-pam nyacc gnu-gettext))
      (inputs (list guile-3.0 guile-lib my-linux-pam))
      (home-page "https://codeberg.org/lechner/guile-pam")
      (synopsis "Write your Linux-PAM authentication logic in Guile Scheme")
      (description
       "Guile-PAM provides a way to rewrite your authentication logic in the
Linux PAM (pluggable authentication modules) in Guile Scheme. It should make
those modules more transparent to the administrator and more intuitive to
use.")
      (license license:gpl3+))))

guile-pam

* * *

Working output of 'env':

ACLOCAL_PATH=/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/share/aclocal:/home/lechner/.guix-home/profile/share/aclocal:/home/lechner/.guix-profile/share/aclocal
ALACRITTY_LOG=/tmp/Alacritty-18373.log
BASH_LOADABLES_PATH=/home/lechner/.guix-home/profile/lib/bash:/home/lechner/.guix-profile/lib/bash:/run/current-system/profile/lib/bash
C_INCLUDE_PATH=/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/include:/home/lechner/.guix-home/profile/include:/home/lechner/.guix-profile/include
COLORTERM=truecolor
CPLUS_INCLUDE_PATH=/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/include/c++:/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/include:/home/lechner/.guix-home/profile/include/c++:/home/lechner/.guix-home/profile/include:/home/lechner/.guix-profile/include/c++:/home/lechner/.guix-profile/include
DBUS_FATAL_WARNINGS=0
DICPATH=/home/lechner/.guix-profile/share/hunspell:/run/current-system/profile/share/hunspell
DISPLAY=:0.0
EMACSLOADPATH=/home/lechner/.guix-home/profile/share/emacs/site-lisp:/home/lechner/.guix-profile/share/emacs/site-lisp:/run/current-system/profile/share/emacs/site-lisp
GDK_PIXBUF_MODULE_FILE=/home/lechner/.guix-home/profile/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
GHC_PACKAGE_PATH=/home/lechner/.guix-home/profile/lib/ghc-8.10.7/package.conf.d
GIO_EXTRA_MODULES=/home/lechner/.guix-home/profile/lib/gio/modules:/run/current-system/profile/lib/gio/modules
GIT_EXEC_PATH=/home/lechner/.guix-home/profile/libexec/git-core
GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt
_=/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/bin/env
GST_PLUGIN_PATH=/home/lechner/.guix-profile/lib/gstreamer-1.0
GST_PLUGIN_SYSTEM_PATH=/home/lechner/.guix-home/profile/lib/gstreamer-1.0:/run/current-system/profile/lib/gstreamer-1.0
GTK_DATA_PREFIX=/run/current-system/profile
GUILE_LOAD_COMPILED_PATH=/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/lib/guile/3.0/site-ccache:/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/share/guile/site/3.0:/home/lechner/.guix-home/profile/lib/guile/3.0/site-ccache:/home/lechner/.guix-home/profile/share/guile/site/3.0:/home/lechner/.guix-profile/lib/guile/3.0/site-ccache:/home/lechner/.guix-profile/share/guile/site/3.0:/run/current-system/profile/lib/guile/3.0/site-ccache:/run/current-system/profile/share/guile/site/3.0
GUILE_LOAD_PATH=/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/share/guile/site/3.0:/home/lechner/.guix-home/profile/share/guile/site/3.0:/home/lechner/.guix-profile/share/guile/site/3.0:/run/current-system/profile/share/guile/site/3.0
GUIX_ENVIRONMENT=/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile
GUIX_GTK3_PATH=/home/lechner/.guix-home/profile/lib/gtk-3.0:/home/lechner/.guix-profile/lib/gtk-3.0:/run/current-system/profile/lib/gtk-3.0
GUIX_GTK4_PATH=/run/current-system/profile/lib/gtk-4.0
GUIX_LOCPATH=/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/lib/locale:/run/current-system/locale:/gnu/store/mw3py6smb1pk8yx298hd9ivz9lzbksqi-glibc-utf8-locales-2.33/lib/locale
GUIX_PYTHONPATH=/home/lechner/.guix-home/profile/lib/python3.9/site-packages
HOME=/home/lechner
HUSHLOGIN=FALSE
INFOPATH=/home/lechner/.guix-home/profile/share/info:/home/lechner/.config/guix/current/share/info:/home/lechner/.guix-profile/share/info:/run/current-system/profile/share/info:/home/lechner/.guix-profile/share/info:/run/current-system/profile/share/info
LANG=en_US.utf8
LIBRARY_PATH=/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/lib:/home/lechner/.guix-home/profile/lib:/home/lechner/.guix-profile/lib
LINUX_MODULE_DIRECTORY=/run/booted-system/kernel/lib/modules
LOGNAME=lechner
LV2_PATH=/home/lechner/.guix-home/profile/lib/lv2
MANPATH=/home/lechner/.guix-home/profile/share/man:/run/current-system/profile/share/man:/home/lechner/.guix-profile/share/man:/run/current-system/profile/share/man
MOTD_SHOWN=pam
NAUTILUS_EXTENSION_PATH=/run/current-system/profile/lib/nautilus/site-extensions
NM_VPN_PLUGIN_DIR=/gnu/store/s4j534jy2y6y4b5xff5adgwijxcrgjdl-network-manager-vpn-plugins/lib/NetworkManager/VPN
OLDPWD=/home/lechner
PASSWORD_STORE_SYSTEM_EXTENSION_DIR=/home/lechner/.guix-home/profile/lib/password-store/extensions
PATH=/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/bin:/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/sbin:/home/lechner/.guix-home/profile/bin:/home/lechner/.guix-home/profile/sbin:/run/setuid-programs:/home/lechner/.config/guix/current/bin:/home/lechner/.guix-profile/bin:/home/lechner/.guix-profile/sbin:/run/current-system/profile/bin:/run/current-system/profile/sbin
PERL5LIB=/home/lechner/.guix-home/profile/lib/perl5/site_perl:/home/lechner/.guix-profile/lib/perl5/site_perl
PKG_CONFIG_PATH=/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/lib/pkgconfig:/home/lechner/.guix-home/profile/lib/pkgconfig:/home/lechner/.guix-home/profile/share/pkgconfig:/home/lechner/.guix-profile/lib/pkgconfig:/home/lechner/.guix-profile/share/pkgconfig
PULSE_CLIENTCONFIG=/etc/pulse/client.conf
PULSE_CONFIG=/etc/pulse/daemon.conf
PWD=/lcl/lechner/guile-pam/git
QMAKEPATH=/home/lechner/.guix-home/profile/lib/qt5:/home/lechner/.guix-profile/lib/qt5
QT_PLUGIN_PATH=/home/lechner/.guix-home/profile/lib/qt5/plugins:/home/lechner/.guix-profile/lib/qt5/plugins
SHELL=/gnu/store/d99ykvj3axzzidygsmdmzxah4lvxd6hw-bash-5.1.8/bin/bash
SHLVL=4
SSL_CERT_DIR=/run/current-system/profile/etc/ssl/certs
SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
TERM=alacritty
TERMINFO_DIRS=/home/lechner/.guix-home/profile/share/terminfo:/home/lechner/.guix-profile/share/terminfo
TZDIR=/gnu/store/7pjzwj9d4fnyzp9x7k8cc4hazypyrk0p-tzdata-2022a/share/zoneinfo
USER=lechner
WINDOWID=41943042
WINDOWPATH=2
XDG_CACHE_HOME=/home/lechner/.cache
XDG_CONFIG_DIRS=/home/lechner/.guix-home/profile/etc/xdg:/home/lechner/.guix-profile/etc/xdg:/home/lechner/.guix-profile/etc/xdg:/run/current-system/profile/etc/xdg
XDG_CONFIG_HOME=/home/lechner/.config
XDG_DATA_DIRS=/home/lechner/.guix-home/profile/share:/home/lechner/.guix-profile/share:/run/current-system/profile/share:/home/lechner/.guix-profile/share:/run/current-system/profile/share
XDG_DATA_HOME=/home/lechner/.local/share
XDG_LOG_HOME=/home/lechner/.local/var/log
XDG_RUNTIME_DIR=/run/user/1000
XDG_SEAT=seat0
XDG_SESSION_CLASS=user
XDG_SESSION_ID=c3
XDG_SESSION_TYPE=tty
XDG_STATE_HOME=/home/lechner/.local/var/lib
XDG_VTNR=2
XTERM_LOCALE=en_US.utf8
XTERM_SHELL=/gnu/store/d99ykvj3axzzidygsmdmzxah4lvxd6hw-bash-5.1.8/bin/bash
XTERM_VERSION=XTerm(370)

* * *

Non-working output of 'env':

ACLOCAL_PATH=/home/lechner/.guix-home/profile/share/aclocal:/home/lechner/.guix-profile/share/aclocal
ALACRITTY_LOG=/tmp/Alacritty-18373.log
BASH_LOADABLES_PATH=/home/lechner/.guix-home/profile/lib/bash:/home/lechner/.guix-profile/lib/bash:/run/current-system/profile/lib/bash
C_INCLUDE_PATH=/home/lechner/.guix-home/profile/include:/home/lechner/.guix-profile/include
COLORTERM=truecolor
CPLUS_INCLUDE_PATH=/home/lechner/.guix-home/profile/include/c++:/home/lechner/.guix-home/profile/include:/home/lechner/.guix-profile/include/c++:/home/lechner/.guix-profile/include
DBUS_FATAL_WARNINGS=0
DICPATH=/home/lechner/.guix-profile/share/hunspell:/run/current-system/profile/share/hunspell
DISPLAY=:0.0
EMACSLOADPATH=/home/lechner/.guix-home/profile/share/emacs/site-lisp:/home/lechner/.guix-profile/share/emacs/site-lisp:/run/current-system/profile/share/emacs/site-lisp
GDK_PIXBUF_MODULE_FILE=/home/lechner/.guix-home/profile/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
GHC_PACKAGE_PATH=/home/lechner/.guix-home/profile/lib/ghc-8.10.7/package.conf.d
GIO_EXTRA_MODULES=/home/lechner/.guix-home/profile/lib/gio/modules:/run/current-system/profile/lib/gio/modules
GIT_EXEC_PATH=/home/lechner/.guix-home/profile/libexec/git-core
GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt
GST_PLUGIN_PATH=/home/lechner/.guix-profile/lib/gstreamer-1.0
GST_PLUGIN_SYSTEM_PATH=/home/lechner/.guix-home/profile/lib/gstreamer-1.0:/run/current-system/profile/lib/gstreamer-1.0
GTK_DATA_PREFIX=/run/current-system/profile
GUILE_LOAD_COMPILED_PATH=/home/lechner/.guix-home/profile/lib/guile/3.0/site-ccache:/home/lechner/.guix-home/profile/share/guile/site/3.0:/home/lechner/.guix-profile/lib/guile/3.0/site-ccache:/home/lechner/.guix-profile/share/guile/site/3.0:/run/current-system/profile/lib/guile/3.0/site-ccache:/run/current-system/profile/share/guile/site/3.0
GUILE_LOAD_PATH=/home/lechner/.guix-home/profile/share/guile/site/3.0:/home/lechner/.guix-profile/share/guile/site/3.0:/run/current-system/profile/share/guile/site/3.0
GUIX_ENVIRONMENT=/gnu/store/xcr6x9rkzdmah3sgdgd5sbzp9sbnzwnd-profile
GUIX_GTK3_PATH=/home/lechner/.guix-home/profile/lib/gtk-3.0:/home/lechner/.guix-profile/lib/gtk-3.0:/run/current-system/profile/lib/gtk-3.0
GUIX_GTK4_PATH=/run/current-system/profile/lib/gtk-4.0
GUIX_LOCPATH=/run/current-system/locale:/gnu/store/mw3py6smb1pk8yx298hd9ivz9lzbksqi-glibc-utf8-locales-2.33/lib/locale
GUIX_PYTHONPATH=/home/lechner/.guix-home/profile/lib/python3.9/site-packages
HOME=/home/lechner
HUSHLOGIN=FALSE
INFOPATH=/home/lechner/.guix-home/profile/share/info:/home/lechner/.config/guix/current/share/info:/home/lechner/.guix-profile/share/info:/run/current-system/profile/share/info:/home/lechner/.guix-profile/share/info:/run/current-system/profile/share/info
LANG=en_US.utf8
LIBRARY_PATH=/home/lechner/.guix-home/profile/lib:/home/lechner/.guix-profile/lib
LINUX_MODULE_DIRECTORY=/run/booted-system/kernel/lib/modules
LOGNAME=lechner
LV2_PATH=/home/lechner/.guix-home/profile/lib/lv2
MANPATH=/home/lechner/.guix-home/profile/share/man:/run/current-system/profile/share/man:/home/lechner/.guix-profile/share/man:/run/current-system/profile/share/man
MOTD_SHOWN=pam
NAUTILUS_EXTENSION_PATH=/run/current-system/profile/lib/nautilus/site-extensions
NM_VPN_PLUGIN_DIR=/gnu/store/s4j534jy2y6y4b5xff5adgwijxcrgjdl-network-manager-vpn-plugins/lib/NetworkManager/VPN
OLDPWD=/home/lechner
PASSWORD_STORE_SYSTEM_EXTENSION_DIR=/home/lechner/.guix-home/profile/lib/password-store/extensions
PATH=/home/lechner/.guix-home/profile/bin:/home/lechner/.guix-home/profile/sbin:/run/setuid-programs:/home/lechner/.config/guix/current/bin:/home/lechner/.guix-profile/bin:/home/lechner/.guix-profile/sbin:/run/current-system/profile/bin:/run/current-system/profile/sbin
PERL5LIB=/home/lechner/.guix-home/profile/lib/perl5/site_perl:/home/lechner/.guix-profile/lib/perl5/site_perl
PKG_CONFIG_PATH=/home/lechner/.guix-home/profile/lib/pkgconfig:/home/lechner/.guix-home/profile/share/pkgconfig:/home/lechner/.guix-profile/lib/pkgconfig:/home/lechner/.guix-profile/share/pkgconfig
PULSE_CLIENTCONFIG=/etc/pulse/client.conf
PULSE_CONFIG=/etc/pulse/daemon.conf
PWD=/lcl/lechner/guile-pam/git
QMAKEPATH=/home/lechner/.guix-home/profile/lib/qt5:/home/lechner/.guix-profile/lib/qt5
QT_PLUGIN_PATH=/home/lechner/.guix-home/profile/lib/qt5/plugins:/home/lechner/.guix-profile/lib/qt5/plugins
_=/run/current-system/profile/bin/env
SHELL=/gnu/store/d99ykvj3axzzidygsmdmzxah4lvxd6hw-bash-5.1.8/bin/bash
SHLVL=4
SSL_CERT_DIR=/run/current-system/profile/etc/ssl/certs
SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
TERM=alacritty
TERMINFO_DIRS=/home/lechner/.guix-home/profile/share/terminfo:/home/lechner/.guix-profile/share/terminfo
TZDIR=/gnu/store/7pjzwj9d4fnyzp9x7k8cc4hazypyrk0p-tzdata-2022a/share/zoneinfo
USER=lechner
WINDOWID=41943042
WINDOWPATH=2
XDG_CACHE_HOME=/home/lechner/.cache
XDG_CONFIG_DIRS=/home/lechner/.guix-home/profile/etc/xdg:/home/lechner/.guix-profile/etc/xdg:/home/lechner/.guix-profile/etc/xdg:/run/current-system/profile/etc/xdg
XDG_CONFIG_HOME=/home/lechner/.config
XDG_DATA_DIRS=/home/lechner/.guix-home/profile/share:/home/lechner/.guix-profile/share:/run/current-system/profile/share:/home/lechner/.guix-profile/share:/run/current-system/profile/share
XDG_DATA_HOME=/home/lechner/.local/share
XDG_LOG_HOME=/home/lechner/.local/var/log
XDG_RUNTIME_DIR=/run/user/1000
XDG_SEAT=seat0
XDG_SESSION_CLASS=user
XDG_SESSION_ID=c3
XDG_SESSION_TYPE=tty
XDG_STATE_HOME=/home/lechner/.local/var/lib
XDG_VTNR=2
XTERM_LOCALE=en_US.utf8
XTERM_SHELL=/gnu/store/d99ykvj3axzzidygsmdmzxah4lvxd6hw-bash-5.1.8/bin/bash
XTERM_VERSION=XTerm(370)