201 lines
7.2 KiB
Bash
201 lines
7.2 KiB
Bash
# SPDX-Version: 3.0
|
|
# SPDX-CreationInfo: 2025-06-17; WEIDNER, Marc S.; <msw@coresecret.dev>
|
|
# SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.installer.git
|
|
# SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency
|
|
# SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; <msw@coresecret.dev>
|
|
# SPDX-FileType: SOURCE
|
|
# SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0
|
|
# SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework.
|
|
# SPDX-PackageName: CISS.debian.installer
|
|
# SPDX-Security-Contact: security@coresecret.eu
|
|
|
|
[[ -o interactive ]] || return
|
|
|
|
# shellcheck disable=SC2312
|
|
if [[ "$(id -u)" -eq 0 ]]; then
|
|
umask 0022
|
|
# If you come from bash, you might have to change your $PATH.
|
|
PATH="${HOME}/bin:${HOME}/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
|
else
|
|
umask 0077
|
|
# If you come from bash, you might have to change your $PATH.
|
|
PATH="${HOME}/bin:${HOME}/.local/bin:/usr/local/bin:/usr/bin:/bin"
|
|
fi
|
|
export PATH
|
|
|
|
### Path to your Oh My Zsh installation.
|
|
export ZSH="${HOME}/.oh-my-zsh"
|
|
|
|
# Set the name of the theme to load --- if set to "random", it will load a random theme each time Oh My Zsh is loaded, in which
|
|
# case, to know what specific theme was loaded, run: echo $RANDOM_THEME. See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
|
|
export ZSH_THEME="robbyrussell"
|
|
|
|
# Set the list of themes to pick from when loading at random Setting this variable when ZSH_THEME=random will cause zsh to load
|
|
# a theme from this variable instead of looking in $ZSH/themes/. If set to an empty array, this variable will have no effect.
|
|
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
|
|
|
|
# Uncomment the following line to use case-sensitive completion.
|
|
# CASE_SENSITIVE="true"
|
|
|
|
# Uncomment the following line to use hyphen-insensitive completion. Case-sensitive completion must be off. _ and - will be
|
|
# interchangeable.
|
|
# HYPHEN_INSENSITIVE="true"
|
|
|
|
# Uncomment one of the following lines to change the auto-update behavior
|
|
# zstyle ':omz:update' mode disabled # disable automatic updates
|
|
# zstyle ':omz:update' mode auto # update automatically without asking
|
|
# zstyle ':omz:update' mode reminder # just remind me to update when it's time
|
|
|
|
# Uncomment the following line to change how often to auto-update (in days).
|
|
# zstyle ':omz:update' frequency 13
|
|
|
|
# Uncomment the following line if pasting URLs and other text is messed up.
|
|
# DISABLE_MAGIC_FUNCTIONS="true"
|
|
|
|
# Uncomment the following line to disable colors in ls.
|
|
# DISABLE_LS_COLORS="true"
|
|
|
|
# Uncomment the following line to disable auto-setting terminal title.
|
|
# DISABLE_AUTO_TITLE="true"
|
|
|
|
# Uncomment the following line to enable command autocorrection.
|
|
# ENABLE_CORRECTION="true"
|
|
|
|
# Uncomment the following line to display red dots whilst waiting for completion. You can also set it to another string to have
|
|
# that is shown instead of the default red dots.
|
|
# e.g., COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
|
|
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
|
|
# COMPLETION_WAITING_DOTS="true"
|
|
|
|
# Uncomment the following line if you want to disable marking untracked files under VCS as dirty. This makes repository status
|
|
# check for large repositories much, much faster.
|
|
# DISABLE_UNTRACKED_FILES_DIRTY="true"
|
|
|
|
# Uncomment the following line if you want to change the command execution time stamp shown in the history command output.
|
|
# You can set one of the optional three formats:
|
|
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
|
|
# or set a custom format using the strftime function format specifications, see 'man strftime' for details.
|
|
export HIST_STAMPS="yyyy-mm-dd"
|
|
|
|
# Would you like to use another custom folder than $ZSH/custom?
|
|
# ZSH_CUSTOM=/path/to/new-custom-folder
|
|
|
|
# Which plugins would you like to load?
|
|
# Standard plugins can be found in $ZSH/plugins/
|
|
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
|
|
# Example format: plugins=(rails git textmate ruby lighthouse)
|
|
# Add wisely, as too many plugins slow down shell startup.
|
|
export plugins=(git zsh-syntax-highlighting zsh-autosuggestions)
|
|
|
|
source ${ZSH}/oh-my-zsh.sh
|
|
|
|
# User configuration
|
|
|
|
# export MANPATH="/usr/local/man:{$MANPATH}"
|
|
|
|
# You may need to manually set your language environment
|
|
# export LANG=en_US.UTF-8
|
|
|
|
# Preferred editor for local and remote sessions
|
|
# if [[ -n $SSH_CONNECTION ]]; then
|
|
# export EDITOR='vim'
|
|
# else
|
|
# export EDITOR='nvim'
|
|
# fi
|
|
|
|
# Compilation flags
|
|
# export ARCHFLAGS="-arch $(uname -m)"
|
|
|
|
# Set personal aliases, overriding those provided by Oh My Zsh libs,
|
|
# plugins, and themes. Aliases can be placed here, though Oh My Zsh
|
|
# users are encouraged to define aliases within a top-level file in
|
|
# the $ZSH_CUSTOM folder, with .zsh extension. Examples:
|
|
# - $ZSH_CUSTOM/aliases.zsh
|
|
# - $ZSH_CUSTOM/macos.zsh
|
|
# For a full list of active aliases, run `alias`.
|
|
#
|
|
# Example aliases
|
|
# alias zshconfig="mate ~/.zshrc"
|
|
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
|
|
|
### Added by CISS.debian.installer ###
|
|
trap ' "${SHELL}" "${HOME}/.ciss/clean_logout.sh" ' EXIT
|
|
. "${HOME}/.ciss/alias"
|
|
. "${HOME}/.ciss/check_chrony.sh"
|
|
. "${HOME}/.ciss/shortcuts"
|
|
. "${HOME}/.ciss/scan_libwrap"
|
|
. /usr/share/doc/fzf/examples/key-bindings.zsh
|
|
. /usr/share/doc/fzf/examples/completion.zsh
|
|
|
|
### Never use 'errexit' | 'nounset' | 'pipefail' in interactive shells.
|
|
set +o errexit +o nounset +o pipefail
|
|
|
|
### Define colors for bash prompt
|
|
export CRED='\033[1;91m'
|
|
export CGRE='\033[1;92m'
|
|
export CYEL='\033[1;93m'
|
|
export CBLU='\033[1;94m'
|
|
export CMAG='\033[1;95m'
|
|
export CCYA='\033[1;96m'
|
|
export CWHI='\033[1;97m'
|
|
export CRES='\033[0m'
|
|
export NL='\n'
|
|
|
|
### Overwrite Protection
|
|
set -o noclobber
|
|
alias cp="cp -iv"
|
|
alias mv='mv -iv'
|
|
alias rm='rm -iv'
|
|
|
|
### Preferred editor for local and remote sessions
|
|
export EDITOR="nano"
|
|
|
|
### History
|
|
# The name of the file in which command history is saved.
|
|
export HISTFILE="${HOME}/.zsh_history"
|
|
# The maximum number of lines contained in the history file.
|
|
export HISTSIZE=16384
|
|
# The number of commands to remember in the command history.
|
|
export SAVEHIST=16384
|
|
# Timestamp in the file: epoch:duration;command.
|
|
setopt EXTENDED_HISTORY
|
|
# Append, do not overwrite.
|
|
setopt APPEND_HISTORY
|
|
# Append lines immediately to the file.
|
|
setopt INC_APPEND_HISTORY
|
|
# Reload new lines from other sessions.
|
|
setopt SHARE_HISTORY
|
|
# Leading space do not log.
|
|
setopt HIST_IGNORE_SPACE
|
|
# When writing out the history file, older commands that duplicate newer ones are omitted.
|
|
setopt HIST_SAVE_NO_DUPS
|
|
# Remove superfluous blanks from each command line being added to the history list.
|
|
setopt HIST_REDUCE_BLANKS
|
|
|
|
# Check History permissions.
|
|
[[ -f "${HISTFILE}" ]] && chmod 0600 "${HISTFILE}"
|
|
|
|
### Define Users
|
|
if [ "${UID}" -eq 0 ]; then
|
|
export USER_COLOR="%F{001}"
|
|
else
|
|
export USER_COLOR="%F{002}"
|
|
fi
|
|
|
|
### CISS.debian.installer Prompt
|
|
PROMPT='${USER_COLOR}%D%f|${USER_COLOR}%n%f@%F{005}%M%f:%F{006}%d%f/>>%(?.%F{002}%?.%F{001}%?)%f|~%#> '
|
|
RPROMPT='%h|[${USER_COLOR}%*%f]'
|
|
|
|
### Welcome message after login.
|
|
printf "\n"
|
|
printf "%b🔐 Coresecret Channel Established. %b%b" "${CRED}" "${CRES}" "${NL}"
|
|
printf "%b✅ Welcome back %b " "${CGRE}" "${CRES}"
|
|
printf "%b'%b'%b" "${CMAG}" "${USER}" "${CRES}"
|
|
printf "%b! Type%b" "${CGRE}" "${CRES}"
|
|
printf "%b 'celp'%b" "${CMAG}" "${CRES}"
|
|
printf "%b for shortcuts. %b%b" "${CGRE}" "${CRES}" "${NL}"
|
|
printf "\n"
|
|
printf "\n"
|
|
|
|
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh
|