aboutsummaryrefslogtreecommitdiffstats
path: root/modules/programs/fzf/assertions.nix
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar@gmail.com>2026-07-09 01:57:05 +0530
committerArpit Chakladar <arpitchakladar@gmail.com>2026-07-09 01:57:05 +0530
commit1314456be1c96e7c61487a7eee11f80682dafdf1 (patch)
treefa130bad69313475670aa58633e7c1641fcab77d /modules/programs/fzf/assertions.nix
parenta2beb86ab62f0f2c5052b8efe46bec5086907e3b (diff)
downloadhome-manager-config-1314456be1c96e7c61487a7eee11f80682dafdf1.tar.gz
home-manager-config-1314456be1c96e7c61487a7eee11f80682dafdf1.zip
feat: added assertions for automatically validation related options
Some programs and their configurations may depend on other programs. For a truly portable configuration users must be able to get appropriate error messages if a options is enabled but its requirements (like a dependent option) is not met. The build crashes for those and keeps the config concise.
Diffstat (limited to 'modules/programs/fzf/assertions.nix')
-rw-r--r--modules/programs/fzf/assertions.nix13
1 files changed, 13 insertions, 0 deletions
diff --git a/modules/programs/fzf/assertions.nix b/modules/programs/fzf/assertions.nix
new file mode 100644
index 0000000..7c2e79c
--- /dev/null
+++ b/modules/programs/fzf/assertions.nix
@@ -0,0 +1,13 @@
+{ config, ... }:
+{
+ assertions = [
+ {
+ assertion =
+ !config.programs.fzf.enable || config.programs.zsh.enable || config.programs.bash.enable;
+ message = ''
+ programs.fzf is enabled but neither programs.zsh.enable nor programs.bash.enable is set.
+ fzf shell integration requires zsh or bash. Please enable at least one.
+ '';
+ }
+ ];
+}