added i3status-rust.

This commit is contained in:
Gabe Venberg 2024-04-09 16:59:34 -05:00
parent 089f7833f8
commit 63e5afe8ec
5 changed files with 98 additions and 0 deletions

View file

@ -27,6 +27,7 @@ inputs.nixpkgs.lib.nixosSystem {
host = {
user = "gabe";
gui.enable = true;
isVm=true;
};
networking.hostName = "archlaptop-vm"; # Define your hostname.
# Set your time zone.

View file

@ -27,6 +27,7 @@ inputs.nixpkgs.lib.nixosSystem {
host = {
user = "gabe";
gui.enable = true;
isVm=true;
};
networking.hostName = "workstation-vm"; # Define your hostname.
# Set your time zone.

View file

@ -202,6 +202,16 @@
notification = false;
}
];
bars = [
{
fonts = {
names = ["Fira Code"];
size = 8.0;
};
position = "bottom";
statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs ~/.config/i3status-rust/config-default.toml";
}
];
};
};
imports = [
@ -214,5 +224,6 @@
};
imports = [
../sound.nix
./i3status-rust.nix
];
}

View file

@ -0,0 +1,77 @@
{
config,
pkgs,
lib,
...
}: {
home-manager.users.${config.host.user} = {
config,
osConfig,
lib,
...
}: {
programs.i3status-rust = {
enable = true;
bars = {
default = {
blocks = [
{
block = "music";
format = " $icon {$combo.str(max_w:25,rot_interval:0.5) $play $next $prev $player.str(max_w:5,rot_interval:0.5) [$cur/$avail] |} ";
}
{
block = "memory";
format = " $icon $mem_used_percents ";
format_alt = " $icon $swap_used_percents (swap)";
}
{
block = "cpu";
interval = 1;
}
{
block = "load";
format = " $icon $1m ";
interval = 1;
}
(
lib.mkIf
(!osConfig.host.isVm)
{block = "backlight";}
)
(
lib.mkIf (osConfig.host.isLaptop)
{
block = "battery";
driver = "upower";
format = "$icon $percentage {$time |}";
}
)
{
block = "net";
format = "$icon {$signal_strength $ssid.str(max_w:5,rot_interval:0.5)|}";
format_alt = " $icon {$signal_strength $ssid.str(max_w:5,rot_interval:0.5) $frequency|} $ip | $ipv6 via $device";
}
{
block = "sound";
format = "$icon {$volume.bar(v:true) $volume.eng(w:2) |}";
headphones_indicator = true;
click = [
{
button = "left";
cmd = "pwvucontrol";
}
];
}
{
block = "time";
format = " $timestamp.datetime(f:'%F %R') ";
interval = 60;
}
];
theme = "gruvbox-dark";
icons = "material-nf";
};
};
};
};
}

View file

@ -18,6 +18,14 @@
description = "enable GUI";
default = false;
};
isLaptop=lib.mkEnableOption {
description="machine is a laptop";
default=false;
};
isVm=lib.mkEnableOption {
description="machine is a virtual machine";
default=false;
};
};
};
}