Add all of iogamaster modules

This commit is contained in:
2024-06-15 09:59:52 +02:00
parent c97f22254a
commit fa99b32cad
120 changed files with 3587 additions and 254 deletions

View File

@@ -0,0 +1,19 @@
{sshKeyPath}: ''
[user]
name = IogaMaster
email = iogamastercode@gmail.com
signingkey = ${sshKeyPath}
[pull]
rebase = true
[init]
defaultBranch = main
[filter "lfs"]
process = git-lfs filter-process
required = true
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
[gpg]
format = ssh
[commit]
gpgsign = true
''

View File

@@ -0,0 +1,45 @@
{
options,
config,
pkgs,
lib,
...
}:
with lib;
with lib.frajul; let
cfg = config.apps.tools.git;
in {
options.apps.tools.git = with types; {
enable = mkBoolOpt false "Enable or disable git";
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
git
git-remote-gcrypt
gh # GitHub cli
lazygit
commitizen
];
environment.shellAliases = {
# Git aliases
ga = "git add .";
gc = "git commit -m ";
gp = "git push -u origin";
g = "lazygit";
};
home.configFile."git/config".text = import ./config.nix {sshKeyPath = "/home/${config.user.name}/.ssh/key.pub";};
home.configFile."lazygit/config.yml".source = ./lazygitConfig.yml;
home.persist.directories = [
".config/gh"
".config/lazygit"
".config/systemd" # For git maintainance
];
};
}

View File

@@ -0,0 +1,26 @@
gui:
nerdFontsVersion: "3"
git:
overrideGpg: true
customCommands:
- key: "C"
command: "git cz c"
description: "commit with commitizen"
context: "files"
loadingText: "opening commitizen commit tool"
subprocess: true
- key: 'D'
command: >-
git push {{ .SelectedLocalBranch.UpstreamRemote }} --delete {{ .SelectedLocalBranch.UpstreamBranch }} &&
git branch -D {{ .SelectedLocalBranch.Name }}
description: "delete local AND remote branch"
context: 'localBranches'
stream: true
- key: 'T'
command: >-
for branch in $(git branch --all | grep '^\s*remotes' | egrep --invert-match '(:?HEAD|master)$'); do git branch --track "${branch##*/}" "$branch"; done
description: "add ALL remote branches to the list"
context: 'localBranches'
stream: true