44 lines
1.4 KiB
Nix
44 lines
1.4 KiB
Nix
{ 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;
|
|
};
|
|
}
|