nix-dots/user/modules/waybar/default.nix

60 lines
1.6 KiB
Nix

{
config,
lib,
pkgs,
...
}: let
inherit (lib) mkMerge;
theme = builtins.readFile ./styles/catppuccin.css;
style = builtins.readFile ./styles/style.css;
notificationsStyle = builtins.readFile ./styles/notifications.css;
powerStyle = builtins.readFile ./styles/power.css;
statsStyle = builtins.readFile ./styles/stats.css;
workspacesStyle = builtins.readFile ./styles/workspaces.css;
custom-modules = import ./modules/custom-modules.nix {inherit config lib pkgs;};
default-modules = import ./modules/default-modules.nix {inherit lib pkgs;};
group-modules = import ./modules/group-modules.nix;
hyprland-modules = import ./modules/hyprland-modules.nix {inherit config lib;};
allModules = mkMerge [
custom-modules
default-modules
group-modules
hyprland-modules
];
in {
programs.waybar = {
enable = true;
style = "${theme}${style}${notificationsStyle}${powerStyle}${statsStyle}${workspacesStyle}";
settings = {
mainBar = mkMerge [
{
name = "main";
"margin-top" = 10;
"margin-left" = 10;
"margin-right" = 10;
layer = "top";
# Choose the order of the modules
"modules-left" = [
"group/power"
"hyprland/workspaces"
];
"modules-center" = [
"clock"
];
"modules-right" = [
"group/tray-drawer"
"group/stats-drawer"
"group/notifications"
"hyprland/submap"
"custom/weather"
];
}
allModules
];
};
};
}