{ pkgs, hyprland, user ? "xenia", ... }: { imports = [ ./desktop.nix hyprland.nixosModules.default ]; environment.systemPackages = with pkgs; [ xdg-utils wlr-randr gsettings-desktop-schemas hyprpaper pipewire wireplumber wl-clipboard grim slurp swayimg pamixer pavucontrol playerctl brightnessctl ]; security.pam.services.swaylock = { }; services = { blueman.enable = true; gvfs.enable = true; tumbler.enable = true; greetd = { enable = true; settings = { default_session = { inherit user; command = "Hyprland"; }; initial_session = { inherit user; command = "Hyprland"; }; }; }; }; fonts = { packages = with pkgs; [ # icon fonts material-symbols # normal fonts jost lexend noto-fonts noto-fonts-cjk noto-fonts-emoji roboto # nerdfonts (nerdfonts.override { fonts = [ "FiraCode" ]; }) ]; fontconfig = { enable = true; # user defined fonts # the reason there's Noto Color Emoji everywhere is to override DejaVu's # B&W emojis that would sometimes show instead of some Color emojis defaultFonts = { serif = [ "Noto Serif" "Noto Color Emoji" ]; sansSerif = [ "Noto Sans" "Noto Color Emoji" ]; monospace = [ "FiraCode Nerd Font" "Noto Color Emoji" ]; emoji = [ "Noto Color Emoji" ]; }; }; }; xdg.portal = { enable = true; extraPortals = with pkgs; [ xdg-desktop-portal-gtk ]; }; programs = { hyprland = { enable = true; package = hyprland.packages.${pkgs.system}.hyprland; }; thunar = { enable = true; plugins = with pkgs.xfce; [ thunar-archive-plugin thunar-volman ]; }; }; }