nix-configs

Personal NixOS and home-manager configuration files
Log | Files | Refs

commit 978f6a2702a6d31e531fef1797757ebde9d1f457
parent 7d7f17101cb2398c7c77669c7ec957c3aadb7ce0
Author: Peter <peter@minskio.co.uk>
Date:   Tue, 29 Sep 2026 21:30:30 +0100

Include power menu script

Diffstat:
Mhome/hyprland.nix | 1+
Mhome/wayle.nix | 1+
Mmachines/atlas.nix | 1+
Mmachines/minerva.nix | 1+
Ascripts/power-menu.nix | 43+++++++++++++++++++++++++++++++++++++++++++
5 files changed, 47 insertions(+), 0 deletions(-)

diff --git a/home/hyprland.nix b/home/hyprland.nix @@ -65,6 +65,7 @@ in hl.bind("SUPER + E", hl.dsp.exec_cmd("alacritty -e lf")) hl.bind("Print", hl.dsp.exec_cmd('${pkgs.grim}/bin/grim ~/screenshot_$(date +"%Y-%m-%d_%H-%M-%S").png')) hl.bind("SHIFT + Print", hl.dsp.exec_cmd('${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp)" ~/screenshot_$(date +"%Y-%m-%d_%H-%M-%S").png')) + hl.bind("SUPER + L", hl.dsp.exec_cmd("power-menu")) -- WM controls hl.bind("SUPER + Space", hl.dsp.window.float({ action = "toggle" })) hl.bind("SUPER + F", hl.dsp.window.fullscreen()) diff --git a/home/wayle.nix b/home/wayle.nix @@ -36,6 +36,7 @@ in hyprland-workspaces = { active-indicator = "underline"; }; media = { icon-type = "default"; label-max-length = "15"; right-click = "alacritty -e spotify_player"; }; notifications = { popup-position = "bottom-right"; }; + power = { left-click = "power-menu"; }; ram = { left-click = "alacritty -e htop"; }; volume = { right-click = "pavucontrol"; }; weather = { location = "Huddersfield"; }; diff --git a/machines/atlas.nix b/machines/atlas.nix @@ -33,6 +33,7 @@ ../scripts/duupmove.nix ../scripts/hyprland-alt-toggle.nix ../scripts/notes.nix + ../scripts/power-menu.nix ../scripts/restic.nix ../scripts/scan-to-pdf.nix ../scripts/seedy.nix diff --git a/machines/minerva.nix b/machines/minerva.nix @@ -30,6 +30,7 @@ ../scripts/ctimerename.nix ../scripts/duupmove.nix ../scripts/notes.nix + ../scripts/power-menu.nix ../scripts/restic.nix ../scripts/vidyaplace-tears.nix ../scripts/vidyaplace.nix diff --git a/scripts/power-menu.nix b/scripts/power-menu.nix @@ -0,0 +1,43 @@ +{ pkgs, ... }: + +let + power-menu = pkgs.writeShellScriptBin "power-menu" '' + choice=$( + printf '%s\n' \ + 'Shut down' \ + 'Reboot' \ + 'Reboot to EFI' \ + 'Exit Hyprland' \ + 'Turn off screen' | + ${pkgs.tofi}/bin/tofi --prompt-text 'Power: ' + ) + + case "$choice" in + 'Shut down') + systemctl poweroff + ;; + + 'Reboot') + systemctl reboot + ;; + + 'Reboot to EFI') + systemctl reboot --firmware-setup + ;; + + 'Exit Hyprland') + hyprctl dispatch 'hl.dsp.exit()' + ;; + + 'Turn off screen') + hyprctl eval 'hl.config({ misc = { mouse_move_enables_dpms = true, key_press_enables_dpms = true } })' + sleep 0.5 + hyprctl dispatch 'hl.dsp.dpms({ action = "disable" })' + ;; + esac + + ''; +in + { + environment.systemPackages = [ power-menu ]; + }