nixos-config/config/programs/theming.nix

199 lines
4.8 KiB
Nix
Raw Normal View History

2022-06-12 15:39:15 +00:00
{pkgs, ...}: let
theme = import ../../extra/theme.nix;
in {
2022-05-11 18:54:49 +00:00
gtk = {
enable = true;
cursorTheme = {
2023-01-01 11:44:43 +00:00
package = pkgs.libsForQt5.breeze-icons;
name = "breeze-dark";
2022-05-11 18:54:49 +00:00
size = 24;
};
font = {
2023-01-01 11:44:43 +00:00
package = pkgs.noto-fonts;
2022-05-11 18:54:49 +00:00
name = "Noto Sans";
size = 10;
};
iconTheme = {
2023-01-01 11:44:43 +00:00
package = pkgs.libsForQt5.breeze-icons;
2022-05-11 18:54:49 +00:00
name = "breeze-dark";
};
theme = {
2023-01-01 11:44:43 +00:00
package = pkgs.libsForQt5.breeze-gtk;
2022-05-11 18:54:49 +00:00
name = "Breeze-Dark";
};
};
2022-04-09 10:06:06 +00:00
qt.enable = true;
qt.style.package = pkgs.libsForQt5.breeze-qt5;
qt.style.name = "BreezeDark";
2023-01-01 11:44:43 +00:00
# Taken from https://github.com/jakehamilton/dotfiles/blob/master/waybar/style.css
programs.waybar.style = with theme; ''
* {
border: none;
2023-01-01 11:44:43 +00:00
border-radius: 0;
font-size: 14px;
min-height: 24px;
font-family: "NotoSansDisplay Nerd Font", "Noto Sans Mono CJK JP";
2023-01-01 11:44:43 +00:00
color: ${cssColor base};
}
2023-01-01 11:44:43 +00:00
window#waybar {
background: tranparent;
opacity: 0.9;
}
2023-01-01 11:44:43 +00:00
window#waybar.hidden {
opacity: 0.2;
}
2023-01-01 11:44:43 +00:00
#window {
margin-top: 8px;
padding: 0px 16px 0px 16px;
border-radius: 24px;
transition: none;
background: transparent;
}
2023-01-01 11:44:43 +00:00
#workspaces {
margin-top: 8px;
margin-left: 12px;
margin-bottom: 0;
border-radius: 24px;
background: ${cssColor surface0};
transition: none;
}
2023-01-01 11:44:43 +00:00
#workspaces button {
transition: none;
background: transparent;
font-size: 16px;
color: ${cssColor text};
}
2023-01-01 11:44:43 +00:00
#workspaces button.focused {
background: ${cssColor mauve};
color: ${cssColor base};
}
2023-01-01 11:44:43 +00:00
#workspaces button:hover {
background: ${cssColor sapphire};
color: ${cssColor base};
}
2023-01-01 11:44:43 +00:00
#mpd {
margin-top: 8px;
margin-left: 8px;
padding-left: 16px;
padding-right: 16px;
margin-bottom: 0;
border-radius: 24px;
background: ${cssColor green};
transition: none;
}
2023-01-01 11:44:43 +00:00
#mpd.disconnected,
#mpd.stopped {
background: ${cssColor red};
}
2023-01-01 11:44:43 +00:00
#network {
margin-top: 8px;
margin-left: 8px;
padding-left: 16px;
padding-right: 16px;
margin-bottom: 0;
border-radius: 24px;
transition: none;
background: ${cssColor mauve};
}
#pulseaudio {
margin-top: 8px;
margin-left: 8px;
padding-left: 16px;
padding-right: 16px;
margin-bottom: 0;
border-radius: 24px;
transition: none;
background: ${cssColor teal};
}
#temperature, #battery {
margin-top: 8px;
margin-left: 8px;
padding-left: 16px;
padding-right: 16px;
margin-bottom: 0;
border-radius: 24px;
transition: none;
background: ${cssColor green};
}
#cpu, #backlight, #battery.warning {
margin-top: 8px;
margin-left: 8px;
padding-left: 16px;
padding-right: 16px;
margin-bottom: 0;
border-radius: 24px;
transition: none;
background: ${cssColor yellow};
}
2023-01-01 11:44:43 +00:00
#memory, #battery.critical {
margin-top: 8px;
margin-left: 8px;
padding-left: 16px;
padding-right: 16px;
margin-bottom: 0;
border-radius: 24px;
transition: none;
background: ${cssColor red};
}
2023-01-01 11:44:43 +00:00
#clock {
margin-top: 8px;
margin-left: 8px;
margin-right: 12px;
padding-left: 16px;
padding-right: 16px;
margin-bottom: 0;
border-radius: 26px;
transition: none;
background: ${cssColor surface0};
color: ${cssColor text};
}
2023-01-01 11:49:51 +00:00
'';
wayland.windowManager.sway.extraConfig = with theme; ''
# target title bg text indicator border
client.focused ${cssColor pink} ${cssColor base} ${cssColor text} ${cssColor rosewater} ${cssColor pink}
client.focused_inactive ${cssColor mauve} ${cssColor base} ${cssColor text} ${cssColor rosewater} ${cssColor mauve}
client.unfocused ${cssColor mauve} ${cssColor base} ${cssColor text} ${cssColor rosewater} ${cssColor mauve}
client.urgent ${cssColor peach} ${cssColor base} ${cssColor peach} ${cssColor overlay0} ${cssColor peach}
client.placeholder ${cssColor overlay0} ${cssColor base} ${cssColor text} ${cssColor overlay0} ${cssColor overlay0}
client.background ${cssColor base}
'';
2023-01-01 11:44:43 +00:00
programs.foot.settings.colors = with theme; {
alpha = 0.9;
background = base;
foreground = text;
regular0 = surface1;
regular1 = red;
regular2 = green;
regular3 = yellow;
regular4 = blue;
regular5 = pink;
regular6 = teal;
regular7 = subtext1;
bright0 = surface2;
bright1 = red;
bright2 = green;
bright3 = yellow;
bright4 = blue;
bright5 = pink;
bright6 = teal;
bright7 = subtext0;
};
2022-01-18 14:11:43 +00:00
}