diff options
Diffstat (limited to 'modules/programs')
| -rw-r--r-- | modules/programs/aerc/assertions.nix | 19 | ||||
| -rw-r--r-- | modules/programs/aerc/default.nix | 2 | ||||
| -rw-r--r-- | modules/programs/fzf/assertions.nix | 13 | ||||
| -rw-r--r-- | modules/programs/fzf/default.nix | 2 | ||||
| -rw-r--r-- | modules/programs/git/assertions.nix | 13 | ||||
| -rw-r--r-- | modules/programs/git/default.nix | 2 |
6 files changed, 51 insertions, 0 deletions
diff --git a/modules/programs/aerc/assertions.nix b/modules/programs/aerc/assertions.nix new file mode 100644 index 0000000..a2b49c1 --- /dev/null +++ b/modules/programs/aerc/assertions.nix @@ -0,0 +1,19 @@ +{ config, ... }: +{ + assertions = [ + { + assertion = !config.programs.aerc.enable || config.programs.less.enable; + message = '' + programs.aerc is enabled but programs.less.enable is not. + aerc requires less as its pager. Please enable programs.less. + ''; + } + { + assertion = !config.programs.aerc.enable || config.programs.bat.enable; + message = '' + programs.aerc is enabled but programs.bat.enable is not. + aerc requires bat for text/html filtering. Please enable programs.bat. + ''; + } + ]; +} diff --git a/modules/programs/aerc/default.nix b/modules/programs/aerc/default.nix index 7c69999..2a1361d 100644 --- a/modules/programs/aerc/default.nix +++ b/modules/programs/aerc/default.nix @@ -6,6 +6,8 @@ }: { + imports = [ ./assertions.nix ]; + config = lib.mkIf config.programs.aerc.enable { programs.aerc = { extraConfig = { 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. + ''; + } + ]; +} diff --git a/modules/programs/fzf/default.nix b/modules/programs/fzf/default.nix index 8816ddd..7671b3c 100644 --- a/modules/programs/fzf/default.nix +++ b/modules/programs/fzf/default.nix @@ -2,6 +2,8 @@ # FZF - Fuzzy finder, CLI fuzzy search tool { + imports = [ ./assertions.nix ]; + config = let shellIntegration = '' diff --git a/modules/programs/git/assertions.nix b/modules/programs/git/assertions.nix new file mode 100644 index 0000000..fbe5d3c --- /dev/null +++ b/modules/programs/git/assertions.nix @@ -0,0 +1,13 @@ +{ config, ... }: +{ + assertions = [ + { + assertion = + !config.programs.git.useSSH || (config.programs.git.enable && config.programs.ssh.enable); + message = '' + programs.git.useSSH is enabled but programs.ssh.enable is not. + SSH must be enabled (programs.ssh.enable = true) to use SSH for git. + ''; + } + ]; +} diff --git a/modules/programs/git/default.nix b/modules/programs/git/default.nix index 2c4303b..133c063 100644 --- a/modules/programs/git/default.nix +++ b/modules/programs/git/default.nix @@ -6,6 +6,8 @@ # Git - Distributed version control system { + imports = [ ./assertions.nix ]; + options.programs.git = { username = lib.mkOption { type = lib.types.str; |
