zaphyra's git: nixfiles

zaphyra's nixfiles

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 
52 
53 
54 
55 
56 
57 
58 
59 
60 
61 
62 
63 
64 
65 
66 
67 
68 
69 
70 
71 
72 
73 
74 
75 
76 
77 
78 
79 
80 
81 
82 
83 
84 
85 
86 
87 
88 
89 
90 
91 
92 
93 
94 
95 
96 
{
  config,
  lib,
  ...
}:
{

  config = lib.mkIf config.zaphyra.programs.niri.enable {
    programs.niri.settings = {
      layer-rules = [
        {
          matches = [
            { namespace = "shaderbg"; }
          ];
          place-within-backdrop = true;
        }
      ];

      window-rules = [
        {
          shadow.enable = true;
          matches = [
            {
              is-floating = true;
            }
          ];
        }
        {
          geometry-corner-radius = lib.genAttrs [ "bottom-left" "bottom-right" "top-left" "top-right" ] (
            _name: 6.0
          );
          clip-to-geometry = true;
        }
        {
          matches = [
            {
              at-startup = true;
              app-id = "^org.gnome.Fractal$";
            }
            {
              at-startup = true;
              app-id = "^im.dino.Dino$";
            }
            {
              at-startup = true;
              app-id = "^org.gajim.Gajim$";
            }
          ];

          default-column-display = "tabbed";
          open-on-workspace = "chat";
        }
        {
          matches = [
            { app-id = "firefox$"; }
            { app-id = "thunderbird$"; }
          ];

          open-maximized = true;
        }
        {
          matches = [
            { app-id = "^org.gnome.NautilusPreviewer$"; }
          ];

          open-floating = true;
        }
        {
          matches = [
            { app-id = "^thunderbird$"; }
          ];

          open-on-workspace = "mail";
        }
        {
          matches = [
            {
              app-id = "firefox$";
              title = "^Picture-in-Picture$";
            }
          ];

          open-floating = true;
          default-column-width.fixed = 480;
          default-window-height.fixed = 270;
          default-floating-position = {
            x = 32;
            y = 32;
            relative-to = "bottom-right";
          };
        }
      ];
    };
  };

}