refactor: split overloaded modules

This commit is contained in:
Nickolaj Jepsen 2026-01-21 00:10:58 +01:00
parent 234ab50a2c
commit 15f5c2552d
15 changed files with 638 additions and 586 deletions

View file

@ -0,0 +1,42 @@
{
config,
lib,
...
}: let
hasMonitors = config.monitors != [];
primaryMonitorName =
if hasMonitors
then (builtins.head config.monitors).name or ""
else "";
in {
config = lib.mkIf config.fireproof.desktop.windowManager.enable {
fireproof.home-manager.programs.niri.settings = {
workspaces = lib.mkIf (primaryMonitorName != "") {
"01".open-on-output = primaryMonitorName;
"02".open-on-output = primaryMonitorName;
"03".open-on-output = primaryMonitorName;
"04".open-on-output = primaryMonitorName;
"05".open-on-output = primaryMonitorName;
};
outputs = lib.mkIf (config.monitors != []) (
lib.listToAttrs (map (monitor: {
inherit (monitor) name;
value = {
inherit (monitor) position;
mode = lib.mkIf (monitor.resolution.width != null && monitor.resolution.height != null) {
inherit (monitor.resolution) width height;
refresh = monitor.refreshRateNiri;
};
focus-at-startup = monitor.name == primaryMonitorName;
transform.rotation =
if (monitor.transform != null)
then monitor.transform * 90
else 0;
};
})
config.monitors)
);
};
};
}