{ config, lib, pkgs, ... }: let laptop = builtins.readFile "/etc/hostname" == "syl\n"; in { home.file.".config/hypr/hyprpaper.conf" = { source = if laptop then /home/chris/.dotfiles/.config/hypr/hyprpaper.conf else /home/chris/.dotfiles/.config/hypr/hyprpaper.conf; }; # home.file.".config/hypr/hyprsome" = { # source = if laptop then /home/chris/.dotfiles/.config/hypr/hyprsome else /home/chris/.dotfiles/.config/hypr/hyprsome; # }; home.file.".config/hypr/hyprland.conf" = { text = '' monitor=eDP-1,2256x1504@60,0x0,1.5 monitor=HDMI-A-1,preferred,0x0,1 monitor=DP-1,preferred,1080x0,1.5 monitor=DP-2,preferred,3640,1 workspace=1,monitor:eDP-1,1,default:true workspace=2,monitor:HDMI-A-1,2,default:true workspace=9,monitor:DP-2,9,gapsout:0,default:true workspace=1,monitor:DP-1,1,default:true monitor=HDMI-A-1,transform,1 input { # kb_layout= # kb_variant= # kb_model= # kb_options= # kb_rules= repeat_rate=140 repeat_delay=180 natural_scroll=0 sensitivity=0.75 accel_profile=adaptive follow_mouse=2 float_switch_override_focus=0 touchpad { natural_scroll=1 clickfinger_behavior=1 } } xwayland { use_nearest_neighbor = false # force_zero_scaling = true } general { max_fps=60 # deprecated, unused # main_mod=SUPER gaps_in=15 gaps_out=20 border_size=0 col.active_border=0x66ee1111 col.inactive_border=0x66333333 #damage_tracking=full # leave it on full unless you hate your GPU and want to make it suffer layout=master } gestures { workspace_swipe=true workspace_swipe_fingers=3 } decoration { rounding=18 # multisample_edges=true active_opacity=0.97 inactive_opacity=0.75 fullscreen_opacity=1.0 blur { enabled=true size=10 # minimum 1 passes=3 # minimum 1, more passes = more resource intensive. new_optimizations=true ignore_opacity=false special=false } drop_shadow=true shadow_range=15 shadow_offset=5 5 shadow_scale=0.99 shadow_render_power=1 col.shadow = rgba(000000cc) dim_inactive=true dim_strength=0.2 dim_special=0 } bezier=snapslide,0.07,0.66,0.04,1.02 animations { enabled=1 animation=windows,1,2,snapslide # animation=borders,1,10,default animation=fadeIn,1,2,snapslide animation=workspaces,1,2,snapslide animation=specialWorkspace,1,2,snapslide,slidevert } dwindle { pseudotile=0 # enable pseudotiling on dwindle } master { special_scale_factor=0.8 mfact=0.65 new_is_master=false new_on_top=false } # misc:disable_autoreload = true misc { focus_on_activate = true } # example window rules # for windows named/classed as abc and xyz windowrule=opaque,firefox windowrule=float,dolphin windowrule=size 60% 60%,dolphin ${if laptop then "# this is a kaladin space" else "windowrule=workspace 1,mpv"} windowrule=float,mpv windowrule=size ${if laptop then "90% 76%" else "85% 85%"},mpv windowrule=center,mpv windowrule=opaque,mpv # windowrule=pin,mpv windowrule=float,pulsemixer windowrule=workspace ${if laptop then "2" else "1"},firefox windowrule=workspace ${if laptop then "1" else "2"},emacs windowrule=float,btop windowrule=size 70% 70%,btop windowrule=center,btop windowrule=float,lumina windowrule=size 80% 80%,lumina windowrule=center,lumina windowrule=workspace ${if laptop then "1" else "3"},title:presentation-window # example binds bind = SUPER,RETURN,exec,alacritty bind = SUPER,C,killactive, bind = SUPERSHIFT,Q,exit, bind = SUPERSHIFT,D,exec,dolphin bind = SUPERSHIFT,F,togglefloating, bindr = SUPER,Super_L,exec,/home/chris/bin/launcher.sh bindr = ALT,Alt_R,exec,/home/chris/bin/window.sh bind = SUPER,w,exec,/home/chris/bin/window.sh bind = SUPER,E,exec,/home/chris/bin/emacslof bind = SUPER,d,exec,emacsclient -c -e '(dired-jump)' bind = SUPER,v,exec,emacsclient -e '(chris/dired-open-videos)' bind = SUPER,B,exec,/home/chris/bin/fflof bind = SUPER,A,exec,alacritty --class pulsemixer -e pulsemixer bind = SUPERCTRL,i,exec,alacritty --class btop -e btm bind = ,Print,exec,screenshot bind = SUPER,P,exec,/home/chris/bin/rbw.sh bind = SUPER,M,fullscreen,1 bind = SUPER,F,fullscreen,0 bind = SUPER,h,movefocus,l bind = SUPER,l,movefocus,r bind = SUPER,k,layoutmsg,cycleprev bind = SUPER,j,layoutmsg,cyclenext bind = SUPERSHIFT,h,movewindow,l bind = SUPERSHIFT,l,movewindow,r bind = SUPERSHIFT,k,layoutmsg,swapprev bind = SUPERSHIFT,j,layoutmsg,swapnext bind = SUPERCTRL,l,splitratio,+0.05 bind = SUPERCTRL,h,splitratio,-0.05 bind = SUPERSHIFT,c,centerwindow bind = ALTCTRL,l,moveintogroup,right bind = ALTCTRL,h,moveintogroup,left bind = ALTCTRL,k,moveintogroup,up bind = ALTCTRL,j,moveintogroup,down bind = SUPERALT,g,togglegroup bind = SUPER,1,workspace,1 bind = SUPER,2,workspace,2 bind = SUPER,3,workspace,3 bind = SUPER,4,workspace,4 bind = SUPER,5,workspace,5 bind = SUPER,6,workspace,6 bind = SUPER,7,workspace,7 bind = SUPER,8,workspace,8 bind = SUPER,9,workspace,9 bind = SUPER,0,workspace,10 bind = SUPERALT,l,workspace,m+1 bind = SUPERALT,h,workspace,m-1 bind = SUPERSHIFT,1,movetoworkspace,1 bind = SUPERSHIFT,2,movetoworkspace,2 bind = SUPERSHIFT,3,movetoworkspace,3 bind = SUPERSHIFT,4,movetoworkspace,4 bind = SUPERSHIFT,5,movetoworkspace,5 bind = SUPERSHIFT,6,movetoworkspace,6 bind = SUPERSHIFT,7,movetoworkspace,7 bind = SUPERSHIFT,8,movetoworkspace,8 bind = SUPERSHIFT,9,movetoworkspace,9 bind = SUPERSHIFT,0,movetoworkspace,10 bind = SUPER,o,movewindow,mon:l bind = SUPER,y,togglespecialworkspace bind = SUPER,i,movewindow,left bind = SUPERSHIFT,p,pin bind = SUPER,n,movetoworkspace,special bind = SUPERALT,a,movetoworkspace,special:agenda bind = SUPER,g,togglespecialworkspace,agenda binde = , XF86AudioMute, exec, pamixer -t binde = , XF86AudioRaiseVolume, exec, /home/chris/bin/volup binde = , XF86AudioLowerVolume, exec, /home/chris/bin/voldown binde = ,F1, exec, pamixer -t binde = ,F3, exec, /home/chris/bin/volup binde = ,F2, exec, /home/chris/bin/voldown binde = , XF86MonBrightnessUp, exec, brightnessctl s +10% binde = , XF86MonBrightnessDown, exec, brightnessctl s 10%- bind=SUPERSHIFT,g,exec,eww.sh bind=SUPERALT,n,exec,eww update rightside=true bindm=SUPER,mouse:272,movewindow bindm=SUPER,mouse:273,resizewindow # Blur waybar # blurls=gtk-layer-shell # blurls=notifications exec-once = swww init exec-once = dunst exec-once = /home/chris/bin/startup.sh exec-once = hyprctl dispatch --batch "splitratio 1; splitration -0.35" exec-once = dbus-update-activation-environment --systemd --all exec-once = jellyfin-mpv-shim exec-once = hyprctl setcursor phinger-cursors-light 24 exec-once = swayidle -w timeout 300 'swaylock -S --effect-blur 20x3 --fade-in 1 --effect-vignette 0.5:1 --grace 60' timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' before-sleep 'swaylock -S --effect-blur 20x3 --effect-vignette 0.5:1' exec-once = eww open ${if laptop then "bar0" else "bar1"} exec-once = sleep 3 && swww img /home/chris/pics/wallpapers/nixorange.webp -t grow --transition-bezier .14,0,.14,.99 ''; }; }