{ config, lib, pkgs, ... }: { config = { programs.i3status-rust = { enable = true; bars = { top = { blocks = [ { block = "disk_space"; info_type = "available"; interval = 60; warning = 20.0; alert = 10.0; } { block = "memory"; format_mem = " $icon $Mug ($Mup) "; format_swap = " $icon $SUp "; } ]; }; bottom = { blocks = [ { block = "cpu"; interval = 1; format = " $icon $barchart "; } { block = "load"; interval = 1; format = " $icon $1m $5m "; } ]; icons = "awesome5"; theme = "gruvbox-dark"; }; }; }; test.stubs.i3status-rust = { version = "0.30.0"; }; nmt.script = '' assertFileExists home-files/.config/i3status-rust/config-top.toml assertFileContent home-files/.config/i3status-rust/config-top.toml \ ${ pkgs.writeText "i3status-rust-expected-config" '' [[block]] alert = 10.0 block = "disk_space" info_type = "available" interval = 60 warning = 20.0 [[block]] block = "memory" format_mem = " $icon $Mug ($Mup) " format_swap = " $icon $SUp " [icons] icons = "none" [theme] theme = "plain" '' } assertFileExists home-files/.config/i3status-rust/config-bottom.toml assertFileContent \ home-files/.config/i3status-rust/config-bottom.toml \ ${ pkgs.writeText "i3status-rust-expected-config" '' [[block]] block = "cpu" format = " $icon $barchart " interval = 1 [[block]] block = "load" format = " $icon $1m $5m " interval = 1 [icons] icons = "awesome5" [theme] theme = "gruvbox-dark" '' } ''; }; }