nix-configs

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

wayle.nix (1952B)


      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" "clock" "power" ];
      7   batModules  = [ "cpu" "ram" "storage" "netstat" "battery" "volume" "weather" "notifications" "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         cpu = { left-click = "alacritty -e htop"; };
     34         dashboard = { icon-color = "fg-muted"; };
     35         hyprland-workspaces = { active-indicator = "underline"; };
     36         media = { icon-type = "default"; label-max-length= "15"; };
     37         notifications = { popup-position = "bottom-right"; };
     38         ram = { left-click = "alacritty -e htop"; };
     39         weather = { location = "Huddersfield"; };
     40         window-title = { icon-show = false; };
     41       };
     42       styling = {
     43               palette = {
     44                 bg = "#0d0c0c";
     45                 blue = "#8ba4b0";
     46                 elevated = "#282727";
     47                 fg = "#c5c9c5";
     48                 fg-muted = "#a6a69c";
     49                 green = "#87a987";
     50                 primary = "#8992a7";
     51                 red = "#c4746e";
     52                 surface = "#181616";
     53                 yellow = "#c4b28a";
     54               };
     55             };
     56           };
     57         };
     58       }