mirror of
https://github.com/alyraffauf/nixcfg.git
synced 2024-11-22 05:53:56 -05:00
hyprland: added new clamshell mode script + config improvements
This commit is contained in:
parent
eb0ea497a6
commit
6011bf86cd
|
@ -80,35 +80,73 @@
|
||||||
|
|
||||||
# Default apps
|
# Default apps
|
||||||
browser = config.alyraffauf.desktop.defaultApps.webBrowser.exe;
|
browser = config.alyraffauf.desktop.defaultApps.webBrowser.exe;
|
||||||
fileManager = lib.getExe pkgs.xfce.thunar;
|
|
||||||
editor = config.alyraffauf.desktop.defaultApps.editor.exe;
|
editor = config.alyraffauf.desktop.defaultApps.editor.exe;
|
||||||
|
fileManager = lib.getExe pkgs.xfce.thunar;
|
||||||
terminal = config.alyraffauf.desktop.defaultApps.terminal.exe;
|
terminal = config.alyraffauf.desktop.defaultApps.terminal.exe;
|
||||||
|
|
||||||
# Media/hardware commands
|
|
||||||
brightness = lib.getExe' pkgs.swayosd "swayosd-client";
|
|
||||||
brightness_up = "${brightness} --brightness=raise";
|
|
||||||
brightness_down = "${brightness} --brightness=lower";
|
|
||||||
volume = brightness;
|
|
||||||
volume_up = "${volume} --output-volume=raise";
|
|
||||||
volume_down = "${volume} --output-volume=lower";
|
|
||||||
volume_mute = "${volume} --output-volume=mute-toggle";
|
|
||||||
mic_mute = "${volume} --input-volume=mute-toggle";
|
|
||||||
media = lib.getExe pkgs.playerctl;
|
|
||||||
media_play = "${media} play-pause";
|
|
||||||
media_next = "${media} next";
|
|
||||||
media_prev = "${media} previous";
|
|
||||||
|
|
||||||
# Hyprland desktop utilities
|
# Hyprland desktop utilities
|
||||||
bar = lib.getExe pkgs.waybar;
|
bar = lib.getExe pkgs.waybar;
|
||||||
|
hyprnome = lib.getExe inputs.nixpkgsUnstable.legacyPackages."${pkgs.system}".hyprnome;
|
||||||
launcher = lib.getExe pkgs.fuzzel;
|
launcher = lib.getExe pkgs.fuzzel;
|
||||||
|
lock = lib.getExe pkgs.swaylock;
|
||||||
|
logout = lib.getExe pkgs.wlogout;
|
||||||
notifyd = lib.getExe pkgs.mako;
|
notifyd = lib.getExe pkgs.mako;
|
||||||
wallpaperd = "${lib.getExe pkgs.swaybg} -i ${config.alyraffauf.desktop.theme.wallpaper}";
|
wallpaperd = "${lib.getExe pkgs.swaybg} -i ${config.alyraffauf.desktop.theme.wallpaper}";
|
||||||
logout = lib.getExe pkgs.wlogout;
|
|
||||||
lock = lib.getExe pkgs.swaylock;
|
screenshot = rec {
|
||||||
|
bin = lib.getExe inputs.nixpkgsUnstable.legacyPackages."${pkgs.system}".hyprshot;
|
||||||
|
folder = "~/pics/screenshots";
|
||||||
|
screen = "${bin} -m output -o ${folder}";
|
||||||
|
region = "${bin} -m region -o ${folder}";
|
||||||
|
};
|
||||||
|
|
||||||
|
laptopMonitors = {
|
||||||
|
framework = "desc:BOE 0x095F,preferred,auto,1.6";
|
||||||
|
t440p = "desc:LG Display 0x0569,preferred,auto,1.2";
|
||||||
|
yoga9i = "desc:Samsung Display Corp. 0x4152,preferred,auto,2,transform,0";
|
||||||
|
};
|
||||||
|
|
||||||
|
gdk_scale = "1.5";
|
||||||
|
|
||||||
|
clamshell = pkgs.writeShellScript "hyprland-clamshell" ''
|
||||||
|
NUM_MONITORS=$(${hyprctl} monitors all | grep Monitor | wc --lines)
|
||||||
|
if [ "$1" == "on" ]; then
|
||||||
|
if [ $NUM_MONITORS -gt 1 ]; then
|
||||||
|
${hyprctl} keyword monitor "eDP-1, disable"
|
||||||
|
fi
|
||||||
|
elif [ "$1" == "off" ]; then
|
||||||
|
${hyprctl} keyword monitor "${laptopMonitors.framework}"
|
||||||
|
${hyprctl} keyword monitor "${laptopMonitors.t440p}"
|
||||||
|
${hyprctl} keyword monitor "${laptopMonitors.yoga9i}"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Media/hardware commands
|
||||||
|
brightness = rec {
|
||||||
|
bin = lib.getExe' pkgs.swayosd "swayosd-client";
|
||||||
|
up = "${bin} --brightness=raise";
|
||||||
|
down = "${bin} --brightness=lower";
|
||||||
|
};
|
||||||
|
|
||||||
|
volume = rec {
|
||||||
|
bin = lib.getExe' pkgs.swayosd "swayosd-client";
|
||||||
|
up = "${bin} --output-volume=raise";
|
||||||
|
down = "${bin} --output-volume=lower";
|
||||||
|
mute = "${bin} --output-volume=mute-toggle";
|
||||||
|
micMute = "${bin} --input-volume=mute-toggle";
|
||||||
|
};
|
||||||
|
|
||||||
|
media = rec {
|
||||||
|
bin = lib.getExe pkgs.playerctl;
|
||||||
|
play = "${bin} play-pause";
|
||||||
|
paus = "${bin} pause";
|
||||||
|
next = "${bin} next";
|
||||||
|
prev = "${bin} previous";
|
||||||
|
};
|
||||||
|
|
||||||
idled = pkgs.writeShellScript "hyprland-idled" ''
|
idled = pkgs.writeShellScript "hyprland-idled" ''
|
||||||
${lib.getExe pkgs.swayidle} -w \
|
${lib.getExe pkgs.swayidle} -w \
|
||||||
before-sleep '${media} pause' \
|
before-sleep '${media.paus}' \
|
||||||
before-sleep '${lock}' \
|
before-sleep '${lock}' \
|
||||||
timeout 240 '${lib.getExe pkgs.brightnessctl} -s set 10' \
|
timeout 240 '${lib.getExe pkgs.brightnessctl} -s set 10' \
|
||||||
resume '${lib.getExe pkgs.brightnessctl} -r' \
|
resume '${lib.getExe pkgs.brightnessctl} -r' \
|
||||||
|
@ -121,35 +159,19 @@
|
||||||
else ''\''
|
else ''\''
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
hyprnome = lib.getExe inputs.nixpkgsUnstable.legacyPackages."${pkgs.system}".hyprnome;
|
|
||||||
|
|
||||||
screenshot = lib.getExe inputs.nixpkgsUnstable.legacyPackages."${pkgs.system}".hyprshot;
|
|
||||||
screenshot_folder = "~/pics/screenshots";
|
|
||||||
screenshot_screen = "${screenshot} -m output -o ${screenshot_folder}";
|
|
||||||
screenshot_region = "${screenshot} -m region -o ${screenshot_folder}";
|
|
||||||
|
|
||||||
qt_platform_theme = "qt6ct";
|
|
||||||
gdk_scale = "1.5";
|
|
||||||
in ''
|
in ''
|
||||||
$framework = desc:BOE 0x095F,preferred,auto,1.6 # lavaridge/fallarbor fw13 glossy display
|
|
||||||
$t440p = desc:LG Display 0x0569,preferred,auto,1.2 # rustboro
|
|
||||||
$yoga9i = desc:Samsung Display Corp. 0x4152,preferred,auto,2,transform,0 # petalburg
|
|
||||||
|
|
||||||
monitor = ,preferred,auto,auto
|
monitor = ,preferred,auto,auto
|
||||||
monitor = $framework
|
monitor = ${laptopMonitors.framework}
|
||||||
monitor = $t440p
|
monitor = ${laptopMonitors.t440p}
|
||||||
monitor = $yoga9i
|
monitor = ${laptopMonitors.yoga9i}
|
||||||
monitor = desc:Guangxi Century Innovation Display Electronics Co. Ltd 27C1U-D 0000000000001,preferred,-2400x0,1.6 # workshop
|
monitor = desc:Guangxi Century Innovation Display Electronics Co. Ltd 27C1U-D 0000000000001,preferred,-2400x0,1.6 # workshop
|
||||||
monitor = desc:HP Inc. HP 24mh 3CM037248S,preferred,-1920x0,auto
|
monitor = desc:HP Inc. HP 24mh 3CM037248S,preferred,-1920x0,auto
|
||||||
monitor = desc:LG Electronics LG IPS QHD 109NTWG4Y865,preferred,-2560x0,auto
|
monitor = desc:LG Electronics LG IPS QHD 109NTWG4Y865,preferred,-2560x0,auto
|
||||||
monitor = desc:LG Electronics LG ULTRAWIDE 311NTAB5M720,preferred,auto,1.25,vrr,2 # mauville
|
monitor = desc:LG Electronics LG ULTRAWIDE 311NTAB5M720,preferred,auto,1.25,vrr,2 # mauville
|
||||||
|
|
||||||
# Turn off the internal display when lid is closed.
|
# Turn off the internal display when lid is closed.
|
||||||
bindl=,switch:on:Lid Switch,exec,${hyprctl} keyword monitor "eDP-1, disable"
|
bindl=,switch:on:Lid Switch,exec,${clamshell} on
|
||||||
bindl=,switch:off:Lid Switch,exec,${hyprctl} keyword monitor "$framework"
|
bindl=,switch:off:Lid Switch,exec,${clamshell} off
|
||||||
bindl=,switch:off:Lid Switch,exec,${hyprctl} keyword monitor "$t440p"
|
|
||||||
bindl=,switch:off:Lid Switch,exec,${hyprctl} keyword monitor "$yoga9i"
|
|
||||||
|
|
||||||
# unscale XWayland apps
|
# unscale XWayland apps
|
||||||
xwayland {
|
xwayland {
|
||||||
|
@ -161,7 +183,7 @@
|
||||||
|
|
||||||
# Some default env vars.
|
# Some default env vars.
|
||||||
env = XCURSOR_SIZE,${toString config.alyraffauf.desktop.theme.cursorTheme.size}
|
env = XCURSOR_SIZE,${toString config.alyraffauf.desktop.theme.cursorTheme.size}
|
||||||
env = QT_QPA_PLATFORMTHEME,${qt_platform_theme}
|
env = QT_QPA_PLATFORMTHEME,qt6ct
|
||||||
|
|
||||||
# Execute necessary apps
|
# Execute necessary apps
|
||||||
${
|
${
|
||||||
|
@ -372,23 +394,23 @@
|
||||||
bindm = ${modifier}, mouse:273, resizewindow
|
bindm = ${modifier}, mouse:273, resizewindow
|
||||||
|
|
||||||
# Display, volume, microphone, and media keys.
|
# Display, volume, microphone, and media keys.
|
||||||
bindle = , xf86monbrightnessup, exec, ${brightness_up}
|
bindle = , xf86monbrightnessup, exec, ${brightness.up}
|
||||||
bindle = , xf86monbrightnessdown, exec, ${brightness_down}
|
bindle = , xf86monbrightnessdown, exec, ${brightness.down}
|
||||||
bindle = , xf86audioraisevolume, exec, ${volume_up};
|
bindle = , xf86audioraisevolume, exec, ${volume.up};
|
||||||
bindle = , xf86audiolowervolume, exec, ${volume_down};
|
bindle = , xf86audiolowervolume, exec, ${volume.down};
|
||||||
bindl = , xf86audiomute, exec, ${volume_mute}
|
bindl = , xf86audiomute, exec, ${volume.mute}
|
||||||
bindl = , xf86audiomicmute, exec, ${mic_mute}
|
bindl = , xf86audiomicmute, exec, ${volume.micMute}
|
||||||
bindl = , xf86audioplay, exec, ${media_play}
|
bindl = , xf86audioplay, exec, ${media.play}
|
||||||
bindl = , xf86audioprev, exec, ${media_prev}
|
bindl = , xf86audioprev, exec, ${media.prev}
|
||||||
bindl = , xf86audionext, exec, ${media_next}
|
bindl = , xf86audionext, exec, ${media.next}
|
||||||
|
|
||||||
# Extra bindings for petalburg.
|
# Extra bindings for petalburg.
|
||||||
bind = , xf86launch4, exec, pp-adjuster
|
bind = , xf86launch4, exec, pp-adjuster
|
||||||
bind = , xf86launch2, exec, ${media_play}
|
bind = , xf86launch2, exec, ${media.play}
|
||||||
|
|
||||||
# Screenshot with hyprshot.
|
# Screenshot with hyprshot.
|
||||||
bind = , PRINT, exec, ${screenshot_screen}
|
bind = , PRINT, exec, ${screenshot.screen}
|
||||||
bind = ${modifier}, PRINT, exec, ${screenshot_region}
|
bind = ${modifier}, PRINT, exec, ${screenshot.region}
|
||||||
|
|
||||||
# Show/hide waybar.
|
# Show/hide waybar.
|
||||||
bind = ${modifier}, F11, exec, pkill -SIGUSR1 waybar
|
bind = ${modifier}, F11, exec, pkill -SIGUSR1 waybar
|
||||||
|
|
Loading…
Reference in a new issue