From 579c203d12e6e095ec59e655d3d58747f450838b Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Wed, 18 May 2022 20:21:34 -0700 Subject: feat(git): add a template for commit messages In order to write good commit message, having a reminder of how to write them is useful. This template provides some guidance to categorize the change and how to phrase the description. --- home/git/commit.template | 22 +++++++++++++ home/git/default.nix | 84 +++++++++++++++++++++++++----------------------- 2 files changed, 66 insertions(+), 40 deletions(-) create mode 100644 home/git/commit.template (limited to 'home') diff --git a/home/git/commit.template b/home/git/commit.template new file mode 100644 index 0000000..01ab956 --- /dev/null +++ b/home/git/commit.template @@ -0,0 +1,22 @@ +# (If applied, this commit will...) : + +# Explain why this change is being made + +# --- COMMIT END --- +# Remember to +# Use the imperative mood, present tense: `change' not `changed' nor `changes' +# Do not end the subject line with a period +# Use the body to explain what and why vs. how +# Can use multiple lines with "-" for bullet points in body + +# Suggested types: +# build: Changes that affect the build system or external dependencies +# ci: Changes to CI configuration files and scripts +# docs: Documentation only changes +# feat: A new feature +# fix: A bug fix +# perf: A code change that improves performance +# ref: A code change that neither fixes a bug nor adds a feature (refactor) +# style: Changes that do not affect the meaning of the code +# tests: Adding missing tests or correcting existing tests +# meta: Some meta information in the repo changes diff --git a/home/git/default.nix b/home/git/default.nix index bcf32ac..3dc2dd0 100644 --- a/home/git/default.nix +++ b/home/git/default.nix @@ -6,46 +6,50 @@ in { enable = mkEnableOption "git configuration"; }; - config.programs.git = lib.mkIf cfg.enable { - enable = true; - aliases = { - s = "status --short --branch"; - amend = "commit --amend --no-edit"; + config = lib.mkIf cfg.enable { + programs.git = { + enable = true; + aliases = { + s = "status --short --branch"; + amend = "commit --amend --no-edit"; + }; + extraConfig = { + core.whitespace = "trailing-space,space-before-tab"; + color.ui = "true"; + push.default = "simple"; + init.defaultBranch = "main"; + branch.autosetuprebase = "remote"; + branch.sort = "authordate"; + commit.template = "${config.xdg.dataHome}/git/commit.template"; + }; + userName = "Franck Cuny"; + userEmail = "franck@fcuny.net"; + extraConfig = { + "credential \"https://github.com\"" = { username = "fcuny"; }; + "credential \"https://git.fcuny.net\"" = { username = "fcuny"; }; + }; + ignores = [ + "*.elc" + "*.iml" + "*.o" + "*.pyc" + "*.pyo" + "*pyc" + "*~" + ".DS_Store" + ".\\#" + ".dir-locals.el" + ".direnv/*" + ".idea" + ".projectile" + ".pytest_cache/" + "/env/*" + "Icon" + "TAGS" + "\\#*\\#" + "tags" + ]; }; - extraConfig = { - core.whitespace = "trailing-space,space-before-tab"; - color.ui = "true"; - push.default = "simple"; - init.defaultBranch = "main"; - branch.autosetuprebase = "remote"; - branch.sort = "authordate"; - }; - userName = "Franck Cuny"; - userEmail = "franck@fcuny.net"; - extraConfig = { - "credential \"https://github.com\"" = { username = "fcuny"; }; - "credential \"https://git.fcuny.net\"" = { username = "fcuny"; }; - }; - ignores = [ - "*.elc" - "*.iml" - "*.o" - "*.pyc" - "*.pyo" - "*pyc" - "*~" - ".DS_Store" - ".\\#" - ".dir-locals.el" - ".direnv/*" - ".idea" - ".projectile" - ".pytest_cache/" - "/env/*" - "Icon" - "TAGS" - "\\#*\\#" - "tags" - ]; + xdg.dataFile."git/commit.template" = { source = ./commit.template; }; }; } -- cgit v1.2.3