summaryrefslogtreecommitdiff
path: root/home/zsh/watch-while.nix
diff options
context:
space:
mode:
authorLinnnus <[email protected]>2023-11-07 17:37:37 +0100
committerLinnnus <[email protected]>2023-11-07 17:37:37 +0100
commit3824d4d797d39bd6f2dee3655027a79713ef400c (patch)
tree617a3e9294573604aaedc04c72973639cc919954 /home/zsh/watch-while.nix
parentf538d7e75a4caba9d4bff0a3273c8cd5efa616ff (diff)
home/zsh+pkgs: Add watch-while for long commands lol
Diffstat (limited to 'home/zsh/watch-while.nix')
-rw-r--r--home/zsh/watch-while.nix20
1 files changed, 20 insertions, 0 deletions
diff --git a/home/zsh/watch-while.nix b/home/zsh/watch-while.nix
new file mode 100644
index 0000000..d3d6422
--- /dev/null
+++ b/home/zsh/watch-while.nix
@@ -0,0 +1,20 @@
+# 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";
+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 ["nixos-rebuild" "darwin-rebuild"] (p: "${exec} ${p}")
+ # Enable alias expansion after sudo with this trick.
+ // {"sudo" = "sudo ";};
+
+ # Also add the program to the environment for manual invocation.
+ home.packages = [pkg];
+}