{ config, pkgs, lib, ... }: let cfg = config.modules.graphical; in { options = { modules.graphical = { enable = lib.mkEnableOption "Enable the GUI"; waybar = lib.mkEnableOption "Enable waybar"; quickshell = lib.mkEnableOption "Enable quickshell"; }; }; config = lib.mkIf cfg.enable { programs.niri.enable = true; services.displayManager.ly.enable = true; environment.systemPackages = with pkgs; [ alacritty wl-clipboard ] ++ lib.optional cfg.quickshell quickshell; programs.waybar.enable = lib.mkIf cfg.waybar true; }; }