diff --git a/config/home-manager.nix b/config/home-manager.nix
index 53e6818..12f1587 100644
--- a/config/home-manager.nix
+++ b/config/home-manager.nix
@@ -13,6 +13,7 @@
inputs.nix-index-database.hmModules.nix-index
inputs.nixvim.homeManagerModules.nixvim
inputs.wired-notify.homeManagerModules.default
+ inputs.whisper-overlay.homeManagerModules.default
{
home.stateVersion = config.system.stateVersion;
}
diff --git a/flake.lock b/flake.lock
index d6cdcda..a8e83f8 100644
--- a/flake.lock
+++ b/flake.lock
@@ -2041,11 +2041,11 @@
"pre-commit-hooks": "pre-commit-hooks_6"
},
"locked": {
- "lastModified": 1719155732,
- "narHash": "sha256-YrC40vbsRYFATRHbQ6UKhU1ByH6xrbSwAfmn4Ae4zhU=",
+ "lastModified": 1719168621,
+ "narHash": "sha256-w5LbzmXlkm1uwjjS2s/0mBOqbQFD8gOr+ebd2a2varE=",
"owner": "oddlama",
"repo": "whisper-overlay",
- "rev": "8e75dcae2fc1f1e26bf129a4dbdbe05cbb1e8784",
+ "rev": "4ba57d95fa85fb071d49c29e974d4bcc69e92bc1",
"type": "github"
},
"original": {
diff --git a/users/myuser/graphical/default.nix b/users/myuser/graphical/default.nix
index 8378f5d..7cc5d13 100644
--- a/users/myuser/graphical/default.nix
+++ b/users/myuser/graphical/default.nix
@@ -24,6 +24,7 @@
./rofi.nix
./swaync.nix
./swww.nix
+ ./whisper-overlay.nix
]
++ lib.optionals nixosConfig.graphical.gaming.enable [
./games
diff --git a/users/myuser/graphical/hyprland.nix b/users/myuser/graphical/hyprland.nix
index 5d9aa67..69aaa88 100644
--- a/users/myuser/graphical/hyprland.nix
+++ b/users/myuser/graphical/hyprland.nix
@@ -118,11 +118,12 @@ in {
decoration.rounding = 4;
exec-once = [
- "${pkgs.waybar}/bin/waybar"
- "${pkgs.swaynotificationcenter}/bin/swaync"
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
"systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
"systemctl --user restart xdg-desktop-portal.service"
+ "${pkgs.waybar}/bin/waybar"
+ "${pkgs.swaynotificationcenter}/bin/swaync"
+ "${lib.getExe pkgs.whisper-overlay}"
];
input = {
diff --git a/users/myuser/graphical/waybar.nix b/users/myuser/graphical/waybar.nix
index f93133a..f9d3aa9 100644
--- a/users/myuser/graphical/waybar.nix
+++ b/users/myuser/graphical/waybar.nix
@@ -99,19 +99,21 @@
connected-active = "";
};
return-type = "json";
- #exec = "${lib.getExe pkgs.whisper-overlay} waybar-status";
- on-click-middle = lib.getExe (pkgs.writeShellApplication {
- name = "restart-whisper-overlay";
- runtimeInputs = [];
- # FIXME: TODO and use libnotify
- text = ''
- '';
- });
+ exec = "${lib.getExe pkgs.whisper-overlay} waybar-status";
on-click-right = lib.getExe (pkgs.writeShellApplication {
name = "toggle-realtime-stt-server";
- runtimeInputs = [];
- # FIXME: TODO and use libnotify
+ runtimeInputs = [
+ pkgs.systemd
+ pkgs.libnotify
+ ];
text = ''
+ if systemctl --user is-active --quiet realtime-stt-server; then
+ systemctl --user stop realtime-stt-server.service
+ notify-send "Stopped realtime-stt-server" "⛔ Stopped" --transient || true
+ else
+ systemctl --user start realtime-stt-server.service
+ notify-send "Started realtime-stt-server" "✅ Started" --transient || true
+ fi
'';
});
escape = true;
@@ -196,9 +198,9 @@
network = {
interval = 5;
- format-ethernet = " {ipaddr}/{cidr}";
+ format-ethernet = " {ipaddr}/{cidr} ↓ {bandwidthDownBytes} ↑ {bandwidthUpBytes}";
format-disconnected = "⚠ Disconnected";
- tooltip-format = " {bandwidthUpBytes}\n {bandwidthDownBytes}";
+ tooltip-format = "↑ {bandwidthUpBytes}\n↓ {bandwidthDownBytes}";
};
bluetooth = {
diff --git a/users/myuser/graphical/whisper-overlay.nix b/users/myuser/graphical/whisper-overlay.nix
new file mode 100644
index 0000000..64c87f3
--- /dev/null
+++ b/users/myuser/graphical/whisper-overlay.nix
@@ -0,0 +1,7 @@
+{
+ home.persistence."/state".directories = [
+ ".local/state/realtime-stt-server"
+ ];
+
+ services.realtime-stt-server.enable = true;
+}