authorgravatar for nmarks413@gmail.comNatalie Marks <nmarks413@gmail.com> 2025-10-29 20:34:07-07:00
committergravatar for nmarks413@gmail.comNatalie Marks <nmarks413@gmail.com> 2025-10-29 20:34:07-07:00
log36e4e6ca3f07e272adc9d2e19f6d350abce70737
tree4843d1da738f2ecde08ed2b14a432fd4221e2087
parente05f1a7805da3c9821ab73276e873e55148061be
signature Commit is signed but in an unrecognized format.

feat: add barebones hyprland config


12 files changed, 630 insertions(+), 1 deletions(-)

modules/nixos/services.nix+17
......@@ -22,6 +22,23 @@
2222 };
2323 };
2424
25 gvfs.enable = true;
26
27 gnome = {
28 tinysparql.enable = true;
29 gnome-keyring.enable = true;
30 };
31
32 fstrim.enable = true;
33
34 dbus = {
35 enable = true;
36 packages = [
37 pkgs.gcr
38 pkgs.gnome-settings-daemon
39 ];
40 };
41
2542 # Auto mount devices
2643 udisks2 = {
2744 enable = true;
users/natalie/desktop/configuration.nix+23-1
......@@ -35,7 +35,19 @@
3535
3636 steam = {
3737 enable = true;
38 package = with pkgs; steam.override { extraPkgs = pkgs: [ attr ]; };
38 remotePlay.openFirewall = true;
39
40 gamescopeSession.enable = true;
41 extraCompatPackages = [ pkgs.proton-ge-bin ];
42 };
43
44 gamescope = {
45 enable = true;
46 capSysNice = true;
47 args = [
48 "--rt"
49 "--expose-wayland"
50 ];
3951 };
4052
4153 git = {
......@@ -60,6 +72,15 @@
6072
6173 xdg.portal = {
6274 enable = true;
75 xdgOpenUsePortal = true;
76 config = {
77 common.default = [ "gtk" ];
78 hyprland.default = [
79 "gtk"
80 "hyprland"
81 ];
82 };
83
6384 extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
6485 };
6586 virtualisation = {
......@@ -85,6 +106,7 @@
85106 hibernate.enable = false;
86107 hybrid-sleep.enable = false;
87108 };
109 settings.Manager.DefaultTimeoutStopSec = "10s";
88110
89111 services.monitord.wantedBy = [ "multi-user.target" ];
90112 };
users/natalie/home/default.nix+1
......@@ -2,5 +2,6 @@
22{
33 imports = [
44 ./tmux.nix
5 ./hyprland
56 ];
67}
users/natalie/home/hyprland/binds.nix created+154
......@@ -0,0 +1,154 @@
1{ ... }:
2{
3 wayland.windowManager.hyprland.settings = {
4 binds = {
5 movefocus_cycles_fullscreen = true;
6 };
7
8 bind = [
9 # show keybinds list
10 "$mainMod, F1, exec, show-keybinds"
11
12 # keybindings
13 "$mainMod, Return, exec, ghostty --gtk-single-instance=true"
14 "$mainMod, P, pseudo,"
15 "$mainMod, C, killactive,"
16 "$mainMod, M, exit, "
17 "$mainMod, E, exec, $fileManager"
18 "$mainMod, V, togglefloating,"
19 "$mainMod, R, exec, $menu "
20 "$mainMod, J, togglesplit "
21 # "ALT, Return, exec, [float; size 1111 700] ghostty"
22 # "$mainMod SHIFT, Return, exec, [fullscreen] ghostty"
23 # "$mainMod, B, exec, [workspace 1 silent] zen-beta"
24 # "$mainMod, Q, killactive,"
25 # "$mainMod, F, fullscreen, 0"
26 # "$mainMod SHIFT, F, fullscreen, 1"
27 # "$mainMod, Space, exec, toggle-float"
28 # "$mainMod, D, exec, vicinae vicinae://toggle"
29 # "$mainMod SHIFT, D, exec, webcord --enable-features=UseOzonePlatform --ozone-platform=wayland"
30 # "$mainMod SHIFT, S, exec, hyprctl dispatch exec '[workspace 5 silent] SoundWireServer'"
31 # "$mainMod, Escape, exec, swaylock"
32 # "ALT, Escape, exec, hyprlock"
33 # "$mainMod SHIFT, Escape, exec, power-menu"
34 # "$mainMod, X, togglesplit,"
35 # "$mainMod, T, exec, toggle-oppacity"
36 # "$mainMod, E, exec, nemo"
37 # "ALT, E, exec, hyprctl dispatch exec '[float; size 1111 700] nemo'"
38 # "$mainMod SHIFT, B, exec, toggle-waybar"
39 # "$mainMod, C ,exec, hyprpicker -a"
40 # "$mainMod, W,exec, wallpaper-picker"
41 # "$mainMod SHIFT, W,exec, hyprctl dispatch exec '[float; size 925 615] waypaper'"
42 # "$mainMod, N, exec, swaync-client -t -sw"
43 # "CTRL SHIFT, Escape, exec, hyprctl dispatch exec '[workspace 9] missioncenter'"
44 # "$mainMod, equal, exec, woomer"
45 # "$mainMod SHIFT, W, exec, vm-start"
46
47 # screenshot
48 ",Print, exec, screenshot --copy"
49 "$mainMod, Print, exec, screenshot --save"
50 "$mainMod SHIFT, Print, exec, screenshot --swappy"
51
52 # switch focus
53 "$mainMod, left, movefocus, l"
54 "$mainMod, right, movefocus, r"
55 "$mainMod, up, movefocus, u"
56 "$mainMod, down, movefocus, d"
57 "$mainMod, h, movefocus, l"
58 "$mainMod, j, movefocus, d"
59 "$mainMod, k, movefocus, u"
60 "$mainMod, l, movefocus, r"
61
62 "$mainMod, left, alterzorder, top"
63 "$mainMod, right, alterzorder, top"
64 "$mainMod, up, alterzorder, top"
65 "$mainMod, down, alterzorder, top"
66 "$mainMod, h, alterzorder, top"
67 "$mainMod, j, alterzorder, top"
68 "$mainMod, k, alterzorder, top"
69 "$mainMod, l, alterzorder, top"
70
71 "CTRL ALT, up, exec, hyprctl dispatch focuswindow floating"
72 "CTRL ALT, down, exec, hyprctl dispatch focuswindow tiled"
73
74 # switch workspace
75 "$mainMod, 1, workspace, 1"
76 "$mainMod, 2, workspace, 2"
77 "$mainMod, 3, workspace, 3"
78 "$mainMod, 4, workspace, 4"
79 "$mainMod, 5, workspace, 5"
80 "$mainMod, 6, workspace, 6"
81 "$mainMod, 7, workspace, 7"
82 "$mainMod, 8, workspace, 8"
83 "$mainMod, 9, workspace, 9"
84 "$mainMod, 0, workspace, 10"
85
86 # same as above, but switch to the workspace
87 "$mainMod SHIFT, 1, movetoworkspacesilent, 1" # movetoworkspacesilent
88 "$mainMod SHIFT, 2, movetoworkspacesilent, 2"
89 "$mainMod SHIFT, 3, movetoworkspacesilent, 3"
90 "$mainMod SHIFT, 4, movetoworkspacesilent, 4"
91 "$mainMod SHIFT, 5, movetoworkspacesilent, 5"
92 "$mainMod SHIFT, 6, movetoworkspacesilent, 6"
93 "$mainMod SHIFT, 7, movetoworkspacesilent, 7"
94 "$mainMod SHIFT, 8, movetoworkspacesilent, 8"
95 "$mainMod SHIFT, 9, movetoworkspacesilent, 9"
96 "$mainMod SHIFT, 0, movetoworkspacesilent, 10"
97 "$mainMod CTRL, c, movetoworkspace, empty"
98
99 # window control
100 "$mainMod SHIFT, left, movewindow, l"
101 "$mainMod SHIFT, right, movewindow, r"
102 "$mainMod SHIFT, up, movewindow, u"
103 "$mainMod SHIFT, down, movewindow, d"
104 "$mainMod SHIFT, h, movewindow, l"
105 "$mainMod SHIFT, j, movewindow, d"
106 "$mainMod SHIFT, k, movewindow, u"
107 "$mainMod SHIFT, l, movewindow, r"
108
109 "$mainMod CTRL, left, resizeactive, -80 0"
110 "$mainMod CTRL, right, resizeactive, 80 0"
111 "$mainMod CTRL, up, resizeactive, 0 -80"
112 "$mainMod CTRL, down, resizeactive, 0 80"
113 "$mainMod CTRL, h, resizeactive, -80 0"
114 "$mainMod CTRL, j, resizeactive, 0 80"
115 "$mainMod CTRL, k, resizeactive, 0 -80"
116 "$mainMod CTRL, l, resizeactive, 80 0"
117
118 "$mainMod ALT, left, moveactive, -80 0"
119 "$mainMod ALT, right, moveactive, 80 0"
120 "$mainMod ALT, up, moveactive, 0 -80"
121 "$mainMod ALT, down, moveactive, 0 80"
122 "$mainMod ALT, h, moveactive, -80 0"
123 "$mainMod ALT, j, moveactive, 0 80"
124 "$mainMod ALT, k, moveactive, 0 -80"
125 "$mainMod ALT, l, moveactive, 80 0"
126
127 # media and volume controls
128 # ",XF86AudioMute,exec, pamixer -t"
129 ",XF86AudioPlay,exec, playerctl play-pause"
130 ",XF86AudioNext,exec, playerctl next"
131 ",XF86AudioPrev,exec, playerctl previous"
132 ",XF86AudioStop,exec, playerctl stop"
133
134 "$mainMod, mouse_down, workspace, e-1"
135 "$mainMod, mouse_up, workspace, e+1"
136
137 # clipboard manager
138 "$mainMod, V, exec, vicinae vicinae://extensions/vicinae/clipboard/history"
139 ];
140
141 bindel = [
142 ",XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"
143 ",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
144 ",XF86AudioMute, exec, pctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
145 ",XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
146 ];
147
148 # mouse binding
149 bindm = [
150 "$mainMod, mouse:272, movewindow"
151 "$mainMod, mouse:273, resizewindow"
152 ];
153 };
154}
users/natalie/home/hyprland/default.nix created+13
......@@ -0,0 +1,13 @@
1{ ... }:
2{
3 imports = [
4 ./hyprland.nix
5 ./exec-once.nix
6 ./monitors.nix
7 ./settings.nix
8 ./binds.nix
9 # ./windowrules.nix
10 ./hyprlock.nix
11 # ./variables.nix
12 ];
13}
users/natalie/home/hyprland/exec-once.nix created+25
......@@ -0,0 +1,25 @@
1{ ... }:
2{
3 wayland.windowManager.hyprland.settings.exec-once = [
4 # "hash dbus-update-activation-environment 2>/dev/null"
5 "dbus-update-activation-environment --all --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
6 "systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
7
8 "hyprlock"
9
10 # "nm-applet &"
11 # "poweralertd &"
12 # "wl-clip-persist --clipboard both &"
13 # "wl-paste --watch cliphist store &"
14 # "waybar &"
15 # "swaync &"
16 # "vicinae server &"
17 # "udiskie --automount --notify --smart-tray &"
18 # "hyprctl setcursor Bibata-Modern-Ice 24 &"
19 # "init-wallpaper &"
20 #
21 # "ghostty --gtk-single-instance=true --quit-after-last-window-closed=false --initial-window=false"
22 # "[workspace 1 silent] zen-beta"
23 # "[workspace 2 silent] ghostty"
24 ];
25}
users/natalie/home/hyprland/hyprland.nix created+30
......@@ -0,0 +1,30 @@
1{ pkgs, ... }:
2{
3 home.packages = with pkgs; [
4 swww
5 grimblast
6 hyprpicker
7 grim
8 slurp
9 wl-clip-persist
10 cliphist
11 wf-recorder
12 glib
13 wayland
14 direnv
15 playerctl
16 ];
17 systemd.user.targets.hyprland-session.Unit.Wants = [
18 "xdg-desktop-autostart.target"
19 ];
20 wayland.windowManager.hyprland = {
21 enable = true;
22 package = null;
23 portalPackage = null;
24
25 xwayland = {
26 enable = true;
27 };
28 systemd.enable = true;
29 };
30}
users/natalie/home/hyprland/hyprlock.nix created+112
......@@ -0,0 +1,112 @@
1{ ... }:
2{
3 programs.hyprlock = {
4 enable = true;
5
6 settings = {
7 general = {
8 hide_cursor = true;
9 ignore_empty_input = true;
10 fractional_scaling = 0;
11 };
12
13 background = [
14 {
15 color = "rgba(29, 32, 33, 255)";
16 blur_passes = 2;
17 vibrancy_darkness = 0.0;
18 }
19 ];
20 #
21 # shape = [
22 # # User box
23 # {
24 # size = "300, 50";
25 #
26 # rounding = 0;
27 # border_size = 2;
28 # color = "rgba(102, 92, 84, 0.33)";
29 # border_color = "rgba(168, 153, 132, 0.95)";
30 #
31 # position = "0, ${if host == "laptop" then "120" else "270"}";
32 # halign = "center";
33 # valign = "bottom";
34 # }
35 # ];
36 #
37 # label = [
38 # # Time
39 # {
40 # text = ''cmd[update:1000] echo "$(date +'%k:%M')"'';
41 #
42 # font_size = 115;
43 # font_family = "Maple Mono Bold";
44 #
45 # shadow_passes = 3;
46 # color = "rgba(235, 219, 178, 0.9)";
47 #
48 # position = "0, ${if host == "laptop" then "-25" else "-150"}";
49 # halign = "center";
50 # valign = "top";
51 # }
52 # # Date
53 # {
54 # text = ''cmd[update:1000] echo "- $(date +'%A, %B %d') -" '';
55 #
56 # font_size = 18;
57 # font_family = "Maple Mono";
58 #
59 # shadow_passes = 3;
60 # color = "rgba(235, 219, 178, 0.9)";
61 #
62 # position = "0, ${if host == "laptop" then "-225" else "-350"}";
63 # halign = "center";
64 # valign = "top";
65 # }
66 # # Username
67 # {
68 # text = " $USER";
69 #
70 # font_size = 15;
71 # font_family = "Maple Mono Bold";
72 #
73 # color = "rgba(235, 219, 178, 1)";
74 #
75 # position = "0, ${if host == "laptop" then "134" else "284"}";
76 # halign = "center";
77 # valign = "bottom";
78 # }
79 # ];
80 #
81 # input-field = [
82 # {
83 # size = "300, 50";
84 # rounding = 0;
85 # outline_thickness = 2;
86 #
87 # dots_spacing = 0.4;
88 #
89 # font_color = "rgba(235, 219, 178, 0.9)";
90 # font_family = "Maple Mono Bold";
91 #
92 # outer_color = "rgba(168, 153, 132, 0.95)";
93 # inner_color = "rgba(102, 92, 84, 0.33)";
94 # check_color = "rgba(152, 151, 26, 0.95)";
95 # fail_color = "rgba(204, 36, 29, 0.95)";
96 # capslock_color = "rgba(215, 153, 33, 0.95)";
97 # bothlock_color = "rgba(215, 153, 33, 0.95)";
98 #
99 # hide_input = false;
100 # fade_on_empty = false;
101 # placeholder_text = ''<i><span foreground="##fbf1c7">Enter Password</span></i>'';
102 #
103 # position = "0, ${if host == "laptop" then "50" else "200"}";
104 # halign = "center";
105 # valign = "bottom";
106 # }
107 # ];
108 #
109 # animation = [ "inputFieldColors, 0" ];
110 };
111 };
112}
users/natalie/home/hyprland/monitors.nix created+15
......@@ -0,0 +1,15 @@
1{ pkgs, ... }:
2{
3 wayland.windowManager.hyprland = {
4 settings.monitor = [ ",preferred,auto,auto" ];
5
6 extraConfig = ''
7 # hyprlang noerror true
8 source = ~/.config/hypr/monitors.conf
9 source = ~/.config/hypr/workspaces.conf
10 # hyprlang noerror false
11 '';
12 };
13
14 home.packages = with pkgs; [ nwg-displays ];
15}
users/natalie/home/hyprland/settings.nix created+120
......@@ -0,0 +1,120 @@
1{ ... }:
2{
3 wayland.windowManager.hyprland.settings = {
4 # see: https://wiki.hypr.land/Configuring/Variables/#input
5 input = {
6 kb_layout = "us";
7 repeat_delay = 300;
8 follow_mouse = 1;
9 };
10 # https://wiki.hypr.land/Configuring/Variables/#general
11 general = {
12 "$mainMod" = "SUPER";
13 layout = "dwindle";
14 no_border_on_floating = false;
15
16 };
17 # https://wiki.hypr.land/Configuring/Variables/#misc
18 misc = {
19 disable_hyprland_logo = true;
20 always_follow_on_dnd = true;
21 layers_hog_keyboard_focus = true;
22 animate_manual_resizes = false;
23 enable_swallow = true;
24 swallow_regex = "^(ghostty)$";
25 focus_on_activate = true;
26 new_window_takes_over_fullscreen = 2;
27 middle_click_paste = false;
28 };
29
30 # https://wiki.hypr.land/Configuring/Dwindle-Layout/
31 dwindle = {
32 psuedotile = false;
33 force_split = 2;
34 preserve_split = true;
35 };
36 # https://wiki.hypr.land/Configuring/Variables/#decoration
37 decoration = {
38 rounding = 0;
39 rounding_power = 2.0;
40 active_opacity = 1.0;
41 inactive_opacity = 1.0;
42 fullscreen_opacity = 1.0;
43 dim_modal = true;
44 dim_inactive = false;
45 dim_strength = 0.5;
46 dim_special = 0.2;
47 dim_around = 0.4;
48 screen_shader = "";
49 border_part_of_window = true;
50 blur = {
51 enabled = true;
52 size = 8;
53 passes = 1;
54 brightness = 0.8172;
55 contrast = 0.8916;
56 ignore_opacity = true;
57 noise = 0.0117;
58 new_optimizations = true;
59 xray = true;
60 vibrancy = 0.1696;
61 vibrancy_darkness = 0.0;
62 special = false;
63 popups = false;
64 popups_ignorealpha = 0.2;
65 input_methods = false;
66 input_methods_ignorealpha = 0.2;
67 };
68
69 shadow = {
70 enabled = true;
71 range = 4;
72 render_power = 3;
73 sharp = false;
74 ignore_window = true;
75 color = "0xee1a1a1a";
76 offset = "0 2";
77 scale = 1.0;
78 };
79
80 };
81 # https://wiki.hypr.land/Configuring/Animations/
82 animations = {
83 enabled = true;
84
85 bezier = [
86 "easeOutQuint, 0.23, 1, 0.32, 1"
87 "easeInOutCubic, 0.65, 0.05, 0.36, 1"
88 "linear, 0, 0, 1, 1"
89 "almostLinear, 0.5, 0.5, 0.75, 1"
90 "quick, 0.15, 0, 0.1, 1"
91 ];
92
93 animation = [
94 "global, 1, 10, default"
95 "border, 1, 5.39, easeOutQuint"
96 "windows, 1, 4.79, easeOutQuint"
97 "windowsIn, 1, 4.1, easeOutQuint, popin 87%"
98 "windowsOut, 1, 1.49, linear, popin 87%"
99 "fadeIn, 1, 1.73, almostLinear"
100 "fadeOut, 1, 1.46, almostLinear"
101 "fade, 1, 3.03, quick"
102 "layers, 1, 3.81, easeOutQuint"
103 "layersIn, 1, 4, easeOutQuint, fade"
104 "layersOut, 1, 1.5, linear, fade"
105 "fadeLayersIn, 1, 1.79, almostLinear"
106 "fadeLayersOut, 1, 1.39, almostLinear"
107 "workspaces, 1, 1.94, almostLinear, fade"
108 "workspacesIn, 1, 1.21, almostLinear, fade"
109 "workspacesOut, 1, 1.94, almostLinear, fade"
110 "zoomFactor, 1, 7, quick"
111 ];
112
113 };
114 # https://wiki.hypr.land/Configuring/XWayland/
115 xwayland = {
116 force_zero_scaling = true;
117 };
118 };
119
120}
users/natalie/home/hyprland/variables.nix created+29
......@@ -0,0 +1,29 @@
1{ ... }:
2{
3 home.sessionVariables = {
4 NIXOS_OZONE_WL = 1;
5 __GL_GSYNC_ALLOWED = 0;
6 __GL_VRR_ALLOWED = 0;
7 # SSH_AUTH_SOCK = "/run/user/1000/ssh-agent";
8 DISABLE_QT5_COMPAT = 0;
9 GDK_BACKEND = "wayland";
10 # ANKI_WAYLAND = 1;
11 WLR_DRM_NO_ATOMIC = 1;
12 # QT_AUTO_SCREEN_SCALE_FACTOR = 1;
13 # QT_WAYLAND_DISABLE_WINDOWDECORATION = 1;
14 QT_QPA_PLATFORM = "wayland";
15 QT_QPA_PLATFORMTHEME = "qt5ct";
16 # QT_STYLE_OVERRIDE = "kvantum";
17 MOZ_ENABLE_WAYLAND = 1;
18 WLR_BACKEND = "vulkan";
19 WLR_RENDERER = "vulkan";
20 WLR_NO_HARDWARE_CURSORS = 1;
21 XDG_CURRENT_DESKTOP = "Hyprland";
22 XDG_SESSION_TYPE = "wayland";
23 XDG_SESSION_DESKTOP = "Hyprland";
24 SDL_VIDEODRIVER = "wayland";
25 CLUTTER_BACKEND = "wayland";
26 # GTK_THEME = "Colloid-Green-Dark-Gruvbox";
27 # GRIMBLAST_HIDE_CURSOR = 0;
28 };
29}
users/natalie/home/hyprland/windowrules.nix created+91
......@@ -0,0 +1,91 @@
1{ ... }:
2{
3 wayland.windowManager.hyprland.settings = {
4 # https://wiki.hypr.land/Configuring/Window-Rules/#layer-rules
5 windowrule = [
6 "float,class:^(mpv)$"
7 "pin,class:^(rofi)$"
8 "pin,class:^(waypaper)$"
9 "float,title:^(Volume Control)$"
10
11 # "float,title:^(Firefox — Sharing Indicator)$"
12 # "move 0 0,title:^(Firefox — Sharing Indicator)$"
13 # "size 700 450,title:^(Volume Control)$"
14 # "move 40 55%,title:^(Volume Control)$"
15 #"float, title:^(Picture-in-Picture)$"
16 # "opacity 1.0 override 1.0 override, title:^(Picture-in-Picture)$"
17 # "pin, title:^(Picture-in-Picture)$"
18 # "opacity 1.0 override 1.0 override, title:^(.*imv.*)$"
19 # "opacity 1.0 override 1.0 override, title:^(.*mpv.*)$"
20 # "opacity 1.0 override 1.0 override, class:(Aseprite)"
21 # "opacity 1.0 override 1.0 override, class:(Unity)"
22 # "opacity 1.0 override 1.0 override, class:(zen)"
23 # "opacity 1.0 override 1.0 override, class:(evince)"
24 # "workspace 1, class:^(zen-beta)$"
25 # "workspace 3, class:^(evince)$"
26 # "workspace 4, class:^(Gimp-2.10)$"
27 # "workspace 4, class:^(Aseprite)$"
28 # "workspace 5, class:^(Audacious)$"
29 # "workspace 5, class:^(Spotify)$"
30 # "workspace 8, class:^(com.obsproject.Studio)$"
31 # "workspace 10, class:^(discord)$"
32 # "workspace 10, class:^(WebCord)$"
33 # "idleinhibit focus, class:^(mpv)$"
34 # "idleinhibit fullscreen, class:^(firefox)$"
35 # "float,class:^(org.gnome.Calculator)$"
36 # "float,class:^(waypaper)$"
37 # "float,class:^(zenity)$"
38 # "size 850 500,class:^(zenity)$"
39 # "size 725 330,class:^(SoundWireServer)$"
40 # "float,class:^(org.gnome.FileRoller)$"
41 # "float,class:^(org.pulseaudio.pavucontrol)$"
42 # "float,class:^(SoundWireServer)$"
43 # "float,class:^(.sameboy-wrapped)$"
44 # "float,class:^(file_progress)$"
45 # "float,class:^(confirm)$"
46 # "float,class:^(dialog)$"
47 # "float,class:^(download)$"
48 # "float,class:^(notification)$"
49 # "float,class:^(error)$"
50 # "float,class:^(confirmreset)$"
51 # "float,title:^(Open File)$"
52 # "float,title:^(File Upload)$"
53 # "float,title:^(branchdialog)$"
54 # "float,title:^(Confirm to replace files)$"
55 # "float,title:^(File Operation Progress)$"
56 #
57 # "opacity 0.0 override,class:^(xwaylandvideobridge)$"
58 # "noanim,class:^(xwaylandvideobridge)$"
59 # "noinitialfocus,class:^(xwaylandvideobridge)$"
60 # "maxsize 1 1,class:^(xwaylandvideobridge)$"
61 # "noblur,class:^(xwaylandvideobridge)$"
62 #
63 # # No gaps when only
64 # "bordersize 0, floating:0, onworkspace:w[t1]"
65 # "rounding 0, floating:0, onworkspace:w[t1]"
66 # "bordersize 0, floating:0, onworkspace:w[tg1]"
67 # "rounding 0, floating:0, onworkspace:w[tg1]"
68 # "bordersize 0, floating:0, onworkspace:f[1]"
69 # "rounding 0, floating:0, onworkspace:f[1]"
70 # Remove context menu transparency in chromium based apps
71 # "opaque,class:^()$,title:^()$"
72 # "noshadow,class:^()$,title:^()$"
73 # "noblur,class:^()$,title:^()$"
74 ];
75
76 # https://wiki.hypr.land/Configuring/Window-Rules/#layer-rules
77 layerrule = [
78 "dimaround, vicinae"
79 "dimaround, rofi"
80 "dimaround, swaync-control-center"
81 ];
82
83 # https://wiki.hypr.land/Configuring/Workspace-Rules/
84 # No gaps when only
85 workspace = [
86 "w[t1], gapsout:0, gapsin:0"
87 "w[tg1], gapsout:0, gapsin:0"
88 "f[1], gapsout:0, gapsin:0"
89 ];
90 };
91}