{ inputs, config, pkgs, ... }: { nix.settings = { substituters = [ "https://hyprland.cachix.org" ]; trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ]; }; programs.hyprland = { enable = true; package = inputs.hyprland.packages.${pkgs.system}.hyprland; xwayland.enable = true; }; services = { greetd = { enable = true; settings = { default_session = { command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland"; user = "greeter"; }; }; }; xserver = { enable = true; layout = "us"; xkbVariant = ""; excludePackages = [ pkgs.xterm ]; libinput.enable = true; displayManager.gdm = { enable = true; wayland = true; }; }; }; environment = { sessionVariables = { WLR_NO_HARDWARE_CURSORS = "1"; NIXOS_OZONE_WL = "1"; }; systemPackages = with pkgs; [ dunst # notification daemon gnome-icon-theme hyprcursor # cursor theme hyprpaper # wallpaper hyprpicker # color picker hyprpolkitagent # is a polkit authentication daemon. It is required for GUI applications to be able to request elevated privileges hyprsunset # blue light filter kitty # terminal libnotify # notification daemon # mpvpaper # wallpaper rofi-wayland # app launcher # swaybg # wallpaper # swww # wallpaper (pkgs.waybar.overrideAttrs (oldAttrs: { mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ]; })) # wofi # app launcher # wpaperd # wallpaper ]; }; hardware = { opengl.enable = true; }; sound.enable = true; xdg.portal = { enable = true; extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; }; }