-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add commit-msg hook to git templates
- Loading branch information
1 parent
317c447
commit ce7bb9b
Showing
2 changed files
with
25 additions
and
0 deletions.
There are no files selected for viewing
2 changes: 2 additions & 0 deletions
2
modules/home-manager/git.nix → modules/home-manager/git/default.nix
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,6 @@ | ||
{ pkgs, config, lib, colors, ... }: { | ||
imports = [ ./template.nix ]; | ||
|
||
home = { | ||
packages = [ pkgs.nano ]; | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
{ pkgs, lib, config, ... }: { | ||
programs.git.extraConfig.init.templatedir = "${config.home.homeDirectory}/.git_template"; | ||
|
||
home.file.".git_template/hooks/commit-msg".source = pkgs.writeShellScript "commit-msg" '' | ||
PATH=${lib.makeBinPath [ pkgs.coreutils ]} | ||
readonly COMMIT_MSG_FILE="$1" | ||
function check_commit_msg_length { | ||
readonly MAX_MSG_LENGTH=72 | ||
local title=$(head -n 1 "$COMMIT_MSG_FILE") | ||
if [ ''${#title} -gt $MAX_MSG_LENGTH ]; then | ||
# TODO figure out how to use hex colors variable | ||
echo -e "\x1b[1;38;5;203mCommit title is ''${#title} characters long, must be equal or shorter than $MAX_MSG_LENGTH characters!\e[0m"; | ||
exit 1 | ||
fi | ||
} | ||
check_commit_msg_length | ||
''; | ||
} |