From 5bf02164604b255261cdf91b7514955b02330c8a Mon Sep 17 00:00:00 2001 From: Corwin Perren Date: Mon, 3 Nov 2025 20:58:20 -0800 Subject: [PATCH 1/7] Switched flameshot for custom grim/wl-copy/swappy pipeline, new printscr shortcuts, minor refactoring of some modules, spotify_player swap for streamdeck, new area for hyprland scripts --- .../application-groups/system-utilities.nix | 1 + modules/system/hyprland.nix | 30 ++--- users/caperren/caperren.nix | 8 +- .../.config/hypr/scripts/screenshot.sh | 116 ++++++++++++++++++ .../dotfiles/hyprland/hyprland-common.conf | 19 ++- .../dotfiles/streamdeck/.streamdeck_ui.json | 2 +- 6 files changed, 152 insertions(+), 24 deletions(-) create mode 100755 users/caperren/dotfiles/.config/hypr/scripts/screenshot.sh diff --git a/modules/application-groups/system-utilities.nix b/modules/application-groups/system-utilities.nix index af611a1..a360d1e 100644 --- a/modules/application-groups/system-utilities.nix +++ b/modules/application-groups/system-utilities.nix @@ -33,6 +33,7 @@ kdePackages.qt6ct killall kitty + swappy lf minicom ncdu diff --git a/modules/system/hyprland.nix b/modules/system/hyprland.nix index a781890..9c0bd18 100644 --- a/modules/system/hyprland.nix +++ b/modules/system/hyprland.nix @@ -1,35 +1,31 @@ { config, pkgs, ... }: { - programs.hyprland = { - enable = true; - xwayland.enable = true; - }; - - services.displayManager.gdm = { - enable = true; - wayland = true; - }; - - services.xserver = { - enable = true; - }; hardware.graphics = { enable = true; enable32Bit = true; }; - xdg.portal.enable = true; - xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; - + programs.hyprland = { + enable = true; + xwayland.enable = true; + }; programs.hyprlock.enable = true; programs.waybar.enable = true; + + services.displayManager.gdm = { + enable = true; + wayland = true; + }; services.hypridle.enable = true; + services.xserver.enable = true; + + xdg.portal.enable = true; + xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; environment.systemPackages = with pkgs; [ arandr dunst - flameshot grim hyprpaper hyprpicker diff --git a/users/caperren/caperren.nix b/users/caperren/caperren.nix index eb15421..e85791a 100644 --- a/users/caperren/caperren.nix +++ b/users/caperren/caperren.nix @@ -46,8 +46,9 @@ in font.name = "JetBrains Mono"; }; - # Assets + # Assets/scripts home.file.".config/streamdeck-ui/icons".source = ./dotfiles/streamdeck/icons; + home.file.".config/hypr/scripts".source = ./dotfiles/.config/hypr/scripts; # Application config files home.file.".config/glances/glances.conf".source = ./dotfiles/.config/glances/glances.conf; @@ -81,8 +82,9 @@ in # Custom bash aliases home.shellAliases = { - # Streamdeck isn't easy to manually edit, so make a save command to copy any updates to the repo - savestreamdeck = "cp ~/.streamdeck_ui.json ~/.nixos-configs/users/caperren/dotfiles/streamdeck/.streamdeck_ui.json"; + # Streamdeck isn't easy to manually edit, so make a save command to copy any updates to the repo + savestreamdeck = "cp ~/.streamdeck_ui.json ~/.nixos-configs/users/caperren/dotfiles/streamdeck/.streamdeck_ui.json"; + screenshot = "~/.config/hypr/scripts/screenshot.sh"; }; # Theming diff --git a/users/caperren/dotfiles/.config/hypr/scripts/screenshot.sh b/users/caperren/dotfiles/.config/hypr/scripts/screenshot.sh new file mode 100755 index 0000000..e345ebc --- /dev/null +++ b/users/caperren/dotfiles/.config/hypr/scripts/screenshot.sh @@ -0,0 +1,116 @@ +#!/usr/bin/env bash + +# Unashamedly taken from: https://www.reddit.com/r/hyprland/comments/13ivh0c/comment/jkgk65k +# Small edits made for my particular needs + +# Flags: + +# r: region +# s: screen +# +# c: clipboard +# f: file +# i: interactive + +# p: pixel + +# Example hyprland bindings +#bind = CTRL, SUPER, ALT, PRINT, exec, ~/.config/hypr/scripts/screenshot.sh +#bind = , PRINT, exec, ~/.config/hypr/scripts/screenshot.sh rc +#bind = SUPER, PRINT, exec, ~/.config/hypr/scripts/screenshot.sh rf +#bind = CTRL, PRINT, exec, ~/.config/hypr/scripts/screenshot.sh ri +#bind = SHIFT, PRINT, exec, ~/.config/hypr/scripts/screenshot.sh sc +#bind = SUPER SHIFT, PRINT, exec, ~/.config/hypr/scripts/screenshot.sh sf +#bind = CTRL SHIFT, PRINT, exec, ~/.config/hypr/scripts/screenshot.sh si +#bind = ALT, PRINT, exec, ~/.config/hypr/scripts/screenshot.sh p + +screenshotPath=~/Pictures/screenshots + +hyprpicker_launch(){ + # Start hyprpicker with screen render (freeze), no fancy, no zoom + # We're just using this to lock the screen in place for grim ingest + hyprpicker -r -n -z -d >/dev/null 2>&1 & + sleep 0.5 +} + +hyprpicker_kill(){ + killall hyprpicker >/dev/null 2>&1 +} + +trap hyprpicker_kill EXIT + +generate_filename(){ + # Make sure screenshots path exists first + if [ ! -d "$screenshotPath" ]; then + mkdir -p "$screenshotPath" + fi + + echo "$screenshotPath/$(date +%Y-%m-%d_%H-%M-%S).png" +} + +active_screen_grim_region(){ + hyprctl -j monitors | jq -r '.[] | select(.focused) | "\(.x),\(.y) \(.width)x\(.height)"' - +} + +grim_from_region() { + local filename="${1:-}" + local region="${2:-}" + + hyprpicker_launch + + # Get region of screen to capture, if not passed in + if [ -z "$region" ]; then + region=$(slurp -b '#000000b0' -c '#00000000') || exit 1 + fi + + # Start grim while screen is still frozen, kill hyprpicker, and pass through data + if [ -z "$filename" ]; then + grim -g "$region" - | { + hyprpicker_kill || true + cat + } + else + grim -g "$region" "$filename" | { + hyprpicker_kill || true + cat + } + fi +} + +if [[ $1 == rc ]]; then + grim_from_region | wl-copy + notify-send 'Copied to Clipboard' Screenshot + +elif [[ $1 == rf ]]; then + grim_from_region "$(generate_filename)" + notify-send 'Screenshot Taken' "$filename" + +elif [[ $1 == ri ]]; then + grim_from_region | swappy -f - -o "$(generate_filename)" + +elif [[ $1 == sc ]]; then + grim_from_region "" "$(active_screen_grim_region)" | wl-copy + notify-send 'Copied to Clipboard' Screenshot + +elif [[ $1 == sf ]]; then + grim_from_region "$(generate_filename)" "$(active_screen_grim_region)" + notify-send 'Screenshot Taken' "$filename" + +elif [[ $1 == si ]]; then + grim_from_region "" "$(active_screen_grim_region)" | swappy -f - -o "$(generate_filename)" + +elif [[ $1 == p ]]; then + color=$(hyprpicker -a -r) + wl-copy "$color" + notify-send 'Copied to Clipboard' "$color" + +else + notify-send 'Screenshot Shortcuts' "Print:\t\t\tRegion to clip +Super+Print:\t\tRegion to file +Ctrl+Print:\t\tRegion to editor +Shift+Print:\t\t\Screen to clip +Shift+Super+Print:\tScreen to file +Ctrl+Shift+Print:\tScreen to editor +Alt+Print:\t\tColor picker to clip" -t 20000 + +fi \ No newline at end of file diff --git a/users/caperren/dotfiles/hyprland/hyprland-common.conf b/users/caperren/dotfiles/hyprland/hyprland-common.conf index d164ede..fa1030e 100644 --- a/users/caperren/dotfiles/hyprland/hyprland-common.conf +++ b/users/caperren/dotfiles/hyprland/hyprland-common.conf @@ -83,14 +83,13 @@ windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. $mainMod = SUPER -bind = $mainMod, T, exec, $terminal -bind = $mainMod, C, killactive, - # Launch terminal +bind = $mainMod, T, exec, $terminal bind = SHIFT_SUPER, Return, exec, $terminal # Close active window bind = $mainMod, Shift+q, killactive, +bind = $mainMod, C, killactive, bind = $mainMod, M, exit, bind = $mainMod, E, exec, $fileManager @@ -157,6 +156,20 @@ bindl=, XF86AudioNext, exec, playerctl next bind = ,XF86MonBrightnessDown, exec, brightnessctl s 1%- bind = ,XF86MonBrightnessUp, exec, brightnessctl s +1% +# Screenshots +bind = , PRINT, exec, ~/.config/hypr/scripts/screenshot.sh rc +bind = SUPER, PRINT, exec, ~/.config/hypr/scripts/screenshot.sh rf +bind = CTRL, PRINT, exec, ~/.config/hypr/scripts/screenshot.sh ri +bind = SHIFT, PRINT, exec, ~/.config/hypr/scripts/screenshot.sh sc +bind = SUPER_SHIFT, PRINT, exec, ~/.config/hypr/scripts/screenshot.sh sf +bind = CTRL_SHIFT, PRINT, exec, ~/.config/hypr/scripts/screenshot.sh si +bind = ALT, PRINT, exec, ~/.config/hypr/scripts/screenshot.sh p + + +# Jetbrains window rules +# Prevent initial focus for JetBrains popups +windowrulev2 = noinitialfocus, class:^jetbrains-.*$, floating:1, title:^$|^\s$|^win\d+$ + # Application launch exec-once = kanshi # Automatically handles display configurations exec-once = ydotoold # Autoclicker/autokeyboard for automation diff --git a/users/caperren/dotfiles/streamdeck/.streamdeck_ui.json b/users/caperren/dotfiles/streamdeck/.streamdeck_ui.json index a208064..ddd0b80 100644 --- a/users/caperren/dotfiles/streamdeck/.streamdeck_ui.json +++ b/users/caperren/dotfiles/streamdeck/.streamdeck_ui.json @@ -263,7 +263,7 @@ "icon": "/home/caperren/.config/streamdeck-ui/icons/spotify-logo.png", "keys": "", "write": "", - "command": "spotify", + "command": "kitty -e spotify_player", "brightness_change": 0, "switch_page": 0, "switch_state": 0, From 069de415624952b6c9e19494a11ddd57b756f77a Mon Sep 17 00:00:00 2001 From: Corwin Perren Date: Wed, 5 Nov 2025 11:48:16 -0800 Subject: [PATCH 2/7] Added quick command and desktop file to start an abd screen mirroring session for my android phone --- users/caperren/caperren.nix | 8 ++++++++ users/caperren/dotfiles/.local/share/phonerdp.desktop | 7 +++++++ 2 files changed, 15 insertions(+) create mode 100644 users/caperren/dotfiles/.local/share/phonerdp.desktop diff --git a/users/caperren/caperren.nix b/users/caperren/caperren.nix index e85791a..61b8671 100644 --- a/users/caperren/caperren.nix +++ b/users/caperren/caperren.nix @@ -82,8 +82,13 @@ in # Custom bash aliases home.shellAliases = { + # Phone remote desktop over usb (adb), with some default flags I want + phonerdp = "scrcpy --no-audio --orientation=0 --turn-screen-off --fullscreen"; + # Streamdeck isn't easy to manually edit, so make a save command to copy any updates to the repo savestreamdeck = "cp ~/.streamdeck_ui.json ~/.nixos-configs/users/caperren/dotfiles/streamdeck/.streamdeck_ui.json"; + + # Nice to have an alias if I ever want to launch this from cmdline, or see the dbus help string screenshot = "~/.config/hypr/scripts/screenshot.sh"; }; @@ -109,6 +114,9 @@ in font.name = "JetBrains Mono 11"; }; + home.sessionPath = [ + "$HOME/.local/share" + ]; home.sessionVariables = { GTK_THEME = "Adwaita-dark"; }; diff --git a/users/caperren/dotfiles/.local/share/phonerdp.desktop b/users/caperren/dotfiles/.local/share/phonerdp.desktop new file mode 100644 index 0000000..5c74e6b --- /dev/null +++ b/users/caperren/dotfiles/.local/share/phonerdp.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Type=Application +Name=Phone RDP +Exec=bash -c "phonerdp" +Icon=phonerdp +Terminal=false +Categories=Utilities; \ No newline at end of file From 513cf526d80b6c8f9dd48d7e2fdc09ed4bd033b4 Mon Sep 17 00:00:00 2001 From: Corwin Perren Date: Thu, 6 Nov 2025 17:40:00 -0800 Subject: [PATCH 3/7] Added pinta for quick cropping and rotating of images --- modules/application-groups/media-creation.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/application-groups/media-creation.nix b/modules/application-groups/media-creation.nix index 78953d5..e204a21 100644 --- a/modules/application-groups/media-creation.nix +++ b/modules/application-groups/media-creation.nix @@ -6,5 +6,6 @@ inkscape kdePackages.kdenlive obs-studio + pinta ]; } From 283f9ad213bedcdbab8c143f524220c4c0064261 Mon Sep 17 00:00:00 2001 From: Corwin Perren Date: Fri, 7 Nov 2025 14:55:22 -0800 Subject: [PATCH 4/7] Re-enabled nvtop, nopasswd for nvtop, properly enable kitty with remote control, streamdeck now uses alltop, alltop desktop entry, j4-dmenu-desktop as wrapper for bemenu so that desktop entries show, fixed desktop entry location --- modules/application-groups/system-utilities.nix | 2 +- modules/system/hyprland.nix | 3 ++- modules/system/security.nix | 12 +++++++++++- users/caperren/caperren.nix | 15 ++++++++++----- .../.local/share/applications/alltop.desktop | 7 +++++++ .../share/{ => applications}/glava.desktop | 0 .../share/{ => applications}/phonerdp.desktop | 2 +- .../{ => applications}/spotify-player.desktop | 0 .../.local/share/jetbrains-toolbox.desktop | 7 ------- .../dotfiles/hyprland/hyprland-common.conf | 2 +- .../dotfiles/streamdeck/.streamdeck_ui.json | 10 +++++----- .../dotfiles/streamdeck/icons/btop-logo.png | Bin 0 -> 2859 bytes 12 files changed, 38 insertions(+), 22 deletions(-) create mode 100644 users/caperren/dotfiles/.local/share/applications/alltop.desktop rename users/caperren/dotfiles/.local/share/{ => applications}/glava.desktop (100%) rename users/caperren/dotfiles/.local/share/{ => applications}/phonerdp.desktop (55%) rename users/caperren/dotfiles/.local/share/{ => applications}/spotify-player.desktop (100%) delete mode 100644 users/caperren/dotfiles/.local/share/jetbrains-toolbox.desktop create mode 100644 users/caperren/dotfiles/streamdeck/icons/btop-logo.png diff --git a/modules/application-groups/system-utilities.nix b/modules/application-groups/system-utilities.nix index a360d1e..150bda3 100644 --- a/modules/application-groups/system-utilities.nix +++ b/modules/application-groups/system-utilities.nix @@ -40,7 +40,7 @@ networkmanager networkmanagerapplet nmap - # nvtopPackages.full # <- Build failure: https://github.com/nixos/nixpkgs/issues/456928 + nvtopPackages.full openrgb-with-all-plugins pciutils rofi-bluetooth diff --git a/modules/system/hyprland.nix b/modules/system/hyprland.nix index 9c0bd18..94b552d 100644 --- a/modules/system/hyprland.nix +++ b/modules/system/hyprland.nix @@ -25,6 +25,7 @@ environment.systemPackages = with pkgs; [ arandr + bemenu dunst grim hyprpaper @@ -39,7 +40,7 @@ swayimg wl-clipboard wlogout - bemenu + ]; } diff --git a/modules/system/security.nix b/modules/system/security.nix index e2a0caf..c3dcd7b 100644 --- a/modules/system/security.nix +++ b/modules/system/security.nix @@ -4,6 +4,7 @@ enable = true; extraRules = [ { + groups = [ "wheel" ]; commands = [ { command = "${pkgs.systemd}/bin/reboot"; @@ -14,7 +15,16 @@ options = [ "NOPASSWD" ]; } ]; - groups = [ "wheel" ]; + } + { + users = [ "caperren" ]; + commands = [ + { + command = "${pkgs.nvtopPackages.full}/bin/nvtop"; + options = [ "NOPASSWD" "SETENV" ]; + } + ]; + } ]; }; diff --git a/users/caperren/caperren.nix b/users/caperren/caperren.nix index 61b8671..d6ce167 100644 --- a/users/caperren/caperren.nix +++ b/users/caperren/caperren.nix @@ -43,7 +43,11 @@ in programs.bemenu.enable = true; programs.kitty = { + enable = true; font.name = "JetBrains Mono"; + settings = { + allow_remote_control = true; + }; }; # Assets/scripts @@ -74,11 +78,12 @@ in home.file.".config/wlogout/layout".source = ./dotfiles/wlogout/layout; # Desktop entry files so bemenu can find them - home.file.".local/share/glava.desktop".source = ./dotfiles/.local/share/glava.desktop; - home.file.".local/share/jetbrains-toolbox.desktop".source = - ./dotfiles/.local/share/jetbrains-toolbox.desktop; - home.file.".local/share/spotify-player.desktop".source = - ./dotfiles/.local/share/spotify-player.desktop; + home.file.".local/share/applications/alltop.desktop".source = + ./dotfiles/.local/share/applications/alltop.desktop; + home.file.".local/share/applications/glava.desktop".source = + ./dotfiles/.local/share/applications/glava.desktop; + home.file.".local/share/applications/spotify-player.desktop".source = + ./dotfiles/.local/share/applications/spotify-player.desktop; # Custom bash aliases home.shellAliases = { diff --git a/users/caperren/dotfiles/.local/share/applications/alltop.desktop b/users/caperren/dotfiles/.local/share/applications/alltop.desktop new file mode 100644 index 0000000..a42d532 --- /dev/null +++ b/users/caperren/dotfiles/.local/share/applications/alltop.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Type=Application +Name=All Top +Exec=bash -c "kitty --single-instance --detach bash -c 'kitten @ launch --type=window --title btop btop ; kitten @ launch --type=window --title nvtop nvtop'" +Icon=alltop +Terminal=false +Categories=Utilities; \ No newline at end of file diff --git a/users/caperren/dotfiles/.local/share/glava.desktop b/users/caperren/dotfiles/.local/share/applications/glava.desktop similarity index 100% rename from users/caperren/dotfiles/.local/share/glava.desktop rename to users/caperren/dotfiles/.local/share/applications/glava.desktop diff --git a/users/caperren/dotfiles/.local/share/phonerdp.desktop b/users/caperren/dotfiles/.local/share/applications/phonerdp.desktop similarity index 55% rename from users/caperren/dotfiles/.local/share/phonerdp.desktop rename to users/caperren/dotfiles/.local/share/applications/phonerdp.desktop index 5c74e6b..c080c84 100644 --- a/users/caperren/dotfiles/.local/share/phonerdp.desktop +++ b/users/caperren/dotfiles/.local/share/applications/phonerdp.desktop @@ -1,7 +1,7 @@ [Desktop Entry] Type=Application Name=Phone RDP -Exec=bash -c "phonerdp" +Exec=bash -c "scrcpy --no-audio --orientation=0 --turn-screen-off --fullscreen" Icon=phonerdp Terminal=false Categories=Utilities; \ No newline at end of file diff --git a/users/caperren/dotfiles/.local/share/spotify-player.desktop b/users/caperren/dotfiles/.local/share/applications/spotify-player.desktop similarity index 100% rename from users/caperren/dotfiles/.local/share/spotify-player.desktop rename to users/caperren/dotfiles/.local/share/applications/spotify-player.desktop diff --git a/users/caperren/dotfiles/.local/share/jetbrains-toolbox.desktop b/users/caperren/dotfiles/.local/share/jetbrains-toolbox.desktop deleted file mode 100644 index 80792a8..0000000 --- a/users/caperren/dotfiles/.local/share/jetbrains-toolbox.desktop +++ /dev/null @@ -1,7 +0,0 @@ -[Desktop Entry] -Type=Application -Name=JetBrains Toolbox -Exec=jetbrains-toolbox -Icon=jetbrains-toolbox -Terminal=false -Categories=Development;IDE; \ No newline at end of file diff --git a/users/caperren/dotfiles/hyprland/hyprland-common.conf b/users/caperren/dotfiles/hyprland/hyprland-common.conf index fa1030e..8f97c0d 100644 --- a/users/caperren/dotfiles/hyprland/hyprland-common.conf +++ b/users/caperren/dotfiles/hyprland/hyprland-common.conf @@ -4,7 +4,7 @@ monitor=,preferred,auto,1 # Set programs that you use $terminal = kitty $fileManager = thunar -$menu = bemenu-run --line-height 22 --hf "##10AC25" --ff "##10AC25" --tf "##10AC25" +$menu = j4-dmenu-desktop --dmenu='bemenu --ignorecase --line-height 22 --hf "##10AC25" --ff "##10AC25" --tf "##10AC25"' --term='kitty' # Some default env vars env = XCURSOR_SIZE,24 diff --git a/users/caperren/dotfiles/streamdeck/.streamdeck_ui.json b/users/caperren/dotfiles/streamdeck/.streamdeck_ui.json index ddd0b80..e12a2fe 100644 --- a/users/caperren/dotfiles/streamdeck/.streamdeck_ui.json +++ b/users/caperren/dotfiles/streamdeck/.streamdeck_ui.json @@ -176,14 +176,14 @@ "states": { "0": { "text": "", - "icon": "/home/caperren/.config/streamdeck-ui/icons/glances-logo.png", + "icon": "/home/caperren/.config/streamdeck-ui/icons/btop-logo.png", "keys": "", "write": "", - "command": "kitty -e glances", + "command": "bash -c \"kitty --single-instance --detach bash -c 'kitten @ launch --type=window --title btop btop ; kitten @ launch --type=window --title nvtop nvtop'\"", "brightness_change": 0, "switch_page": 0, "switch_state": 0, - "text_vertical_align": "middle", + "text_vertical_align": "top", "text_horizontal_align": "", "font": "", "font_color": "", @@ -582,7 +582,7 @@ "write": "", "command": "kitty -e bash -i -c nrs", "brightness_change": 0, - "switch_page": 0, + "switch_page": 1, "switch_state": 0, "text_vertical_align": "middle", "text_horizontal_align": "", @@ -603,7 +603,7 @@ "write": "", "command": "kitty -e bash -i -c nus", "brightness_change": 0, - "switch_page": 0, + "switch_page": 1, "switch_state": 0, "text_vertical_align": "middle", "text_horizontal_align": "", diff --git a/users/caperren/dotfiles/streamdeck/icons/btop-logo.png b/users/caperren/dotfiles/streamdeck/icons/btop-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..871317ecb0fff6d632128b5e5ef5467f519dfb5c GIT binary patch literal 2859 zcmb`JeK^y58^Bl8GZaebxa1`q?@Jwrilx*ctJF0$^Aa&8l+oB`vx&SsU12AZl9#9B zjHhOiHLMvA9ZhA(%ZQ<_Va=F_8E1s&*HO>)bY16IUi{5NNB{@ndihXoKCy1>Ov363ICUfKZD)?uP||_BwrB8w$nlCV=w0_@9vR zJ{WX7KIBR`2#?1@B4eVlsF2uj25N%IEB(#Es9qu}R z6Pkc~cQdrJMab*+^R+ck_KX;9$AkssUXJuFo9U1jq47B0r~+xs*BUBx=L~zZ;Z|c) zDp;#&oT+r%?=KGvR6wpa%^O>^?M$|OyRZs}f(#=HAm^8UcbFL!3P1F_%rwZ$V)%LZ z)J@BGii(O}5H~l5dV$m4scS66tt=^cl+Fh}6>u6{((DM!`RM#g+hI{rVQn*g!E_dQ-qtOQTMgyRMyInC!2N}wiB~Z;#P$1%G1|v#4Hu- zU*{*Cho+sGC1%@Cxc@&A2BbX;E>MXjh(w|XfshEO$M@bbG3E10u^%4bop(2^Q z@MgwnVyEw;z(huX{Fn)n{Pu%V9!Vq~ls?6<@I=kw_d}T!zZ7=ePkGUC;G^ zc!{ixr6eApQ4hTYoIa4enp9YPhwxsir?1~LIXSuQWc&v;M5%N!S>`Yj6%K7l$)-}> zx|QrWQN{)Gi(GB+GhIYZWmOf%@g6_FQvAMrTA_f!BKJuTXoe;v{AjOxgCmnJ+KR4i zuQc>Ke}3g?(~577(*0dN4u%PX@{ZU+AmwbT+epGF?LU_2T8e|J2KZ?8)vpp} zc(>hvJBv6n<>Ey&ia?lL1_SjBAkfwzx+uPcZ^~*6emP_V*m2j_5>Eu|x*^F4xEA9Gv*?hU~1Y_}aSK zT6i>-Gn3@d#hH<;y%7(*diAP!n#iSeE_9F+^EemCx4Y#W*+2Vz5_!g1a~3lo*wKevngmQ zd{{5?&}|K!Eg>hOzL7Nm<^N%n&Ef0EKkMy1OPqXAQDbC=4-DC`UQed+&3$xV5^jpc zVwLQ2F=$SO)F;Z(0<*DH3sdb3Tf6r)j~_pFbafTxp-T71{bI?>cCY@&D>NG2JvJ65 zK+Rix!lv3h&B#9>fP+)cjbr^fU+?*B;=;P6uMs;2r*VQG3?KAsr2lOE`)F$@5f$qo z-J4U4Vfjn)JAAo9epJG~s?m#@ zFW31gjdV14fS`v%pWpmW>w{l3%irHx&sYk*cI{eZSlF+gI=hln`y!$MH4+K5CNm$+ z2J=9Gbq#0CApyy|#Pu#Du)gaf*#C|A6t>eE`1^yapL1aml2iHUQ4sJamzrQvLL)w9$3# z)LV+Gt*1fu^C7uhUKI|!$PKb;$W7f$N6=~c3`Qjn+zR;gr-A#6$}5Xzx%zM-rcR8} zzwrbA{{6cgYF%BO%QB1xx1l7Sm_^X@0fwu1NwJMM7burk6~M*WZ-v;?ZowZq8bl`X zq~25Yn*_ZR6L<>3>chjjJR^3`G_*sq)YWy#M$gt7N*Kw=%yb#b_Anb}Vb&?K+z2jI<4xuj=0eud41R--afQc_3@6~ z*x$eS&O;_ER2e>FlMf8@7sM>#HoN^-VYJ+i66ig}PWI;xaXYPRlW$cJpO_XHo4!sx zpbD?>E{63*u`GFz{J9m2do!oCpl29}o`C`6XJ~zqT}K%RI*ZF)i4nmUZsYQe{XYZK`}Fhz21lZx(Gyc`ZO1KPeArX{RmZ#<@r%J zu*cNbXP2Ftar5Ay|DaIVPTbN4Z6>NJh|oT%qLO!2$TU}NiA`r^MzIPNVAXRr%9=^t pCMM}lVc|=n>f1w~Zep{^YR(e#J1&L|z(p72^^^CpNA4F={{!

jVG* literal 0 HcmV?d00001 From 3d5c6a443b63a749c99b6fe7b68e581787b54729 Mon Sep 17 00:00:00 2001 From: Corwin Perren Date: Fri, 7 Nov 2025 14:58:10 -0800 Subject: [PATCH 5/7] Added phonerdp desktop entry --- users/caperren/caperren.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/users/caperren/caperren.nix b/users/caperren/caperren.nix index d6ce167..cc8a61d 100644 --- a/users/caperren/caperren.nix +++ b/users/caperren/caperren.nix @@ -82,6 +82,8 @@ in ./dotfiles/.local/share/applications/alltop.desktop; home.file.".local/share/applications/glava.desktop".source = ./dotfiles/.local/share/applications/glava.desktop; + home.file.".local/share/applications/phonerdp.desktop".source = + ./dotfiles/.local/share/applications/phonerdp.desktop; home.file.".local/share/applications/spotify-player.desktop".source = ./dotfiles/.local/share/applications/spotify-player.desktop; From f536cea5c3b7c6b8c6aa4312a21e2115bdb08f27 Mon Sep 17 00:00:00 2001 From: Corwin Perren Date: Fri, 7 Nov 2025 14:59:57 -0800 Subject: [PATCH 6/7] Skip fullscreen option on phonerdp --- users/caperren/caperren.nix | 2 +- .../dotfiles/.local/share/applications/phonerdp.desktop | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/users/caperren/caperren.nix b/users/caperren/caperren.nix index cc8a61d..f0b3738 100644 --- a/users/caperren/caperren.nix +++ b/users/caperren/caperren.nix @@ -90,7 +90,7 @@ in # Custom bash aliases home.shellAliases = { # Phone remote desktop over usb (adb), with some default flags I want - phonerdp = "scrcpy --no-audio --orientation=0 --turn-screen-off --fullscreen"; + phonerdp = "scrcpy --no-audio --orientation=0 --turn-screen-off"; # Streamdeck isn't easy to manually edit, so make a save command to copy any updates to the repo savestreamdeck = "cp ~/.streamdeck_ui.json ~/.nixos-configs/users/caperren/dotfiles/streamdeck/.streamdeck_ui.json"; diff --git a/users/caperren/dotfiles/.local/share/applications/phonerdp.desktop b/users/caperren/dotfiles/.local/share/applications/phonerdp.desktop index c080c84..e291fc4 100644 --- a/users/caperren/dotfiles/.local/share/applications/phonerdp.desktop +++ b/users/caperren/dotfiles/.local/share/applications/phonerdp.desktop @@ -1,7 +1,7 @@ [Desktop Entry] Type=Application Name=Phone RDP -Exec=bash -c "scrcpy --no-audio --orientation=0 --turn-screen-off --fullscreen" +Exec=bash -c "scrcpy --no-audio --orientation=0 --turn-screen-off" Icon=phonerdp Terminal=false Categories=Utilities; \ No newline at end of file From 3f83fc9d5762c9c9d39440c4604e432bac5e2675 Mon Sep 17 00:00:00 2001 From: Corwin Perren Date: Fri, 7 Nov 2025 15:04:14 -0800 Subject: [PATCH 7/7] Also make phone stay awake in rdp mode --- users/caperren/caperren.nix | 2 +- .../dotfiles/.local/share/applications/phonerdp.desktop | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/users/caperren/caperren.nix b/users/caperren/caperren.nix index f0b3738..6dd8754 100644 --- a/users/caperren/caperren.nix +++ b/users/caperren/caperren.nix @@ -90,7 +90,7 @@ in # Custom bash aliases home.shellAliases = { # Phone remote desktop over usb (adb), with some default flags I want - phonerdp = "scrcpy --no-audio --orientation=0 --turn-screen-off"; + phonerdp = "scrcpy --no-audio --orientation=0 --turn-screen-off --stay-awake"; # Streamdeck isn't easy to manually edit, so make a save command to copy any updates to the repo savestreamdeck = "cp ~/.streamdeck_ui.json ~/.nixos-configs/users/caperren/dotfiles/streamdeck/.streamdeck_ui.json"; diff --git a/users/caperren/dotfiles/.local/share/applications/phonerdp.desktop b/users/caperren/dotfiles/.local/share/applications/phonerdp.desktop index e291fc4..0c16e77 100644 --- a/users/caperren/dotfiles/.local/share/applications/phonerdp.desktop +++ b/users/caperren/dotfiles/.local/share/applications/phonerdp.desktop @@ -1,7 +1,7 @@ [Desktop Entry] Type=Application Name=Phone RDP -Exec=bash -c "scrcpy --no-audio --orientation=0 --turn-screen-off" +Exec=bash -c "scrcpy --no-audio --orientation=0 --turn-screen-off --stay-awake" Icon=phonerdp Terminal=false Categories=Utilities; \ No newline at end of file