blob: 87e2bbc75f0a51a032b1cbee557fa7f787d2259c (
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
26
|
# 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;
exec = "${pkg}/bin/watch-while";
# Prorams to wrap with watch-while.
toWrap = ["nixos-rebuild" "darwin-rebuild"];
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: "${exec} ${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];
}
|