122 lines
2.9 KiB
Nix
122 lines
2.9 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
config,
|
|
...
|
|
}:
|
|
with lib;
|
|
let
|
|
cfg = config.passthrough.catppuccin;
|
|
palette =
|
|
(lib.importJSON "${config.catppuccin.sources.palette}/palette.json")
|
|
.${config.catppuccin.flavor}.colors;
|
|
in
|
|
mkIf cfg.enable {
|
|
gtk.theme = { inherit (cfg.gtk) package name; };
|
|
qt.style.name = "kvantum";
|
|
qt.platformTheme.name = "kvantum";
|
|
home.pointerCursor = { inherit (cfg.cursor) package name; };
|
|
|
|
# sway colour palette override
|
|
wayland.windowManager.sway.config = {
|
|
colors = {
|
|
focused = {
|
|
border = "$lavender";
|
|
background = "$base";
|
|
text = "$text";
|
|
indicator = "$rosewater";
|
|
childBorder = "$lavender";
|
|
};
|
|
focusedInactive = {
|
|
border = "$overlay0";
|
|
background = "$base";
|
|
text = "$text";
|
|
indicator = "$rosewater";
|
|
childBorder = "$overlay0";
|
|
};
|
|
unfocused = {
|
|
border = "$overlay0";
|
|
background = "$base";
|
|
text = "$text";
|
|
indicator = "$rosewater";
|
|
childBorder = "$overlay0";
|
|
};
|
|
urgent = {
|
|
border = "$peach";
|
|
background = "$base";
|
|
text = "$peach";
|
|
indicator = "$overlay0";
|
|
childBorder = "$peach";
|
|
};
|
|
placeholder = {
|
|
border = "$overlay0";
|
|
background = "$base";
|
|
text = "$text";
|
|
indicator = "$overlay0";
|
|
childBorder = "$overlay0";
|
|
};
|
|
background = "$base";
|
|
};
|
|
|
|
bars = mkForce [
|
|
{
|
|
colors = {
|
|
background = "$base";
|
|
statusline = "$text";
|
|
focusedStatusline = "$text";
|
|
focusedSeparator = "$base";
|
|
focusedWorkspace = {
|
|
border = "$base";
|
|
background = "$base";
|
|
text = "$green";
|
|
};
|
|
activeWorkspace = {
|
|
border = "$base";
|
|
background = "$base";
|
|
text = "$blue";
|
|
};
|
|
inactiveWorkspace = {
|
|
border = "$base";
|
|
background = "$base";
|
|
text = "$surface1";
|
|
};
|
|
urgentWorkspace = {
|
|
border = "$base";
|
|
background = "$base";
|
|
text = "$surface1";
|
|
};
|
|
bindingMode = {
|
|
border = "$base";
|
|
background = "$base";
|
|
text = "$surface1";
|
|
};
|
|
};
|
|
|
|
mode = "dock";
|
|
position = "bottom";
|
|
workspaceButtons = true;
|
|
workspaceNumbers = true;
|
|
statusCommand = "${pkgs.i3status}/bin/i3status";
|
|
fonts = {
|
|
names = [ "monospace" ];
|
|
size = 8.0;
|
|
};
|
|
trayOutput = "primary";
|
|
}
|
|
];
|
|
|
|
output."*".bg = mkForce "${./flake.png} fill";
|
|
gaps.inner = 12;
|
|
gaps.outer = 5;
|
|
# dodge the status bar
|
|
gaps.bottom = 0;
|
|
};
|
|
|
|
# i3status colour palette override
|
|
programs.i3status.general = with palette; {
|
|
color_good = lavender.hex;
|
|
color_degraded = yellow.hex;
|
|
color_bad = red.hex;
|
|
};
|
|
}
|