80 lines
1.8 KiB
Nix
80 lines
1.8 KiB
Nix
{ 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" ]; })
|
|
];
|
|
}
|