{ self, lib, config, pkgs, inputs, ... }: { imports = [ inputs.qtengine.nixosModules.default ]; programs.qtengine = { enable = true; config = { theme = { colorScheme = "${pkgs.kdePackages.breeze}/share/color-schemes/BreezeDark.colors"; iconTheme = "breeze-dark"; style = "breeze"; fontFixed = "JetBrainsMono Nerd Font"; fontFixedSize = 12; font = "DejaVu Sans"; fontSize = 12; }; misc = { singleClickActivate = false; menusHaveIcons = true; shortcutsForContextMenus = true; }; }; }; environment.systemPackages = with pkgs; [ qt6.qtwayland kdePackages.breeze kdePackages.breeze-icons qt6.qtsvg # needed to load breeze icons # for testing kde things kdePackages.qqc2-desktop-style kdePackages.kirigami kdePackages.kirigami.unwrapped kdePackages.kirigami-addons kdePackages.sonnet ]; qt = { enable = true; platformTheme = null; }; home-manager.users.${config.main-user} = { imports = [ ./home.nix ]; }; nixpkgs.overlays = [(final: prev: { qt6Packages = prev.qt6Packages.overrideScope (qfinal: qprev: { qt6ct = qprev.qt6ct.overrideAttrs (ctprev: { src = pkgs.fetchFromGitLab { domain = "www.opencode.net"; owner = "ilya-fedin"; repo = "qt6ct"; rev = "9d64a13ff6c376380901ef855f3c5e6a1f7afc0d"; # 'kde' branch sha256 = "vOq5LC5TPRkBfFYzsqyd8wGIzAa6jT7PwWsEj5Dqrqs="; }; buildInputs = ctprev.buildInputs ++ (with final.kdePackages; [ kconfig kcolorscheme kiconthemes ]); cmakeFlags = [ "-DPLUGINDIR=${placeholder "out"}/lib/qt-6/plugins"]; }); }); })]; }