tcsh/csh needs separate /etc/profile - like file

OpenSubmitted by ng0.
Details
2 participants
  • Ludovic Courtès
  • ng0
Owner
unassigned
Severity
wishlist
N
(address . bug-guix@gnu.org)
20170828081438.quadbcci5nv6zdbe@abyayala
I am looking into making usage of different shells easier on GuixSD.
I already noticed that our SLIM-service needs a change
to work for tcsh, but it seems as if we should also create
a file in the %base-services or a small service:

quote man tcsh(1):

Toggle quote (7 lines)
> Startup and shutdown
> A login shell begins by executing commands from the system files /etc/csh.cshrc and /etc/csh.login. It then executes commands from files in the user's home directory: first ~/.tcshrc (+) or, if ~/.tcshrc is not
> found, ~/.cshrc, then the contents of ~/.history (or the value of the histfile shell variable) are loaded into memory, then ~/.login, and finally ~/.cshdirs (or the value of the dirsfile shell variable) (+). The
> shell may read /etc/csh.login before instead of after /etc/csh.cshrc, and ~/.login before instead of after ~/.tcshrc or ~/.cshrc and ~/.history, if so compiled; see the version shell variable. (+)
>
> Non-login shells read only /etc/csh.cshrc and ~/.tcshrc or ~/.cshrc on startup.

It might take a while for me to find time for this and to test it,
but I will try and add such a file (/etc/csh.login) via a service.

However this _seems_ to be only a problem with SLIM as far as I could test,
as I am able to log in using tcsh (in a profile which never used bash and
uses tcsh as its user shell) at the tty. SLIM fails for login_command
reasons. Nevertheless it should be safer to add this for tcsh users
who are new to Guix and who did not add basic stuff to their .tcshrc
such as

Toggle quote (6 lines)
> setenv PATH $HOME/.guix-profile/bin:$HOME/.guix-profile/sbin:/run/setuid-programs:/run/current-system/profile/bin:/run/current-system/profile/sbin
> setenv INFOPATH $HOME/.guix-profile/share/info:/run/current-system/profile/share/info:$HOME/.guix-profile/share/info:/run/current-system/profile/share/info
> setenv GUILE_LOAD_COMPILED_PATH $HOME.guix-profile/lib/guile/2.2/site-ccache:$HOME.guix-profile/share/guile/site/2.2:/run/current-system/profile/lib/guile/2.2/site-ccache:/run/current-system/profile/share/guile/site/2.2
> setenv GUILE_LOAD_PATH $HOME/.guix-profile/share/guile/site/2.2:/run/current-system/profile/share/guile/site/2.2
> setenv GIT_EXEC_PATH $HOME/.guix-profile/libexec/git-core

I will also look at the ~/.guix-profile/etc/profile variant
and see that we can generate a similar file for tcsh.

Toggle quote (2 lines)
> export INFOPATH="${GUIX_PROFILE:-/gnu/store/1n2ay00nvsybwszvjdm7acc39pm0k851-profile}/share/info${INFOPATH:+:}$INFOPATH"

a very simple solution could be
setenv INFOPATH $GUIX_PROFILE/share/info

which of course does not include the

Toggle quote (2 lines)
> export INFOPATH=$HOME/.guix-profile/share/info:/run/current-system/profile/share/info

which can be set in /etc/profile so I assume it
could be (untested):

setenv INFOPATH $GUIX_PROFILE/share/info:INFOPATH

We can also test very easily for tcsh if that helps
solving any future problems:

Toggle quote (8 lines)
> [abyayala] 8:08am ~ > echo $shell
> /gnu/store/kfv79p5di3bz3jl4j1vn91v69ga6sqk3-tcsh-6.20.00/bin/tcsh
> [abyayala] 8:08am ~ > exit
> # now we are back in bash again (no tcsh-only environment here)
> user@abyayala ~$ echo $shell
>
> # as you can see bash returns empty here
> # and so does zsh aswell.
--
ng0
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEqIyK3RKYKNfqwC5S4i+bv+40hYgFAlmj0O4ACgkQ4i+bv+40
hYgj9BAAtkAF8nL+e63aLhxzQ6bkseI/+eFR0EQxxeEutiFNPWVwzgpgGG+ojrg2
1xXd18Q6EDkUQhDsRTBvHyk2CuhPorCah5FBY4H8qi/dWfNxq17m+70kyhwhNdxp
l3FeAbzE6i7rRuCjhcN1h4NMYABqNuVcmQP70rGWA/8ea5rAaaRZFLi1ekIFAmVW
Nr59ZcsIcCbbGCTZSu+Hj2NAOM1nVcCAqkBFcUQEgetDp0inNhM+i6S7yFn5GfoN
1Of//IQOrp9uyRzE3BluJ63Csyv19GyMPZ9rJDwgatPTVCeodPJVr1LstR4aGjyW
uUAh0H4MMU39K/unt7giiU8gHVNyzPTp+heeQTq2r/QLfFSkeLWHCvrVdA7DlOPa
U3Q+g3uHvjQ0BS2oA4xncbFwy+ZkZ4TecN2DUhPzancswpnVatryrxraHnAADMHo
z9MyXA3c6ibfBrcL4pJxF2tXTQ+LHjiUH1/Qfe4oQKsOgyWnXeWMZdZN2ZmGvWBl
F4ve5LL4fWHcrgk8C7FVfzKFvphk1xmHGrEVZHoHkJu3m+FhREaykGNg7L18oZZr
ClrlMjg/L55wuEn3wTKyiUNfvUXCd0Ohnzdrg/i1Zo5QbDg3x9d4ArPacUT3ompx
HkuD7nr8qfGNUI9LyilTVXvg7VQwV1REkDLSAtdlkUVaBZVXXtU=
=wUj3
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 26 Nov 2017 15:18
control message for bug #28260
(address . control@debbugs.gnu.org)
87wp2dw2b9.fsf@gnu.org
severity 28260 wishlist
?