feat: zsh configs based on omz

This commit is contained in:
2024-11-02 12:10:53 +01:00
commit 890e0da8f4
2 changed files with 201 additions and 0 deletions

166
zsh/.zshrc Executable file
View File

@@ -0,0 +1,166 @@
# If you come from bash you might have to change your $PATH.
export PATH=$HOME/.local/bin:/usr/local/bin:$PATH:/home/lacko/Programs
# XDG compliance
XDG_DATA_HOME="$HOME/.local/share"
XDG_CONFIG_HOME="$HOME/.config"
XDG_STATE_HOME="$HOME/.local/state"
XDG_CACHE_HOME="$HOME/.cache"
export XDG_DATA_HOME XDG_CONFIG_HOME XDG_STATE_HOME XDG_CACHE_HOME
# android-studio
export ANDROID_HOME="$XDG_DATA_HOME"/android
# gnupg
export GNUPGHOME="$XDG_DATA_HOME"/gnupg
# less
export LESSHISTFILE="$XDG_CACHE_HOME"/less/history
# ohmyzsh
export ZSH="$XDG_DATA_HOME"/oh-my-zsh
# openjdk
export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java
# pylint
export PYLINTHOME="${XDG_CACHE_HOME}"/pylint
# python
export PYTHONSTARTUP="${XDG_CONFIG_HOME}/python/pythonrc"
# subversion
alias svn="svn --config-dir $XDG_CONFIG_HOME/subversion"
# vim
#export VIMINIT=$XDG_CACHE_HOME/vim/
# wget
alias wget=wget --hsts-file="$XDG_DATA_HOME/wget-hsts"
# wine
export WINEPREFIX="$XDG_STATE_HOME"/wine
# zsh
export HISTFILE="$XDG_STATE_HOME"/zsh/history
# Set 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 which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
ZSH_THEME="gentoo"
# Set 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 the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE="true"
# Uncomment the following line to automatically update without prompting.
DISABLE_UPDATE_PROMPT="true"
# Uncomment the following line to change how often to auto-update (in days).
export UPDATE_ZSH_DAYS=7
# 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 auto-correction.
# ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# Caution: this setting can cause issues with multiline prompts (zsh 5.7.1 and newer seem to work)
# See https://github.com/ohmyzsh/ohmyzsh/issues/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.
# HIST_STAMPS="mm/dd/yyyy"
# 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.
plugins=(git fzf-tab)
source $ZSH/oh-my-zsh.sh
# XDG compliant zcomp
compinit -d "$XDG_CACHE_HOME"/zsh/zcompdump-"$ZSH_VERSION"
# User configuration
#disabling the stupid wildcard handling
# 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='nvim'
else
export EDITOR='nvim'
fi
# Compilation flags
# export ARCHFLAGS="-arch x86_64"
# 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 the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
alias zshconfig="nvim ~/.config/zsh/zshrc"
alias ohmyzsh="nvim ~/.oh-my-zsh"
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
alias dir='dir --color=auto'
alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
# separate file for zsh aliases
if [ -f $XDG_CONFIG_HOME/zsh/zsh_aliases ]; then
. $XDG_CONFIG_HOME/zsh/zsh_aliases
fi
# pkg-config correction (by the readme of DSView-1.12)
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"
# XILINX
XILINX_EDK=/media/lacko/TOOLBOX/ISE/14.7/ISE_DS/EDK
XILINX_PLANAHEAD=/media/lacko/TOOLBOX/ISE/14.7/ISE_DS/PlanAhead
XILINX_DSP=/media/lacko/TOOLBOX/ISE/14.7/ISE_DS/ISE
XILINX=/media/lacko/TOOLBOX/ISE/14.7/ISE_DS/ISE
export XILINX_EDK
export XILINX_PLANAHEAD
export XILINX_DSP
export XILINX
export VHDL_LS_CONFIG=$HOME/Desktop/work/global_fpga/_utilities_/vhdl_ls.toml

35
zsh/zsh_aliases Executable file
View File

@@ -0,0 +1,35 @@
# bash-aliases
# command preferences
alias sudo="doas" # less bloated, more secure
alias cp="cp -i" # confirm before overwriting something
alias df='df -h' # human-readable sizes
alias free='free -m' # show sizes in MB
alias dmesg='sudo dmesg -T --color=always' # human-readable timestamps
alias less='less -r' # retain color escapes
# ssh shortcuts
#alias sshnas="ssh admin@192.168.16.32" # synology NAS
#alias sshdir600="ssh root@192.168.16.15" # router running my shutter automation
#alias sshrockvault="ssh admin@192.168.16.67" # NAS in building
#alias sshipad="ssh 192.168.16.33" # ideapad running microservices
# executables
#alias tarokk='java -jar ~/.local/bin/jota/jota.jar' # Java tarokk game
#alias orbiter-ng='zsh ~/Programs/run-wine-orbiter-ng.sh' # Community developed spacflight simulator, DirectX11 GUI
#alias orbiter='zsh ~/Programs/run-wine-orbiter.sh' # Community developed spacflight simulator, default GUI
#alias holoware='wine ~/Programs/holoware/Holoware\ v0.2/Holoware.exe' # Fanmade Wario Ware style game with Hololive characters
# one-liners
alias bton='doas /etc/init.d/bluetooth start' # Turn the bluetooth daemon on
alias btoff='doas /etc/init.d/bluetooth stop' # Turn the bluetooth daemon off
alias ani-hist='${EDITOR} "${XDG_CACHE_HOME:-$HOME/.cache}/ani-hsts"' # Edit the history file of ani-cli
alias ud="doas dnf upgrade; flatpak update -y;" # ud for quick update
#alias toolbox='systemctl start iscsid open-iscsi' # start the iSCSI services
cdwork () {
lxc list status=running | grep -q quarch || lxc start quarch
lxc exec quarch -- su --login kosmx
}
# NO crontab -r
crontab () { [[ $@ =~ -[iel]*r ]] && echo '"r" not allowed' || command crontab "$@" ;}