1
Fork 0
satellite/home/features/wayland/hyprland/default.nix

62 lines
1.5 KiB
Nix

{
pkgs,
lib,
config,
...
}:
{
imports = [
../global.nix
./hyprpaper.nix
];
home.packages = [
pkgs.gtk3 # Contains gtk-launch
];
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 = 5.0e-2;
};
};
# }}}
# {{{ 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;
# }}}
};
};
}