{ config, pkgs, inputs, ... }: { imports = [ # hardware-configuration.nix stays at the repo root for nixos-generate-config compat ../../hardware-configuration.nix # OS-level modules — no binary wrapped, just system concerns ../../modules/system/nix ../../modules/system/boot ../../modules/system/hardware ../../modules/system/locale ../../modules/system/users ../../modules/system/audio ../../modules/system/printing ../../modules/system/network ../../modules/system/services # Standalone features (apps with their own binaries) ../../modules/features/niri ../../modules/features/noctalia-greeter ../../modules/features/noctalia-shell ../../modules/features/nvidia ../../modules/features/appimage ../../modules/features/mpd # ../../modules/features/swingmusic ../../modules/features/monitoring ../../modules/features/terminals ../../modules/features/cli-tools ../../modules/features/binary-compat ../../modules/features/editors ../../modules/features/file-managers ../../modules/features/wayland-tools ../../modules/features/audio-tools ../../modules/features/gst-codecs ../../modules/features/fonts ../../modules/features/desktop-apps ../../modules/features/browsers ../../modules/features/messaging ../../modules/features/productivity ../../modules/features/security ../../modules/features/media-tools ../../modules/features/p2p ../../modules/features/language-tools ../../modules/features/gaming ../../modules/features/dev-tools ../../modules/features/vpn-utils ../../modules/features/wireshark ../../modules/features/mouse ]; # ──────────────────────────────────────────────────────────────────────── # Desktop composition (was attrs/desktop) # Inline because this host is the only one using the full desktop stack. # ──────────────────────────────────────────────────────────────────────── # Qt styling: use qt5ct to theme Qt apps consistently with the GTK desktop. qt = { enable = true; platformTheme = "qt5ct"; style = "breeze"; }; # Desktop portals let Wayland clients request screenshots, file dialogs, etc. # These backends wire the GNOME + GTK portal implementations into the session. xdg.portal = { enable = true; extraPortals = [ pkgs.xdg-desktop-portal-gnome pkgs.xdg-desktop-portal-gtk ]; }; boot.extraModulePackages = [ config.boot.kernelPackages.amneziawg ]; boot.kernelModules = [ "amneziawg" ]; # Qt/HiDPI and GPU renderer hints shared across the desktop. environment.sessionVariables = { XCURSOR_THEME = "Bibata-Modern-Ice"; XCURSOR_SIZE = "20"; CC = "clang"; ELECTRON_OZONE_PLATFORM_HINT = "auto"; GSK_RENDERER = "ngl"; QT_QPA_PLATFORM = "wayland;xcb"; QT_ENABLE_HIGHDPI_SCALING = "1"; QT_AUTO_SCREEN_SCALE_FACTOR = "1"; QT_SCREEN_SCALE_FACTORS = "1.5"; }; system.stateVersion = "26.05"; }