programs.i3status-rust.enable
Whether to enable a replacement for i3-status written in Rust.
Type: boolean
Default:
false
Example:
true
Declared by:
programs.i3status-rust.package
The i3status-rust package to use.
Type: package
Default:
pkgs.i3status-rust
Declared by:
programs.i3status-rust.bars
Attribute set of i3status-rust bars, each with their own configuration.
Each bar name generates a config file suffixed with
the bar’s name from the attribute set, like so:
config-${name}.toml.
This way, multiple config files can be generated, such as for having a top and a bottom bar.
See
i3status-rust(1)
for options.
Type: attribute set of (submodule)
Default:
{
default = {
blocks = [
{
alert = 10.0;
block = "disk_space";
info_type = "available";
interval = 60;
path = "/";
warning = 20.0;
}
{
block = "memory";
format = " $icon mem_used_percents ";
format_alt = " $icon $swap_used_percents ";
}
{
block = "cpu";
interval = 1;
}
{
block = "load";
format = " $icon $1m ";
interval = 1;
}
{
block = "sound";
}
{
block = "time";
format = " $timestamp.datetime(f:'%a %d/%m %R') ";
interval = 60;
}
];
};
}
Example:
bottom = {
blocks = [
{
block = "disk_space";
path = "/";
info_type = "available";
interval = 60;
warning = 20.0;
alert = 10.0;
}
{
block = "memory";
format_mem = " $icon $mem_used_percents ";
format_swap = " $icon $swap_used_percents ";
}
{
block = "cpu";
interval = 1;
}
{
block = "load";
interval = 1;
format = " $icon $1m ";
}
{ block = "sound"; }
{
block = "time";
interval = 60;
format = " $timestamp.datetime(f:'%a %d/%m %R') ";
}
];
settings = {
theme = {
theme = "solarized-dark";
overrides = {
idle_bg = "#123456";
idle_fg = "#abcdef";
};
};
};
icons = "awesome5";
theme = "gruvbox-dark";
};
Declared by:
programs.i3status-rust.bars.<name>.blocks
Configuration blocks to add to i3status-rust
config. See
https://github.com/greshake/i3status-rust/blob/master/blocks.md
for block options.
Type: TOML value
Default:
[
{
block = "cpu";
}
{
alert = 10.0;
block = "disk_space";
format = " $icon root: $available.eng(w:2) ";
info_type = "available";
interval = 20;
path = "/";
warning = 20.0;
}
{
block = "memory";
format = " $icon $mem_total_used_percents.eng(w:2) ";
format_alt = " $icon_swap $swap_used_percents.eng(w:2) ";
}
{
block = "sound";
click = [
{
button = "left";
cmd = "pavucontrol";
}
];
}
{
block = "time";
format = " $timestamp.datetime(f:'%a %d/%m %R') ";
interval = 5;
}
]
Example:
[
{
block = "disk_space";
path = "/";
info_type = "available";
interval = 60;
warning = 20.0;
alert = 10.0;
}
{
block = "sound";
format = " $icon $output_name {$volume.eng(w:2) |}";
click = [
{
button = "left";
cmd = "pavucontrol --tab=3";
}
];
mappings = {
"alsa_output.pci-0000_00_1f.3.analog-stereo" = "";
"bluez_sink.70_26_05_DA_27_A4.a2dp_sink" = "";
};
}
];
Declared by:
programs.i3status-rust.bars.<name>.icons
The icons set to use. See https://github.com/greshake/i3status-rust/blob/master/doc/themes.md for a list of available icon sets.
Type: string
Default:
"none"
Example:
"awesome6"
Declared by:
programs.i3status-rust.bars.<name>.settings
Any extra options to add to i3status-rust
config.
Type: TOML value
Default:
{ }
Example:
{
theme = {
theme = "solarized-dark";
overrides = {
idle_bg = "#123456";
idle_fg = "#abcdef";
};
};
}
Declared by:
programs.i3status-rust.bars.<name>.theme
The theme to use. See https://github.com/greshake/i3status-rust/blob/master/doc/themes.md for a list of available themes.
Type: string
Default:
"plain"
Example:
"gruvbox-dark"
Declared by: