{ 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 xfce.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 libsForQt5.qt5ct # Qt5 config kdePackages.qt6ct # Qt6 config ]; # XDG Desktop Portal is configured by Hyprland module # No need to configure it again here # Security - for screen locking security.pam.services.hyprlock = {}; # Fonts for better UI fonts.packages = with pkgs; [ noto-fonts noto-fonts-cjk-sans noto-fonts-emoji font-awesome nerd-fonts.jetbrains-mono nerd-fonts.fira-code nerd-fonts.droid-sans-mono ]; }