Initialer Dotfiles Setup mit Bitwarden-Helper
This commit is contained in:
21
bin/git-bw-helper
Executable file
21
bin/git-bw-helper
Executable file
@@ -0,0 +1,21 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
if [ "$1" = "get" ]; then
|
||||||
|
# Prüfen, ob die Session-Variable da ist
|
||||||
|
if [ -z "$BW_SESSION" ]; then
|
||||||
|
echo "FEHLER: Bitwarden ist gesperrt! Bitte 'unlock' ausführen." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Das gesamte Item einmal holen, um nicht mehrfach anfragen zu müssen
|
||||||
|
ITEM_JSON=$(bw get item gitea.iten.pro 2>/dev/null)
|
||||||
|
|
||||||
|
if [ -n "$ITEM_JSON" ]; then
|
||||||
|
# Benutzername extrahieren
|
||||||
|
USER=$(echo "$ITEM_JSON" | jq -r '.login.username')
|
||||||
|
# Token aus den Custom Fields extrahieren
|
||||||
|
TOKEN=$(echo "$ITEM_JSON" | jq -r '.fields[] | select(.name=="Token") | .value')
|
||||||
|
|
||||||
|
echo "username=$USER"
|
||||||
|
echo "password=$TOKEN"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
21
install.sh
Normal file
21
install.sh
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# 1. Plugins installieren (falls nicht vorhanden)
|
||||||
|
ZSH_CUSTOM=${ZSH_CUSTOM:-~/.oh-my-zsh/custom}
|
||||||
|
mkdir -p "$ZSH_CUSTOM/plugins"
|
||||||
|
|
||||||
|
plugins=(zsh-autosuggestions zsh-syntax-highlighting zsh-completions)
|
||||||
|
for p in "${plugins[@]}"; do
|
||||||
|
if [ ! -d "$ZSH_CUSTOM/plugins/$p" ]; then
|
||||||
|
echo "Installiere $p..."
|
||||||
|
git clone "https://github.com/zsh-users/$p" "$ZSH_CUSTOM/plugins/$p"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# 2. Symlinks setzen
|
||||||
|
ln -sf ~/dotfiles/zsh_func_d ~/.zsh_func_d
|
||||||
|
ln -sf ~/dotfiles/zshrc_template ~/.zshrc
|
||||||
|
mkdir -p ~/.local/bin
|
||||||
|
ln -sf ~/dotfiles/bin/git-bw-helper ~/.local/bin/git-bw-helper
|
||||||
|
|
||||||
|
echo "✅ Installation abgeschlossen! Bitte 'source ~/.zshrc' ausführen."
|
||||||
15
zsh_func_d/bw_logic.zsh
Normal file
15
zsh_func_d/bw_logic.zsh
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
# Bitwarden Funktionen
|
||||||
|
unlock() {
|
||||||
|
export BW_SESSION=$(bw unlock --raw)
|
||||||
|
if [ -n "$BW_SESSION" ]; then
|
||||||
|
echo "🔓 Tresor entsperrt. Session aktiv."
|
||||||
|
else
|
||||||
|
echo "❌ Fehler beim Entsperren."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
lock() {
|
||||||
|
bw lock > /dev/null
|
||||||
|
unset BW_SESSION
|
||||||
|
echo "🔒 Tresor gesperrt und Session gelöscht."
|
||||||
|
}
|
||||||
165
zshrc_template
Normal file
165
zshrc_template
Normal file
@@ -0,0 +1,165 @@
|
|||||||
|
# If you come from bash you might have to change your $PATH.
|
||||||
|
# export PATH=$HOME/bin:$HOME/.local/bin:/usr/local/bin:$PATH
|
||||||
|
|
||||||
|
# Path to your Oh My Zsh installation.
|
||||||
|
export ZSH="$HOME/.oh-my-zsh"
|
||||||
|
|
||||||
|
# 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="robbyrussell"
|
||||||
|
ZSH_THEME="agnoster"
|
||||||
|
|
||||||
|
# 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 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 auto-correction.
|
||||||
|
# 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 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.
|
||||||
|
# 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
|
||||||
|
brew
|
||||||
|
macos
|
||||||
|
common-aliases
|
||||||
|
zsh-autosuggestions
|
||||||
|
zsh-completions
|
||||||
|
zsh-syntax-highlighting
|
||||||
|
)
|
||||||
|
|
||||||
|
source $ZSH/oh-my-zsh.sh
|
||||||
|
|
||||||
|
# User configuration
|
||||||
|
|
||||||
|
# Home & End keys for SSH connections
|
||||||
|
bindkey "\e[1~" beginning-of-line
|
||||||
|
bindkey "\e[4~" end-of-line
|
||||||
|
bindkey "\eOH" beginning-of-line
|
||||||
|
bindkey "\eOF" end-of-line
|
||||||
|
bindkey "\e[H" beginning-of-line
|
||||||
|
bindkey "\e[F" end-of-line
|
||||||
|
|
||||||
|
# Allow comments directly in shell input
|
||||||
|
setopt INTERACTIVE_COMMENTS
|
||||||
|
|
||||||
|
export PATH="$PATH:/Users/edi/.local/bin"
|
||||||
|
export PATH="$PATH:$HOME/flutter/bin"
|
||||||
|
export PATH=$PATH:$(go env GOPATH)/bin
|
||||||
|
export GOOGLE_API_KEY="AIzaSyCEb9lPmXWypNejqDTvO1l5QL3N_1-KuZA"
|
||||||
|
|
||||||
|
# Android SDK
|
||||||
|
export ANDROID_HOME=$HOME/Android/sdk
|
||||||
|
export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin
|
||||||
|
export PATH=$PATH:$ANDROID_HOME/platform-tools
|
||||||
|
export PATH=$PATH:$ANDROID_HOME/emulator
|
||||||
|
|
||||||
|
export EDITOR=micro
|
||||||
|
export VISUAL=micro
|
||||||
|
|
||||||
|
# Autocompletion setup
|
||||||
|
# Schnellerer Shell-Start durch Caching der Completion-Datenbank
|
||||||
|
autoload -Uz compinit
|
||||||
|
if [[ -n ${ZDOTDIR:-$HOME}/.zcompdump(#qN.mh+24) ]]; then
|
||||||
|
compinit
|
||||||
|
else
|
||||||
|
compinit -C
|
||||||
|
fi
|
||||||
|
zstyle ':completion:*' menu select
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Load functions
|
||||||
|
if [ -d "$HOME/.zsh_func_d" ]; then
|
||||||
|
for func_file in "$HOME/.zsh_func_d"/*; do
|
||||||
|
source "$func_file"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
alias ll="ls -lh"
|
||||||
|
alias la="ls -a"
|
||||||
|
alias lla="ls -lah"
|
||||||
|
alias zshconfig="nano ~/.zshrc"
|
||||||
|
alias ohmyzsh="nano ~/.oh-my-zsh"
|
||||||
|
alias git="/usr/bin/git"
|
||||||
|
alias mcu-leader="mcumgr --conntype serial --connstring 'dev=/dev/tty.usbmodem83301'"
|
||||||
|
alias nrf-env="export PATH='/opt/nordic/ncs/toolchains/322ac893fe/bin:$PATH'"
|
||||||
|
alias nano='micro'
|
||||||
|
alias vi='micro'
|
||||||
|
alias vim='micro'
|
||||||
Reference in New Issue
Block a user