diff --git a/CLAUDE.md b/CLAUDE.md index 6bc69b2..fba521f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -37,7 +37,7 @@ die Setup-Skripte nicht heruntergeladen werden. ## Paketquellen-Zuordnung - **apt:** System-Pakete, xubuntu-desktop, Thunderbird, KeePassXC, default-jre etc. -- **Snap:** FreeCAD, LibreOffice (wegen "benutzerdefinierte Installation nicht abgeschlossen" Bug bei .deb), Bitwarden +- **Snap:** FreeCAD, LibreOffice (wegen "benutzerdefinierte Installation nicht abgeschlossen" Bug bei .deb) - **Flatpak:** Brave Browser (wegen SIGTRAP/int3 Crash bei .deb auf aelterer HW), PrusaSlicer - flatpak muss in setup-base.sh (root) installiert werden, nicht in setup-desktop.sh (user) diff --git a/setup-base.sh b/setup-base.sh index cac99a1..ea750ae 100755 --- a/setup-base.sh +++ b/setup-base.sh @@ -143,10 +143,9 @@ apt install -y \ || { fail "apt install fehlgeschlagen"; dpkg --configure -a; apt install -f -y; } ok "Pakete installiert (apt)" -# FreeCAD + LibreOffice + Bitwarden via Snap +# FreeCAD + LibreOffice via Snap snap install freecad 2>/dev/null || warn "FreeCAD Snap uebersprungen" snap install libreoffice 2>/dev/null || warn "LibreOffice Snap uebersprungen" -snap install bitwarden 2>/dev/null || warn "Bitwarden Snap uebersprungen" # ── 6. Brave Browser (wird in setup-desktop.sh als Flatpak installiert) ── echo -e "\n=== 6/11 Brave Browser ===" diff --git a/setup-desktop.sh b/setup-desktop.sh index edf3128..876c149 100755 --- a/setup-desktop.sh +++ b/setup-desktop.sh @@ -132,12 +132,86 @@ if [[ -d "$DOTFILES_DIR/bin" ]]; then ok "Dot-Files: git-check-all.sh, git-update-all.sh, git-sync-all.sh → ~/" fi -# .zshrc (Symlink aus dotfiles-rene) -if [[ -f "$DOTFILES_DIR/zsh/install-zsh-dotfiles.sh" ]]; then - bash "$DOTFILES_DIR/zsh/install-zsh-dotfiles.sh" - ok "Dot-Files: .zshrc" +# .zshrc (Linux-Version, ohne Conda/LM Studio/iTerm2) +cat > ~/.zshrc <<'ZSHEOF' +# ---------------------------------------------------------- +# Zsh-Konfiguration fuer Rene (Linux / MacBook Pro) +# Oh My Zsh + Powerlevel10k + Micro +# ---------------------------------------------------------- + +# 1) Powerlevel10k Instant Prompt (muss sehr weit oben stehen) +if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then + source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" fi +# 2) Oh My Zsh Basis +export ZSH="$HOME/.oh-my-zsh" +ZSH_THEME="powerlevel10k/powerlevel10k" + +plugins=( + git + zsh-syntax-highlighting + zoxide +) + +source "$ZSH/oh-my-zsh.sh" + +# 3) Powerlevel10k-Konfiguration +[[ -f "$HOME/.p10k.zsh" ]] && source "$HOME/.p10k.zsh" + +# 4) Standard-Editor (lokal: micro, SSH: nicht erzwingen) +if [[ -z "$SSH_CONNECTION" ]]; then + export EDITOR="micro" + export VISUAL="micro" +fi + +# 5) Pfade +export PATH="$HOME/bin:$HOME/.local/bin:$HOME/.npm-global/bin:$PATH" + +# 6) Aliases + +# ls-Varianten +alias ll='ls -lha' +alias la='ls -A' +alias l='ls -lh' + +# Verzeichnisse +alias ..='cd ..' +alias ...='cd ../..' +alias ....='cd ../../..' + +# Konfigdateien +alias zshconfig='micro ~/.zshrc' +alias p10kconfig='micro ~/.p10k.zsh' + +# Git-Kurzbefehle +alias gs='git status' +alias ga='git add' +alias gc='git commit' +alias gp='git push' +alias gl='git log --oneline --graph --decorate' +alias gitcheck="~/git-check-all.sh --short" +alias gitupdate="~/git-update-all.sh" +alias gitsync="~/git-sync-all.sh" +alias mac-sync="curl -fsSL https://git.motocamp.de/rene/dotfiles-rene/raw/branch/main/bin/git-sync-all.sh | bash" + +# 7) History +HISTFILE="$HOME/.zsh_history" +HISTSIZE=5000 +SAVEHIST=5000 +setopt HIST_IGNORE_DUPS +setopt HIST_IGNORE_SPACE +setopt SHARE_HISTORY + +# 8) Zsh-Optionen +setopt AUTO_CD + +# 9) Fenster-/Tab-Titel +precmd() { print -Pn "\e]0;%n@%m: %~\a" } +export COLORTERM=truecolor +ZSHEOF +ok "Dot-Files: .zshrc" + # .p10k.zsh (vom Mac kopieren, falls im Repo vorhanden, sonst Wizard beim ersten Start) if [[ -f "$DOTFILES_DIR/.p10k.zsh" ]]; then cp "$DOTFILES_DIR/.p10k.zsh" ~/.p10k.zsh