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; +}