Files
lux/modules/capabilities/theme.nix
T
2026-08-22 16:55:00 +02:00

66 lines
1.5 KiB
Nix

{ config, ... }:
let
hmModules = config.flake.modules.homeManager;
cursor = {
name = "phinger-cursors-light";
packageName = "phinger-cursors";
size = 24;
};
mkCursor = pkgs: cursor // { package = pkgs.${cursor.packageName}; };
in
{
flake.modules.nixos.theme =
{ pkgs, ... }:
let
cursorTheme = mkCursor pkgs;
in
{
home-manager.sharedModules = [ hmModules.theme ];
environment.systemPackages = [ cursorTheme.package ];
};
flake.modules.homeManager.theme =
{ pkgs, ... }:
let
cursorTheme = mkCursor pkgs;
version = "unstable-2025-10-23";
src = pkgs.fetchFromGitHub {
owner = "Fausto-Korpsvart";
repo = "Kanagawa-GKT-Theme";
rev = "55ca4ba249eba21f861b9866b71ab41bb8930318";
hash = "sha256-UdMoMx2DoovcxSp/zBZ3PRv/Qpj+prd0uPm1gmdak2E=";
};
override = { inherit src version; };
in
{
home.pointerCursor = {
enable = true;
inherit (cursorTheme)
name
package
size
;
dotIcons.enable = false;
gtk.enable = true;
};
gtk = {
enable = true;
theme = {
name = "Kanagawa-BL-LB";
package = pkgs.kanagawa-gtk-theme.overrideAttrs (_: override);
};
gtk4.theme = null;
iconTheme = {
name = "Kanagawa";
package = pkgs.kanagawa-icon-theme.overrideAttrs (_: override);
};
};
qt = {
enable = true;
platformTheme.name = "gtk3";
};
};
}