programs/waybar: simplify styling and move generateGtkColors to lib
This commit is contained in:
parent
59adcecd10
commit
20bbc9736c
4 changed files with 105 additions and 114 deletions
|
@ -1,16 +1,22 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
lib',
|
||||
osConfig,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) getExe mkMerge mkIf;
|
||||
inherit (lib) getExe mkMerge mkIf optionalString;
|
||||
inherit (lib') generateGtkColors;
|
||||
inherit (osConfig.theme.scheme) palette;
|
||||
inherit (builtins) readFile;
|
||||
in {
|
||||
imports = [./style.nix];
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
style =
|
||||
optionalString osConfig.theme.enable generateGtkColors lib palette
|
||||
+ readFile ./style.css;
|
||||
settings = {
|
||||
mainBar = mkMerge [
|
||||
{
|
||||
|
|
91
home/programs/waybar/style.css
Normal file
91
home/programs/waybar/style.css
Normal file
|
@ -0,0 +1,91 @@
|
|||
* {
|
||||
/* `otf-font-awesome` is required to be installed for icons */
|
||||
border: none;
|
||||
border-radius: 0px;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
border-radius: 2em;
|
||||
font-family: "Symbols Nerd Font", Inter, sans-serif;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
background: alpha(
|
||||
@base00,
|
||||
0.9999999
|
||||
); /* niri issue workaround, thanks https://github.com/oatmealine/nix-config/blob/bfdddd2cb36ef659bcddc28e0dbb542b6db8b3bc/modules/desktop/themes/catppuccin/waybar.css#L14 */
|
||||
color: @base05;
|
||||
}
|
||||
|
||||
#workspaces,
|
||||
.modules-right box {
|
||||
background: @base02;
|
||||
padding: 0.15em 0.25em;
|
||||
border-radius: 1em;
|
||||
margin: 0 0.25em;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
padding: 0;
|
||||
background: @base02;
|
||||
}
|
||||
|
||||
#workspaces button:nth-child(1) {
|
||||
border-top-left-radius: 1em;
|
||||
border-bottom-left-radius: 1em;
|
||||
}
|
||||
#workspaces button:nth-last-child(1) {
|
||||
border-top-right-radius: 1em;
|
||||
border-bottom-right-radius: 1em;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 0.5em;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
background: @base0E;
|
||||
color: @base02;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
background: @base08;
|
||||
}
|
||||
|
||||
#window {
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
.modules-left,
|
||||
.modules-right {
|
||||
margin: 0.4em 0.5em;
|
||||
}
|
||||
|
||||
#battery,
|
||||
#clock,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#tray,
|
||||
#power-profiles-daemon {
|
||||
padding: 0 0.5em;
|
||||
}
|
||||
|
||||
.modules-left,
|
||||
.modules-right {
|
||||
margin: 0.4em 0.5em;
|
||||
}
|
||||
|
||||
#custom-power {
|
||||
padding: 0 1.2em;
|
||||
color: @base08;
|
||||
}
|
||||
|
||||
#custom-notification {
|
||||
padding: 0 1.2em;
|
||||
}
|
|
@ -1,111 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
osConfig,
|
||||
...
|
||||
}: let
|
||||
inherit (osConfig.theme.scheme) palette;
|
||||
inherit (lib) mapAttrsToList concatLines optionalString;
|
||||
|
||||
generateGtkColors = palette: (concatLines
|
||||
(mapAttrsToList
|
||||
(name: color: "@define-color ${name} ${color};")
|
||||
palette));
|
||||
in {
|
||||
programs.waybar.style =
|
||||
optionalString osConfig.theme.enable generateGtkColors palette
|
||||
+ ''
|
||||
* {
|
||||
/* `otf-font-awesome` is required to be installed for icons */
|
||||
border: none;
|
||||
border-radius: 0px;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
border-radius: 2em;
|
||||
font-family: "Symbols Nerd Font", Inter, sans-serif;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
background: alpha(
|
||||
@base00,
|
||||
0.9999999
|
||||
); /* niri issue workaround, thanks https://github.com/oatmealine/nix-config/blob/bfdddd2cb36ef659bcddc28e0dbb542b6db8b3bc/modules/desktop/themes/catppuccin/waybar.css#L14 */
|
||||
color: @base05;
|
||||
}
|
||||
|
||||
#workspaces,
|
||||
.modules-right box {
|
||||
background: @base02;
|
||||
padding: 0.15em 0.25em;
|
||||
border-radius: 1em;
|
||||
margin: 0 0.25em;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
padding: 0;
|
||||
background: @base02;
|
||||
}
|
||||
|
||||
#workspaces button:nth-child(1) {
|
||||
border-top-left-radius: 1em;
|
||||
border-bottom-left-radius: 1em;
|
||||
}
|
||||
#workspaces button:nth-last-child(1) {
|
||||
border-top-right-radius: 1em;
|
||||
border-bottom-right-radius: 1em;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 0.5em;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
background: @base0E;
|
||||
color: @base02;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
background: @base08;
|
||||
}
|
||||
|
||||
#window {
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
.modules-left,
|
||||
.modules-right {
|
||||
margin: 0.4em 0.5em;
|
||||
}
|
||||
|
||||
#battery,
|
||||
#clock,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#tray,
|
||||
#power-profiles-daemon
|
||||
{
|
||||
padding: 0 0.5em;
|
||||
}
|
||||
|
||||
.modules-left,
|
||||
.modules-right {
|
||||
margin: 0.4em 0.5em;
|
||||
}
|
||||
|
||||
|
||||
#custom-power {
|
||||
padding: 0 1.2em;
|
||||
color: @base08;
|
||||
}
|
||||
|
||||
#custom-notification {
|
||||
padding: 0 1.2em;
|
||||
}
|
||||
'';
|
||||
}
|
|
@ -50,6 +50,11 @@ let
|
|||
''
|
||||
magick ${path} -gaussian-blur 0x12 "$out"
|
||||
'';
|
||||
|
||||
generateGtkColors = lib: palette: (lib.concatLines
|
||||
(lib.mapAttrsToList
|
||||
(name: color: "@define-color ${name} ${color};")
|
||||
palette));
|
||||
in {
|
||||
inherit blurImage rgba;
|
||||
inherit blurImage generateGtkColors rgba;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue