Compare commits

...

2 commits

Author SHA1 Message Date
a0dde6f274 home: zsh: add notification exclusion list
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-02-15 16:33:46 +00:00
3c79a373e4 pkgs: zsh-done: 0.1.0 -> 0.1.1 2024-02-15 16:33:46 +00:00
2 changed files with 34 additions and 6 deletions

View file

@ -19,6 +19,27 @@ in
notify = {
enable = mkEnableOption "zsh-done notification";
exclude = mkOption {
type = with types; listOf str;
default = [
"direnv reload"
"fg"
"git (?!push|pull|fetch)"
"htop"
"less"
"man"
"nvim"
"tail -f"
"tmux"
"vim"
];
example = [ "command --long-running-option" ];
description = ''
List of exclusions which should not be create a notification. Accepts
Perl regexes (implicitly anchored with `^\s*`).
'';
};
ssh = {
enable = mkEnableOption "notify through SSH/non-graphical connections";
@ -116,10 +137,17 @@ in
# `localVariables` values don't get merged correctly due to their type,
# don't use `mkIf`
localVariables = { }
# Enable `zsh-done` through SSH, if configured
// lib.optionalAttrs cfg.notify.ssh.enable { DONE_ALLOW_NONGRAPHICAL = 1; }
;
localVariables = {
DONE_EXCLUDE =
let
joined = lib.concatMapStringsSep "|" (c: "(${c})") cfg.notify.exclude;
in
''^\s*(${joined})'';
}
# Enable `zsh-done` through SSH, if configured
// lib.optionalAttrs cfg.notify.ssh.enable {
DONE_ALLOW_NONGRAPHICAL = 1;
};
# Use OSC-777 to send the notification through SSH
initExtra = lib.mkIf cfg.notify.ssh.useOsc777 ''

View file

@ -2,13 +2,13 @@
stdenvNoCC.mkDerivation rec {
pname = "zsh-done";
version = "0.1.0";
version = "0.1.1";
src = fetchFromGitHub {
owner = "ambroisie";
repo = "zsh-done";
rev = "v${version}";
hash = "sha256-DC7urJDXPP9vBYABrJF5KZ4HfMbrpHIVogSmEB8PWLA=";
hash = "sha256-dyhPhoMrAfDWtrBX5TA+B3G7QZ7gBhoDGNOEqGsCBQU=";
};
dontConfigure = true;