mirror of
https://github.com/anotherhadi/nixy.git
synced 2026-07-06 16:12:33 +02:00
40 lines
1.3 KiB
Nix
40 lines
1.3 KiB
Nix
{pkgs, ...}: let
|
|
networkScript = pkgs.writeShellScript "waybar-network" ''
|
|
for iface in $(${pkgs.iproute2}/bin/ip -br link show | awk '$2 == "UP" {print $1}' | grep -vE '^(lo|tun|proton|wg[0-9]|ppp|vpn|docker|br-|veth|virbr)'); do
|
|
ip=$(${pkgs.iproute2}/bin/ip addr show "$iface" 2>/dev/null | grep 'inet ' | awk '{print $2}' | cut -d/ -f1 | head -1)
|
|
if [ -n "$ip" ]; then
|
|
if [[ "$iface" == wl* ]]; then
|
|
ssid=$(${pkgs.iw}/bin/iw dev "$iface" link 2>/dev/null | grep SSID | sed 's/.*SSID: //')
|
|
signal=$(${pkgs.iw}/bin/iw dev "$iface" link 2>/dev/null | grep signal | awk '{print $2}')
|
|
printf '{"text": "", "class": "wifi", "tooltip": " %s\\n %s dBm"}\n' "$ssid" "$signal"
|
|
else
|
|
printf '{"text": "", "class": "ethernet", "tooltip": " %s\\n %s"}\n' "$iface" "$ip"
|
|
fi
|
|
exit 0
|
|
fi
|
|
done
|
|
printf '{"text": "", "class": "disconnected", "tooltip": "Disconnected"}\n'
|
|
'';
|
|
in {
|
|
imports = [
|
|
./settings.nix
|
|
./style.nix
|
|
];
|
|
|
|
_module.args.networkScript = networkScript;
|
|
|
|
programs.waybar.enable = true;
|
|
stylix.targets.waybar.enable = false;
|
|
|
|
home.packages = with pkgs; [
|
|
playerctl
|
|
pavucontrol
|
|
blueman
|
|
iw
|
|
];
|
|
|
|
wayland.windowManager.hyprland.settings.exec-once = [
|
|
"waybar"
|
|
];
|
|
}
|