KDE specific themeing because fun
This commit is contained in:
parent
f2055e0d10
commit
531e37fbe3
6 changed files with 347 additions and 0 deletions
259
home/themes/kdeglobals.nix
Normal file
259
home/themes/kdeglobals.nix
Normal file
|
|
@ -0,0 +1,259 @@
|
|||
# This is ABSOLUTE GARGABE, KDE srsly, remove this!
|
||||
# props to catppuccin mocha for sparing me from doing this manually: https://github.com/catppuccin/kde/blob/main/Resources/Base.colors
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
base16 = pkgs.callPackage inputs.base16.lib { };
|
||||
|
||||
baseScheme = (base16.mkSchemeAttrs config.stylix.base16Scheme);
|
||||
power =
|
||||
number: powerIndex:
|
||||
if powerIndex == 1 then
|
||||
number
|
||||
else if powerIndex == 0 then
|
||||
1
|
||||
else
|
||||
number * power number (powerIndex - 1);
|
||||
|
||||
lookupTable = powerIndex: {
|
||||
"0" = 0 * (power 16 powerIndex);
|
||||
"1" = 1 * (power 16 powerIndex);
|
||||
"2" = 2 * (power 16 powerIndex);
|
||||
"3" = 3 * (power 16 powerIndex);
|
||||
"4" = 4 * (power 16 powerIndex);
|
||||
"5" = 5 * (power 16 powerIndex);
|
||||
"6" = 6 * (power 16 powerIndex);
|
||||
"7" = 7 * (power 16 powerIndex);
|
||||
"8" = 8 * (power 16 powerIndex);
|
||||
"9" = 9 * (power 16 powerIndex);
|
||||
"a" = 10 * (power 16 powerIndex);
|
||||
"b" = 11 * (power 16 powerIndex);
|
||||
"c" = 12 * (power 16 powerIndex);
|
||||
"d" = 13 * (power 16 powerIndex);
|
||||
"e" = 14 * (power 16 powerIndex);
|
||||
"f" = 15 * (power 16 powerIndex);
|
||||
};
|
||||
|
||||
convertHex =
|
||||
hexChars:
|
||||
recombineColors [
|
||||
(convertColor (lib.lists.take 2 hexChars))
|
||||
(convertColor (lib.lists.take 2 (lib.lists.drop 2 hexChars)))
|
||||
(convertColor (lib.lists.take 2 (lib.lists.drop 4 hexChars)))
|
||||
];
|
||||
|
||||
convertColor =
|
||||
color: (lookupTable 1).${(lib.lists.head color)} + (lookupTable 0).${(lib.lists.last color)};
|
||||
recombineColors = colors: lib.lists.foldr (a: b: (toString a) + "," + (toString b)) "end" colors;
|
||||
|
||||
scheme = {
|
||||
base00 = lib.strings.removeSuffix ",end" (
|
||||
convertHex (lib.strings.stringToCharacters baseScheme.base00)
|
||||
);
|
||||
base01 = lib.strings.removeSuffix ",end" (
|
||||
convertHex (lib.strings.stringToCharacters baseScheme.base01)
|
||||
);
|
||||
base02 = lib.strings.removeSuffix ",end" (
|
||||
convertHex (lib.strings.stringToCharacters baseScheme.base02)
|
||||
);
|
||||
base03 = lib.strings.removeSuffix ",end" (
|
||||
convertHex (lib.strings.stringToCharacters baseScheme.base03)
|
||||
);
|
||||
base04 = lib.strings.removeSuffix ",end" (
|
||||
convertHex (lib.strings.stringToCharacters baseScheme.base04)
|
||||
);
|
||||
base05 = lib.strings.removeSuffix ",end" (
|
||||
convertHex (lib.strings.stringToCharacters baseScheme.base05)
|
||||
);
|
||||
base06 = lib.strings.removeSuffix ",end" (
|
||||
convertHex (lib.strings.stringToCharacters baseScheme.base06)
|
||||
);
|
||||
base07 = lib.strings.removeSuffix ",end" (
|
||||
convertHex (lib.strings.stringToCharacters baseScheme.base07)
|
||||
);
|
||||
base08 = lib.strings.removeSuffix ",end" (
|
||||
convertHex (lib.strings.stringToCharacters baseScheme.base08)
|
||||
);
|
||||
base09 = lib.strings.removeSuffix ",end" (
|
||||
convertHex (lib.strings.stringToCharacters baseScheme.base09)
|
||||
);
|
||||
base0A = lib.strings.removeSuffix ",end" (
|
||||
convertHex (lib.strings.stringToCharacters baseScheme.base0A)
|
||||
);
|
||||
base0B = lib.strings.removeSuffix ",end" (
|
||||
convertHex (lib.strings.stringToCharacters baseScheme.base0B)
|
||||
);
|
||||
base0C = lib.strings.removeSuffix ",end" (
|
||||
convertHex (lib.strings.stringToCharacters baseScheme.base0C)
|
||||
);
|
||||
base0D = lib.strings.removeSuffix ",end" (
|
||||
convertHex (lib.strings.stringToCharacters baseScheme.base0D)
|
||||
);
|
||||
base0E = lib.strings.removeSuffix ",end" (
|
||||
convertHex (lib.strings.stringToCharacters baseScheme.base0E)
|
||||
);
|
||||
base0F = lib.strings.removeSuffix ",end" (
|
||||
convertHex (lib.strings.stringToCharacters baseScheme.base0F)
|
||||
);
|
||||
};
|
||||
|
||||
in
|
||||
{
|
||||
# temp
|
||||
# crust -> surface1
|
||||
# subtext0 -> surface2
|
||||
# accentColor -> lavender
|
||||
xdg.configFile."kdeglobals" = {
|
||||
text = ''
|
||||
[ColorEffects:Disabled]
|
||||
Color=${scheme.base01}
|
||||
ColorAmount=0.30000000000000004
|
||||
ColorEffect=2
|
||||
ContrastAmount=0.1
|
||||
ContrastEffect=0
|
||||
IntensityAmount=-1
|
||||
IntensityEffect=0
|
||||
|
||||
[ColorEffects:Inactive]
|
||||
ChangeSelectionColor=true
|
||||
Color=${scheme.base01}
|
||||
ColorAmount=0.5
|
||||
ColorEffect=3
|
||||
ContrastAmount=0
|
||||
ContrastEffect=0
|
||||
Enable=true
|
||||
IntensityAmount=0
|
||||
IntensityEffect=0
|
||||
|
||||
[Colors:Button]
|
||||
BackgroundAlternate=${scheme.base07}
|
||||
BackgroundNormal=${scheme.base02}
|
||||
DecorationFocus=${scheme.base07}
|
||||
DecorationHover=${scheme.base02}
|
||||
ForegroundActive=${scheme.base09}
|
||||
ForegroundInactive=${scheme.base04}
|
||||
ForegroundLink=${scheme.base07}
|
||||
ForegroundNegative=${scheme.base08}
|
||||
ForegroundNeutral=${scheme.base0A}
|
||||
ForegroundNormal=${scheme.base05}
|
||||
ForegroundPositive=${scheme.base0B}
|
||||
ForegroundVisited=${scheme.base0E}
|
||||
|
||||
|
||||
[Colors:Complementary]
|
||||
BackgroundAlternate=${scheme.base03}
|
||||
BackgroundNormal=${scheme.base00}
|
||||
DecorationFocus=${scheme.base07}
|
||||
DecorationHover=${scheme.base02}
|
||||
ForegroundActive=${scheme.base09}
|
||||
ForegroundInactive=${scheme.base04}
|
||||
ForegroundLink=${scheme.base07}
|
||||
ForegroundNegative=${scheme.base08}
|
||||
ForegroundNeutral=${scheme.base0A}
|
||||
ForegroundNormal=${scheme.base05}
|
||||
ForegroundPositive=${scheme.base0B}
|
||||
ForegroundVisited=${scheme.base0E}
|
||||
|
||||
|
||||
[Colors:Header]
|
||||
BackgroundAlternate=${scheme.base03}
|
||||
BackgroundNormal=${scheme.base00}
|
||||
DecorationFocus=${scheme.base07}
|
||||
DecorationHover=${scheme.base02}
|
||||
ForegroundActive=${scheme.base09}
|
||||
ForegroundInactive=${scheme.base04}
|
||||
ForegroundLink=${scheme.base07}
|
||||
ForegroundNegative=${scheme.base08}
|
||||
ForegroundNeutral=${scheme.base0A}
|
||||
ForegroundNormal=${scheme.base05}
|
||||
ForegroundPositive=${scheme.base0B}
|
||||
ForegroundVisited=${scheme.base0E}
|
||||
|
||||
|
||||
[Colors:Selection]
|
||||
BackgroundAlternate=${scheme.base07}
|
||||
BackgroundNormal=${scheme.base07}
|
||||
DecorationFocus=${scheme.base07}
|
||||
DecorationHover=${scheme.base02}
|
||||
ForegroundLink=${scheme.base07}
|
||||
ForegroundInactive=${scheme.base00}
|
||||
ForegroundActive=${scheme.base09}
|
||||
ForegroundLink=${scheme.base07}
|
||||
ForegroundNegative=${scheme.base08}
|
||||
ForegroundNeutral=${scheme.base0A}
|
||||
ForegroundNormal=${scheme.base03}
|
||||
ForegroundPositive=${scheme.base0B}
|
||||
ForegroundVisited=${scheme.base0E}
|
||||
|
||||
|
||||
[Colors:Tooltip]
|
||||
BackgroundAlternate=27,25,35
|
||||
BackgroundNormal=${scheme.base01}
|
||||
DecorationFocus=${scheme.base07}
|
||||
DecorationHover=${scheme.base02}
|
||||
ForegroundActive=${scheme.base09}
|
||||
ForegroundInactive=${scheme.base04}
|
||||
ForegroundLink=${scheme.base07}
|
||||
ForegroundNegative=${scheme.base08}
|
||||
ForegroundNeutral=${scheme.base0A}
|
||||
ForegroundNormal=${scheme.base05}
|
||||
ForegroundPositive=${scheme.base0B}
|
||||
ForegroundVisited=${scheme.base0E}
|
||||
|
||||
|
||||
[Colors:View]
|
||||
BackgroundAlternate=${scheme.base00}
|
||||
BackgroundNormal=${scheme.base01}
|
||||
DecorationFocus=${scheme.base07}
|
||||
DecorationHover=${scheme.base02}
|
||||
ForegroundActive=${scheme.base09}
|
||||
ForegroundInactive=${scheme.base04}
|
||||
ForegroundLink=${scheme.base07}
|
||||
ForegroundNegative=${scheme.base08}
|
||||
ForegroundNeutral=${scheme.base0A}
|
||||
ForegroundNormal=${scheme.base05}
|
||||
ForegroundPositive=${scheme.base0B}
|
||||
ForegroundVisited=${scheme.base0E}
|
||||
|
||||
|
||||
[Colors:Window]
|
||||
BackgroundAlternate=${scheme.base03}
|
||||
BackgroundNormal=${scheme.base00}
|
||||
DecorationFocus=${scheme.base07}
|
||||
DecorationHover=${scheme.base02}
|
||||
ForegroundActive=${scheme.base09}
|
||||
ForegroundInactive=${scheme.base04}
|
||||
ForegroundLink=${scheme.base07}
|
||||
ForegroundNegative=${scheme.base08}
|
||||
ForegroundNeutral=${scheme.base0A}
|
||||
ForegroundNormal=${scheme.base05}
|
||||
ForegroundPositive=${scheme.base0B}
|
||||
ForegroundVisited=${scheme.base0E}
|
||||
|
||||
|
||||
[General]
|
||||
ColorScheme=CustomBase16Nix
|
||||
Name=CustomBase16Nix
|
||||
accentActiveTitlebar=false
|
||||
shadeSortColumn=true
|
||||
|
||||
|
||||
[KDE]
|
||||
contrast=4
|
||||
|
||||
|
||||
[WM]
|
||||
activeBackground=${scheme.base01}
|
||||
activeBlend=${scheme.base05}
|
||||
activeForeground=${scheme.base05}
|
||||
inactiveBackground=${scheme.base03}
|
||||
inactiveBlend=${scheme.base04}
|
||||
inactiveForeground=${scheme.base04}
|
||||
'';
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue