From edd3a073f0ced35992c584b1dad53a4c884a6dc7 Mon Sep 17 00:00:00 2001 From: matt1432 Date: Fri, 18 Oct 2024 19:35:08 -0400 Subject: [PATCH] chore: update flake.lock MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake Inputs: • Updated input 'agsV2': 'github:Aylur/ags/89b8918' (2024-10-15) → 'github:Aylur/ags/a93f0ac' (2024-10-16) • Updated input 'astal': 'github:Aylur/astal/dcc3870' (2024-10-15) → 'github:Aylur/astal/f763c44' (2024-10-18) • Updated input 'gpu-screen-recorder-src': 'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=601219f' (2024-10-14) → 'git+https://repo.dec05eba.com/gpu-screen-recorder?ref=refs/heads/master&rev=1016597' (2024-10-18) • Updated input 'home-manager': 'github:nix-community/home-manager/e1aec54' (2024-10-14) → 'github:nix-community/home-manager/09a0c0c' (2024-10-18) • Updated input 'hyprland': 'github:hyprwm/Hyprland/01c2ff3' (2024-10-14) → 'github:hyprwm/Hyprland/0e630e9' (2024-10-17) • Updated input 'jovian': 'github:Jovian-Experiments/Jovian-NixOS/2317058' (2024-10-15) → 'github:Jovian-Experiments/Jovian-NixOS/bb69165' (2024-10-17) • Updated input 'libratbag-src': 'github:libratbag/libratbag/9f4789f' (2024-09-24) → 'github:libratbag/libratbag/dcc5def' (2024-10-16) • Updated input 'nix-gaming': 'github:fufexan/nix-gaming/2c8d8bb' (2024-10-14) → 'github:fufexan/nix-gaming/79f0e31' (2024-10-18) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/5633bcf' (2024-10-09) → 'github:NixOS/nixpkgs/5785b6b' (2024-10-16) • Updated input 'nixpkgs-wayland': 'github:nix-community/nixpkgs-wayland/b9770ad' (2024-10-15) → 'github:nix-community/nixpkgs-wayland/2535bdd' (2024-10-18) • Updated input 'nvim-theme-src': 'github:Mofiqul/dracula.nvim/fdf503e' (2024-07-12) → 'github:Mofiqul/dracula.nvim/94fa788' (2024-10-16) • Updated input 'tuya-local-src': 'github:make-all/tuya-local/c9a8913' (2024-10-15) → 'github:make-all/tuya-local/587d622' (2024-10-18) Docker Images: • vegardit/gitea-act-runner dind-latest: sha256:06ab3f910c5015792942d8c338fd865d3dff1163cea2e8c3efd32330c7775802 → sha256:74c7cddafcf4c8cadad1317f043cd7ed9f675617197051d38812b262a7afd82b • postgres 14: sha256:626046694f31a4a6a92511bbeca43f7e78ea8c6ae2f2ed70bbaa9b9abd5b67ab → sha256:c9fcaef49a1ca7deae24437c705bf7485922f8a768a140006c5d8abb3f6cac7b • codeberg.org/forgejo/forgejo 9: sha256:1f7c844e1c723ba09411a31f9a3ef8f551e6d77c9ff4f200ef36b870e8c8a3d7 → sha256:085092799d1b25370956972185145607246d692da64c18ef55c2da20eecc855d • rssbridge/rss-bridge latest: sha256:c4fd6ad6e395310cc5d49665bfca638d09ba6cf9d03ad60a5c36361cb7c05251 → sha256:da785b43f43e4f718c525d71453d6b7011db98c68434f02315cb7ee1ecc88889 • nextcloud fpm: sha256:38149fa4fefab1e56a976d37db0bb22a049c4e6faf4e1d755fdc536ff5e7f69a → sha256:29088f7a332ae59f57b0b121bd9d6c6cf0dda1c536c8b7c889f28182e1c26601 • nginx latest: sha256:d2eb56950b84efe34f966a2b92efb1a1a2ea53e7e93b94cdf45a27cf3cd47fc0 → sha256:28402db69fec7c17e179ea87882667f1e054391138f77ffaf0c3eb388efc3ffb • onlyoffice/documentserver latest: sha256:b9e3c35eab182d3de822a53b109b0f27070f6eacea3b1388b9c50d1182f638f2 → sha256:2b0180b8ca27b36f27e0ddea0e9e8a5b1d40fcf478dc31f7e2efcfb9ce1bf42a • ghcr.io/linuxserver/bazarr latest: sha256:d7d431c29d1c94e7009b6b8b1eb5078689416278b5e6664cad864b28b9ead345 → sha256:5baf571c177eda579fbaa080ade2135bce9097bc3c165f92d30e399df64d0bc4 • ghcr.io/linuxserver/sabnzbd latest: sha256:f87f9d4fa0e19f8e7b292638b3fa89cafc4a96d858fbda8106e3cea6343432c1 → sha256:ab4fc46cb5e2702f640b28bdc9b460c98b73a9898dd61f7068229f140c26409a • docker.io/fallenbagel/jellyseerr latest: sha256:319b09a7db75d697bedc41f6784efd47b8f213a26819d636dec2050efe816567 → sha256:8ff28894f9fd28bf36626fb98ddd0ee79d778de22a5dc75d69a845281e19115b Firefox Addons: bitwarden: 2024.9.1 -> 2024.10.0 --- .../homie/modules/home-assistant/assist.nix | 26 ++++++++++ .../docker/forgejo/images/act_runner.nix | 4 +- .../modules/docker/forgejo/images/forgejo.nix | 6 +-- .../docker/forgejo/images/postgres.nix | 4 +- .../docker/freshrss/images/postgres.nix | 4 +- .../docker/freshrss/images/rss-bridge.nix | 4 +- .../docker/media/bazarr/images/bazarr.nix | 4 +- .../docker/media/sabnzbd/images/sabnzbd.nix | 4 +- .../docker/media/seerr/images/jellyseerr.nix | 4 +- .../docker/nextcloud/images/nextcloud.nix | 4 +- .../modules/docker/nextcloud/images/nginx.nix | 4 +- .../docker/nextcloud/images/onlyoffice.nix | 4 +- devices/nos/modules/llm.nix | 45 ++++++++++++++---- flake.lock | Bin 57131 -> 57131 bytes .../generated-firefox-addons.nix | 6 +-- packages/trash-d/default.nix | 15 +++++- 16 files changed, 103 insertions(+), 35 deletions(-) diff --git a/devices/homie/modules/home-assistant/assist.nix b/devices/homie/modules/home-assistant/assist.nix index ee550036..4d30e8e0 100644 --- a/devices/homie/modules/home-assistant/assist.nix +++ b/devices/homie/modules/home-assistant/assist.nix @@ -34,6 +34,32 @@ doCheck = false; pytestFlagsArray = ["intents/tests"]; }; + + # FIXME: some cfn-lint tests don't pass. make nixpkgs issue? + aws-sam-translator = prev.aws-sam-translator.overridePythonAttrs (o: rec { + version = "1.91.0"; + format = "setuptools"; + + src = pkgs.fetchFromGitHub { + owner = "aws"; + repo = "serverless-application-model"; + rev = "refs/tags/v${version}"; + hash = "sha256-jcRpn9STkfg1xTwYzkpoYyuG0Hrv0XnbW1h6+SxzEjA="; + }; + }); + + cfn-lint = prev.cfn-lint.overridePythonAttrs (o: { + version = "1.17.2+0a31357"; + format = "pyproject"; + src = pkgs.fetchFromGitHub { + owner = "aws-cloudformation"; + repo = "cfn-lint"; + rev = "0a31357504a25af5c0357a4b59e0d6b10f39571b"; + hash = "sha256-wsRK/DDKSCrGsz2h0rG10VLkpbVKqwTqC3UQ1j0ee/U="; + }; + nativeBuildInputs = [final.defusedxml]; + disabledTests = o.disabledTests ++ ["test_build_graph"]; + }); }; }) .overrideAttrs { diff --git a/devices/nos/modules/docker/forgejo/images/act_runner.nix b/devices/nos/modules/docker/forgejo/images/act_runner.nix index fe2800e7..6d175bc4 100644 --- a/devices/nos/modules/docker/forgejo/images/act_runner.nix +++ b/devices/nos/modules/docker/forgejo/images/act_runner.nix @@ -1,8 +1,8 @@ pkgs: pkgs.dockerTools.pullImage rec { imageName = "vegardit/gitea-act-runner"; - imageDigest = "sha256:06ab3f910c5015792942d8c338fd865d3dff1163cea2e8c3efd32330c7775802"; - sha256 = "1rvn2wgv54dlrw3g6hzzri543s668f2j6ppkys7g33pdbk435yvh"; + imageDigest = "sha256:74c7cddafcf4c8cadad1317f043cd7ed9f675617197051d38812b262a7afd82b"; + sha256 = "1ify93xr6vcphbflrh654vy8z8937v0qmhfnfn1fidzjg4774zar"; finalImageName = imageName; finalImageTag = "dind-latest"; } diff --git a/devices/nos/modules/docker/forgejo/images/forgejo.nix b/devices/nos/modules/docker/forgejo/images/forgejo.nix index 55872619..efa47f02 100644 --- a/devices/nos/modules/docker/forgejo/images/forgejo.nix +++ b/devices/nos/modules/docker/forgejo/images/forgejo.nix @@ -1,8 +1,8 @@ pkgs: pkgs.dockerTools.pullImage rec { imageName = "codeberg.org/forgejo/forgejo"; - imageDigest = "sha256:1f7c844e1c723ba09411a31f9a3ef8f551e6d77c9ff4f200ef36b870e8c8a3d7"; - sha256 = "0mcanyy9hyvypvakyg4416w03r4qjxl4rpf9z6mbmbxi9xy7lgd4"; + imageDigest = "sha256:085092799d1b25370956972185145607246d692da64c18ef55c2da20eecc855d"; + sha256 = "1qqla94dw8jr2rq85316xqs0lbihmlq75kpskdhlx6n9kh2z7x88"; finalImageName = imageName; - finalImageTag = "8"; + finalImageTag = "9"; } diff --git a/devices/nos/modules/docker/forgejo/images/postgres.nix b/devices/nos/modules/docker/forgejo/images/postgres.nix index 44b7a452..a45195da 100644 --- a/devices/nos/modules/docker/forgejo/images/postgres.nix +++ b/devices/nos/modules/docker/forgejo/images/postgres.nix @@ -1,8 +1,8 @@ pkgs: pkgs.dockerTools.pullImage rec { imageName = "postgres"; - imageDigest = "sha256:626046694f31a4a6a92511bbeca43f7e78ea8c6ae2f2ed70bbaa9b9abd5b67ab"; - sha256 = "1z0rq47apkk5y5qlpd9yqsdhgz2vzkslnrmm4m2dxzq394h0nmbh"; + imageDigest = "sha256:c9fcaef49a1ca7deae24437c705bf7485922f8a768a140006c5d8abb3f6cac7b"; + sha256 = "0mv71as2k3889idc0m451wr5av0v30f7rb5rrrzgdvy174w39vq6"; finalImageName = imageName; finalImageTag = "14"; } diff --git a/devices/nos/modules/docker/freshrss/images/postgres.nix b/devices/nos/modules/docker/freshrss/images/postgres.nix index 44b7a452..a45195da 100644 --- a/devices/nos/modules/docker/freshrss/images/postgres.nix +++ b/devices/nos/modules/docker/freshrss/images/postgres.nix @@ -1,8 +1,8 @@ pkgs: pkgs.dockerTools.pullImage rec { imageName = "postgres"; - imageDigest = "sha256:626046694f31a4a6a92511bbeca43f7e78ea8c6ae2f2ed70bbaa9b9abd5b67ab"; - sha256 = "1z0rq47apkk5y5qlpd9yqsdhgz2vzkslnrmm4m2dxzq394h0nmbh"; + imageDigest = "sha256:c9fcaef49a1ca7deae24437c705bf7485922f8a768a140006c5d8abb3f6cac7b"; + sha256 = "0mv71as2k3889idc0m451wr5av0v30f7rb5rrrzgdvy174w39vq6"; finalImageName = imageName; finalImageTag = "14"; } diff --git a/devices/nos/modules/docker/freshrss/images/rss-bridge.nix b/devices/nos/modules/docker/freshrss/images/rss-bridge.nix index e7260131..8a7bee65 100644 --- a/devices/nos/modules/docker/freshrss/images/rss-bridge.nix +++ b/devices/nos/modules/docker/freshrss/images/rss-bridge.nix @@ -1,8 +1,8 @@ pkgs: pkgs.dockerTools.pullImage rec { imageName = "rssbridge/rss-bridge"; - imageDigest = "sha256:c4fd6ad6e395310cc5d49665bfca638d09ba6cf9d03ad60a5c36361cb7c05251"; - sha256 = "1vicsdlyr103qxp1hnwa30qq25k7vi1m4p4hvb1sran1qd7hcas3"; + imageDigest = "sha256:da785b43f43e4f718c525d71453d6b7011db98c68434f02315cb7ee1ecc88889"; + sha256 = "0zd27m1gwiw2n2dslv1mxvi54p5gbgfilib99i7f8vh3sf0z7dcd"; finalImageName = imageName; finalImageTag = "latest"; } diff --git a/devices/nos/modules/docker/media/bazarr/images/bazarr.nix b/devices/nos/modules/docker/media/bazarr/images/bazarr.nix index 397805df..1d714430 100644 --- a/devices/nos/modules/docker/media/bazarr/images/bazarr.nix +++ b/devices/nos/modules/docker/media/bazarr/images/bazarr.nix @@ -1,8 +1,8 @@ pkgs: pkgs.dockerTools.pullImage rec { imageName = "ghcr.io/linuxserver/bazarr"; - imageDigest = "sha256:d7d431c29d1c94e7009b6b8b1eb5078689416278b5e6664cad864b28b9ead345"; - sha256 = "0j5yblqqljv7rcvfk2a9m4xlng3gq3amc740xljhmsac1wlsn0r1"; + imageDigest = "sha256:5baf571c177eda579fbaa080ade2135bce9097bc3c165f92d30e399df64d0bc4"; + sha256 = "1sgdlrkm3wmcbncv4488365vjhfg00vn4jghnrpd402cypvkrqch"; finalImageName = imageName; finalImageTag = "latest"; } diff --git a/devices/nos/modules/docker/media/sabnzbd/images/sabnzbd.nix b/devices/nos/modules/docker/media/sabnzbd/images/sabnzbd.nix index c0c4ff92..97e79172 100644 --- a/devices/nos/modules/docker/media/sabnzbd/images/sabnzbd.nix +++ b/devices/nos/modules/docker/media/sabnzbd/images/sabnzbd.nix @@ -1,8 +1,8 @@ pkgs: pkgs.dockerTools.pullImage rec { imageName = "ghcr.io/linuxserver/sabnzbd"; - imageDigest = "sha256:f87f9d4fa0e19f8e7b292638b3fa89cafc4a96d858fbda8106e3cea6343432c1"; - sha256 = "0vxk5w9yf9aray1aq13djs6yqpmd2082zjldb1m5ijfxba85iq9y"; + imageDigest = "sha256:ab4fc46cb5e2702f640b28bdc9b460c98b73a9898dd61f7068229f140c26409a"; + sha256 = "0zx1glxr3adwcd6migh8lal30aih9rzmlzkqzlz2vrad7j3i5h1y"; finalImageName = imageName; finalImageTag = "latest"; } diff --git a/devices/nos/modules/docker/media/seerr/images/jellyseerr.nix b/devices/nos/modules/docker/media/seerr/images/jellyseerr.nix index ee9ffaf3..47c10df4 100644 --- a/devices/nos/modules/docker/media/seerr/images/jellyseerr.nix +++ b/devices/nos/modules/docker/media/seerr/images/jellyseerr.nix @@ -1,8 +1,8 @@ pkgs: pkgs.dockerTools.pullImage rec { imageName = "docker.io/fallenbagel/jellyseerr"; - imageDigest = "sha256:319b09a7db75d697bedc41f6784efd47b8f213a26819d636dec2050efe816567"; - sha256 = "1c1g70kycqk97ia6nqws44d6paw6k70xh5dxmmqh0hmizzdhlbvi"; + imageDigest = "sha256:8ff28894f9fd28bf36626fb98ddd0ee79d778de22a5dc75d69a845281e19115b"; + sha256 = "01q9bx0arpxqn7npxsyqkgzs0jvnbzq5kiz1y6wwn0g5hl0jcb8p"; finalImageName = imageName; finalImageTag = "latest"; } diff --git a/devices/nos/modules/docker/nextcloud/images/nextcloud.nix b/devices/nos/modules/docker/nextcloud/images/nextcloud.nix index 2a6031d2..cb7cfeef 100644 --- a/devices/nos/modules/docker/nextcloud/images/nextcloud.nix +++ b/devices/nos/modules/docker/nextcloud/images/nextcloud.nix @@ -1,8 +1,8 @@ pkgs: pkgs.dockerTools.pullImage rec { imageName = "nextcloud"; - imageDigest = "sha256:38149fa4fefab1e56a976d37db0bb22a049c4e6faf4e1d755fdc536ff5e7f69a"; - sha256 = "006vd51qnmy30jxyfby870fwxkzi832ll5jhi7fkma4hkh8h44vn"; + imageDigest = "sha256:29088f7a332ae59f57b0b121bd9d6c6cf0dda1c536c8b7c889f28182e1c26601"; + sha256 = "00r8l6h2wjqygr9sarp5s6a20gvj1rw4wq7qqmdrl0sm13vzficg"; finalImageName = imageName; finalImageTag = "fpm"; } diff --git a/devices/nos/modules/docker/nextcloud/images/nginx.nix b/devices/nos/modules/docker/nextcloud/images/nginx.nix index f5ae8a9c..3fdf4a8a 100644 --- a/devices/nos/modules/docker/nextcloud/images/nginx.nix +++ b/devices/nos/modules/docker/nextcloud/images/nginx.nix @@ -1,8 +1,8 @@ pkgs: pkgs.dockerTools.pullImage rec { imageName = "nginx"; - imageDigest = "sha256:d2eb56950b84efe34f966a2b92efb1a1a2ea53e7e93b94cdf45a27cf3cd47fc0"; - sha256 = "0vzd1mh3z88wgc7cwrb1a7yhjzq0ldrg8rw5d7iak9nxx91p8w6q"; + imageDigest = "sha256:28402db69fec7c17e179ea87882667f1e054391138f77ffaf0c3eb388efc3ffb"; + sha256 = "0zas3xrxlrr1qd3hc5p63q5hpja3cdfvv6alx10j8q489wn21m0s"; finalImageName = imageName; finalImageTag = "latest"; } diff --git a/devices/nos/modules/docker/nextcloud/images/onlyoffice.nix b/devices/nos/modules/docker/nextcloud/images/onlyoffice.nix index 976bb640..0aeb358d 100644 --- a/devices/nos/modules/docker/nextcloud/images/onlyoffice.nix +++ b/devices/nos/modules/docker/nextcloud/images/onlyoffice.nix @@ -1,8 +1,8 @@ pkgs: pkgs.dockerTools.pullImage rec { imageName = "onlyoffice/documentserver"; - imageDigest = "sha256:b9e3c35eab182d3de822a53b109b0f27070f6eacea3b1388b9c50d1182f638f2"; - sha256 = "1r59f8b1f8aaps7ghnlb4k9h29rbzr1mlpm1sy4gb7cqyz0i7l8y"; + imageDigest = "sha256:2b0180b8ca27b36f27e0ddea0e9e8a5b1d40fcf478dc31f7e2efcfb9ce1bf42a"; + sha256 = "1yq92d7wqjwkbhacxjrw85426iyrv59l4rh2cbphbgpavbakzqym"; finalImageName = imageName; finalImageTag = "latest"; } diff --git a/devices/nos/modules/llm.nix b/devices/nos/modules/llm.nix index 2b5684fa..a484b4cc 100644 --- a/devices/nos/modules/llm.nix +++ b/devices/nos/modules/llm.nix @@ -1,4 +1,8 @@ -{self, ...}: let +{ + pkgs, + self, + ... +}: let tailscaleIP = "100.64.0.4"; in { imports = [self.nixosModules.wyoming-plus]; @@ -8,14 +12,39 @@ in { services = { # Speech-to-Text - wyoming.faster-whisper.servers."en" = { - enable = true; - uri = "tcp://${tailscaleIP}:10300"; + wyoming.faster-whisper = { + # FIXME: wyoming-faster-whisper requires av < 13.0.0. make issue in nixpkgs? + package = pkgs.wyoming-faster-whisper.override { + python3Packages = + (pkgs.python3.override { + packageOverrides = pyfinal: pyprev: { + av = + (pyprev.av.override { + ffmpeg-headless = pkgs.ffmpeg_6-headless; + }) + .overridePythonAttrs (o: rec { + version = "12.3.0"; + src = pkgs.fetchFromGitHub { + owner = "PyAV-Org"; + repo = "PyAV"; + rev = "refs/tags/v${version}"; + hash = "sha256-ezeYv55UzNnnYDjrMz5YS5g2pV6U/Fxx3e2bCoPP3eI="; + }; + }); + }; + }) + .pkgs; + }; - # see https://github.com/rhasspy/wyoming-faster-whisper/releases/tag/v2.0.0 - model = "medium"; - language = "en"; - device = "cuda"; + servers."en" = { + enable = true; + uri = "tcp://${tailscaleIP}:10300"; + + # see https://github.com/rhasspy/wyoming-faster-whisper/releases/tag/v2.0.0 + model = "medium"; + language = "en"; + device = "cuda"; + }; }; # Text-to-Intent diff --git a/flake.lock b/flake.lock index c8273ae89bf153ca6d63baff620e2b4e921013f1..12e16c81a584078c35606a999e9502b733be295c 100644 GIT binary patch delta 2108 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