From 7fc12d8c08e8b904aad857c68d7eb7c2d7baa937 Mon Sep 17 00:00:00 2001 From: Drew Haven Date: Mon, 6 Jul 2026 16:07:01 -0700 Subject: [PATCH] [Shell] Adds aliases for inhibitting sleep and allowing it again using tmux --- home-manager/features/shell.nix | 119 +++++++++++++++++--------------- 1 file changed, 62 insertions(+), 57 deletions(-) diff --git a/home-manager/features/shell.nix b/home-manager/features/shell.nix index 7721e53..5daf31e 100644 --- a/home-manager/features/shell.nix +++ b/home-manager/features/shell.nix @@ -64,70 +64,75 @@ "http" = "echo 'Do you mean: xh'"; "du" = "echo 'Do you mean: dust or dua?'"; "ranger" = "echo 'Do you mean: yazi'"; + "stay-awake" = '' + tmux new-session -d -A -s keep-awake 'systemd-inhibit --who="DRew" --why="Manual keep awake" --what=sleep sleep infinity' + ''; + "allow-sleep" = "tmux kill-session -t keep-awake"; }; - programs.zsh = { - enable = true; - envExtra = '' - PATH=$PATH:$HOME/.local/bin - GITHUB_USERNAME=periodic - ''; - initContent = '' - # Make ^U work like it does in Bash - bindkey "^U" backward-kill-line - - # This doesn't seem to be in the homemanager options - # Makes shells incrementally append history so that new shells have the history of open shells - setopt inc_append_history - ''; - - history = { - # Do not share history between sessions. - share = false; - }; - - oh-my-zsh = { + programs = { + zoxide = { + # TODO: Learn all the capabilities of zoxide and use them. enable = true; - plugins = [ - "git" - "git-prompt" - "direnv" - "sudo" - ]; + enableZshIntegration = true; }; - plugins = [ - { - name = "zsh-autosuggestions"; - src = pkgs.fetchFromGitHub { - owner = "zsh-users"; - repo = "zsh-autosuggestions"; - rev = "0e810e5afa27acbd074398eefbe28d13005dbc15"; - hash = "sha256-85aw9OM2pQPsWklXjuNOzp9El1MsNb+cIiZQVHUzBnk="; - }; - } - { - name = "zsh-syntax-highlighting"; - src = pkgs.fetchFromGitHub { - owner = "zsh-users"; - repo = "zsh-syntax-highlighting"; - rev = "5eb677bb0fa9a3e60f0eff031dc13926e093df92"; - hash = "sha256-KRsQEDRsJdF7LGOMTZuqfbW6xdV5S38wlgdcCM98Y/Q="; - }; - } - ]; - }; + starship = { + enable = true; + settings = { + add_newline = true; + }; + }; + zsh = { + enable = true; + envExtra = '' + PATH=$PATH:$HOME/.local/bin + GITHUB_USERNAME=periodic + ''; + initContent = '' + # Make ^U work like it does in Bash + bindkey "^U" backward-kill-line - programs.zoxide = { - # TODO: Learn all the capabilities of zoxide and use them. - enable = true; - enableZshIntegration = true; - }; + # This doesn't seem to be in the homemanager options + # Makes shells incrementally append history so that new shells have the history of open shells + setopt inc_append_history + ''; - programs.starship = { - enable = true; - settings = { - add_newline = true; + history = { + # Do not share history between sessions. + share = false; + }; + + oh-my-zsh = { + enable = true; + plugins = [ + "git" + "git-prompt" + "direnv" + "sudo" + ]; + }; + + plugins = [ + { + name = "zsh-autosuggestions"; + src = pkgs.fetchFromGitHub { + owner = "zsh-users"; + repo = "zsh-autosuggestions"; + rev = "0e810e5afa27acbd074398eefbe28d13005dbc15"; + hash = "sha256-85aw9OM2pQPsWklXjuNOzp9El1MsNb+cIiZQVHUzBnk="; + }; + } + { + name = "zsh-syntax-highlighting"; + src = pkgs.fetchFromGitHub { + owner = "zsh-users"; + repo = "zsh-syntax-highlighting"; + rev = "5eb677bb0fa9a3e60f0eff031dc13926e093df92"; + hash = "sha256-KRsQEDRsJdF7LGOMTZuqfbW6xdV5S38wlgdcCM98Y/Q="; + }; + } + ]; }; }; }