513 lines
17 KiB
Nix
513 lines
17 KiB
Nix
{ 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;
|
|
# };
|
|
|
|
wayland.windowManager.hyprland = {
|
|
enable = true;
|
|
settings = {
|
|
monitor = [
|
|
"eDP-1,2256x1504@60,0x0,1.566667"
|
|
HDMI-A-1,preferred,0x0,1
|
|
DP-1,preferred,1080x0,1.5
|
|
DP-2,preferred,3640,1
|
|
HDMI-A-1,transform,1
|
|
];
|
|
workspace = [
|
|
1,monitor:eDP-1,1,default:true
|
|
2,monitor:HDMI-A-1,2,default:true
|
|
9,monitor:DP-2,9,gapsout:0,default:true
|
|
1,monitor:DP-1,1,default:true
|
|
special,monitor:DP-1,1,default:true
|
|
];
|
|
input = {
|
|
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;
|
|
};
|
|
};
|
|
|
|
general = {
|
|
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;
|
|
no_cursor_warps = false;
|
|
};
|
|
|
|
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;
|
|
mouse_move_enables_dpms = true;
|
|
key_press_enables_dpms = true;
|
|
disable_hyprland_logo = true;
|
|
};
|
|
|
|
# example window rules
|
|
# for windows named/classed as abc and xyz
|
|
windowrule = opaque,firefox;
|
|
windowrule = float,dolphin;
|
|
windowrule = float,nm-tray;
|
|
windowrule = size 60% 60%,dolphin;
|
|
${if !laptop then 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,cliphist list | rofi -p " " -dmenu -theme ~/.config/rofi/launchers-git/laptop-rbw-wayland.rasi | cliphist decode | wl-copy;
|
|
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 = SUPERSHIFT,mouse_down,exec,zoomin in;
|
|
bind = SUPERSHIFT,mouse_up,exec,zoomin out;
|
|
|
|
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,waybar.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 = kwalletd5;
|
|
exec-once = swww init;
|
|
exec-once = waybar;
|
|
exec-once = dunst;
|
|
exec-once = rbw-agent;
|
|
# 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 = batmon.lisp;
|
|
exec-once = /usr/lib/kdeconnectd;
|
|
exec-once = nm-tray;
|
|
exec-once = systemctl --user restart jellyfin-mpv-shim;
|
|
exec-once = systemctl --user restart emacs;
|
|
exec-once = systemctl --user stop nextcloud-client;
|
|
exec-once = nextcloud;
|
|
exec-once = kdeconnect-indicator;
|
|
exec-once = wl-paste --watch cliphist store;
|
|
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 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' before-sleep 'swaylock -S --effect-blur 20x3 --effect-vignette 0.5:1';
|
|
exec-once = sleep 3 && swww img /home/chris/pics/wallpapers/nixorange.jpeg -t grow --transition-bezier .14,0,.14,.99;
|
|
};
|
|
};
|
|
|
|
# home.file.".config/hypr/hyprland.conf" = {
|
|
# text = ''
|
|
# monitor=eDP-1,2256x1504@60,0x0,1.566667
|
|
# 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
|
|
# workspace=special,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 {
|
|
# # 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
|
|
# no_cursor_warps=false
|
|
# }
|
|
|
|
# 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
|
|
# mouse_move_enables_dpms = true
|
|
# key_press_enables_dpms = true
|
|
# disable_hyprland_logo = true
|
|
# }
|
|
|
|
# # example window rules
|
|
# # for windows named/classed as abc and xyz
|
|
# windowrule=opaque,firefox
|
|
# windowrule=float,dolphin
|
|
# windowrule=float,nm-tray
|
|
# 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,cliphist list | rofi -p " " -dmenu -theme ~/.config/rofi/launchers-git/laptop-rbw-wayland.rasi | cliphist decode | wl-copy
|
|
# 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 = SUPERSHIFT,mouse_down,exec,zoomin in
|
|
# bind = SUPERSHIFT,mouse_up,exec,zoomin out
|
|
|
|
# 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,waybar.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 = kwalletd5
|
|
# exec-once = swww init
|
|
# exec-once = waybar
|
|
# exec-once = dunst
|
|
# exec-once = rbw-agent
|
|
# # 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 = batmon.lisp
|
|
# exec-once = /usr/lib/kdeconnectd
|
|
# exec-once = nm-tray
|
|
# exec-once = systemctl --user restart jellyfin-mpv-shim
|
|
# exec-once = systemctl --user restart emacs
|
|
# exec-once = systemctl --user stop nextcloud-client
|
|
# exec-once = nextcloud
|
|
# exec-once = kdeconnect-indicator
|
|
# exec-once = wl-paste --watch cliphist store
|
|
# 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 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' before-sleep 'swaylock -S --effect-blur 20x3 --effect-vignette 0.5:1'
|
|
# exec-once = sleep 3 && swww img /home/chris/pics/wallpapers/nixorange.jpeg -t grow --transition-bezier .14,0,.14,.99
|
|
# '';
|
|
# };
|
|
}
|