blob: ec42e13065ce8168b460189cab4c0ef9cf48cc9a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# This module configures some ZSH aliases such that 'watch-while' is invoked
{
pkgs,
lib,
...
}: let
# Program to invoke for long-running commands.
pkg = pkgs.watch-while;
# Prorams to wrap with watch-while.
toWrap = ["nixos-rebuild" "darwin-rebuild" "nmap"];
in {
# Alias long-running commands to their prefixed versions. These aliases are
# only loaded for interactive use, so they won't mess with scripts.
programs.zsh.shellAliases =
lib.genAttrs toWrap (p: "${pkg}/bin/${pkg.pname} ${p}")
# Enable alias expansion after sudo with this trick.
// {
"sudo" = "sudo ";
"ww" = "watch-while ";
};
# Also add the program to the environment for manual invocation.
home.packages = [pkg];
}
|