summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortriethyl <triethylammonium@pm.me>2025-12-05 14:32:11 -0500
committertriethyl <triethylammonium@pm.me>2025-12-05 14:32:11 -0500
commit3c4722a4f33dcf39661995220dbb3f3cc906a611 (patch)
tree5f9cb8c5c5ad6053eec1c67cb6e24f8df04c6151
parent07786d16bfb588155ba288dfa55e42801aa3a5ed (diff)
home-manager: added monitor mirroring to niri
-rw-r--r--home-manager/features/gui/desktops/niri/parts/niri/keybinds.nix2
-rw-r--r--home-manager/features/gui/desktops/niri/parts/selectors.nix28
2 files changed, 22 insertions, 8 deletions
diff --git a/home-manager/features/gui/desktops/niri/parts/niri/keybinds.nix b/home-manager/features/gui/desktops/niri/parts/niri/keybinds.nix
index 9c7428b..63d16da 100644
--- a/home-manager/features/gui/desktops/niri/parts/niri/keybinds.nix
+++ b/home-manager/features/gui/desktops/niri/parts/niri/keybinds.nix
@@ -40,6 +40,8 @@ in {
"Shift+Mod+P".action.screenshot-screen = [];
"Control+Mod+P".action.screenshot-window = [];
+ "Mod+M".action.spawn-sh = "${lib.getExe pkgs.hyprpicker} -nl | ${pkgs.wl-clipboard}/bin/wl-copy";
+
# Power Keys
"Mod+comma".action.spawn = ["${lib.getExe (pkgs.writers.writeNuBin "nirilock" "systemctl suspend ; hyprlock")}"];
diff --git a/home-manager/features/gui/desktops/niri/parts/selectors.nix b/home-manager/features/gui/desktops/niri/parts/selectors.nix
index 017314b..0a7aceb 100644
--- a/home-manager/features/gui/desktops/niri/parts/selectors.nix
+++ b/home-manager/features/gui/desktops/niri/parts/selectors.nix
@@ -19,6 +19,11 @@ in {
try {nh home switch} ; while true {let continue = input "Rebuild? [Y/n] "; if (($continue | str downcase) == "y" or $continue == "") {try {nh home switch}} else {break}}
'')
+ # Monitor Mirror Picker
+ (pkgs.writers.writeNuBin "mirror-display" ''
+ ${pkgs.wl-mirror}/bin/wl-mirror (niri msg -j focused-output | from json | get name)
+ '')
+
# Tool Selector
(
pkgs.writers.writeNuBin "tool-selector"
@@ -28,34 +33,41 @@ in {
''
# Tools
let tools = {
- "rebuild nixos": {
+ "Rebuild NixOS": {
# footclient -H sudo nixos-rebuild switch --flake ($"~/Sync/setup#(hostname)" | path expand)
${defaultTerminal.runCliCommand} os-rebuild-loop
}
- "rebuild home": {
+ "Rebuild Home": {
# foot -H home-manager switch --flake ($"~/Sync/setup#(whoami)@(hostname)" | path expand)
${defaultTerminal.runCliCommand} home-rebuild-loop
}
- "update flake": {
+ "Update Flake": {
${defaultTerminal.runCliCommand} nix flake update --flake ($"~/Sync/setup/" | path expand)
}
- "manage wifi": {
+ "Manage WiFi": {
${defaultTerminal.runTuiCommand} ${pkgs.impala}/bin/impala
}
- "manage bluetooth": {
+ "Manage Bluetooth": {
${defaultTerminal.runTuiCommand} ${lib.getExe pkgs.bluetui}
}
- "manage displays": {
+ "Manage Displays": {
${lib.getExe wdisplays}
}
- "create qr-code": {
+ "Mirror Current Display": {
+ mirror-display
+ }
+ "Reset Waybar": {
+ # Find a way to make this automatic when monitor connected and remove this
+ pkill waybar; niri msg action spawn -- waybar
+ }
+ "Create QR-Code": {
let temp_file = mktemp -t
let qr_code_bin = ${lib.getExe pkgs.qrtool} encode (${pkgs.wl-clipboard}/bin/wl-paste)
$qr_code_bin | ${pkgs.wl-clipboard}/bin/wl-copy
$qr_code_bin | save -f $temp_file
${lib.getExe pkgs.imv} $temp_file
}
- "steam big-picture": {
+ "Open Steam Big-Picture Mode": {
rm -r ~/.steam
gamescope -f --backend sdl -- steam -bigpicture
}