1
Fork 0
satellite/home/features/wayland/hyprland/default.nix
2024-05-01 17:51:24 +02:00

50 lines
1.4 KiB
Nix

{ 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;
# }}}
};
};
}