Compare commits

...

25 Commits

Author SHA1 Message Date
f1e3df69a8 iterm2 update 2025-10-28 21:09:24 +01:00
0370d09946 fix eza in zshrc and aliases 2025-09-08 21:12:51 +02:00
017722fdb7 update 2025-08-05 21:06:40 +02:00
02c56d31f1 add home+exit = he to aliases 2025-06-05 18:44:32 +02:00
265960a823 add home alias :-) 2025-05-29 11:34:55 +02:00
cf60d9bfde fix github screenshots 2025-05-11 12:02:26 +02:00
034f857c3e change to shorter typing 2025-04-19 21:02:54 +02:00
2a49623982 check if '/opt/homebrew/bin' exists 2025-04-19 20:54:01 +02:00
fd05fde8e4 disable mousemode 2025-04-12 21:22:05 +02:00
9aafef9ba3 prevent double tmux 2025-04-12 21:21:35 +02:00
b1d520d666 fix udot path issues 2025-04-08 21:14:08 +02:00
abbf4bf28e Merge branch 'master' of ssh://192.168.178.69:2222/Eragos/dotfiles 2025-04-08 21:06:07 +02:00
a72b3ca7ca add git-prompt 2025-04-08 21:04:14 +02:00
f36865aa27 fix submodule error 2025-04-04 23:21:08 +02:00
df74db6373 add git-prompt 2025-04-04 22:51:24 +02:00
e301fe0494 enable local tmux 2025-04-04 22:41:06 +02:00
4c8b93dd8f dont doublestart tmux 2025-04-04 22:21:25 +02:00
d9dc9dbc57 add lazygit config 2025-04-03 22:49:44 +02:00
b440499ae9 add vim-plug, vim-sensible and vim-floaterm 2025-04-03 22:42:56 +02:00
6ff659e7b8 fix ascii :-) 2025-04-01 19:22:36 +02:00
835eb51ca2 fix ascii :-) 2025-04-01 19:14:59 +02:00
c5c90d1f2d some small changes 2025-03-31 22:50:39 +02:00
f5962c341f cleanup .zshrc 2025-03-30 22:10:38 +02:00
f5ba47c13e quick ssh connect 2025-03-30 21:13:51 +02:00
2613314ed7 cleanup 2025-03-30 21:02:22 +02:00
16 changed files with 3046 additions and 51 deletions

View File

@@ -1,22 +1,25 @@
# Solarized (mostly) dark skin for Midnight Commander
export MC_SKIN=$HOME/.config/mc/skins/solarized.ini
export EDITOR=vim
cd /opt/homebrew/bin
[[ -d "/opt/homebrew/bin" ]] && cd /opt/homebrew/bin
[[ -f "$HOME/.dotfiles/aliases" ]] && source "$HOME/.dotfiles/aliases"
[[ -f "$HOME/.iterm2_shell_integration.zsh" ]] && source "$HOME/.iterm2_shell_integration.zsh"
if [ ! "$TERM_PROGRAM" = "iTerm.app" ]; then
if [ -z "$TMUX" ]; then
(tmux ls | grep -vq attached && tmux -2 attach-session -t main) || tmux -2 new-session -s main
fi
fi
#if [ ! "$TERM_PROGRAM" = "iTerm.app" ]; then
# if [ -z "$TMUX" ]; then
# (tmux ls | grep -vq attached && tmux -2 attach-session -t main) || tmux -2 new-session -s main
# fi
#fi
# use ~/.commonrc.local for local changes, proxy etc.
[[ -f "$HOME/.commonrc.local" ]] && source "$HOME/.commonrc.local"
eval "$(/opt/homebrew/bin/brew shellenv)"
if [[ $OSTYPE == 'darwin'* ]]; then
eval "$(/opt/homebrew/bin/brew shellenv)"
fi
cd ~

View File

@@ -0,0 +1,14 @@
os:
editCommand: 'floterm'
gui:
theme:
selectedLineBgColor:
- underline
selectedRangeBgColor:
- underline
git:
paging:
colorArg: never
pager: delta --dark --paging=never

6
.gitmodules vendored
View File

@@ -49,3 +49,9 @@
[submodule ".vim/bundle/vim-markdown"]
path = .vim/bundle/vim-markdown
url = https://github.com/plasticboy/vim-markdown.git
[submodule ".vim/plugged/vim-floaterm"]
path = .vim/plugged/vim-floaterm
url = https://github.com/voldikss/vim-floaterm.git
[submodule ".vim/plugged/vim-sensible"]
path = .vim/plugged/vim-sensible
url = https://github.com/tpope/vim-sensible.git

View File

@@ -61,17 +61,45 @@ function b64_decode() {
# height: set output height of the image in character cells, pixels or percent
# preserve_aspect_ratio: 0 or 1, if set to 1, fill the specified width and height as much as possible without stretching the image
# file: Empty string or file type like "application/json" or ".js".
# legacy: 1 to send one giant control sequence, 0 to send many small control sequences.
function print_image() {
# Send metadata to begin transfer.
print_osc
printf "1337;File=inline=%s" "$2"
printf "1337;"
if [[ "$9" -eq 1 ]]; then
printf "File"
else
printf "MultipartFile"
fi
printf "=inline=%s" "$2"
printf ";size=%d" $(printf "%s" "$3" | b64_decode | wc -c)
[ -n "$1" ] && printf ";name=%s" "$(printf "%s" "$1" | b64_encode)"
[ -n "$5" ] && printf ";width=%s" "$5"
[ -n "$6" ] && printf ";height=%s" "$6"
[ -n "$7" ] && printf ";preserveAspectRatio=%s" "$7"
[ -n "$8" ] && printf ";type=%s" "$8"
printf ":%s" "$3"
print_st
if [[ "$9" -eq 1 ]]; then
printf ":%s" "$3"
print_st
else
print_st
# Split into 200-byte chunks. This helps it get through tmux.
parts=$(printf "%s" "$3" | fold -w 200)
# Send each part.
for part in $parts; do
print_osc
printf '1337;FilePart=%s' "$part"
print_st
done
# Indicate completion
print_osc
printf '1337;FileEnd'
print_st
fi
printf '\n'
[ "$4" == "1" ] && echo "$1"
has_image_displayed=t
@@ -104,6 +132,7 @@ function show_help() {
errcho " -s, --stretch Stretch image to specified width and height (this option is opposite to -r)"
errcho " -W, --width N Set image width to N character cells, pixels or percent (see below)"
errcho " -H, --height N Set image height to N character cells, pixels or percent (see below)"
errcho " -l, --legacy Use legacy protocol that sends the whole image in a single control sequence"
errcho
errcho " If you don't specify width or height an appropriate value will be chosen automatically."
errcho " The width and height are given as word 'auto' or number N followed by a unit:"
@@ -160,6 +189,7 @@ fi
check_dependency base64
check_dependency wc
file_type=""
legacy=0
# Look for command line flags.
while [ $# -gt 0 ]; do
@@ -190,6 +220,9 @@ while [ $# -gt 0 ]; do
-s | --s | --stretch)
preserve_aspect_ratio=0
;;
-l | --l | --legacy)
legacy=1
;;
-f | --f | --file)
has_stdin=f
is_url=f
@@ -221,7 +254,7 @@ while [ $# -gt 0 ]; do
exit 2
fi
has_stdin=f
print_image "$1" 1 "$encoded_image" "$print_filename" "$width" "$height" "$preserve_aspect_ratio" "$file_type"
print_image "$1" 1 "$encoded_image" "$print_filename" "$width" "$height" "$preserve_aspect_ratio" "$file_type" "$legacy"
;;
esac
shift
@@ -229,7 +262,7 @@ done
# Read and print stdin
if [ $has_stdin = t ]; then
print_image "" 1 "$(cat | b64_encode)" 0 "$width" "$height" "$preserve_aspect_ratio" "$file_type"
print_image "" 1 "$(cat | b64_encode)" 0 "$width" "$height" "$preserve_aspect_ratio" "$file_type" "$legacy"
fi
if [ "$has_image_displayed" != "t" ]; then

View File

@@ -65,7 +65,8 @@ send_tmux() {
send_regular() {
print_osc
inosc=1
printf '1337;Copy=:%s' "$data"
printf '1337;Copy=:%s'
cat
print_st
inosc=0
}

View File

@@ -52,7 +52,7 @@ do
wc -c "$fn" | awk '{printf "size=%d",$1}'
print_st
parts=$(b64_encode < "$fn" | fold -w 256)
parts=$(b64_encode < "$fn" | fold -w 200)
for part in $parts; do
print_osc
printf '1337;FilePart=%s' "$part"

View File

@@ -38,7 +38,7 @@ set-option -g bell-action none
# set mouse modes
if-shell '[[ $(echo "$(tmux -V | cut -d" " -f2) >= 2.1" | bc) -eq 1 ]]' \
'set -g mouse on' \
'set -g mode-mouse on; set -g mouse-resize-pane on; set -g mouse-select-pane on; set -g mouse-select-window on'
# 'set -g mode-mouse on; set -g mouse-resize-pane on; set -g mouse-select-pane on; set -g mouse-select-window on'
##########################################
### Styling

2877
.vim/autoload/plug.vim Normal file

File diff suppressed because it is too large Load Diff

8
.vimrc
View File

@@ -383,6 +383,14 @@ set pastetoggle=<F1>
execute pathogen#infect()
" enable powerline fonts
let g:airline_powerline_fonts = 1
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" PLUGINS
"
call plug#begin()
" List your plugins here
Plug 'tpope/vim-sensible'
Plug 'voldikss/vim-floaterm'
" call plug#end()
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Helper functions

63
.zshrc
View File

@@ -1,3 +1,4 @@
echo ".zshrc"
# Path to your oh-my-zsh installation.
export ZSH=$HOME/.oh-my-zsh
@@ -40,27 +41,26 @@ COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# HIST_STAMPS="dd.mm.yyyy"
HIST_STAMPS="dd.mm.yyyy"
# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder
# https://wiki.zshell.dev/docs/getting_started/installation
typeset -A ZI
ZI[BIN_DIR]="${HOME}/.zi/bin"
source "${ZI[BIN_DIR]}/zi.zsh"
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(colored-man-pages git docker sublime sudo zsh-eza)
plugins=(colored-man-pages git docker sublime sudo git-prompt)
# ansible brew colorize common-aliases direnv dnf fig tmux zsh-navigation-tools zsh-syntax-highliting
# User configuration
source .api-keys
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/opt/homebrew/bin/brew:$HOME/bin:$HOME/.dotfiles/scripte:"
source $ZSH/oh-my-zsh.sh
source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(lesspipe)"
@@ -69,9 +69,24 @@ source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
[[ -f "$HOME/.dotfiles/functions" ]] && source "$HOME/.dotfiles/functions"
[[ -f "$HOME/.dotfiles/.commonrc" ]] && source "$HOME/.dotfiles/.commonrc"
# ntfy
eval "$(ntfy shell-integration)"
export AUTO_NTFY_DONE_IGNORE="vim screen meld"
if [[ $OSTYPE == 'darwin'* ]]; then
# load private api-keys
source .api-keys
# ntfy
eval "$(ntfy shell-integration)"
export AUTO_NTFY_DONE_IGNORE="vim screen meld"
# some homebrew things
source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
test -e "${HOME}/.iterm2_shell_integration.zsh" && source "${HOME}/.iterm2_shell_integration.zsh"
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
export PATH="/opt/homebrew/opt/sqlite/bin:$PATH"
export HOMEBREW_AUTO_UPDATE_SECS="86400"
fi
# not saving history immediately
setopt noincappendhistory
@@ -79,20 +94,30 @@ setopt nosharehistory
. $HOME/.shellrc.load
test -e "${HOME}/.iterm2_shell_integration.zsh" && source "${HOME}/.iterm2_shell_integration.zsh"
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
export PATH="/opt/homebrew/opt/sqlite/bin:$PATH"
# tmux starten
if [ "$TMUX" = "" ]; then exec tmux; fi
clear && udot
#brew update
export HOMEBREW_AUTO_UPDATE_SECS="86400"
PATH="/Users/eragos/perl5/bin${PATH:+:${PATH}}"; export PATH;
PERL5LIB="/Users/eragos/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB;
PERL_LOCAL_LIB_ROOT="/Users/eragos/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"; export PERL_LOCAL_LIB_ROOT;
PERL_MB_OPT="--install_base \"/Users/eragos/perl5\""; export PERL_MB_OPT;
PERL_MM_OPT="INSTALL_BASE=/Users/eragos/perl5"; export PERL_MM_OPT;
cd ~
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
if [[ ! -f $HOME/.zi/bin/zi.zsh ]]; then
print -P "%F{33}▓▒░ %F{160}Installing (%F{33}z-shell/zi%F{160})…%f"
command mkdir -p "$HOME/.zi" && command chmod go-rwX "$HOME/.zi"
command git clone -q --depth=1 --branch "main" https://github.com/z-shell/zi "$HOME/.zi/bin" && \
print -P "%F{33}▓▒░ %F{34}Installation successful.%f%b" || \
print -P "%F{160}▓▒░ The clone has failed.%f%b"
fi
source "$HOME/.zi/bin/zi.zsh"
autoload -Uz _zi
(( ${+_comps} )) && _comps[zi]=_zi
# examples here -> https://wiki.zshell.dev/ecosystem/category/-annexes
zicompinit # <- https://wiki.zshell.dev/docs/guides/commands

View File

@@ -1,11 +1,11 @@
<pre>
____ U ___ u _____ _____ _ U _____ u ____
| _"\ \/"_ \/|_ " _| |" ___| ___ |"| \| ___"|// __"| u
/| | | | | | | | | | U| |_ u |_"_| U | | u | _|" <\___ \/
U| |_| |\.-,_| |_| | /| |\ \| _|/ | | \| |/__ | |___ u___) |
|____/ u \_)-\___/ u |_|U |_| U/| |\u |_____| |_____| |____/>>
|||_ \\ _// \\_ )(\\,-.-,_|___|_,-.// \\ << >> )( (__)
(__)_) (__) (__) (__)(__)(_/ \_)-' '-(_/(_")("_)(__) (__)(__)
____ ___ _____ _____ _ U _____ u ____
| _ \ \/ _ \ |_ " _| |" ___| ___ |"| \| ___"| / __"|
| | | | | | | | | | U| |_ u |_"_| U | | | _|" <\___ \
| |_| |\.-,_| |_| | /| |\ \| _|/ | | \| |/__ | |___ u___) |
|____/ u \_)-\___/ u |_| u |_| u/| |\u |_____| |_____| |____/
|||_ \\ _// \\_ ) ( \\,-.-,_ // \\ )( (__)
(__)_) (__) (__) (__) (_) (_/ \_) (_/ (__) (__) (_/ \_)
</pre>
@@ -17,7 +17,7 @@ This repo is a store my personal Debian and macOS dotfiles. I use zsh as default
**Warning:** These dotfiles reflect my personal settings. If you want to use it - wellcome! But review the settings and remove things, you don't want to need. Do not use it blindly. Use at your own risk!
![tmux and vim](screenshot/screenshot.png?raw=true = 250x "tmux and vim")
![tmux and vim](https://raw.githubusercontent.com/Eragos/dotfiles/refs/heads/master/screenshot/screenshot.png)
## Features
* Dotfile handling via [dotfiles manager (dfm)](https://github.com/justone/dfm). Install, update and uninstall of dotfiles is quiet easy.
@@ -55,7 +55,7 @@ I'm currently using [Source Code Pro](https://github.com/adobe-fonts/source-code
Then, you have configure the fonts in iTerm2:
![iTerm2 Setup non-ASCII Text Font](screenshot/iTerm2_FontConfiguration.png?raw=true = 250x "iTerm2 Setup non-ASCII Text Font")
![iTerm2 Setup non-ASCII Text Font](https://raw.githubusercontent.com/Eragos/dotfiles/refs/heads/master/screenshot/iTerm2_FontConfiguration.png)
## Installation

View File

@@ -4,6 +4,7 @@ alias ...='cd ../..'
alias ....='cd ../../..'
alias .....='cd ../../../..'
alias ~='cd ~'
alias home='cd ~'
# shortcuts
alias d='du -h -d=1'
@@ -39,6 +40,8 @@ if [ -f /opt/homebrew/bin/eza ]; then
alias lx='eza -lbhHigUmuSa@'
alias lt='eza --tree $eza_params'
alias tree='eza --tree $eza_params'
alias lsize='eza --long --total-size --sort=size $eza_params'
else
alias la='ls -laF ${colorflag}'
alias ls='ls -Fh ${colorflagI}'
@@ -52,3 +55,4 @@ alias cat='bat'
alias tig='tig --all'
alias lgit='lazygit'
alias yy=yt-dlp
alias he='home && exit && exit'

View File

@@ -7,13 +7,13 @@ udot() {
remote=$(git ls-remote origin | awk "/HEAD/ {print \$1}")
gstatus=$(git status --porcelain)
echo -e ' ____ U ___ u _____ _____ _ U _____ u ____ '
echo -e ' | _"\ \/"_ \/|_ " _| |" ___| ___ |"| \| ___"|// __"| u'
echo -e '/| | | | | | | | | | U| |_ u |_"_| U | | u | _|" <\___ \/ '
echo -e 'U| |_| |\.-,_| |_| | /| |\ \| _|/ | | \| |/__ | |___ u___) | '
echo -e ' |____/ u \_)-\___/ u |_|U |_| U/| |\u |_____| |_____| |____/>>'
echo -e ' |||_ \\ _// \\_ ) ( \\,-.-,_ // \\ )( (__) '
echo -e ' (__)_) (__) (__) (__)(__) (_/ \_) (_/ (_") (__) (_/ \_) '
echo -e ' ____ ___ _____ _____ _ U _____ u ____ '
echo -e ' | _ \ \/ _ \ |_ " _| |" ___| ___ |"| \| ___"| / __"| '
echo -e ' | | | | | | | | | | U| |_ u |_"_| U | | | _|" <\___ \ '
echo -e ' | |_| |\.-,_| |_| | /| |\ \| _|/ | | \| |/__ | |___ u___) | '
echo -e ' |____/ u \_)-\___/ u |_| u |_| u/| |\u |_____| |_____| |____/ '
echo -e ' |||_ \\ _// \\\\_ ) ( \\,-.-,_ // \\\\ )( (__) '
echo -e ' (__)_) (__) (__) (__) (_) (_/ \_) (_/ (__) (__) (_/ \_) '
echo -e ''
echo -e "$info"
echo -e ""
@@ -36,8 +36,10 @@ udot() {
fi
echo -e ""
echo -e "Update submodules..."
cd ~/.dotfiles
git submodule init
git submodule update
cd ~
echo -e ""
tmux source-file ~/.tmux.conf > /dev/null 2>&1
}

20
scripte/connect.sh Normal file
View File

@@ -0,0 +1,20 @@
#!/bin/sh
PS3='Bitte wählen: '
options=("SSH Helix" "SSH Pi-Hole" "Quit")
select opt in "${options[@]}"
do
case $opt in
"SSH Helix")
ssh helix.lan
;;
"SSH Pi-Hole")
ssh pi@raspberry.lan
;;
"Quit")
break
;;
*) echo "Ungültige Auswahl $REPLY";;
esac
done