60 lines
1.5 KiB
Nix
60 lines
1.5 KiB
Nix
|
{ config, lib, pkgs, ... }:
|
||
|
|
||
|
with lib;
|
||
|
|
||
|
let
|
||
|
package = pkgs.writeScriptBin "dummy-waybar" "" // { outPath = "@waybar@"; };
|
||
|
in {
|
||
|
config = {
|
||
|
programs.waybar = {
|
||
|
inherit package;
|
||
|
enable = true;
|
||
|
settings = [{
|
||
|
layer = "top";
|
||
|
position = "top";
|
||
|
height = 30;
|
||
|
output = [ "DP-1" ];
|
||
|
modules-left = [ "sway/workspaces" "sway/mode" "custom/my-module" ];
|
||
|
modules-center = [ "sway/window" ];
|
||
|
modules-right = [
|
||
|
"idle_inhibitor"
|
||
|
"pulseaudio"
|
||
|
"network"
|
||
|
"cpu"
|
||
|
"memory"
|
||
|
"backlight"
|
||
|
"tray"
|
||
|
"battery"
|
||
|
"clock"
|
||
|
];
|
||
|
|
||
|
modules = {
|
||
|
"sway/workspaces" = {
|
||
|
disable-scroll = true;
|
||
|
all-outputs = true;
|
||
|
};
|
||
|
"sway/mode" = { tooltip = false; };
|
||
|
"sway/window" = { max-length = 120; };
|
||
|
"idle_inhibitor" = { format = "{icon}"; };
|
||
|
"custom/my-module" = {
|
||
|
format = "hello from {}";
|
||
|
exec = let
|
||
|
dummyScript =
|
||
|
pkgs.writeShellScriptBin "dummy" "echo within waybar" // {
|
||
|
outPath = "@dummy@";
|
||
|
};
|
||
|
in "${dummyScript}/bin/dummy";
|
||
|
};
|
||
|
};
|
||
|
}];
|
||
|
};
|
||
|
|
||
|
nmt.script = ''
|
||
|
assertPathNotExists home-files/.config/waybar/style.css
|
||
|
assertFileContent \
|
||
|
home-files/.config/waybar/config \
|
||
|
${./settings-complex-expected.json}
|
||
|
'';
|
||
|
};
|
||
|
}
|