mirror of
https://github.com/davegallant/nix-config
synced 2025-08-07 13:22:28 +00:00
nix: nixify gitconfig
This commit is contained in:
@@ -37,14 +37,70 @@
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
git = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
aliases = {
|
||||||
|
"aa" = "add -A .";
|
||||||
|
"br" = "branch";
|
||||||
|
"ca" = "commit -S --amend";
|
||||||
|
"cb" = "checkout -b";
|
||||||
|
"ci" = "commit";
|
||||||
|
"cm" = "commit -m";
|
||||||
|
"co" = "checkout";
|
||||||
|
"cs" = "commit -S";
|
||||||
|
"csm" = "commit -S -m";
|
||||||
|
"csa" = "commit -S --amend";
|
||||||
|
"deleted" = "log --diff-filter=D --summary";
|
||||||
|
"di" = "diff";
|
||||||
|
"dic" = "diff --cached";
|
||||||
|
"dicn" = "diff --cached --name-only";
|
||||||
|
"din" = "diff --name-only";
|
||||||
|
"l" = "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit";
|
||||||
|
"ms" = "merge --squash";
|
||||||
|
"pb" = "pull --rebase";
|
||||||
|
"po" = "push origin";
|
||||||
|
"por" = "push origin HEAD:refs/for/$1";
|
||||||
|
"st" = "status";
|
||||||
|
"wip" = "for-each-ref --sort='authordate:iso8601' --format=' %(color:green)%(authordate:relative)%09%(color:white)%(refname:short)' refs/heads";
|
||||||
|
};
|
||||||
|
|
||||||
|
includes = [
|
||||||
|
{ path = "~/.gitconfig-work"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
delta = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
options = {
|
||||||
|
features = "line-numbers decorations";
|
||||||
|
whitespace-error-style = "22 reverse";
|
||||||
|
plus-style = "green bold ul '#198214'";
|
||||||
|
decorations = {
|
||||||
|
commit-decoration-style = "bold yellow box ul";
|
||||||
|
file-style = "bold yellow ul";
|
||||||
|
file-decoration-style = "none";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
extraConfig = ''
|
||||||
|
[push]
|
||||||
|
default = current
|
||||||
|
[pull]
|
||||||
|
rebase = true
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
zsh = {
|
zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableAutosuggestions = true;
|
enableAutosuggestions = true;
|
||||||
history.size = 1000000;
|
history.size = 1000000;
|
||||||
|
|
||||||
localVariables = {
|
localVariables = {
|
||||||
CASE_SENSITIVE="true";
|
CASE_SENSITIVE = "true";
|
||||||
DISABLE_UNTRACKED_FILES_DIRTY="true";
|
DISABLE_UNTRACKED_FILES_DIRTY = "true";
|
||||||
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE = "fg=#838383,underline";
|
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE = "fg=#838383,underline";
|
||||||
ZSH_DISABLE_COMPFIX = "true";
|
ZSH_DISABLE_COMPFIX = "true";
|
||||||
};
|
};
|
||||||
@@ -93,114 +149,114 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
alacritty = {
|
alacritty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
window.padding.x = 10;
|
window.padding.x = 10;
|
||||||
window.padding.y = 10;
|
window.padding.y = 10;
|
||||||
scrolling.history = 100000;
|
scrolling.history = 100000;
|
||||||
live_config_reload = true;
|
live_config_reload = true;
|
||||||
selection.save_to_clipboard = true;
|
selection.save_to_clipboard = true;
|
||||||
mouse.hide_when_typing = true;
|
mouse.hide_when_typing = true;
|
||||||
|
|
||||||
font = {
|
font = {
|
||||||
normal.family = "Fira Code";
|
normal.family = "Fira Code";
|
||||||
size = 12;
|
size = 12;
|
||||||
};
|
|
||||||
|
|
||||||
shell = {
|
|
||||||
program = "zsh";
|
|
||||||
args = [
|
|
||||||
"-l"
|
|
||||||
"-c"
|
|
||||||
"tmux"
|
|
||||||
"u"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
colors = {
|
|
||||||
primary.background = "0x101421";
|
|
||||||
primary.foreground = "0xfffbf6";
|
|
||||||
|
|
||||||
normal = {
|
|
||||||
black = "0x2e2e2e";
|
|
||||||
red = "0xeb4129";
|
|
||||||
green = "0xabe047";
|
|
||||||
yellow = "0xf6c744";
|
|
||||||
blue = "0x47a0f3";
|
|
||||||
magenta = "0x7b5cb0";
|
|
||||||
cyan = "0x64dbed";
|
|
||||||
white = "0xe5e9f0";
|
|
||||||
};
|
|
||||||
|
|
||||||
bright = {
|
|
||||||
black = "0x565656";
|
|
||||||
red = "0xec5357";
|
|
||||||
green = "0xc0e17d";
|
|
||||||
yellow = "0xf9da6a";
|
|
||||||
blue = "0x49a4f8";
|
|
||||||
magenta = "0xa47de9";
|
|
||||||
cyan = "0x99faf2";
|
|
||||||
white = "0xffffff";
|
|
||||||
};
|
|
||||||
|
|
||||||
key_bindings = [
|
|
||||||
{ key = "Home"; mods = "Control"; action = "ResetFontSize"; }
|
|
||||||
{ key = "Plus"; mods = "Control"; action = "IncreaseFontSize"; }
|
|
||||||
{ key = "Minus"; mods = "Control"; action = "DecreaseFontSize"; }
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
shell = {
|
||||||
|
program = "zsh";
|
||||||
|
args = [
|
||||||
|
"-l"
|
||||||
|
"-c"
|
||||||
|
"tmux"
|
||||||
|
"u"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
colors = {
|
||||||
|
primary.background = "0x101421";
|
||||||
|
primary.foreground = "0xfffbf6";
|
||||||
|
|
||||||
|
normal = {
|
||||||
|
black = "0x2e2e2e";
|
||||||
|
red = "0xeb4129";
|
||||||
|
green = "0xabe047";
|
||||||
|
yellow = "0xf6c744";
|
||||||
|
blue = "0x47a0f3";
|
||||||
|
magenta = "0x7b5cb0";
|
||||||
|
cyan = "0x64dbed";
|
||||||
|
white = "0xe5e9f0";
|
||||||
|
};
|
||||||
|
|
||||||
|
bright = {
|
||||||
|
black = "0x565656";
|
||||||
|
red = "0xec5357";
|
||||||
|
green = "0xc0e17d";
|
||||||
|
yellow = "0xf9da6a";
|
||||||
|
blue = "0x49a4f8";
|
||||||
|
magenta = "0xa47de9";
|
||||||
|
cyan = "0x99faf2";
|
||||||
|
white = "0xffffff";
|
||||||
|
};
|
||||||
|
|
||||||
|
key_bindings = [
|
||||||
|
{ key = "Home"; mods = "Control"; action = "ResetFontSize"; }
|
||||||
|
{ key = "Plus"; mods = "Control"; action = "IncreaseFontSize"; }
|
||||||
|
{ key = "Minus"; mods = "Control"; action = "DecreaseFontSize"; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
tmux = {
|
tmux = {
|
||||||
enable = true;
|
enable = true;
|
||||||
clock24 = true;
|
clock24 = true;
|
||||||
terminal = "screen-256color";
|
terminal = "screen-256color";
|
||||||
customPaneNavigationAndResize = true;
|
customPaneNavigationAndResize = true;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
set-window-option -g automatic-rename on
|
set-window-option -g automatic-rename on
|
||||||
set-option -g set-titles on
|
set-option -g set-titles on
|
||||||
|
|
||||||
set -g mouse on
|
set -g mouse on
|
||||||
|
|
||||||
# Length of tmux status line
|
# Length of tmux status line
|
||||||
set -g status-left-length 30
|
set -g status-left-length 30
|
||||||
set -g status-right-length 150
|
set -g status-right-length 150
|
||||||
|
|
||||||
set -g status-interval 5
|
set -g status-interval 5
|
||||||
|
|
||||||
set -g default-terminal "screen-256color" # colors!
|
set -g default-terminal "screen-256color" # colors!
|
||||||
setw -g xterm-keys on
|
setw -g xterm-keys on
|
||||||
|
|
||||||
set -g set-titles on # set terminal title
|
set -g set-titles on # set terminal title
|
||||||
set -g display-panes-time 800 # slightly longer pane indicators display time
|
set -g display-panes-time 800 # slightly longer pane indicators display time
|
||||||
set -g display-time 2000 # slightly longer status messages display time
|
set -g display-time 2000 # slightly longer status messages display time
|
||||||
|
|
||||||
# Lots of scrollback.
|
# Lots of scrollback.
|
||||||
setw -g history-limit 50000000
|
setw -g history-limit 50000000
|
||||||
|
|
||||||
setw -q -g utf8 on
|
setw -q -g utf8 on
|
||||||
|
|
||||||
# activity
|
# activity
|
||||||
set -g monitor-activity on
|
set -g monitor-activity on
|
||||||
set -g visual-activity off
|
set -g visual-activity off
|
||||||
|
|
||||||
set -g status-right '#(gitmux #{pane_current_path})'
|
set -g status-right '#(gitmux #{pane_current_path})'
|
||||||
|
|
||||||
set -g @plugin 'tmux-plugins/tmux-pain-control'
|
set -g @plugin 'tmux-plugins/tmux-pain-control'
|
||||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||||
set -g @plugin 'tmux-plugins/tmux-sessionist'
|
set -g @plugin 'tmux-plugins/tmux-sessionist'
|
||||||
set -g @plugin 'tmux-plugins/tmux-yank'
|
set -g @plugin 'tmux-plugins/tmux-yank'
|
||||||
set -g @plugin 'tmux-plugins/tpm'
|
set -g @plugin 'tmux-plugins/tpm'
|
||||||
|
|
||||||
# Theme
|
# Theme
|
||||||
set -g @plugin 'seebi/tmux-colors-solarized'
|
set -g @plugin 'seebi/tmux-colors-solarized'
|
||||||
set -g @colors-solarized 'dark'
|
set -g @colors-solarized 'dark'
|
||||||
|
|
||||||
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
||||||
run -b '~/.tmux/plugins/tpm/tpm'
|
run -b '~/.tmux/plugins/tpm/tpm'
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
neovim = {
|
neovim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
66
.gitconfig
66
.gitconfig
@@ -1,66 +0,0 @@
|
|||||||
[include]
|
|
||||||
path = ~/.gitconfig-work
|
|
||||||
|
|
||||||
[alias]
|
|
||||||
aa = add -A .
|
|
||||||
br = branch
|
|
||||||
ca = commit -S --amend
|
|
||||||
cb = checkout -b
|
|
||||||
ci = commit
|
|
||||||
cm = commit -m
|
|
||||||
co = checkout
|
|
||||||
cs = commit -S
|
|
||||||
csm = commit -S -m
|
|
||||||
csa = commit -S --amend
|
|
||||||
deleted = log --diff-filter=D --summary
|
|
||||||
di = diff
|
|
||||||
dic = diff --cached
|
|
||||||
dicn = diff --cached --name-only
|
|
||||||
din = diff --name-only
|
|
||||||
l = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
|
|
||||||
ms = merge --squash
|
|
||||||
pb = pull --rebase
|
|
||||||
po = push origin
|
|
||||||
por = push origin HEAD:refs/for/$1
|
|
||||||
st = status
|
|
||||||
wip = for-each-ref --sort='authordate:iso8601' --format=' %(color:green)%(authordate:relative)%09%(color:white)%(refname:short)' refs/heads
|
|
||||||
|
|
||||||
[color]
|
|
||||||
diff = auto
|
|
||||||
status = auto
|
|
||||||
branch = auto
|
|
||||||
|
|
||||||
[core]
|
|
||||||
editor = vim
|
|
||||||
pager = delta
|
|
||||||
|
|
||||||
[push]
|
|
||||||
default = current
|
|
||||||
|
|
||||||
[pull]
|
|
||||||
rebase = true
|
|
||||||
|
|
||||||
[filter "lfs"]
|
|
||||||
clean = git-lfs clean -- %f
|
|
||||||
smudge = git-lfs smudge -- %f
|
|
||||||
required = true
|
|
||||||
process = git-lfs filter-process
|
|
||||||
|
|
||||||
[commit]
|
|
||||||
gpgsign = true
|
|
||||||
|
|
||||||
[gpg]
|
|
||||||
program = gpg
|
|
||||||
|
|
||||||
[interactive]
|
|
||||||
diffFilter = delta --color-only
|
|
||||||
|
|
||||||
[delta]
|
|
||||||
features = line-numbers decorations
|
|
||||||
whitespace-error-style = 22 reverse
|
|
||||||
plus-style = green bold ul "#198214"
|
|
||||||
|
|
||||||
[delta "decorations"]
|
|
||||||
commit-decoration-style = bold yellow box ul
|
|
||||||
file-style = bold yellow ul
|
|
||||||
file-decoration-style = none
|
|
Reference in New Issue
Block a user