aboutsummaryrefslogtreecommitdiffstats
path: root/modules/development/git/assertions.nix
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-18 12:15:20 +0530
committerArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-18 12:15:20 +0530
commit4124a5ae231a585b945c9547a3ab0c37a4eba7e3 (patch)
treeb51774266eab457a13ee176bd6cd76b093b16d03 /modules/development/git/assertions.nix
parent302f83b23b364b08dc47725266db5e20437d71e4 (diff)
downloadhome-manager-config-4124a5ae231a585b945c9547a3ab0c37a4eba7e3.tar.gz
home-manager-config-4124a5ae231a585b945c9547a3ab0c37a4eba7e3.zip
refactor: replace zsh deps with runtimeShell, migrate scripts from symlinkJoin to runCommand, add missing assertions and deps
Scripts: Migrated from symlinkJoin to runCommand; replaced zsh dependency with pkgs.runtimeShell across polybar, scripts, and fzf-launcher Assertions: Added gopass/gpg checks for neomutt, signing checks for git, git dependency for lazygit, file-preview deps for lf, desktop/kitten checks for scripts Lazygit: Fixed mkIf placement, imported assertions Neomutt: Removed verbose keybinding descriptions Nixvim: Removed <c-c> notification-clear mapping File preview: Replaced libreoffice document preview with pandoc/antiword (terminal-based) Fzf launcher: Fixed bash compatibility (setopt → shopt -s) Deps: Added coreutils, fontconfig, antiword, pandoc, util-linux, bash, findutils, grep, sed, gawk, ncurses to various scripts
Diffstat (limited to 'modules/development/git/assertions.nix')
-rw-r--r--modules/development/git/assertions.nix22
1 files changed, 22 insertions, 0 deletions
diff --git a/modules/development/git/assertions.nix b/modules/development/git/assertions.nix
index d663173..c18c847 100644
--- a/modules/development/git/assertions.nix
+++ b/modules/development/git/assertions.nix
@@ -10,5 +10,27 @@
SSH must be enabled (security.ssh.enable = true) to use SSH for git.
'';
}
+ {
+ assertion = !config.development.git.signing.signByDefault || config.development.git.enable;
+ message = ''
+ development.git.signing.signByDefault is enabled but development.git.enable is not.
+ Enable development.git before enabling commit signing.
+ '';
+ }
+ {
+ assertion =
+ !config.development.git.signing.signByDefault || config.development.git.signing.key != null;
+ message = ''
+ development.git.signing.signByDefault is enabled but development.git.signing.key is not set.
+ Set a GPG key ID before enabling commit signing by default.
+ '';
+ }
+ {
+ assertion = !config.development.git.signing.signByDefault || config.security.gpg.enable;
+ message = ''
+ development.git.signing.signByDefault is enabled but security.gpg.enable is not.
+ Commit signing requires the managed GPG configuration. Please enable security.gpg.
+ '';
+ }
];
}