all/home: separate home-manager config per host
This commit is contained in:
108
home/common/i3status-rust.nix
Normal file
108
home/common/i3status-rust.nix
Normal file
@@ -0,0 +1,108 @@
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
kbd_switch = pkgs.writeShellScriptBin "kbd_switch" ''
|
||||
declare -A -r KBD_CYCLE_MAP=(
|
||||
["English (US)"]="de"
|
||||
["German"]="ba"
|
||||
)
|
||||
LAYOUT="$(${pkgs.sway}/bin/swaymsg -t get_inputs -r | ${pkgs.jq}/bin/jq -r 'map(select(.type == "keyboard")).[0].xkb_layout_names.[]')"
|
||||
swaymsg input "*" xkb_layout ''${KBD_CYCLE_MAP["$LAYOUT"]:-"us"}
|
||||
'';
|
||||
in
|
||||
{
|
||||
programs.i3status-rust = {
|
||||
bars.top = {
|
||||
icons = "awesome5";
|
||||
theme = "gruvbox-dark";
|
||||
settings.theme = {
|
||||
theme = "plain";
|
||||
overrides = {
|
||||
separator_fg = "#3287a8";
|
||||
};
|
||||
};
|
||||
|
||||
blocks = [
|
||||
{
|
||||
block = "keyboard_layout";
|
||||
driver = "sway";
|
||||
click = [
|
||||
{
|
||||
cmd = "${kbd_switch}/bin/kbd_switch";
|
||||
button = "left";
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
block = "battery";
|
||||
interval = 10;
|
||||
format = "$icon $percentage $time";
|
||||
}
|
||||
{
|
||||
block = "disk_space";
|
||||
path = "/nix";
|
||||
info_type = "available";
|
||||
interval = 20;
|
||||
warning = 20.0;
|
||||
alert = 10.0;
|
||||
}
|
||||
{
|
||||
block = "disk_space";
|
||||
path = "/home";
|
||||
info_type = "available";
|
||||
interval = 20;
|
||||
warning = 20.0;
|
||||
alert = 10.0;
|
||||
}
|
||||
{
|
||||
block = "net";
|
||||
device = "wlan0";
|
||||
if_command = "ip link show wlan0";
|
||||
interval = 2;
|
||||
}
|
||||
{
|
||||
block = "net";
|
||||
device = "enp5s0";
|
||||
if_command = "ip link show enp5s0";
|
||||
interval = 2;
|
||||
}
|
||||
{
|
||||
block = "net";
|
||||
device = "enp7s0f3u1u1";
|
||||
if_command = "ip link show enp7s0f3u1u1";
|
||||
interval = 2;
|
||||
}
|
||||
{
|
||||
block = "net";
|
||||
device = "enp7s0f4u1u1";
|
||||
if_command = "ip link show enp7s0f4u1u1";
|
||||
interval = 2;
|
||||
}
|
||||
{
|
||||
block = "net";
|
||||
if_command = "ip link show eno1";
|
||||
device = "eno1";
|
||||
interval = 2;
|
||||
}
|
||||
{
|
||||
block = "memory";
|
||||
}
|
||||
{
|
||||
block = "cpu";
|
||||
interval = 1;
|
||||
format = "$utilization $barchart $frequency";
|
||||
}
|
||||
{
|
||||
block = "temperature";
|
||||
interval = 3;
|
||||
}
|
||||
{
|
||||
block = "sound";
|
||||
}
|
||||
{
|
||||
block = "time";
|
||||
interval = 60;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user