{ pkgs, config, lib, ... }: let cfg = config.my.desktop; in { imports = [ ./applications.nix ./audio.nix ./bluetooth.nix ./gaming.nix ./hyprland.nix ./printing.nix ]; options.my.desktop = { enable = lib.mkEnableOption null; }; config = lib.mkIf cfg.enable { boot = { kernelParams = [ "nowatchdog" ]; blacklistedKernelModules = [ "iTCO_wdt" "sp5100_tco" ]; }; programs.dconf.enable = true; services = { # Stop auto suspending when connected to AC power logind.lidSwitchExternalPower = "ignore"; # Nauutilus file previews gnome.sushi.enable = true; }; fonts.packages = with pkgs; [ corefonts noto-fonts noto-fonts-cjk-sans noto-fonts-emoji liberation_ttf font-awesome dejavu_fonts jost inter lmodern roboto (nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) ]; hardware.graphics = { enable = true; extraPackages = with pkgs; [ libvdpau-va-gl ]; }; systemd.user.services.polkit-gnome-authentication-agent-1 = { description = "polkit-gnome-authentication-agent-1"; wantedBy = [ "graphical-session.target" ]; wants = [ "graphical-session.target" ]; after = [ "graphical-session.target" ]; serviceConfig = { Type = "simple"; ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; Restart = "on-failure"; RestartSec = 1; TimeoutStopSec = 10; }; }; }; }