Home: Update git config + enable git signing using SSH key
This commit is contained in:
@ -269,7 +269,9 @@ rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Files to generate in the home directory are specified here.
|
# Files to generate in the home directory are specified here.
|
||||||
file = {
|
file = let
|
||||||
|
sshPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJAoJac+GdGtzblCMA0lBfMdSR6aQ4YyovrNglCFGIny christoph.urlacher@protonmail.com";
|
||||||
|
in {
|
||||||
# Generate a list of installed user packages in ~/.local/share/current-user-packages
|
# Generate a list of installed user packages in ~/.local/share/current-user-packages
|
||||||
".local/share/current-user-packages".text = let
|
".local/share/current-user-packages".text = let
|
||||||
packages = builtins.map (p: "${p.name}") home.packages;
|
packages = builtins.map (p: "${p.name}") home.packages;
|
||||||
@ -280,6 +282,9 @@ rec {
|
|||||||
|
|
||||||
# TODO: If navi enabled
|
# TODO: If navi enabled
|
||||||
".local/share/navi/cheats/christoph.cheat".source = config.lib.file.mkOutOfStoreSymlink "${config.paths.dotfiles}/navi/christoph.cheat";
|
".local/share/navi/cheats/christoph.cheat".source = config.lib.file.mkOutOfStoreSymlink "${config.paths.dotfiles}/navi/christoph.cheat";
|
||||||
|
|
||||||
|
".ssh/id_ed25519.pub".text = "${sshPublicKey}";
|
||||||
|
".ssh/allowed_signers".text = "* ${sshPublicKey}";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Here, custom scripts can be run when activating a HM generation.
|
# Here, custom scripts can be run when activating a HM generation.
|
||||||
@ -452,10 +457,101 @@ rec {
|
|||||||
|
|
||||||
git = {
|
git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
lfs.enable = true;
|
|
||||||
|
|
||||||
userEmail = "christoph.urlacher@protonmail.com";
|
userEmail = "christoph.urlacher@protonmail.com";
|
||||||
userName = "Christoph Urlacher";
|
userName = "Christoph Urlacher";
|
||||||
|
|
||||||
|
signing = {
|
||||||
|
signByDefault = true;
|
||||||
|
format = "ssh";
|
||||||
|
key = "~/.ssh/id_ed25519.pub";
|
||||||
|
};
|
||||||
|
|
||||||
|
lfs.enable = true;
|
||||||
|
diff-so-fancy = {
|
||||||
|
enable = true;
|
||||||
|
changeHunkIndicators = true;
|
||||||
|
markEmptyLines = false;
|
||||||
|
stripLeadingSymbols = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
extraConfig = {
|
||||||
|
core = {
|
||||||
|
compression = 9;
|
||||||
|
# whitespace = "error";
|
||||||
|
preloadindex = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
init = {
|
||||||
|
defaultBranch = "main";
|
||||||
|
};
|
||||||
|
|
||||||
|
gpg = {
|
||||||
|
ssh = {
|
||||||
|
allowedSignersFile = "~/.ssh/allowed_signers";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
status = {
|
||||||
|
branch = true;
|
||||||
|
showStash = true;
|
||||||
|
showUntrackedFiles = "all";
|
||||||
|
};
|
||||||
|
|
||||||
|
pull = {
|
||||||
|
default = "current";
|
||||||
|
rebase = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
push = {
|
||||||
|
autoSetupRemote = true;
|
||||||
|
default = "current";
|
||||||
|
followTags = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
rebase = {
|
||||||
|
autoStash = true;
|
||||||
|
missingCommitsCheck = "warn";
|
||||||
|
};
|
||||||
|
|
||||||
|
diff = {
|
||||||
|
context = 3;
|
||||||
|
renames = "copies";
|
||||||
|
interHunkContext = 10;
|
||||||
|
};
|
||||||
|
|
||||||
|
interactive = {
|
||||||
|
diffFilter = "${pkgs.diff-so-fancy}/bin/diff-so-fancy --patch";
|
||||||
|
singlekey = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
log = {
|
||||||
|
abbrevCommit = true;
|
||||||
|
graphColors = "blue,yellow,cyan,magenta,green,red";
|
||||||
|
};
|
||||||
|
|
||||||
|
branch = {
|
||||||
|
sort = "-committerdate";
|
||||||
|
};
|
||||||
|
|
||||||
|
tag = {
|
||||||
|
sort = "-taggerdate";
|
||||||
|
};
|
||||||
|
|
||||||
|
pager = {
|
||||||
|
branch = false;
|
||||||
|
tag = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
url = {
|
||||||
|
"ssh://git@gitea.local.chriphost.de:222/christoph/" = {
|
||||||
|
insteadOf = "gitea:";
|
||||||
|
};
|
||||||
|
"git@github.com:" = {
|
||||||
|
insteadOf = "github:";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
keychain = {
|
keychain = {
|
||||||
@ -502,7 +598,25 @@ rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
nushell.enable = false;
|
nushell.enable = false;
|
||||||
ssh.enable = false; # NOTE: Do NOT generate .ssh/config using HM, as it will have invalid permissions!
|
ssh = {
|
||||||
|
enable = true; # NOTE: Do NOT generate .ssh/config using HM, as it will have invalid permissions!
|
||||||
|
compression = true;
|
||||||
|
|
||||||
|
matchBlocks = {
|
||||||
|
"servenix" = {
|
||||||
|
user = "christoph";
|
||||||
|
hostname = "local.chriphost.de";
|
||||||
|
};
|
||||||
|
"thinknix" = {
|
||||||
|
user = "christoph";
|
||||||
|
hostname = "think.chriphost.de";
|
||||||
|
};
|
||||||
|
"vps" = {
|
||||||
|
user = "root";
|
||||||
|
hostname = "vps.chriphost.de";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
tmux = {
|
tmux = {
|
||||||
enable = false;
|
enable = false;
|
||||||
|
Reference in New Issue
Block a user