nixnew/modules/theme/default.nix
2026-01-15 10:17:39 -08:00

69 lines
1.7 KiB
Nix

{ 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"];
});
});
})];
}