{ config, pkgs, inputs, ... }: { # Import Hyprland module imports = [ inputs.hyprland.nixosModules.default ]; # Enable Hyprland programs.hyprland = { enable = true; xwayland.enable = true; }; # Hyprland-related packages environment.systemPackages = with pkgs; [ # Core Hyprland tools hyprpaper # Wallpaper utility hyprpicker # Color picker hypridle # Idle daemon hyprlock # Screen locker # Wayland essentials waybar # Status bar wofi # Application launcher dunst # Notification daemon swww # Wallpaper daemon (alternative to hyprpaper) # Screenshot and recording grim # Screenshot tool slurp # Region selector wl-clipboard # Clipboard utilities # File manager thunar # Image viewer imv # PDF viewer zathura # Audio control pavucontrol # Network management networkmanagerapplet # Brightness control brightnessctl # Additional tools for ricing jq # JSON processor (for scripts) socat # Socket tools wlogout # Logout menu nwg-look # GTK theme config qt5ct # Qt5 config qt6ct # Qt6 config ]; # Enable XDG Desktop Portal for Hyprland xdg.portal = { enable = true; extraPortals = with pkgs; [ xdg-desktop-portal-hyprland xdg-desktop-portal-gtk ]; }; # Security - for screen locking security.pam.services.hyprlock = {}; # Fonts for better UI fonts.packages = with pkgs; [ noto-fonts noto-fonts-cjk noto-fonts-emoji font-awesome (nerdfonts.override { fonts = [ "JetBrainsMono" "FiraCode" "DroidSansMono" ]; }) ]; }