nix-configs

Personal NixOS and home-manager configuration files
Log | Files | Refs

wayle.nix (2098B)


      1 { lib, machine, ... }:
      2 
      3 let
      4   batteryMachines = [ "minerva" ];
      5   hasBattery = builtins.elem machine batteryMachines;
      6   deskModules = [ "media" "cpu" "ram" "storage" "netstat" "volume" "weather" "notifications" "systray" "clock" "power" ];
      7   batModules  = [ "cpu" "ram" "storage" "netstat" "battery" "volume" "weather" "notifications" "systray" "clock" "power" ];
      8 in
      9 {
     10   services.wayle = {
     11     enable = true;
     12     # nix-instantiate --eval --expr 'builtins.fromTOML (builtins.readFile ./runtime.toml)' | nixfmt -
     13     settings = {
     14       bar = {
     15         border-color = "bg-hover";
     16         border-location = "top";
     17         border-width = 1;
     18         location = "bottom";
     19         button-rounding = "none";
     20         button-variant = "basic";
     21         layout = [
     22           {
     23             left = [ "dashboard" "hyprland-workspaces" "window-title" ];
     24             center = [ ];
     25             monitor = "*";
     26             right = if hasBattery then batModules else deskModules;
     27             show = true;
     28           }
     29         ];
     30         scale = 0.8;
     31       };
     32       modules = {
     33         clock = { format = "%a %b %d %-l:%M %p"; week-start = "monday"; };
     34         cpu = { left-click = "alacritty -e htop"; };
     35         dashboard = { icon-color = "fg-muted"; };
     36         hyprland-workspaces = { active-indicator = "underline"; };
     37         media = { icon-type = "default"; label-max-length= "15"; };
     38         notifications = { popup-position = "bottom-right"; };
     39         ram = { left-click = "alacritty -e htop"; };
     40         volume = { right-click = "pavucontrol"; };
     41         weather = { location = "Huddersfield"; };
     42         window-title = { icon-show = false; };
     43       };
     44       styling = {
     45               palette = {
     46                 bg = "#0d0c0c";
     47                 blue = "#8ba4b0";
     48                 elevated = "#282727";
     49                 fg = "#c5c9c5";
     50                 fg-muted = "#a6a69c";
     51                 green = "#87a987";
     52                 primary = "#8992a7";
     53                 red = "#c4746e";
     54                 surface = "#181616";
     55                 yellow = "#c4b28a";
     56               };
     57             };
     58           };
     59         };
     60       }