158 lines
3.1 KiB
Nix
158 lines
3.1 KiB
Nix
# 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
|
|
'';
|
|
};
|
|
}
|