{ inputs, ... }: { flake.nixosModules.ui = { pkgs, lib, ... }: { # Desktop environment services.xserver.enable = true; services.xserver.xkb.options = "compose:ralt,cedilla:cacute"; services.displayManager.gdm.enable = true; services.displayManager.gdm.wayland = true; services.desktopManager.gnome.enable = true; programs.dms-shell = { enable = true; systemd = { enable = true; # Systemd service for auto-start restartIfChanged = true; # Auto-restart dms.service when dms-shell changes }; # Core features enableSystemMonitoring = true; # System monitoring widgets (dgop) enableVPN = true; # VPN management widget enableDynamicTheming = true; # Wallpaper-based theming (matugen) enableAudioWavelength = true; # Audio visualizer (cava) enableCalendarEvents = true; # Calendar integration (khal) enableClipboardPaste = true; # Pasting from the clipboard history (wtype) quickshell.package = pkgs.quickshell; }; programs.niri.enable = true; services.displayManager.sessionPackages = [ pkgs.niri ]; services.gnome.gnome-keyring.enable = true; # secret service services.playerctld.enable = true; # MPRIS media player daemon for playerctl # enable xwayland-satellite environment.systemPackages = with pkgs; [ xwayland-satellite adw-gtk3 qgnomeplatform-qt6 ]; # Enable dconf for theme settings programs.dconf.enable = true; }; }