big hyprland changes

This commit is contained in:
2025-09-15 22:35:05 -05:00
parent 9cb4e51316
commit 668e6117fd
3 changed files with 95 additions and 75 deletions

View File

@@ -38,7 +38,7 @@
extraConfig = (if config.homeconfig.host == "laptop" then '' extraConfig = (if config.homeconfig.host == "laptop" then ''
bind = CTRL SHIFT, XF86Launch2, exec, bash -c 'if [[ $(hyprctl monitors | grep 0x0 | sed -n -e "s/\t*1920x1080@//" -e "s/.[1234567890]* at 0x0//p") == 300 ]]; then pkexec --user root /nix/var/nix/profiles/system/bin/switch-to-configuration switch; else pkexec --user root /nix/var/nix/profiles/system/specialisation/docked/bin/switch-to-configuration switch; fi' bind = CTRL SHIFT, XF86Launch2, exec, bash -c 'if [[ $(hyprctl monitors | grep 0x0 | sed -n -e "s/\t*1920x1080@//" -e "s/.[1234567890]* at 0x0//p") == 300 ]]; then pkexec --user root /nix/var/nix/profiles/system/bin/switch-to-configuration switch; else pkexec --user root /nix/var/nix/profiles/system/specialisation/docked/bin/switch-to-configuration switch; fi'
bind = CTRL, XF86Launch2, exec, if [[ $(hyprctl monitors | grep 0x0 | sed -n -e "s/\t*1920x1080@//" -e "s/.[1234567890]* at 0x0//p") == 300 ]]; then hyprctl keyword monitor eDP-1,1920x1080@60,0x0,1; else hyprctl keyword monitor eDP-1,1920x1080@300,0x0,1; fi bind = ALT, Escape, exec, if [[ $(hyprctl monitors | grep 0x0 | sed -n -e "s/\t*1920x1080@//" -e "s/.[1234567890]* at 0x0//p") == 300 ]]; then hyprctl keyword monitor eDP-1,1920x1080@60,0x0,1; else hyprctl keyword monitor eDP-1,1920x1080@300,0x0,1; fi
'' else if config.homeconfig.host == "homebox" then '' '' else if config.homeconfig.host == "homebox" then ''
monitor=HDMI-A-2,1920x1080@60,0x0,1 monitor=HDMI-A-2,1920x1080@60,0x0,1
monitor=HEADLESS-2,1920x1080@60,0x0,1 monitor=HEADLESS-2,1920x1080@60,0x0,1

View File

@@ -20,10 +20,10 @@ source = ~/.cache/wal/colors-hypr.conf
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ # For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input { input {
kb_layout = us kb_layout = us,jp
kb_variant = kb_variant =
kb_model = kb_model =
kb_options = kb_options = grp:caps_toggle
kb_rules = kb_rules =
follow_mouse = 1 follow_mouse = 1
@@ -48,7 +48,7 @@ general {
col.active_border = $color1 $color5 100deg col.active_border = $color1 $color5 100deg
col.inactive_border = $color0 col.inactive_border = $color0
layout = dwindle layout = master
} }
decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more decoration { # See https://wiki.hyprland.org/Configuring/Variables/ for more
@@ -101,12 +101,19 @@ gestures {
misc { misc {
disable_hyprland_logo = false disable_hyprland_logo = false
disable_splash_rendering = true disable_splash_rendering = true
force_default_wallpaper = 2 force_default_wallpaper = 0
}
ecosystem {
no_update_news = true
no_donation_nag = true
} }
# Binds # Binds
$mainMod = ALT $mainMod = ALT
bind = $mainMod SHIFT, H, exec, colorPrefix kitty -e "hyprctl binds | less"
bind = $mainMod SHIFT, E, exec, colorPrefix kitty bind = $mainMod SHIFT, E, exec, colorPrefix kitty
bind = $mainMod, B, exec, firefox bind = $mainMod, B, exec, firefox
@@ -122,7 +129,7 @@ bind = $mainMod SHIFT, R, exec, colorPrefix kitty -e _homeRebuild
bind = $mainMod, F, exec, thunar bind = $mainMod, F, exec, thunar
bind = $mainMod SHIFT, F, fullscreen bind = $mainMod SHIFT, F, fullscreen
bind = $mainMod, semicolon, exec, colorPrefix kitty -e nvim ~ bind = $mainMod SHIFT, semicolon, exec, colorPrefix kitty -e lf
bind = $mainMod, Insert, exec, libreoffice bind = $mainMod, Insert, exec, libreoffice
@@ -134,9 +141,11 @@ bind = , Menu, exec, rofi -show drun
bind = $mainMod, Menu, exec, hyprpanel -q; hyprpanel bind = $mainMod, Menu, exec, hyprpanel -q; hyprpanel
bind = $mainMod, P, pseudo, # dwindle #bind = $mainMod, P, pseudo, # dwindle
#bind = $mainMod, Z, togglesplit, # dwindle
bind = $mainMod, Z, togglesplit, # dwindle bind = $mainMod, N, rollnext, # master
bind = $mainMod, P, rollprev, # master
bind = $mainMod, M, exec, spotify bind = $mainMod, M, exec, spotify
@@ -166,10 +175,10 @@ bind = $mainMod, Return, exec, discord --enable-features=UseOzonePlatform --ozon
bind = $mainMod CTRL, Return, exec, firefox https://discord.com/app bind = $mainMod CTRL, Return, exec, firefox https://discord.com/app
# Move focus with mainMod + arrow keys # Move focus with mainMod + arrow keys
bind = $mainMod, H, movefocus, l bind = $mainMod, W, movefocus, u
bind = $mainMod, L, movefocus, r bind = $mainMod, A, movefocus, l
bind = $mainMod, J, movefocus, u bind = $mainMod, S, movefocus, d
bind = $mainMod, K, movefocus, d bind = $mainMod, D, movefocus, r
# Switch workspaces with mainMod + [0-9] # Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1 bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2 bind = $mainMod, 2, workspace, 2
@@ -202,6 +211,24 @@ bind = $mainMod SHIFT, Home, movetoworkspace, 11
bind = $mainMod, right, workspace, e+1 bind = $mainMod, right, workspace, e+1
bind = $mainMod, left, workspace, e-1 bind = $mainMod, left, workspace, e-1
bind = $mainMod, H, exec, hyprctl keyword animation workspaces,1,6,default
bind = $mainMod, H, workspace, e-1
bind = $mainMod, J, exec, hyprctl keyword animation workspaces,1,6,default,slidevert
bind = $mainMod, J, workspace, e+1
bind = $mainMod, K, exec, hyprctl keyword animation workspaces,1,6,default,slidevert
bind = $mainMod, K, workspace, e-1
bind = $mainMod, L, exec, hyprctl keyword animation workspaces,1,6,default
bind = $mainMod, L, workspace, e+1
bind = $mainMod SHIFT, H, exec, hyprctl keyword animation workspaces,1,6,default
bind = $mainMod SHIFT, H, movetoworkspace, e-1
bind = $mainMod SHIFT, J, exec, hyprctl keyword animation workspaces,1,6,default,slidevert
bind = $mainMod SHIFT, J, movetoworkspace, e+1
bind = $mainMod SHIFT, K, exec, hyprctl keyword animation workspaces,1,6,default,slidevert
bind = $mainMod SHIFT, K, movetoworkspace, e-1
bind = $mainMod SHIFT, L, exec, hyprctl keyword animation workspaces,1,6,default
bind = $mainMod SHIFT, L, movetoworkspace, e+1
#switch network connections #switch network connections
bind = CTRL SHIFT, Escape, exec, nmcli device down wlo1 bind = CTRL SHIFT, Escape, exec, nmcli device down wlo1
bind = CTRL SHIFT, 0, exec, nmcli connection up Hotspot bind = CTRL SHIFT, 0, exec, nmcli connection up Hotspot
@@ -227,10 +254,11 @@ bind = CTRL ALT, Delete, exec, loginctl kill-session self
# Move/resize windows with mainMod + LMB/RMB and dragging # Move/resize windows with mainMod + LMB/RMB and dragging
bind = $mainMod SHIFT, J, movewindow, u bind = $mainMod SHIFT, W, movewindow, u
bind = $mainMod SHIFT, K, movewindow, d bind = $mainMod SHIFT, A, movewindow, l
bind = $mainMod SHIFT, H, movewindow, l bind = $mainMod SHIFT, S, movewindow, d
bind = $mainMod SHIFT, L, movewindow, r bind = $mainMod SHIFT, D, movewindow, r
bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod SHIFT, mouse:272, resizewindow bindm = $mainMod SHIFT, mouse:272, resizewindow
@@ -251,7 +279,7 @@ windowrulev2 = float, $cal
windowrulev2 = $scratchpadsize, $cal windowrulev2 = $scratchpadsize, $cal
windowrulev2 = workspace special silent, $cal windowrulev2 = workspace special silent, $cal
bind = $mainMod, N, exec, colorPrefix pypr toggle lf bind = $mainMod, semicolon, exec, colorPrefix pypr toggle lf
bind = $mainMod, E, exec, colorPrefix pypr toggle kitty bind = $mainMod, E, exec, colorPrefix pypr toggle kitty
bind = $mainMod, C, exec, colorPrefix pypr toggle calendar bind = $mainMod, C, exec, colorPrefix pypr toggle calendar

View File

@@ -19,23 +19,31 @@
(pkgs.writeShellScriptBin "randWallpaper" '' (pkgs.writeShellScriptBin "randWallpaper" ''
file=$(ls ${config.home.homeDirectory}/Pictures/Wallpaper/ | shuf -n 1) file=''$(ls ${config.home.homeDirectory}/Pictures/Wallpaper/ | shuf -n 1)
setWallpaper ${config.home.homeDirectory}/Pictures/Wallpaper/$file setWallpaper ${config.home.homeDirectory}/Pictures/Wallpaper/''$file
'') '')
(pkgs.writeShellScriptBin "setWallpaper" '' (pkgs.writeShellScriptBin "setWallpaper" ''
if [[ ! -d /tmp/nathan ]]; then if [[ ! -d /tmp/nathan ]]; then
mkdir /tmp/nathan mkdir /tmp/nathan
fi fi
if [[ ! -f /tmp/nathan/bg ]]; then img=''$(realpath ''${''$1:-${config.home.homeDirectory}/Pictures/Wallpaper/''$(${pkgs.eza}/bin/eza ${config.home.homeDirectory}/Pictures/Wallpaper -X | rofi -dmenu))}
cp ${config.home.homeDirectory}/Pictures/Wallpaper/bluescape.jpg /tmp/nathan/bg ext="''${''$(basename ''$img)\##*.}"
chmod 600 /tmp/nathan/bg
if [[ ''$ext == "gif" || ''$ext == "mp4" ]]; then
${pkgs.ffmpeg}/bin/ffmpeg -i ''$img -vframes 1 /tmp/nathan/tmp.jpg
${pkgs.swww}/bin/swww img /tmp/nathan/tmp.jpg -t wipe
sleep 0.3
hyprctl dispatch exec "${pkgs.mpvpaper}/bin/mpvpaper ALL ''$img -o loop"
else
hyprctl dispatch exec ${pkgs.swww}/bin/swww img ''$img -t wipe
fi fi
img=''$(realpath ''${1:-/tmp/nathan/bg})
hyprctl dispatch exec ${pkgs.swww}/bin/swww img ''$img -t random
${pkgs.hyprpanel}/bin/hyprpanel sw ''$img ${pkgs.hyprpanel}/bin/hyprpanel sw ''$img
changeColors ''$img ''$2 changeColors ''$img
'') '')
(pkgs.writeShellScriptBin "changeColors" '' (pkgs.writeShellScriptBin "changeColors" ''
@@ -44,43 +52,40 @@
mkdir /tmp/nathan mkdir /tmp/nathan
fi fi
if [[ ! -f /tmp/nathan/bg ]]; then if [[ -f /tmp/nathan/colorscheme && -z ''$1 ]]; then
cp ${config.home.homeDirectory}/Pictures/Wallpaper/bluescape.jpg /tmp/nathan/bg ${pkgs.pywal16}/bin/wal -f /tmp/nathan/colorscheme
chmod 600 /tmp/nathan/bg else
img=''$(realpath ''$1)
alpha=''${2:-70}
if [[ ''$alpha -lt 0 ]]; then
''$alpha=0
elif [[ ''$alpha -gt 100 ]]; then
''$alpha=100
fi
fi fi
if [[ ! -f /tmp/nathan/bga ]]; then if [[ -f "${config.home.homeDirectory}/.config/wal/colorschemes/''${''$(basename ''$img)}-''$alpha" ]]; then
echo 70 > /tmp/nathan/bga ${pkgs.pywal16}/bin/wal -f "${config.home.homeDirectory}/.config/wal/colorschemes/''${''$(basename ''$img)}-''$alpha"
else
${pkgs.pywal16}/bin/wal -i ''$img -a ''$alpha --cols16 -n -p "''${''$(basename ''$img)}-''$alpha"
fi fi
alpha=''${2:-`cat /tmp/nathan/bga`} cp "${config.home.homeDirectory}/.config/wal/colorschemes/''${''$(basename ''$img)}-''$alpha" /tmp/nathan/colorscheme
img=''$(realpath ''${1:-/tmp/nathan/bg})
if [[ $alpha -lt 0 ]]; then colorPrefix
$alpha=0
fi
if [[ $alpha -gt 100 ]]; then
$alpha=100
fi
${pkgs.pywal16}/bin/wal -i $img -a $alpha --cols16 -n
echo $alpha > /tmp/nathan/bga
cp $img /tmp/nathan/bg
sleep 0.4
${pkgs.pywalfox-native}/bin/pywalfox update &
[[ $(pidof cava) != "" ]] && pkill -USR1 cava &
for i in $(ls /run/user/1000 | grep nvim); do ${pkgs.neovim-remote}/bin/nvr -s --servername /run/user/1000/$i --remote-send '<cmd>colorscheme pywal<CR>'; done
pkill -USR1 kitty
'') '')
(pkgs.writeShellScriptBin "colorPrefix" ''
exec -a "$0" "$@" &
sleep 0.4
${pkgs.pywalfox-native}/bin/pywalfox update &
pkill -USR1 kitty
pidof cava && pkill -USR1 cava
for i in ''$(ls /run/user/1000 | grep nvim); do
${pkgs.neovim-remote}/bin/nvr -s --servername /run/user/1000/''$i --remote-send '<cmd>colorscheme pywal<CR>';
done
'')
(pkgs.writeShellScriptBin "onSystemStart" '' (pkgs.writeShellScriptBin "onSystemStart" ''
@@ -88,37 +93,24 @@
mkdir /tmp/nathan mkdir /tmp/nathan
fi fi
if [[ ! -f /tmp/nathan/bg ]]; then
cp ${config.home.homeDirectory}/Pictures/Wallpaper/bluescape.jpg /tmp/nathan/bg
chmod 600 /tmp/nathan/bg
fi
if [[ ! -f /tmp/nathan/bga ]]; then
echo 70 > /tmp/nathan/bga
fi
if [[ -f ${config.home.homeDirectory}/.local/share/calcurse/.calcurse.pid ]]; then if [[ -f ${config.home.homeDirectory}/.local/share/calcurse/.calcurse.pid ]]; then
rm ${config.home.homeDirectory}/.local/share/calcurse/.calcurse.pid rm ${config.home.homeDirectory}/.local/share/calcurse/.calcurse.pid
fi fi
hyprctl dispatch exec ${pkgs.swww}/bin/swww-daemon hyprctl --batch "\
hyprctl dispatch exec "setWallpaper /tmp/nathan/bg" dispatch exec ${pkgs.swww}/bin/swww-daemon\
dispatch exec setWallpaper /tmp/nathan/bg\
hyprctl dispatch exec ${pkgs.pyprland}/bin/pypr dispatch exec ${pkgs.pyprland}/bin/pypr\
hyprctl dispatch exec ${pkgs.netbird-ui}/bin/netbird-ui dispatch exec ${pkgs.netbird-ui}/bin/netbird-ui\
hyprctl dispatch exec ${pkgs.hyprpolkitagent}/libexec/hyprpolkitagent dispatch exec ${pkgs.hyprpolkitagent}/libexec/hyprpolkitagent\
hyprctl setcursor Bibata-Modern-Classic 16 setcursor Bibata-Modern-Classic 16"
sleep 3 sleep 3
hyprctl reload hyprctl reload
hyprctl dispatch exec ${pkgs.pyprland}/bin/pypr toggle calendar hyprctl dispatch exec ${pkgs.pyprland}/bin/pypr toggle calendar
#tmux new-session -s hyprland #tmux new-session -s hyprland
'') '')
(pkgs.writeShellScriptBin "colorPrefix" ''
exec -a "$0" "$@" &
sleep 0.4 && changeColors &
'')
] ++ (if config.homeconfig.standalone.enable then [ ] ++ (if config.homeconfig.standalone.enable then [
(pkgs.writeShellScriptBin "_homeRebuild" '' (pkgs.writeShellScriptBin "_homeRebuild" ''