1
Fork 0
satellite/home/features/wayland/hyprland/default.nix
2023-11-13 04:35:58 +01:00

37 lines
1.1 KiB
Nix

{ pkgs, lib, config, inputs, ... }:
let
enabledMonitors = lib.filter (m: m.enabled) config.satellite.monitors;
hyprland-monitors = lib.concatStringsSep "\n" (lib.forEach enabledMonitors (m: ''
monitor=${m.name},${toString m.width}x${toString m.height}@${toString m.refreshRate},${toString m.x}x${toString m.y},1
${lib.optionalString (m.workspace != null) "workspace=${m.name},${m.workspace}"}
''));
in
{
imports = [ ../default.nix ../../desktop ];
home.packages = [ inputs.hyprland-contrib.packages.${pkgs.system}.grimblast pkgs.hyprpaper ];
wayland.windowManager.hyprland = {
enable = true;
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
settings = { };
extraConfig = ''
${builtins.readFile ./hyprland.conf}
${hyprland-monitors}
'';
};
services.hyprpaper = {
enable = true;
systemdTarget = "hyprland-session.target";
preload = [ config.stylix.image ];
wallpapers = [{ inherit (config.stylix) image; }] ++
lib.forEach enabledMonitors ({ name, ... }: {
monitor = name;
image = config.stylix.image;
});
};
}