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

36 lines
1 KiB
Nix
Raw Normal View History

2023-06-09 13:17:34 +02:00
{ pkgs, lib, config, inputs, ... }:
let
enabledMonitors = lib.filter (m: m.enabled) config.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
{
2023-05-28 02:00:10 +02:00
imports = [ ../default.nix ];
2023-05-24 03:17:09 +02:00
2023-06-09 13:17:34 +02:00
home.packages = [ inputs.hyprland-contrib.packages.${pkgs.system}.grimblast pkgs.hyprpaper ];
2023-05-24 03:17:09 +02:00
wayland.windowManager.hyprland = {
enable = true;
recommendedEnvironment = true;
2023-06-09 13:17:34 +02:00
extraConfig = ''
${builtins.readFile ./hyprland.conf}
${hyprland-monitors}
'';
};
services.hyprpaper = {
enable = true;
systemdTarget = "hyprland-session.target";
2023-06-09 13:17:34 +02:00
preload = [ config.stylix.image ];
wallpapers = [{ inherit (config.stylix) image; }] ++
lib.forEach enabledMonitors ({ name, ... }: {
monitor = name;
image = config.stylix.image;
});
2023-05-24 03:17:09 +02:00
};
}