{ pkgs, lib, config, ... }: { imports = [ ../global.nix ./hyprpaper.nix ]; stylix.targets.hyprland.enable = true; wayland.windowManager.hyprland = { enable = true; package = pkgs.hyprland; extraConfig = builtins.readFile ./hyprland.conf; settings = { # {{{ Decoration decoration = { rounding = config.satellite.theming.rounding.radius; active_opacity = 1; inactive_opacity = 1; blur = { enabled = config.satellite.theming.blur.enable; ignore_opacity = true; xray = true; size = config.satellite.theming.blur.size; passes = config.satellite.theming.blur.passes; contrast = config.satellite.theming.blur.contrast; brightness = config.satellite.theming.blur.brightness; noise = 0.05; }; }; # }}} # {{{ Monitors # Configure monitor properties monitor = lib.forEach config.satellite.monitors (m: lib.concatStringsSep "," [ m.name "${toString m.width}x${toString m.height}@${toString m.refreshRate}" "${toString m.x}x${toString m.y}" "1" ] ); # Map monitors to workspaces workspace = lib.lists.concatMap (m: lib.lists.optional (m.workspace != null) "${m.name},${m.workspace}") config.satellite.monitors; # }}} }; }; }