# In deiner home.nix { config, pkgs, ... }: { programs.git = { enable = true; settings = { aliases = { prune = "fetch --prune"; undo = "reset --soft HEAD^"; stash-all = "stash save --include-untracked"; graph = "log --graph --decorate --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'"; }; apply.whitespace = "fix"; branch = { autosetuprebase = "remote"; sort = "-authordate"; }; "branch \"main\"" = { remote = "origin"; merge = "refs/heads/main"; rebase = true; }; color = { ui = "auto"; branch = "auto"; diff = "auto"; status = "auto"; interactive = "auto"; pager = true; }; "color \"branch\"" = { current = "yellow reverse"; local = "yellow"; remote = "green"; }; "color \"diff\"" = { meta = "yellow bold"; frag = "magenta bold"; old = "red bold"; new = "green bold"; whitespace = "red reverse"; }; "color \"diff-highlight\"" = { oldNormal = "red bold"; oldHighlight = "red bold 52"; newNormal = "green bold"; newHighlight = "green bold 22"; }; "color \"status\"" = { added = "yellow"; changed = "green"; untracked = "cyan"; }; core = { pager = "less -FRSX"; whitespace = "fix,-indent-with-non-tab,trailing-space,cr-at-eol"; editor = "vim"; fileMode = false; autocrlf = "input"; }; credential.helper = "cache"; diff.tool = "vimdiff"; difftool.prompt = false; fetch.prune = true; http.sslverify = false; init.defaultBranch = "main"; merge.tool = "vimdiff"; mergetool.prompt = false; pull.rebase = false; push = { default = "simple"; followTags = true; }; rerere.enabled = 1; status.showUntrackedFiles = "all"; }; ignores = [ ".idea" # JetBrains IDEs ]; }; programs.vim = { enable = true; defaultEditor = true; settings = { number = true; relativenumber = true; tabstop = 2; shiftwidth = 2; expandtab = true; }; extraConfig = '' syntax on set encoding=utf-8 set autoindent set smartindent ''; }; programs.zsh = { enable = true; enableCompletion = true; autosuggestion.enable = true; syntaxHighlighting.enable = true; oh-my-zsh = { enable = true; theme = "powerlevel10k/powerlevel10k"; plugins = [ "command-not-found" "common-aliases" "docker" "docker-compose" "git" "git-prompt" "git-flow-avh" "ssh-agent" "systemd" "sudo" "rsync" ]; custom = "$HOME/.oh-my-zsh/custom"; }; initContent = '' # Bell deaktivieren unsetopt BEEP # Powerlevel10k Konfiguration laden (falls vorhanden) [[ -f ~/.p10k.zsh ]] && source ~/.p10k.zsh ''; }; }