From 05475f051c67e7a706d86c97d8c9204950eefe41 Mon Sep 17 00:00:00 2001 From: iliajie Date: Sat, 12 Nov 2022 21:42:56 +0200 Subject: [PATCH] Add default initialization file for `zsh` ; move scripts to `rc/` dir --- xterm/{default-rc_bash => rc/.bashrc} | 0 xterm/{default-rc_sh => rc/.shrc} | 0 xterm/rc/.zshrc | 31 +++++++++++++++++++++++++++ xterm/shellserver.pl | 9 ++++++-- 4 files changed, 38 insertions(+), 2 deletions(-) rename xterm/{default-rc_bash => rc/.bashrc} (100%) rename xterm/{default-rc_sh => rc/.shrc} (100%) create mode 100644 xterm/rc/.zshrc diff --git a/xterm/default-rc_bash b/xterm/rc/.bashrc similarity index 100% rename from xterm/default-rc_bash rename to xterm/rc/.bashrc diff --git a/xterm/default-rc_sh b/xterm/rc/.shrc similarity index 100% rename from xterm/default-rc_sh rename to xterm/rc/.shrc diff --git a/xterm/rc/.zshrc b/xterm/rc/.zshrc new file mode 100644 index 000000000..edf094f67 --- /dev/null +++ b/xterm/rc/.zshrc @@ -0,0 +1,31 @@ +# user specific environment +if ! [[ "$PATH" =~ "$HOME/.local/bin:$HOME/bin:" ]] +then + PATH="$HOME/.local/bin:$HOME/bin:$PATH" +fi +export PATH + +# don't put duplicate lines in the history +HISTCONTROL=ignoredups:ignorespace + +# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) +HISTSIZE=1000 +HISTFILESIZE=2000 + +# custom PS1 +PS1='%F{magenta}%n%f@%F{green}%m%f:%1~%# ' + +# user default env config +if [ -f ~/.zshenv ]; then + . ~/.zshenv +fi + +# user default profile config +if [ -f ~/.zprofile ]; then + . ~/.zprofile +fi + +# user default run time config +if [ -f ~/.zshrc ]; then + . ~/.zshrc +fi diff --git a/xterm/shellserver.pl b/xterm/shellserver.pl index 6804a2bf0..bf51e47a7 100755 --- a/xterm/shellserver.pl +++ b/xterm/shellserver.pl @@ -40,9 +40,10 @@ my $shelllogin = "-".$shellname; # Check for initialization file if ($config{'rcfile'}) { + my $rcdir = "$module_root_directory/rc"; my $rcfile = $config{'rcfile'} == 1 ? # Load shell init default file from module root directory - $module_root_directory."/default-rc_".$shellname : + "$rcdir/.".$shellname."rc" : # Load shell init custom file $config{'rcfile'}; if ($rcfile =~ /^\~\//) { @@ -56,7 +57,11 @@ if ($config{'rcfile'}) { } # Sh elsif ($shellname eq 'sh') { - $shellexec = "ENV=$rcfile; export ENV ; $shellexec"; + $shellexec = "export ENV=$rcfile ; $shellexec"; + } + # Zsh + elsif ($shellname eq 'zsh') { + $shellexec = "export ZDOTDIR=$rcdir ; $shellexec"; } # Cannot use login shell while passing other parameters,