64 lines
1.4 KiB
Nix
64 lines
1.4 KiB
Nix
{ pkgs, config, lib, ... }:
|
|
|
|
with lib;
|
|
let
|
|
cfg = config.modules.software.dev.git;
|
|
in {
|
|
options.modules.software.dev.git = {
|
|
enable = mkEnableOption "Enable git. You know what git is";
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
hm.programs.git = {
|
|
enable = true;
|
|
package = pkgs.gitFull;
|
|
|
|
userName = ''Jill "oatmealine" Monoids'';
|
|
userEmail = "oatmealine@disroot.org";
|
|
|
|
ignores = [
|
|
# General:
|
|
"*.bloop"
|
|
"*.bsp"
|
|
"*.metals"
|
|
"*.metals.sbt"
|
|
"*metals.sbt"
|
|
"*.direnv"
|
|
"*.envrc"
|
|
"*hie.yaml"
|
|
"*.mill-version"
|
|
"*.jvmopts"
|
|
|
|
# OS-related:
|
|
".DS_Store?"
|
|
".DS_Store"
|
|
".CFUserTextEncoding"
|
|
".Trash"
|
|
".Xauthority"
|
|
"thumbs.db"
|
|
"Thumbs.db"
|
|
"Icon?"
|
|
];
|
|
|
|
aliases = {
|
|
# Data Analysis:
|
|
ranked-authors = "!git authors | sort | uniq -c | sort -n";
|
|
emails = ''
|
|
!git log --format="%aE" | sort -u
|
|
'';
|
|
email-domains = ''
|
|
!git log --format="%aE" | awk -F'@' '{print $2}' | sort -u
|
|
'';
|
|
graph = ''
|
|
log --graph --color --pretty=format:"%C(yellow)%H%C(green)%d%C(reset)%n%x20%cd%n%x20%cn%x20(%ce)%n%x20%s%n"
|
|
'';
|
|
};
|
|
|
|
extraConfig = {
|
|
push.autoSetupRemote = true;
|
|
pull.rebase = true;
|
|
init.defaultBranch = "main";
|
|
};
|
|
};
|
|
};
|
|
} |