{ self, ... }: {
  flake.lib.niriBaseSettings =
    pkgs:
    {
      input.keyboard = {
        xkb.layout = "ca";
        xkb.variant = "";
      };
      input."focus-follows-mouse" = _: {
        props."max-scroll-amount" = "45%";
        content = { };
      };
      input."warp-mouse-to-focus" = _: { };
      layout.gaps = 5;
      prefer-no-csd = true;
      window-rules = self.lib.niriWindowRules;
    };
}
