mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-02-25 17:34:48 +01:00
feat: remove nur & devenv feat: adjust the structure to make it suitable for servers feat: add iso/proxmox generators and add docs about it feat: update ryan's openssh keys & add hashedPassword feat: add proxmox's nodes into ssh_config, with alias
78 lines
1.8 KiB
Nix
78 lines
1.8 KiB
Nix
{ config
|
|
, lib
|
|
, pkgs
|
|
, ...
|
|
}: {
|
|
# `programs.git` will generate the config file: ~/.config/git/config
|
|
# to make git use this config file, `~/.gitconfig` should not exist!
|
|
#
|
|
# https://git-scm.com/docs/git-config#Documentation/git-config.txt---global
|
|
home.activation.removeExistingGitconfig = lib.hm.dag.entryBefore [ "checkLinkTargets" ] ''
|
|
rm -f ~/.gitconfig
|
|
'';
|
|
|
|
programs.git = {
|
|
enable = true;
|
|
lfs.enable = true;
|
|
|
|
userName = "Ryan Yin";
|
|
userEmail = "xiaoyin_c@qq.com";
|
|
|
|
includes = [
|
|
{
|
|
# use diffrent email & name for work
|
|
path = "~/work/.gitconfig";
|
|
condition = "gitdir:~/work/";
|
|
}
|
|
];
|
|
|
|
extraConfig = {
|
|
init.defaultBranch = "main";
|
|
push.autoSetupRemote = true;
|
|
pull.rebase = true;
|
|
|
|
# replace https with ssh
|
|
url = {
|
|
"ssh://git@github.com/" = {
|
|
insteadOf = "https://github.com/";
|
|
};
|
|
"ssh://git@gitlab.com/" = {
|
|
insteadOf = "https://gitlab.com/";
|
|
};
|
|
"ssh://git@bitbucket.com/" = {
|
|
insteadOf = "https://bitbucket.com/";
|
|
};
|
|
};
|
|
};
|
|
|
|
# signing = {
|
|
# key = "xxx";
|
|
# signByDefault = true;
|
|
# };
|
|
|
|
delta = {
|
|
enable = true;
|
|
options = {
|
|
features = "side-by-side";
|
|
};
|
|
};
|
|
|
|
aliases = {
|
|
# common aliases
|
|
br = "branch";
|
|
co = "checkout";
|
|
st = "status";
|
|
ls = "log --pretty=format:\"%C(yellow)%h%Cred%d\\\\ %Creset%s%Cblue\\\\ [%cn]\" --decorate";
|
|
ll = "log --pretty=format:\"%C(yellow)%h%Cred%d\\\\ %Creset%s%Cblue\\\\ [%cn]\" --decorate --numstat";
|
|
cm = "commit -m";
|
|
ca = "commit -am";
|
|
dc = "diff --cached";
|
|
amend = "commit --amend -m";
|
|
|
|
# aliases for submodule
|
|
update = "submodule update --init --recursive";
|
|
foreach = "submodule foreach";
|
|
};
|
|
};
|
|
}
|