From 05401247c6096fcd2bd592a4a8f26454c3957f8e Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Sun, 27 Apr 2025 18:47:17 +0200 Subject: [PATCH 1/2] gitSetupHook: init --- pkgs/by-name/gi/gitSetupHook/gitSetupHook.sh | 10 ++++++++++ pkgs/by-name/gi/gitSetupHook/package.nix | 14 ++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 pkgs/by-name/gi/gitSetupHook/gitSetupHook.sh create mode 100644 pkgs/by-name/gi/gitSetupHook/package.nix diff --git a/pkgs/by-name/gi/gitSetupHook/gitSetupHook.sh b/pkgs/by-name/gi/gitSetupHook/gitSetupHook.sh new file mode 100644 index 000000000000..92f56afd4970 --- /dev/null +++ b/pkgs/by-name/gi/gitSetupHook/gitSetupHook.sh @@ -0,0 +1,10 @@ +# shellcheck shell=bash + +gitSetup () { + GIT_CONFIG_GLOBAL=$(mktemp -t gitconfig.XXXXXX) + export GIT_CONFIG_GLOBAL + @gitMinimal@ config --global user.name GitSetupHook + @gitMinimal@ config --global user.email GitSetupHook@nixpkgs.invalid +} + +postHooks+=(gitSetup) diff --git a/pkgs/by-name/gi/gitSetupHook/package.nix b/pkgs/by-name/gi/gitSetupHook/package.nix new file mode 100644 index 000000000000..b03b6490366d --- /dev/null +++ b/pkgs/by-name/gi/gitSetupHook/package.nix @@ -0,0 +1,14 @@ +{ + lib, + gitMinimal, + makeSetupHook, +}: + +makeSetupHook { + name = "gitSetupHook"; + + substitutions = { + gitMinimal = lib.getExe gitMinimal; + }; + +} ./gitSetupHook.sh From bd9a7896d1e9d959d424ef8bc7ac62fe0733aead Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Mon, 5 May 2025 11:21:01 +0200 Subject: [PATCH 2/2] doc: add release note entry about newly released setup hooks --- nixos/doc/manual/release-notes/rl-2505.section.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nixos/doc/manual/release-notes/rl-2505.section.md b/nixos/doc/manual/release-notes/rl-2505.section.md index ebbd62adee7c..f8c9462b26b0 100644 --- a/nixos/doc/manual/release-notes/rl-2505.section.md +++ b/nixos/doc/manual/release-notes/rl-2505.section.md @@ -622,6 +622,11 @@ - A toggle has been added under `users.users..enable` to allow toggling individual users conditionally. If set to false, the user account will not be created. +- New hooks were added: + - `writableTmpDirAsHomeHook`: This setup hook ensures that the directory specified by the `HOME` environment variable is writable. + - `addBinToPathHook`: This setup hook checks if the `bin/` directory exists in the `$out` output path and, if so, adds it to the `PATH` environment variable. + - `gitSetupHook`: This setup hook sets up a valid Git configuration, including the `user.name` and `user.email` fields. + ```{=include=} sections