From 39711cf6c2ec5a3b4480dcb4800cc3802bda5bf2 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Fri, 20 Mar 2026 19:16:32 +0100 Subject: feat: first fully successful run e2e on straper --- .../environment/zsh/newuser.zshrc.recommended | 37 +++++++ straper/db/public/environment/zsh/zlogin | 9 ++ straper/db/public/environment/zsh/zlogout | 1 + straper/db/public/environment/zsh/zprofile | 7 ++ straper/db/public/environment/zsh/zshenv | 18 ++++ straper/db/public/environment/zsh/zshrc | 113 +++++++++++++++++++++ 6 files changed, 185 insertions(+) create mode 100644 straper/db/public/environment/zsh/newuser.zshrc.recommended create mode 100644 straper/db/public/environment/zsh/zlogin create mode 100644 straper/db/public/environment/zsh/zlogout create mode 100644 straper/db/public/environment/zsh/zprofile create mode 100644 straper/db/public/environment/zsh/zshenv create mode 100644 straper/db/public/environment/zsh/zshrc (limited to 'straper/db/public/environment/zsh') diff --git a/straper/db/public/environment/zsh/newuser.zshrc.recommended b/straper/db/public/environment/zsh/newuser.zshrc.recommended new file mode 100644 index 0000000..55be3ab --- /dev/null +++ b/straper/db/public/environment/zsh/newuser.zshrc.recommended @@ -0,0 +1,37 @@ +# Set up the prompt + +autoload -Uz promptinit +promptinit +prompt adam1 + +setopt histignorealldups sharehistory + +# Use emacs keybindings even if our EDITOR is set to vi +bindkey -e + +# Keep 1000 lines of history within the shell and save it to ~/.zsh_history: +HISTSIZE=1000 +SAVEHIST=1000 +HISTFILE=~/.zsh_history + +# Use modern completion system +autoload -Uz compinit +compinit + +zstyle ':completion:*' auto-description 'specify: %d' +zstyle ':completion:*' completer _expand _complete _correct _approximate +zstyle ':completion:*' format 'Completing %d' +zstyle ':completion:*' group-name '' +zstyle ':completion:*' menu select=2 +eval "$(dircolors -b)" +zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS} +zstyle ':completion:*' list-colors '' +zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s +zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=* l:|=*' +zstyle ':completion:*' menu select=long +zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s +zstyle ':completion:*' use-compctl false +zstyle ':completion:*' verbose true + +zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31' +zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd' diff --git a/straper/db/public/environment/zsh/zlogin b/straper/db/public/environment/zsh/zlogin new file mode 100644 index 0000000..f6cd2f2 --- /dev/null +++ b/straper/db/public/environment/zsh/zlogin @@ -0,0 +1,9 @@ +# /etc/zsh/zlogin: system-wide .zlogin file for zsh(1). +# +# This file is sourced only for login shells. It +# should contain commands that should be executed only +# in login shells. It should be used to set the terminal +# type and run a series of external commands (fortune, +# msgs, from, etc.) +# +# Global Order: zshenv, zprofile, zshrc, zlogin diff --git a/straper/db/public/environment/zsh/zlogout b/straper/db/public/environment/zsh/zlogout new file mode 100644 index 0000000..22d842f --- /dev/null +++ b/straper/db/public/environment/zsh/zlogout @@ -0,0 +1 @@ +# /etc/zsh/zlogout: system-wide .zlogout file for zsh(1). diff --git a/straper/db/public/environment/zsh/zprofile b/straper/db/public/environment/zsh/zprofile new file mode 100644 index 0000000..09db6f5 --- /dev/null +++ b/straper/db/public/environment/zsh/zprofile @@ -0,0 +1,7 @@ +# /etc/zsh/zprofile: system-wide .zprofile file for zsh(1). +# +# This file is sourced only for login shells (i.e. shells +# invoked with "-" as the first character of argv[0], and +# shells invoked with the -l flag.) +# +# Global Order: zshenv, zprofile, zshrc, zlogin diff --git a/straper/db/public/environment/zsh/zshenv b/straper/db/public/environment/zsh/zshenv new file mode 100644 index 0000000..e2613c3 --- /dev/null +++ b/straper/db/public/environment/zsh/zshenv @@ -0,0 +1,18 @@ +# /etc/zsh/zshenv: system-wide .zshenv file for zsh(1). +# +# This file is sourced on all invocations of the shell. +# If the -f flag is present or if the NO_RCS option is +# set within this file, all other initialization files +# are skipped. +# +# This file should contain commands to set the command +# search path, plus other important environment variables. +# This file should not contain commands that produce +# output or assume the shell is attached to a tty. +# +# Global Order: zshenv, zprofile, zshrc, zlogin + +if [[ -z "$PATH" || "$PATH" == "/bin:/usr/bin" ]] +then + export PATH="/usr/local/bin:/usr/bin:/bin:/usr/games" +fi diff --git a/straper/db/public/environment/zsh/zshrc b/straper/db/public/environment/zsh/zshrc new file mode 100644 index 0000000..194f636 --- /dev/null +++ b/straper/db/public/environment/zsh/zshrc @@ -0,0 +1,113 @@ +# /etc/zsh/zshrc: system-wide .zshrc file for zsh(1). +# +# This file is sourced only for interactive shells. It +# should contain commands to set up aliases, functions, +# options, key bindings, etc. +# +# Global Order: zshenv, zprofile, zshrc, zlogin + +READNULLCMD=${PAGER:-/usr/bin/pager} + +# An array to note missing features to ease diagnosis in case of problems. +typeset -ga debian_missing_features + +if [[ -z "${DEBIAN_PREVENT_KEYBOARD_CHANGES-}" ]] && + [[ "$TERM" != 'emacs' ]] +then + + typeset -A key + key=( + BackSpace "${terminfo[kbs]}" + Home "${terminfo[khome]}" + End "${terminfo[kend]}" + Insert "${terminfo[kich1]}" + Delete "${terminfo[kdch1]}" + Up "${terminfo[kcuu1]}" + Down "${terminfo[kcud1]}" + Left "${terminfo[kcub1]}" + Right "${terminfo[kcuf1]}" + PageUp "${terminfo[kpp]}" + PageDown "${terminfo[knp]}" + ) + + function bind2maps () { + local i sequence widget + local -a maps + + while [[ "$1" != "--" ]]; do + maps+=( "$1" ) + shift + done + shift + + sequence="${key[$1]}" + widget="$2" + + [[ -z "$sequence" ]] && return 1 + + for i in "${maps[@]}"; do + bindkey -M "$i" "$sequence" "$widget" + done + } + + bind2maps emacs -- BackSpace backward-delete-char + bind2maps viins -- BackSpace vi-backward-delete-char + bind2maps vicmd -- BackSpace vi-backward-char + bind2maps emacs -- Home beginning-of-line + bind2maps viins vicmd -- Home vi-beginning-of-line + bind2maps emacs -- End end-of-line + bind2maps viins vicmd -- End vi-end-of-line + bind2maps emacs viins -- Insert overwrite-mode + bind2maps vicmd -- Insert vi-insert + bind2maps emacs -- Delete delete-char + bind2maps viins vicmd -- Delete vi-delete-char + bind2maps emacs viins vicmd -- Up up-line-or-history + bind2maps emacs viins vicmd -- Down down-line-or-history + bind2maps emacs -- Left backward-char + bind2maps viins vicmd -- Left vi-backward-char + bind2maps emacs -- Right forward-char + bind2maps viins vicmd -- Right vi-forward-char + + # Make sure the terminal is in application mode, when zle is + # active. Only then are the values from $terminfo valid. + if (( ${+terminfo[smkx]} )) && (( ${+terminfo[rmkx]} )); then + function zle-line-init () { + emulate -L zsh + printf '%s' ${terminfo[smkx]} + } + function zle-line-finish () { + emulate -L zsh + printf '%s' ${terminfo[rmkx]} + } + zle -N zle-line-init + zle -N zle-line-finish + else + for i in {s,r}mkx; do + (( ${+terminfo[$i]} )) || debian_missing_features+=($i) + done + unset i + fi + + unfunction bind2maps + +fi # [[ -z "$DEBIAN_PREVENT_KEYBOARD_CHANGES" ]] && [[ "$TERM" != 'emacs' ]] + +zstyle ':completion:*:sudo:*' command-path /usr/local/sbin \ + /usr/local/bin \ + /usr/sbin \ + /usr/bin \ + /sbin \ + /bin \ + /usr/X11R6/bin + +(( ${+aliases[run-help]} )) && unalias run-help +autoload -Uz run-help + +# If you don't want compinit called here, place the line +# skip_global_compinit=1 +# in your $ZDOTDIR/.zshenv +if (( ${${(@f)"$(