{ config, systemConfig, lib, ... }: { options.zaphyra.programs.niri.enable = lib.mkOption { type = lib.types.bool; default = systemConfig.modules.presets.graphical.enable; }; imports = [ ./binds.nix ./io.nix ./rules.nix ]; config = lib.mkIf config.zaphyra.programs.niri.enable { programs.niri.settings = { environment = { QT_QPA_PLATFORM = "wayland"; QT_WAYLAND_FORCE_DPI = "physical"; QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; }; cursor.theme = config.gtk.cursorTheme.name; prefer-no-csd = true; workspaces = { "001-browser".name = "browser"; "003-mail".name = "mail"; "003-terminal".name = "terminal"; "004-chat".name = "chat"; }; overview = { workspace-shadow.enable = false; }; layout = { always-center-single-column = true; gaps = 15; background-color = "transparent"; default-column-width = { proportion = 1.0; }; focus-ring = { width = 2; inactive.color = "rgba(59, 135, 86, .9)"; active.color = "rgba(74, 169, 108, .9)"; }; tab-indicator = { gaps-between-tabs = 10; position = "top"; }; } // (lib.genAttrs [ "preset-column-widths" "preset-window-heights" ] (_name: [ { proportion = 1.0; } { proportion = 0.75; } { proportion = 0.5; } { proportion = 1.0 / 3.0; } { proportion = 0.25; } ])); }; }; }