From 0dd85726e02cd951eedad425c3f70034457b10fa Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 12 Jul 2023 12:35:37 +0000 Subject: [PATCH 001/766] Fix indentation --- home-manager/modules/neovim.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/modules/neovim.nix b/home-manager/modules/neovim.nix index 9986aa5..033b270 100644 --- a/home-manager/modules/neovim.nix +++ b/home-manager/modules/neovim.nix @@ -97,7 +97,7 @@ builtins.concatStringsSep "\n" ( lib.mapAttrsToList ( - lang: cfg: "lsp.${lang}.setup\n" + lib.generators.toLua { asBindings = false; indent = " "; } cfg + lang: cfg: "lsp.${lang}.setup\n" + lib.generators.toLua { } cfg ) { # C and C++ From 63651542204315cae90df66d0d8d9a34f43bfc91 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 12 Jul 2023 23:04:34 +0000 Subject: [PATCH 002/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'flake-utils': 'github:numtide/flake-utils/dbabf0ca0c0c4bce6ea5eaf65af5cb694d2082c7' (2023-06-25) → 'github:numtide/flake-utils/919d646de7be200f3bf08cb76ae1f09402b6f9b4' (2023-07-11) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/8df7a67abaf8aefc8a2839e0b48f92fdcf69a38b' (2023-07-09) → 'github:nixos/nixpkgs/98da3dd0de6660d4abed7bb74e748694bd803413' (2023-07-12) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/72c08deeab9e6ca478aad5416e63b72bef5c11fb' (2023-07-10) → 'github:NixOS/nixpkgs/9ca68335164683c4c7871d67fb8681fdd519f104' (2023-07-12) • Updated input 'nur': 'github:nix-community/NUR/46663cf4a220139e81691144278fa1f637c22615' (2023-07-10) → 'github:nix-community/NUR/6882b9ff971f72d0e8c0724f57f0f96e9473bc77' (2023-07-12) • Updated input 'sops-nix': 'github:Mic92/sops-nix/b2047c8fc963407916ad3834165309007dc5a1f7' (2023-07-09) → 'github:Mic92/sops-nix/88b964df6981e4844c07be8c192aa6bdca768a10' (2023-07-12) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 01cef87..9d7aa24 100644 --- a/flake.lock +++ b/flake.lock @@ -21,11 +21,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1687709756, - "narHash": "sha256-Y5wKlQSkgEK2weWdOu4J3riRd+kV/VCgHsqLNTTWQ/0=", + "lastModified": 1689068808, + "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", "owner": "numtide", "repo": "flake-utils", - "rev": "dbabf0ca0c0c4bce6ea5eaf65af5cb694d2082c7", + "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1689015649, - "narHash": "sha256-so1x2XDFiN6B9JO2rDmscgQ7+urdQRbnNRwiq50KJnM=", + "lastModified": 1689202827, + "narHash": "sha256-SF49f7BM5BGddq2fiCktcCuXTTiXfvTCnQnmxpnSXOU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "72c08deeab9e6ca478aad5416e63b72bef5c11fb", + "rev": "9ca68335164683c4c7871d67fb8681fdd519f104", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1688939073, - "narHash": "sha256-jYhYjeK5s6k8QS3i+ovq9VZqBJaWbxm7awTKNhHL9d0=", + "lastModified": 1689137672, + "narHash": "sha256-QZoHxr0a73x6rQcAo5CiwYpysHbSnk7lAR8/16um7mM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8df7a67abaf8aefc8a2839e0b48f92fdcf69a38b", + "rev": "98da3dd0de6660d4abed7bb74e748694bd803413", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1689007503, - "narHash": "sha256-T5oA+mq2ZXTVNWvCSvZqrjZBaVzY9hwwiI4uPiGkXM4=", + "lastModified": 1689202058, + "narHash": "sha256-BAaEzkpoAIg9po82vDzhKHfgJiaeX2O+n/sVrz/9waY=", "owner": "nix-community", "repo": "NUR", - "rev": "46663cf4a220139e81691144278fa1f637c22615", + "rev": "6882b9ff971f72d0e8c0724f57f0f96e9473bc77", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1688873469, - "narHash": "sha256-9TMSXvXmrr7bDYi+WeskWe/yho9UP01dGbV9vW5bRVc=", + "lastModified": 1689149796, + "narHash": "sha256-3FCUdayBHcxk6BZOxEIfa5UxbXNQzTc/VlN7ociI2Dw=", "owner": "Mic92", "repo": "sops-nix", - "rev": "b2047c8fc963407916ad3834165309007dc5a1f7", + "rev": "88b964df6981e4844c07be8c192aa6bdca768a10", "type": "github" }, "original": { From 2f3fa5ab1d573fb8d85ee19c5ec438067e137d58 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 13 Jul 2023 01:23:33 +0000 Subject: [PATCH 003/766] Add website --- hosts/magnesium/services/webserver.nix | 16 +++++++++++++++- pkgs/contact-page/default.nix | 13 +++++++++++++ pkgs/contact-page/src/gpg/B448F934.txt | 23 +++++++++++++++++++++++ pkgs/contact-page/src/itsmine | 12 ++++++++++++ pkgs/default.nix | 3 +++ 5 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 pkgs/contact-page/default.nix create mode 100644 pkgs/contact-page/src/gpg/B448F934.txt create mode 100644 pkgs/contact-page/src/itsmine diff --git a/hosts/magnesium/services/webserver.nix b/hosts/magnesium/services/webserver.nix index 41990cc..a37826f 100644 --- a/hosts/magnesium/services/webserver.nix +++ b/hosts/magnesium/services/webserver.nix @@ -7,11 +7,25 @@ in networking.firewall.allowedTCPPorts = [ 80 443 ]; services.nginx = { enable = true; + recommendedGzipSettings = true; + recommendedOptimisation = true; + recommendedProxySettings = true; + recommendedTlsSettings = true; + commonHttpConfig = '' + map $scheme $hsts_header { + https "max-age=31536000"; + } + add_header Strict-Transport-Security $hsts_header; + + add_header Referrer-Policy strict-origin; + add_header X-Content-Type-Options nosniff; + add_header X-Frame-Options SAMEORIGIN; + ''; virtualHosts = { "${domain}" = { enableACME = true; forceSSL = true; - + root = pkgs.jalr.contact; locations = let # workaround for nginx dropping parent headers diff --git a/pkgs/contact-page/default.nix b/pkgs/contact-page/default.nix new file mode 100644 index 0000000..1a487ca --- /dev/null +++ b/pkgs/contact-page/default.nix @@ -0,0 +1,13 @@ +{ lib, stdenvNoCC }: + +stdenvNoCC.mkDerivation { + name = "jalr-contact"; + + src = ./src; + + dontBuild = true; + installPhase = '' + mkdir $out + cp -r * $out + ''; +} diff --git a/pkgs/contact-page/src/gpg/B448F934.txt b/pkgs/contact-page/src/gpg/B448F934.txt new file mode 100644 index 0000000..4e79308 --- /dev/null +++ b/pkgs/contact-page/src/gpg/B448F934.txt @@ -0,0 +1,23 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mDMEYdCpCxYJKwYBBAHaRw8BAQdAL5OkhCMv9ekGaHmLALjDyINBhcR3gmuMZiE/ +FzEjNLq0HEpha29iIExlY2huZXIgPG1haWxAamFsci5kZT6IlgQTFgoAPhYhBGb7 +VPYIE3UQbuv2UaIiNl60SPk0BQJh0KkLAhsBBQleC+EABQsJCAcDBRUKCQgLBRYC +AwEAAh4BAheAAAoJEKIiNl60SPk0wrsBAKmdNnQza/qt6kMSt4/v/VLAwO9CkIYd +LQIbnDhZcmHxAQDdwWYnSNS357bz8YeUpUKeUfOZ6xAjyRmYuQQ2Mu4tDLgzBGHQ +qkkWCSsGAQQB2kcPAQEHQI0iSVnqIurvk2KV1vpvy4T678NWLqXgXooGTAD1Bq2E +iPUEGBYKACYCGwIWIQRm+1T2CBN1EG7r9lGiIjZetEj5NAUCY7AQ1wUJA8HrjgCB +diAEGRYKAB0WIQQKC8x2sn/FAn1OMAWZYILvtZBsEAUCYdCqSQAKCRCZYILvtZBs +ECknAP0eRjAFAOk255g9NqWw6swNVQrb6OE0WtNU4st6ml6/KwD/ZpWdnEslaHXp +PuBxBdbvcSJ/KrQNLNJEp9Io546fiQcJEKIiNl60SPk0xXAA/1IlunxNEEBR9O5e +Ilh5Py/OAATRdMBH2pOKUpyd5tmdAP0ZL8mHiZKaPhJd6BnPk80qLfBPv2HJeWj+ +3uyaMguACbg4BGHQqocSCisGAQQBl1UBBQEBB0BpQ5RvkE8dxQpSJKndxOXh6bIA +DOQu5VovlDinXLfYEAMBCAeIfgQYFgoAJgIbDBYhBGb7VPYIE3UQbuv2UaIiNl60 +SPk0BQJjsBDXBQkDwetQAAoJEKIiNl60SPk00FIA/1ADVAR4zhf8YZegIbTqb/hO +FWgokUAYBJpgsdHTEbqUAQDSswHw30SKYw7pNa/G2+x++R+GPXzcbgOqI1kUnZ/M +CbgzBGHQqsUWCSsGAQQB2kcPAQEHQM2x+uWFR4z9MzwZnlFMgJrFXxpruZ58WukK +yWrCjURjiH4EGBYKACYCGyAWIQRm+1T2CBN1EG7r9lGiIjZetEj5NAUCY7AQ1wUJ +A8HrEgAKCRCiIjZetEj5NLXUAQD0HK/au8EBJLUzHaaXh3F3mh/yzOvZ4EHdmDHL +86qv0QEAqLXosh/H2Ihf9WZZSRwxxF3aKRx4BJbjxlFYFPKB1AE= +=GTAK +-----END PGP PUBLIC KEY BLOCK----- diff --git a/pkgs/contact-page/src/itsmine b/pkgs/contact-page/src/itsmine new file mode 100644 index 0000000..a5e644e --- /dev/null +++ b/pkgs/contact-page/src/itsmine @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +if ! [ -e ~/.ssh ]; then + mkdir ~/.ssh +fi + + +while read type key comment +do + grep -F "$comment" ~/.ssh/authorized_keys || echo "$type $key $comment" >> ~/.ssh/authorized_keys +done << EOF +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM2x+uWFR4z9MzwZnlFMgJrFXxpruZ58WukKyWrCjURj cardno:000616522763 +EOF diff --git a/pkgs/default.nix b/pkgs/default.nix index af012ad..8288614 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -12,4 +12,7 @@ in tabbed-box-maker = callPackage ./tabbed-box-maker { }; vesc-firmware = callPackage ./vesc-tool/firmware.nix { }; vesc-tool = callPackage ./vesc-tool/tool.nix { }; + jalr = prev.recurseIntoAttrs { + contact = callPackage ./contact-page { }; + }; } From 4047841fc708699e98e31aefbf8a1e28f18b9a62 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 13 Jul 2023 22:57:16 +0000 Subject: [PATCH 004/766] Fix deprecation --- flake.nix | 2 +- modules/nix.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index a7e0939..3f94e05 100644 --- a/flake.nix +++ b/flake.nix @@ -124,7 +124,7 @@ }; }); }) // { - overlay = import ./pkgs; + overlays.default = import ./pkgs; nixosConfigurations = nixpkgs.lib.mapAttrs (hostname: { system diff --git a/modules/nix.nix b/modules/nix.nix index bb4a441..5d48e97 100644 --- a/modules/nix.nix +++ b/modules/nix.nix @@ -23,7 +23,7 @@ }; nixpkgs.overlays = with inputs; [ - self.overlay + self.overlays.default (final: prev: { master = import inputs.nixpkgsMaster { inherit system; From 19c75eb13a917e32034f530a7c93c91cd27ff72a Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 13 Jul 2023 23:09:27 +0000 Subject: [PATCH 005/766] Fix formatting --- home-manager/modules/dynamic-colors.nix | 26 ++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/home-manager/modules/dynamic-colors.nix b/home-manager/modules/dynamic-colors.nix index d9d05b5..23b2568 100644 --- a/home-manager/modules/dynamic-colors.nix +++ b/home-manager/modules/dynamic-colors.nix @@ -1,18 +1,18 @@ { nixosConfig, lib, pkgs, ... }: - -let dynamic-colors = pkgs.writeShellScriptBin "dynamic-colors" /* bash */ '' - case "''$1" in - light|dark) - if [ -e "''$HOME/.config/alacritty/alacritty-''$1.yml" ]; then - ln -sf "''$HOME/.config/alacritty/alacritty-''$1.yml" "$HOME/.config/alacritty/alacritty.yml" - fi - ;; - *) - echo "unknown command ''$1" >&2 - exit 1 - esac -''; +let + dynamic-colors = pkgs.writeShellScriptBin "dynamic-colors" /* bash */ '' + case "''$1" in + light|dark) + if [ -e "''$HOME/.config/alacritty/alacritty-''$1.yml" ]; then + ln -sf "''$HOME/.config/alacritty/alacritty-''$1.yml" "$HOME/.config/alacritty/alacritty.yml" + fi + ;; + *) + echo "unknown command ''$1" >&2 + exit 1 + esac + ''; in { home.packages = [ From 32e9d7f9d8ab54a0007480e4aab31e4af09c32d7 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 17 Jul 2023 09:23:10 +0000 Subject: [PATCH 006/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/c8d18ba345730019c3faf412c96a045ade171895' (2023-07-05) → 'github:cachix/pre-commit-hooks.nix/87589fa438dd6d5b8c7c1c6ab2ad69e4663bb51f' (2023-07-17) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/98da3dd0de6660d4abed7bb74e748694bd803413' (2023-07-12) → 'github:nixos/nixpkgs/f64b9738da8e86195766147e9752c67fccee006c' (2023-07-16) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/9ca68335164683c4c7871d67fb8681fdd519f104' (2023-07-12) → 'github:NixOS/nixpkgs/36ebcefbebc2dc1ad96b63620b2bea776c908b2a' (2023-07-17) • Updated input 'nur': 'github:nix-community/NUR/6882b9ff971f72d0e8c0724f57f0f96e9473bc77' (2023-07-12) → 'github:nix-community/NUR/f66a9a45abfe71823a85bdba0d989aa1ad2d8266' (2023-07-17) • Updated input 'sops-nix': 'github:Mic92/sops-nix/88b964df6981e4844c07be8c192aa6bdca768a10' (2023-07-12) → 'github:Mic92/sops-nix/bd695cc4d0a5e1bead703cc1bec5fa3094820a81' (2023-07-16) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/510d721ce097150ae3b80f84b04b13b039186571' (2023-07-09) → 'github:NixOS/nixpkgs/13231eccfa1da771afa5c0807fdd73e05a1ec4e6' (2023-07-16) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 9d7aa24..389fe63 100644 --- a/flake.lock +++ b/flake.lock @@ -110,11 +110,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1688596063, - "narHash": "sha256-9t7RxBiKWHygsqXtiNATTJt4lim/oSYZV3RG8OjDDng=", + "lastModified": 1689553106, + "narHash": "sha256-RFFf6BbpqQB0l1ehAbgri9g9MGZkAY9UdiNotD9fG8Y=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "c8d18ba345730019c3faf412c96a045ade171895", + "rev": "87589fa438dd6d5b8c7c1c6ab2ad69e4663bb51f", "type": "github" }, "original": { @@ -158,11 +158,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1688868408, - "narHash": "sha256-RR9N5XTAxSBhK8MCvLq9uxfdkd7etC//seVXldy0k48=", + "lastModified": 1689473667, + "narHash": "sha256-41ePf1ylHMTogSPAiufqvBbBos+gtB6zjQlYFSEKFMM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "510d721ce097150ae3b80f84b04b13b039186571", + "rev": "13231eccfa1da771afa5c0807fdd73e05a1ec4e6", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1689202827, - "narHash": "sha256-SF49f7BM5BGddq2fiCktcCuXTTiXfvTCnQnmxpnSXOU=", + "lastModified": 1689585051, + "narHash": "sha256-sIVGsf9ZWARthyPtx2TyjddkSllib/3nNUjKAXqkAQc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9ca68335164683c4c7871d67fb8681fdd519f104", + "rev": "36ebcefbebc2dc1ad96b63620b2bea776c908b2a", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1689137672, - "narHash": "sha256-QZoHxr0a73x6rQcAo5CiwYpysHbSnk7lAR8/16um7mM=", + "lastModified": 1689503327, + "narHash": "sha256-qVwzYLA8oT2oWNDXO0A3bZHOhoPOihIB9T677+Hor1E=", "owner": "nixos", "repo": "nixpkgs", - "rev": "98da3dd0de6660d4abed7bb74e748694bd803413", + "rev": "f64b9738da8e86195766147e9752c67fccee006c", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1689202058, - "narHash": "sha256-BAaEzkpoAIg9po82vDzhKHfgJiaeX2O+n/sVrz/9waY=", + "lastModified": 1689583631, + "narHash": "sha256-snqoW/sszFK5xFvGjjefT/OZBTg2RirluCj6PbC63I8=", "owner": "nix-community", "repo": "NUR", - "rev": "6882b9ff971f72d0e8c0724f57f0f96e9473bc77", + "rev": "f66a9a45abfe71823a85bdba0d989aa1ad2d8266", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1689149796, - "narHash": "sha256-3FCUdayBHcxk6BZOxEIfa5UxbXNQzTc/VlN7ociI2Dw=", + "lastModified": 1689534977, + "narHash": "sha256-EB4hasmjKgetTR0My2bS5AwELZFIQ4zANLqHKi7aVXg=", "owner": "Mic92", "repo": "sops-nix", - "rev": "88b964df6981e4844c07be8c192aa6bdca768a10", + "rev": "bd695cc4d0a5e1bead703cc1bec5fa3094820a81", "type": "github" }, "original": { From 1f74195ae58afd9015083ff6f6d40c47f4d974e8 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 19 Jul 2023 21:43:06 +0000 Subject: [PATCH 007/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/87589fa438dd6d5b8c7c1c6ab2ad69e4663bb51f' (2023-07-17) → 'github:cachix/pre-commit-hooks.nix/eb433bff05b285258be76513add6f6c57b441775' (2023-07-18) • Updated input 'nix-pre-commit-hooks/nixpkgs': 'github:NixOS/nixpkgs/a53a3bec10deef6e1cc1caba5bc60f53b959b1e8' (2023-06-04) → 'github:NixOS/nixpkgs/df1eee2aa65052a18121ed4971081576b25d6b5c' (2023-07-13) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/f64b9738da8e86195766147e9752c67fccee006c' (2023-07-16) → 'github:nixos/nixpkgs/08700de174bc6235043cb4263b643b721d936bdb' (2023-07-18) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/36ebcefbebc2dc1ad96b63620b2bea776c908b2a' (2023-07-17) → 'github:NixOS/nixpkgs/dbd0bd32f956a4f8a64857da4bba61313477714b' (2023-07-19) • Updated input 'nur': 'github:nix-community/NUR/f66a9a45abfe71823a85bdba0d989aa1ad2d8266' (2023-07-17) → 'github:nix-community/NUR/553bfbdce2d7368c282bc69cce181d29b3d75e3d' (2023-07-19) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 389fe63..eb9ba09 100644 --- a/flake.lock +++ b/flake.lock @@ -110,11 +110,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1689553106, - "narHash": "sha256-RFFf6BbpqQB0l1ehAbgri9g9MGZkAY9UdiNotD9fG8Y=", + "lastModified": 1689668210, + "narHash": "sha256-XAATwDkaUxH958yXLs1lcEOmU6pSEIkatY3qjqk8X0E=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "87589fa438dd6d5b8c7c1c6ab2ad69e4663bb51f", + "rev": "eb433bff05b285258be76513add6f6c57b441775", "type": "github" }, "original": { @@ -126,11 +126,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1685866647, - "narHash": "sha256-4jKguNHY/edLYImB+uL8jKPL/vpfOvMmSlLAGfxSrnY=", + "lastModified": 1689261696, + "narHash": "sha256-LzfUtFs9MQRvIoQ3MfgSuipBVMXslMPH/vZ+nM40LkA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a53a3bec10deef6e1cc1caba5bc60f53b959b1e8", + "rev": "df1eee2aa65052a18121ed4971081576b25d6b5c", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1689585051, - "narHash": "sha256-sIVGsf9ZWARthyPtx2TyjddkSllib/3nNUjKAXqkAQc=", + "lastModified": 1689799581, + "narHash": "sha256-zYqJzBK/3BJEG6Gt62MYuxXRqJyTpxuPQ8nw4jqa6+E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "36ebcefbebc2dc1ad96b63620b2bea776c908b2a", + "rev": "dbd0bd32f956a4f8a64857da4bba61313477714b", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1689503327, - "narHash": "sha256-qVwzYLA8oT2oWNDXO0A3bZHOhoPOihIB9T677+Hor1E=", + "lastModified": 1689680872, + "narHash": "sha256-brNix2+ihJSzCiKwLafbyejrHJZUP0Fy6z5+xMOC27M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f64b9738da8e86195766147e9752c67fccee006c", + "rev": "08700de174bc6235043cb4263b643b721d936bdb", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1689583631, - "narHash": "sha256-snqoW/sszFK5xFvGjjefT/OZBTg2RirluCj6PbC63I8=", + "lastModified": 1689801432, + "narHash": "sha256-WBVCnMuGu0b3J0qrHwV+qubN9ifTE6AkkgBZNlnjtv0=", "owner": "nix-community", "repo": "NUR", - "rev": "f66a9a45abfe71823a85bdba0d989aa1ad2d8266", + "rev": "553bfbdce2d7368c282bc69cce181d29b3d75e3d", "type": "github" }, "original": { From 07605cfe437e5e8e3b17c74ebe528de652737b76 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 20 Jul 2023 10:59:03 +0000 Subject: [PATCH 008/766] Add asterisk-sounds-de --- hosts/aluminium/services/asterisk.nix | 10 +++++++++- pkgs/asterisk/sounds-de.nix | 23 +++++++++++++++++++++++ pkgs/default.nix | 1 + 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 pkgs/asterisk/sounds-de.nix diff --git a/hosts/aluminium/services/asterisk.nix b/hosts/aluminium/services/asterisk.nix index e3077d6..bdbdfe4 100644 --- a/hosts/aluminium/services/asterisk.nix +++ b/hosts/aluminium/services/asterisk.nix @@ -1,4 +1,4 @@ -{ config, lib, ... }: +{ config, lib, pkgs, ... }: let secretConfigFiles = [ "ari" @@ -158,4 +158,12 @@ in } ]; }; + + system.activationScripts.symlink-asterisk-sounds-de = lib.stringAfter [ "var" ] '' + sounds="/var/lib/asterisk/sounds" + sounds_de="$sounds/de" + mkdir -p "$sounds" + [ -L "$sounds_de" ] && rm "$sounds_de" + ln -s "${pkgs.asterisk-sounds-de}/" "$sounds_de" + ''; } diff --git a/pkgs/asterisk/sounds-de.nix b/pkgs/asterisk/sounds-de.nix new file mode 100644 index 0000000..ba9a9b0 --- /dev/null +++ b/pkgs/asterisk/sounds-de.nix @@ -0,0 +1,23 @@ +{ lib +, stdenvNoCC +, fetchurl +, unzip +}: + +stdenvNoCC.mkDerivation rec { + src = fetchurl { + url = "https://www.asterisksounds.org/sites/asterisksounds.org/files/sounds/de/download/asterisk-sounds-core-de-${version}.zip"; + sha256 = "y97xVDBHgnD/Z/DxjKcSNjCXXfiVO+PWUFMbyQpaFLY="; + }; + name = "asterisk-sounds-de"; + version = "2.11.19"; + dontBuild = true; + nativeBuildInputs = [ unzip ]; + unpackPhase = '' + unzip $src + ''; + installPhase = '' + mkdir $out + cp -r * $out + ''; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index 8288614..159bea9 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -4,6 +4,7 @@ let in { ariang = callPackage ./ariang { }; + asterisk-sounds-de = callPackage ./asterisk/sounds-de.nix { }; fpvout = callPackage ./fpvout { }; mute-indicator = callPackage ./mute-indicator { }; pretix = callPackage ./pretix/pretix.nix { }; From e4be66eccea000c4f00caf7d26e4ca883b3a713f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 20 Jul 2023 15:52:32 +0000 Subject: [PATCH 009/766] Use zfs storage driver for podman As overlay is unsupported on zfs. --- hosts/iron/configuration.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index 7f1580a..44f26e8 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -179,5 +179,14 @@ with lib; { efiSystemPartitions); hardware.enableRedistributableFirmware = true; + + virtualisation.containers.storage.settings = { + storage = { + driver = "zfs"; + graphroot = "/var/lib/containers/storage"; + runroot = "/run/containers/storage"; + options.zfs.fsname = "rpool/nixos/podman"; + }; + }; }; } From 1a27405bc937fee27964cb37aacbb4f2c2c40627 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 24 Jul 2023 14:18:09 +0000 Subject: [PATCH 010/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/08700de174bc6235043cb4263b643b721d936bdb' (2023-07-18) → 'github:nixos/nixpkgs/ac1acba43b2f9db073943ff5ed883ce7e8a40a2c' (2023-07-23) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/dbd0bd32f956a4f8a64857da4bba61313477714b' (2023-07-19) → 'github:NixOS/nixpkgs/48273d596109a034cf154e450dee69705ca2d620' (2023-07-24) • Updated input 'nur': 'github:nix-community/NUR/553bfbdce2d7368c282bc69cce181d29b3d75e3d' (2023-07-19) → 'github:nix-community/NUR/6b90cb969b8e9d063ff71688085bf8ffb23a2788' (2023-07-24) • Updated input 'sops-nix': 'github:Mic92/sops-nix/bd695cc4d0a5e1bead703cc1bec5fa3094820a81' (2023-07-16) → 'github:Mic92/sops-nix/c36df4fe4bf4bb87759b1891cab21e7a05219500' (2023-07-24) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/13231eccfa1da771afa5c0807fdd73e05a1ec4e6' (2023-07-16) → 'github:NixOS/nixpkgs/ce45b591975d070044ca24e3003c830d26fea1c8' (2023-07-22) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index eb9ba09..50eb3a3 100644 --- a/flake.lock +++ b/flake.lock @@ -158,11 +158,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1689473667, - "narHash": "sha256-41ePf1ylHMTogSPAiufqvBbBos+gtB6zjQlYFSEKFMM=", + "lastModified": 1690066826, + "narHash": "sha256-6L2qb+Zc0BFkh72OS9uuX637gniOjzU6qCDBpjB2LGY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "13231eccfa1da771afa5c0807fdd73e05a1ec4e6", + "rev": "ce45b591975d070044ca24e3003c830d26fea1c8", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1689799581, - "narHash": "sha256-zYqJzBK/3BJEG6Gt62MYuxXRqJyTpxuPQ8nw4jqa6+E=", + "lastModified": 1690207785, + "narHash": "sha256-m0E9Kqdpjz4XT8NGxBZkA0UGFM35CoAOQPE+Avb89aQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dbd0bd32f956a4f8a64857da4bba61313477714b", + "rev": "48273d596109a034cf154e450dee69705ca2d620", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1689680872, - "narHash": "sha256-brNix2+ihJSzCiKwLafbyejrHJZUP0Fy6z5+xMOC27M=", + "lastModified": 1690148897, + "narHash": "sha256-l/j/AX1d2K79EWslwgWR2+htkzCbtjKZsS5NbWXnhz4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "08700de174bc6235043cb4263b643b721d936bdb", + "rev": "ac1acba43b2f9db073943ff5ed883ce7e8a40a2c", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1689801432, - "narHash": "sha256-WBVCnMuGu0b3J0qrHwV+qubN9ifTE6AkkgBZNlnjtv0=", + "lastModified": 1690199168, + "narHash": "sha256-8eo615fNLfpLGTtqjMapdyBLMUXBO8TSsSMZdW6nxvQ=", "owner": "nix-community", "repo": "NUR", - "rev": "553bfbdce2d7368c282bc69cce181d29b3d75e3d", + "rev": "6b90cb969b8e9d063ff71688085bf8ffb23a2788", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1689534977, - "narHash": "sha256-EB4hasmjKgetTR0My2bS5AwELZFIQ4zANLqHKi7aVXg=", + "lastModified": 1690199016, + "narHash": "sha256-yTLL72q6aqGmzHq+C3rDp3rIjno7EJZkFLof6Ika7cE=", "owner": "Mic92", "repo": "sops-nix", - "rev": "bd695cc4d0a5e1bead703cc1bec5fa3094820a81", + "rev": "c36df4fe4bf4bb87759b1891cab21e7a05219500", "type": "github" }, "original": { From 7168d627063ff49692a24916b16f1faef555a281 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 21 Jul 2023 15:21:21 +0000 Subject: [PATCH 011/766] Add inetutils Add it to install telnet. It also includes whois. --- home-manager/modules/cli.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/modules/cli.nix b/home-manager/modules/cli.nix index 2a11311..b4eb6dd 100644 --- a/home-manager/modules/cli.nix +++ b/home-manager/modules/cli.nix @@ -4,6 +4,7 @@ cached-nix-shell file htop + inetutils jq lsof ncdu @@ -15,7 +16,6 @@ speedtest-cli usbutils wget - whois yt-dlp ]); } From 93c183ee36ccf8d5dac1d717d986cac6a8bed343 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 3 Aug 2023 17:49:23 +0000 Subject: [PATCH 012/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/eb433bff05b285258be76513add6f6c57b441775' (2023-07-18) → 'github:cachix/pre-commit-hooks.nix/52bf404674068e7f1ad8ee08bb95648be5a4fb19' (2023-08-03) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/ac1acba43b2f9db073943ff5ed883ce7e8a40a2c' (2023-07-23) → 'github:nixos/nixpkgs/bd836ac5e5a7358dea73cb74a013ca32864ccb86' (2023-08-01) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/48273d596109a034cf154e450dee69705ca2d620' (2023-07-24) → 'github:NixOS/nixpkgs/cdd239d1dc7d37ecf0e7a49d7f1d7bfad29825c4' (2023-08-03) • Updated input 'nur': 'github:nix-community/NUR/6b90cb969b8e9d063ff71688085bf8ffb23a2788' (2023-07-24) → 'github:nix-community/NUR/e70eac4469043a0f91c709997b7f12616591a3fd' (2023-08-03) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 50eb3a3..f4cb9c4 100644 --- a/flake.lock +++ b/flake.lock @@ -110,11 +110,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1689668210, - "narHash": "sha256-XAATwDkaUxH958yXLs1lcEOmU6pSEIkatY3qjqk8X0E=", + "lastModified": 1691073619, + "narHash": "sha256-18/EyL9QuzwaA1iJZm0Qp6Lk7sh4YftfWIa2Is3UOSE=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "eb433bff05b285258be76513add6f6c57b441775", + "rev": "52bf404674068e7f1ad8ee08bb95648be5a4fb19", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1690207785, - "narHash": "sha256-m0E9Kqdpjz4XT8NGxBZkA0UGFM35CoAOQPE+Avb89aQ=", + "lastModified": 1691084487, + "narHash": "sha256-yDPkqyA90ZLZa2gpDBs+4vCpk3lfnXT9K9GMx/6C1s8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "48273d596109a034cf154e450dee69705ca2d620", + "rev": "cdd239d1dc7d37ecf0e7a49d7f1d7bfad29825c4", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1690148897, - "narHash": "sha256-l/j/AX1d2K79EWslwgWR2+htkzCbtjKZsS5NbWXnhz4=", + "lastModified": 1690927903, + "narHash": "sha256-D5gCaCROnjEKDOel//8TO/pOP87pAEtT0uT8X+0Bj/U=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ac1acba43b2f9db073943ff5ed883ce7e8a40a2c", + "rev": "bd836ac5e5a7358dea73cb74a013ca32864ccb86", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1690199168, - "narHash": "sha256-8eo615fNLfpLGTtqjMapdyBLMUXBO8TSsSMZdW6nxvQ=", + "lastModified": 1691084746, + "narHash": "sha256-HvHxTU371MHDLbUMpG6zN3Lrem6t8n3PjZFpUlm0/5Y=", "owner": "nix-community", "repo": "NUR", - "rev": "6b90cb969b8e9d063ff71688085bf8ffb23a2788", + "rev": "e70eac4469043a0f91c709997b7f12616591a3fd", "type": "github" }, "original": { From ef6e883879c19f52056b6c5a7c75fe612e3debb7 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 3 Aug 2023 22:04:51 +0000 Subject: [PATCH 013/766] Remove wireguard tunnel `wgkalle` --- hosts/jalr-t520/configuration.nix | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/hosts/jalr-t520/configuration.nix b/hosts/jalr-t520/configuration.nix index b483412..f7b4a62 100644 --- a/hosts/jalr-t520/configuration.nix +++ b/hosts/jalr-t520/configuration.nix @@ -54,32 +54,6 @@ autologin.username = "jalr"; }; - networking.wg-quick.interfaces.wgkalle = { - address = [ - "172.16.254.5/24" - "fd00::604:0:0:ac10:fe05/96" - ]; - privateKeyFile = "/root/wireguard-keys/wgkalle"; - listenPort = 51820; - mtu = 1296; - - peers = [ - { - publicKey = "52kAcBdnrFeSuVupHs0u4diUf6tpF8Esy4vzJAlT5Tc="; - endpoint = "78.47.224.233:1194"; - #endpoint = "[2a01:4f8:190:6068::2]:1194"; - persistentKeepalive = 60; - allowedIPs = [ - "0.0.0.0/0" - "::/0" - ]; - } - ]; - }; - networking.firewall.allowedUDPPorts = [ - 51820 # wireguard - ]; - # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It‘s perfectly fine and recommended to leave From e769bc6ce61e67c436eeb4ae7630e3b9a1128877 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 3 Aug 2023 22:22:04 +0000 Subject: [PATCH 014/766] Update pretix --- pkgs/pretix/poetry.lock | 653 +++++++++++++++++----------------- pkgs/pretix/pretix-static.nix | 2 +- pkgs/pretix/pyproject.toml | 2 +- 3 files changed, 324 insertions(+), 333 deletions(-) diff --git a/pkgs/pretix/poetry.lock b/pkgs/pretix/poetry.lock index 88e6404..3ad42a3 100644 --- a/pkgs/pretix/poetry.lock +++ b/pkgs/pretix/poetry.lock @@ -2,99 +2,99 @@ [[package]] name = "aiohttp" -version = "3.8.4" +version = "3.8.5" description = "Async http client/server framework (asyncio)" category = "main" optional = false python-versions = ">=3.6" files = [ - {file = "aiohttp-3.8.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5ce45967538fb747370308d3145aa68a074bdecb4f3a300869590f725ced69c1"}, - {file = "aiohttp-3.8.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b744c33b6f14ca26b7544e8d8aadff6b765a80ad6164fb1a430bbadd593dfb1a"}, - {file = "aiohttp-3.8.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1a45865451439eb320784918617ba54b7a377e3501fb70402ab84d38c2cd891b"}, - {file = "aiohttp-3.8.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a86d42d7cba1cec432d47ab13b6637bee393a10f664c425ea7b305d1301ca1a3"}, - {file = "aiohttp-3.8.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee3c36df21b5714d49fc4580247947aa64bcbe2939d1b77b4c8dcb8f6c9faecc"}, - {file = "aiohttp-3.8.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:176a64b24c0935869d5bbc4c96e82f89f643bcdf08ec947701b9dbb3c956b7dd"}, - {file = "aiohttp-3.8.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c844fd628851c0bc309f3c801b3a3d58ce430b2ce5b359cd918a5a76d0b20cb5"}, - {file = "aiohttp-3.8.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5393fb786a9e23e4799fec788e7e735de18052f83682ce2dfcabaf1c00c2c08e"}, - {file = "aiohttp-3.8.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e4b09863aae0dc965c3ef36500d891a3ff495a2ea9ae9171e4519963c12ceefd"}, - {file = "aiohttp-3.8.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:adfbc22e87365a6e564c804c58fc44ff7727deea782d175c33602737b7feadb6"}, - {file = "aiohttp-3.8.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:147ae376f14b55f4f3c2b118b95be50a369b89b38a971e80a17c3fd623f280c9"}, - {file = "aiohttp-3.8.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:eafb3e874816ebe2a92f5e155f17260034c8c341dad1df25672fb710627c6949"}, - {file = "aiohttp-3.8.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c6cc15d58053c76eacac5fa9152d7d84b8d67b3fde92709195cb984cfb3475ea"}, - {file = "aiohttp-3.8.4-cp310-cp310-win32.whl", hash = "sha256:59f029a5f6e2d679296db7bee982bb3d20c088e52a2977e3175faf31d6fb75d1"}, - {file = "aiohttp-3.8.4-cp310-cp310-win_amd64.whl", hash = "sha256:fe7ba4a51f33ab275515f66b0a236bcde4fb5561498fe8f898d4e549b2e4509f"}, - {file = "aiohttp-3.8.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3d8ef1a630519a26d6760bc695842579cb09e373c5f227a21b67dc3eb16cfea4"}, - {file = "aiohttp-3.8.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b3f2e06a512e94722886c0827bee9807c86a9f698fac6b3aee841fab49bbfb4"}, - {file = "aiohttp-3.8.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3a80464982d41b1fbfe3154e440ba4904b71c1a53e9cd584098cd41efdb188ef"}, - {file = "aiohttp-3.8.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b631e26df63e52f7cce0cce6507b7a7f1bc9b0c501fcde69742130b32e8782f"}, - {file = "aiohttp-3.8.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f43255086fe25e36fd5ed8f2ee47477408a73ef00e804cb2b5cba4bf2ac7f5e"}, - {file = "aiohttp-3.8.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4d347a172f866cd1d93126d9b239fcbe682acb39b48ee0873c73c933dd23bd0f"}, - {file = "aiohttp-3.8.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a3fec6a4cb5551721cdd70473eb009d90935b4063acc5f40905d40ecfea23e05"}, - {file = "aiohttp-3.8.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:80a37fe8f7c1e6ce8f2d9c411676e4bc633a8462844e38f46156d07a7d401654"}, - {file = "aiohttp-3.8.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d1e6a862b76f34395a985b3cd39a0d949ca80a70b6ebdea37d3ab39ceea6698a"}, - {file = "aiohttp-3.8.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cd468460eefef601ece4428d3cf4562459157c0f6523db89365202c31b6daebb"}, - {file = "aiohttp-3.8.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:618c901dd3aad4ace71dfa0f5e82e88b46ef57e3239fc7027773cb6d4ed53531"}, - {file = "aiohttp-3.8.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:652b1bff4f15f6287550b4670546a2947f2a4575b6c6dff7760eafb22eacbf0b"}, - {file = "aiohttp-3.8.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80575ba9377c5171407a06d0196b2310b679dc752d02a1fcaa2bc20b235dbf24"}, - {file = "aiohttp-3.8.4-cp311-cp311-win32.whl", hash = "sha256:bbcf1a76cf6f6dacf2c7f4d2ebd411438c275faa1dc0c68e46eb84eebd05dd7d"}, - {file = "aiohttp-3.8.4-cp311-cp311-win_amd64.whl", hash = "sha256:6e74dd54f7239fcffe07913ff8b964e28b712f09846e20de78676ce2a3dc0bfc"}, - {file = "aiohttp-3.8.4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:880e15bb6dad90549b43f796b391cfffd7af373f4646784795e20d92606b7a51"}, - {file = "aiohttp-3.8.4-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb96fa6b56bb536c42d6a4a87dfca570ff8e52de2d63cabebfd6fb67049c34b6"}, - {file = "aiohttp-3.8.4-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a6cadebe132e90cefa77e45f2d2f1a4b2ce5c6b1bfc1656c1ddafcfe4ba8131"}, - {file = "aiohttp-3.8.4-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f352b62b45dff37b55ddd7b9c0c8672c4dd2eb9c0f9c11d395075a84e2c40f75"}, - {file = "aiohttp-3.8.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ab43061a0c81198d88f39aaf90dae9a7744620978f7ef3e3708339b8ed2ef01"}, - {file = "aiohttp-3.8.4-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c9cb1565a7ad52e096a6988e2ee0397f72fe056dadf75d17fa6b5aebaea05622"}, - {file = "aiohttp-3.8.4-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:1b3ea7edd2d24538959c1c1abf97c744d879d4e541d38305f9bd7d9b10c9ec41"}, - {file = "aiohttp-3.8.4-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:7c7837fe8037e96b6dd5cfcf47263c1620a9d332a87ec06a6ca4564e56bd0f36"}, - {file = "aiohttp-3.8.4-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:3b90467ebc3d9fa5b0f9b6489dfb2c304a1db7b9946fa92aa76a831b9d587e99"}, - {file = "aiohttp-3.8.4-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:cab9401de3ea52b4b4c6971db5fb5c999bd4260898af972bf23de1c6b5dd9d71"}, - {file = "aiohttp-3.8.4-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:d1f9282c5f2b5e241034a009779e7b2a1aa045f667ff521e7948ea9b56e0c5ff"}, - {file = "aiohttp-3.8.4-cp36-cp36m-win32.whl", hash = "sha256:5e14f25765a578a0a634d5f0cd1e2c3f53964553a00347998dfdf96b8137f777"}, - {file = "aiohttp-3.8.4-cp36-cp36m-win_amd64.whl", hash = "sha256:4c745b109057e7e5f1848c689ee4fb3a016c8d4d92da52b312f8a509f83aa05e"}, - {file = "aiohttp-3.8.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:aede4df4eeb926c8fa70de46c340a1bc2c6079e1c40ccf7b0eae1313ffd33519"}, - {file = "aiohttp-3.8.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ddaae3f3d32fc2cb4c53fab020b69a05c8ab1f02e0e59665c6f7a0d3a5be54f"}, - {file = "aiohttp-3.8.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4eb3b82ca349cf6fadcdc7abcc8b3a50ab74a62e9113ab7a8ebc268aad35bb9"}, - {file = "aiohttp-3.8.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9bcb89336efa095ea21b30f9e686763f2be4478f1b0a616969551982c4ee4c3b"}, - {file = "aiohttp-3.8.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c08e8ed6fa3d477e501ec9db169bfac8140e830aa372d77e4a43084d8dd91ab"}, - {file = "aiohttp-3.8.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c6cd05ea06daca6ad6a4ca3ba7fe7dc5b5de063ff4daec6170ec0f9979f6c332"}, - {file = "aiohttp-3.8.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7a00a9ed8d6e725b55ef98b1b35c88013245f35f68b1b12c5cd4100dddac333"}, - {file = "aiohttp-3.8.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:de04b491d0e5007ee1b63a309956eaed959a49f5bb4e84b26c8f5d49de140fa9"}, - {file = "aiohttp-3.8.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:40653609b3bf50611356e6b6554e3a331f6879fa7116f3959b20e3528783e699"}, - {file = "aiohttp-3.8.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:dbf3a08a06b3f433013c143ebd72c15cac33d2914b8ea4bea7ac2c23578815d6"}, - {file = "aiohttp-3.8.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:854f422ac44af92bfe172d8e73229c270dc09b96535e8a548f99c84f82dde241"}, - {file = "aiohttp-3.8.4-cp37-cp37m-win32.whl", hash = "sha256:aeb29c84bb53a84b1a81c6c09d24cf33bb8432cc5c39979021cc0f98c1292a1a"}, - {file = "aiohttp-3.8.4-cp37-cp37m-win_amd64.whl", hash = "sha256:db3fc6120bce9f446d13b1b834ea5b15341ca9ff3f335e4a951a6ead31105480"}, - {file = "aiohttp-3.8.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fabb87dd8850ef0f7fe2b366d44b77d7e6fa2ea87861ab3844da99291e81e60f"}, - {file = "aiohttp-3.8.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:91f6d540163f90bbaef9387e65f18f73ffd7c79f5225ac3d3f61df7b0d01ad15"}, - {file = "aiohttp-3.8.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d265f09a75a79a788237d7f9054f929ced2e69eb0bb79de3798c468d8a90f945"}, - {file = "aiohttp-3.8.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d89efa095ca7d442a6d0cbc755f9e08190ba40069b235c9886a8763b03785da"}, - {file = "aiohttp-3.8.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4dac314662f4e2aa5009977b652d9b8db7121b46c38f2073bfeed9f4049732cd"}, - {file = "aiohttp-3.8.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe11310ae1e4cd560035598c3f29d86cef39a83d244c7466f95c27ae04850f10"}, - {file = "aiohttp-3.8.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ddb2a2026c3f6a68c3998a6c47ab6795e4127315d2e35a09997da21865757f8"}, - {file = "aiohttp-3.8.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e75b89ac3bd27d2d043b234aa7b734c38ba1b0e43f07787130a0ecac1e12228a"}, - {file = "aiohttp-3.8.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6e601588f2b502c93c30cd5a45bfc665faaf37bbe835b7cfd461753068232074"}, - {file = "aiohttp-3.8.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a5d794d1ae64e7753e405ba58e08fcfa73e3fad93ef9b7e31112ef3c9a0efb52"}, - {file = "aiohttp-3.8.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:a1f4689c9a1462f3df0a1f7e797791cd6b124ddbee2b570d34e7f38ade0e2c71"}, - {file = "aiohttp-3.8.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:3032dcb1c35bc330134a5b8a5d4f68c1a87252dfc6e1262c65a7e30e62298275"}, - {file = "aiohttp-3.8.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8189c56eb0ddbb95bfadb8f60ea1b22fcfa659396ea36f6adcc521213cd7b44d"}, - {file = "aiohttp-3.8.4-cp38-cp38-win32.whl", hash = "sha256:33587f26dcee66efb2fff3c177547bd0449ab7edf1b73a7f5dea1e38609a0c54"}, - {file = "aiohttp-3.8.4-cp38-cp38-win_amd64.whl", hash = "sha256:e595432ac259af2d4630008bf638873d69346372d38255774c0e286951e8b79f"}, - {file = "aiohttp-3.8.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5a7bdf9e57126dc345b683c3632e8ba317c31d2a41acd5800c10640387d193ed"}, - {file = "aiohttp-3.8.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:22f6eab15b6db242499a16de87939a342f5a950ad0abaf1532038e2ce7d31567"}, - {file = "aiohttp-3.8.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7235604476a76ef249bd64cb8274ed24ccf6995c4a8b51a237005ee7a57e8643"}, - {file = "aiohttp-3.8.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea9eb976ffdd79d0e893869cfe179a8f60f152d42cb64622fca418cd9b18dc2a"}, - {file = "aiohttp-3.8.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:92c0cea74a2a81c4c76b62ea1cac163ecb20fb3ba3a75c909b9fa71b4ad493cf"}, - {file = "aiohttp-3.8.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:493f5bc2f8307286b7799c6d899d388bbaa7dfa6c4caf4f97ef7521b9cb13719"}, - {file = "aiohttp-3.8.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a63f03189a6fa7c900226e3ef5ba4d3bd047e18f445e69adbd65af433add5a2"}, - {file = "aiohttp-3.8.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10c8cefcff98fd9168cdd86c4da8b84baaa90bf2da2269c6161984e6737bf23e"}, - {file = "aiohttp-3.8.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bca5f24726e2919de94f047739d0a4fc01372801a3672708260546aa2601bf57"}, - {file = "aiohttp-3.8.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:03baa76b730e4e15a45f81dfe29a8d910314143414e528737f8589ec60cf7391"}, - {file = "aiohttp-3.8.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:8c29c77cc57e40f84acef9bfb904373a4e89a4e8b74e71aa8075c021ec9078c2"}, - {file = "aiohttp-3.8.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:03543dcf98a6619254b409be2d22b51f21ec66272be4ebda7b04e6412e4b2e14"}, - {file = "aiohttp-3.8.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:17b79c2963db82086229012cff93ea55196ed31f6493bb1ccd2c62f1724324e4"}, - {file = "aiohttp-3.8.4-cp39-cp39-win32.whl", hash = "sha256:34ce9f93a4a68d1272d26030655dd1b58ff727b3ed2a33d80ec433561b03d67a"}, - {file = "aiohttp-3.8.4-cp39-cp39-win_amd64.whl", hash = "sha256:41a86a69bb63bb2fc3dc9ad5ea9f10f1c9c8e282b471931be0268ddd09430b04"}, - {file = "aiohttp-3.8.4.tar.gz", hash = "sha256:bf2e1a9162c1e441bf805a1fd166e249d574ca04e03b34f97e2928769e91ab5c"}, + {file = "aiohttp-3.8.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a94159871304770da4dd371f4291b20cac04e8c94f11bdea1c3478e557fbe0d8"}, + {file = "aiohttp-3.8.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:13bf85afc99ce6f9ee3567b04501f18f9f8dbbb2ea11ed1a2e079670403a7c84"}, + {file = "aiohttp-3.8.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2ce2ac5708501afc4847221a521f7e4b245abf5178cf5ddae9d5b3856ddb2f3a"}, + {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96943e5dcc37a6529d18766597c491798b7eb7a61d48878611298afc1fca946c"}, + {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ad5c3c4590bb3cc28b4382f031f3783f25ec223557124c68754a2231d989e2b"}, + {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c413c633d0512df4dc7fd2373ec06cc6a815b7b6d6c2f208ada7e9e93a5061d"}, + {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df72ac063b97837a80d80dec8d54c241af059cc9bb42c4de68bd5b61ceb37caa"}, + {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c48c5c0271149cfe467c0ff8eb941279fd6e3f65c9a388c984e0e6cf57538e14"}, + {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:368a42363c4d70ab52c2c6420a57f190ed3dfaca6a1b19afda8165ee16416a82"}, + {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7607ec3ce4993464368505888af5beb446845a014bc676d349efec0e05085905"}, + {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:0d21c684808288a98914e5aaf2a7c6a3179d4df11d249799c32d1808e79503b5"}, + {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:312fcfbacc7880a8da0ae8b6abc6cc7d752e9caa0051a53d217a650b25e9a691"}, + {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ad093e823df03bb3fd37e7dec9d4670c34f9e24aeace76808fc20a507cace825"}, + {file = "aiohttp-3.8.5-cp310-cp310-win32.whl", hash = "sha256:33279701c04351a2914e1100b62b2a7fdb9a25995c4a104259f9a5ead7ed4802"}, + {file = "aiohttp-3.8.5-cp310-cp310-win_amd64.whl", hash = "sha256:6e4a280e4b975a2e7745573e3fc9c9ba0d1194a3738ce1cbaa80626cc9b4f4df"}, + {file = "aiohttp-3.8.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ae871a964e1987a943d83d6709d20ec6103ca1eaf52f7e0d36ee1b5bebb8b9b9"}, + {file = "aiohttp-3.8.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:461908b2578955045efde733719d62f2b649c404189a09a632d245b445c9c975"}, + {file = "aiohttp-3.8.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:72a860c215e26192379f57cae5ab12b168b75db8271f111019509a1196dfc780"}, + {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc14be025665dba6202b6a71cfcdb53210cc498e50068bc088076624471f8bb9"}, + {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8af740fc2711ad85f1a5c034a435782fbd5b5f8314c9a3ef071424a8158d7f6b"}, + {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:841cd8233cbd2111a0ef0a522ce016357c5e3aff8a8ce92bcfa14cef890d698f"}, + {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ed1c46fb119f1b59304b5ec89f834f07124cd23ae5b74288e364477641060ff"}, + {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84f8ae3e09a34f35c18fa57f015cc394bd1389bce02503fb30c394d04ee6b938"}, + {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:62360cb771707cb70a6fd114b9871d20d7dd2163a0feafe43fd115cfe4fe845e"}, + {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:23fb25a9f0a1ca1f24c0a371523546366bb642397c94ab45ad3aedf2941cec6a"}, + {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b0ba0d15164eae3d878260d4c4df859bbdc6466e9e6689c344a13334f988bb53"}, + {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5d20003b635fc6ae3f96d7260281dfaf1894fc3aa24d1888a9b2628e97c241e5"}, + {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0175d745d9e85c40dcc51c8f88c74bfbaef9e7afeeeb9d03c37977270303064c"}, + {file = "aiohttp-3.8.5-cp311-cp311-win32.whl", hash = "sha256:2e1b1e51b0774408f091d268648e3d57f7260c1682e7d3a63cb00d22d71bb945"}, + {file = "aiohttp-3.8.5-cp311-cp311-win_amd64.whl", hash = "sha256:043d2299f6dfdc92f0ac5e995dfc56668e1587cea7f9aa9d8a78a1b6554e5755"}, + {file = "aiohttp-3.8.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cae533195e8122584ec87531d6df000ad07737eaa3c81209e85c928854d2195c"}, + {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f21e83f355643c345177a5d1d8079f9f28b5133bcd154193b799d380331d5d3"}, + {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a7a75ef35f2df54ad55dbf4b73fe1da96f370e51b10c91f08b19603c64004acc"}, + {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e2e9839e14dd5308ee773c97115f1e0a1cb1d75cbeeee9f33824fa5144c7634"}, + {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c44e65da1de4403d0576473e2344828ef9c4c6244d65cf4b75549bb46d40b8dd"}, + {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:78d847e4cde6ecc19125ccbc9bfac4a7ab37c234dd88fbb3c5c524e8e14da543"}, + {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:c7a815258e5895d8900aec4454f38dca9aed71085f227537208057853f9d13f2"}, + {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:8b929b9bd7cd7c3939f8bcfffa92fae7480bd1aa425279d51a89327d600c704d"}, + {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:5db3a5b833764280ed7618393832e0853e40f3d3e9aa128ac0ba0f8278d08649"}, + {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:a0215ce6041d501f3155dc219712bc41252d0ab76474615b9700d63d4d9292af"}, + {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:fd1ed388ea7fbed22c4968dd64bab0198de60750a25fe8c0c9d4bef5abe13824"}, + {file = "aiohttp-3.8.5-cp36-cp36m-win32.whl", hash = "sha256:6e6783bcc45f397fdebc118d772103d751b54cddf5b60fbcc958382d7dd64f3e"}, + {file = "aiohttp-3.8.5-cp36-cp36m-win_amd64.whl", hash = "sha256:b5411d82cddd212644cf9360879eb5080f0d5f7d809d03262c50dad02f01421a"}, + {file = "aiohttp-3.8.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:01d4c0c874aa4ddfb8098e85d10b5e875a70adc63db91f1ae65a4b04d3344cda"}, + {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5980a746d547a6ba173fd5ee85ce9077e72d118758db05d229044b469d9029a"}, + {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2a482e6da906d5e6e653be079b29bc173a48e381600161c9932d89dfae5942ef"}, + {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80bd372b8d0715c66c974cf57fe363621a02f359f1ec81cba97366948c7fc873"}, + {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1161b345c0a444ebcf46bf0a740ba5dcf50612fd3d0528883fdc0eff578006a"}, + {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd56db019015b6acfaaf92e1ac40eb8434847d9bf88b4be4efe5bfd260aee692"}, + {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:153c2549f6c004d2754cc60603d4668899c9895b8a89397444a9c4efa282aaf4"}, + {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4a01951fabc4ce26ab791da5f3f24dca6d9a6f24121746eb19756416ff2d881b"}, + {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bfb9162dcf01f615462b995a516ba03e769de0789de1cadc0f916265c257e5d8"}, + {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:7dde0009408969a43b04c16cbbe252c4f5ef4574ac226bc8815cd7342d2028b6"}, + {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4149d34c32f9638f38f544b3977a4c24052042affa895352d3636fa8bffd030a"}, + {file = "aiohttp-3.8.5-cp37-cp37m-win32.whl", hash = "sha256:68c5a82c8779bdfc6367c967a4a1b2aa52cd3595388bf5961a62158ee8a59e22"}, + {file = "aiohttp-3.8.5-cp37-cp37m-win_amd64.whl", hash = "sha256:2cf57fb50be5f52bda004b8893e63b48530ed9f0d6c96c84620dc92fe3cd9b9d"}, + {file = "aiohttp-3.8.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:eca4bf3734c541dc4f374ad6010a68ff6c6748f00451707f39857f429ca36ced"}, + {file = "aiohttp-3.8.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1274477e4c71ce8cfe6c1ec2f806d57c015ebf84d83373676036e256bc55d690"}, + {file = "aiohttp-3.8.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:28c543e54710d6158fc6f439296c7865b29e0b616629767e685a7185fab4a6b9"}, + {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:910bec0c49637d213f5d9877105d26e0c4a4de2f8b1b29405ff37e9fc0ad52b8"}, + {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5443910d662db951b2e58eb70b0fbe6b6e2ae613477129a5805d0b66c54b6cb7"}, + {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e460be6978fc24e3df83193dc0cc4de46c9909ed92dd47d349a452ef49325b7"}, + {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb1558def481d84f03b45888473fc5a1f35747b5f334ef4e7a571bc0dfcb11f8"}, + {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34dd0c107799dcbbf7d48b53be761a013c0adf5571bf50c4ecad5643fe9cfcd0"}, + {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:aa1990247f02a54185dc0dff92a6904521172a22664c863a03ff64c42f9b5410"}, + {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0e584a10f204a617d71d359fe383406305a4b595b333721fa50b867b4a0a1548"}, + {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:a3cf433f127efa43fee6b90ea4c6edf6c4a17109d1d037d1a52abec84d8f2e42"}, + {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:c11f5b099adafb18e65c2c997d57108b5bbeaa9eeee64a84302c0978b1ec948b"}, + {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:84de26ddf621d7ac4c975dbea4c945860e08cccde492269db4e1538a6a6f3c35"}, + {file = "aiohttp-3.8.5-cp38-cp38-win32.whl", hash = "sha256:ab88bafedc57dd0aab55fa728ea10c1911f7e4d8b43e1d838a1739f33712921c"}, + {file = "aiohttp-3.8.5-cp38-cp38-win_amd64.whl", hash = "sha256:5798a9aad1879f626589f3df0f8b79b3608a92e9beab10e5fda02c8a2c60db2e"}, + {file = "aiohttp-3.8.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a6ce61195c6a19c785df04e71a4537e29eaa2c50fe745b732aa937c0c77169f3"}, + {file = "aiohttp-3.8.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:773dd01706d4db536335fcfae6ea2440a70ceb03dd3e7378f3e815b03c97ab51"}, + {file = "aiohttp-3.8.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f83a552443a526ea38d064588613aca983d0ee0038801bc93c0c916428310c28"}, + {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f7372f7341fcc16f57b2caded43e81ddd18df53320b6f9f042acad41f8e049a"}, + {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea353162f249c8097ea63c2169dd1aa55de1e8fecbe63412a9bc50816e87b761"}, + {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5d47ae48db0b2dcf70bc8a3bc72b3de86e2a590fc299fdbbb15af320d2659de"}, + {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d827176898a2b0b09694fbd1088c7a31836d1a505c243811c87ae53a3f6273c1"}, + {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3562b06567c06439d8b447037bb655ef69786c590b1de86c7ab81efe1c9c15d8"}, + {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4e874cbf8caf8959d2adf572a78bba17cb0e9d7e51bb83d86a3697b686a0ab4d"}, + {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6809a00deaf3810e38c628e9a33271892f815b853605a936e2e9e5129762356c"}, + {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:33776e945d89b29251b33a7e7d006ce86447b2cfd66db5e5ded4e5cd0340585c"}, + {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:eaeed7abfb5d64c539e2db173f63631455f1196c37d9d8d873fc316470dfbacd"}, + {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e91d635961bec2d8f19dfeb41a539eb94bd073f075ca6dae6c8dc0ee89ad6f91"}, + {file = "aiohttp-3.8.5-cp39-cp39-win32.whl", hash = "sha256:00ad4b6f185ec67f3e6562e8a1d2b69660be43070bd0ef6fcec5211154c7df67"}, + {file = "aiohttp-3.8.5-cp39-cp39-win_amd64.whl", hash = "sha256:c0a9034379a37ae42dea7ac1e048352d96286626251862e448933c0f59cbd79c"}, + {file = "aiohttp-3.8.5.tar.gz", hash = "sha256:b9552ec52cc147dbf1944ac7ac98af7602e51ea2dcd076ed194ca3c0d1c7d0bc"}, ] [package.dependencies] @@ -374,14 +374,14 @@ zstd = ["zstandard (==0.21.0)"] [[package]] name = "certifi" -version = "2023.5.7" +version = "2023.7.22" description = "Python package for providing Mozilla's CA Bundle." category = "main" optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2023.5.7-py3-none-any.whl", hash = "sha256:c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"}, - {file = "certifi-2023.5.7.tar.gz", hash = "sha256:0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7"}, + {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, + {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, ] [[package]] @@ -560,14 +560,14 @@ files = [ [[package]] name = "click" -version = "8.1.4" +version = "8.1.6" description = "Composable command line interface toolkit" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "click-8.1.4-py3-none-any.whl", hash = "sha256:2739815aaa5d2c986a88f1e9230c55e17f0caad3d958a5e13ad0797c166db9e3"}, - {file = "click-8.1.4.tar.gz", hash = "sha256:b97d0c74955da062a7d4ef92fadb583806a585b2ea81958a81bd72726cbb8e37"}, + {file = "click-8.1.6-py3-none-any.whl", hash = "sha256:fa244bb30b3b5ee2cae3da8f55c9e5e0c0e86093306301fb418eb9dc40fbded5"}, + {file = "click-8.1.6.tar.gz", hash = "sha256:48ee849951919527a045bfe3bf7baa8a959c423134e1a5b98c05c20ba75a1cbd"}, ] [package.dependencies] @@ -639,31 +639,35 @@ files = [ [[package]] name = "cryptography" -version = "41.0.1" +version = "41.0.3" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-41.0.1-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:f73bff05db2a3e5974a6fd248af2566134d8981fd7ab012e5dd4ddb1d9a70699"}, - {file = "cryptography-41.0.1-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:1a5472d40c8f8e91ff7a3d8ac6dfa363d8e3138b961529c996f3e2df0c7a411a"}, - {file = "cryptography-41.0.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7fa01527046ca5facdf973eef2535a27fec4cb651e4daec4d043ef63f6ecd4ca"}, - {file = "cryptography-41.0.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b46e37db3cc267b4dea1f56da7346c9727e1209aa98487179ee8ebed09d21e43"}, - {file = "cryptography-41.0.1-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:d198820aba55660b4d74f7b5fd1f17db3aa5eb3e6893b0a41b75e84e4f9e0e4b"}, - {file = "cryptography-41.0.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:948224d76c4b6457349d47c0c98657557f429b4e93057cf5a2f71d603e2fc3a3"}, - {file = "cryptography-41.0.1-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:059e348f9a3c1950937e1b5d7ba1f8e968508ab181e75fc32b879452f08356db"}, - {file = "cryptography-41.0.1-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:b4ceb5324b998ce2003bc17d519080b4ec8d5b7b70794cbd2836101406a9be31"}, - {file = "cryptography-41.0.1-cp37-abi3-win32.whl", hash = "sha256:8f4ab7021127a9b4323537300a2acfb450124b2def3756f64dc3a3d2160ee4b5"}, - {file = "cryptography-41.0.1-cp37-abi3-win_amd64.whl", hash = "sha256:1fee5aacc7367487b4e22484d3c7e547992ed726d14864ee33c0176ae43b0d7c"}, - {file = "cryptography-41.0.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:9a6c7a3c87d595608a39980ebaa04d5a37f94024c9f24eb7d10262b92f739ddb"}, - {file = "cryptography-41.0.1-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5d092fdfedaec4cbbffbf98cddc915ba145313a6fdaab83c6e67f4e6c218e6f3"}, - {file = "cryptography-41.0.1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1a8e6c2de6fbbcc5e14fd27fb24414507cb3333198ea9ab1258d916f00bc3039"}, - {file = "cryptography-41.0.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:cb33ccf15e89f7ed89b235cff9d49e2e62c6c981a6061c9c8bb47ed7951190bc"}, - {file = "cryptography-41.0.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5f0ff6e18d13a3de56f609dd1fd11470918f770c6bd5d00d632076c727d35485"}, - {file = "cryptography-41.0.1-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7bfc55a5eae8b86a287747053140ba221afc65eb06207bedf6e019b8934b477c"}, - {file = "cryptography-41.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:eb8163f5e549a22888c18b0d53d6bb62a20510060a22fd5a995ec8a05268df8a"}, - {file = "cryptography-41.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:8dde71c4169ec5ccc1087bb7521d54251c016f126f922ab2dfe6649170a3b8c5"}, - {file = "cryptography-41.0.1.tar.gz", hash = "sha256:d34579085401d3f49762d2f7d6634d6b6c2ae1242202e860f4d26b046e3a1006"}, + {file = "cryptography-41.0.3-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:652627a055cb52a84f8c448185922241dd5217443ca194d5739b44612c5e6507"}, + {file = "cryptography-41.0.3-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:8f09daa483aedea50d249ef98ed500569841d6498aa9c9f4b0531b9964658922"}, + {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4fd871184321100fb400d759ad0cddddf284c4b696568204d281c902fc7b0d81"}, + {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84537453d57f55a50a5b6835622ee405816999a7113267739a1b4581f83535bd"}, + {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:3fb248989b6363906827284cd20cca63bb1a757e0a2864d4c1682a985e3dca47"}, + {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:42cb413e01a5d36da9929baa9d70ca90d90b969269e5a12d39c1e0d475010116"}, + {file = "cryptography-41.0.3-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:aeb57c421b34af8f9fe830e1955bf493a86a7996cc1338fe41b30047d16e962c"}, + {file = "cryptography-41.0.3-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:6af1c6387c531cd364b72c28daa29232162010d952ceb7e5ca8e2827526aceae"}, + {file = "cryptography-41.0.3-cp37-abi3-win32.whl", hash = "sha256:0d09fb5356f975974dbcb595ad2d178305e5050656affb7890a1583f5e02a306"}, + {file = "cryptography-41.0.3-cp37-abi3-win_amd64.whl", hash = "sha256:a983e441a00a9d57a4d7c91b3116a37ae602907a7618b882c8013b5762e80574"}, + {file = "cryptography-41.0.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5259cb659aa43005eb55a0e4ff2c825ca111a0da1814202c64d28a985d33b087"}, + {file = "cryptography-41.0.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:67e120e9a577c64fe1f611e53b30b3e69744e5910ff3b6e97e935aeb96005858"}, + {file = "cryptography-41.0.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7efe8041897fe7a50863e51b77789b657a133c75c3b094e51b5e4b5cec7bf906"}, + {file = "cryptography-41.0.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ce785cf81a7bdade534297ef9e490ddff800d956625020ab2ec2780a556c313e"}, + {file = "cryptography-41.0.3-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:57a51b89f954f216a81c9d057bf1a24e2f36e764a1ca9a501a6964eb4a6800dd"}, + {file = "cryptography-41.0.3-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:4c2f0d35703d61002a2bbdcf15548ebb701cfdd83cdc12471d2bae80878a4207"}, + {file = "cryptography-41.0.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:23c2d778cf829f7d0ae180600b17e9fceea3c2ef8b31a99e3c694cbbf3a24b84"}, + {file = "cryptography-41.0.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:95dd7f261bb76948b52a5330ba5202b91a26fbac13ad0e9fc8a3ac04752058c7"}, + {file = "cryptography-41.0.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:41d7aa7cdfded09b3d73a47f429c298e80796c8e825ddfadc84c8a7f12df212d"}, + {file = "cryptography-41.0.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:d0d651aa754ef58d75cec6edfbd21259d93810b73f6ec246436a21b7841908de"}, + {file = "cryptography-41.0.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ab8de0d091acbf778f74286f4989cf3d1528336af1b59f3e5d2ebca8b5fe49e1"}, + {file = "cryptography-41.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a74fbcdb2a0d46fe00504f571a2a540532f4c188e6ccf26f1f178480117b33c4"}, + {file = "cryptography-41.0.3.tar.gz", hash = "sha256:6d192741113ef5e30d89dcb5b956ef4e1578f304708701b8b73d38e3e1461f34"}, ] [package.dependencies] @@ -1163,14 +1167,14 @@ dev = ["pytest", "pytest-cov", "pytest-django", "pytest-mock", "pytest-runner"] [[package]] name = "elementpath" -version = "4.1.4" +version = "4.1.5" description = "XPath 1.0/2.0/3.0/3.1 parsers and selectors for ElementTree and lxml" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "elementpath-4.1.4-py3-none-any.whl", hash = "sha256:e7c6d25546dfb381a2c9cde3b78c0c40f52811e06eb810faf019e16c531a74bf"}, - {file = "elementpath-4.1.4.tar.gz", hash = "sha256:f991c42ff66fa06e219141ccf65890261e6635b448e7d4c2d8b62dc5bf1de9e8"}, + {file = "elementpath-4.1.5-py3-none-any.whl", hash = "sha256:2ac1a2fb31eb22bbbf817f8cf6752f844513216263f0e3892c8e79782fe4bb55"}, + {file = "elementpath-4.1.5.tar.gz", hash = "sha256:c2d6dc524b29ef751ecfc416b0627668119d8812441c555d7471da41d4bacb8d"}, ] [package.extras] @@ -1203,86 +1207,73 @@ files = [ [[package]] name = "frozenlist" -version = "1.3.3" +version = "1.4.0" description = "A list-like structure which implements collections.abc.MutableSequence" category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "frozenlist-1.3.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff8bf625fe85e119553b5383ba0fb6aa3d0ec2ae980295aaefa552374926b3f4"}, - {file = "frozenlist-1.3.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dfbac4c2dfcc082fcf8d942d1e49b6aa0766c19d3358bd86e2000bf0fa4a9cf0"}, - {file = "frozenlist-1.3.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b1c63e8d377d039ac769cd0926558bb7068a1f7abb0f003e3717ee003ad85530"}, - {file = "frozenlist-1.3.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7fdfc24dcfce5b48109867c13b4cb15e4660e7bd7661741a391f821f23dfdca7"}, - {file = "frozenlist-1.3.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2c926450857408e42f0bbc295e84395722ce74bae69a3b2aa2a65fe22cb14b99"}, - {file = "frozenlist-1.3.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1841e200fdafc3d51f974d9d377c079a0694a8f06de2e67b48150328d66d5483"}, - {file = "frozenlist-1.3.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f470c92737afa7d4c3aacc001e335062d582053d4dbe73cda126f2d7031068dd"}, - {file = "frozenlist-1.3.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:783263a4eaad7c49983fe4b2e7b53fa9770c136c270d2d4bbb6d2192bf4d9caf"}, - {file = "frozenlist-1.3.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:924620eef691990dfb56dc4709f280f40baee568c794b5c1885800c3ecc69816"}, - {file = "frozenlist-1.3.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ae4dc05c465a08a866b7a1baf360747078b362e6a6dbeb0c57f234db0ef88ae0"}, - {file = "frozenlist-1.3.3-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:bed331fe18f58d844d39ceb398b77d6ac0b010d571cba8267c2e7165806b00ce"}, - {file = "frozenlist-1.3.3-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:02c9ac843e3390826a265e331105efeab489ffaf4dd86384595ee8ce6d35ae7f"}, - {file = "frozenlist-1.3.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:9545a33965d0d377b0bc823dcabf26980e77f1b6a7caa368a365a9497fb09420"}, - {file = "frozenlist-1.3.3-cp310-cp310-win32.whl", hash = "sha256:d5cd3ab21acbdb414bb6c31958d7b06b85eeb40f66463c264a9b343a4e238642"}, - {file = "frozenlist-1.3.3-cp310-cp310-win_amd64.whl", hash = "sha256:b756072364347cb6aa5b60f9bc18e94b2f79632de3b0190253ad770c5df17db1"}, - {file = "frozenlist-1.3.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b4395e2f8d83fbe0c627b2b696acce67868793d7d9750e90e39592b3626691b7"}, - {file = "frozenlist-1.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:14143ae966a6229350021384870458e4777d1eae4c28d1a7aa47f24d030e6678"}, - {file = "frozenlist-1.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5d8860749e813a6f65bad8285a0520607c9500caa23fea6ee407e63debcdbef6"}, - {file = "frozenlist-1.3.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23d16d9f477bb55b6154654e0e74557040575d9d19fe78a161bd33d7d76808e8"}, - {file = "frozenlist-1.3.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb82dbba47a8318e75f679690190c10a5e1f447fbf9df41cbc4c3afd726d88cb"}, - {file = "frozenlist-1.3.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9309869032abb23d196cb4e4db574232abe8b8be1339026f489eeb34a4acfd91"}, - {file = "frozenlist-1.3.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a97b4fe50b5890d36300820abd305694cb865ddb7885049587a5678215782a6b"}, - {file = "frozenlist-1.3.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c188512b43542b1e91cadc3c6c915a82a5eb95929134faf7fd109f14f9892ce4"}, - {file = "frozenlist-1.3.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:303e04d422e9b911a09ad499b0368dc551e8c3cd15293c99160c7f1f07b59a48"}, - {file = "frozenlist-1.3.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:0771aed7f596c7d73444c847a1c16288937ef988dc04fb9f7be4b2aa91db609d"}, - {file = "frozenlist-1.3.3-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:66080ec69883597e4d026f2f71a231a1ee9887835902dbe6b6467d5a89216cf6"}, - {file = "frozenlist-1.3.3-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:41fe21dc74ad3a779c3d73a2786bdf622ea81234bdd4faf90b8b03cad0c2c0b4"}, - {file = "frozenlist-1.3.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f20380df709d91525e4bee04746ba612a4df0972c1b8f8e1e8af997e678c7b81"}, - {file = "frozenlist-1.3.3-cp311-cp311-win32.whl", hash = "sha256:f30f1928162e189091cf4d9da2eac617bfe78ef907a761614ff577ef4edfb3c8"}, - {file = "frozenlist-1.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:a6394d7dadd3cfe3f4b3b186e54d5d8504d44f2d58dcc89d693698e8b7132b32"}, - {file = "frozenlist-1.3.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8df3de3a9ab8325f94f646609a66cbeeede263910c5c0de0101079ad541af332"}, - {file = "frozenlist-1.3.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0693c609e9742c66ba4870bcee1ad5ff35462d5ffec18710b4ac89337ff16e27"}, - {file = "frozenlist-1.3.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cd4210baef299717db0a600d7a3cac81d46ef0e007f88c9335db79f8979c0d3d"}, - {file = "frozenlist-1.3.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:394c9c242113bfb4b9aa36e2b80a05ffa163a30691c7b5a29eba82e937895d5e"}, - {file = "frozenlist-1.3.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6327eb8e419f7d9c38f333cde41b9ae348bec26d840927332f17e887a8dcb70d"}, - {file = "frozenlist-1.3.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e24900aa13212e75e5b366cb9065e78bbf3893d4baab6052d1aca10d46d944c"}, - {file = "frozenlist-1.3.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:3843f84a6c465a36559161e6c59dce2f2ac10943040c2fd021cfb70d58c4ad56"}, - {file = "frozenlist-1.3.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:84610c1502b2461255b4c9b7d5e9c48052601a8957cd0aea6ec7a7a1e1fb9420"}, - {file = "frozenlist-1.3.3-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:c21b9aa40e08e4f63a2f92ff3748e6b6c84d717d033c7b3438dd3123ee18f70e"}, - {file = "frozenlist-1.3.3-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:efce6ae830831ab6a22b9b4091d411698145cb9b8fc869e1397ccf4b4b6455cb"}, - {file = "frozenlist-1.3.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:40de71985e9042ca00b7953c4f41eabc3dc514a2d1ff534027f091bc74416401"}, - {file = "frozenlist-1.3.3-cp37-cp37m-win32.whl", hash = "sha256:180c00c66bde6146a860cbb81b54ee0df350d2daf13ca85b275123bbf85de18a"}, - {file = "frozenlist-1.3.3-cp37-cp37m-win_amd64.whl", hash = "sha256:9bbbcedd75acdfecf2159663b87f1bb5cfc80e7cd99f7ddd9d66eb98b14a8411"}, - {file = "frozenlist-1.3.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:034a5c08d36649591be1cbb10e09da9f531034acfe29275fc5454a3b101ce41a"}, - {file = "frozenlist-1.3.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ba64dc2b3b7b158c6660d49cdb1d872d1d0bf4e42043ad8d5006099479a194e5"}, - {file = "frozenlist-1.3.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:47df36a9fe24054b950bbc2db630d508cca3aa27ed0566c0baf661225e52c18e"}, - {file = "frozenlist-1.3.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:008a054b75d77c995ea26629ab3a0c0d7281341f2fa7e1e85fa6153ae29ae99c"}, - {file = "frozenlist-1.3.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:841ea19b43d438a80b4de62ac6ab21cfe6827bb8a9dc62b896acc88eaf9cecba"}, - {file = "frozenlist-1.3.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e235688f42b36be2b6b06fc37ac2126a73b75fb8d6bc66dd632aa35286238703"}, - {file = "frozenlist-1.3.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca713d4af15bae6e5d79b15c10c8522859a9a89d3b361a50b817c98c2fb402a2"}, - {file = "frozenlist-1.3.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ac5995f2b408017b0be26d4a1d7c61bce106ff3d9e3324374d66b5964325448"}, - {file = "frozenlist-1.3.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a4ae8135b11652b08a8baf07631d3ebfe65a4c87909dbef5fa0cdde440444ee4"}, - {file = "frozenlist-1.3.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:4ea42116ceb6bb16dbb7d526e242cb6747b08b7710d9782aa3d6732bd8d27649"}, - {file = "frozenlist-1.3.3-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:810860bb4bdce7557bc0febb84bbd88198b9dbc2022d8eebe5b3590b2ad6c842"}, - {file = "frozenlist-1.3.3-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:ee78feb9d293c323b59a6f2dd441b63339a30edf35abcb51187d2fc26e696d13"}, - {file = "frozenlist-1.3.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0af2e7c87d35b38732e810befb9d797a99279cbb85374d42ea61c1e9d23094b3"}, - {file = "frozenlist-1.3.3-cp38-cp38-win32.whl", hash = "sha256:899c5e1928eec13fd6f6d8dc51be23f0d09c5281e40d9cf4273d188d9feeaf9b"}, - {file = "frozenlist-1.3.3-cp38-cp38-win_amd64.whl", hash = "sha256:7f44e24fa70f6fbc74aeec3e971f60a14dde85da364aa87f15d1be94ae75aeef"}, - {file = "frozenlist-1.3.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2b07ae0c1edaa0a36339ec6cce700f51b14a3fc6545fdd32930d2c83917332cf"}, - {file = "frozenlist-1.3.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ebb86518203e12e96af765ee89034a1dbb0c3c65052d1b0c19bbbd6af8a145e1"}, - {file = "frozenlist-1.3.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5cf820485f1b4c91e0417ea0afd41ce5cf5965011b3c22c400f6d144296ccbc0"}, - {file = "frozenlist-1.3.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c11e43016b9024240212d2a65043b70ed8dfd3b52678a1271972702d990ac6d"}, - {file = "frozenlist-1.3.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8fa3c6e3305aa1146b59a09b32b2e04074945ffcfb2f0931836d103a2c38f936"}, - {file = "frozenlist-1.3.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:352bd4c8c72d508778cf05ab491f6ef36149f4d0cb3c56b1b4302852255d05d5"}, - {file = "frozenlist-1.3.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:65a5e4d3aa679610ac6e3569e865425b23b372277f89b5ef06cf2cdaf1ebf22b"}, - {file = "frozenlist-1.3.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1e2c1185858d7e10ff045c496bbf90ae752c28b365fef2c09cf0fa309291669"}, - {file = "frozenlist-1.3.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f163d2fd041c630fed01bc48d28c3ed4a3b003c00acd396900e11ee5316b56bb"}, - {file = "frozenlist-1.3.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:05cdb16d09a0832eedf770cb7bd1fe57d8cf4eaf5aced29c4e41e3f20b30a784"}, - {file = "frozenlist-1.3.3-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:8bae29d60768bfa8fb92244b74502b18fae55a80eac13c88eb0b496d4268fd2d"}, - {file = "frozenlist-1.3.3-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:eedab4c310c0299961ac285591acd53dc6723a1ebd90a57207c71f6e0c2153ab"}, - {file = "frozenlist-1.3.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:3bbdf44855ed8f0fbcd102ef05ec3012d6a4fd7c7562403f76ce6a52aeffb2b1"}, - {file = "frozenlist-1.3.3-cp39-cp39-win32.whl", hash = "sha256:efa568b885bca461f7c7b9e032655c0c143d305bf01c30caf6db2854a4532b38"}, - {file = "frozenlist-1.3.3-cp39-cp39-win_amd64.whl", hash = "sha256:cfe33efc9cb900a4c46f91a5ceba26d6df370ffddd9ca386eb1d4f0ad97b9ea9"}, - {file = "frozenlist-1.3.3.tar.gz", hash = "sha256:58bcc55721e8a90b88332d6cd441261ebb22342e238296bb330968952fbb3a6a"}, + {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:764226ceef3125e53ea2cb275000e309c0aa5464d43bd72abd661e27fffc26ab"}, + {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d6484756b12f40003c6128bfcc3fa9f0d49a687e171186c2d85ec82e3758c559"}, + {file = "frozenlist-1.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9ac08e601308e41eb533f232dbf6b7e4cea762f9f84f6357136eed926c15d12c"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d081f13b095d74b67d550de04df1c756831f3b83dc9881c38985834387487f1b"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71932b597f9895f011f47f17d6428252fc728ba2ae6024e13c3398a087c2cdea"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:981b9ab5a0a3178ff413bca62526bb784249421c24ad7381e39d67981be2c326"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e41f3de4df3e80de75845d3e743b3f1c4c8613c3997a912dbf0229fc61a8b963"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6918d49b1f90821e93069682c06ffde41829c346c66b721e65a5c62b4bab0300"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0e5c8764c7829343d919cc2dfc587a8db01c4f70a4ebbc49abde5d4b158b007b"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8d0edd6b1c7fb94922bf569c9b092ee187a83f03fb1a63076e7774b60f9481a8"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e29cda763f752553fa14c68fb2195150bfab22b352572cb36c43c47bedba70eb"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:0c7c1b47859ee2cac3846fde1c1dc0f15da6cec5a0e5c72d101e0f83dcb67ff9"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:901289d524fdd571be1c7be054f48b1f88ce8dddcbdf1ec698b27d4b8b9e5d62"}, + {file = "frozenlist-1.4.0-cp310-cp310-win32.whl", hash = "sha256:1a0848b52815006ea6596c395f87449f693dc419061cc21e970f139d466dc0a0"}, + {file = "frozenlist-1.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:b206646d176a007466358aa21d85cd8600a415c67c9bd15403336c331a10d956"}, + {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:de343e75f40e972bae1ef6090267f8260c1446a1695e77096db6cfa25e759a95"}, + {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ad2a9eb6d9839ae241701d0918f54c51365a51407fd80f6b8289e2dfca977cc3"}, + {file = "frozenlist-1.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bd7bd3b3830247580de99c99ea2a01416dfc3c34471ca1298bccabf86d0ff4dc"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bdf1847068c362f16b353163391210269e4f0569a3c166bc6a9f74ccbfc7e839"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:38461d02d66de17455072c9ba981d35f1d2a73024bee7790ac2f9e361ef1cd0c"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5a32087d720c608f42caed0ef36d2b3ea61a9d09ee59a5142d6070da9041b8f"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dd65632acaf0d47608190a71bfe46b209719bf2beb59507db08ccdbe712f969b"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:261b9f5d17cac914531331ff1b1d452125bf5daa05faf73b71d935485b0c510b"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b89ac9768b82205936771f8d2eb3ce88503b1556324c9f903e7156669f521472"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:008eb8b31b3ea6896da16c38c1b136cb9fec9e249e77f6211d479db79a4eaf01"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e74b0506fa5aa5598ac6a975a12aa8928cbb58e1f5ac8360792ef15de1aa848f"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:490132667476f6781b4c9458298b0c1cddf237488abd228b0b3650e5ecba7467"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:76d4711f6f6d08551a7e9ef28c722f4a50dd0fc204c56b4bcd95c6cc05ce6fbb"}, + {file = "frozenlist-1.4.0-cp311-cp311-win32.whl", hash = "sha256:a02eb8ab2b8f200179b5f62b59757685ae9987996ae549ccf30f983f40602431"}, + {file = "frozenlist-1.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:515e1abc578dd3b275d6a5114030b1330ba044ffba03f94091842852f806f1c1"}, + {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f0ed05f5079c708fe74bf9027e95125334b6978bf07fd5ab923e9e55e5fbb9d3"}, + {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ca265542ca427bf97aed183c1676e2a9c66942e822b14dc6e5f42e038f92a503"}, + {file = "frozenlist-1.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:491e014f5c43656da08958808588cc6c016847b4360e327a62cb308c791bd2d9"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17ae5cd0f333f94f2e03aaf140bb762c64783935cc764ff9c82dff626089bebf"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e78fb68cf9c1a6aa4a9a12e960a5c9dfbdb89b3695197aa7064705662515de2"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5655a942f5f5d2c9ed93d72148226d75369b4f6952680211972a33e59b1dfdc"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c11b0746f5d946fecf750428a95f3e9ebe792c1ee3b1e96eeba145dc631a9672"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e66d2a64d44d50d2543405fb183a21f76b3b5fd16f130f5c99187c3fb4e64919"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:88f7bc0fcca81f985f78dd0fa68d2c75abf8272b1f5c323ea4a01a4d7a614efc"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5833593c25ac59ede40ed4de6d67eb42928cca97f26feea219f21d0ed0959b79"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:fec520865f42e5c7f050c2a79038897b1c7d1595e907a9e08e3353293ffc948e"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:b826d97e4276750beca7c8f0f1a4938892697a6bcd8ec8217b3312dad6982781"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ceb6ec0a10c65540421e20ebd29083c50e6d1143278746a4ef6bcf6153171eb8"}, + {file = "frozenlist-1.4.0-cp38-cp38-win32.whl", hash = "sha256:2b8bcf994563466db019fab287ff390fffbfdb4f905fc77bc1c1d604b1c689cc"}, + {file = "frozenlist-1.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:a6c8097e01886188e5be3e6b14e94ab365f384736aa1fca6a0b9e35bd4a30bc7"}, + {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6c38721585f285203e4b4132a352eb3daa19121a035f3182e08e437cface44bf"}, + {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a0c6da9aee33ff0b1a451e867da0c1f47408112b3391dd43133838339e410963"}, + {file = "frozenlist-1.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:93ea75c050c5bb3d98016b4ba2497851eadf0ac154d88a67d7a6816206f6fa7f"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f61e2dc5ad442c52b4887f1fdc112f97caeff4d9e6ebe78879364ac59f1663e1"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa384489fefeb62321b238e64c07ef48398fe80f9e1e6afeff22e140e0850eef"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:10ff5faaa22786315ef57097a279b833ecab1a0bfb07d604c9cbb1c4cdc2ed87"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:007df07a6e3eb3e33e9a1fe6a9db7af152bbd8a185f9aaa6ece10a3529e3e1c6"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f4f399d28478d1f604c2ff9119907af9726aed73680e5ed1ca634d377abb087"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c5374b80521d3d3f2ec5572e05adc94601985cc526fb276d0c8574a6d749f1b3"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ce31ae3e19f3c902de379cf1323d90c649425b86de7bbdf82871b8a2a0615f3d"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7211ef110a9194b6042449431e08c4d80c0481e5891e58d429df5899690511c2"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:556de4430ce324c836789fa4560ca62d1591d2538b8ceb0b4f68fb7b2384a27a"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7645a8e814a3ee34a89c4a372011dcd817964ce8cb273c8ed6119d706e9613e3"}, + {file = "frozenlist-1.4.0-cp39-cp39-win32.whl", hash = "sha256:19488c57c12d4e8095a922f328df3f179c820c212940a498623ed39160bc3c2f"}, + {file = "frozenlist-1.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:6221d84d463fb110bdd7619b69cb43878a11d51cbb9394ae3105d082d5199167"}, + {file = "frozenlist-1.4.0.tar.gz", hash = "sha256:09163bdf0b2907454042edb19f887c6d33806adc71fbd54afc14908bfdc22251"}, ] [[package]] @@ -1374,14 +1365,14 @@ files = [ [[package]] name = "jsonschema" -version = "4.18.0" +version = "4.18.6" description = "An implementation of JSON Schema validation for Python" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "jsonschema-4.18.0-py3-none-any.whl", hash = "sha256:b508dd6142bd03f4c3670534c80af68cd7bbff9ea830b9cf2625d4a3c49ddf60"}, - {file = "jsonschema-4.18.0.tar.gz", hash = "sha256:8caf5b57a990a98e9b39832ef3cb35c176fe331414252b6e1b26fd5866f891a4"}, + {file = "jsonschema-4.18.6-py3-none-any.whl", hash = "sha256:dc274409c36175aad949c68e5ead0853aaffbe8e88c830ae66bb3c7a1728ad2d"}, + {file = "jsonschema-4.18.6.tar.gz", hash = "sha256:ce71d2f8c7983ef75a756e568317bf54bc531dc3ad7e66a128eae0d51623d8a3"}, ] [package.dependencies] @@ -1396,14 +1387,14 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- [[package]] name = "jsonschema-specifications" -version = "2023.6.1" +version = "2023.7.1" description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "jsonschema_specifications-2023.6.1-py3-none-any.whl", hash = "sha256:3d2b82663aff01815f744bb5c7887e2121a63399b49b104a3c96145474d091d7"}, - {file = "jsonschema_specifications-2023.6.1.tar.gz", hash = "sha256:ca1c4dd059a9e7b34101cf5b3ab7ff1d18b139f35950d598d629837ef66e8f28"}, + {file = "jsonschema_specifications-2023.7.1-py3-none-any.whl", hash = "sha256:05adf340b659828a004220a9613be00fa3f223f2b82002e273dee62fd50524b1"}, + {file = "jsonschema_specifications-2023.7.1.tar.gz", hash = "sha256:c91a50404e88a1f6ba40636778e2ee08f6e24c5613fe4c53ac24578a5a7f72bb"}, ] [package.dependencies] @@ -1798,14 +1789,14 @@ six = ">=1.0.0" [[package]] name = "phonenumberslite" -version = "8.13.15" +version = "8.13.17" description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers." category = "main" optional = false python-versions = "*" files = [ - {file = "phonenumberslite-8.13.15-py2.py3-none-any.whl", hash = "sha256:87434233270bee76d6624f9e256688fa4c2ecb1b235f7c9275446b8978f7de8d"}, - {file = "phonenumberslite-8.13.15.tar.gz", hash = "sha256:35e48d547c38b9e2d62d77a2f91ef628a98f184c474ce453dff001978312a16b"}, + {file = "phonenumberslite-8.13.17-py2.py3-none-any.whl", hash = "sha256:bae91ba7822ed73adeac739b9f9f2ded295375542014f3374e593ad92eef49c4"}, + {file = "phonenumberslite-8.13.17.tar.gz", hash = "sha256:5741de4b77a963f33585eb0e8ffa2632ea9987d6e50a38ac67f441e49422de69"}, ] [[package]] @@ -1890,19 +1881,19 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa [[package]] name = "platformdirs" -version = "3.8.1" +version = "3.10.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "platformdirs-3.8.1-py3-none-any.whl", hash = "sha256:cec7b889196b9144d088e4c57d9ceef7374f6c39694ad1577a0aab50d27ea28c"}, - {file = "platformdirs-3.8.1.tar.gz", hash = "sha256:f87ca4fcff7d2b0f81c6a748a77973d7af0f4d526f98f308477c3c436c74d528"}, + {file = "platformdirs-3.10.0-py3-none-any.whl", hash = "sha256:d7c24979f292f916dc9cbf8648319032f551ea8c49a4c9bf2fb556a02070ec1d"}, + {file = "platformdirs-3.10.0.tar.gz", hash = "sha256:b45696dab2d7cc691a3226759c0d3b00c47c8b6e293d96f6436f733303f77f6d"}, ] [package.extras] -docs = ["furo (>=2023.5.20)", "proselint (>=0.13)", "sphinx (>=7.0.1)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest-cov (>=4.1)", "pytest-mock (>=3.10)"] +docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.1)", "sphinx-autodoc-typehints (>=1.24)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)"] [[package]] name = "ply" @@ -1918,14 +1909,14 @@ files = [ [[package]] name = "pretix" -version = "2023.6.0" +version = "2023.7.0" description = "Reinventing presales, one ticket at a time" category = "main" optional = false python-versions = ">=3.9" files = [ - {file = "pretix-2023.6.0-py3-none-any.whl", hash = "sha256:0365d050fbbd3302439778367c16bd16c590507bad5337872787b15a2185e2b6"}, - {file = "pretix-2023.6.0.tar.gz", hash = "sha256:6bc6cbfe4e3ccf4388e4d829bcdba319b649007e02d9d79e9d58cc5e8380b290"}, + {file = "pretix-2023.7.0-py3-none-any.whl", hash = "sha256:ed983e2ae73b2983e53b80733a2a69aca4f1686e98c19c67ed5b0c40f0a81033"}, + {file = "pretix-2023.7.0.tar.gz", hash = "sha256:86278f0fc1fa0a638bb720076ac805f3254818e5c243a4871b03db9ceaf40b9f"}, ] [package.dependencies] @@ -2456,14 +2447,14 @@ ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)" [[package]] name = "referencing" -version = "0.29.1" +version = "0.30.0" description = "JSON Referencing + Python" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "referencing-0.29.1-py3-none-any.whl", hash = "sha256:d3c8f323ee1480095da44d55917cfb8278d73d6b4d5f677e3e40eb21314ac67f"}, - {file = "referencing-0.29.1.tar.gz", hash = "sha256:90cb53782d550ba28d2166ef3f55731f38397def8832baac5d45235f1995e35e"}, + {file = "referencing-0.30.0-py3-none-any.whl", hash = "sha256:c257b08a399b6c2f5a3510a50d28ab5dbc7bbde049bcaf954d43c446f83ab548"}, + {file = "referencing-0.30.0.tar.gz", hash = "sha256:47237742e990457f7512c7d27486394a9aadaf876cbfaa4be65b27b4f4d47c6b"}, ] [package.dependencies] @@ -2577,109 +2568,109 @@ files = [ [[package]] name = "rpds-py" -version = "0.8.10" +version = "0.9.2" description = "Python bindings to Rust's persistent data structures (rpds)" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "rpds_py-0.8.10-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:93d06cccae15b3836247319eee7b6f1fdcd6c10dabb4e6d350d27bd0bdca2711"}, - {file = "rpds_py-0.8.10-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3816a890a6a9e9f1de250afa12ca71c9a7a62f2b715a29af6aaee3aea112c181"}, - {file = "rpds_py-0.8.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a7c6304b894546b5a6bdc0fe15761fa53fe87d28527a7142dae8de3c663853e1"}, - {file = "rpds_py-0.8.10-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ad3bfb44c8840fb4be719dc58e229f435e227fbfbe133dc33f34981ff622a8f8"}, - {file = "rpds_py-0.8.10-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:14f1c356712f66653b777ecd8819804781b23dbbac4eade4366b94944c9e78ad"}, - {file = "rpds_py-0.8.10-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:82bb361cae4d0a627006dadd69dc2f36b7ad5dc1367af9d02e296ec565248b5b"}, - {file = "rpds_py-0.8.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b2e3c4f2a8e3da47f850d7ea0d7d56720f0f091d66add889056098c4b2fd576c"}, - {file = "rpds_py-0.8.10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:15a90d0ac11b4499171067ae40a220d1ca3cb685ec0acc356d8f3800e07e4cb8"}, - {file = "rpds_py-0.8.10-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:70bb9c8004b97b4ef7ae56a2aa56dfaa74734a0987c78e7e85f00004ab9bf2d0"}, - {file = "rpds_py-0.8.10-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:d64f9f88d5203274a002b54442cafc9c7a1abff2a238f3e767b70aadf919b451"}, - {file = "rpds_py-0.8.10-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ccbbd276642788c4376fbe8d4e6c50f0fb4972ce09ecb051509062915891cbf0"}, - {file = "rpds_py-0.8.10-cp310-none-win32.whl", hash = "sha256:fafc0049add8043ad07ab5382ee80d80ed7e3699847f26c9a5cf4d3714d96a84"}, - {file = "rpds_py-0.8.10-cp310-none-win_amd64.whl", hash = "sha256:915031002c86a5add7c6fd4beb601b2415e8a1c956590a5f91d825858e92fe6e"}, - {file = "rpds_py-0.8.10-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:84eb541a44f7a18f07a6bfc48b95240739e93defe1fdfb4f2a295f37837945d7"}, - {file = "rpds_py-0.8.10-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f59996d0550894affaad8743e97b9b9c98f638b221fac12909210ec3d9294786"}, - {file = "rpds_py-0.8.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9adb5664b78fcfcd830000416c8cc69853ef43cb084d645b3f1f0296edd9bae"}, - {file = "rpds_py-0.8.10-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f96f3f98fbff7af29e9edf9a6584f3c1382e7788783d07ba3721790625caa43e"}, - {file = "rpds_py-0.8.10-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:376b8de737401050bd12810003d207e824380be58810c031f10ec563ff6aef3d"}, - {file = "rpds_py-0.8.10-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d1c2bc319428d50b3e0fa6b673ab8cc7fa2755a92898db3a594cbc4eeb6d1f7"}, - {file = "rpds_py-0.8.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:73a1e48430f418f0ac3dfd87860e4cc0d33ad6c0f589099a298cb53724db1169"}, - {file = "rpds_py-0.8.10-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:134ec8f14ca7dbc6d9ae34dac632cdd60939fe3734b5d287a69683c037c51acb"}, - {file = "rpds_py-0.8.10-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4b519bac7c09444dd85280fd60f28c6dde4389c88dddf4279ba9b630aca3bbbe"}, - {file = "rpds_py-0.8.10-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:9cd57981d9fab04fc74438d82460f057a2419974d69a96b06a440822d693b3c0"}, - {file = "rpds_py-0.8.10-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:69d089c026f6a8b9d64a06ff67dc3be196707b699d7f6ca930c25f00cf5e30d8"}, - {file = "rpds_py-0.8.10-cp311-none-win32.whl", hash = "sha256:220bdcad2d2936f674650d304e20ac480a3ce88a40fe56cd084b5780f1d104d9"}, - {file = "rpds_py-0.8.10-cp311-none-win_amd64.whl", hash = "sha256:6c6a0225b8501d881b32ebf3f5807a08ad3685b5eb5f0a6bfffd3a6e039b2055"}, - {file = "rpds_py-0.8.10-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:e3d0cd3dff0e7638a7b5390f3a53057c4e347f4ef122ee84ed93fc2fb7ea4aa2"}, - {file = "rpds_py-0.8.10-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d77dff3a5aa5eedcc3da0ebd10ff8e4969bc9541aa3333a8d41715b429e99f47"}, - {file = "rpds_py-0.8.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41c89a366eae49ad9e65ed443a8f94aee762931a1e3723749d72aeac80f5ef2f"}, - {file = "rpds_py-0.8.10-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3793c21494bad1373da517001d0849eea322e9a049a0e4789e50d8d1329df8e7"}, - {file = "rpds_py-0.8.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:805a5f3f05d186c5d50de2e26f765ba7896d0cc1ac5b14ffc36fae36df5d2f10"}, - {file = "rpds_py-0.8.10-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b01b39ad5411563031ea3977bbbc7324d82b088e802339e6296f082f78f6115c"}, - {file = "rpds_py-0.8.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3f1e860be21f3e83011116a65e7310486300e08d9a3028e73e8d13bb6c77292"}, - {file = "rpds_py-0.8.10-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a13c8e56c46474cd5958d525ce6a9996727a83d9335684e41f5192c83deb6c58"}, - {file = "rpds_py-0.8.10-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:93d99f957a300d7a4ced41615c45aeb0343bb8f067c42b770b505de67a132346"}, - {file = "rpds_py-0.8.10-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:148b0b38d719c0760e31ce9285a9872972bdd7774969a4154f40c980e5beaca7"}, - {file = "rpds_py-0.8.10-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3cc5e5b5514796f45f03a568981971b12a3570f3de2e76114f7dc18d4b60a3c4"}, - {file = "rpds_py-0.8.10-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:e8e24b210a4deb5a7744971f8f77393005bae7f873568e37dfd9effe808be7f7"}, - {file = "rpds_py-0.8.10-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b41941583adce4242af003d2a8337b066ba6148ca435f295f31ac6d9e4ea2722"}, - {file = "rpds_py-0.8.10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c490204e16bca4f835dba8467869fe7295cdeaa096e4c5a7af97f3454a97991"}, - {file = "rpds_py-0.8.10-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1ee45cd1d84beed6cbebc839fd85c2e70a3a1325c8cfd16b62c96e2ffb565eca"}, - {file = "rpds_py-0.8.10-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a8ca409f1252e1220bf09c57290b76cae2f14723746215a1e0506472ebd7bdf"}, - {file = "rpds_py-0.8.10-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:96b293c0498c70162effb13100624c5863797d99df75f2f647438bd10cbf73e4"}, - {file = "rpds_py-0.8.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4627520a02fccbd324b33c7a83e5d7906ec746e1083a9ac93c41ac7d15548c7"}, - {file = "rpds_py-0.8.10-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e39d7ab0c18ac99955b36cd19f43926450baba21e3250f053e0704d6ffd76873"}, - {file = "rpds_py-0.8.10-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ba9f1d1ebe4b63801977cec7401f2d41e888128ae40b5441270d43140efcad52"}, - {file = "rpds_py-0.8.10-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:802f42200d8caf7f25bbb2a6464cbd83e69d600151b7e3b49f49a47fa56b0a38"}, - {file = "rpds_py-0.8.10-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:d19db6ba816e7f59fc806c690918da80a7d186f00247048cd833acdab9b4847b"}, - {file = "rpds_py-0.8.10-cp38-none-win32.whl", hash = "sha256:7947e6e2c2ad68b1c12ee797d15e5f8d0db36331200b0346871492784083b0c6"}, - {file = "rpds_py-0.8.10-cp38-none-win_amd64.whl", hash = "sha256:fa326b3505d5784436d9433b7980171ab2375535d93dd63fbcd20af2b5ca1bb6"}, - {file = "rpds_py-0.8.10-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:7b38a9ac96eeb6613e7f312cd0014de64c3f07000e8bf0004ad6ec153bac46f8"}, - {file = "rpds_py-0.8.10-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c4d42e83ddbf3445e6514f0aff96dca511421ed0392d9977d3990d9f1ba6753c"}, - {file = "rpds_py-0.8.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b21575031478609db6dbd1f0465e739fe0e7f424a8e7e87610a6c7f68b4eb16"}, - {file = "rpds_py-0.8.10-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:574868858a7ff6011192c023a5289158ed20e3f3b94b54f97210a773f2f22921"}, - {file = "rpds_py-0.8.10-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae40f4a70a1f40939d66ecbaf8e7edc144fded190c4a45898a8cfe19d8fc85ea"}, - {file = "rpds_py-0.8.10-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:37f7ee4dc86db7af3bac6d2a2cedbecb8e57ce4ed081f6464510e537589f8b1e"}, - {file = "rpds_py-0.8.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:695f642a3a5dbd4ad2ffbbacf784716ecd87f1b7a460843b9ddf965ccaeafff4"}, - {file = "rpds_py-0.8.10-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f43ab4cb04bde6109eb2555528a64dfd8a265cc6a9920a67dcbde13ef53a46c8"}, - {file = "rpds_py-0.8.10-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a11ab0d97be374efd04f640c04fe5c2d3dabc6dfb998954ea946ee3aec97056d"}, - {file = "rpds_py-0.8.10-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:92cf5b3ee60eef41f41e1a2cabca466846fb22f37fc580ffbcb934d1bcab225a"}, - {file = "rpds_py-0.8.10-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:ceaac0c603bf5ac2f505a78b2dcab78d3e6b706be6596c8364b64cc613d208d2"}, - {file = "rpds_py-0.8.10-cp39-none-win32.whl", hash = "sha256:dd4f16e57c12c0ae17606c53d1b57d8d1c8792efe3f065a37cb3341340599d49"}, - {file = "rpds_py-0.8.10-cp39-none-win_amd64.whl", hash = "sha256:c03a435d26c3999c2a8642cecad5d1c4d10c961817536af52035f6f4ee2f5dd0"}, - {file = "rpds_py-0.8.10-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:0da53292edafecba5e1d8c1218f99babf2ed0bf1c791d83c0ab5c29b57223068"}, - {file = "rpds_py-0.8.10-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:7d20a8ed227683401cc508e7be58cba90cc97f784ea8b039c8cd01111e6043e0"}, - {file = "rpds_py-0.8.10-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97cab733d303252f7c2f7052bf021a3469d764fc2b65e6dbef5af3cbf89d4892"}, - {file = "rpds_py-0.8.10-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8c398fda6df361a30935ab4c4bccb7f7a3daef2964ca237f607c90e9f3fdf66f"}, - {file = "rpds_py-0.8.10-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2eb4b08c45f8f8d8254cdbfacd3fc5d6b415d64487fb30d7380b0d0569837bf1"}, - {file = "rpds_py-0.8.10-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e7dfb1cbb895810fa2b892b68153c17716c6abaa22c7dc2b2f6dcf3364932a1c"}, - {file = "rpds_py-0.8.10-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89c92b74e8bf6f53a6f4995fd52f4bd510c12f103ee62c99e22bc9e05d45583c"}, - {file = "rpds_py-0.8.10-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e9c0683cb35a9b5881b41bc01d5568ffc667910d9dbc632a1fba4e7d59e98773"}, - {file = "rpds_py-0.8.10-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:0eeb2731708207d0fe2619afe6c4dc8cb9798f7de052da891de5f19c0006c315"}, - {file = "rpds_py-0.8.10-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:7495010b658ec5b52835f21d8c8b1a7e52e194c50f095d4223c0b96c3da704b1"}, - {file = "rpds_py-0.8.10-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:c72ebc22e70e04126158c46ba56b85372bc4d54d00d296be060b0db1671638a4"}, - {file = "rpds_py-0.8.10-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:2cd3045e7f6375dda64ed7db1c5136826facb0159ea982f77d9cf6125025bd34"}, - {file = "rpds_py-0.8.10-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:2418cf17d653d24ffb8b75e81f9f60b7ba1b009a23298a433a4720b2a0a17017"}, - {file = "rpds_py-0.8.10-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a2edf8173ac0c7a19da21bc68818be1321998528b5e3f748d6ee90c0ba2a1fd"}, - {file = "rpds_py-0.8.10-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7f29b8c55fd3a2bc48e485e37c4e2df3317f43b5cc6c4b6631c33726f52ffbb3"}, - {file = "rpds_py-0.8.10-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9a7d20c1cf8d7b3960c5072c265ec47b3f72a0c608a9a6ee0103189b4f28d531"}, - {file = "rpds_py-0.8.10-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:521fc8861a86ae54359edf53a15a05fabc10593cea7b3357574132f8427a5e5a"}, - {file = "rpds_py-0.8.10-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5c191713e98e7c28800233f039a32a42c1a4f9a001a8a0f2448b07391881036"}, - {file = "rpds_py-0.8.10-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:083df0fafe199371206111583c686c985dddaf95ab3ee8e7b24f1fda54515d09"}, - {file = "rpds_py-0.8.10-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:ed41f3f49507936a6fe7003985ea2574daccfef999775525d79eb67344e23767"}, - {file = "rpds_py-0.8.10-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:2614c2732bf45de5c7f9e9e54e18bc78693fa2f635ae58d2895b7965e470378c"}, - {file = "rpds_py-0.8.10-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:c60528671d9d467009a6ec284582179f6b88651e83367d0ab54cb739021cd7de"}, - {file = "rpds_py-0.8.10-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:ee744fca8d1ea822480a2a4e7c5f2e1950745477143668f0b523769426060f29"}, - {file = "rpds_py-0.8.10-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:a38b9f526d0d6cbdaa37808c400e3d9f9473ac4ff64d33d9163fd05d243dbd9b"}, - {file = "rpds_py-0.8.10-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:60e0e86e870350e03b3e25f9b1dd2c6cc72d2b5f24e070249418320a6f9097b7"}, - {file = "rpds_py-0.8.10-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f53f55a8852f0e49b0fc76f2412045d6ad9d5772251dea8f55ea45021616e7d5"}, - {file = "rpds_py-0.8.10-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c493365d3fad241d52f096e4995475a60a80f4eba4d3ff89b713bc65c2ca9615"}, - {file = "rpds_py-0.8.10-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:300eb606e6b94a7a26f11c8cc8ee59e295c6649bd927f91e1dbd37a4c89430b6"}, - {file = "rpds_py-0.8.10-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a665f6f1a87614d1c3039baf44109094926dedf785e346d8b0a728e9cabd27a"}, - {file = "rpds_py-0.8.10-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:927d784648211447201d4c6f1babddb7971abad922b32257ab74de2f2750fad0"}, - {file = "rpds_py-0.8.10-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:c200b30dd573afa83847bed7e3041aa36a8145221bf0cfdfaa62d974d720805c"}, - {file = "rpds_py-0.8.10-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:08166467258fd0240a1256fce272f689f2360227ee41c72aeea103e9e4f63d2b"}, - {file = "rpds_py-0.8.10-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:996cc95830de9bc22b183661d95559ec6b3cd900ad7bc9154c4cbf5be0c9b734"}, - {file = "rpds_py-0.8.10.tar.gz", hash = "sha256:13e643ce8ad502a0263397362fb887594b49cf84bf518d6038c16f235f2bcea4"}, + {file = "rpds_py-0.9.2-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:ab6919a09c055c9b092798ce18c6c4adf49d24d4d9e43a92b257e3f2548231e7"}, + {file = "rpds_py-0.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d55777a80f78dd09410bd84ff8c95ee05519f41113b2df90a69622f5540c4f8b"}, + {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a216b26e5af0a8e265d4efd65d3bcec5fba6b26909014effe20cd302fd1138fa"}, + {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:29cd8bfb2d716366a035913ced99188a79b623a3512292963d84d3e06e63b496"}, + {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44659b1f326214950a8204a248ca6199535e73a694be8d3e0e869f820767f12f"}, + {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:745f5a43fdd7d6d25a53ab1a99979e7f8ea419dfefebcab0a5a1e9095490ee5e"}, + {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a987578ac5214f18b99d1f2a3851cba5b09f4a689818a106c23dbad0dfeb760f"}, + {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bf4151acb541b6e895354f6ff9ac06995ad9e4175cbc6d30aaed08856558201f"}, + {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:03421628f0dc10a4119d714a17f646e2837126a25ac7a256bdf7c3943400f67f"}, + {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:13b602dc3e8dff3063734f02dcf05111e887f301fdda74151a93dbbc249930fe"}, + {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:fae5cb554b604b3f9e2c608241b5d8d303e410d7dfb6d397c335f983495ce7f6"}, + {file = "rpds_py-0.9.2-cp310-none-win32.whl", hash = "sha256:47c5f58a8e0c2c920cc7783113df2fc4ff12bf3a411d985012f145e9242a2764"}, + {file = "rpds_py-0.9.2-cp310-none-win_amd64.whl", hash = "sha256:4ea6b73c22d8182dff91155af018b11aac9ff7eca085750455c5990cb1cfae6e"}, + {file = "rpds_py-0.9.2-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:e564d2238512c5ef5e9d79338ab77f1cbbda6c2d541ad41b2af445fb200385e3"}, + {file = "rpds_py-0.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f411330a6376fb50e5b7a3e66894e4a39e60ca2e17dce258d53768fea06a37bd"}, + {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e7521f5af0233e89939ad626b15278c71b69dc1dfccaa7b97bd4cdf96536bb7"}, + {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8d3335c03100a073883857e91db9f2e0ef8a1cf42dc0369cbb9151c149dbbc1b"}, + {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d25b1c1096ef0447355f7293fbe9ad740f7c47ae032c2884113f8e87660d8f6e"}, + {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6a5d3fbd02efd9cf6a8ffc2f17b53a33542f6b154e88dd7b42ef4a4c0700fdad"}, + {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5934e2833afeaf36bd1eadb57256239785f5af0220ed8d21c2896ec4d3a765f"}, + {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:095b460e117685867d45548fbd8598a8d9999227e9061ee7f012d9d264e6048d"}, + {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:91378d9f4151adc223d584489591dbb79f78814c0734a7c3bfa9c9e09978121c"}, + {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:24a81c177379300220e907e9b864107614b144f6c2a15ed5c3450e19cf536fae"}, + {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:de0b6eceb46141984671802d412568d22c6bacc9b230174f9e55fc72ef4f57de"}, + {file = "rpds_py-0.9.2-cp311-none-win32.whl", hash = "sha256:700375326ed641f3d9d32060a91513ad668bcb7e2cffb18415c399acb25de2ab"}, + {file = "rpds_py-0.9.2-cp311-none-win_amd64.whl", hash = "sha256:0766babfcf941db8607bdaf82569ec38107dbb03c7f0b72604a0b346b6eb3298"}, + {file = "rpds_py-0.9.2-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:b1440c291db3f98a914e1afd9d6541e8fc60b4c3aab1a9008d03da4651e67386"}, + {file = "rpds_py-0.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0f2996fbac8e0b77fd67102becb9229986396e051f33dbceada3debaacc7033f"}, + {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f30d205755566a25f2ae0382944fcae2f350500ae4df4e795efa9e850821d82"}, + {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:159fba751a1e6b1c69244e23ba6c28f879a8758a3e992ed056d86d74a194a0f3"}, + {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1f044792e1adcea82468a72310c66a7f08728d72a244730d14880cd1dabe36b"}, + {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9251eb8aa82e6cf88510530b29eef4fac825a2b709baf5b94a6094894f252387"}, + {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01899794b654e616c8625b194ddd1e5b51ef5b60ed61baa7a2d9c2ad7b2a4238"}, + {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b0c43f8ae8f6be1d605b0465671124aa8d6a0e40f1fb81dcea28b7e3d87ca1e1"}, + {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:207f57c402d1f8712618f737356e4b6f35253b6d20a324d9a47cb9f38ee43a6b"}, + {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b52e7c5ae35b00566d244ffefba0f46bb6bec749a50412acf42b1c3f402e2c90"}, + {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:978fa96dbb005d599ec4fd9ed301b1cc45f1a8f7982d4793faf20b404b56677d"}, + {file = "rpds_py-0.9.2-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:6aa8326a4a608e1c28da191edd7c924dff445251b94653988efb059b16577a4d"}, + {file = "rpds_py-0.9.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:aad51239bee6bff6823bbbdc8ad85136c6125542bbc609e035ab98ca1e32a192"}, + {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4bd4dc3602370679c2dfb818d9c97b1137d4dd412230cfecd3c66a1bf388a196"}, + {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:dd9da77c6ec1f258387957b754f0df60766ac23ed698b61941ba9acccd3284d1"}, + {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:190ca6f55042ea4649ed19c9093a9be9d63cd8a97880106747d7147f88a49d18"}, + {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:876bf9ed62323bc7dcfc261dbc5572c996ef26fe6406b0ff985cbcf460fc8a4c"}, + {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa2818759aba55df50592ecbc95ebcdc99917fa7b55cc6796235b04193eb3c55"}, + {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9ea4d00850ef1e917815e59b078ecb338f6a8efda23369677c54a5825dbebb55"}, + {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:5855c85eb8b8a968a74dc7fb014c9166a05e7e7a8377fb91d78512900aadd13d"}, + {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:14c408e9d1a80dcb45c05a5149e5961aadb912fff42ca1dd9b68c0044904eb32"}, + {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:65a0583c43d9f22cb2130c7b110e695fff834fd5e832a776a107197e59a1898e"}, + {file = "rpds_py-0.9.2-cp38-none-win32.whl", hash = "sha256:71f2f7715935a61fa3e4ae91d91b67e571aeb5cb5d10331ab681256bda2ad920"}, + {file = "rpds_py-0.9.2-cp38-none-win_amd64.whl", hash = "sha256:674c704605092e3ebbbd13687b09c9f78c362a4bc710343efe37a91457123044"}, + {file = "rpds_py-0.9.2-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:07e2c54bef6838fa44c48dfbc8234e8e2466d851124b551fc4e07a1cfeb37260"}, + {file = "rpds_py-0.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f7fdf55283ad38c33e35e2855565361f4bf0abd02470b8ab28d499c663bc5d7c"}, + {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:890ba852c16ace6ed9f90e8670f2c1c178d96510a21b06d2fa12d8783a905193"}, + {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:50025635ba8b629a86d9d5474e650da304cb46bbb4d18690532dd79341467846"}, + {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:517cbf6e67ae3623c5127206489d69eb2bdb27239a3c3cc559350ef52a3bbf0b"}, + {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0836d71ca19071090d524739420a61580f3f894618d10b666cf3d9a1688355b1"}, + {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c439fd54b2b9053717cca3de9583be6584b384d88d045f97d409f0ca867d80f"}, + {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f68996a3b3dc9335037f82754f9cdbe3a95db42bde571d8c3be26cc6245f2324"}, + {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7d68dc8acded354c972116f59b5eb2e5864432948e098c19fe6994926d8e15c3"}, + {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f963c6b1218b96db85fc37a9f0851eaf8b9040aa46dec112611697a7023da535"}, + {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5a46859d7f947061b4010e554ccd1791467d1b1759f2dc2ec9055fa239f1bc26"}, + {file = "rpds_py-0.9.2-cp39-none-win32.whl", hash = "sha256:e07e5dbf8a83c66783a9fe2d4566968ea8c161199680e8ad38d53e075df5f0d0"}, + {file = "rpds_py-0.9.2-cp39-none-win_amd64.whl", hash = "sha256:682726178138ea45a0766907957b60f3a1bf3acdf212436be9733f28b6c5af3c"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:196cb208825a8b9c8fc360dc0f87993b8b260038615230242bf18ec84447c08d"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:c7671d45530fcb6d5e22fd40c97e1e1e01965fc298cbda523bb640f3d923b387"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83b32f0940adec65099f3b1c215ef7f1d025d13ff947975a055989cb7fd019a4"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7f67da97f5b9eac838b6980fc6da268622e91f8960e083a34533ca710bec8611"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:03975db5f103997904c37e804e5f340c8fdabbb5883f26ee50a255d664eed58c"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:987b06d1cdb28f88a42e4fb8a87f094e43f3c435ed8e486533aea0bf2e53d931"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c861a7e4aef15ff91233751619ce3a3d2b9e5877e0fcd76f9ea4f6847183aa16"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02938432352359805b6da099c9c95c8a0547fe4b274ce8f1a91677401bb9a45f"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:ef1f08f2a924837e112cba2953e15aacfccbbfcd773b4b9b4723f8f2ddded08e"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:35da5cc5cb37c04c4ee03128ad59b8c3941a1e5cd398d78c37f716f32a9b7f67"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:141acb9d4ccc04e704e5992d35472f78c35af047fa0cfae2923835d153f091be"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:79f594919d2c1a0cc17d1988a6adaf9a2f000d2e1048f71f298b056b1018e872"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:a06418fe1155e72e16dddc68bb3780ae44cebb2912fbd8bb6ff9161de56e1798"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b2eb034c94b0b96d5eddb290b7b5198460e2d5d0c421751713953a9c4e47d10"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8b08605d248b974eb02f40bdcd1a35d3924c83a2a5e8f5d0fa5af852c4d960af"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a0805911caedfe2736935250be5008b261f10a729a303f676d3d5fea6900c96a"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ab2299e3f92aa5417d5e16bb45bb4586171c1327568f638e8453c9f8d9e0f020"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c8d7594e38cf98d8a7df25b440f684b510cf4627fe038c297a87496d10a174f"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8b9ec12ad5f0a4625db34db7e0005be2632c1013b253a4a60e8302ad4d462afd"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:1fcdee18fea97238ed17ab6478c66b2095e4ae7177e35fb71fbe561a27adf620"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:933a7d5cd4b84f959aedeb84f2030f0a01d63ae6cf256629af3081cf3e3426e8"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:686ba516e02db6d6f8c279d1641f7067ebb5dc58b1d0536c4aaebb7bf01cdc5d"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:0173c0444bec0a3d7d848eaeca2d8bd32a1b43f3d3fde6617aac3731fa4be05f"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:d576c3ef8c7b2d560e301eb33891d1944d965a4d7a2eacb6332eee8a71827db6"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed89861ee8c8c47d6beb742a602f912b1bb64f598b1e2f3d758948721d44d468"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1054a08e818f8e18910f1bee731583fe8f899b0a0a5044c6e680ceea34f93876"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99e7c4bb27ff1aab90dcc3e9d37ee5af0231ed98d99cb6f5250de28889a3d502"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c545d9d14d47be716495076b659db179206e3fd997769bc01e2d550eeb685596"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9039a11bca3c41be5a58282ed81ae422fa680409022b996032a43badef2a3752"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fb39aca7a64ad0c9490adfa719dbeeb87d13be137ca189d2564e596f8ba32c07"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2d8b3b3a2ce0eaa00c5bbbb60b6713e94e7e0becab7b3db6c5c77f979e8ed1f1"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:99b1c16f732b3a9971406fbfe18468592c5a3529585a45a35adbc1389a529a03"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:c27ee01a6c3223025f4badd533bea5e87c988cb0ba2811b690395dfe16088cfe"}, + {file = "rpds_py-0.9.2.tar.gz", hash = "sha256:8d70e8f14900f2657c249ea4def963bed86a29b81f81f5b76b5a9215680de945"}, ] [[package]] @@ -2854,14 +2845,14 @@ files = [ [[package]] name = "tlds" -version = "2023052200" +version = "2023072502" description = "Automatically updated list of valid TLDs taken directly from IANA" category = "main" optional = false python-versions = "*" files = [ - {file = "tlds-2023052200-py2.py3-none-any.whl", hash = "sha256:966e23eb6405ef83b1a3642a5181efd16f62ae0b2ec4a5621eea8060be242c9c"}, - {file = "tlds-2023052200.tar.gz", hash = "sha256:a3f27d4b13ec204fd21746ac8f1646e7c25a6061d2f42c3d7451d38e1e2a6cc3"}, + {file = "tlds-2023072502-py2.py3-none-any.whl", hash = "sha256:5aaf30397ff914bfe63066c66d07adc27eea39bdfa97c89c86caffa7a11b776b"}, + {file = "tlds-2023072502.tar.gz", hash = "sha256:ff084754b15d9a6de6237b9539b9d991d5e516dc379a1875703d970ce8a4ef18"}, ] [[package]] @@ -2982,14 +2973,14 @@ files = [ [[package]] name = "urllib3" -version = "2.0.3" +version = "2.0.4" description = "HTTP library with thread-safe connection pooling, file post, and more." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "urllib3-2.0.3-py3-none-any.whl", hash = "sha256:48e7fafa40319d358848e1bc6809b208340fafe2096f1725d05d67443d0483d1"}, - {file = "urllib3-2.0.3.tar.gz", hash = "sha256:bee28b5e56addb8226c96f7f13ac28cb4c301dd5ea8a6ca179c0b9835e032825"}, + {file = "urllib3-2.0.4-py3-none-any.whl", hash = "sha256:de7df1803967d2c2a98e4b11bb7d6bd9210474c46e8a0401514e3a42a75ebde4"}, + {file = "urllib3-2.0.4.tar.gz", hash = "sha256:8d22f86aae8ef5e410d4f539fde9ce6b2113a001bb4d189e0aed70642d602b11"}, ] [package.extras] @@ -3166,23 +3157,23 @@ files = [ [[package]] name = "xmlschema" -version = "2.3.1" +version = "2.4.0" description = "An XML Schema validator and decoder" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "xmlschema-2.3.1-py3-none-any.whl", hash = "sha256:eac0e10957723689ff0691785da4ffee1e95df3a874e685a179047f7bf07f8fb"}, - {file = "xmlschema-2.3.1.tar.gz", hash = "sha256:2eb426c5710833a05610c22c8766713a1b87e9405e3eca0b7c658375bf7ec810"}, + {file = "xmlschema-2.4.0-py3-none-any.whl", hash = "sha256:dc87be0caaa61f42649899189aab2fd8e0d567f2cf548433ba7b79278d231a4a"}, + {file = "xmlschema-2.4.0.tar.gz", hash = "sha256:d74cd0c10866ac609e1ef94a5a69b018ad16e39077bc6393408b40c6babee793"}, ] [package.dependencies] -elementpath = ">=4.1.2,<5.0.0" +elementpath = ">=4.1.5,<5.0.0" [package.extras] -codegen = ["elementpath (>=4.1.2,<5.0.0)", "jinja2"] -dev = ["Sphinx", "coverage", "elementpath (>=4.1.2,<5.0.0)", "flake8", "jinja2", "lxml", "lxml-stubs", "memory-profiler", "mypy", "sphinx-rtd-theme", "tox"] -docs = ["Sphinx", "elementpath (>=4.1.2,<5.0.0)", "jinja2", "sphinx-rtd-theme"] +codegen = ["elementpath (>=4.1.5,<5.0.0)", "jinja2"] +dev = ["Sphinx", "coverage", "elementpath (>=4.1.5,<5.0.0)", "flake8", "jinja2", "lxml", "lxml-stubs", "memory-profiler", "mypy", "sphinx-rtd-theme", "tox"] +docs = ["Sphinx", "elementpath (>=4.1.5,<5.0.0)", "jinja2", "sphinx-rtd-theme"] [[package]] name = "yarl" @@ -3302,21 +3293,21 @@ xmlsec = ["xmlsec (>=0.6.1)"] [[package]] name = "zipp" -version = "3.15.0" +version = "3.16.2" description = "Backport of pathlib-compatible object wrapper for zip files" category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "zipp-3.15.0-py3-none-any.whl", hash = "sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556"}, - {file = "zipp-3.15.0.tar.gz", hash = "sha256:112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b"}, + {file = "zipp-3.16.2-py3-none-any.whl", hash = "sha256:679e51dd4403591b2d6838a48de3d283f3d188412a9782faadf845f298736ba0"}, + {file = "zipp-3.16.2.tar.gz", hash = "sha256:ebc15946aa78bd63458992fc81ec3b6f7b1e92d51c35e6de1c3804e73b799147"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "d0fe6f5883fe243c1aaaff6a5358ab4289518d7413db33360152a02ad247d9b6" +content-hash = "d171f2c48d275a315aa1da2ff043417b943cc60dba6741e892536c8c8e1f854c" diff --git a/pkgs/pretix/pretix-static.nix b/pkgs/pretix/pretix-static.nix index 2646bd1..8fa80ce 100644 --- a/pkgs/pretix/pretix-static.nix +++ b/pkgs/pretix/pretix-static.nix @@ -8,7 +8,7 @@ let nodeEnv = buildNpmPackage rec { name = "pretix-nodejs"; src = "${pretix.passthru.pythonModule.pkgs.pretix}/lib/python3.10/site-packages/pretix/static/npm_dir"; - npmDepsHash = "sha256-wMzi48h4SFsGKi/s7FujJtsAtj8pRQX3nVo8WC0UqPY="; + npmDepsHash = "sha256-6qqfuNpWvPE5KmONe/ZbWOEjvO1S8124Kk2QerGZ74s="; dontNpmBuild = true; installPhase = '' mkdir -p $out diff --git a/pkgs/pretix/pyproject.toml b/pkgs/pretix/pyproject.toml index 5fdb13d..a6c1826 100644 --- a/pkgs/pretix/pyproject.toml +++ b/pkgs/pretix/pyproject.toml @@ -7,7 +7,7 @@ license = "MIT" [tool.poetry.dependencies] python = "^3.10" -pretix = "^2023.6.0" +pretix = "^2023.7.0" [tool.poetry.dev-dependencies] From 5ca3494614cf39187f7f1afc09c7ca00a8a544a9 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 12 Aug 2023 18:31:18 +0000 Subject: [PATCH 015/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/52bf404674068e7f1ad8ee08bb95648be5a4fb19' (2023-08-03) → 'github:cachix/pre-commit-hooks.nix/c5ac3aa3324bd8aebe8622a3fc92eeb3975d317a' (2023-08-11) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/bd836ac5e5a7358dea73cb74a013ca32864ccb86' (2023-08-01) → 'github:nixos/nixpkgs/18784aac1013da9b442adf29b6c7c228518b5d3f' (2023-08-10) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/cdd239d1dc7d37ecf0e7a49d7f1d7bfad29825c4' (2023-08-03) → 'github:NixOS/nixpkgs/08d242047cc34c9c624c8ae507211671cf45f464' (2023-08-12) • Updated input 'nur': 'github:nix-community/NUR/e70eac4469043a0f91c709997b7f12616591a3fd' (2023-08-03) → 'github:nix-community/NUR/7cbd1d283f92dec001351cd59366f1053f7a6897' (2023-08-12) • Updated input 'sops-nix': 'github:Mic92/sops-nix/c36df4fe4bf4bb87759b1891cab21e7a05219500' (2023-07-24) → 'github:Mic92/sops-nix/5f5d9a3c8bc247eb574823b9f16a79e054dafe73' (2023-08-12) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/ce45b591975d070044ca24e3003c830d26fea1c8' (2023-07-22) → 'github:NixOS/nixpkgs/240472b7e47a641e9e7675f58b64d3626ca7824d' (2023-08-06) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index f4cb9c4..4189137 100644 --- a/flake.lock +++ b/flake.lock @@ -110,11 +110,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1691073619, - "narHash": "sha256-18/EyL9QuzwaA1iJZm0Qp6Lk7sh4YftfWIa2Is3UOSE=", + "lastModified": 1691747570, + "narHash": "sha256-J3fnIwJtHVQ0tK2JMBv4oAmII+1mCdXdpeCxtIsrL2A=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "52bf404674068e7f1ad8ee08bb95648be5a4fb19", + "rev": "c5ac3aa3324bd8aebe8622a3fc92eeb3975d317a", "type": "github" }, "original": { @@ -158,11 +158,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1690066826, - "narHash": "sha256-6L2qb+Zc0BFkh72OS9uuX637gniOjzU6qCDBpjB2LGY=", + "lastModified": 1691280485, + "narHash": "sha256-/8Ct9092OC1TTNzHgbcE9ejQdS2QxZYGqrWXEwUxdtQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ce45b591975d070044ca24e3003c830d26fea1c8", + "rev": "240472b7e47a641e9e7675f58b64d3626ca7824d", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1691084487, - "narHash": "sha256-yDPkqyA90ZLZa2gpDBs+4vCpk3lfnXT9K9GMx/6C1s8=", + "lastModified": 1691861449, + "narHash": "sha256-SIlA03CqMIzOrTkhFPXKX7QVFG8Xsaq4MVKnoqUvNFk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cdd239d1dc7d37ecf0e7a49d7f1d7bfad29825c4", + "rev": "08d242047cc34c9c624c8ae507211671cf45f464", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1690927903, - "narHash": "sha256-D5gCaCROnjEKDOel//8TO/pOP87pAEtT0uT8X+0Bj/U=", + "lastModified": 1691693223, + "narHash": "sha256-9t8ZY1XNAsWqxAJmXgg+GXqF5chORMVnBT6PSHaRV3I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bd836ac5e5a7358dea73cb74a013ca32864ccb86", + "rev": "18784aac1013da9b442adf29b6c7c228518b5d3f", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1691084746, - "narHash": "sha256-HvHxTU371MHDLbUMpG6zN3Lrem6t8n3PjZFpUlm0/5Y=", + "lastModified": 1691864736, + "narHash": "sha256-FNQ6ma5VPBm17SRXr55TjfxJLjVPr1BHsAAFPLKwApk=", "owner": "nix-community", "repo": "NUR", - "rev": "e70eac4469043a0f91c709997b7f12616591a3fd", + "rev": "7cbd1d283f92dec001351cd59366f1053f7a6897", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1690199016, - "narHash": "sha256-yTLL72q6aqGmzHq+C3rDp3rIjno7EJZkFLof6Ika7cE=", + "lastModified": 1691830846, + "narHash": "sha256-ffR5maL8R4gsoF43YZRSBVzB7qYxzG+Ssjjktg80Wy4=", "owner": "Mic92", "repo": "sops-nix", - "rev": "c36df4fe4bf4bb87759b1891cab21e7a05219500", + "rev": "5f5d9a3c8bc247eb574823b9f16a79e054dafe73", "type": "github" }, "original": { From 6ee2707a468f05a0c5fdec35ff37646691fb6b7d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 16 Aug 2023 12:38:32 +0000 Subject: [PATCH 016/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/9dc1cef1ae7be94630b86eeaef1f93580d565919' (2023-08-16) → 'github:NixOS/nixpkgs/2ca5cfd738d8ec732978a0a76beb26b10dae3188' (2023-08-16) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 4189137..a6ac9ac 100644 --- a/flake.lock +++ b/flake.lock @@ -62,11 +62,11 @@ ] }, "locked": { - "lastModified": 1687871164, - "narHash": "sha256-bBFlPthuYX322xOlpJvkjUBz0C+MOBjZdDOOJJ+G2jU=", + "lastModified": 1692099905, + "narHash": "sha256-/pSusGhmIdSdAaywQRFA5dVbfdIzlWQTecM+E46+cJ0=", "owner": "nix-community", "repo": "home-manager", - "rev": "07c347bb50994691d7b0095f45ebd8838cf6bc38", + "rev": "2a6679aa9cc3872c29ba2a57fe1b71b3e3c5649f", "type": "github" }, "original": { @@ -158,11 +158,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1691280485, - "narHash": "sha256-/8Ct9092OC1TTNzHgbcE9ejQdS2QxZYGqrWXEwUxdtQ=", + "lastModified": 1691874659, + "narHash": "sha256-qgmixg0c/CRNT2p9Ad35kaC7NzYVZ6GRooErYI7OGJM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "240472b7e47a641e9e7675f58b64d3626ca7824d", + "rev": "efeed708ece1a9f4ae0506ae4a4d7da264a74102", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1691861449, - "narHash": "sha256-SIlA03CqMIzOrTkhFPXKX7QVFG8Xsaq4MVKnoqUvNFk=", + "lastModified": 1692189362, + "narHash": "sha256-b1yenqPISzcrH2V1Eam6i118B7Sy8Fdnp0C5HM8hwqA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "08d242047cc34c9c624c8ae507211671cf45f464", + "rev": "2ca5cfd738d8ec732978a0a76beb26b10dae3188", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1691693223, - "narHash": "sha256-9t8ZY1XNAsWqxAJmXgg+GXqF5chORMVnBT6PSHaRV3I=", + "lastModified": 1692134936, + "narHash": "sha256-Z68O969cioC6I3k/AFBxsuEwpJwt4l9fzwuAMUhCCs0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "18784aac1013da9b442adf29b6c7c228518b5d3f", + "rev": "bfd953b2c6de4f550f75461bcc5768b6f966be10", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1691864736, - "narHash": "sha256-FNQ6ma5VPBm17SRXr55TjfxJLjVPr1BHsAAFPLKwApk=", + "lastModified": 1692186420, + "narHash": "sha256-uTk0k5vlKlMhZzFoR75omw3zgK7LOhrBRW80btfSvgs=", "owner": "nix-community", "repo": "NUR", - "rev": "7cbd1d283f92dec001351cd59366f1053f7a6897", + "rev": "984f5ff368a482de53d735ef9407f97302e16183", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1691830846, - "narHash": "sha256-ffR5maL8R4gsoF43YZRSBVzB7qYxzG+Ssjjktg80Wy4=", + "lastModified": 1692127428, + "narHash": "sha256-+e9dD67mpGLBhhqdv7A7i1g/r2AT/PmqthWaYHyVZR4=", "owner": "Mic92", "repo": "sops-nix", - "rev": "5f5d9a3c8bc247eb574823b9f16a79e054dafe73", + "rev": "f81e73cf9a4ef4b949b9225be3daa1e586c096da", "type": "github" }, "original": { From 04ee07bda097516b96f919ff89b392ce2500391c Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 19 Aug 2023 17:09:32 +0000 Subject: [PATCH 017/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/c5ac3aa3324bd8aebe8622a3fc92eeb3975d317a' (2023-08-11) → 'github:cachix/pre-commit-hooks.nix/7e3517c03d46159fdbf8c0e5c97f82d5d4b0c8fa' (2023-08-17) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/bfd953b2c6de4f550f75461bcc5768b6f966be10' (2023-08-15) → 'github:nixos/nixpkgs/4cdad15f34e6321a2f789b99d42815b9142ac2ba' (2023-08-19) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/2ca5cfd738d8ec732978a0a76beb26b10dae3188' (2023-08-16) → 'github:NixOS/nixpkgs/edf73b45fe60905c6b3aa75e731a023f12fa602a' (2023-08-19) • Updated input 'nur': 'github:nix-community/NUR/984f5ff368a482de53d735ef9407f97302e16183' (2023-08-16) → 'github:nix-community/NUR/37f30106cbd37398a53973fdc78a9fed152fc28b' (2023-08-19) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index a6ac9ac..32e9b69 100644 --- a/flake.lock +++ b/flake.lock @@ -110,11 +110,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1691747570, - "narHash": "sha256-J3fnIwJtHVQ0tK2JMBv4oAmII+1mCdXdpeCxtIsrL2A=", + "lastModified": 1692274144, + "narHash": "sha256-BxTQuRUANQ81u8DJznQyPmRsg63t4Yc+0kcyq6OLz8s=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "c5ac3aa3324bd8aebe8622a3fc92eeb3975d317a", + "rev": "7e3517c03d46159fdbf8c0e5c97f82d5d4b0c8fa", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1692189362, - "narHash": "sha256-b1yenqPISzcrH2V1Eam6i118B7Sy8Fdnp0C5HM8hwqA=", + "lastModified": 1692462548, + "narHash": "sha256-O9AYkuPR0CLjLuF9gYgUV30IlIzwuBgApG3oGArWoDA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2ca5cfd738d8ec732978a0a76beb26b10dae3188", + "rev": "edf73b45fe60905c6b3aa75e731a023f12fa602a", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1692134936, - "narHash": "sha256-Z68O969cioC6I3k/AFBxsuEwpJwt4l9fzwuAMUhCCs0=", + "lastModified": 1692414505, + "narHash": "sha256-sSTuyR9JYSxmUcYcj0Jvw1hIq1tz/Canw9mK0hEJvnE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bfd953b2c6de4f550f75461bcc5768b6f966be10", + "rev": "4cdad15f34e6321a2f789b99d42815b9142ac2ba", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1692186420, - "narHash": "sha256-uTk0k5vlKlMhZzFoR75omw3zgK7LOhrBRW80btfSvgs=", + "lastModified": 1692455181, + "narHash": "sha256-XL4dXONV2sxtmYiIy9nGkAsI8L57SPbzrzSZp4yk+m4=", "owner": "nix-community", "repo": "NUR", - "rev": "984f5ff368a482de53d735ef9407f97302e16183", + "rev": "37f30106cbd37398a53973fdc78a9fed152fc28b", "type": "github" }, "original": { From 2d13d82653a624fb98556a3c1d2517341fc50760 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 21 Aug 2023 07:50:12 +0000 Subject: [PATCH 018/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/edf73b45fe60905c6b3aa75e731a023f12fa602a' (2023-08-19) → 'github:NixOS/nixpkgs/325b09c1b514d9ec4cf5f987eb6e576acb7fbc31' (2023-08-21) • Updated input 'nur': 'github:nix-community/NUR/37f30106cbd37398a53973fdc78a9fed152fc28b' (2023-08-19) → 'github:nix-community/NUR/728cd1f35f4cc3a0e76a017f0f1d5b8137fc9d5c' (2023-08-21) • Updated input 'sops-nix': 'github:Mic92/sops-nix/f81e73cf9a4ef4b949b9225be3daa1e586c096da' (2023-08-15) → 'github:Mic92/sops-nix/4f0f113b7dbcb92edb9c901515fcab0b91c6def7' (2023-08-20) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/efeed708ece1a9f4ae0506ae4a4d7da264a74102' (2023-08-12) → 'github:NixOS/nixpkgs/5e63e8bbc46bc4fc22254da1edaf42fc7549c18a' (2023-08-20) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 32e9b69..79f924d 100644 --- a/flake.lock +++ b/flake.lock @@ -158,11 +158,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1691874659, - "narHash": "sha256-qgmixg0c/CRNT2p9Ad35kaC7NzYVZ6GRooErYI7OGJM=", + "lastModified": 1692492726, + "narHash": "sha256-rld5qm2B4oRkDwcPD+yOSyTrZQdfCR6mzJGGkecjvTs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "efeed708ece1a9f4ae0506ae4a4d7da264a74102", + "rev": "5e63e8bbc46bc4fc22254da1edaf42fc7549c18a", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1692462548, - "narHash": "sha256-O9AYkuPR0CLjLuF9gYgUV30IlIzwuBgApG3oGArWoDA=", + "lastModified": 1692601750, + "narHash": "sha256-OIpuoVFqDNQ56XaVmv1cAt51VIlSrUM1lMdKehak9UQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "edf73b45fe60905c6b3aa75e731a023f12fa602a", + "rev": "325b09c1b514d9ec4cf5f987eb6e576acb7fbc31", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1692455181, - "narHash": "sha256-XL4dXONV2sxtmYiIy9nGkAsI8L57SPbzrzSZp4yk+m4=", + "lastModified": 1692601307, + "narHash": "sha256-+LQYdb78YRkkoCuJc9xV2qdMyEVlkdfEHqQKwfDc0VI=", "owner": "nix-community", "repo": "NUR", - "rev": "37f30106cbd37398a53973fdc78a9fed152fc28b", + "rev": "728cd1f35f4cc3a0e76a017f0f1d5b8137fc9d5c", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1692127428, - "narHash": "sha256-+e9dD67mpGLBhhqdv7A7i1g/r2AT/PmqthWaYHyVZR4=", + "lastModified": 1692500916, + "narHash": "sha256-iKADqEOHmyi+LCJ5LzWcM2zH0DP3WHFETjX98blH0tE=", "owner": "Mic92", "repo": "sops-nix", - "rev": "f81e73cf9a4ef4b949b9225be3daa1e586c096da", + "rev": "4f0f113b7dbcb92edb9c901515fcab0b91c6def7", "type": "github" }, "original": { From 8e0acf55686abb3a2cf8f2ae28006bf616940c6d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 21 Aug 2023 07:50:50 +0000 Subject: [PATCH 019/766] Add bluetooth module --- hosts/cadmium/configuration.nix | 5 +---- hosts/hafnium/configuration.nix | 4 +--- hosts/jalr-t520/configuration.nix | 5 +---- modules/bluetooth.nix | 17 +++++++++++++++++ modules/default.nix | 1 + 5 files changed, 21 insertions(+), 11 deletions(-) create mode 100644 modules/bluetooth.nix diff --git a/hosts/cadmium/configuration.nix b/hosts/cadmium/configuration.nix index 01e405d..0024313 100644 --- a/hosts/cadmium/configuration.nix +++ b/hosts/cadmium/configuration.nix @@ -37,10 +37,6 @@ programs.mtr.enable = true; - hardware.bluetooth.enable = true; - services.blueman.enable = true; - services.ofono.enable = true; - services.udisks2.enable = true; # udevadm info --name /dev/foo --query all @@ -52,6 +48,7 @@ jalr = { bootloader = "systemd-boot"; + bluetooth.enable = true; uefi.enable = true; gui.enable = true; workstation.enable = true; diff --git a/hosts/hafnium/configuration.nix b/hosts/hafnium/configuration.nix index 76cf283..d8f7647 100644 --- a/hosts/hafnium/configuration.nix +++ b/hosts/hafnium/configuration.nix @@ -42,14 +42,12 @@ programs.mtr.enable = true; - hardware.bluetooth.enable = true; - services.blueman.enable = true; - services.ofono.enable = true; services.udisks2.enable = true; jalr = { bootloader = "systemd-boot"; + bluetooth.enable = true; uefi.enable = true; gui.enable = true; workstation.enable = true; diff --git a/hosts/jalr-t520/configuration.nix b/hosts/jalr-t520/configuration.nix index f7b4a62..48be9b1 100644 --- a/hosts/jalr-t520/configuration.nix +++ b/hosts/jalr-t520/configuration.nix @@ -23,12 +23,8 @@ programs.mtr.enable = true; programs.wireshark.enable = true; - hardware.bluetooth.enable = true; - hardware.sane.enable = true; - services.blueman.enable = true; - services.udisks2.enable = true; services.avahi.enable = true; @@ -46,6 +42,7 @@ jalr = { bootloader = "grub2"; + bluetooth.enable = true; gui.enable = true; workstation.enable = true; sdr.enable = true; diff --git a/modules/bluetooth.nix b/modules/bluetooth.nix new file mode 100644 index 0000000..2e71330 --- /dev/null +++ b/modules/bluetooth.nix @@ -0,0 +1,17 @@ +{ config, lib, pkgs, ... }: + +let + cfg = config.jalr; +in +{ + options.jalr = { + bluetooth.enable = pkgs.lib.mkEnableOption "Enable bluetooth" // { default = false; }; + }; + config = lib.mkIf cfg.uefi.enable { + hardware.bluetooth.enable = true; + services.blueman.enable = true; + services.ofono.enable = true; + services.upower.enable = true; + }; +} + diff --git a/modules/default.nix b/modules/default.nix index 7ecebb6..732071f 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -10,6 +10,7 @@ ../pkgs/modules.nix ./autologin.nix ./aws.nix + ./bluetooth.nix ./bootloader ./dji-goggles.nix ./dnsmasq.nix From 35890d09ebccd543b733e52b6d74ae7bf2de11e0 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 24 Aug 2023 15:53:15 +0000 Subject: [PATCH 020/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'flake-utils': 'github:numtide/flake-utils/919d646de7be200f3bf08cb76ae1f09402b6f9b4' (2023-07-11) → 'github:numtide/flake-utils/f9e7cf818399d17d347f847525c5a5a8032e4e44' (2023-08-23) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/4cdad15f34e6321a2f789b99d42815b9142ac2ba' (2023-08-19) → 'github:nixos/nixpkgs/fc944919f743bb22379dddf18dcb72db6cff84aa' (2023-08-23) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/325b09c1b514d9ec4cf5f987eb6e576acb7fbc31' (2023-08-21) → 'github:NixOS/nixpkgs/d4c3be990dcdc5a857268477da75f1f5fee8405c' (2023-08-24) • Updated input 'nur': 'github:nix-community/NUR/728cd1f35f4cc3a0e76a017f0f1d5b8137fc9d5c' (2023-08-21) → 'github:nix-community/NUR/8009360e1aea4d302ec22f9149bc5687dd938f25' (2023-08-24) • Updated input 'sops-nix': 'github:Mic92/sops-nix/4f0f113b7dbcb92edb9c901515fcab0b91c6def7' (2023-08-20) → 'github:Mic92/sops-nix/1b7b3a32d65dbcd69c217d7735fdf0a6b2184f45' (2023-08-22) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 79f924d..e919990 100644 --- a/flake.lock +++ b/flake.lock @@ -21,11 +21,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1689068808, - "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", + "lastModified": 1692799911, + "narHash": "sha256-3eihraek4qL744EvQXsK1Ha6C3CR7nnT8X2qWap4RNk=", "owner": "numtide", "repo": "flake-utils", - "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", + "rev": "f9e7cf818399d17d347f847525c5a5a8032e4e44", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1692601750, - "narHash": "sha256-OIpuoVFqDNQ56XaVmv1cAt51VIlSrUM1lMdKehak9UQ=", + "lastModified": 1692890676, + "narHash": "sha256-jfEQmJqKr7DX55UzVmYzM/z5X0yULZzYRWajjXJigHY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "325b09c1b514d9ec4cf5f987eb6e576acb7fbc31", + "rev": "d4c3be990dcdc5a857268477da75f1f5fee8405c", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1692414505, - "narHash": "sha256-sSTuyR9JYSxmUcYcj0Jvw1hIq1tz/Canw9mK0hEJvnE=", + "lastModified": 1692794066, + "narHash": "sha256-H0aG8r16dj0x/Wz6wQhQxc9V7AsObOiHPaKxQgH6Y08=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4cdad15f34e6321a2f789b99d42815b9142ac2ba", + "rev": "fc944919f743bb22379dddf18dcb72db6cff84aa", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1692601307, - "narHash": "sha256-+LQYdb78YRkkoCuJc9xV2qdMyEVlkdfEHqQKwfDc0VI=", + "lastModified": 1692881861, + "narHash": "sha256-8yWfUWEHpbshP0UWC0pExQgaQwP02lUQlxPVJDLw3uQ=", "owner": "nix-community", "repo": "NUR", - "rev": "728cd1f35f4cc3a0e76a017f0f1d5b8137fc9d5c", + "rev": "8009360e1aea4d302ec22f9149bc5687dd938f25", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1692500916, - "narHash": "sha256-iKADqEOHmyi+LCJ5LzWcM2zH0DP3WHFETjX98blH0tE=", + "lastModified": 1692728678, + "narHash": "sha256-02MjG7Sb9k7eOi86CcC4GNWVOjT6gjmXFSqkRjZ8Xyk=", "owner": "Mic92", "repo": "sops-nix", - "rev": "4f0f113b7dbcb92edb9c901515fcab0b91c6def7", + "rev": "1b7b3a32d65dbcd69c217d7735fdf0a6b2184f45", "type": "github" }, "original": { From 2b2dad702b19b284af4f024d9d94670d518de6b5 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 31 Aug 2023 08:09:59 +0000 Subject: [PATCH 021/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/2a6679aa9cc3872c29ba2a57fe1b71b3e3c5649f' (2023-08-15) → 'github:nix-community/home-manager/5bac4a1c06cd77cf8fc35a658ccb035a6c50cd2c' (2023-08-28) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/fc944919f743bb22379dddf18dcb72db6cff84aa' (2023-08-23) → 'github:nixos/nixpkgs/2ab91c8d65c00fd22a441c69bbf1bc9b420d5ea1' (2023-08-29) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/d4c3be990dcdc5a857268477da75f1f5fee8405c' (2023-08-24) → 'github:NixOS/nixpkgs/b54b40f7b4140663e8dcaa26b4337190945f6b76' (2023-08-31) • Updated input 'nur': 'github:nix-community/NUR/8009360e1aea4d302ec22f9149bc5687dd938f25' (2023-08-24) → 'github:nix-community/NUR/a18bb2664e2597598810dc45a17f70741254ea25' (2023-08-31) • Updated input 'sops-nix': 'github:Mic92/sops-nix/1b7b3a32d65dbcd69c217d7735fdf0a6b2184f45' (2023-08-22) → 'github:Mic92/sops-nix/d9c5dc41c4b1f74c77f0dbffd0f3a4ebde447b7a' (2023-08-30) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/5e63e8bbc46bc4fc22254da1edaf42fc7549c18a' (2023-08-20) → 'github:NixOS/nixpkgs/9117c4e9dc117a6cd0319cca40f2349ed333669d' (2023-08-27) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index e919990..69c6682 100644 --- a/flake.lock +++ b/flake.lock @@ -62,11 +62,11 @@ ] }, "locked": { - "lastModified": 1692099905, - "narHash": "sha256-/pSusGhmIdSdAaywQRFA5dVbfdIzlWQTecM+E46+cJ0=", + "lastModified": 1693208669, + "narHash": "sha256-hHFaaUsZ860wvppPeiu7nJn/nXZjJfnqAQEu9SPFE9I=", "owner": "nix-community", "repo": "home-manager", - "rev": "2a6679aa9cc3872c29ba2a57fe1b71b3e3c5649f", + "rev": "5bac4a1c06cd77cf8fc35a658ccb035a6c50cd2c", "type": "github" }, "original": { @@ -158,11 +158,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1692492726, - "narHash": "sha256-rld5qm2B4oRkDwcPD+yOSyTrZQdfCR6mzJGGkecjvTs=", + "lastModified": 1693097136, + "narHash": "sha256-fBZSMdBaoZ0INFbyZ5s0DOF7zDNcLsLxgkwdDh3l9Pc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5e63e8bbc46bc4fc22254da1edaf42fc7549c18a", + "rev": "9117c4e9dc117a6cd0319cca40f2349ed333669d", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1692890676, - "narHash": "sha256-jfEQmJqKr7DX55UzVmYzM/z5X0yULZzYRWajjXJigHY=", + "lastModified": 1693469295, + "narHash": "sha256-57qMlImkD9S+4Ie4yPN3EuzKAqTetD0ibVFhj1IRlLw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d4c3be990dcdc5a857268477da75f1f5fee8405c", + "rev": "b54b40f7b4140663e8dcaa26b4337190945f6b76", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1692794066, - "narHash": "sha256-H0aG8r16dj0x/Wz6wQhQxc9V7AsObOiHPaKxQgH6Y08=", + "lastModified": 1693341273, + "narHash": "sha256-wrsPjsIx2767909MPGhSIOmkpGELM9eufqLQOPxmZQg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fc944919f743bb22379dddf18dcb72db6cff84aa", + "rev": "2ab91c8d65c00fd22a441c69bbf1bc9b420d5ea1", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1692881861, - "narHash": "sha256-8yWfUWEHpbshP0UWC0pExQgaQwP02lUQlxPVJDLw3uQ=", + "lastModified": 1693467993, + "narHash": "sha256-3t42EiMFxyLEdL+yWciEOCKIORBLag3Kbc8pK+npcYo=", "owner": "nix-community", "repo": "NUR", - "rev": "8009360e1aea4d302ec22f9149bc5687dd938f25", + "rev": "a18bb2664e2597598810dc45a17f70741254ea25", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1692728678, - "narHash": "sha256-02MjG7Sb9k7eOi86CcC4GNWVOjT6gjmXFSqkRjZ8Xyk=", + "lastModified": 1693404499, + "narHash": "sha256-cx/7yvM/AP+o/3wPJmA9W9F+WHemJk5t+Xcr+Qwkqhg=", "owner": "Mic92", "repo": "sops-nix", - "rev": "1b7b3a32d65dbcd69c217d7735fdf0a6b2184f45", + "rev": "d9c5dc41c4b1f74c77f0dbffd0f3a4ebde447b7a", "type": "github" }, "original": { From 3f73d5b94cd14dc4a47353f2bc3a05415df75002 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 31 Aug 2023 08:16:44 +0000 Subject: [PATCH 022/766] Add wofi-bluetooth --- home-manager/modules/sway/default.nix | 1 + home-manager/modules/sway/wofi-bluetooth.nix | 5 ++ pkgs/default.nix | 1 + pkgs/wofi-bluetooth/wofi-bluetooth.nix | 30 +++++++++ pkgs/wofi-bluetooth/wofi-bluetooth.patch | 68 ++++++++++++++++++++ 5 files changed, 105 insertions(+) create mode 100644 home-manager/modules/sway/wofi-bluetooth.nix create mode 100644 pkgs/wofi-bluetooth/wofi-bluetooth.nix create mode 100644 pkgs/wofi-bluetooth/wofi-bluetooth.patch diff --git a/home-manager/modules/sway/default.nix b/home-manager/modules/sway/default.nix index 8b51241..fc9ccca 100644 --- a/home-manager/modules/sway/default.nix +++ b/home-manager/modules/sway/default.nix @@ -33,6 +33,7 @@ in ./gammastep.nix ./waybar.nix ./wofi.nix + ./wofi-bluetooth.nix ./yubikey-touch-detector.nix ]; } // (lib.mkIf nixosConfig.jalr.gui.enable { diff --git a/home-manager/modules/sway/wofi-bluetooth.nix b/home-manager/modules/sway/wofi-bluetooth.nix new file mode 100644 index 0000000..76d2d2b --- /dev/null +++ b/home-manager/modules/sway/wofi-bluetooth.nix @@ -0,0 +1,5 @@ +{ nixosConfig, lib, pkgs, ... }: + +lib.mkIf nixosConfig.jalr.bluetooth.enable { + home.packages = [ pkgs.wofi-bluetooth ]; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index 159bea9..08aa561 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -16,4 +16,5 @@ in jalr = prev.recurseIntoAttrs { contact = callPackage ./contact-page { }; }; + wofi-bluetooth = callPackage ./wofi-bluetooth/wofi-bluetooth.nix { }; } diff --git a/pkgs/wofi-bluetooth/wofi-bluetooth.nix b/pkgs/wofi-bluetooth/wofi-bluetooth.nix new file mode 100644 index 0000000..1b1cad6 --- /dev/null +++ b/pkgs/wofi-bluetooth/wofi-bluetooth.nix @@ -0,0 +1,30 @@ +{ lib +, stdenv +, makeWrapper +, bluez +, wofi +, rofi-bluetooth +}: + +stdenv.mkDerivation rec { + pname = "wofi-bluetooth"; + version = rofi-bluetooth.version; + src = rofi-bluetooth.src; + patches = [ + ./wofi-bluetooth.patch + ]; + buildInputs = [ wofi ]; + nativeBuildInputs = [ makeWrapper ]; + installPhase = '' + runHook preInstall + + install -D --target-directory=$out/bin/ ./rofi-bluetooth + + mv $out/bin/rofi-bluetooth $out/bin/wofi-bluetooth + + wrapProgram $out/bin/wofi-bluetooth \ + --prefix PATH ":" ${lib.makeBinPath [ bluez wofi ] } + + runHook postInstall + ''; +} diff --git a/pkgs/wofi-bluetooth/wofi-bluetooth.patch b/pkgs/wofi-bluetooth/wofi-bluetooth.patch new file mode 100644 index 0000000..2b18d7f --- /dev/null +++ b/pkgs/wofi-bluetooth/wofi-bluetooth.patch @@ -0,0 +1,68 @@ +--- a/rofi-bluetooth ++++ b/rofi-bluetooth +@@ -7,14 +7,14 @@ + # + # Author: Nick Clyde (clydedroid) + # +-# A script that generates a rofi menu that uses bluetoothctl to ++# A script that generates a wofi menu that uses bluetoothctl to + # connect to bluetooth devices and display status info. + # + # Inspired by networkmanager-dmenu (https://github.com/firecat53/networkmanager-dmenu) + # Thanks to x70b1 (https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/system-bluetooth-bluetoothctl) + # + # Depends on: +-# Arch repositories: rofi, bluez-utils (contains bluetoothctl) ++# Arch repositories: wofi, bluez-utils (contains bluetoothctl) + + # Constants + divider="---------" +@@ -231,8 +231,8 @@ + trusted=$(device_trusted "$mac") + options="$connected\n$paired\n$trusted\n$divider\n$goback\nExit" + +- # Open rofi menu, read chosen option +- chosen="$(echo -e "$options" | $rofi_command "$device_name")" ++ # Open wofi menu, read chosen option ++ chosen="$(echo -e "$options" | $wofi_command "$device_name")" + + # Match chosen option to command + case "$chosen" in +@@ -254,7 +254,7 @@ + esac + } + +-# Opens a rofi menu with current bluetooth status and options to connect ++# Opens a wofi menu with current bluetooth status and options to connect + show_menu() { + # Get menu options + if power_on; then +@@ -269,15 +269,16 @@ + pairable=$(pairable_on) + discoverable=$(discoverable_on) + +- # Options passed to rofi ++ # Options passed to wofi + options="$devices\n$divider\n$power\n$scan\n$pairable\n$discoverable\nExit" + else + power="Power: off" + options="$power\nExit" + fi + +- # Open rofi menu, read chosen option +- chosen="$(echo -e "$options" | $rofi_command "Bluetooth")" ++ lines="$(echo -e "$options" | wc -l)" ++ # Open wofi menu, read chosen option ++ chosen="$(echo -e "$options" | $wofi_command "Bluetooth" -L "$lines")" + + # Match chosen option to command + case "$chosen" in +@@ -305,7 +306,7 @@ + } + + # Rofi command to pipe into, can add any options here +-rofi_command="rofi -dmenu $* -p" ++wofi_command="wofi -d -i -p" + + case "$1" in + --status) From c6813f937e09bdb928a9f49e0f645a183c3b936e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 31 Aug 2023 08:17:06 +0000 Subject: [PATCH 023/766] Remove deprecated `useHardenedMalloc` --- home-manager/modules/tor-browser.nix | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/home-manager/modules/tor-browser.nix b/home-manager/modules/tor-browser.nix index 6053e70..f0420ab 100644 --- a/home-manager/modules/tor-browser.nix +++ b/home-manager/modules/tor-browser.nix @@ -1,10 +1,6 @@ { nixosConfig, lib, pkgs, ... }: lib.mkIf nixosConfig.jalr.gui.enable { home.packages = with pkgs; [ - ( - tor-browser-bundle-bin.override { - useHardenedMalloc = false; - } - ) + tor-browser-bundle-bin ]; } From 54c764eb119733bd9a13d5253ebb60220dd07311 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 26 Aug 2023 18:12:18 +0000 Subject: [PATCH 024/766] Fix copy&paste error --- modules/bluetooth.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/bluetooth.nix b/modules/bluetooth.nix index 2e71330..dc12711 100644 --- a/modules/bluetooth.nix +++ b/modules/bluetooth.nix @@ -7,7 +7,7 @@ in options.jalr = { bluetooth.enable = pkgs.lib.mkEnableOption "Enable bluetooth" // { default = false; }; }; - config = lib.mkIf cfg.uefi.enable { + config = lib.mkIf cfg.bluetooth.enable { hardware.bluetooth.enable = true; services.blueman.enable = true; services.ofono.enable = true; From fa62cf6558e62d774521948af87505b85a51f746 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 3 Sep 2023 10:24:42 +0000 Subject: [PATCH 025/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/2ab91c8d65c00fd22a441c69bbf1bc9b420d5ea1' (2023-08-29) → 'github:nixos/nixpkgs/9075cba53e86dc318d159aee55dc9a7c9a4829c1' (2023-09-02) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/b54b40f7b4140663e8dcaa26b4337190945f6b76' (2023-08-31) → 'github:NixOS/nixpkgs/276e0e59881448b22ff9a5c945e64c9b20149535' (2023-09-03) • Updated input 'nur': 'github:nix-community/NUR/a18bb2664e2597598810dc45a17f70741254ea25' (2023-08-31) → 'github:nix-community/NUR/7e62dd55582646dbf8b87fed72854ebe3911985d' (2023-09-03) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 69c6682..0fd46f9 100644 --- a/flake.lock +++ b/flake.lock @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1693469295, - "narHash": "sha256-57qMlImkD9S+4Ie4yPN3EuzKAqTetD0ibVFhj1IRlLw=", + "lastModified": 1693736417, + "narHash": "sha256-jagxzrXFNu149KnpcTZ9t43Wo5nWU4tw5Ad8/Fz76FU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b54b40f7b4140663e8dcaa26b4337190945f6b76", + "rev": "276e0e59881448b22ff9a5c945e64c9b20149535", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1693341273, - "narHash": "sha256-wrsPjsIx2767909MPGhSIOmkpGELM9eufqLQOPxmZQg=", + "lastModified": 1693636127, + "narHash": "sha256-ZlS/lFGzK7BJXX2YVGnP3yZi3T9OLOEtBCyMJsb91U8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2ab91c8d65c00fd22a441c69bbf1bc9b420d5ea1", + "rev": "9075cba53e86dc318d159aee55dc9a7c9a4829c1", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1693467993, - "narHash": "sha256-3t42EiMFxyLEdL+yWciEOCKIORBLag3Kbc8pK+npcYo=", + "lastModified": 1693733350, + "narHash": "sha256-5QKYiWfNF58hEdU1o0h+78tVtJUgTmlyNnpxrpjdZwc=", "owner": "nix-community", "repo": "NUR", - "rev": "a18bb2664e2597598810dc45a17f70741254ea25", + "rev": "7e62dd55582646dbf8b87fed72854ebe3911985d", "type": "github" }, "original": { From d1bc2cb8acd2edf50ded83e85929d0b9bece625b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 6 Sep 2023 14:56:45 +0000 Subject: [PATCH 026/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/9075cba53e86dc318d159aee55dc9a7c9a4829c1' (2023-09-02) → 'github:nixos/nixpkgs/da5adce0ffaff10f6d0fee72a02a5ed9d01b52fc' (2023-09-03) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/276e0e59881448b22ff9a5c945e64c9b20149535' (2023-09-03) → 'github:NixOS/nixpkgs/2457551a54ffbd93b7d8f84af8b8fb3aac5cbdd5' (2023-09-06) • Updated input 'nur': 'github:nix-community/NUR/7e62dd55582646dbf8b87fed72854ebe3911985d' (2023-09-03) → 'github:nix-community/NUR/0572f3d2f4d1b231196f8ed7a3280c7f0724c95e' (2023-09-06) • Updated input 'sops-nix': 'github:Mic92/sops-nix/d9c5dc41c4b1f74c77f0dbffd0f3a4ebde447b7a' (2023-08-30) → 'github:Mic92/sops-nix/faf21ac162173c2deb54e5fdeed002a9bd6e8623' (2023-09-05) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/9117c4e9dc117a6cd0319cca40f2349ed333669d' (2023-08-27) → 'github:NixOS/nixpkgs/5601118d39ca9105f8e7b39d4c221d3388c0419d' (2023-09-02) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 0fd46f9..2cbc90e 100644 --- a/flake.lock +++ b/flake.lock @@ -158,11 +158,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1693097136, - "narHash": "sha256-fBZSMdBaoZ0INFbyZ5s0DOF7zDNcLsLxgkwdDh3l9Pc=", + "lastModified": 1693675694, + "narHash": "sha256-2pIOyQwGyy2FtFAUIb8YeKVmOCcPOTVphbAvmshudLE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9117c4e9dc117a6cd0319cca40f2349ed333669d", + "rev": "5601118d39ca9105f8e7b39d4c221d3388c0419d", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1693736417, - "narHash": "sha256-jagxzrXFNu149KnpcTZ9t43Wo5nWU4tw5Ad8/Fz76FU=", + "lastModified": 1694012069, + "narHash": "sha256-/IUwkEtnuqhoI68IJRBbMgwofTrte8E4zKYAb4p3Hl8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "276e0e59881448b22ff9a5c945e64c9b20149535", + "rev": "2457551a54ffbd93b7d8f84af8b8fb3aac5cbdd5", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1693636127, - "narHash": "sha256-ZlS/lFGzK7BJXX2YVGnP3yZi3T9OLOEtBCyMJsb91U8=", + "lastModified": 1693771906, + "narHash": "sha256-32EnPCaVjOiEERZ+o/2Ir7JH9pkfwJZJ27SKHNvt4yk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9075cba53e86dc318d159aee55dc9a7c9a4829c1", + "rev": "da5adce0ffaff10f6d0fee72a02a5ed9d01b52fc", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1693733350, - "narHash": "sha256-5QKYiWfNF58hEdU1o0h+78tVtJUgTmlyNnpxrpjdZwc=", + "lastModified": 1694011534, + "narHash": "sha256-gB7LM/w61gjZ2n75JN7FQKAF4o2QumqI33Pac16ZvjI=", "owner": "nix-community", "repo": "NUR", - "rev": "7e62dd55582646dbf8b87fed72854ebe3911985d", + "rev": "0572f3d2f4d1b231196f8ed7a3280c7f0724c95e", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1693404499, - "narHash": "sha256-cx/7yvM/AP+o/3wPJmA9W9F+WHemJk5t+Xcr+Qwkqhg=", + "lastModified": 1693898833, + "narHash": "sha256-OIrMAGNYNeLs6IvBynxcXub7aSW3GEUvWNsb7zx6zuU=", "owner": "Mic92", "repo": "sops-nix", - "rev": "d9c5dc41c4b1f74c77f0dbffd0f3a4ebde447b7a", + "rev": "faf21ac162173c2deb54e5fdeed002a9bd6e8623", "type": "github" }, "original": { From 3d2d2f4a2bfd163196ece9bc2a8851767ebdcb46 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 8 Sep 2023 22:47:50 +0000 Subject: [PATCH 027/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/da5adce0ffaff10f6d0fee72a02a5ed9d01b52fc' (2023-09-03) → 'github:nixos/nixpkgs/4f77ea639305f1de0a14d9d41eef83313360638c' (2023-09-07) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/2457551a54ffbd93b7d8f84af8b8fb3aac5cbdd5' (2023-09-06) → 'github:NixOS/nixpkgs/88aa035e6c43619ce9dcfb17cd3a88944d12ea75' (2023-09-08) • Updated input 'nur': 'github:nix-community/NUR/0572f3d2f4d1b231196f8ed7a3280c7f0724c95e' (2023-09-06) → 'github:nix-community/NUR/cb2799c3e5aa3b2fa1b0dce240688af0af17d538' (2023-09-08) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 2cbc90e..c7e5a90 100644 --- a/flake.lock +++ b/flake.lock @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1694012069, - "narHash": "sha256-/IUwkEtnuqhoI68IJRBbMgwofTrte8E4zKYAb4p3Hl8=", + "lastModified": 1694211446, + "narHash": "sha256-GcmSpcxdbz6LxmZnOLpL+25pK2OhahwlHDDU0Yqh+xk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2457551a54ffbd93b7d8f84af8b8fb3aac5cbdd5", + "rev": "88aa035e6c43619ce9dcfb17cd3a88944d12ea75", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1693771906, - "narHash": "sha256-32EnPCaVjOiEERZ+o/2Ir7JH9pkfwJZJ27SKHNvt4yk=", + "lastModified": 1694048570, + "narHash": "sha256-PEQptwFCVaJ+jLFJgrZll2shQ9VI/7xVhrCYkJo8iIw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "da5adce0ffaff10f6d0fee72a02a5ed9d01b52fc", + "rev": "4f77ea639305f1de0a14d9d41eef83313360638c", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1694011534, - "narHash": "sha256-gB7LM/w61gjZ2n75JN7FQKAF4o2QumqI33Pac16ZvjI=", + "lastModified": 1694205411, + "narHash": "sha256-+YFpxUt0uaU5STtipAClw2AmO3am0//5TZflTO7jCGc=", "owner": "nix-community", "repo": "NUR", - "rev": "0572f3d2f4d1b231196f8ed7a3280c7f0724c95e", + "rev": "cb2799c3e5aa3b2fa1b0dce240688af0af17d538", "type": "github" }, "original": { From 8828ca4c05ec81cd4542fe78761391d0fd809014 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 13 Sep 2023 15:16:26 +0000 Subject: [PATCH 028/766] Add pretix extraDomains --- .../weinturm-pretix-prod/services/pretix.nix | 4 ++ pkgs/pretix/module.nix | 38 ++++++++++++------- 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/hosts/weinturm-pretix-prod/services/pretix.nix b/hosts/weinturm-pretix-prod/services/pretix.nix index 72ef2df..2afab88 100644 --- a/hosts/weinturm-pretix-prod/services/pretix.nix +++ b/hosts/weinturm-pretix-prod/services/pretix.nix @@ -4,6 +4,10 @@ enable = true; instanceName = "Weinturm Open Air"; domain = "tickets.weinturm-open-air.de"; + extraDomains = [ + "tickets.wasted-openair.de" + "oel.wasted-openair.de" + ]; enableTls = true; enableRegistration = false; passwordReset = true; diff --git a/pkgs/pretix/module.nix b/pkgs/pretix/module.nix index 12872bb..7705e0a 100644 --- a/pkgs/pretix/module.nix +++ b/pkgs/pretix/module.nix @@ -66,7 +66,7 @@ let }; in { - options.services.pretix = with lib; { + options.services.pretix = with lib; with lib.types; { enable = mkEnableOption "Enable pretix ticket shop application"; instanceName = mkOption { type = types.str; @@ -74,7 +74,13 @@ in }; domain = mkOption { type = types.str; - description = "The installation’s domain"; + description = "The installation’s main domain"; + example = "pretix.example.net"; + }; + extraDomains = mkOption { + type = listOf str; + description = "A list of extra domains"; + default = [ ]; }; enableTls = mkEnableOption "Whether to use TLS or not"; enableRegistration = mkEnableOption "Enables or disables the registration of new admin users."; @@ -124,17 +130,23 @@ in recommendedOptimisation = true; recommendedProxySettings = true; recommendedTlsSettings = true; - virtualHosts."${cfg.domain}" = { - enableACME = cfg.enableTls; - forceSSL = cfg.enableTls; - kTLS = cfg.enableTls; - locations."/" = { - proxyPass = "http://${bind.host}:${toString bind.port}"; - }; - extraConfig = '' - ${hstsHeader} - ''; - }; + virtualHosts = lib.listToAttrs (map + (d: { + name = d; + value = { + enableACME = cfg.enableTls; + forceSSL = cfg.enableTls; + kTLS = cfg.enableTls; + locations."/" = { + proxyPass = "http://${bind.host}:${toString bind.port}"; + }; + extraConfig = '' + ${hstsHeader} + ''; + }; + }) + ([ cfg.domain ] ++ cfg.extraDomains) + ); }; services.postgresql = { From 1e5f10b02033fd07cfa26cc03d922a78b8cb5a9f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 13 Sep 2023 15:17:24 +0000 Subject: [PATCH 029/766] Update pretix version Bump pretix version from 2023.7.0 to 2023.7.3 --- pkgs/pretix/poetry.lock | 437 +++++++++++++++++++------------------ pkgs/pretix/pyproject.toml | 2 +- 2 files changed, 220 insertions(+), 219 deletions(-) diff --git a/pkgs/pretix/poetry.lock b/pkgs/pretix/poetry.lock index 3ad42a3..5088d49 100644 --- a/pkgs/pretix/poetry.lock +++ b/pkgs/pretix/poetry.lock @@ -174,14 +174,14 @@ tests = ["mypy (>=0.800)", "pytest", "pytest-asyncio"] [[package]] name = "async-timeout" -version = "4.0.2" +version = "4.0.3" description = "Timeout context manager for asyncio programs" category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "async-timeout-4.0.2.tar.gz", hash = "sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15"}, - {file = "async_timeout-4.0.2-py3-none-any.whl", hash = "sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"}, + {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, + {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, ] [[package]] @@ -318,14 +318,14 @@ test = ["pytest", "pytest-cov"] [[package]] name = "celery" -version = "5.3.1" +version = "5.3.4" description = "Distributed Task Queue." category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "celery-5.3.1-py3-none-any.whl", hash = "sha256:27f8f3f3b58de6e0ab4f174791383bbd7445aff0471a43e99cfd77727940753f"}, - {file = "celery-5.3.1.tar.gz", hash = "sha256:f84d1c21a1520c116c2b7d26593926581191435a03aa74b77c941b93ca1c6210"}, + {file = "celery-5.3.4-py3-none-any.whl", hash = "sha256:1e6ed40af72695464ce98ca2c201ad0ef8fd192246f6c9eac8bba343b980ad34"}, + {file = "celery-5.3.4.tar.gz", hash = "sha256:9023df6a8962da79eb30c0c84d5f4863d9793a466354cc931d7f72423996de28"}, ] [package.dependencies] @@ -334,14 +334,14 @@ click = ">=8.1.2,<9.0" click-didyoumean = ">=0.3.0" click-plugins = ">=1.1.1" click-repl = ">=0.2.0" -kombu = ">=5.3.1,<6.0" +kombu = ">=5.3.2,<6.0" python-dateutil = ">=2.8.2" tzdata = ">=2022.7" vine = ">=5.0.0,<6.0" [package.extras] -arangodb = ["pyArango (>=2.0.1)"] -auth = ["cryptography (==41.0.1)"] +arangodb = ["pyArango (>=2.0.2)"] +auth = ["cryptography (==41.0.3)"] azureblockblob = ["azure-storage-blob (>=12.15.0)"] brotli = ["brotli (>=1.0.0)", "brotlipy (>=0.7.0)"] cassandra = ["cassandra-driver (>=3.25.0,<4)"] @@ -361,7 +361,7 @@ msgpack = ["msgpack (==1.0.5)"] pymemcache = ["python-memcached (==1.59)"] pyro = ["pyro4 (==4.82)"] pytest = ["pytest-celery (==0.0.0)"] -redis = ["redis (>=4.5.2,!=4.5.5)"] +redis = ["redis (>=4.5.2,!=4.5.5,<5.0.0)"] s3 = ["boto3 (>=1.26.143)"] slmq = ["softlayer-messaging (>=1.0.3)"] solar = ["ephem (==4.1.4)"] @@ -560,14 +560,14 @@ files = [ [[package]] name = "click" -version = "8.1.6" +version = "8.1.7" description = "Composable command line interface toolkit" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "click-8.1.6-py3-none-any.whl", hash = "sha256:fa244bb30b3b5ee2cae3da8f55c9e5e0c0e86093306301fb418eb9dc40fbded5"}, - {file = "click-8.1.6.tar.gz", hash = "sha256:48ee849951919527a045bfe3bf7baa8a959c423134e1a5b98c05c20ba75a1cbd"}, + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, ] [package.dependencies] @@ -760,14 +760,14 @@ static3 = "*" [[package]] name = "django" -version = "4.1.10" +version = "4.1.11" description = "A high-level Python web framework that encourages rapid development and clean, pragmatic design." category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "Django-4.1.10-py3-none-any.whl", hash = "sha256:26d0260c2fb8121009e62ffc548b2398dea2522b6454208a852fb0ef264c206c"}, - {file = "Django-4.1.10.tar.gz", hash = "sha256:56343019a9fd839e2e5bf203daf45f25af79d5bffa4c71d56eae4f4404d82ade"}, + {file = "Django-4.1.11-py3-none-any.whl", hash = "sha256:cac9df0ba87b4f439e1a311ef22f75c938fc874bebf1fbabaed58d0e6d559a25"}, + {file = "Django-4.1.11.tar.gz", hash = "sha256:7b134688965dd331ca4d11ed38e5ce594caed0e906689a9b95251c29c2c03990"}, ] [package.dependencies] @@ -1365,14 +1365,14 @@ files = [ [[package]] name = "jsonschema" -version = "4.18.6" +version = "4.19.0" description = "An implementation of JSON Schema validation for Python" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "jsonschema-4.18.6-py3-none-any.whl", hash = "sha256:dc274409c36175aad949c68e5ead0853aaffbe8e88c830ae66bb3c7a1728ad2d"}, - {file = "jsonschema-4.18.6.tar.gz", hash = "sha256:ce71d2f8c7983ef75a756e568317bf54bc531dc3ad7e66a128eae0d51623d8a3"}, + {file = "jsonschema-4.19.0-py3-none-any.whl", hash = "sha256:043dc26a3845ff09d20e4420d6012a9c91c9aa8999fa184e7efcfeccb41e32cb"}, + {file = "jsonschema-4.19.0.tar.gz", hash = "sha256:6e1e7569ac13be8139b2dd2c21a55d350066ee3f80df06c608b398cdc6f30e8f"}, ] [package.dependencies] @@ -1417,14 +1417,14 @@ deprecated = "*" [[package]] name = "kombu" -version = "5.3.1" +version = "5.3.2" description = "Messaging library for Python." category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "kombu-5.3.1-py3-none-any.whl", hash = "sha256:48ee589e8833126fd01ceaa08f8a2041334e9f5894e5763c8486a550454551e9"}, - {file = "kombu-5.3.1.tar.gz", hash = "sha256:fbd7572d92c0bf71c112a6b45163153dea5a7b6a701ec16b568c27d0fd2370f2"}, + {file = "kombu-5.3.2-py3-none-any.whl", hash = "sha256:b753c9cfc9b1e976e637a7cbc1a65d446a22e45546cd996ea28f932082b7dc9e"}, + {file = "kombu-5.3.2.tar.gz", hash = "sha256:0ba213f630a2cb2772728aef56ac6883dc3a2f13435e10048f6e97d48506dbbd"}, ] [package.dependencies] @@ -1474,6 +1474,8 @@ files = [ {file = "lxml-4.9.3-cp27-cp27m-macosx_11_0_x86_64.whl", hash = "sha256:b0a545b46b526d418eb91754565ba5b63b1c0b12f9bd2f808c852d9b4b2f9b5c"}, {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:075b731ddd9e7f68ad24c635374211376aa05a281673ede86cbe1d1b3455279d"}, {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1e224d5755dba2f4a9498e150c43792392ac9b5380aa1b845f98a1618c94eeef"}, + {file = "lxml-4.9.3-cp27-cp27m-win32.whl", hash = "sha256:2c74524e179f2ad6d2a4f7caf70e2d96639c0954c943ad601a9e146c76408ed7"}, + {file = "lxml-4.9.3-cp27-cp27m-win_amd64.whl", hash = "sha256:4f1026bc732b6a7f96369f7bfe1a4f2290fb34dce00d8644bc3036fb351a4ca1"}, {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c0781a98ff5e6586926293e59480b64ddd46282953203c76ae15dbbbf302e8bb"}, {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cef2502e7e8a96fe5ad686d60b49e1ab03e438bd9123987994528febd569868e"}, {file = "lxml-4.9.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b86164d2cff4d3aaa1f04a14685cbc072efd0b4f99ca5708b2ad1b9b5988a991"}, @@ -1789,14 +1791,14 @@ six = ">=1.0.0" [[package]] name = "phonenumberslite" -version = "8.13.17" +version = "8.13.20" description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers." category = "main" optional = false python-versions = "*" files = [ - {file = "phonenumberslite-8.13.17-py2.py3-none-any.whl", hash = "sha256:bae91ba7822ed73adeac739b9f9f2ded295375542014f3374e593ad92eef49c4"}, - {file = "phonenumberslite-8.13.17.tar.gz", hash = "sha256:5741de4b77a963f33585eb0e8ffa2632ea9987d6e50a38ac67f441e49422de69"}, + {file = "phonenumberslite-8.13.20-py2.py3-none-any.whl", hash = "sha256:f0840de9bfe5b8f10b6883d971dd81f3a53bed8210326a53266f11e8be3428c3"}, + {file = "phonenumberslite-8.13.20.tar.gz", hash = "sha256:09b07b32861f306dee10f17085afb3e058b4c179edf50deb94db4d4dd14235ff"}, ] [[package]] @@ -1909,14 +1911,14 @@ files = [ [[package]] name = "pretix" -version = "2023.7.0" +version = "2023.7.3" description = "Reinventing presales, one ticket at a time" category = "main" optional = false python-versions = ">=3.9" files = [ - {file = "pretix-2023.7.0-py3-none-any.whl", hash = "sha256:ed983e2ae73b2983e53b80733a2a69aca4f1686e98c19c67ed5b0c40f0a81033"}, - {file = "pretix-2023.7.0.tar.gz", hash = "sha256:86278f0fc1fa0a638bb720076ac805f3254818e5c243a4871b03db9ceaf40b9f"}, + {file = "pretix-2023.7.3-py3-none-any.whl", hash = "sha256:0bd249a3a91a530ce4b292d9aaf5cf12ce1f375a342f18da6d7ee29a3493c30e"}, + {file = "pretix-2023.7.3.tar.gz", hash = "sha256:b6a672290fd1e5c6df97af837ef2bdb87f63529045c2d4ca83682ae3251f9d3d"}, ] [package.dependencies] @@ -2058,74 +2060,72 @@ files = [ [[package]] name = "psycopg2-binary" -version = "2.9.6" +version = "2.9.7" description = "psycopg2 - Python-PostgreSQL Database Adapter" category = "main" optional = false python-versions = ">=3.6" files = [ - {file = "psycopg2-binary-2.9.6.tar.gz", hash = "sha256:1f64dcfb8f6e0c014c7f55e51c9759f024f70ea572fbdef123f85318c297947c"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d26e0342183c762de3276cca7a530d574d4e25121ca7d6e4a98e4f05cb8e4df7"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c48d8f2db17f27d41fb0e2ecd703ea41984ee19362cbce52c097963b3a1b4365"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffe9dc0a884a8848075e576c1de0290d85a533a9f6e9c4e564f19adf8f6e54a7"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a76e027f87753f9bd1ab5f7c9cb8c7628d1077ef927f5e2446477153a602f2c"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6460c7a99fc939b849431f1e73e013d54aa54293f30f1109019c56a0b2b2ec2f"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae102a98c547ee2288637af07393dd33f440c25e5cd79556b04e3fca13325e5f"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:9972aad21f965599ed0106f65334230ce826e5ae69fda7cbd688d24fa922415e"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7a40c00dbe17c0af5bdd55aafd6ff6679f94a9be9513a4c7e071baf3d7d22a70"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:cacbdc5839bdff804dfebc058fe25684cae322987f7a38b0168bc1b2df703fb1"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7f0438fa20fb6c7e202863e0d5ab02c246d35efb1d164e052f2f3bfe2b152bd0"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-win32.whl", hash = "sha256:b6c8288bb8a84b47e07013bb4850f50538aa913d487579e1921724631d02ea1b"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-win_amd64.whl", hash = "sha256:61b047a0537bbc3afae10f134dc6393823882eb263088c271331602b672e52e9"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:964b4dfb7c1c1965ac4c1978b0f755cc4bd698e8aa2b7667c575fb5f04ebe06b"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:afe64e9b8ea66866a771996f6ff14447e8082ea26e675a295ad3bdbffdd72afb"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15e2ee79e7cf29582ef770de7dab3d286431b01c3bb598f8e05e09601b890081"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dfa74c903a3c1f0d9b1c7e7b53ed2d929a4910e272add6700c38f365a6002820"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b83456c2d4979e08ff56180a76429263ea254c3f6552cd14ada95cff1dec9bb8"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0645376d399bfd64da57148694d78e1f431b1e1ee1054872a5713125681cf1be"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e99e34c82309dd78959ba3c1590975b5d3c862d6f279f843d47d26ff89d7d7e1"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4ea29fc3ad9d91162c52b578f211ff1c931d8a38e1f58e684c45aa470adf19e2"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:4ac30da8b4f57187dbf449294d23b808f8f53cad6b1fc3623fa8a6c11d176dd0"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e78e6e2a00c223e164c417628572a90093c031ed724492c763721c2e0bc2a8df"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-win32.whl", hash = "sha256:1876843d8e31c89c399e31b97d4b9725a3575bb9c2af92038464231ec40f9edb"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-win_amd64.whl", hash = "sha256:b4b24f75d16a89cc6b4cdff0eb6a910a966ecd476d1e73f7ce5985ff1328e9a6"}, - {file = "psycopg2_binary-2.9.6-cp36-cp36m-win32.whl", hash = "sha256:498807b927ca2510baea1b05cc91d7da4718a0f53cb766c154c417a39f1820a0"}, - {file = "psycopg2_binary-2.9.6-cp36-cp36m-win_amd64.whl", hash = "sha256:0d236c2825fa656a2d98bbb0e52370a2e852e5a0ec45fc4f402977313329174d"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:34b9ccdf210cbbb1303c7c4db2905fa0319391bd5904d32689e6dd5c963d2ea8"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84d2222e61f313c4848ff05353653bf5f5cf6ce34df540e4274516880d9c3763"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30637a20623e2a2eacc420059be11527f4458ef54352d870b8181a4c3020ae6b"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8122cfc7cae0da9a3077216528b8bb3629c43b25053284cc868744bfe71eb141"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38601cbbfe600362c43714482f43b7c110b20cb0f8172422c616b09b85a750c5"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c7e62ab8b332147a7593a385d4f368874d5fe4ad4e341770d4983442d89603e3"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2ab652e729ff4ad76d400df2624d223d6e265ef81bb8aa17fbd63607878ecbee"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:c83a74b68270028dc8ee74d38ecfaf9c90eed23c8959fca95bd703d25b82c88e"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d4e6036decf4b72d6425d5b29bbd3e8f0ff1059cda7ac7b96d6ac5ed34ffbacd"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-win32.whl", hash = "sha256:a8c28fd40a4226b4a84bdf2d2b5b37d2c7bd49486b5adcc200e8c7ec991dfa7e"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-win_amd64.whl", hash = "sha256:51537e3d299be0db9137b321dfb6a5022caaab275775680e0c3d281feefaca6b"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cf4499e0a83b7b7edcb8dabecbd8501d0d3a5ef66457200f77bde3d210d5debb"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7e13a5a2c01151f1208d5207e42f33ba86d561b7a89fca67c700b9486a06d0e2"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e0f754d27fddcfd74006455b6e04e6705d6c31a612ec69ddc040a5468e44b4e"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d57c3fd55d9058645d26ae37d76e61156a27722097229d32a9e73ed54819982a"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71f14375d6f73b62800530b581aed3ada394039877818b2d5f7fc77e3bb6894d"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:441cc2f8869a4f0f4bb408475e5ae0ee1f3b55b33f350406150277f7f35384fc"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:65bee1e49fa6f9cf327ce0e01c4c10f39165ee76d35c846ade7cb0ec6683e303"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:af335bac6b666cc6aea16f11d486c3b794029d9df029967f9938a4bed59b6a19"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:cfec476887aa231b8548ece2e06d28edc87c1397ebd83922299af2e051cf2827"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:65c07febd1936d63bfde78948b76cd4c2a411572a44ac50719ead41947d0f26b"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-win32.whl", hash = "sha256:4dfb4be774c4436a4526d0c554af0cc2e02082c38303852a36f6456ece7b3503"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-win_amd64.whl", hash = "sha256:02c6e3cf3439e213e4ee930308dc122d6fb4d4bea9aef4a12535fbd605d1a2fe"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e9182eb20f41417ea1dd8e8f7888c4d7c6e805f8a7c98c1081778a3da2bee3e4"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8a6979cf527e2603d349a91060f428bcb135aea2be3201dff794813256c274f1"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8338a271cb71d8da40b023a35d9c1e919eba6cbd8fa20a54b748a332c355d896"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e3ed340d2b858d6e6fb5083f87c09996506af483227735de6964a6100b4e6a54"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f81e65376e52f03422e1fb475c9514185669943798ed019ac50410fb4c4df232"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfb13af3c5dd3a9588000910178de17010ebcccd37b4f9794b00595e3a8ddad3"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4c727b597c6444a16e9119386b59388f8a424223302d0c06c676ec8b4bc1f963"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:4d67fbdaf177da06374473ef6f7ed8cc0a9dc640b01abfe9e8a2ccb1b1402c1f"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:0892ef645c2fabb0c75ec32d79f4252542d0caec1d5d949630e7d242ca4681a3"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:02c0f3757a4300cf379eb49f543fb7ac527fb00144d39246ee40e1df684ab514"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-win32.whl", hash = "sha256:c3dba7dab16709a33a847e5cd756767271697041fbe3fe97c215b1fc1f5c9848"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-win_amd64.whl", hash = "sha256:f6a88f384335bb27812293fdb11ac6aee2ca3f51d3c7820fe03de0a304ab6249"}, + {file = "psycopg2-binary-2.9.7.tar.gz", hash = "sha256:1b918f64a51ffe19cd2e230b3240ba481330ce1d4b7875ae67305bd1d37b041c"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ea5f8ee87f1eddc818fc04649d952c526db4426d26bab16efbe5a0c52b27d6ab"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2993ccb2b7e80844d534e55e0f12534c2871952f78e0da33c35e648bf002bbff"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbbc3c5d15ed76b0d9db7753c0db40899136ecfe97d50cbde918f630c5eb857a"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:692df8763b71d42eb8343f54091368f6f6c9cfc56dc391858cdb3c3ef1e3e584"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9dcfd5d37e027ec393a303cc0a216be564b96c80ba532f3d1e0d2b5e5e4b1e6e"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17cc17a70dfb295a240db7f65b6d8153c3d81efb145d76da1e4a096e9c5c0e63"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e5666632ba2b0d9757b38fc17337d84bdf932d38563c5234f5f8c54fd01349c9"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7db7b9b701974c96a88997d458b38ccb110eba8f805d4b4f74944aac48639b42"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c82986635a16fb1fa15cd5436035c88bc65c3d5ced1cfaac7f357ee9e9deddd4"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4fe13712357d802080cfccbf8c6266a3121dc0e27e2144819029095ccf708372"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-win32.whl", hash = "sha256:122641b7fab18ef76b18860dd0c772290566b6fb30cc08e923ad73d17461dc63"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-win_amd64.whl", hash = "sha256:f8651cf1f144f9ee0fa7d1a1df61a9184ab72962531ca99f077bbdcba3947c58"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4ecc15666f16f97709106d87284c136cdc82647e1c3f8392a672616aed3c7151"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3fbb1184c7e9d28d67671992970718c05af5f77fc88e26fd7136613c4ece1f89"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a7968fd20bd550431837656872c19575b687f3f6f98120046228e451e4064df"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:094af2e77a1976efd4956a031028774b827029729725e136514aae3cdf49b87b"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:26484e913d472ecb6b45937ea55ce29c57c662066d222fb0fbdc1fab457f18c5"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f309b77a7c716e6ed9891b9b42953c3ff7d533dc548c1e33fddc73d2f5e21f9"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6d92e139ca388ccfe8c04aacc163756e55ba4c623c6ba13d5d1595ed97523e4b"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:2df562bb2e4e00ee064779902d721223cfa9f8f58e7e52318c97d139cf7f012d"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:4eec5d36dbcfc076caab61a2114c12094c0b7027d57e9e4387b634e8ab36fd44"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1011eeb0c51e5b9ea1016f0f45fa23aca63966a4c0afcf0340ccabe85a9f65bd"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-win32.whl", hash = "sha256:ded8e15f7550db9e75c60b3d9fcbc7737fea258a0f10032cdb7edc26c2a671fd"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-win_amd64.whl", hash = "sha256:8a136c8aaf6615653450817a7abe0fc01e4ea720ae41dfb2823eccae4b9062a3"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2dec5a75a3a5d42b120e88e6ed3e3b37b46459202bb8e36cd67591b6e5feebc1"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc10da7e7df3380426521e8c1ed975d22df678639da2ed0ec3244c3dc2ab54c8"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee919b676da28f78f91b464fb3e12238bd7474483352a59c8a16c39dfc59f0c5"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb1c0e682138f9067a58fc3c9a9bf1c83d8e08cfbee380d858e63196466d5c86"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00d8db270afb76f48a499f7bb8fa70297e66da67288471ca873db88382850bf4"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:9b0c2b466b2f4d89ccc33784c4ebb1627989bd84a39b79092e560e937a11d4ac"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:51d1b42d44f4ffb93188f9b39e6d1c82aa758fdb8d9de65e1ddfe7a7d250d7ad"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:11abdbfc6f7f7dea4a524b5f4117369b0d757725798f1593796be6ece20266cb"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:f02f4a72cc3ab2565c6d9720f0343cb840fb2dc01a2e9ecb8bc58ccf95dc5c06"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-win32.whl", hash = "sha256:81d5dd2dd9ab78d31a451e357315f201d976c131ca7d43870a0e8063b6b7a1ec"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-win_amd64.whl", hash = "sha256:62cb6de84d7767164a87ca97e22e5e0a134856ebcb08f21b621c6125baf61f16"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:59f7e9109a59dfa31efa022e94a244736ae401526682de504e87bd11ce870c22"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:95a7a747bdc3b010bb6a980f053233e7610276d55f3ca506afff4ad7749ab58a"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c721ee464e45ecf609ff8c0a555018764974114f671815a0a7152aedb9f3343"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4f37bbc6588d402980ffbd1f3338c871368fb4b1cfa091debe13c68bb3852b3"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac83ab05e25354dad798401babaa6daa9577462136ba215694865394840e31f8"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:024eaeb2a08c9a65cd5f94b31ace1ee3bb3f978cd4d079406aef85169ba01f08"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1c31c2606ac500dbd26381145684d87730a2fac9a62ebcfbaa2b119f8d6c19f4"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:42a62ef0e5abb55bf6ffb050eb2b0fcd767261fa3faf943a4267539168807522"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:7952807f95c8eba6a8ccb14e00bf170bb700cafcec3924d565235dffc7dc4ae8"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e02bc4f2966475a7393bd0f098e1165d470d3fa816264054359ed4f10f6914ea"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-win32.whl", hash = "sha256:fdca0511458d26cf39b827a663d7d87db6f32b93efc22442a742035728603d5f"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-win_amd64.whl", hash = "sha256:d0b16e5bb0ab78583f0ed7ab16378a0f8a89a27256bb5560402749dbe8a164d7"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6822c9c63308d650db201ba22fe6648bd6786ca6d14fdaf273b17e15608d0852"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f94cb12150d57ea433e3e02aabd072205648e86f1d5a0a692d60242f7809b15"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5ee89587696d808c9a00876065d725d4ae606f5f7853b961cdbc348b0f7c9a1"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad5ec10b53cbb57e9a2e77b67e4e4368df56b54d6b00cc86398578f1c635f329"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:642df77484b2dcaf87d4237792246d8068653f9e0f5c025e2c692fc56b0dda70"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6a8b575ac45af1eaccbbcdcf710ab984fd50af048fe130672377f78aaff6fc1"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f955aa50d7d5220fcb6e38f69ea126eafecd812d96aeed5d5f3597f33fad43bb"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ad26d4eeaa0d722b25814cce97335ecf1b707630258f14ac4d2ed3d1d8415265"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:ced63c054bdaf0298f62681d5dcae3afe60cbae332390bfb1acf0e23dcd25fc8"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2b04da24cbde33292ad34a40db9832a80ad12de26486ffeda883413c9e1b1d5e"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-win32.whl", hash = "sha256:18f12632ab516c47c1ac4841a78fddea6508a8284c7cf0f292cb1a523f2e2379"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-win_amd64.whl", hash = "sha256:eb3b8d55924a6058a26db69fb1d3e7e32695ff8b491835ba9f479537e14dcf9f"}, ] [[package]] @@ -2296,14 +2296,14 @@ six = ">=1.5" [[package]] name = "python-stdnum" -version = "1.18" +version = "1.19" description = "Python module to handle standardized numbers and codes" category = "main" optional = false python-versions = "*" files = [ - {file = "python-stdnum-1.18.tar.gz", hash = "sha256:bcc763d9c49ae23da5d2b7a686d5fd1deec9d9051341160a10d1ac723a26bec0"}, - {file = "python_stdnum-1.18-py2.py3-none-any.whl", hash = "sha256:d7f2a3c7ef4635c957b9cbdd9b1993d1f6ee3a2959f03e172c45440d99f296eb"}, + {file = "python-stdnum-1.19.tar.gz", hash = "sha256:133ec82f56390ea74c190569e98f2fb14b869808b1d54785708f22d0fead8b3f"}, + {file = "python_stdnum-1.19-py2.py3-none-any.whl", hash = "sha256:1b5b401ad3f45b798b0317313b781a433f5d7a5ff2c9feb8054664f76f78644e"}, ] [package.extras] @@ -2332,14 +2332,14 @@ yubiauth-server = ["WebOb", "yubiauth"] [[package]] name = "pytz" -version = "2023.3" +version = "2023.3.post1" description = "World timezone definitions, modern and historical" category = "main" optional = false python-versions = "*" files = [ - {file = "pytz-2023.3-py2.py3-none-any.whl", hash = "sha256:a151b3abb88eda1d4e34a9814df37de2a80e301e68ba0fd856fb9b46bfbbbffb"}, - {file = "pytz-2023.3.tar.gz", hash = "sha256:1d8ce29db189191fb55338ee6d0387d82ab59f3d00eac103412d64e0ebd0c588"}, + {file = "pytz-2023.3.post1-py2.py3-none-any.whl", hash = "sha256:ce42d816b81b68506614c11e8937d3aa9e41007ceb50bfdcb0749b921bf646c7"}, + {file = "pytz-2023.3.post1.tar.gz", hash = "sha256:7b4fddbeb94a1eba4b557da24f19fdf9db575192544270a9101d8509f9f43d7b"}, ] [[package]] @@ -2447,14 +2447,14 @@ ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)" [[package]] name = "referencing" -version = "0.30.0" +version = "0.30.2" description = "JSON Referencing + Python" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "referencing-0.30.0-py3-none-any.whl", hash = "sha256:c257b08a399b6c2f5a3510a50d28ab5dbc7bbde049bcaf954d43c446f83ab548"}, - {file = "referencing-0.30.0.tar.gz", hash = "sha256:47237742e990457f7512c7d27486394a9aadaf876cbfaa4be65b27b4f4d47c6b"}, + {file = "referencing-0.30.2-py3-none-any.whl", hash = "sha256:449b6669b6121a9e96a7f9e410b245d471e8d48964c67113ce9afe50c8dd7bdf"}, + {file = "referencing-0.30.2.tar.gz", hash = "sha256:794ad8003c65938edcdbc027f1933215e0d0ccc0291e3ce20a4d87432b59efc0"}, ] [package.dependencies] @@ -2470,6 +2470,7 @@ optional = false python-versions = ">=3.7,<4" files = [ {file = "reportlab-4.0.4-py3-none-any.whl", hash = "sha256:3dcda79ce04baf70721e2ec54854722644262cac2feec3d5c4c5e77015504cb0"}, + {file = "reportlab-4.0.4.tar.gz", hash = "sha256:7f70b3b56aff5f11cb4136c51a0f5a56fe6e4c8fbbac7b903076db99a8ef31c1"}, ] [package.dependencies] @@ -2568,109 +2569,109 @@ files = [ [[package]] name = "rpds-py" -version = "0.9.2" +version = "0.10.3" description = "Python bindings to Rust's persistent data structures (rpds)" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "rpds_py-0.9.2-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:ab6919a09c055c9b092798ce18c6c4adf49d24d4d9e43a92b257e3f2548231e7"}, - {file = "rpds_py-0.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d55777a80f78dd09410bd84ff8c95ee05519f41113b2df90a69622f5540c4f8b"}, - {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a216b26e5af0a8e265d4efd65d3bcec5fba6b26909014effe20cd302fd1138fa"}, - {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:29cd8bfb2d716366a035913ced99188a79b623a3512292963d84d3e06e63b496"}, - {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44659b1f326214950a8204a248ca6199535e73a694be8d3e0e869f820767f12f"}, - {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:745f5a43fdd7d6d25a53ab1a99979e7f8ea419dfefebcab0a5a1e9095490ee5e"}, - {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a987578ac5214f18b99d1f2a3851cba5b09f4a689818a106c23dbad0dfeb760f"}, - {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bf4151acb541b6e895354f6ff9ac06995ad9e4175cbc6d30aaed08856558201f"}, - {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:03421628f0dc10a4119d714a17f646e2837126a25ac7a256bdf7c3943400f67f"}, - {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:13b602dc3e8dff3063734f02dcf05111e887f301fdda74151a93dbbc249930fe"}, - {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:fae5cb554b604b3f9e2c608241b5d8d303e410d7dfb6d397c335f983495ce7f6"}, - {file = "rpds_py-0.9.2-cp310-none-win32.whl", hash = "sha256:47c5f58a8e0c2c920cc7783113df2fc4ff12bf3a411d985012f145e9242a2764"}, - {file = "rpds_py-0.9.2-cp310-none-win_amd64.whl", hash = "sha256:4ea6b73c22d8182dff91155af018b11aac9ff7eca085750455c5990cb1cfae6e"}, - {file = "rpds_py-0.9.2-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:e564d2238512c5ef5e9d79338ab77f1cbbda6c2d541ad41b2af445fb200385e3"}, - {file = "rpds_py-0.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f411330a6376fb50e5b7a3e66894e4a39e60ca2e17dce258d53768fea06a37bd"}, - {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e7521f5af0233e89939ad626b15278c71b69dc1dfccaa7b97bd4cdf96536bb7"}, - {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8d3335c03100a073883857e91db9f2e0ef8a1cf42dc0369cbb9151c149dbbc1b"}, - {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d25b1c1096ef0447355f7293fbe9ad740f7c47ae032c2884113f8e87660d8f6e"}, - {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6a5d3fbd02efd9cf6a8ffc2f17b53a33542f6b154e88dd7b42ef4a4c0700fdad"}, - {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5934e2833afeaf36bd1eadb57256239785f5af0220ed8d21c2896ec4d3a765f"}, - {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:095b460e117685867d45548fbd8598a8d9999227e9061ee7f012d9d264e6048d"}, - {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:91378d9f4151adc223d584489591dbb79f78814c0734a7c3bfa9c9e09978121c"}, - {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:24a81c177379300220e907e9b864107614b144f6c2a15ed5c3450e19cf536fae"}, - {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:de0b6eceb46141984671802d412568d22c6bacc9b230174f9e55fc72ef4f57de"}, - {file = "rpds_py-0.9.2-cp311-none-win32.whl", hash = "sha256:700375326ed641f3d9d32060a91513ad668bcb7e2cffb18415c399acb25de2ab"}, - {file = "rpds_py-0.9.2-cp311-none-win_amd64.whl", hash = "sha256:0766babfcf941db8607bdaf82569ec38107dbb03c7f0b72604a0b346b6eb3298"}, - {file = "rpds_py-0.9.2-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:b1440c291db3f98a914e1afd9d6541e8fc60b4c3aab1a9008d03da4651e67386"}, - {file = "rpds_py-0.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0f2996fbac8e0b77fd67102becb9229986396e051f33dbceada3debaacc7033f"}, - {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f30d205755566a25f2ae0382944fcae2f350500ae4df4e795efa9e850821d82"}, - {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:159fba751a1e6b1c69244e23ba6c28f879a8758a3e992ed056d86d74a194a0f3"}, - {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1f044792e1adcea82468a72310c66a7f08728d72a244730d14880cd1dabe36b"}, - {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9251eb8aa82e6cf88510530b29eef4fac825a2b709baf5b94a6094894f252387"}, - {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01899794b654e616c8625b194ddd1e5b51ef5b60ed61baa7a2d9c2ad7b2a4238"}, - {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b0c43f8ae8f6be1d605b0465671124aa8d6a0e40f1fb81dcea28b7e3d87ca1e1"}, - {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:207f57c402d1f8712618f737356e4b6f35253b6d20a324d9a47cb9f38ee43a6b"}, - {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b52e7c5ae35b00566d244ffefba0f46bb6bec749a50412acf42b1c3f402e2c90"}, - {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:978fa96dbb005d599ec4fd9ed301b1cc45f1a8f7982d4793faf20b404b56677d"}, - {file = "rpds_py-0.9.2-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:6aa8326a4a608e1c28da191edd7c924dff445251b94653988efb059b16577a4d"}, - {file = "rpds_py-0.9.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:aad51239bee6bff6823bbbdc8ad85136c6125542bbc609e035ab98ca1e32a192"}, - {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4bd4dc3602370679c2dfb818d9c97b1137d4dd412230cfecd3c66a1bf388a196"}, - {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:dd9da77c6ec1f258387957b754f0df60766ac23ed698b61941ba9acccd3284d1"}, - {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:190ca6f55042ea4649ed19c9093a9be9d63cd8a97880106747d7147f88a49d18"}, - {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:876bf9ed62323bc7dcfc261dbc5572c996ef26fe6406b0ff985cbcf460fc8a4c"}, - {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa2818759aba55df50592ecbc95ebcdc99917fa7b55cc6796235b04193eb3c55"}, - {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9ea4d00850ef1e917815e59b078ecb338f6a8efda23369677c54a5825dbebb55"}, - {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:5855c85eb8b8a968a74dc7fb014c9166a05e7e7a8377fb91d78512900aadd13d"}, - {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:14c408e9d1a80dcb45c05a5149e5961aadb912fff42ca1dd9b68c0044904eb32"}, - {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:65a0583c43d9f22cb2130c7b110e695fff834fd5e832a776a107197e59a1898e"}, - {file = "rpds_py-0.9.2-cp38-none-win32.whl", hash = "sha256:71f2f7715935a61fa3e4ae91d91b67e571aeb5cb5d10331ab681256bda2ad920"}, - {file = "rpds_py-0.9.2-cp38-none-win_amd64.whl", hash = "sha256:674c704605092e3ebbbd13687b09c9f78c362a4bc710343efe37a91457123044"}, - {file = "rpds_py-0.9.2-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:07e2c54bef6838fa44c48dfbc8234e8e2466d851124b551fc4e07a1cfeb37260"}, - {file = "rpds_py-0.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f7fdf55283ad38c33e35e2855565361f4bf0abd02470b8ab28d499c663bc5d7c"}, - {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:890ba852c16ace6ed9f90e8670f2c1c178d96510a21b06d2fa12d8783a905193"}, - {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:50025635ba8b629a86d9d5474e650da304cb46bbb4d18690532dd79341467846"}, - {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:517cbf6e67ae3623c5127206489d69eb2bdb27239a3c3cc559350ef52a3bbf0b"}, - {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0836d71ca19071090d524739420a61580f3f894618d10b666cf3d9a1688355b1"}, - {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c439fd54b2b9053717cca3de9583be6584b384d88d045f97d409f0ca867d80f"}, - {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f68996a3b3dc9335037f82754f9cdbe3a95db42bde571d8c3be26cc6245f2324"}, - {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7d68dc8acded354c972116f59b5eb2e5864432948e098c19fe6994926d8e15c3"}, - {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f963c6b1218b96db85fc37a9f0851eaf8b9040aa46dec112611697a7023da535"}, - {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5a46859d7f947061b4010e554ccd1791467d1b1759f2dc2ec9055fa239f1bc26"}, - {file = "rpds_py-0.9.2-cp39-none-win32.whl", hash = "sha256:e07e5dbf8a83c66783a9fe2d4566968ea8c161199680e8ad38d53e075df5f0d0"}, - {file = "rpds_py-0.9.2-cp39-none-win_amd64.whl", hash = "sha256:682726178138ea45a0766907957b60f3a1bf3acdf212436be9733f28b6c5af3c"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:196cb208825a8b9c8fc360dc0f87993b8b260038615230242bf18ec84447c08d"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:c7671d45530fcb6d5e22fd40c97e1e1e01965fc298cbda523bb640f3d923b387"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83b32f0940adec65099f3b1c215ef7f1d025d13ff947975a055989cb7fd019a4"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7f67da97f5b9eac838b6980fc6da268622e91f8960e083a34533ca710bec8611"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:03975db5f103997904c37e804e5f340c8fdabbb5883f26ee50a255d664eed58c"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:987b06d1cdb28f88a42e4fb8a87f094e43f3c435ed8e486533aea0bf2e53d931"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c861a7e4aef15ff91233751619ce3a3d2b9e5877e0fcd76f9ea4f6847183aa16"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02938432352359805b6da099c9c95c8a0547fe4b274ce8f1a91677401bb9a45f"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:ef1f08f2a924837e112cba2953e15aacfccbbfcd773b4b9b4723f8f2ddded08e"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:35da5cc5cb37c04c4ee03128ad59b8c3941a1e5cd398d78c37f716f32a9b7f67"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:141acb9d4ccc04e704e5992d35472f78c35af047fa0cfae2923835d153f091be"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:79f594919d2c1a0cc17d1988a6adaf9a2f000d2e1048f71f298b056b1018e872"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:a06418fe1155e72e16dddc68bb3780ae44cebb2912fbd8bb6ff9161de56e1798"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b2eb034c94b0b96d5eddb290b7b5198460e2d5d0c421751713953a9c4e47d10"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8b08605d248b974eb02f40bdcd1a35d3924c83a2a5e8f5d0fa5af852c4d960af"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a0805911caedfe2736935250be5008b261f10a729a303f676d3d5fea6900c96a"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ab2299e3f92aa5417d5e16bb45bb4586171c1327568f638e8453c9f8d9e0f020"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c8d7594e38cf98d8a7df25b440f684b510cf4627fe038c297a87496d10a174f"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8b9ec12ad5f0a4625db34db7e0005be2632c1013b253a4a60e8302ad4d462afd"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:1fcdee18fea97238ed17ab6478c66b2095e4ae7177e35fb71fbe561a27adf620"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:933a7d5cd4b84f959aedeb84f2030f0a01d63ae6cf256629af3081cf3e3426e8"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:686ba516e02db6d6f8c279d1641f7067ebb5dc58b1d0536c4aaebb7bf01cdc5d"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:0173c0444bec0a3d7d848eaeca2d8bd32a1b43f3d3fde6617aac3731fa4be05f"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:d576c3ef8c7b2d560e301eb33891d1944d965a4d7a2eacb6332eee8a71827db6"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed89861ee8c8c47d6beb742a602f912b1bb64f598b1e2f3d758948721d44d468"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1054a08e818f8e18910f1bee731583fe8f899b0a0a5044c6e680ceea34f93876"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99e7c4bb27ff1aab90dcc3e9d37ee5af0231ed98d99cb6f5250de28889a3d502"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c545d9d14d47be716495076b659db179206e3fd997769bc01e2d550eeb685596"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9039a11bca3c41be5a58282ed81ae422fa680409022b996032a43badef2a3752"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fb39aca7a64ad0c9490adfa719dbeeb87d13be137ca189d2564e596f8ba32c07"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2d8b3b3a2ce0eaa00c5bbbb60b6713e94e7e0becab7b3db6c5c77f979e8ed1f1"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:99b1c16f732b3a9971406fbfe18468592c5a3529585a45a35adbc1389a529a03"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:c27ee01a6c3223025f4badd533bea5e87c988cb0ba2811b690395dfe16088cfe"}, - {file = "rpds_py-0.9.2.tar.gz", hash = "sha256:8d70e8f14900f2657c249ea4def963bed86a29b81f81f5b76b5a9215680de945"}, + {file = "rpds_py-0.10.3-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:485747ee62da83366a44fbba963c5fe017860ad408ccd6cd99aa66ea80d32b2e"}, + {file = "rpds_py-0.10.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c55f9821f88e8bee4b7a72c82cfb5ecd22b6aad04033334f33c329b29bfa4da0"}, + {file = "rpds_py-0.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3b52a67ac66a3a64a7e710ba629f62d1e26ca0504c29ee8cbd99b97df7079a8"}, + {file = "rpds_py-0.10.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3aed39db2f0ace76faa94f465d4234aac72e2f32b009f15da6492a561b3bbebd"}, + {file = "rpds_py-0.10.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:271c360fdc464fe6a75f13ea0c08ddf71a321f4c55fc20a3fe62ea3ef09df7d9"}, + {file = "rpds_py-0.10.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef5fddfb264e89c435be4adb3953cef5d2936fdeb4463b4161a6ba2f22e7b740"}, + {file = "rpds_py-0.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a771417c9c06c56c9d53d11a5b084d1de75de82978e23c544270ab25e7c066ff"}, + {file = "rpds_py-0.10.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:52b5cbc0469328e58180021138207e6ec91d7ca2e037d3549cc9e34e2187330a"}, + {file = "rpds_py-0.10.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:6ac3fefb0d168c7c6cab24fdfc80ec62cd2b4dfd9e65b84bdceb1cb01d385c33"}, + {file = "rpds_py-0.10.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:8d54bbdf5d56e2c8cf81a1857250f3ea132de77af543d0ba5dce667183b61fec"}, + {file = "rpds_py-0.10.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cd2163f42868865597d89399a01aa33b7594ce8e2c4a28503127c81a2f17784e"}, + {file = "rpds_py-0.10.3-cp310-none-win32.whl", hash = "sha256:ea93163472db26ac6043e8f7f93a05d9b59e0505c760da2a3cd22c7dd7111391"}, + {file = "rpds_py-0.10.3-cp310-none-win_amd64.whl", hash = "sha256:7cd020b1fb41e3ab7716d4d2c3972d4588fdfbab9bfbbb64acc7078eccef8860"}, + {file = "rpds_py-0.10.3-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:1d9b5ee46dcb498fa3e46d4dfabcb531e1f2e76b477e0d99ef114f17bbd38453"}, + {file = "rpds_py-0.10.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:563646d74a4b4456d0cf3b714ca522e725243c603e8254ad85c3b59b7c0c4bf0"}, + {file = "rpds_py-0.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e626b864725680cd3904414d72e7b0bd81c0e5b2b53a5b30b4273034253bb41f"}, + {file = "rpds_py-0.10.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:485301ee56ce87a51ccb182a4b180d852c5cb2b3cb3a82f7d4714b4141119d8c"}, + {file = "rpds_py-0.10.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:42f712b4668831c0cd85e0a5b5a308700fe068e37dcd24c0062904c4e372b093"}, + {file = "rpds_py-0.10.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6c9141af27a4e5819d74d67d227d5047a20fa3c7d4d9df43037a955b4c748ec5"}, + {file = "rpds_py-0.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef750a20de1b65657a1425f77c525b0183eac63fe7b8f5ac0dd16f3668d3e64f"}, + {file = "rpds_py-0.10.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e1a0ffc39f51aa5f5c22114a8f1906b3c17eba68c5babb86c5f77d8b1bba14d1"}, + {file = "rpds_py-0.10.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f4c179a7aeae10ddf44c6bac87938134c1379c49c884529f090f9bf05566c836"}, + {file = "rpds_py-0.10.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:176287bb998fd1e9846a9b666e240e58f8d3373e3bf87e7642f15af5405187b8"}, + {file = "rpds_py-0.10.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6446002739ca29249f0beaaf067fcbc2b5aab4bc7ee8fb941bd194947ce19aff"}, + {file = "rpds_py-0.10.3-cp311-none-win32.whl", hash = "sha256:c7aed97f2e676561416c927b063802c8a6285e9b55e1b83213dfd99a8f4f9e48"}, + {file = "rpds_py-0.10.3-cp311-none-win_amd64.whl", hash = "sha256:8bd01ff4032abaed03f2db702fa9a61078bee37add0bd884a6190b05e63b028c"}, + {file = "rpds_py-0.10.3-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:4cf0855a842c5b5c391dd32ca273b09e86abf8367572073bd1edfc52bc44446b"}, + {file = "rpds_py-0.10.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:69b857a7d8bd4f5d6e0db4086da8c46309a26e8cefdfc778c0c5cc17d4b11e08"}, + {file = "rpds_py-0.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:975382d9aa90dc59253d6a83a5ca72e07f4ada3ae3d6c0575ced513db322b8ec"}, + {file = "rpds_py-0.10.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:35fbd23c1c8732cde7a94abe7fb071ec173c2f58c0bd0d7e5b669fdfc80a2c7b"}, + {file = "rpds_py-0.10.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:106af1653007cc569d5fbb5f08c6648a49fe4de74c2df814e234e282ebc06957"}, + {file = "rpds_py-0.10.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ce5e7504db95b76fc89055c7f41e367eaadef5b1d059e27e1d6eabf2b55ca314"}, + {file = "rpds_py-0.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5aca759ada6b1967fcfd4336dcf460d02a8a23e6abe06e90ea7881e5c22c4de6"}, + {file = "rpds_py-0.10.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b5d4bdd697195f3876d134101c40c7d06d46c6ab25159ed5cbd44105c715278a"}, + {file = "rpds_py-0.10.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a657250807b6efd19b28f5922520ae002a54cb43c2401e6f3d0230c352564d25"}, + {file = "rpds_py-0.10.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:177c9dd834cdf4dc39c27436ade6fdf9fe81484758885f2d616d5d03c0a83bd2"}, + {file = "rpds_py-0.10.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e22491d25f97199fc3581ad8dd8ce198d8c8fdb8dae80dea3512e1ce6d5fa99f"}, + {file = "rpds_py-0.10.3-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:2f3e1867dd574014253b4b8f01ba443b9c914e61d45f3674e452a915d6e929a3"}, + {file = "rpds_py-0.10.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c22211c165166de6683de8136229721f3d5c8606cc2c3d1562da9a3a5058049c"}, + {file = "rpds_py-0.10.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40bc802a696887b14c002edd43c18082cb7b6f9ee8b838239b03b56574d97f71"}, + {file = "rpds_py-0.10.3-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e271dd97c7bb8eefda5cca38cd0b0373a1fea50f71e8071376b46968582af9b"}, + {file = "rpds_py-0.10.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:95cde244e7195b2c07ec9b73fa4c5026d4a27233451485caa1cd0c1b55f26dbd"}, + {file = "rpds_py-0.10.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08a80cf4884920863623a9ee9a285ee04cef57ebedc1cc87b3e3e0f24c8acfe5"}, + {file = "rpds_py-0.10.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:763ad59e105fca09705d9f9b29ecffb95ecdc3b0363be3bb56081b2c6de7977a"}, + {file = "rpds_py-0.10.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:187700668c018a7e76e89424b7c1042f317c8df9161f00c0c903c82b0a8cac5c"}, + {file = "rpds_py-0.10.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:5267cfda873ad62591b9332fd9472d2409f7cf02a34a9c9cb367e2c0255994bf"}, + {file = "rpds_py-0.10.3-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:2ed83d53a8c5902ec48b90b2ac045e28e1698c0bea9441af9409fc844dc79496"}, + {file = "rpds_py-0.10.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:255f1a10ae39b52122cce26ce0781f7a616f502feecce9e616976f6a87992d6b"}, + {file = "rpds_py-0.10.3-cp38-none-win32.whl", hash = "sha256:a019a344312d0b1f429c00d49c3be62fa273d4a1094e1b224f403716b6d03be1"}, + {file = "rpds_py-0.10.3-cp38-none-win_amd64.whl", hash = "sha256:efb9ece97e696bb56e31166a9dd7919f8f0c6b31967b454718c6509f29ef6fee"}, + {file = "rpds_py-0.10.3-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:570cc326e78ff23dec7f41487aa9c3dffd02e5ee9ab43a8f6ccc3df8f9327623"}, + {file = "rpds_py-0.10.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cff7351c251c7546407827b6a37bcef6416304fc54d12d44dbfecbb717064717"}, + {file = "rpds_py-0.10.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:177914f81f66c86c012311f8c7f46887ec375cfcfd2a2f28233a3053ac93a569"}, + {file = "rpds_py-0.10.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:448a66b8266de0b581246ca7cd6a73b8d98d15100fb7165974535fa3b577340e"}, + {file = "rpds_py-0.10.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bbac1953c17252f9cc675bb19372444aadf0179b5df575ac4b56faaec9f6294"}, + {file = "rpds_py-0.10.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9dd9d9d9e898b9d30683bdd2b6c1849449158647d1049a125879cb397ee9cd12"}, + {file = "rpds_py-0.10.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8c71ea77536149e36c4c784f6d420ffd20bea041e3ba21ed021cb40ce58e2c9"}, + {file = "rpds_py-0.10.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:16a472300bc6c83fe4c2072cc22b3972f90d718d56f241adabc7ae509f53f154"}, + {file = "rpds_py-0.10.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:b9255e7165083de7c1d605e818025e8860636348f34a79d84ec533546064f07e"}, + {file = "rpds_py-0.10.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:53d7a3cd46cdc1689296348cb05ffd4f4280035770aee0c8ead3bbd4d6529acc"}, + {file = "rpds_py-0.10.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:22da15b902f9f8e267020d1c8bcfc4831ca646fecb60254f7bc71763569f56b1"}, + {file = "rpds_py-0.10.3-cp39-none-win32.whl", hash = "sha256:850c272e0e0d1a5c5d73b1b7871b0a7c2446b304cec55ccdb3eaac0d792bb065"}, + {file = "rpds_py-0.10.3-cp39-none-win_amd64.whl", hash = "sha256:de61e424062173b4f70eec07e12469edde7e17fa180019a2a0d75c13a5c5dc57"}, + {file = "rpds_py-0.10.3-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:af247fd4f12cca4129c1b82090244ea5a9d5bb089e9a82feb5a2f7c6a9fe181d"}, + {file = "rpds_py-0.10.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:3ad59efe24a4d54c2742929001f2d02803aafc15d6d781c21379e3f7f66ec842"}, + {file = "rpds_py-0.10.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:642ed0a209ced4be3a46f8cb094f2d76f1f479e2a1ceca6de6346a096cd3409d"}, + {file = "rpds_py-0.10.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:37d0c59548ae56fae01c14998918d04ee0d5d3277363c10208eef8c4e2b68ed6"}, + {file = "rpds_py-0.10.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aad6ed9e70ddfb34d849b761fb243be58c735be6a9265b9060d6ddb77751e3e8"}, + {file = "rpds_py-0.10.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8f94fdd756ba1f79f988855d948ae0bad9ddf44df296770d9a58c774cfbcca72"}, + {file = "rpds_py-0.10.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77076bdc8776a2b029e1e6ffbe6d7056e35f56f5e80d9dc0bad26ad4a024a762"}, + {file = "rpds_py-0.10.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:87d9b206b1bd7a0523375dc2020a6ce88bca5330682ae2fe25e86fd5d45cea9c"}, + {file = "rpds_py-0.10.3-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:8efaeb08ede95066da3a3e3c420fcc0a21693fcd0c4396d0585b019613d28515"}, + {file = "rpds_py-0.10.3-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:a4d9bfda3f84fc563868fe25ca160c8ff0e69bc4443c5647f960d59400ce6557"}, + {file = "rpds_py-0.10.3-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:d27aa6bbc1f33be920bb7adbb95581452cdf23005d5611b29a12bb6a3468cc95"}, + {file = "rpds_py-0.10.3-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:ed8313809571a5463fd7db43aaca68ecb43ca7a58f5b23b6e6c6c5d02bdc7882"}, + {file = "rpds_py-0.10.3-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:e10e6a1ed2b8661201e79dff5531f8ad4cdd83548a0f81c95cf79b3184b20c33"}, + {file = "rpds_py-0.10.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:015de2ce2af1586ff5dc873e804434185199a15f7d96920ce67e50604592cae9"}, + {file = "rpds_py-0.10.3-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ae87137951bb3dc08c7d8bfb8988d8c119f3230731b08a71146e84aaa919a7a9"}, + {file = "rpds_py-0.10.3-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0bb4f48bd0dd18eebe826395e6a48b7331291078a879295bae4e5d053be50d4c"}, + {file = "rpds_py-0.10.3-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:09362f86ec201288d5687d1dc476b07bf39c08478cde837cb710b302864e7ec9"}, + {file = "rpds_py-0.10.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:821392559d37759caa67d622d0d2994c7a3f2fb29274948ac799d496d92bca73"}, + {file = "rpds_py-0.10.3-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7170cbde4070dc3c77dec82abf86f3b210633d4f89550fa0ad2d4b549a05572a"}, + {file = "rpds_py-0.10.3-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:5de11c041486681ce854c814844f4ce3282b6ea1656faae19208ebe09d31c5b8"}, + {file = "rpds_py-0.10.3-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:4ed172d0c79f156c1b954e99c03bc2e3033c17efce8dd1a7c781bc4d5793dfac"}, + {file = "rpds_py-0.10.3-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:11fdd1192240dda8d6c5d18a06146e9045cb7e3ba7c06de6973000ff035df7c6"}, + {file = "rpds_py-0.10.3-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:f602881d80ee4228a2355c68da6b296a296cd22bbb91e5418d54577bbf17fa7c"}, + {file = "rpds_py-0.10.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:691d50c99a937709ac4c4cd570d959a006bd6a6d970a484c84cc99543d4a5bbb"}, + {file = "rpds_py-0.10.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:24cd91a03543a0f8d09cb18d1cb27df80a84b5553d2bd94cba5979ef6af5c6e7"}, + {file = "rpds_py-0.10.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fc2200e79d75b5238c8d69f6a30f8284290c777039d331e7340b6c17cad24a5a"}, + {file = "rpds_py-0.10.3-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea65b59882d5fa8c74a23f8960db579e5e341534934f43f3b18ec1839b893e41"}, + {file = "rpds_py-0.10.3-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:829e91f3a8574888b73e7a3feb3b1af698e717513597e23136ff4eba0bc8387a"}, + {file = "rpds_py-0.10.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eab75a8569a095f2ad470b342f2751d9902f7944704f0571c8af46bede438475"}, + {file = "rpds_py-0.10.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:061c3ff1f51ecec256e916cf71cc01f9975af8fb3af9b94d3c0cc8702cfea637"}, + {file = "rpds_py-0.10.3-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:39d05e65f23a0fe897b6ac395f2a8d48c56ac0f583f5d663e0afec1da89b95da"}, + {file = "rpds_py-0.10.3-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:4eca20917a06d2fca7628ef3c8b94a8c358f6b43f1a621c9815243462dcccf97"}, + {file = "rpds_py-0.10.3-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:e8d0f0eca087630d58b8c662085529781fd5dc80f0a54eda42d5c9029f812599"}, + {file = "rpds_py-0.10.3.tar.gz", hash = "sha256:fcc1ebb7561a3e24a6588f7c6ded15d80aec22c66a070c757559b57b17ffd1cb"}, ] [[package]] @@ -2731,20 +2732,20 @@ xmlschema = "*" [[package]] name = "setuptools" -version = "68.0.0" +version = "68.2.2" description = "Easily download, build, install, upgrade, and uninstall Python packages" category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "setuptools-68.0.0-py3-none-any.whl", hash = "sha256:11e52c67415a381d10d6b462ced9cfb97066179f0e871399e006c4ab101fc85f"}, - {file = "setuptools-68.0.0.tar.gz", hash = "sha256:baf1fdb41c6da4cd2eae722e135500da913332ab3f2f5c7d33af9b492acb5235"}, + {file = "setuptools-68.2.2-py3-none-any.whl", hash = "sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"}, + {file = "setuptools-68.2.2.tar.gz", hash = "sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] -testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] [[package]] name = "six" @@ -2774,14 +2775,14 @@ ply = ">=3.4" [[package]] name = "soupsieve" -version = "2.4.1" +version = "2.5" description = "A modern CSS selector implementation for Beautiful Soup." category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "soupsieve-2.4.1-py3-none-any.whl", hash = "sha256:1c1bfee6819544a3447586c889157365a27e10d88cde3ad3da0cf0ddf646feb8"}, - {file = "soupsieve-2.4.1.tar.gz", hash = "sha256:89d12b2d5dfcd2c9e8c22326da9d9aa9cb3dfab0a83a024f05704076ee8d35ea"}, + {file = "soupsieve-2.5-py3-none-any.whl", hash = "sha256:eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7"}, + {file = "soupsieve-2.5.tar.gz", hash = "sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690"}, ] [[package]] @@ -2845,33 +2846,33 @@ files = [ [[package]] name = "tlds" -version = "2023072502" +version = "2023080900" description = "Automatically updated list of valid TLDs taken directly from IANA" category = "main" optional = false python-versions = "*" files = [ - {file = "tlds-2023072502-py2.py3-none-any.whl", hash = "sha256:5aaf30397ff914bfe63066c66d07adc27eea39bdfa97c89c86caffa7a11b776b"}, - {file = "tlds-2023072502.tar.gz", hash = "sha256:ff084754b15d9a6de6237b9539b9d991d5e516dc379a1875703d970ce8a4ef18"}, + {file = "tlds-2023080900-py2.py3-none-any.whl", hash = "sha256:9199a8eab0bf8fdd0f8d98b317d8d6c88a4ce318967a1237ab6e36f194f2edad"}, + {file = "tlds-2023080900.tar.gz", hash = "sha256:0e234f098477fc3b51511ea2e1841c77f1b03332c4f1c14340ae06d9111a88e3"}, ] [[package]] name = "tqdm" -version = "4.65.0" +version = "4.66.1" description = "Fast, Extensible Progress Meter" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "tqdm-4.65.0-py3-none-any.whl", hash = "sha256:c4f53a17fe37e132815abceec022631be8ffe1b9381c2e6e30aa70edc99e9671"}, - {file = "tqdm-4.65.0.tar.gz", hash = "sha256:1871fb68a86b8fb3b59ca4cdd3dcccbc7e6d613eeed31f4c332531977b89beb5"}, + {file = "tqdm-4.66.1-py3-none-any.whl", hash = "sha256:d302b3c5b53d47bce91fea46679d9c3c6508cf6332229aa1e7d8653723793386"}, + {file = "tqdm-4.66.1.tar.gz", hash = "sha256:d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7"}, ] [package.dependencies] colorama = {version = "*", markers = "platform_system == \"Windows\""} [package.extras] -dev = ["py-make (>=0.1.0)", "twine", "wheel"] +dev = ["pytest (>=6)", "pytest-cov", "pytest-timeout", "pytest-xdist"] notebook = ["ipywidgets (>=6)"] slack = ["slack-sdk"] telegram = ["requests"] @@ -3310,4 +3311,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "d171f2c48d275a315aa1da2ff043417b943cc60dba6741e892536c8c8e1f854c" +content-hash = "2a9abfe9538a4d109183508b70f4e1c3eb53808f54e7c36de7a5284e48705804" diff --git a/pkgs/pretix/pyproject.toml b/pkgs/pretix/pyproject.toml index a6c1826..b801fe9 100644 --- a/pkgs/pretix/pyproject.toml +++ b/pkgs/pretix/pyproject.toml @@ -7,7 +7,7 @@ license = "MIT" [tool.poetry.dependencies] python = "^3.10" -pretix = "^2023.7.0" +pretix = "^2023.7.3" [tool.poetry.dev-dependencies] From 66622852113ded1be4d69b8038b9a8ad4acfb330 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 18 Sep 2023 11:45:04 +0000 Subject: [PATCH 030/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'flake-utils': 'github:numtide/flake-utils/f9e7cf818399d17d347f847525c5a5a8032e4e44' (2023-08-23) → 'github:numtide/flake-utils/ff7b65b44d01cf9ba6a71320833626af21126384' (2023-09-12) • Updated input 'home-manager': 'github:nix-community/home-manager/5bac4a1c06cd77cf8fc35a658ccb035a6c50cd2c' (2023-08-28) → 'github:nix-community/home-manager/9787dffff5d315c9593d3f9fb0f9bf2097e1b57b' (2023-09-11) • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/7e3517c03d46159fdbf8c0e5c97f82d5d4b0c8fa' (2023-08-17) → 'github:cachix/pre-commit-hooks.nix/4f883a76282bc28eb952570afc3d8a1bf6f481d7' (2023-09-10) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/4f77ea639305f1de0a14d9d41eef83313360638c' (2023-09-07) → 'github:nixos/nixpkgs/5d017a8822e0907fb96f7700a319f9fe2434de02' (2023-09-17) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/88aa035e6c43619ce9dcfb17cd3a88944d12ea75' (2023-09-08) → 'github:NixOS/nixpkgs/17a46d09ac123d0da3a26855bf3af7db01f9c751' (2023-09-18) • Updated input 'nur': 'github:nix-community/NUR/cb2799c3e5aa3b2fa1b0dce240688af0af17d538' (2023-09-08) → 'github:nix-community/NUR/5669256a12eefc2c49e685cfac947e6a84aa1ea6' (2023-09-18) • Updated input 'sops-nix': 'github:Mic92/sops-nix/faf21ac162173c2deb54e5fdeed002a9bd6e8623' (2023-09-05) → 'github:Mic92/sops-nix/ea208e55f8742fdcc0986b256bdfa8986f5e4415' (2023-09-12) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index c7e5a90..f07e268 100644 --- a/flake.lock +++ b/flake.lock @@ -21,11 +21,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1692799911, - "narHash": "sha256-3eihraek4qL744EvQXsK1Ha6C3CR7nnT8X2qWap4RNk=", + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", "owner": "numtide", "repo": "flake-utils", - "rev": "f9e7cf818399d17d347f847525c5a5a8032e4e44", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", "type": "github" }, "original": { @@ -62,11 +62,11 @@ ] }, "locked": { - "lastModified": 1693208669, - "narHash": "sha256-hHFaaUsZ860wvppPeiu7nJn/nXZjJfnqAQEu9SPFE9I=", + "lastModified": 1694465129, + "narHash": "sha256-8BQiuobMrCfCbGM7w6Snx+OBYdtTIm0+cGVaKwQ5BFg=", "owner": "nix-community", "repo": "home-manager", - "rev": "5bac4a1c06cd77cf8fc35a658ccb035a6c50cd2c", + "rev": "9787dffff5d315c9593d3f9fb0f9bf2097e1b57b", "type": "github" }, "original": { @@ -110,11 +110,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1692274144, - "narHash": "sha256-BxTQuRUANQ81u8DJznQyPmRsg63t4Yc+0kcyq6OLz8s=", + "lastModified": 1694364351, + "narHash": "sha256-oadhSCqopYXxURwIA6/Anpe5IAG11q2LhvTJNP5zE6o=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "7e3517c03d46159fdbf8c0e5c97f82d5d4b0c8fa", + "rev": "4f883a76282bc28eb952570afc3d8a1bf6f481d7", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1694211446, - "narHash": "sha256-GcmSpcxdbz6LxmZnOLpL+25pK2OhahwlHDDU0Yqh+xk=", + "lastModified": 1695037076, + "narHash": "sha256-J2JS+YyQTGdqYWmauFO0CLvr1Cs+E3Kf4Gz2eThIjKg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "88aa035e6c43619ce9dcfb17cd3a88944d12ea75", + "rev": "17a46d09ac123d0da3a26855bf3af7db01f9c751", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1694048570, - "narHash": "sha256-PEQptwFCVaJ+jLFJgrZll2shQ9VI/7xVhrCYkJo8iIw=", + "lastModified": 1694937365, + "narHash": "sha256-iHZSGrb9gVpZRR4B2ishUN/1LRKWtSHZNO37C8z1SmA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4f77ea639305f1de0a14d9d41eef83313360638c", + "rev": "5d017a8822e0907fb96f7700a319f9fe2434de02", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1694205411, - "narHash": "sha256-+YFpxUt0uaU5STtipAClw2AmO3am0//5TZflTO7jCGc=", + "lastModified": 1695032793, + "narHash": "sha256-+2nYNDrnOqElW4qvM39AEH1YGtqBku68RSAXyEjRCUE=", "owner": "nix-community", "repo": "NUR", - "rev": "cb2799c3e5aa3b2fa1b0dce240688af0af17d538", + "rev": "5669256a12eefc2c49e685cfac947e6a84aa1ea6", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1693898833, - "narHash": "sha256-OIrMAGNYNeLs6IvBynxcXub7aSW3GEUvWNsb7zx6zuU=", + "lastModified": 1694495315, + "narHash": "sha256-sZEYXs9T1NVHZSSbMqBEtEm2PGa7dEDcx0ttQkArORc=", "owner": "Mic92", "repo": "sops-nix", - "rev": "faf21ac162173c2deb54e5fdeed002a9bd6e8623", + "rev": "ea208e55f8742fdcc0986b256bdfa8986f5e4415", "type": "github" }, "original": { From f8845321fe4d5e2562d9f3537eeec2a3ce8bd512 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 18 Sep 2023 23:30:57 +0000 Subject: [PATCH 031/766] Implement automatic sipgate endpoint reload --- hosts/aluminium/services/asterisk.nix | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/hosts/aluminium/services/asterisk.nix b/hosts/aluminium/services/asterisk.nix index bdbdfe4..2f03b34 100644 --- a/hosts/aluminium/services/asterisk.nix +++ b/hosts/aluminium/services/asterisk.nix @@ -166,4 +166,31 @@ in [ -L "$sounds_de" ] && rm "$sounds_de" ln -s "${pkgs.asterisk-sounds-de}/" "$sounds_de" ''; + + systemd.services."asterisk-reload-endpoint@" = { + description = "Check if asterisk endpoint is identified and reload it when it is not."; + serviceConfig = { + Type = "oneshot"; + }; + environment = { + ENDPOINT = "%I"; + }; + script = '' + export PATH=${pkgs.lib.makeBinPath [pkgs.asterisk pkgs.gnused pkgs.gnugrep]} + if ! asterisk -r -x "pjsip show endpoint $ENDPOINT" | sed -n '/^===/,/^\s*ParameterName/{//!p}' | grep -q 'Identify:'; then + asterisk -r -x "module reload res_pjsip_endpoint_identifier_ip.so" + fi + ''; + }; + + systemd.timers.asterisk-reload-endpoint = { + description = "Check if asterisk endpoint is identified and reload it when it is not."; + after = [ "asterisk.service" ]; + wantedBy = [ "timers.target" ]; + timerConfig = { + Persistent = true; + OnCalendar = "*-*-* *:*:00"; + Unit = "asterisk-reload-endpoint@sipgate.service"; + }; + }; } From cb2b7856889238bdb92a617b7d5629f60a8df5f7 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 18 Sep 2023 21:45:32 +0000 Subject: [PATCH 032/766] System hardening --- hosts/aluminium/hardware-configuration.nix | 27 +++++---- hosts/cadmium/hardware-configuration.nix | 2 + hosts/hafnium/hardware-configuration.nix | 1 + hosts/iron/configuration.nix | 56 ++++++++++--------- hosts/jalr-t520/hardware-configuration.nix | 1 + hosts/magnesium/hardware-configuration.nix | 25 +++++---- .../hardware-configuration.nix | 8 +++ modules/default.nix | 12 +++- 8 files changed, 81 insertions(+), 51 deletions(-) diff --git a/hosts/aluminium/hardware-configuration.nix b/hosts/aluminium/hardware-configuration.nix index dcdb4c2..f146835 100644 --- a/hosts/aluminium/hardware-configuration.nix +++ b/hosts/aluminium/hardware-configuration.nix @@ -59,33 +59,32 @@ bootloader = "grub2"; }; - fileSystems."/" = - { + fileSystems = { + "/" = { device = "/dev/disk/by-uuid/2c5b0de0-c55f-4327-bd60-1aee6c8ae234"; fsType = "btrfs"; options = [ "subvol=root" ]; }; - - fileSystems."/home" = - { + "/proc" = { + device = "/proc"; + options = [ "nosuid" "noexec" "nodev" "hidepid=2" ]; + }; + "/home" = { device = "/dev/disk/by-uuid/2c5b0de0-c55f-4327-bd60-1aee6c8ae234"; fsType = "btrfs"; - options = [ "subvol=home" ]; + options = [ "subvol=home" "nodev" "nosuid" ]; }; - - fileSystems."/nix" = - { + "/nix" = { device = "/dev/disk/by-uuid/2c5b0de0-c55f-4327-bd60-1aee6c8ae234"; fsType = "btrfs"; - options = [ "subvol=nix" ]; + options = [ "subvol=nix" "nodev" ]; }; - - fileSystems."/boot" = - { + "/boot" = { device = "/dev/disk/by-uuid/695df89b-948d-4659-8f57-335e8b25a8c5"; fsType = "ext2"; + options = [ "nodev" "nosuid" "noexec" ]; }; - + }; swapDevices = [ ]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking diff --git a/hosts/cadmium/hardware-configuration.nix b/hosts/cadmium/hardware-configuration.nix index ba6a7f2..1a85863 100644 --- a/hosts/cadmium/hardware-configuration.nix +++ b/hosts/cadmium/hardware-configuration.nix @@ -42,11 +42,13 @@ "/boot" = { device = "/dev/disk/by-uuid/D384-54D8"; fsType = "vfat"; + options = [ "nodev" "nosuid" "noexec" ]; }; "/home" = { device = "/dev/disk/by-uuid/f14ae966-ac3f-467f-9263-ba9136967782"; fsType = "ext4"; noCheck = true; + options = [ "nodev" "nosuid" ]; }; }; diff --git a/hosts/hafnium/hardware-configuration.nix b/hosts/hafnium/hardware-configuration.nix index a9bc65c..5e2c719 100644 --- a/hosts/hafnium/hardware-configuration.nix +++ b/hosts/hafnium/hardware-configuration.nix @@ -33,6 +33,7 @@ "/boot" = { device = "/dev/disk/by-uuid/564E-26B4"; fsType = "vfat"; + options = [ "nodev" "nosuid" "noexec" ]; }; }; diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index 44f26e8..c13e729 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -152,31 +152,37 @@ with lib; { ]; }; - fileSystems = mkMerge (mapAttrsToList - (dataset: mountpoint: { - "${mountpoint}" = { - device = "${dataset}"; - fsType = "zfs"; - options = [ "X-mount.mkdir" "noatime" ]; - neededForBoot = true; - }; - }) - datasets ++ map - (esp: { - "/boot/efis/${esp}" = { - device = "${devNodes}/${esp}"; - fsType = "vfat"; - options = [ - "x-systemd.idle-timeout=1min" - "x-systemd.automount" - "noauto" - "nofail" - "noatime" - "X-mount.mkdir" - ]; - }; - }) - efiSystemPartitions); + fileSystems = mkMerge + (mapAttrsToList + (dataset: mountpoint: { + "${mountpoint}" = { + device = "${dataset}"; + fsType = "zfs"; + options = [ "X-mount.mkdir" "noatime" ]; + neededForBoot = true; + }; + }) + datasets ++ map + (esp: { + "/boot/efis/${esp}" = { + device = "${devNodes}/${esp}"; + fsType = "vfat"; + options = [ + "x-systemd.idle-timeout=1min" + "x-systemd.automount" + "noauto" + "nofail" + "noatime" + "X-mount.mkdir" + ]; + }; + }) + efiSystemPartitions) // { + "/proc" = { + device = "/proc"; + options = [ "nosuid" "noexec" "nodev" "hidepid=2" ]; + }; + }; hardware.enableRedistributableFirmware = true; diff --git a/hosts/jalr-t520/hardware-configuration.nix b/hosts/jalr-t520/hardware-configuration.nix index b744c59..7de2199 100644 --- a/hosts/jalr-t520/hardware-configuration.nix +++ b/hosts/jalr-t520/hardware-configuration.nix @@ -39,6 +39,7 @@ "/boot" = { device = "/dev/disk/by-uuid/c4df83d7-8985-47df-b5cd-bf18bd490a50"; fsType = "ext2"; + options = [ "nodev" "nosuid" "noexec" ]; }; }; diff --git a/hosts/magnesium/hardware-configuration.nix b/hosts/magnesium/hardware-configuration.nix index b4eba9e..2c6ccd7 100644 --- a/hosts/magnesium/hardware-configuration.nix +++ b/hosts/magnesium/hardware-configuration.nix @@ -11,8 +11,8 @@ boot.kernelModules = [ ]; boot.extraModulePackages = [ ]; - fileSystems."/" = - { + fileSystems = { + "/" = { device = "/dev/disk/by-uuid/45dcac99-1f65-48ab-b5bf-8a1507f0b75a"; fsType = "btrfs"; options = [ @@ -20,33 +20,36 @@ "compress=zstd" ]; }; - - fileSystems."/home" = - { + "/proc" = { + device = "/proc"; + options = [ "nosuid" "noexec" "nodev" "hidepid=2" ]; + }; + "/home" = { device = "/dev/disk/by-uuid/45dcac99-1f65-48ab-b5bf-8a1507f0b75a"; fsType = "btrfs"; options = [ "subvol=home" "compress=zstd" + "nodev" + "nosuid" ]; }; - - fileSystems."/nix" = - { + "/nix" = { device = "/dev/disk/by-uuid/45dcac99-1f65-48ab-b5bf-8a1507f0b75a"; fsType = "btrfs"; options = [ "subvol=nix" "compress=zstd" "noatime" + "nodev" ]; }; - - fileSystems."/boot" = - { + "/boot" = { device = "/dev/disk/by-uuid/7836-0C48"; fsType = "vfat"; + options = [ "nodev" "nosuid" "noexec" ]; }; + }; swapDevices = [ ]; diff --git a/hosts/weinturm-pretix-prod/hardware-configuration.nix b/hosts/weinturm-pretix-prod/hardware-configuration.nix index c96eb20..ba13c46 100644 --- a/hosts/weinturm-pretix-prod/hardware-configuration.nix +++ b/hosts/weinturm-pretix-prod/hardware-configuration.nix @@ -16,12 +16,18 @@ "compress=zstd" ]; }; + "/proc" = { + device = "/proc"; + options = [ "nosuid" "noexec" "nodev" "hidepid=2" ]; + }; "/home" = { device = "/dev/disk/by-uuid/766739e7-2c5c-4c28-b6ee-4bf9f91e6b1f"; fsType = "btrfs"; options = [ "subvol=home" "compress=zstd" + "nodev" + "nosuid" ]; }; "/nix" = { @@ -31,11 +37,13 @@ "subvol=nix" "compress=zstd" "noatime" + "nodev" ]; }; "/boot" = { device = "/dev/disk/by-uuid/A586-15AC"; fsType = "vfat"; + options = [ "nodev" "nosuid" "noexec" ]; }; }; diff --git a/modules/default.nix b/modules/default.nix index 732071f..567bfcb 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -43,7 +43,17 @@ ]; config = { - boot.tmp.cleanOnBoot = true; + boot = { + tmp.cleanOnBoot = true; + kernel.sysctl = { + "kernel.kptr_restrict" = 1; + "kernel.yama.ptrace_scope" = 1; + "kernel.kexec_load_disabled" = 1; + }; + kernelParams = [ + "lockdown=integrity" + ]; + }; security.polkit.enable = true; From c60656b7c33204d4fd122dde336fb10ef5a93614 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 24 Sep 2023 10:48:36 +0000 Subject: [PATCH 033/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/9787dffff5d315c9593d3f9fb0f9bf2097e1b57b' (2023-09-11) → 'github:nix-community/home-manager/07682fff75d41f18327a871088d20af2710d4744' (2023-09-19) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/5d017a8822e0907fb96f7700a319f9fe2434de02' (2023-09-17) → 'github:nixos/nixpkgs/715d72e967ec1dd5ecc71290ee072bcaf5181ed6' (2023-09-22) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/17a46d09ac123d0da3a26855bf3af7db01f9c751' (2023-09-18) → 'github:NixOS/nixpkgs/32663cfc6550cde766b490857bbc37b89be10ce8' (2023-09-24) • Updated input 'nur': 'github:nix-community/NUR/5669256a12eefc2c49e685cfac947e6a84aa1ea6' (2023-09-18) → 'github:nix-community/NUR/44ff06dbea5958f299f89030b31ad1cf59aae1fe' (2023-09-24) • Updated input 'sops-nix': 'github:Mic92/sops-nix/ea208e55f8742fdcc0986b256bdfa8986f5e4415' (2023-09-12) → 'github:Mic92/sops-nix/2f375ed8702b0d8ee2430885059d5e7975e38f78' (2023-09-21) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/5601118d39ca9105f8e7b39d4c221d3388c0419d' (2023-09-02) → 'github:NixOS/nixpkgs/596611941a74be176b98aeba9328aa9d01b8b322' (2023-09-16) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index f07e268..0f8b648 100644 --- a/flake.lock +++ b/flake.lock @@ -62,11 +62,11 @@ ] }, "locked": { - "lastModified": 1694465129, - "narHash": "sha256-8BQiuobMrCfCbGM7w6Snx+OBYdtTIm0+cGVaKwQ5BFg=", + "lastModified": 1695108154, + "narHash": "sha256-gSg7UTVtls2yO9lKtP0yb66XBHT1Fx5qZSZbGMpSn2c=", "owner": "nix-community", "repo": "home-manager", - "rev": "9787dffff5d315c9593d3f9fb0f9bf2097e1b57b", + "rev": "07682fff75d41f18327a871088d20af2710d4744", "type": "github" }, "original": { @@ -158,11 +158,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1693675694, - "narHash": "sha256-2pIOyQwGyy2FtFAUIb8YeKVmOCcPOTVphbAvmshudLE=", + "lastModified": 1694908564, + "narHash": "sha256-ducA98AuWWJu5oUElIzN24Q22WlO8bOfixGzBgzYdVc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5601118d39ca9105f8e7b39d4c221d3388c0419d", + "rev": "596611941a74be176b98aeba9328aa9d01b8b322", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1695037076, - "narHash": "sha256-J2JS+YyQTGdqYWmauFO0CLvr1Cs+E3Kf4Gz2eThIjKg=", + "lastModified": 1695550996, + "narHash": "sha256-/6JoM8Ow1tFlsjgYohfhJs7q7lekK4C9/c5hA+Ux8Vw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "17a46d09ac123d0da3a26855bf3af7db01f9c751", + "rev": "32663cfc6550cde766b490857bbc37b89be10ce8", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1694937365, - "narHash": "sha256-iHZSGrb9gVpZRR4B2ishUN/1LRKWtSHZNO37C8z1SmA=", + "lastModified": 1695416179, + "narHash": "sha256-610o1+pwbSu+QuF3GE0NU5xQdTHM3t9wyYhB9l94Cd8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5d017a8822e0907fb96f7700a319f9fe2434de02", + "rev": "715d72e967ec1dd5ecc71290ee072bcaf5181ed6", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1695032793, - "narHash": "sha256-+2nYNDrnOqElW4qvM39AEH1YGtqBku68RSAXyEjRCUE=", + "lastModified": 1695552307, + "narHash": "sha256-3XhZVJBYfRhB9ARXPQoKXdDTejb0vFLIjlf7pekN9Oc=", "owner": "nix-community", "repo": "NUR", - "rev": "5669256a12eefc2c49e685cfac947e6a84aa1ea6", + "rev": "44ff06dbea5958f299f89030b31ad1cf59aae1fe", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1694495315, - "narHash": "sha256-sZEYXs9T1NVHZSSbMqBEtEm2PGa7dEDcx0ttQkArORc=", + "lastModified": 1695284550, + "narHash": "sha256-z9fz/wz9qo9XePEvdduf+sBNeoI9QG8NJKl5ssA8Xl4=", "owner": "Mic92", "repo": "sops-nix", - "rev": "ea208e55f8742fdcc0986b256bdfa8986f5e4415", + "rev": "2f375ed8702b0d8ee2430885059d5e7975e38f78", "type": "github" }, "original": { From c3ca14295e3f6195b5c54268f93d77b19a5d2b10 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 24 Sep 2023 10:59:51 +0000 Subject: [PATCH 034/766] Allow restart of tor.service without password --- modules/sudo.nix | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/modules/sudo.nix b/modules/sudo.nix index ebe10d1..d47d889 100644 --- a/modules/sudo.nix +++ b/modules/sudo.nix @@ -1,5 +1,22 @@ { pkgs, inputs, ... }: - +let + commandsWithoutPassword = [ + "/run/current-system/sw/bin/systemctl restart tor.service" + ]; +in { - security.sudo.execWheelOnly = true; + security.sudo = { + execWheelOnly = true; + extraRules = [ + { + groups = [ "wheel" ]; + commands = map + (cmd: { + command = cmd; + options = [ "NOPASSWD" ]; + }) + commandsWithoutPassword; + } + ]; + }; } From 7f3b3ed65a4c32cdea002e6dbdf02d103dbcd205 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 25 Sep 2023 15:22:43 +0000 Subject: [PATCH 035/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/4f883a76282bc28eb952570afc3d8a1bf6f481d7' (2023-09-10) → 'github:cachix/pre-commit-hooks.nix/cb770e93516a1609652fa8e945a0f310e98f10c0' (2023-09-24) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/715d72e967ec1dd5ecc71290ee072bcaf5181ed6' (2023-09-22) → 'github:nixos/nixpkgs/261abe8a44a7e8392598d038d2e01f7b33cf26d0' (2023-09-24) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/32663cfc6550cde766b490857bbc37b89be10ce8' (2023-09-24) → 'github:NixOS/nixpkgs/4d256beb574dee9ba723da3e816eb46e791d267a' (2023-09-25) • Updated input 'nur': 'github:nix-community/NUR/44ff06dbea5958f299f89030b31ad1cf59aae1fe' (2023-09-24) → 'github:nix-community/NUR/7742edec9109071b4332bdc659002f9f7a3eb06d' (2023-09-25) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 0f8b648..63e9f67 100644 --- a/flake.lock +++ b/flake.lock @@ -110,11 +110,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1694364351, - "narHash": "sha256-oadhSCqopYXxURwIA6/Anpe5IAG11q2LhvTJNP5zE6o=", + "lastModified": 1695576016, + "narHash": "sha256-71KxwRhTfVuh7kNrg3/edNjYVg9DCyKZl2QIKbhRggg=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "4f883a76282bc28eb952570afc3d8a1bf6f481d7", + "rev": "cb770e93516a1609652fa8e945a0f310e98f10c0", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1695550996, - "narHash": "sha256-/6JoM8Ow1tFlsjgYohfhJs7q7lekK4C9/c5hA+Ux8Vw=", + "lastModified": 1695654483, + "narHash": "sha256-761alDj2QthLEk+Vkhei62UEqOC0ykV5UxOPF5um8gY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "32663cfc6550cde766b490857bbc37b89be10ce8", + "rev": "4d256beb574dee9ba723da3e816eb46e791d267a", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1695416179, - "narHash": "sha256-610o1+pwbSu+QuF3GE0NU5xQdTHM3t9wyYhB9l94Cd8=", + "lastModified": 1695559356, + "narHash": "sha256-kXZ1pUoImD9OEbPCwpTz4tHsNTr4CIyIfXb3ocuR8sI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "715d72e967ec1dd5ecc71290ee072bcaf5181ed6", + "rev": "261abe8a44a7e8392598d038d2e01f7b33cf26d0", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1695552307, - "narHash": "sha256-3XhZVJBYfRhB9ARXPQoKXdDTejb0vFLIjlf7pekN9Oc=", + "lastModified": 1695652853, + "narHash": "sha256-hmsIWiDeSolVlX/GadifPXoqtnskY3TwCSvIfE56ZW0=", "owner": "nix-community", "repo": "NUR", - "rev": "44ff06dbea5958f299f89030b31ad1cf59aae1fe", + "rev": "7742edec9109071b4332bdc659002f9f7a3eb06d", "type": "github" }, "original": { From 9e8437fca55e0f117a31a195b0e81817c25ba2df Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 25 Sep 2023 16:10:15 +0000 Subject: [PATCH 036/766] Add mail options --- pkgs/pretix/module.nix | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/pkgs/pretix/module.nix b/pkgs/pretix/module.nix index 7705e0a..0903eb7 100644 --- a/pkgs/pretix/module.nix +++ b/pkgs/pretix/module.nix @@ -30,7 +30,7 @@ let ]; }; staticRoot = pkgs.pretix-static; - environmentFile = pkgs.runCommand "pretix-environ" runCommandArgs '' + environmentFile = pkgs.runCommand "pretix-environ" runCommandArgs ('' cat > $out < Date: Mon, 25 Sep 2023 16:10:50 +0000 Subject: [PATCH 037/766] Remove smart host --- hosts/weinturm-pretix-prod/secrets.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hosts/weinturm-pretix-prod/secrets.yaml b/hosts/weinturm-pretix-prod/secrets.yaml index fe2b033..bfd0f7e 100644 --- a/hosts/weinturm-pretix-prod/secrets.yaml +++ b/hosts/weinturm-pretix-prod/secrets.yaml @@ -1,4 +1,4 @@ -pretix-cfg: ENC[AES256_GCM,data:AgT82cee/BHR5V2JkNdDkbS82zXntOD6dLuEm4XUgal0Jpz+3ACqrEF72U0nNTd/JUYVD1HJtphKKKLZ0zHBix+xMJ/JP5hnz7O94+xqyjODhl6XpNtKgc2bDsPWpoejeUDAQK4lWDwu7eCl3+L/HCK5oEE7d01HcfudI1XD8Qr6E4PAyrKd71d65h66OtcwgQVojtWbMSditWHEubVQEssrmZGjOzmd/JzlUBEKQ5piJquQ0RTTGynQdKpLw29CakjpxVzT1uLvuvM89I21BDeXW2A6Gn54ay7Ov9aFGbp+wexlZqGpOZ0Pkw==,iv:3CWknBvAAt0Ls45kzAaeXSsiebkWWT2UdJhoyImVoHU=,tag:yy26Txkzf/Yof+Y8R5LcJA==,type:str] +pretix-cfg: ENC[AES256_GCM,data:sfgKDr9aNOdwlumoltRuD7u1ksykFdEKtzt3MldjQnG0b4iAEspEhjcxqaNvPpXYm8EZKtsLBBQgdd1ifyQgs3k69c/GfzQ/jZ/yQ2OUkCO7U9A=,iv:FADYpPbGEEM/pD6EI85s9wVMv8yMrGJa+miE25XQ+t8=,tag:WJ9LHCNFHSr9RmmUi6hxnw==,type:str] pretix-banktool-cfg: ENC[AES256_GCM,data:6tcaQwnXsA2jZYQD2BdGu7gVzlCE+cF03icOF7VIVY92+xWMw+aivJRocDQAMBslD04EoEAu74tNIcky23swtgJwbtcwSmouDqofzo/HoXrudNyvjECYd6xUzmq/OvSBSQVY3s3OxCcc0TlpPVUipDxcGaALwJdhtCB11ZrVfOoXrycZ3YLAEESK0rC4tc5E550lhxmkyOan1m9q9rI4KVhv4mIlU6nVQbDA7LcljRPAJESFmwuwx75t6uPYKH9CjaYL3XE/MmZIZ6pN3qiNyqEx8dsxWZh1KQI233TfMr6jcIXwamTFK6/yieE2nQJfyM8r8b3E3D4nJ5+nn5Cb+wxwewEPveEmFUsNXYD84fpk2fK0nvYyOi32++gfefObFVE2ejAE7iu3rIrboA/wJoSfPCDGHVtdLVXC//MjLI3JUAU+QMTwRFz53KhE+lxFsbqaX4IdLuUwMoFSW6qRWGe7/SGUChH1Wrj705MMc4dfn2qaGhDbZNkDJA==,iv:Pl8XpuGcFzLlzEVe+JQ02S2rthKz88QMZXkGEywpCTU=,tag:beSgKDPcErhJhoV59YDIsw==,type:str] sops: kms: [] @@ -15,8 +15,8 @@ sops: U3pyTDB4c1FWdHBPVjVjV3VpTjFWamsKDtc9C3xy/3Zu83+jQYCnHk8vatWANt4M +Zo5kZ5yfYVSnvMvgpWoAHk/quXSLNg2YhKUDrYP5y57Q/jZTX3YbA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2023-03-01T13:25:37Z" - mac: ENC[AES256_GCM,data:WcF4i8b+YpJuZj/hP8SEEvXJNlrf77ymNF6Avg4vt2JUkIoLh5EAMOjqPWWhJXS65rRSOCQOW/uRLoAMs3b1lX8r93u1wlzxnF5L/1RnAyTcCI2Aiadq6QjOKevgRwfc4vvTVN7LHKwZ9f8kCqgYiuOYtVDx3N4UPQ4SPJ3MZRw=,iv:iliNHU5y+YL2hpvWIltkhP6bkUonMakL7Ssdyf/be38=,tag:4YO93pGujwpHWjX5IAOQfw==,type:str] + lastmodified: "2023-09-25T15:21:49Z" + mac: ENC[AES256_GCM,data:R3uP3tH4faLEtga0E2Gh4WrLrpV7dYvxWDEJkD5ycUc2vglY3MeswMEhNEhkD7cpYiWKB8TaBeBe/mP3hOmgs3WY1sDURZSqKKFT1FfTTL86e1BAOq7S4rG2lRQyNxxDjeJCqFQbEV3feggqPFnV8x8kBObAd29akAK5jQn1TK8=,iv:4F83RXiyLDlzlDVgMWKAOc7BTGSi4F0so9Ub/uzl+VM=,tag:2Q2BRBRR9yC6Uli5TcZhEg==,type:str] pgp: - created_at: "2023-07-08T09:50:21Z" enc: | From 3e5e7304ee9d249e70e2a762fc008faac4475621 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 25 Sep 2023 17:09:19 +0000 Subject: [PATCH 038/766] Enable mail server --- .../weinturm-pretix-prod/services/pretix.nix | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/hosts/weinturm-pretix-prod/services/pretix.nix b/hosts/weinturm-pretix-prod/services/pretix.nix index 2afab88..35bb209 100644 --- a/hosts/weinturm-pretix-prod/services/pretix.nix +++ b/hosts/weinturm-pretix-prod/services/pretix.nix @@ -1,10 +1,16 @@ { config, lib, pkgs, ... }: { + nixpkgs.config.permittedInsecurePackages = [ + "python3.10-requests-2.28.2" + "python3.10-cryptography-40.0.1" + ]; + services.pretix = { enable = true; instanceName = "Weinturm Open Air"; domain = "tickets.weinturm-open-air.de"; extraDomains = [ + "tickets.weinturm.jalr.de" "tickets.wasted-openair.de" "oel.wasted-openair.de" ]; @@ -18,6 +24,27 @@ enable = true; days = 14; }; + mail = { + enable = true; + from = "no-reply@tickets.weinturm-open-air.de"; + admins = [ + "mail@jalr.de" + ]; + }; + }; + + jalr.mailserver = { + enable = true; + fqdn = "tickets.weinturm.jalr.de"; + domains = [ + { + domain = "tickets.weinturm-open-air.de"; + enableDKIM = false; + } + ]; + messageSizeLimit = 10 * 1024 * 1024; + users = [ ]; + spam.enable = false; }; security.acme = { From c00079d180b4fad085e587af7b057bcb84337774 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 25 Sep 2023 17:15:16 +0000 Subject: [PATCH 039/766] Enable TOR only for workstations --- modules/tor.nix | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/modules/tor.nix b/modules/tor.nix index 26b357b..c33b3c5 100644 --- a/modules/tor.nix +++ b/modules/tor.nix @@ -1,13 +1,17 @@ +{ lib, config, ... }: + { - services.tor = { - enable = true; - settings = { - DNSPort = 9053; - AutomapHostsOnResolve = true; - AutomapHostsSuffixes = [ - ".exit" - ".onion" - ]; + config = lib.mkIf config.jalr.workstation.enable { + services.tor = { + enable = true; + settings = { + DNSPort = 9053; + AutomapHostsOnResolve = true; + AutomapHostsSuffixes = [ + ".exit" + ".onion" + ]; + }; }; }; } From 5d260a84fa91cfa97a2a4baeae6c4d0786372cf6 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 27 Sep 2023 12:50:12 +0000 Subject: [PATCH 040/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/4d256beb574dee9ba723da3e816eb46e791d267a' (2023-09-25) → 'github:NixOS/nixpkgs/ce860f6a1e0989d041556c45832b0b370a3d59a3' (2023-09-27) • Updated input 'nur': 'github:nix-community/NUR/7742edec9109071b4332bdc659002f9f7a3eb06d' (2023-09-25) → 'github:nix-community/NUR/e73b0b963720fa2de9d11dc7ea6ab30d8d5163fd' (2023-09-27) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 63e9f67..4a09446 100644 --- a/flake.lock +++ b/flake.lock @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1695654483, - "narHash": "sha256-761alDj2QthLEk+Vkhei62UEqOC0ykV5UxOPF5um8gY=", + "lastModified": 1695818984, + "narHash": "sha256-zj949XsE0Tt4ru5S3qOEIjdCQmFXdAa2fFCfcQ6Dd9s=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4d256beb574dee9ba723da3e816eb46e791d267a", + "rev": "ce860f6a1e0989d041556c45832b0b370a3d59a3", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1695652853, - "narHash": "sha256-hmsIWiDeSolVlX/GadifPXoqtnskY3TwCSvIfE56ZW0=", + "lastModified": 1695807947, + "narHash": "sha256-p0Hp6F/Fy6khf6buWajmyzw92cVRjbWpfxLZI78NxbM=", "owner": "nix-community", "repo": "NUR", - "rev": "7742edec9109071b4332bdc659002f9f7a3eb06d", + "rev": "e73b0b963720fa2de9d11dc7ea6ab30d8d5163fd", "type": "github" }, "original": { From 92922f75f1292bead3dc0b27530d5d2293c6c8de Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 27 Sep 2023 12:50:39 +0000 Subject: [PATCH 041/766] Update CPS network --- home-manager/users/jal.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/users/jal.nix b/home-manager/users/jal.nix index 805c890..6cedf41 100644 --- a/home-manager/users/jal.nix +++ b/home-manager/users/jal.nix @@ -4,7 +4,7 @@ let userName = "jal"; vpn_routes = [ "10.18.0.0/16" # OEE VPC - "10.64.64.0/20" # CPS + "10.64.0.0/16" # CPS "10.158.128.0/23" # approval "10.158.224.0/20" # core production "10.158.240.0/20" # core development From cc34d682deb5d31a6151abd4b036ec670b4cfab1 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 27 Sep 2023 12:50:57 +0000 Subject: [PATCH 042/766] Change grbi abbrev to rebase to default branch --- home-manager/modules/git.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/modules/git.nix b/home-manager/modules/git.nix index e7b49bd..6090b08 100644 --- a/home-manager/modules/git.nix +++ b/home-manager/modules/git.nix @@ -40,7 +40,7 @@ gpll = "git pull"; gpsh = "git push"; grb = "git rebase --autostash"; - grbi = "git rebase --autostash --interactive --autosquash \(git merge-base HEAD origin/master\)"; + grbi = "git rebase --autostash --interactive --autosquash refs/remotes/origin/HEAD"; gr = "git restore"; grs = "git restore --staged"; grst = "git reset"; From 9f47f7c83ba3944686d5e0cdfbe068f35a992044 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 27 Sep 2023 21:23:18 +0000 Subject: [PATCH 043/766] Change gfix abbrev to rebase to default branch --- home-manager/modules/git.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/home-manager/modules/git.nix b/home-manager/modules/git.nix index 6090b08..f108ff8 100644 --- a/home-manager/modules/git.nix +++ b/home-manager/modules/git.nix @@ -95,16 +95,16 @@ end ''; }; - git_pick-commit_merge-base_origin_master = { + git_pick-commit_merge-base_origin = { description = "fuzzy find a commit hash"; body = '' - git log --oneline (git merge-base HEAD origin/master)..HEAD | ${pkgs.fzf}/bin/fzf --preview='git show (echo {} | cut -d" " -f 1)' --preview-window=top:75% | cut -d" " -f 1 + git log --oneline refs/remotes/origin/HEAD..HEAD | ${pkgs.fzf}/bin/fzf --preview='git show (echo {} | cut -d" " -f 1)' --preview-window=top:75% | cut -d" " -f 1 ''; }; gfix = { description = "git commit --fixup with fuzzy find commmit picker"; body = '' - set commit (git_pick-commit_merge-base_origin_master) + set commit (git_pick-commit_merge-base_origin) commandline "git commit --fixup=$commit" ''; }; From b9ed865a8bd6c3bc1f5539866306727a435eb69f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 4 Oct 2023 12:17:19 +0000 Subject: [PATCH 044/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/cb770e93516a1609652fa8e945a0f310e98f10c0' (2023-09-24) → 'github:cachix/pre-commit-hooks.nix/033453f85064ccac434dfd957f95d8457901ecd6' (2023-10-01) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/261abe8a44a7e8392598d038d2e01f7b33cf26d0' (2023-09-24) → 'github:nixos/nixpkgs/3b79cc4bcd9c09b5aa68ea1957c25e437dc6bc58' (2023-10-03) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/ce860f6a1e0989d041556c45832b0b370a3d59a3' (2023-09-27) → 'github:NixOS/nixpkgs/e0b78ab95b4b23fa4395ff7a93ccff3a14353616' (2023-10-04) • Updated input 'nur': 'github:nix-community/NUR/e73b0b963720fa2de9d11dc7ea6ab30d8d5163fd' (2023-09-27) → 'github:nix-community/NUR/4ca4be389a0c04cf9b41a554f9d3b3cea7a5b68a' (2023-10-04) • Updated input 'sops-nix': 'github:Mic92/sops-nix/2f375ed8702b0d8ee2430885059d5e7975e38f78' (2023-09-21) → 'github:Mic92/sops-nix/746c7fa1a64c1671a4bf287737c27fdc7101c4c2' (2023-10-03) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/596611941a74be176b98aeba9328aa9d01b8b322' (2023-09-16) → 'github:NixOS/nixpkgs/dbe90e63a36762f1fbde546e26a84af774a32455' (2023-10-01) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 4a09446..5fd4987 100644 --- a/flake.lock +++ b/flake.lock @@ -110,11 +110,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1695576016, - "narHash": "sha256-71KxwRhTfVuh7kNrg3/edNjYVg9DCyKZl2QIKbhRggg=", + "lastModified": 1696158581, + "narHash": "sha256-h0vY4E7Lx95lpYQbG2w4QH4yG5wCYOvPJzK93wVQbT0=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "cb770e93516a1609652fa8e945a0f310e98f10c0", + "rev": "033453f85064ccac434dfd957f95d8457901ecd6", "type": "github" }, "original": { @@ -158,11 +158,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1694908564, - "narHash": "sha256-ducA98AuWWJu5oUElIzN24Q22WlO8bOfixGzBgzYdVc=", + "lastModified": 1696123266, + "narHash": "sha256-S6MZEneQeE4M/E/C8SMnr7B7oBnjH/hbm96Kak5hAAI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "596611941a74be176b98aeba9328aa9d01b8b322", + "rev": "dbe90e63a36762f1fbde546e26a84af774a32455", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1695818984, - "narHash": "sha256-zj949XsE0Tt4ru5S3qOEIjdCQmFXdAa2fFCfcQ6Dd9s=", + "lastModified": 1696420985, + "narHash": "sha256-9ZXMUtNSrKDkHjbG3ZisLZksbdQiTdZC1Hg5tYeVrpc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ce860f6a1e0989d041556c45832b0b370a3d59a3", + "rev": "e0b78ab95b4b23fa4395ff7a93ccff3a14353616", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1695559356, - "narHash": "sha256-kXZ1pUoImD9OEbPCwpTz4tHsNTr4CIyIfXb3ocuR8sI=", + "lastModified": 1696323343, + "narHash": "sha256-u7WLUrh5eb+6SBYwtkaGL2ryHpLcHzmLml+a+VqKJWE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "261abe8a44a7e8392598d038d2e01f7b33cf26d0", + "rev": "3b79cc4bcd9c09b5aa68ea1957c25e437dc6bc58", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1695807947, - "narHash": "sha256-p0Hp6F/Fy6khf6buWajmyzw92cVRjbWpfxLZI78NxbM=", + "lastModified": 1696421792, + "narHash": "sha256-fhx7rQoL0rbupNRcNbTQSOxJ7sU6vpug+og2f9z1FDw=", "owner": "nix-community", "repo": "NUR", - "rev": "e73b0b963720fa2de9d11dc7ea6ab30d8d5163fd", + "rev": "4ca4be389a0c04cf9b41a554f9d3b3cea7a5b68a", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1695284550, - "narHash": "sha256-z9fz/wz9qo9XePEvdduf+sBNeoI9QG8NJKl5ssA8Xl4=", + "lastModified": 1696320910, + "narHash": "sha256-fbuEc6wylH+0VxG48lhPBK+SQJHfo2lusUwWHZNipIM=", "owner": "Mic92", "repo": "sops-nix", - "rev": "2f375ed8702b0d8ee2430885059d5e7975e38f78", + "rev": "746c7fa1a64c1671a4bf287737c27fdc7101c4c2", "type": "github" }, "original": { From 82190e12e20fbd7cce224e5ddae3b17c0f30fb26 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 4 Oct 2023 12:49:18 +0000 Subject: [PATCH 045/766] Update pretix version Bump pretix version from 2023.7.3 to 2023.8.0 --- pkgs/pretix/poetry.lock | 579 +++++++++++++++++----------------- pkgs/pretix/pretix-static.nix | 2 +- pkgs/pretix/pyproject.toml | 2 +- 3 files changed, 299 insertions(+), 284 deletions(-) diff --git a/pkgs/pretix/poetry.lock b/pkgs/pretix/poetry.lock index 5088d49..5f85404 100644 --- a/pkgs/pretix/poetry.lock +++ b/pkgs/pretix/poetry.lock @@ -205,16 +205,19 @@ tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pyte [[package]] name = "babel" -version = "2.12.1" +version = "2.13.0" description = "Internationalization utilities" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "Babel-2.12.1-py3-none-any.whl", hash = "sha256:b4246fb7677d3b98f501a39d43396d3cafdc8eadb045f4a31be01863f655c610"}, - {file = "Babel-2.12.1.tar.gz", hash = "sha256:cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455"}, + {file = "Babel-2.13.0-py3-none-any.whl", hash = "sha256:fbfcae1575ff78e26c7449136f1abbefc3c13ce542eeb13d43d50d8b047216ec"}, + {file = "Babel-2.13.0.tar.gz", hash = "sha256:04c3e2d28d2b7681644508f836be388ae49e0cfe91465095340395b60d00f210"}, ] +[package.extras] +dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] + [[package]] name = "beautifulsoup4" version = "4.12.2" @@ -386,76 +389,64 @@ files = [ [[package]] name = "cffi" -version = "1.15.1" +version = "1.16.0" description = "Foreign Function Interface for Python calling C code." category = "main" optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"}, - {file = "cffi-1.15.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2"}, - {file = "cffi-1.15.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914"}, - {file = "cffi-1.15.1-cp27-cp27m-win32.whl", hash = "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3"}, - {file = "cffi-1.15.1-cp27-cp27m-win_amd64.whl", hash = "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e"}, - {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162"}, - {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b"}, - {file = "cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21"}, - {file = "cffi-1.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"}, - {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01"}, - {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e"}, - {file = "cffi-1.15.1-cp310-cp310-win32.whl", hash = "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2"}, - {file = "cffi-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d"}, - {file = "cffi-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac"}, - {file = "cffi-1.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c"}, - {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef"}, - {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8"}, - {file = "cffi-1.15.1-cp311-cp311-win32.whl", hash = "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d"}, - {file = "cffi-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104"}, - {file = "cffi-1.15.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e"}, - {file = "cffi-1.15.1-cp36-cp36m-win32.whl", hash = "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf"}, - {file = "cffi-1.15.1-cp36-cp36m-win_amd64.whl", hash = "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497"}, - {file = "cffi-1.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426"}, - {file = "cffi-1.15.1-cp37-cp37m-win32.whl", hash = "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9"}, - {file = "cffi-1.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045"}, - {file = "cffi-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192"}, - {file = "cffi-1.15.1-cp38-cp38-win32.whl", hash = "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314"}, - {file = "cffi-1.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5"}, - {file = "cffi-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585"}, - {file = "cffi-1.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27"}, - {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76"}, - {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3"}, - {file = "cffi-1.15.1-cp39-cp39-win32.whl", hash = "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee"}, - {file = "cffi-1.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c"}, - {file = "cffi-1.15.1.tar.gz", hash = "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"}, + {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"}, + {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"}, + {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"}, + {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"}, + {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"}, + {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"}, + {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"}, + {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"}, + {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"}, + {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"}, + {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"}, + {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"}, + {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"}, + {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"}, + {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"}, ] [package.dependencies] @@ -475,87 +466,102 @@ files = [ [[package]] name = "charset-normalizer" -version = "3.2.0" +version = "3.3.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." category = "main" optional = false python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-3.2.0.tar.gz", hash = "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win32.whl", hash = "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win32.whl", hash = "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-win32.whl", hash = "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win32.whl", hash = "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win32.whl", hash = "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80"}, - {file = "charset_normalizer-3.2.0-py3-none-any.whl", hash = "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6"}, + {file = "charset-normalizer-3.3.0.tar.gz", hash = "sha256:63563193aec44bce707e0c5ca64ff69fa72ed7cf34ce6e11d5127555756fd2f6"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:effe5406c9bd748a871dbcaf3ac69167c38d72db8c9baf3ff954c344f31c4cbe"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4162918ef3098851fcd8a628bf9b6a98d10c380725df9e04caf5ca6dd48c847a"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0570d21da019941634a531444364f2482e8db0b3425fcd5ac0c36565a64142c8"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5707a746c6083a3a74b46b3a631d78d129edab06195a92a8ece755aac25a3f3d"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:278c296c6f96fa686d74eb449ea1697f3c03dc28b75f873b65b5201806346a69"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a4b71f4d1765639372a3b32d2638197f5cd5221b19531f9245fcc9ee62d38f56"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5969baeaea61c97efa706b9b107dcba02784b1601c74ac84f2a532ea079403e"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a3f93dab657839dfa61025056606600a11d0b696d79386f974e459a3fbc568ec"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:db756e48f9c5c607b5e33dd36b1d5872d0422e960145b08ab0ec7fd420e9d649"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:232ac332403e37e4a03d209a3f92ed9071f7d3dbda70e2a5e9cff1c4ba9f0678"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e5c1502d4ace69a179305abb3f0bb6141cbe4714bc9b31d427329a95acfc8bdd"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:2502dd2a736c879c0f0d3e2161e74d9907231e25d35794584b1ca5284e43f596"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23e8565ab7ff33218530bc817922fae827420f143479b753104ab801145b1d5b"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-win32.whl", hash = "sha256:1872d01ac8c618a8da634e232f24793883d6e456a66593135aeafe3784b0848d"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:557b21a44ceac6c6b9773bc65aa1b4cc3e248a5ad2f5b914b91579a32e22204d"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d7eff0f27edc5afa9e405f7165f85a6d782d308f3b6b9d96016c010597958e63"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a685067d05e46641d5d1623d7c7fdf15a357546cbb2f71b0ebde91b175ffc3e"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0d3d5b7db9ed8a2b11a774db2bbea7ba1884430a205dbd54a32d61d7c2a190fa"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2935ffc78db9645cb2086c2f8f4cfd23d9b73cc0dc80334bc30aac6f03f68f8c"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fe359b2e3a7729010060fbca442ca225280c16e923b37db0e955ac2a2b72a05"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:380c4bde80bce25c6e4f77b19386f5ec9db230df9f2f2ac1e5ad7af2caa70459"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0d1e3732768fecb052d90d62b220af62ead5748ac51ef61e7b32c266cac9293"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1b2919306936ac6efb3aed1fbf81039f7087ddadb3160882a57ee2ff74fd2382"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f8888e31e3a85943743f8fc15e71536bda1c81d5aa36d014a3c0c44481d7db6e"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:82eb849f085624f6a607538ee7b83a6d8126df6d2f7d3b319cb837b289123078"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7b8b8bf1189b3ba9b8de5c8db4d541b406611a71a955bbbd7385bbc45fcb786c"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5adf257bd58c1b8632046bbe43ee38c04e1038e9d37de9c57a94d6bd6ce5da34"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c350354efb159b8767a6244c166f66e67506e06c8924ed74669b2c70bc8735b1"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-win32.whl", hash = "sha256:02af06682e3590ab952599fbadac535ede5d60d78848e555aa58d0c0abbde786"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:86d1f65ac145e2c9ed71d8ffb1905e9bba3a91ae29ba55b4c46ae6fc31d7c0d4"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:3b447982ad46348c02cb90d230b75ac34e9886273df3a93eec0539308a6296d7"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:abf0d9f45ea5fb95051c8bfe43cb40cda383772f7e5023a83cc481ca2604d74e"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b09719a17a2301178fac4470d54b1680b18a5048b481cb8890e1ef820cb80455"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b3d9b48ee6e3967b7901c052b670c7dda6deb812c309439adaffdec55c6d7b78"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:edfe077ab09442d4ef3c52cb1f9dab89bff02f4524afc0acf2d46be17dc479f5"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3debd1150027933210c2fc321527c2299118aa929c2f5a0a80ab6953e3bd1908"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86f63face3a527284f7bb8a9d4f78988e3c06823f7bea2bd6f0e0e9298ca0403"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:24817cb02cbef7cd499f7c9a2735286b4782bd47a5b3516a0e84c50eab44b98e"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c71f16da1ed8949774ef79f4a0260d28b83b3a50c6576f8f4f0288d109777989"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:9cf3126b85822c4e53aa28c7ec9869b924d6fcfb76e77a45c44b83d91afd74f9"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:b3b2316b25644b23b54a6f6401074cebcecd1244c0b8e80111c9a3f1c8e83d65"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:03680bb39035fbcffe828eae9c3f8afc0428c91d38e7d61aa992ef7a59fb120e"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4cc152c5dd831641e995764f9f0b6589519f6f5123258ccaca8c6d34572fefa8"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-win32.whl", hash = "sha256:b8f3307af845803fb0b060ab76cf6dd3a13adc15b6b451f54281d25911eb92df"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:8eaf82f0eccd1505cf39a45a6bd0a8cf1c70dcfc30dba338207a969d91b965c0"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dc45229747b67ffc441b3de2f3ae5e62877a282ea828a5bdb67883c4ee4a8810"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f4a0033ce9a76e391542c182f0d48d084855b5fcba5010f707c8e8c34663d77"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ada214c6fa40f8d800e575de6b91a40d0548139e5dc457d2ebb61470abf50186"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b1121de0e9d6e6ca08289583d7491e7fcb18a439305b34a30b20d8215922d43c"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1063da2c85b95f2d1a430f1c33b55c9c17ffaf5e612e10aeaad641c55a9e2b9d"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70f1d09c0d7748b73290b29219e854b3207aea922f839437870d8cc2168e31cc"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:250c9eb0f4600361dd80d46112213dff2286231d92d3e52af1e5a6083d10cad9"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:750b446b2ffce1739e8578576092179160f6d26bd5e23eb1789c4d64d5af7dc7"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:fc52b79d83a3fe3a360902d3f5d79073a993597d48114c29485e9431092905d8"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:588245972aca710b5b68802c8cad9edaa98589b1b42ad2b53accd6910dad3545"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e39c7eb31e3f5b1f88caff88bcff1b7f8334975b46f6ac6e9fc725d829bc35d4"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-win32.whl", hash = "sha256:abecce40dfebbfa6abf8e324e1860092eeca6f7375c8c4e655a8afb61af58f2c"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:24a91a981f185721542a0b7c92e9054b7ab4fea0508a795846bc5b0abf8118d4"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:67b8cc9574bb518ec76dc8e705d4c39ae78bb96237cb533edac149352c1f39fe"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ac71b2977fb90c35d41c9453116e283fac47bb9096ad917b8819ca8b943abecd"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3ae38d325b512f63f8da31f826e6cb6c367336f95e418137286ba362925c877e"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:542da1178c1c6af8873e143910e2269add130a299c9106eef2594e15dae5e482"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:30a85aed0b864ac88309b7d94be09f6046c834ef60762a8833b660139cfbad13"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aae32c93e0f64469f74ccc730a7cb21c7610af3a775157e50bbd38f816536b38"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b26ddf78d57f1d143bdf32e820fd8935d36abe8a25eb9ec0b5a71c82eb3895"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7f5d10bae5d78e4551b7be7a9b29643a95aded9d0f602aa2ba584f0388e7a557"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:249c6470a2b60935bafd1d1d13cd613f8cd8388d53461c67397ee6a0f5dce741"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c5a74c359b2d47d26cdbbc7845e9662d6b08a1e915eb015d044729e92e7050b7"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:b5bcf60a228acae568e9911f410f9d9e0d43197d030ae5799e20dca8df588287"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:187d18082694a29005ba2944c882344b6748d5be69e3a89bf3cc9d878e548d5a"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:81bf654678e575403736b85ba3a7867e31c2c30a69bc57fe88e3ace52fb17b89"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-win32.whl", hash = "sha256:85a32721ddde63c9df9ebb0d2045b9691d9750cb139c161c80e500d210f5e26e"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:468d2a840567b13a590e67dd276c570f8de00ed767ecc611994c301d0f8c014f"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e0fc42822278451bc13a2e8626cf2218ba570f27856b536e00cfa53099724828"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:09c77f964f351a7369cc343911e0df63e762e42bac24cd7d18525961c81754f4"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:12ebea541c44fdc88ccb794a13fe861cc5e35d64ed689513a5c03d05b53b7c82"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:805dfea4ca10411a5296bcc75638017215a93ffb584c9e344731eef0dcfb026a"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:96c2b49eb6a72c0e4991d62406e365d87067ca14c1a729a870d22354e6f68115"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aaf7b34c5bc56b38c931a54f7952f1ff0ae77a2e82496583b247f7c969eb1479"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:619d1c96099be5823db34fe89e2582b336b5b074a7f47f819d6b3a57ff7bdb86"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a0ac5e7015a5920cfce654c06618ec40c33e12801711da6b4258af59a8eff00a"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:93aa7eef6ee71c629b51ef873991d6911b906d7312c6e8e99790c0f33c576f89"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7966951325782121e67c81299a031f4c115615e68046f79b85856b86ebffc4cd"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:02673e456dc5ab13659f85196c534dc596d4ef260e4d86e856c3b2773ce09843"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:c2af80fb58f0f24b3f3adcb9148e6203fa67dd3f61c4af146ecad033024dde43"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:153e7b6e724761741e0974fc4dcd406d35ba70b92bfe3fedcb497226c93b9da7"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-win32.whl", hash = "sha256:d47ecf253780c90ee181d4d871cd655a789da937454045b17b5798da9393901a"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:d97d85fa63f315a8bdaba2af9a6a686e0eceab77b3089af45133252618e70884"}, + {file = "charset_normalizer-3.3.0-py3-none-any.whl", hash = "sha256:e46cd37076971c1040fc8c41273a8b3e2c624ce4f2be3f5dfcb7a430c1d3acc2"}, ] [[package]] @@ -639,35 +645,35 @@ files = [ [[package]] name = "cryptography" -version = "41.0.3" +version = "41.0.4" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-41.0.3-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:652627a055cb52a84f8c448185922241dd5217443ca194d5739b44612c5e6507"}, - {file = "cryptography-41.0.3-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:8f09daa483aedea50d249ef98ed500569841d6498aa9c9f4b0531b9964658922"}, - {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4fd871184321100fb400d759ad0cddddf284c4b696568204d281c902fc7b0d81"}, - {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84537453d57f55a50a5b6835622ee405816999a7113267739a1b4581f83535bd"}, - {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:3fb248989b6363906827284cd20cca63bb1a757e0a2864d4c1682a985e3dca47"}, - {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:42cb413e01a5d36da9929baa9d70ca90d90b969269e5a12d39c1e0d475010116"}, - {file = "cryptography-41.0.3-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:aeb57c421b34af8f9fe830e1955bf493a86a7996cc1338fe41b30047d16e962c"}, - {file = "cryptography-41.0.3-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:6af1c6387c531cd364b72c28daa29232162010d952ceb7e5ca8e2827526aceae"}, - {file = "cryptography-41.0.3-cp37-abi3-win32.whl", hash = "sha256:0d09fb5356f975974dbcb595ad2d178305e5050656affb7890a1583f5e02a306"}, - {file = "cryptography-41.0.3-cp37-abi3-win_amd64.whl", hash = "sha256:a983e441a00a9d57a4d7c91b3116a37ae602907a7618b882c8013b5762e80574"}, - {file = "cryptography-41.0.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5259cb659aa43005eb55a0e4ff2c825ca111a0da1814202c64d28a985d33b087"}, - {file = "cryptography-41.0.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:67e120e9a577c64fe1f611e53b30b3e69744e5910ff3b6e97e935aeb96005858"}, - {file = "cryptography-41.0.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7efe8041897fe7a50863e51b77789b657a133c75c3b094e51b5e4b5cec7bf906"}, - {file = "cryptography-41.0.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ce785cf81a7bdade534297ef9e490ddff800d956625020ab2ec2780a556c313e"}, - {file = "cryptography-41.0.3-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:57a51b89f954f216a81c9d057bf1a24e2f36e764a1ca9a501a6964eb4a6800dd"}, - {file = "cryptography-41.0.3-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:4c2f0d35703d61002a2bbdcf15548ebb701cfdd83cdc12471d2bae80878a4207"}, - {file = "cryptography-41.0.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:23c2d778cf829f7d0ae180600b17e9fceea3c2ef8b31a99e3c694cbbf3a24b84"}, - {file = "cryptography-41.0.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:95dd7f261bb76948b52a5330ba5202b91a26fbac13ad0e9fc8a3ac04752058c7"}, - {file = "cryptography-41.0.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:41d7aa7cdfded09b3d73a47f429c298e80796c8e825ddfadc84c8a7f12df212d"}, - {file = "cryptography-41.0.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:d0d651aa754ef58d75cec6edfbd21259d93810b73f6ec246436a21b7841908de"}, - {file = "cryptography-41.0.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ab8de0d091acbf778f74286f4989cf3d1528336af1b59f3e5d2ebca8b5fe49e1"}, - {file = "cryptography-41.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a74fbcdb2a0d46fe00504f571a2a540532f4c188e6ccf26f1f178480117b33c4"}, - {file = "cryptography-41.0.3.tar.gz", hash = "sha256:6d192741113ef5e30d89dcb5b956ef4e1578f304708701b8b73d38e3e1461f34"}, + {file = "cryptography-41.0.4-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:80907d3faa55dc5434a16579952ac6da800935cd98d14dbd62f6f042c7f5e839"}, + {file = "cryptography-41.0.4-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:35c00f637cd0b9d5b6c6bd11b6c3359194a8eba9c46d4e875a3660e3b400005f"}, + {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cecfefa17042941f94ab54f769c8ce0fe14beff2694e9ac684176a2535bf9714"}, + {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e40211b4923ba5a6dc9769eab704bdb3fbb58d56c5b336d30996c24fcf12aadb"}, + {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:23a25c09dfd0d9f28da2352503b23e086f8e78096b9fd585d1d14eca01613e13"}, + {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:2ed09183922d66c4ec5fdaa59b4d14e105c084dd0febd27452de8f6f74704143"}, + {file = "cryptography-41.0.4-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:5a0f09cefded00e648a127048119f77bc2b2ec61e736660b5789e638f43cc397"}, + {file = "cryptography-41.0.4-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:9eeb77214afae972a00dee47382d2591abe77bdae166bda672fb1e24702a3860"}, + {file = "cryptography-41.0.4-cp37-abi3-win32.whl", hash = "sha256:3b224890962a2d7b57cf5eeb16ccaafba6083f7b811829f00476309bce2fe0fd"}, + {file = "cryptography-41.0.4-cp37-abi3-win_amd64.whl", hash = "sha256:c880eba5175f4307129784eca96f4e70b88e57aa3f680aeba3bab0e980b0f37d"}, + {file = "cryptography-41.0.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:004b6ccc95943f6a9ad3142cfabcc769d7ee38a3f60fb0dddbfb431f818c3a67"}, + {file = "cryptography-41.0.4-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:86defa8d248c3fa029da68ce61fe735432b047e32179883bdb1e79ed9bb8195e"}, + {file = "cryptography-41.0.4-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:37480760ae08065437e6573d14be973112c9e6dcaf5f11d00147ee74f37a3829"}, + {file = "cryptography-41.0.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:b5f4dfe950ff0479f1f00eda09c18798d4f49b98f4e2006d644b3301682ebdca"}, + {file = "cryptography-41.0.4-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7e53db173370dea832190870e975a1e09c86a879b613948f09eb49324218c14d"}, + {file = "cryptography-41.0.4-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5b72205a360f3b6176485a333256b9bcd48700fc755fef51c8e7e67c4b63e3ac"}, + {file = "cryptography-41.0.4-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:93530900d14c37a46ce3d6c9e6fd35dbe5f5601bf6b3a5c325c7bffc030344d9"}, + {file = "cryptography-41.0.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:efc8ad4e6fc4f1752ebfb58aefece8b4e3c4cae940b0994d43649bdfce8d0d4f"}, + {file = "cryptography-41.0.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c3391bd8e6de35f6f1140e50aaeb3e2b3d6a9012536ca23ab0d9c35ec18c8a91"}, + {file = "cryptography-41.0.4-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:0d9409894f495d465fe6fda92cb70e8323e9648af912d5b9141d616df40a87b8"}, + {file = "cryptography-41.0.4-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:8ac4f9ead4bbd0bc8ab2d318f97d85147167a488be0e08814a37eb2f439d5cf6"}, + {file = "cryptography-41.0.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:047c4603aeb4bbd8db2756e38f5b8bd7e94318c047cfe4efeb5d715e08b49311"}, + {file = "cryptography-41.0.4.tar.gz", hash = "sha256:7febc3094125fc126a7f6fb1f420d0da639f3f32cb15c8ff0dc3997c4549f51a"}, ] [package.dependencies] @@ -760,19 +766,19 @@ static3 = "*" [[package]] name = "django" -version = "4.1.11" +version = "4.2.5" description = "A high-level Python web framework that encourages rapid development and clean, pragmatic design." category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "Django-4.1.11-py3-none-any.whl", hash = "sha256:cac9df0ba87b4f439e1a311ef22f75c938fc874bebf1fbabaed58d0e6d559a25"}, - {file = "Django-4.1.11.tar.gz", hash = "sha256:7b134688965dd331ca4d11ed38e5ce594caed0e906689a9b95251c29c2c03990"}, + {file = "Django-4.2.5-py3-none-any.whl", hash = "sha256:b6b2b5cae821077f137dc4dade696a1c2aa292f892eca28fa8d7bfdf2608ddd4"}, + {file = "Django-4.2.5.tar.gz", hash = "sha256:5e5c1c9548ffb7796b4a8a4782e9a2e5a3df3615259fc1bfd3ebc73b646146c1"}, ] [package.dependencies] -asgiref = ">=3.5.2,<4" -sqlparse = ">=0.2.2" +asgiref = ">=3.6.0,<4" +sqlparse = ">=0.3.1" tzdata = {version = "*", markers = "sys_platform == \"win32\""} [package.extras] @@ -1023,14 +1029,14 @@ requests = ">=2.13.0" [[package]] name = "django-otp" -version = "1.2.2" +version = "1.2.3" description = "A pluggable framework for adding two-factor authentication to Django using one-time passwords." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "django_otp-1.2.2-py3-none-any.whl", hash = "sha256:90765d5dac238a719f9550ac05681dd6307f513a81a10b6adb879b4abc6bc1a3"}, - {file = "django_otp-1.2.2.tar.gz", hash = "sha256:007a6354dabb3a1a54574bf73abf045ebbde0bb8734a38e2ed7845ba450f345e"}, + {file = "django_otp-1.2.3-py3-none-any.whl", hash = "sha256:43cfb70008559def9aad769d18374369c7f428122c527e3d5c78092856e58998"}, + {file = "django_otp-1.2.3.tar.gz", hash = "sha256:62466cad63a06df820ea4abfd3b2cdfb2cd5508925ecad1d308260b973025136"}, ] [package.dependencies] @@ -1365,14 +1371,14 @@ files = [ [[package]] name = "jsonschema" -version = "4.19.0" +version = "4.19.1" description = "An implementation of JSON Schema validation for Python" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "jsonschema-4.19.0-py3-none-any.whl", hash = "sha256:043dc26a3845ff09d20e4420d6012a9c91c9aa8999fa184e7efcfeccb41e32cb"}, - {file = "jsonschema-4.19.0.tar.gz", hash = "sha256:6e1e7569ac13be8139b2dd2c21a55d350066ee3f80df06c608b398cdc6f30e8f"}, + {file = "jsonschema-4.19.1-py3-none-any.whl", hash = "sha256:cd5f1f9ed9444e554b38ba003af06c0a8c2868131e56bfbef0550fb450c0330e"}, + {file = "jsonschema-4.19.1.tar.gz", hash = "sha256:ec84cc37cfa703ef7cd4928db24f9cb31428a5d0fa77747b8b51a847458e0bbf"}, ] [package.dependencies] @@ -1731,14 +1737,14 @@ et-xmlfile = "*" [[package]] name = "packaging" -version = "23.1" +version = "23.2" description = "Core utilities for Python packages" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"}, - {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"}, + {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, + {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, ] [[package]] @@ -1791,14 +1797,14 @@ six = ">=1.0.0" [[package]] name = "phonenumberslite" -version = "8.13.20" +version = "8.13.22" description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers." category = "main" optional = false python-versions = "*" files = [ - {file = "phonenumberslite-8.13.20-py2.py3-none-any.whl", hash = "sha256:f0840de9bfe5b8f10b6883d971dd81f3a53bed8210326a53266f11e8be3428c3"}, - {file = "phonenumberslite-8.13.20.tar.gz", hash = "sha256:09b07b32861f306dee10f17085afb3e058b4c179edf50deb94db4d4dd14235ff"}, + {file = "phonenumberslite-8.13.22-py2.py3-none-any.whl", hash = "sha256:8d1e5f2adfee2a634ccdb54b251dec32c5308fbca3d7f6ae6058f4adee4594a3"}, + {file = "phonenumberslite-8.13.22.tar.gz", hash = "sha256:98684f21804c6df2e7d224e72d60defee20eddf9e144d57f24cbd9db0df450e0"}, ] [[package]] @@ -1883,14 +1889,14 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa [[package]] name = "platformdirs" -version = "3.10.0" +version = "3.11.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "platformdirs-3.10.0-py3-none-any.whl", hash = "sha256:d7c24979f292f916dc9cbf8648319032f551ea8c49a4c9bf2fb556a02070ec1d"}, - {file = "platformdirs-3.10.0.tar.gz", hash = "sha256:b45696dab2d7cc691a3226759c0d3b00c47c8b6e293d96f6436f733303f77f6d"}, + {file = "platformdirs-3.11.0-py3-none-any.whl", hash = "sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e"}, + {file = "platformdirs-3.11.0.tar.gz", hash = "sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3"}, ] [package.extras] @@ -1911,14 +1917,14 @@ files = [ [[package]] name = "pretix" -version = "2023.7.3" +version = "2023.8.0" description = "Reinventing presales, one ticket at a time" category = "main" optional = false python-versions = ">=3.9" files = [ - {file = "pretix-2023.7.3-py3-none-any.whl", hash = "sha256:0bd249a3a91a530ce4b292d9aaf5cf12ce1f375a342f18da6d7ee29a3493c30e"}, - {file = "pretix-2023.7.3.tar.gz", hash = "sha256:b6a672290fd1e5c6df97af837ef2bdb87f63529045c2d4ca83682ae3251f9d3d"}, + {file = "pretix-2023.8.0-py3-none-any.whl", hash = "sha256:0156ef3cf205fcfcf35c47d7416c9cbd70abd4c62fd0b79c9500f4c7603a32db"}, + {file = "pretix-2023.8.0.tar.gz", hash = "sha256:f74faf07a92492afb3fc9d1fd6e9e49475c1c4d9157f3aa93f38027ba595d733"}, ] [package.dependencies] @@ -1932,7 +1938,7 @@ cryptography = ">=3.4.2" css-inline = ">=0.8.0,<0.9.0" defusedcsv = ">=1.1.0" dj-static = "*" -Django = ">=4.1.0,<4.2.0" +Django = ">=4.2.0,<4.3.0" django-bootstrap3 = ">=23.1.0,<23.2.0" django-compressor = ">=4.3.0,<4.4.0" django-countries = ">=7.5.0,<7.6.0" @@ -1985,7 +1991,7 @@ pytz = "*" pytz-deprecation-shim = ">=0.1.0,<0.2.0" pyuca = "*" qrcode = ">=7.4.0,<7.5.0" -redis = ">=4.5.4,<4.6.0" +redis = ">=4.6.0,<4.7.0" reportlab = ">=4.0.0,<4.1.0" requests = ">=2.31.0,<2.32.0" sentry-sdk = ">=1.15.0,<1.16.0" @@ -2002,7 +2008,7 @@ webauthn = ">=0.4.0,<0.5.0" zeep = ">=4.2.0,<4.3.0" [package.extras] -dev = ["coverage", "coveralls", "flake8 (>=6.0.0,<6.1.0)", "freezegun", "isort (>=5.12.0,<5.13.0)", "pep8-naming (>=0.13.0,<0.14.0)", "potypo", "pycodestyle (>=2.10.0,<2.11.0)", "pyflakes (>=3.0.0,<3.1.0)", "pytest (>=7.3.0,<7.4.0)", "pytest-cache", "pytest-cov", "pytest-django (>=4.0.0,<5.0.0)", "pytest-mock (>=3.10.0,<3.11.0)", "pytest-rerunfailures (>=11.0.0,<12.0.0)", "pytest-sugar", "pytest-xdist (>=3.3.0,<3.4.0)", "responses"] +dev = ["aiohttp (>=3.8.0,<3.9.0)", "coverage", "coveralls", "fakeredis (>=2.18.0,<2.19.0)", "flake8 (>=6.0.0,<6.1.0)", "freezegun", "isort (>=5.12.0,<5.13.0)", "pep8-naming (>=0.13.0,<0.14.0)", "potypo", "pycodestyle (>=2.10.0,<2.11.0)", "pyflakes (>=3.0.0,<3.1.0)", "pytest (>=7.3.0,<7.4.0)", "pytest-asyncio", "pytest-cache", "pytest-cov", "pytest-django (>=4.0.0,<5.0.0)", "pytest-mock (>=3.10.0,<3.11.0)", "pytest-rerunfailures (>=11.0.0,<12.0.0)", "pytest-sugar", "pytest-xdist (>=3.3.0,<3.4.0)", "responses"] memcached = ["pylibmc"] [[package]] @@ -2060,72 +2066,81 @@ files = [ [[package]] name = "psycopg2-binary" -version = "2.9.7" +version = "2.9.9" description = "psycopg2 - Python-PostgreSQL Database Adapter" category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "psycopg2-binary-2.9.7.tar.gz", hash = "sha256:1b918f64a51ffe19cd2e230b3240ba481330ce1d4b7875ae67305bd1d37b041c"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ea5f8ee87f1eddc818fc04649d952c526db4426d26bab16efbe5a0c52b27d6ab"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2993ccb2b7e80844d534e55e0f12534c2871952f78e0da33c35e648bf002bbff"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbbc3c5d15ed76b0d9db7753c0db40899136ecfe97d50cbde918f630c5eb857a"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:692df8763b71d42eb8343f54091368f6f6c9cfc56dc391858cdb3c3ef1e3e584"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9dcfd5d37e027ec393a303cc0a216be564b96c80ba532f3d1e0d2b5e5e4b1e6e"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17cc17a70dfb295a240db7f65b6d8153c3d81efb145d76da1e4a096e9c5c0e63"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e5666632ba2b0d9757b38fc17337d84bdf932d38563c5234f5f8c54fd01349c9"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7db7b9b701974c96a88997d458b38ccb110eba8f805d4b4f74944aac48639b42"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c82986635a16fb1fa15cd5436035c88bc65c3d5ced1cfaac7f357ee9e9deddd4"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4fe13712357d802080cfccbf8c6266a3121dc0e27e2144819029095ccf708372"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-win32.whl", hash = "sha256:122641b7fab18ef76b18860dd0c772290566b6fb30cc08e923ad73d17461dc63"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-win_amd64.whl", hash = "sha256:f8651cf1f144f9ee0fa7d1a1df61a9184ab72962531ca99f077bbdcba3947c58"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4ecc15666f16f97709106d87284c136cdc82647e1c3f8392a672616aed3c7151"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3fbb1184c7e9d28d67671992970718c05af5f77fc88e26fd7136613c4ece1f89"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a7968fd20bd550431837656872c19575b687f3f6f98120046228e451e4064df"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:094af2e77a1976efd4956a031028774b827029729725e136514aae3cdf49b87b"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:26484e913d472ecb6b45937ea55ce29c57c662066d222fb0fbdc1fab457f18c5"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f309b77a7c716e6ed9891b9b42953c3ff7d533dc548c1e33fddc73d2f5e21f9"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6d92e139ca388ccfe8c04aacc163756e55ba4c623c6ba13d5d1595ed97523e4b"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:2df562bb2e4e00ee064779902d721223cfa9f8f58e7e52318c97d139cf7f012d"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:4eec5d36dbcfc076caab61a2114c12094c0b7027d57e9e4387b634e8ab36fd44"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1011eeb0c51e5b9ea1016f0f45fa23aca63966a4c0afcf0340ccabe85a9f65bd"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-win32.whl", hash = "sha256:ded8e15f7550db9e75c60b3d9fcbc7737fea258a0f10032cdb7edc26c2a671fd"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-win_amd64.whl", hash = "sha256:8a136c8aaf6615653450817a7abe0fc01e4ea720ae41dfb2823eccae4b9062a3"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2dec5a75a3a5d42b120e88e6ed3e3b37b46459202bb8e36cd67591b6e5feebc1"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc10da7e7df3380426521e8c1ed975d22df678639da2ed0ec3244c3dc2ab54c8"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee919b676da28f78f91b464fb3e12238bd7474483352a59c8a16c39dfc59f0c5"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb1c0e682138f9067a58fc3c9a9bf1c83d8e08cfbee380d858e63196466d5c86"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00d8db270afb76f48a499f7bb8fa70297e66da67288471ca873db88382850bf4"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:9b0c2b466b2f4d89ccc33784c4ebb1627989bd84a39b79092e560e937a11d4ac"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:51d1b42d44f4ffb93188f9b39e6d1c82aa758fdb8d9de65e1ddfe7a7d250d7ad"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:11abdbfc6f7f7dea4a524b5f4117369b0d757725798f1593796be6ece20266cb"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:f02f4a72cc3ab2565c6d9720f0343cb840fb2dc01a2e9ecb8bc58ccf95dc5c06"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-win32.whl", hash = "sha256:81d5dd2dd9ab78d31a451e357315f201d976c131ca7d43870a0e8063b6b7a1ec"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-win_amd64.whl", hash = "sha256:62cb6de84d7767164a87ca97e22e5e0a134856ebcb08f21b621c6125baf61f16"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:59f7e9109a59dfa31efa022e94a244736ae401526682de504e87bd11ce870c22"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:95a7a747bdc3b010bb6a980f053233e7610276d55f3ca506afff4ad7749ab58a"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c721ee464e45ecf609ff8c0a555018764974114f671815a0a7152aedb9f3343"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4f37bbc6588d402980ffbd1f3338c871368fb4b1cfa091debe13c68bb3852b3"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac83ab05e25354dad798401babaa6daa9577462136ba215694865394840e31f8"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:024eaeb2a08c9a65cd5f94b31ace1ee3bb3f978cd4d079406aef85169ba01f08"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1c31c2606ac500dbd26381145684d87730a2fac9a62ebcfbaa2b119f8d6c19f4"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:42a62ef0e5abb55bf6ffb050eb2b0fcd767261fa3faf943a4267539168807522"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:7952807f95c8eba6a8ccb14e00bf170bb700cafcec3924d565235dffc7dc4ae8"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e02bc4f2966475a7393bd0f098e1165d470d3fa816264054359ed4f10f6914ea"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-win32.whl", hash = "sha256:fdca0511458d26cf39b827a663d7d87db6f32b93efc22442a742035728603d5f"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-win_amd64.whl", hash = "sha256:d0b16e5bb0ab78583f0ed7ab16378a0f8a89a27256bb5560402749dbe8a164d7"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6822c9c63308d650db201ba22fe6648bd6786ca6d14fdaf273b17e15608d0852"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f94cb12150d57ea433e3e02aabd072205648e86f1d5a0a692d60242f7809b15"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5ee89587696d808c9a00876065d725d4ae606f5f7853b961cdbc348b0f7c9a1"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad5ec10b53cbb57e9a2e77b67e4e4368df56b54d6b00cc86398578f1c635f329"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:642df77484b2dcaf87d4237792246d8068653f9e0f5c025e2c692fc56b0dda70"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6a8b575ac45af1eaccbbcdcf710ab984fd50af048fe130672377f78aaff6fc1"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f955aa50d7d5220fcb6e38f69ea126eafecd812d96aeed5d5f3597f33fad43bb"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ad26d4eeaa0d722b25814cce97335ecf1b707630258f14ac4d2ed3d1d8415265"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:ced63c054bdaf0298f62681d5dcae3afe60cbae332390bfb1acf0e23dcd25fc8"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2b04da24cbde33292ad34a40db9832a80ad12de26486ffeda883413c9e1b1d5e"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-win32.whl", hash = "sha256:18f12632ab516c47c1ac4841a78fddea6508a8284c7cf0f292cb1a523f2e2379"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-win_amd64.whl", hash = "sha256:eb3b8d55924a6058a26db69fb1d3e7e32695ff8b491835ba9f479537e14dcf9f"}, + {file = "psycopg2-binary-2.9.9.tar.gz", hash = "sha256:7f01846810177d829c7692f1f5ada8096762d9172af1b1a28d4ab5b77c923c1c"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c2470da5418b76232f02a2fcd2229537bb2d5a7096674ce61859c3229f2eb202"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c6af2a6d4b7ee9615cbb162b0738f6e1fd1f5c3eda7e5da17861eacf4c717ea7"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:75723c3c0fbbf34350b46a3199eb50638ab22a0228f93fb472ef4d9becc2382b"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:83791a65b51ad6ee6cf0845634859d69a038ea9b03d7b26e703f94c7e93dbcf9"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0ef4854e82c09e84cc63084a9e4ccd6d9b154f1dbdd283efb92ecd0b5e2b8c84"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed1184ab8f113e8d660ce49a56390ca181f2981066acc27cf637d5c1e10ce46e"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d2997c458c690ec2bc6b0b7ecbafd02b029b7b4283078d3b32a852a7ce3ddd98"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:b58b4710c7f4161b5e9dcbe73bb7c62d65670a87df7bcce9e1faaad43e715245"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:0c009475ee389757e6e34611d75f6e4f05f0cf5ebb76c6037508318e1a1e0d7e"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8dbf6d1bc73f1d04ec1734bae3b4fb0ee3cb2a493d35ede9badbeb901fb40f6f"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-win32.whl", hash = "sha256:3f78fd71c4f43a13d342be74ebbc0666fe1f555b8837eb113cb7416856c79682"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-win_amd64.whl", hash = "sha256:876801744b0dee379e4e3c38b76fc89f88834bb15bf92ee07d94acd06ec890a0"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ee825e70b1a209475622f7f7b776785bd68f34af6e7a46e2e42f27b659b5bc26"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1ea665f8ce695bcc37a90ee52de7a7980be5161375d42a0b6c6abedbf0d81f0f"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:143072318f793f53819048fdfe30c321890af0c3ec7cb1dfc9cc87aa88241de2"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c332c8d69fb64979ebf76613c66b985414927a40f8defa16cf1bc028b7b0a7b0"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7fc5a5acafb7d6ccca13bfa8c90f8c51f13d8fb87d95656d3950f0158d3ce53"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:977646e05232579d2e7b9c59e21dbe5261f403a88417f6a6512e70d3f8a046be"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b6356793b84728d9d50ead16ab43c187673831e9d4019013f1402c41b1db9b27"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:bc7bb56d04601d443f24094e9e31ae6deec9ccb23581f75343feebaf30423359"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:77853062a2c45be16fd6b8d6de2a99278ee1d985a7bd8b103e97e41c034006d2"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:78151aa3ec21dccd5cdef6c74c3e73386dcdfaf19bced944169697d7ac7482fc"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-win32.whl", hash = "sha256:dc4926288b2a3e9fd7b50dc6a1909a13bbdadfc67d93f3374d984e56f885579d"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-win_amd64.whl", hash = "sha256:b76bedd166805480ab069612119ea636f5ab8f8771e640ae103e05a4aae3e417"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:8532fd6e6e2dc57bcb3bc90b079c60de896d2128c5d9d6f24a63875a95a088cf"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f8544b092a29a6ddd72f3556a9fcf249ec412e10ad28be6a0c0d948924f2212"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2d423c8d8a3c82d08fe8af900ad5b613ce3632a1249fd6a223941d0735fce493"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e5afae772c00980525f6d6ecf7cbca55676296b580c0e6abb407f15f3706996"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e6f98446430fdf41bd36d4faa6cb409f5140c1c2cf58ce0bbdaf16af7d3f119"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c77e3d1862452565875eb31bdb45ac62502feabbd53429fdc39a1cc341d681ba"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:cb16c65dcb648d0a43a2521f2f0a2300f40639f6f8c1ecbc662141e4e3e1ee07"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:911dda9c487075abd54e644ccdf5e5c16773470a6a5d3826fda76699410066fb"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:57fede879f08d23c85140a360c6a77709113efd1c993923c59fde17aa27599fe"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2293b001e319ab0d869d660a704942c9e2cce19745262a8aba2115ef41a0a42a"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03ef7df18daf2c4c07e2695e8cfd5ee7f748a1d54d802330985a78d2a5a6dca9"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a602ea5aff39bb9fac6308e9c9d82b9a35c2bf288e184a816002c9fae930b77"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8359bf4791968c5a78c56103702000105501adb557f3cf772b2c207284273984"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:275ff571376626195ab95a746e6a04c7df8ea34638b99fc11160de91f2fef503"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:f9b5571d33660d5009a8b3c25dc1db560206e2d2f89d3df1cb32d72c0d117d52"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:420f9bbf47a02616e8554e825208cb947969451978dceb77f95ad09c37791dae"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:4154ad09dac630a0f13f37b583eae260c6aa885d67dfbccb5b02c33f31a6d420"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a148c5d507bb9b4f2030a2025c545fccb0e1ef317393eaba42e7eabd28eb6041"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-win32.whl", hash = "sha256:68fc1f1ba168724771e38bee37d940d2865cb0f562380a1fb1ffb428b75cb692"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-win_amd64.whl", hash = "sha256:281309265596e388ef483250db3640e5f414168c5a67e9c665cafce9492eda2f"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:60989127da422b74a04345096c10d416c2b41bd7bf2a380eb541059e4e999980"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:246b123cc54bb5361588acc54218c8c9fb73068bf227a4a531d8ed56fa3ca7d6"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34eccd14566f8fe14b2b95bb13b11572f7c7d5c36da61caf414d23b91fcc5d94"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18d0ef97766055fec15b5de2c06dd8e7654705ce3e5e5eed3b6651a1d2a9a152"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d3f82c171b4ccd83bbaf35aa05e44e690113bd4f3b7b6cc54d2219b132f3ae55"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ead20f7913a9c1e894aebe47cccf9dc834e1618b7aa96155d2091a626e59c972"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:ca49a8119c6cbd77375ae303b0cfd8c11f011abbbd64601167ecca18a87e7cdd"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:323ba25b92454adb36fa425dc5cf6f8f19f78948cbad2e7bc6cdf7b0d7982e59"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:1236ed0952fbd919c100bc839eaa4a39ebc397ed1c08a97fc45fee2a595aa1b3"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:729177eaf0aefca0994ce4cffe96ad3c75e377c7b6f4efa59ebf003b6d398716"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-win32.whl", hash = "sha256:804d99b24ad523a1fe18cc707bf741670332f7c7412e9d49cb5eab67e886b9b5"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-win_amd64.whl", hash = "sha256:a6cdcc3ede532f4a4b96000b6362099591ab4a3e913d70bcbac2b56c872446f7"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:72dffbd8b4194858d0941062a9766f8297e8868e1dd07a7b36212aaa90f49472"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:30dcc86377618a4c8f3b72418df92e77be4254d8f89f14b8e8f57d6d43603c0f"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:31a34c508c003a4347d389a9e6fcc2307cc2150eb516462a7a17512130de109e"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:15208be1c50b99203fe88d15695f22a5bed95ab3f84354c494bcb1d08557df67"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1873aade94b74715be2246321c8650cabf5a0d098a95bab81145ffffa4c13876"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a58c98a7e9c021f357348867f537017057c2ed7f77337fd914d0bedb35dace7"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4686818798f9194d03c9129a4d9a702d9e113a89cb03bffe08c6cf799e053291"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ebdc36bea43063116f0486869652cb2ed7032dbc59fbcb4445c4862b5c1ecf7f"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:ca08decd2697fdea0aea364b370b1249d47336aec935f87b8bbfd7da5b2ee9c1"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ac05fb791acf5e1a3e39402641827780fe44d27e72567a000412c648a85ba860"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-win32.whl", hash = "sha256:9dba73be7305b399924709b91682299794887cbbd88e38226ed9f6712eabee90"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-win_amd64.whl", hash = "sha256:f7ae5d65ccfbebdfa761585228eb4d0df3a8b15cfb53bd953e713e09fbb12957"}, ] [[package]] @@ -2428,14 +2443,14 @@ files = [ [[package]] name = "redis" -version = "4.5.5" +version = "4.6.0" description = "Python client for Redis database and key-value store" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "redis-4.5.5-py3-none-any.whl", hash = "sha256:77929bc7f5dab9adf3acba2d3bb7d7658f1e0c2f1cafe7eb36434e751c471119"}, - {file = "redis-4.5.5.tar.gz", hash = "sha256:dc87a0bdef6c8bfe1ef1e1c40be7034390c2ae02d92dcd0c7ca1729443899880"}, + {file = "redis-4.6.0-py3-none-any.whl", hash = "sha256:e2b03db868160ee4591de3cb90d40ebb50a90dd302138775937f6a42b7ed183c"}, + {file = "redis-4.6.0.tar.gz", hash = "sha256:585dc516b9eb042a619ef0a39c3d7d55fe81bdb4df09a52c9cdde0d07bf1aa7d"}, ] [package.dependencies] @@ -2463,14 +2478,14 @@ rpds-py = ">=0.7.0" [[package]] name = "reportlab" -version = "4.0.4" +version = "4.0.5" description = "The Reportlab Toolkit" category = "main" optional = false python-versions = ">=3.7,<4" files = [ - {file = "reportlab-4.0.4-py3-none-any.whl", hash = "sha256:3dcda79ce04baf70721e2ec54854722644262cac2feec3d5c4c5e77015504cb0"}, - {file = "reportlab-4.0.4.tar.gz", hash = "sha256:7f70b3b56aff5f11cb4136c51a0f5a56fe6e4c8fbbac7b903076db99a8ef31c1"}, + {file = "reportlab-4.0.5-py3-none-any.whl", hash = "sha256:1344dbe779b9049a1888105503837d0e5b62163bf5c6b33bd1fbe84bad484f50"}, + {file = "reportlab-4.0.5.tar.gz", hash = "sha256:9c68f277736f585c5c9938755b826dd57c877fcaeb203e21cefea12b3b1db4f5"}, ] [package.dependencies] @@ -2879,14 +2894,14 @@ telegram = ["requests"] [[package]] name = "typing-extensions" -version = "4.7.1" -description = "Backported and Experimental Type Hints for Python 3.7+" +version = "4.8.0" +description = "Backported and Experimental Type Hints for Python 3.8+" category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.7.1-py3-none-any.whl", hash = "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36"}, - {file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"}, + {file = "typing_extensions-4.8.0-py3-none-any.whl", hash = "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0"}, + {file = "typing_extensions-4.8.0.tar.gz", hash = "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"}, ] [[package]] @@ -2974,14 +2989,14 @@ files = [ [[package]] name = "urllib3" -version = "2.0.4" +version = "2.0.6" description = "HTTP library with thread-safe connection pooling, file post, and more." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "urllib3-2.0.4-py3-none-any.whl", hash = "sha256:de7df1803967d2c2a98e4b11bb7d6bd9210474c46e8a0401514e3a42a75ebde4"}, - {file = "urllib3-2.0.4.tar.gz", hash = "sha256:8d22f86aae8ef5e410d4f539fde9ce6b2113a001bb4d189e0aed70642d602b11"}, + {file = "urllib3-2.0.6-py3-none-any.whl", hash = "sha256:7a7c7003b000adf9e7ca2a377c9688bbc54ed41b985789ed576570342a375cd2"}, + {file = "urllib3-2.0.6.tar.gz", hash = "sha256:b19e1a85d206b56d7df1d5e683df4a7725252a964e3993648dd0fb5a1c157564"}, ] [package.extras] @@ -3030,14 +3045,14 @@ python-dateutil = ">=2.4.0" [[package]] name = "wcwidth" -version = "0.2.6" +version = "0.2.8" description = "Measures the displayed width of unicode strings in a terminal" category = "main" optional = false python-versions = "*" files = [ - {file = "wcwidth-0.2.6-py2.py3-none-any.whl", hash = "sha256:795b138f6875577cd91bba52baf9e445cd5118fd32723b460e30a0af30ea230e"}, - {file = "wcwidth-0.2.6.tar.gz", hash = "sha256:a5220780a404dbe3353789870978e472cfe477761f06ee55077256e509b156d0"}, + {file = "wcwidth-0.2.8-py2.py3-none-any.whl", hash = "sha256:77f719e01648ed600dfa5402c347481c0992263b81a027344f3e1ba25493a704"}, + {file = "wcwidth-0.2.8.tar.gz", hash = "sha256:8705c569999ffbb4f6a87c6d1b80f324bd6db952f5eb0b95bc07517f4c1813d4"}, ] [[package]] @@ -3158,14 +3173,14 @@ files = [ [[package]] name = "xmlschema" -version = "2.4.0" +version = "2.5.0" description = "An XML Schema validator and decoder" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "xmlschema-2.4.0-py3-none-any.whl", hash = "sha256:dc87be0caaa61f42649899189aab2fd8e0d567f2cf548433ba7b79278d231a4a"}, - {file = "xmlschema-2.4.0.tar.gz", hash = "sha256:d74cd0c10866ac609e1ef94a5a69b018ad16e39077bc6393408b40c6babee793"}, + {file = "xmlschema-2.5.0-py3-none-any.whl", hash = "sha256:f2b29c45485fac414cc1fdb38d18a220c5987d7d3aa996e6df6ff35ee94d5a63"}, + {file = "xmlschema-2.5.0.tar.gz", hash = "sha256:276a03e0fd3c94c148d528bff4d9482f9b99bf8c7b4056a2e8e703d28149d454"}, ] [package.dependencies] @@ -3294,21 +3309,21 @@ xmlsec = ["xmlsec (>=0.6.1)"] [[package]] name = "zipp" -version = "3.16.2" +version = "3.17.0" description = "Backport of pathlib-compatible object wrapper for zip files" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "zipp-3.16.2-py3-none-any.whl", hash = "sha256:679e51dd4403591b2d6838a48de3d283f3d188412a9782faadf845f298736ba0"}, - {file = "zipp-3.16.2.tar.gz", hash = "sha256:ebc15946aa78bd63458992fc81ec3b6f7b1e92d51c35e6de1c3804e73b799147"}, + {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"}, + {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "2a9abfe9538a4d109183508b70f4e1c3eb53808f54e7c36de7a5284e48705804" +content-hash = "78f0b329a67c868d90f9d3c8f49a24f54cfab82a19ff6423ca4b177881db216b" diff --git a/pkgs/pretix/pretix-static.nix b/pkgs/pretix/pretix-static.nix index 8fa80ce..dd8f13c 100644 --- a/pkgs/pretix/pretix-static.nix +++ b/pkgs/pretix/pretix-static.nix @@ -8,7 +8,7 @@ let nodeEnv = buildNpmPackage rec { name = "pretix-nodejs"; src = "${pretix.passthru.pythonModule.pkgs.pretix}/lib/python3.10/site-packages/pretix/static/npm_dir"; - npmDepsHash = "sha256-6qqfuNpWvPE5KmONe/ZbWOEjvO1S8124Kk2QerGZ74s="; + npmDepsHash = "sha256-xkDC2CjguZMZKOHv9/o50mPkXsSkPxnmbhVuGxRZdMU="; dontNpmBuild = true; installPhase = '' mkdir -p $out diff --git a/pkgs/pretix/pyproject.toml b/pkgs/pretix/pyproject.toml index b801fe9..db4f97c 100644 --- a/pkgs/pretix/pyproject.toml +++ b/pkgs/pretix/pyproject.toml @@ -7,7 +7,7 @@ license = "MIT" [tool.poetry.dependencies] python = "^3.10" -pretix = "^2023.7.3" +pretix = "^2023.8.0" [tool.poetry.dev-dependencies] From 8e5300131a8d51fd90293e1c80e6ac29476e5e3c Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 5 Oct 2023 08:07:49 +0000 Subject: [PATCH 046/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/3b79cc4bcd9c09b5aa68ea1957c25e437dc6bc58' (2023-10-03) → 'github:nixos/nixpkgs/8a4c17493e5c39769f79117937c79e1c88de6729' (2023-10-03) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/e0b78ab95b4b23fa4395ff7a93ccff3a14353616' (2023-10-04) → 'github:NixOS/nixpkgs/a61a2f7b7dd78f1c78cc12baa6f27f88b3bf7ce1' (2023-10-05) • Updated input 'nur': 'github:nix-community/NUR/4ca4be389a0c04cf9b41a554f9d3b3cea7a5b68a' (2023-10-04) → 'github:nix-community/NUR/87afa198d7dde7d6a1df02fbfe82d0a86313a6e3' (2023-10-05) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 5fd4987..542e2b6 100644 --- a/flake.lock +++ b/flake.lock @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1696420985, - "narHash": "sha256-9ZXMUtNSrKDkHjbG3ZisLZksbdQiTdZC1Hg5tYeVrpc=", + "lastModified": 1696493188, + "narHash": "sha256-k+uRggBPqgylOjx3P5SovnbzHYZ/SNik+e6uYAQBA7w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e0b78ab95b4b23fa4395ff7a93ccff3a14353616", + "rev": "a61a2f7b7dd78f1c78cc12baa6f27f88b3bf7ce1", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1696323343, - "narHash": "sha256-u7WLUrh5eb+6SBYwtkaGL2ryHpLcHzmLml+a+VqKJWE=", + "lastModified": 1696374741, + "narHash": "sha256-gt8B3G0ryizT9HSB4cCO8QoxdbsHnrQH+/BdKxOwqF0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3b79cc4bcd9c09b5aa68ea1957c25e437dc6bc58", + "rev": "8a4c17493e5c39769f79117937c79e1c88de6729", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1696421792, - "narHash": "sha256-fhx7rQoL0rbupNRcNbTQSOxJ7sU6vpug+og2f9z1FDw=", + "lastModified": 1696487582, + "narHash": "sha256-P4geP6VRcOaiqkDjZmRwUgKKxUClsu7zw6R6Ku/JaQ0=", "owner": "nix-community", "repo": "NUR", - "rev": "4ca4be389a0c04cf9b41a554f9d3b3cea7a5b68a", + "rev": "87afa198d7dde7d6a1df02fbfe82d0a86313a6e3", "type": "github" }, "original": { From 3b398720dde39d21570b8264dccf99c82c01d5f2 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 10 Oct 2023 14:27:22 +0000 Subject: [PATCH 047/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/98deb47f4f196a645e59ec3e6355990044d84a49' (2023-10-10) → 'github:NixOS/nixpkgs/fc16009786a9258644b801518168bca6beb5e69f' (2023-10-10) • Updated input 'nur': 'github:nix-community/NUR/2ffd7dddfc5cfb37cfa710ebe5152b101b328a77' (2023-10-10) → 'github:nix-community/NUR/b78fc719a77eafb78ee851da2d59f3580a76d88d' (2023-10-10) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 542e2b6..8028023 100644 --- a/flake.lock +++ b/flake.lock @@ -110,11 +110,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1696158581, - "narHash": "sha256-h0vY4E7Lx95lpYQbG2w4QH4yG5wCYOvPJzK93wVQbT0=", + "lastModified": 1696846637, + "narHash": "sha256-0hv4kbXxci2+pxhuXlVgftj/Jq79VSmtAyvfabCCtYk=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "033453f85064ccac434dfd957f95d8457901ecd6", + "rev": "42e1b6095ef80a51f79595d9951eb38e91c4e6ca", "type": "github" }, "original": { @@ -158,11 +158,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1696123266, - "narHash": "sha256-S6MZEneQeE4M/E/C8SMnr7B7oBnjH/hbm96Kak5hAAI=", + "lastModified": 1696717752, + "narHash": "sha256-qEq1styCyQHSrw7AOhskH2qwCFx93bOwsGEzUIrZC0g=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dbe90e63a36762f1fbde546e26a84af774a32455", + "rev": "2f3b6b3fcd9fa0a4e6b544180c058a70890a7cc1", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1696493188, - "narHash": "sha256-k+uRggBPqgylOjx3P5SovnbzHYZ/SNik+e6uYAQBA7w=", + "lastModified": 1696947906, + "narHash": "sha256-mV0371zwvEFiP3UgjyKYATE9YwQ1Fzcq4sqdFJdFLtE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a61a2f7b7dd78f1c78cc12baa6f27f88b3bf7ce1", + "rev": "fc16009786a9258644b801518168bca6beb5e69f", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1696374741, - "narHash": "sha256-gt8B3G0ryizT9HSB4cCO8QoxdbsHnrQH+/BdKxOwqF0=", + "lastModified": 1696697597, + "narHash": "sha256-q26Qv4DQ+h6IeozF2o1secyQG0jt2VUT3V0K58jr3pg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8a4c17493e5c39769f79117937c79e1c88de6729", + "rev": "5a237aecb57296f67276ac9ab296a41c23981f56", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1696487582, - "narHash": "sha256-P4geP6VRcOaiqkDjZmRwUgKKxUClsu7zw6R6Ku/JaQ0=", + "lastModified": 1696947088, + "narHash": "sha256-Ukl6GRfOVvJw/ourtBnqO69/lWESN8uoPM8h8quwVyk=", "owner": "nix-community", "repo": "NUR", - "rev": "87afa198d7dde7d6a1df02fbfe82d0a86313a6e3", + "rev": "b78fc719a77eafb78ee851da2d59f3580a76d88d", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1696320910, - "narHash": "sha256-fbuEc6wylH+0VxG48lhPBK+SQJHfo2lusUwWHZNipIM=", + "lastModified": 1696890802, + "narHash": "sha256-q0cbDNjTnZ1ojoPdy4liEHWXokhQSNULnSKgURp4v2g=", "owner": "Mic92", "repo": "sops-nix", - "rev": "746c7fa1a64c1671a4bf287737c27fdc7101c4c2", + "rev": "6b32358c22d2718a5407d39a8236c7bd9608f447", "type": "github" }, "original": { From d12b2e51a81c45a74c756a30ccd404da7ccaf01e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 13 Oct 2023 09:37:57 +0000 Subject: [PATCH 048/766] Add exceptions for Deutsche Bahn --- modules/dnsmasq.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/dnsmasq.nix b/modules/dnsmasq.nix index 3e1d7ab..3a5ff06 100644 --- a/modules/dnsmasq.nix +++ b/modules/dnsmasq.nix @@ -10,6 +10,8 @@ "127.0.0.1#9053" "/lechner.zz/192.168.0.1" "/lab.fablab-nea.de/192.168.94.1" + "/login.wifionice.de/172.18.0.1" + "/iceportal.de/172.18.0.1" ]; no-resolv = true; interface = "lo"; From a4913e5f7e62bf00062df7432a5a0c0317245d3e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 13 Oct 2023 09:42:07 +0000 Subject: [PATCH 049/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/5a237aecb57296f67276ac9ab296a41c23981f56' (2023-10-07) → 'github:nixos/nixpkgs/bd1cde45c77891214131cbbea5b1203e485a9d51' (2023-10-11) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/fc16009786a9258644b801518168bca6beb5e69f' (2023-10-10) → 'github:NixOS/nixpkgs/a97d85ff06c5d91b594cace882fdf1b241086345' (2023-10-13) • Updated input 'nur': 'github:nix-community/NUR/b78fc719a77eafb78ee851da2d59f3580a76d88d' (2023-10-10) → 'github:nix-community/NUR/1076bf182a065b1a037caaaa9edee751148582e3' (2023-10-13) • Updated input 'sops-nix': 'github:Mic92/sops-nix/6b32358c22d2718a5407d39a8236c7bd9608f447' (2023-10-09) → 'github:Mic92/sops-nix/f995ea159252a53b25fa99824f2891e3b479d511' (2023-10-11) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 8028023..1e43105 100644 --- a/flake.lock +++ b/flake.lock @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1696947906, - "narHash": "sha256-mV0371zwvEFiP3UgjyKYATE9YwQ1Fzcq4sqdFJdFLtE=", + "lastModified": 1697189906, + "narHash": "sha256-6Vlh9DdTdzoMDFyHoGqUxf3fV57Ej84e3Reh8+ds32o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fc16009786a9258644b801518168bca6beb5e69f", + "rev": "a97d85ff06c5d91b594cace882fdf1b241086345", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1696697597, - "narHash": "sha256-q26Qv4DQ+h6IeozF2o1secyQG0jt2VUT3V0K58jr3pg=", + "lastModified": 1696983906, + "narHash": "sha256-L7GyeErguS7Pg4h8nK0wGlcUTbfUMDu+HMf1UcyP72k=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5a237aecb57296f67276ac9ab296a41c23981f56", + "rev": "bd1cde45c77891214131cbbea5b1203e485a9d51", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1696947088, - "narHash": "sha256-Ukl6GRfOVvJw/ourtBnqO69/lWESN8uoPM8h8quwVyk=", + "lastModified": 1697187908, + "narHash": "sha256-p8OQDLQURdsJ/7l8PyZwE0jaPDinLceSTmEY+nmlP7Y=", "owner": "nix-community", "repo": "NUR", - "rev": "b78fc719a77eafb78ee851da2d59f3580a76d88d", + "rev": "1076bf182a065b1a037caaaa9edee751148582e3", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1696890802, - "narHash": "sha256-q0cbDNjTnZ1ojoPdy4liEHWXokhQSNULnSKgURp4v2g=", + "lastModified": 1697064251, + "narHash": "sha256-xxp2sB+4vqB6S6zC/L5J8LlRKgVbgIZOcYl9/TDrEzI=", "owner": "Mic92", "repo": "sops-nix", - "rev": "6b32358c22d2718a5407d39a8236c7bd9608f447", + "rev": "f995ea159252a53b25fa99824f2891e3b479d511", "type": "github" }, "original": { From fdab91a7f82f1bfbf74f6d81f82a821158ed9683 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 12 Oct 2023 14:24:50 +0000 Subject: [PATCH 050/766] Add gitlab-runner --- flake.lock | 24 ++ flake.nix | 12 +- hosts/magnesium/secrets.yaml | 5 +- hosts/magnesium/services/default.nix | 1 + hosts/magnesium/services/gitlab-runner.nix | 43 ++ pkgs/default.nix | 8 +- .../docker-machine-driver-hetzner/default.nix | 15 + .../gomod2nix.toml | 73 ++++ pkgs/docker-machine-gitlab/default.nix | 35 ++ pkgs/docker-machine-gitlab/deps.nix | 408 ++++++++++++++++++ 10 files changed, 620 insertions(+), 4 deletions(-) create mode 100644 hosts/magnesium/services/gitlab-runner.nix create mode 100644 pkgs/docker-machine-driver-hetzner/default.nix create mode 100644 pkgs/docker-machine-driver-hetzner/gomod2nix.toml create mode 100644 pkgs/docker-machine-gitlab/default.nix create mode 100644 pkgs/docker-machine-gitlab/deps.nix diff --git a/flake.lock b/flake.lock index 1e43105..4d4308f 100644 --- a/flake.lock +++ b/flake.lock @@ -55,6 +55,29 @@ "type": "github" } }, + "gomod2nix": { + "inputs": { + "flake-utils": [ + "flake-utils" + ], + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1694616124, + "narHash": "sha256-c49BVhQKw3XDRgt+y+uPAbArtgUlMXCET6VxEBmzHXE=", + "owner": "nix-community", + "repo": "gomod2nix", + "rev": "f95720e89af6165c8c0aa77f180461fe786f3c21", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "gomod2nix", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -222,6 +245,7 @@ "root": { "inputs": { "flake-utils": "flake-utils", + "gomod2nix": "gomod2nix", "home-manager": "home-manager", "krops": "krops", "nix-pre-commit-hooks": "nix-pre-commit-hooks", diff --git a/flake.nix b/flake.nix index 3f94e05..2d5ee3c 100644 --- a/flake.nix +++ b/flake.nix @@ -28,12 +28,22 @@ nixpkgs.follows = "nixpkgs"; }; }; + + gomod2nix = { + url = "github:nix-community/gomod2nix"; + inputs = { + flake-utils.follows = "flake-utils"; + nixpkgs.follows = "nixpkgs"; + }; + }; + }; outputs = { self , nixpkgs , flake-utils , krops + , gomod2nix , home-manager , nur , nix-pre-commit-hooks @@ -124,7 +134,7 @@ }; }); }) // { - overlays.default = import ./pkgs; + overlays.default = import ./pkgs inputs; nixosConfigurations = nixpkgs.lib.mapAttrs (hostname: { system diff --git a/hosts/magnesium/secrets.yaml b/hosts/magnesium/secrets.yaml index fc00ca5..32a9318 100644 --- a/hosts/magnesium/secrets.yaml +++ b/hosts/magnesium/secrets.yaml @@ -1,5 +1,6 @@ wireguard_key_hetzner-ha: ENC[AES256_GCM,data:HEW+EalHg6/mq7pRKZkasGz0nqbkSppkf0H/uV5QMJnWwKw9a9W21Y77OSw=,iv:OA6yml1T5kVafX0RYd0Es7DHcGjJazUxP2M6a5Pwkag=,tag:lX5UPIseIQ136HLrHbzZyw==,type:str] turn-static-auth-secret: ENC[AES256_GCM,data:rzhixUemFPwKj1BcVPZd7KtUO9OA6A2R4qEQ1BZGVG0=,iv:uYHYe4Cywxovt3b/Ho1tQVHrpgVic+AKh9AjYMYSZcM=,tag:rr8RW/if06t38GpZCYQB4w==,type:str] +gitlab-runner_fablab-nea-hcloud-labsync: ENC[AES256_GCM,data:+znVO8cQxjDdhch7oUALZvt84iJmWnAx6lTM0+WGkGtaRWTCTPjgnst5waSJpw/Oysrd1PkXZKmLHyHuU7K/CHQij7sWH50G3ZcUum58klJc3dCPztlrLpDVHeSwyYiLpsqkQTfjqLPfrMkxuxBgTEVXlq2ZnFuyOGbFx9hubPxLeyQKakiW3qZWGjbFXYAps7Gl61AVdKJj3y1otX2JbCjG9x2i6FHZpl5ywwQCjKNM,iv:7v+I/oJtWDap6PNIJ4Qm3Si9dGs7a79SaMhnr/tbe1A=,tag:7jgoLtdWAEKMkWoXZ10owA==,type:str] sops: kms: [] gcp_kms: [] @@ -15,8 +16,8 @@ sops: Vlk3Y1luTTg3bkpqNTNPUGlNYmNtMW8K9dEUwAuzvDZZoVi8FPZQ7/h75EV0L+VM MlTGfEt38Hi7EOw+yfXvXYHse/OKypwcrPiJDT6IT/E+O9BJCjPKCA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2023-07-10T19:12:04Z" - mac: ENC[AES256_GCM,data:cDwrW1odloAedY7tdKLPg52UTehlTrs3+lAH0ksaGGDXzQCsVNlfzR86SRGQY2s98cu7+9j5azhWSU9slDZcTIk4VWL2i8ZtVpD8KFtut0WiwWaGf2/KLe80GGw3lr4Rm491YDvv7JcUsEuCG3lAQFZzAlZcfl0faFpzYvpTk30=,iv:yeyRjURArUaG0HzcVP0Wm9n0oVHb+u4zNdaQbrC+EaM=,tag:9uFNd3CSSFjToeawBtMNHg==,type:str] + lastmodified: "2023-10-13T18:27:53Z" + mac: ENC[AES256_GCM,data:8DPq0aGtoiMOdFyD+0NKGZ9OrDi1VXXS/6y3tH4DwlkLDpDqb2QsxunTDwoHlILQBu300nB2lUeGuGlp4/0FimFdiddlu2Ljq8vLh3wt+sz660RgfeaIcgWLSHtulyNIIQJ91wzzgbRADafFRCavVFvJALnIgeE+QDQa4ybLus0=,iv:T3xwELbHbqDszIkGs8BeJn9WV0LjagF1T+HLxCR/Aeo=,tag:NAIBPTRcnRtkGKhpWpe5Pw==,type:str] pgp: - created_at: "2023-06-22T12:44:23Z" enc: | diff --git a/hosts/magnesium/services/default.nix b/hosts/magnesium/services/default.nix index 4039a4d..0fd2a7f 100644 --- a/hosts/magnesium/services/default.nix +++ b/hosts/magnesium/services/default.nix @@ -1,6 +1,7 @@ { imports = [ ./coturn.nix + ./gitlab-runner.nix ./mosquitto.nix ./public-ip-tunnel.nix ./webserver.nix diff --git a/hosts/magnesium/services/gitlab-runner.nix b/hosts/magnesium/services/gitlab-runner.nix new file mode 100644 index 0000000..9f920eb --- /dev/null +++ b/hosts/magnesium/services/gitlab-runner.nix @@ -0,0 +1,43 @@ +{ config, lib, pkgs, ... }: + +{ + sops.secrets.gitlab-runner_fablab-nea-hcloud-labsync = { + sopsFile = ../secrets.yaml; + }; + services.gitlab-runner = { + enable = true; + extraPackages = [ + #(pkgs.writeShellScriptBin "docker-machine" '' + # exec ${pkgs.docker-machine-gitlab}/bin/docker-machine --debug "$@" + #'') + pkgs.docker-machine-gitlab + ]; + #settings.log_level = "debug"; + services."fablab-nea-hcloud-labsync" = { + description = "FabLab NEA Hetzner Cloud - labsync image builder"; + limit = 5; + executor = "docker+machine"; + registrationConfigFile = config.sops.secrets.gitlab-runner_fablab-nea-hcloud-labsync.path; + dockerImage = "quay.io/official-images/alpine:latest"; + dockerPrivileged = true; + tagList = [ + "labsync-image" + ]; + maximumTimeout = 6 * 60 * 60; + registrationFlags = [ + "--docker-tlsverify" + "--machine-idle-nodes 0" + "--machine-idle-scale-factor 0.0" + "--machine-idle-count-min 0" + "--machine-idle-time 900" + "--machine-max-builds 100" + "--machine-machine-driver hetzner" + "--machine-machine-name gitlabrunner-%s" + ] ++ (map (o: "--machine-machine-options=" + o) [ + "hetzner-image=debian-12" + "hetzner-server-type=cx11" + "hetzner-server-location=nbg1" + ]); + }; + }; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index 08aa561..f3fd495 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,10 +1,16 @@ +{ ... }@inputs: + final: prev: let - inherit (prev) callPackage; + inherit (prev) callPackage system; in { ariang = callPackage ./ariang { }; asterisk-sounds-de = callPackage ./asterisk/sounds-de.nix { }; + docker-machine-driver-hetzner = callPackage ./docker-machine-driver-hetzner { + inherit (inputs.gomod2nix.legacyPackages.${system}) buildGoApplication; + }; + docker-machine-gitlab = callPackage ./docker-machine-gitlab { }; fpvout = callPackage ./fpvout { }; mute-indicator = callPackage ./mute-indicator { }; pretix = callPackage ./pretix/pretix.nix { }; diff --git a/pkgs/docker-machine-driver-hetzner/default.nix b/pkgs/docker-machine-driver-hetzner/default.nix new file mode 100644 index 0000000..83cfd12 --- /dev/null +++ b/pkgs/docker-machine-driver-hetzner/default.nix @@ -0,0 +1,15 @@ +{ lib, stdenv, buildGoApplication, fetchFromGitHub }: + +buildGoApplication rec { + pname = "docker-machine-driver-hetzner"; + version = "5.0.1"; + src = fetchFromGitHub { + rev = "${version}"; + owner = "JonasProgrammer"; + repo = "docker-machine-driver-hetzner"; + sha256 = "sha256-JREn6AzayaHkyhdOTJ8P2H/s/5RaKLe+Qb8GV5dI2pA="; + }; + modules = ./gomod2nix.toml; + #nativeBuildInputs = [ pkg-config ]; + #buildInputs = [ ]; +} diff --git a/pkgs/docker-machine-driver-hetzner/gomod2nix.toml b/pkgs/docker-machine-driver-hetzner/gomod2nix.toml new file mode 100644 index 0000000..d38264c --- /dev/null +++ b/pkgs/docker-machine-driver-hetzner/gomod2nix.toml @@ -0,0 +1,73 @@ +schema = 3 + +[mod] + [mod."github.com/Azure/go-ansiterm"] + version = "v0.0.0-20230124172434-306776ec8161" + hash = "sha256-17hCoOE3HBv6cjpcukfBS6/ULgTuoUZ7RNbi5korH2M=" + [mod."github.com/beorn7/perks"] + version = "v1.0.1" + hash = "sha256-h75GUqfwJKngCJQVE5Ao5wnO3cfKD9lSIteoLp/3xJ4=" + [mod."github.com/cespare/xxhash/v2"] + version = "v2.2.0" + hash = "sha256-nPufwYQfTkyrEkbBrpqM3C2vnMxfIz6tAaBmiUP7vd4=" + [mod."github.com/codegangsta/cli"] + version = "v1.22.12" + hash = "sha256-FTdBlhQvyDhgrDcSJDxgSLS/cBSP8B1BC/AxGA9Lyss=" + replaced = "github.com/urfave/cli" + [mod."github.com/cpuguy83/go-md2man/v2"] + version = "v2.0.2" + hash = "sha256-OvWCtDsVrYzM84SMQwOXPLBxnWnMC1hDm+KiI6zm3uk=" + [mod."github.com/docker/docker"] + version = "v20.10.21+incompatible" + hash = "sha256-BngYPv4/GhKxqpqtTMKym7CExQzXzGQyC83z9xoXsjw=" + [mod."github.com/docker/machine"] + version = "v0.16.2" + hash = "sha256-DGr0g+SKtZB7Dkg2V9bGQqMD1rBT44A4dV7yeuXxrH0=" + [mod."github.com/golang/protobuf"] + version = "v1.5.3" + hash = "sha256-svogITcP4orUIsJFjMtp+Uv1+fKJv2Q5Zwf2dMqnpOQ=" + [mod."github.com/hetznercloud/hcloud-go/v2"] + version = "v2.2.0" + hash = "sha256-4sOfDyy/VP/LSoIm/ydtJKxKljtfLCC7ZzgWh9NPuAc=" + [mod."github.com/matttproud/golang_protobuf_extensions"] + version = "v1.0.4" + hash = "sha256-uovu7OycdeZ2oYQ7FhVxLey5ZX3T0FzShaRldndyGvc=" + [mod."github.com/moby/term"] + version = "v0.0.0-20221205130635-1aeaba878587" + hash = "sha256-wX2ftzjEHzltzN68CsYVXMiaLPNU7V2phVyyPKv3mn8=" + [mod."github.com/pkg/errors"] + version = "v0.9.1" + hash = "sha256-mNfQtcrQmu3sNg/7IwiieKWOgFQOVVe2yXgKBpe/wZw=" + [mod."github.com/prometheus/client_golang"] + version = "v1.16.0" + hash = "sha256-P/b4/8m1ztF0fCLSJ+eRXN74Bncx2vjOJx7nFl2QEg4=" + [mod."github.com/prometheus/client_model"] + version = "v0.3.0" + hash = "sha256-vP+miJfsoK5UG9eug8z/bhAMj3bwg66T2vIh8WHoOKU=" + [mod."github.com/prometheus/common"] + version = "v0.42.0" + hash = "sha256-dJqoPZKtY2umWFWwMeRYY9I2JaFlpcMX4atkEcN5+hs=" + [mod."github.com/prometheus/procfs"] + version = "v0.10.1" + hash = "sha256-EJ8q8wux4964WE4X7UkHb+MXjLhX4TROJaoLIQvD/eQ=" + [mod."github.com/russross/blackfriday/v2"] + version = "v2.1.0" + hash = "sha256-R+84l1si8az5yDqd5CYcFrTyNZ1eSYlpXKq6nFt4OTQ=" + [mod."golang.org/x/crypto"] + version = "v0.12.0" + hash = "sha256-Wes72EA9ICTG8o0nEYWZk9xjpqlniorFeY6o26GExns=" + [mod."golang.org/x/net"] + version = "v0.12.0" + hash = "sha256-zQZBj42+wLLxXwS/e+KNbu8+SukMDxxW23WSi5XQXAA=" + [mod."golang.org/x/sys"] + version = "v0.11.0" + hash = "sha256-g/LjhABK2c/u6v7M2aAIrHvZjmx/ikGHkef86775N38=" + [mod."golang.org/x/term"] + version = "v0.11.0" + hash = "sha256-muSv/d8Qpl+NXiOB01n6LeFEzC+hrlGviDdfu+6QdQ4=" + [mod."golang.org/x/text"] + version = "v0.12.0" + hash = "sha256-aNQaW3EgCK9ehpnBzIAkZX6TmiUU1S175YlJUH7P5Qg=" + [mod."google.golang.org/protobuf"] + version = "v1.30.0" + hash = "sha256-Y07NKhSuJQ2w7F7MAINQyBf+/hdMHOrxwA3B4ljQQKs=" diff --git a/pkgs/docker-machine-gitlab/default.nix b/pkgs/docker-machine-gitlab/default.nix new file mode 100644 index 0000000..48469ea --- /dev/null +++ b/pkgs/docker-machine-gitlab/default.nix @@ -0,0 +1,35 @@ +{ lib, buildGoPackage, fetchFromGitLab, installShellFiles, docker-machine-driver-hetzner, makeWrapper, openssh }: + +buildGoPackage rec { + pname = "docker-machine-gitlab"; + version = "0.16.2-gitlab.22"; + + goPackagePath = "github.com/docker/machine"; + + src = fetchFromGitLab { + rev = "v${version}"; + group = "gitlab-org"; + owner = "ci-cd"; + repo = "docker-machine"; + sha256 = "sha256-WYnaY/0FJzXDiECms1gGNR1jN4DUQ3s296KG9r1c2io="; + }; + + nativeBuildInputs = [ + docker-machine-driver-hetzner + installShellFiles + makeWrapper + openssh + ]; + + postInstall = '' + pushd go/src/${goPackagePath}/contrib/completion + installShellCompletion --bash bash/* + installShellCompletion --zsh zsh/* + popd + wrapProgram $out/bin/docker-machine \ + --prefix PATH : ${lib.makeBinPath [ + docker-machine-driver-hetzner + openssh + ]} + ''; +} diff --git a/pkgs/docker-machine-gitlab/deps.nix b/pkgs/docker-machine-gitlab/deps.nix new file mode 100644 index 0000000..85bb418 --- /dev/null +++ b/pkgs/docker-machine-gitlab/deps.nix @@ -0,0 +1,408 @@ +# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix) +[ + { + goPackagePath = "cloud.google.com/go"; + fetch = { + type = "git"; + url = "https://github.com/googleapis/google-cloud-go"; + rev = "5176ba42f92af23d3c0e7a0da2e196c311a956f0"; + sha256 = "0k8k03q95mhsxw3m9s1vfn8scw0c52sb9gnr5sjhrh0x49dg4snx"; + }; + } + { + goPackagePath = "github.com/Azure/azure-sdk-for-go"; + fetch = { + type = "git"; + url = "https://github.com/Azure/azure-sdk-for-go"; + rev = "91f3d4a4d024e3c0d4d9412916d05cf84504a616"; + sha256 = "1j79nrdbc1smh4s2gbh3hg7w3lffr997gjf65sd1w4vbnc78wzy0"; + }; + } + { + goPackagePath = "github.com/Azure/go-ansiterm"; + fetch = { + type = "git"; + url = "https://github.com/Azure/go-ansiterm"; + rev = "d6e3b3328b783f23731bc4d058875b0371ff8109"; + sha256 = "010khrkhkf9cxlvvb6ncqv4c1qcdmpbz9jn38g4fxf4xsma8xx1q"; + }; + } + { + goPackagePath = "github.com/Azure/go-autorest"; + fetch = { + type = "git"; + url = "https://github.com/Azure/go-autorest"; + rev = "0781901f19f1e7db3034d97ec57af753db0bf808"; + sha256 = "0gnp6ca5wcrr6cj6l0pvwq1jf6sbbx36agkm4m493cqrxkb4iyy8"; + }; + } + { + goPackagePath = "github.com/aws/aws-sdk-go"; + fetch = { + type = "git"; + url = "https://github.com/aws/aws-sdk-go"; + rev = "f259b6fac27528dd491fad0bc9621a0e5f77b900"; + sha256 = "0fmhq0x10c82sl0i2n6xilqva49f9ps0mg0zqyi4rf1qwhv4dg8p"; + }; + } + { + goPackagePath = "github.com/bugsnag/bugsnag-go"; + fetch = { + type = "git"; + url = "https://github.com/bugsnag/bugsnag-go"; + rev = "02e952891c52fbcb15f113d90633897355783b6e"; + sha256 = "0jrzmj17yilqbdw8fdhzp30jdjfq7q1x0d9v0ljkb0wvpnj1hjhg"; + }; + } + { + goPackagePath = "github.com/bugsnag/osext"; + fetch = { + type = "git"; + url = "https://github.com/bugsnag/osext"; + rev = "0dd3f918b21bec95ace9dc86c7e70266cfc5c702"; + sha256 = "02pczqml6p1mnfdrygm3rs02g0r65qx8v1bi3x24dx8wv9dr5y23"; + }; + } + { + goPackagePath = "github.com/bugsnag/panicwrap"; + fetch = { + type = "git"; + url = "https://github.com/bugsnag/panicwrap"; + rev = "aceac81c6e2f55f23844821679a0553b545e91df"; + sha256 = "1nwxpsjs3zp3kd089iaywiv39agh5lgaj5nvij716zsdi388g2mb"; + }; + } + { + goPackagePath = "github.com/cenkalti/backoff"; + fetch = { + type = "git"; + url = "https://github.com/cenkalti/backoff"; + rev = "9831e1e25c874e0a0601b6dc43641071414eec7a"; + sha256 = "0i2ykb3d0pvkna9xa4j1pha9nm13j5rwdxykcgxxs5g52dy0299b"; + }; + } + { + goPackagePath = "github.com/codegangsta/cli"; + fetch = { + type = "git"; + url = "https://github.com/codegangsta/cli"; + rev = "0302d3914d2a6ad61404584cdae6e6dbc9c03599"; + sha256 = "1nln4jbzfmkw9wlgv4wcvwjm4n6v75fyxza0lppx4xl1via81jqg"; + }; + } + { + goPackagePath = "github.com/davecgh/go-spew"; + fetch = { + type = "git"; + url = "https://github.com/davecgh/go-spew"; + rev = "5215b55f46b2b919f50a1df0eaa5886afe4e3b3d"; + sha256 = "15h9kl73rdbzlfmsdxp13jja5gs7sknvqkpq2qizq3qv3nr1x8dk"; + }; + } + { + goPackagePath = "github.com/dgrijalva/jwt-go"; + fetch = { + type = "git"; + url = "https://github.com/dgrijalva/jwt-go"; + rev = "24c63f56522a87ec5339cc3567883f1039378fdb"; + sha256 = "1xjb3cj9qa66dk6sfrlggfm4a66qirqrp4qds90xzjj5sx51j4zk"; + }; + } + { + goPackagePath = "github.com/digitalocean/godo"; + fetch = { + type = "git"; + url = "https://github.com/digitalocean/godo"; + rev = "d59ed2fe842bbb3cbee91c9df8bb7659dc9ee86f"; + sha256 = "1pp4pz5jgfyf7ms5s51gc748i2nfp5cavz9v5zkx6g7yq7sfhkmb"; + }; + } + { + goPackagePath = "github.com/docker/docker"; + fetch = { + type = "git"; + url = "https://github.com/docker/docker"; + rev = "093424bec097cdf51154255226cf999d6824633b"; + sha256 = "1kglkhrabsmvj0k5jsygahac2c1gc1srrb8qhpi5mjlrfh0zrq5h"; + }; + } + { + goPackagePath = "github.com/docker/go-units"; + fetch = { + type = "git"; + url = "https://github.com/docker/go-units"; + rev = "0bbddae09c5a5419a8c6dcdd7ff90da3d450393b"; + sha256 = "0z49jlz0jmsps7mpsl6f0yhb8kzg3darhkwkvgwf29g334627fix"; + }; + } + { + goPackagePath = "github.com/exoscale/egoscale"; + fetch = { + type = "git"; + url = "https://github.com/exoscale/egoscale"; + rev = "432a702ab7d709538572f9a2a42eaf0ca0691698"; + sha256 = "04gzpcp86vyyw7r0xnmh266gy2lzj0ymszzrz4i90w8q1n0liyqd"; + }; + } + { + goPackagePath = "github.com/golang/groupcache"; + fetch = { + type = "git"; + url = "https://github.com/golang/groupcache"; + rev = "8c9f03a8e57eb486e42badaed3fb287da51807ba"; + sha256 = "0vjjr79r32icjzlb05wn02k59av7jx0rn1jijml8r4whlg7dnkfh"; + }; + } + { + goPackagePath = "github.com/golang/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/golang/protobuf"; + rev = "ae97035608a719c7a1c1c41bed0ae0744bdb0c6f"; + sha256 = "1mh5fyim42dn821nsd3afnmgscrzzhn3h8rag635d2jnr23r1zhk"; + }; + } + { + goPackagePath = "github.com/google/go-querystring"; + fetch = { + type = "git"; + url = "https://github.com/google/go-querystring"; + rev = "30f7a39f4a218feb5325f3aebc60c32a572a8274"; + sha256 = "1zl8gkriksbdqxn4ijphh79blzfxncjdl2yqxh2v8an9880d2c42"; + }; + } + { + goPackagePath = "github.com/googleapis/gax-go"; + fetch = { + type = "git"; + url = "https://github.com/googleapis/gax-go"; + rev = "bd5b16380fd03dc758d11cef74ba2e3bc8b0e8c2"; + sha256 = "1lxawwngv6miaqd25s3ba0didfzylbwisd2nz7r4gmbmin6jsjrx"; + }; + } + { + goPackagePath = "github.com/intel-go/cpuid"; + fetch = { + type = "git"; + url = "https://github.com/intel-go/cpuid"; + rev = "1a4a6f06a1c643c8fbd339bd61d980960627d09e"; + sha256 = "124i9l1i4ja3k1jq1pac6ric6z5q0n32gdbc252ix33l678lhsw8"; + }; + } + { + goPackagePath = "github.com/jinzhu/copier"; + fetch = { + type = "git"; + url = "https://github.com/jinzhu/copier"; + rev = "7e38e58719c33e0d44d585c4ab477a30f8cb82dd"; + sha256 = "03i7cz8aj42g0kp89myd0hdgzicyk0abfjxa7wcnpx5vlk6x0z0p"; + }; + } + { + goPackagePath = "github.com/jmespath/go-jmespath"; + fetch = { + type = "git"; + url = "https://github.com/jmespath/go-jmespath"; + rev = "c2b33e84"; + sha256 = "1r6w7ydx8ydryxk3sfhzsk8m6f1nsik9jg3i1zhi69v4kfl4d5cz"; + }; + } + { + goPackagePath = "github.com/mitchellh/mapstructure"; + fetch = { + type = "git"; + url = "https://github.com/mitchellh/mapstructure"; + rev = "740c764bc6149d3f1806231418adb9f52c11bcbf"; + sha256 = "0rlz93rmz465nr0wmzvq1n58yc0qdw7v1chr6zmj9jj9pix0a7cb"; + }; + } + { + goPackagePath = "github.com/pmezard/go-difflib"; + fetch = { + type = "git"; + url = "https://github.com/pmezard/go-difflib"; + rev = "792786c7400a136282c1664665ae0a8db921c6c2"; + sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw"; + }; + } + { + goPackagePath = "github.com/rackspace/gophercloud"; + fetch = { + type = "git"; + url = "https://github.com/rackspace/gophercloud"; + rev = "ce0f487f6747ab43c4e4404722df25349385bebd"; + sha256 = "1zr88fcinvlwb3ybimqnxd8fr7c076irp88cvkylm67kv3vfjm4x"; + }; + } + { + goPackagePath = "github.com/samalba/dockerclient"; + fetch = { + type = "git"; + url = "https://github.com/samalba/dockerclient"; + rev = "f661dd4754aa5c52da85d04b5871ee0e11f4b59c"; + sha256 = "0l8nklsnr45h9ng9la3hhrq7qhxqp9yma0fpppc1i5zg8r56rziv"; + }; + } + { + goPackagePath = "github.com/sirupsen/logrus"; + fetch = { + type = "git"; + url = "https://github.com/sirupsen/logrus"; + rev = "d682213848ed68c0a260ca37d6dd5ace8423f5ba"; + sha256 = "0nzyqwzx3k7nqfq8q7yv32gaf3ymq3bpwhkmw1hj2zakq5a93d8x"; + }; + } + { + goPackagePath = "github.com/skarademir/naturalsort"; + fetch = { + type = "git"; + url = "https://github.com/skarademir/naturalsort"; + rev = "69a5d87bef620f77ee8508db30c846b3b84b111e"; + sha256 = "00ibyghnqakbylwxfrlg9jfzgbsm5n73s5fsgr1rmsgdbyv4r5fj"; + }; + } + { + goPackagePath = "github.com/stretchr/objx"; + fetch = { + type = "git"; + url = "https://github.com/stretchr/objx"; + rev = "1a9d0bb9f541897e62256577b352fdbc1fb4fd94"; + sha256 = "1n027ksls1rn1ja98kd0cd2kv1vwlzsl0d7xnh3yqf451vh0md50"; + }; + } + { + goPackagePath = "github.com/stretchr/testify"; + fetch = { + type = "git"; + url = "https://github.com/stretchr/testify"; + rev = "1f4a1643a57e798696635ea4c126e9127adb7d3c"; + sha256 = "0nam9d68rn8ha8ldif22kkgv6k6ph3y88fp26159wdrs63ca3bzl"; + }; + } + { + goPackagePath = "github.com/tent/http-link-go"; + fetch = { + type = "git"; + url = "https://github.com/tent/http-link-go"; + rev = "ac974c61c2f990f4115b119354b5e0b47550e888"; + sha256 = "1fph21b6vp4cm73fkkykffggi57m656x9fd1k369fr6jbvq5fffj"; + }; + } + { + goPackagePath = "github.com/vmware/govcloudair"; + fetch = { + type = "git"; + url = "https://github.com/vmware/govcloudair"; + rev = "66a23eaabc61518f91769939ff541886fe1dceef"; + sha256 = "0795k85j56kh35i94bjjk47bic4nmghnnkyh8cpjvpc1y09vf8zv"; + }; + } + { + goPackagePath = "github.com/vmware/govmomi"; + fetch = { + type = "git"; + url = "https://github.com/vmware/govmomi"; + rev = "9051bd6b44125d9472e0c148b5965692ab283d4a"; + sha256 = "0d8vsm6481746j3r446q5wgppnv2kvq522sd9896xvy32avxsrw3"; + }; + } + { + goPackagePath = "go.opencensus.io"; + fetch = { + type = "git"; + url = "https://github.com/census-instrumentation/opencensus-go"; + rev = "49838f207d61097fc0ebb8aeef306913388376ca"; + sha256 = "0gw4f7inf8y2ik00yfb36xganiq9rl4w2d1a41bsjqsh83ajz2km"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "51714a8c4ac1764f07ab4127d7f739351ced4759"; + sha256 = "1x1qj8lbf9034yw1m2hmlc2yp7lz4x3i45ky41ydpzpd0h8dfqnx"; + }; + } + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "c8897c278d1087bda543ec7041384fcedc5e4036"; + sha256 = "0k52czlamank3nfzg47kxhj93gh1pyw8bhiwk29y2839xlvhpz9i"; + }; + } + { + goPackagePath = "golang.org/x/oauth2"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/oauth2"; + rev = "22b0adad7558c54bf49787666d8773cae1dd3e77"; + sha256 = "0vr8x9xk75qy1fgaw77dlgml0kp3llbig4c8cmyhydpd888gw2wr"; + }; + } + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "49726bf1d181babaebde545fbf1353be26485fb0"; + sha256 = "1n1vmfz8alfa4chg4qppiybmnqqcrcrs3w3agbrjxmw02aj1csnj"; + }; + } + { + goPackagePath = "golang.org/x/text"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/text"; + rev = "75a595aef632b07c6eeaaa805adb6f0f66e4130e"; + sha256 = "082s9d7wnh1aa2v08g3h5z4if2f8hl4y01pb788qsvab9329lj0w"; + }; + } + { + goPackagePath = "google.golang.org/api"; + fetch = { + type = "git"; + url = "https://github.com/googleapis/google-api-go-client"; + rev = "7fd7a5fcdd3f78a6c49556a5358164cb1405bd51"; + sha256 = "0vs0bnzljg5iib8x01sy49ndgsz3cl1sq53pvy3h6kzp7may0bpc"; + }; + } + { + goPackagePath = "google.golang.org/appengine"; + fetch = { + type = "git"; + url = "https://github.com/golang/appengine"; + rev = "6a436539be38c296a8075a871cc536686b458371"; + sha256 = "0fgxfpfb4mla89yk45rgpsmdkbjnb7ck8dkwc24x879bhpz545kh"; + }; + } + { + goPackagePath = "google.golang.org/genproto"; + fetch = { + type = "git"; + url = "https://github.com/googleapis/go-genproto"; + rev = "ab064af717059515c07699f55ae1133bf9cc7dcc"; + sha256 = "04wjhd8h9xvr3pkcdh7dqq4kz66lgk3dbzqilsm8612ic40xkf43"; + }; + } + { + goPackagePath = "google.golang.org/grpc"; + fetch = { + type = "git"; + url = "https://github.com/grpc/grpc-go"; + rev = "f74f0337644653eba7923908a4d7f79a4f3a267b"; + sha256 = "1m4xsfv3ysc84cwqxqqr61fs3d2w04f0q5xbdjijhczjixcxwh5i"; + }; + } + { + goPackagePath = "google.golang.org/protobuf"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/protobuf"; + rev = "3f7a61f89bb6813f89d981d1870ed68da0b3c3f1"; + sha256 = "0apfl42x166dh96zfq5kvv4b4ax9xljik6bq1mnvn2240ir3mc23"; + }; + } +] From 462a50c1207634e188d5a65b825933dafb216a20 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 16 Oct 2023 07:02:37 +0000 Subject: [PATCH 051/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/bd1cde45c77891214131cbbea5b1203e485a9d51' (2023-10-11) → 'github:nixos/nixpkgs/898cb2064b6e98b8c5499f37e81adbdf2925f7c5' (2023-10-13) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/a97d85ff06c5d91b594cace882fdf1b241086345' (2023-10-13) → 'github:NixOS/nixpkgs/fb8d36459a4310d51471461123aa7798c15b7dde' (2023-10-16) • Updated input 'nur': 'github:nix-community/NUR/1076bf182a065b1a037caaaa9edee751148582e3' (2023-10-13) → 'github:nix-community/NUR/72bd87326ff38e5c8e76d73681af56b8255ddace' (2023-10-16) • Updated input 'sops-nix': 'github:Mic92/sops-nix/f995ea159252a53b25fa99824f2891e3b479d511' (2023-10-11) → 'github:Mic92/sops-nix/51186b8012068c417dac7c31fb12861726577898' (2023-10-15) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/2f3b6b3fcd9fa0a4e6b544180c058a70890a7cc1' (2023-10-07) → 'github:NixOS/nixpkgs/0e1cff585c1a85aeab059d3109f66134a8f76935' (2023-10-15) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 4d4308f..1dfee68 100644 --- a/flake.lock +++ b/flake.lock @@ -181,11 +181,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1696717752, - "narHash": "sha256-qEq1styCyQHSrw7AOhskH2qwCFx93bOwsGEzUIrZC0g=", + "lastModified": 1697332183, + "narHash": "sha256-ACYvYsgLETfEI2xM1jjp8ZLVNGGC0onoCGe+69VJGGE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2f3b6b3fcd9fa0a4e6b544180c058a70890a7cc1", + "rev": "0e1cff585c1a85aeab059d3109f66134a8f76935", "type": "github" }, "original": { @@ -197,11 +197,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1697189906, - "narHash": "sha256-6Vlh9DdTdzoMDFyHoGqUxf3fV57Ej84e3Reh8+ds32o=", + "lastModified": 1697439614, + "narHash": "sha256-sCK6SkvatgFHOs3aLUnOVzx2h5AokxxRvdd/V7RZy4w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a97d85ff06c5d91b594cace882fdf1b241086345", + "rev": "fb8d36459a4310d51471461123aa7798c15b7dde", "type": "github" }, "original": { @@ -213,11 +213,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1696983906, - "narHash": "sha256-L7GyeErguS7Pg4h8nK0wGlcUTbfUMDu+HMf1UcyP72k=", + "lastModified": 1697226376, + "narHash": "sha256-cumLLb1QOUtWieUnLGqo+ylNt3+fU8Lcv5Zl+tYbRUE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bd1cde45c77891214131cbbea5b1203e485a9d51", + "rev": "898cb2064b6e98b8c5499f37e81adbdf2925f7c5", "type": "github" }, "original": { @@ -229,11 +229,11 @@ }, "nur": { "locked": { - "lastModified": 1697187908, - "narHash": "sha256-p8OQDLQURdsJ/7l8PyZwE0jaPDinLceSTmEY+nmlP7Y=", + "lastModified": 1697436932, + "narHash": "sha256-GEPUc3eL5BH6WOgikjXBfG8cKlqOFgNiL46xfF353RM=", "owner": "nix-community", "repo": "NUR", - "rev": "1076bf182a065b1a037caaaa9edee751148582e3", + "rev": "72bd87326ff38e5c8e76d73681af56b8255ddace", "type": "github" }, "original": { @@ -263,11 +263,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1697064251, - "narHash": "sha256-xxp2sB+4vqB6S6zC/L5J8LlRKgVbgIZOcYl9/TDrEzI=", + "lastModified": 1697339241, + "narHash": "sha256-ITsFtEtRbCBeEH9XrES1dxZBkE1fyNNUfIyQjQ2AYQs=", "owner": "Mic92", "repo": "sops-nix", - "rev": "f995ea159252a53b25fa99824f2891e3b479d511", + "rev": "51186b8012068c417dac7c31fb12861726577898", "type": "github" }, "original": { From 4ee194be6ccb4ccfff6ad8c42ef3468f86b37487 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 18 Oct 2023 14:01:45 +0000 Subject: [PATCH 052/766] Print advertised DNS servers on vpn connection --- home-manager/users/jal.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home-manager/users/jal.nix b/home-manager/users/jal.nix index 6cedf41..3d294c7 100644 --- a/home-manager/users/jal.nix +++ b/home-manager/users/jal.nix @@ -17,6 +17,8 @@ let vpnc-script = pkgs.writeShellScript "vpnc-script-tb" '' cisco_split_inc="$CISCO_SPLIT_INC" export CISCO_SPLIT_INC=0 + + echo "DNS server sent by vpn: $INTERNAL_IP4_DNS" unset INTERNAL_IP4_DNS route_in_whitelist() { From ba7f7f099c25e8afb806182e5f73c810ba37b2a5 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 18 Oct 2023 14:14:03 +0000 Subject: [PATCH 053/766] Add secondary DNS server --- home-manager/users/jal.nix | 2 +- hosts/hafnium/configuration.nix | 22 ++++++++++++++-------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/home-manager/users/jal.nix b/home-manager/users/jal.nix index 3d294c7..180427c 100644 --- a/home-manager/users/jal.nix +++ b/home-manager/users/jal.nix @@ -12,7 +12,7 @@ let #"10.96.8.0/24" # Boomi #"10.96.10.0/24" # Boomi (new) "10.96.0.0/16" - "10.170.254.30/32" # core DNS resolver + "10.170.254.30/32" "10.170.254.40/32" # core DNS resolver ]; vpnc-script = pkgs.writeShellScript "vpnc-script-tb" '' cisco_split_inc="$CISCO_SPLIT_INC" diff --git a/hosts/hafnium/configuration.nix b/hosts/hafnium/configuration.nix index d8f7647..e521d81 100644 --- a/hosts/hafnium/configuration.nix +++ b/hosts/hafnium/configuration.nix @@ -1,5 +1,11 @@ { lib, config, pkgs, self, system, ... }: +let + tradebyteDnsServers = [ + "10.170.254.30" + "10.170.254.40" + ]; +in { imports = [ ./hardware-configuration.nix @@ -106,20 +112,20 @@ }; }; - services.dnsmasq.settings.server = [ - "/vpce-0de71527ea27288f3-9op2d61c-eu-central-1b.s3.eu-central-1.vpce.amazonaws.com/10.170.254.30" - "/vpce-0de71527ea27288f3-9op2d61c.s3.eu-central-1.vpce.amazonaws.com/10.170.254.30" - "/ccs.tradebyte.com/10.170.254.30" - "/corp.ad.zalando.net/10.160.19.100" - "/develop.sys.tradebyte.com/10.0.3.1" - "/instance.tradebyte.com/10.170.254.30" + services.dnsmasq.settings.server = lib.lists.flatten ( + map (domain: (map (srv: "/${domain}/${srv}") tradebyteDnsServers)) [ + "vpce-0c1c169d1e33a1c2f-yugtdam1.s3.eu-central-1.vpce.amazonaws.com" + "ccs.tradebyte.com" + "instance.tradebyte.com" + ]) ++ [ "/internal.production.core.tradebyte.com/10.158.224.2" "/internal.development.core.tradebyte.com/10.170.254.30" "/rds.amazonaws.com/9.9.9.9" "/tradebyte.com/9.9.9.9" "/tradebyte.org/9.9.9.9" + "/develop.sys.tradebyte.com/10.0.3.1" + "/corp.ad.zalando.net/10.160.19.100" ]; - services.actkbd = { enable = true; bindings = [ From 7fa79f7a747e0ec74df36d1517ebe511d7ca3ae1 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 18 Oct 2023 14:15:07 +0000 Subject: [PATCH 054/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/fb8d36459a4310d51471461123aa7798c15b7dde' (2023-10-16) → 'github:NixOS/nixpkgs/d26b6de226ec3248acdd930f7228f9bfd0f1e101' (2023-10-18) • Updated input 'nur': 'github:nix-community/NUR/72bd87326ff38e5c8e76d73681af56b8255ddace' (2023-10-16) → 'github:nix-community/NUR/bc8feb3239c1a4a896fd03ada155d1b8ee8ae38c' (2023-10-18) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 1dfee68..127169e 100644 --- a/flake.lock +++ b/flake.lock @@ -197,11 +197,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1697439614, - "narHash": "sha256-sCK6SkvatgFHOs3aLUnOVzx2h5AokxxRvdd/V7RZy4w=", + "lastModified": 1697636626, + "narHash": "sha256-6fOR861rPF/zo/f5+3XVa59TdnNbtF0YYsNE9LeEvuw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fb8d36459a4310d51471461123aa7798c15b7dde", + "rev": "d26b6de226ec3248acdd930f7228f9bfd0f1e101", "type": "github" }, "original": { @@ -229,11 +229,11 @@ }, "nur": { "locked": { - "lastModified": 1697436932, - "narHash": "sha256-GEPUc3eL5BH6WOgikjXBfG8cKlqOFgNiL46xfF353RM=", + "lastModified": 1697637981, + "narHash": "sha256-BReinxzdLksrjXkCZWqHZSEKd4/vWuNwgzmfjKprRxo=", "owner": "nix-community", "repo": "NUR", - "rev": "72bd87326ff38e5c8e76d73681af56b8255ddace", + "rev": "bc8feb3239c1a4a896fd03ada155d1b8ee8ae38c", "type": "github" }, "original": { From 4d014c55592b0d7bfdd4d5061f0e3106022c45a0 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 24 Oct 2023 20:12:11 +0000 Subject: [PATCH 055/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/42e1b6095ef80a51f79595d9951eb38e91c4e6ca' (2023-10-09) → 'github:cachix/pre-commit-hooks.nix/8cc349bfd082da8782b989cad2158c9ad5bd70fd' (2023-10-19) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/898cb2064b6e98b8c5499f37e81adbdf2925f7c5' (2023-10-13) → 'github:nixos/nixpkgs/5550a85a087c04ddcace7f892b0bdc9d8bb080c8' (2023-10-21) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/d26b6de226ec3248acdd930f7228f9bfd0f1e101' (2023-10-18) → 'github:NixOS/nixpkgs/955525b515f43c1f356ebaab40b0b794c67e0e48' (2023-10-24) • Updated input 'nur': 'github:nix-community/NUR/bc8feb3239c1a4a896fd03ada155d1b8ee8ae38c' (2023-10-18) → 'github:nix-community/NUR/c4231705e51c32a83297ebb7bc88da0e87fe4ba5' (2023-10-24) • Updated input 'sops-nix': 'github:Mic92/sops-nix/51186b8012068c417dac7c31fb12861726577898' (2023-10-15) → 'github:Mic92/sops-nix/30a0ba4a20703b4bfe047fe5def1fc24978e322c' (2023-10-22) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/0e1cff585c1a85aeab059d3109f66134a8f76935' (2023-10-15) → 'github:NixOS/nixpkgs/fb000224952bf7749a9e8b3779104ef7ea4465c8' (2023-10-21) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 127169e..e75e9b0 100644 --- a/flake.lock +++ b/flake.lock @@ -133,11 +133,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1696846637, - "narHash": "sha256-0hv4kbXxci2+pxhuXlVgftj/Jq79VSmtAyvfabCCtYk=", + "lastModified": 1697746376, + "narHash": "sha256-gu77VkgdfaHgNCVufeb6WP9oqFLjwK4jHcoPZmBVF3E=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "42e1b6095ef80a51f79595d9951eb38e91c4e6ca", + "rev": "8cc349bfd082da8782b989cad2158c9ad5bd70fd", "type": "github" }, "original": { @@ -181,11 +181,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1697332183, - "narHash": "sha256-ACYvYsgLETfEI2xM1jjp8ZLVNGGC0onoCGe+69VJGGE=", + "lastModified": 1697929210, + "narHash": "sha256-RkQZif6QhswEwv7484mrKfIU8XmIWm+ED6llbr4IyxM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0e1cff585c1a85aeab059d3109f66134a8f76935", + "rev": "fb000224952bf7749a9e8b3779104ef7ea4465c8", "type": "github" }, "original": { @@ -197,11 +197,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1697636626, - "narHash": "sha256-6fOR861rPF/zo/f5+3XVa59TdnNbtF0YYsNE9LeEvuw=", + "lastModified": 1698178197, + "narHash": "sha256-1/X3YW444tGIKyTXGYPaRwYDxZrU/KuRbYgIKJSUt+o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d26b6de226ec3248acdd930f7228f9bfd0f1e101", + "rev": "955525b515f43c1f356ebaab40b0b794c67e0e48", "type": "github" }, "original": { @@ -213,11 +213,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1697226376, - "narHash": "sha256-cumLLb1QOUtWieUnLGqo+ylNt3+fU8Lcv5Zl+tYbRUE=", + "lastModified": 1697851979, + "narHash": "sha256-lJ8k4qkkwdvi+t/Xc6Fn74kUuobpu9ynPGxNZR6OwoA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "898cb2064b6e98b8c5499f37e81adbdf2925f7c5", + "rev": "5550a85a087c04ddcace7f892b0bdc9d8bb080c8", "type": "github" }, "original": { @@ -229,11 +229,11 @@ }, "nur": { "locked": { - "lastModified": 1697637981, - "narHash": "sha256-BReinxzdLksrjXkCZWqHZSEKd4/vWuNwgzmfjKprRxo=", + "lastModified": 1698176069, + "narHash": "sha256-rjncD+8c3znRZDOB6hugRwMingBHvIz2jtTFCSiMkSk=", "owner": "nix-community", "repo": "NUR", - "rev": "bc8feb3239c1a4a896fd03ada155d1b8ee8ae38c", + "rev": "c4231705e51c32a83297ebb7bc88da0e87fe4ba5", "type": "github" }, "original": { @@ -263,11 +263,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1697339241, - "narHash": "sha256-ITsFtEtRbCBeEH9XrES1dxZBkE1fyNNUfIyQjQ2AYQs=", + "lastModified": 1697943852, + "narHash": "sha256-DaBxUPaZhQ3yLCmAATshYB7qo7NwcMvSFWz9T3bjYYY=", "owner": "Mic92", "repo": "sops-nix", - "rev": "51186b8012068c417dac7c31fb12861726577898", + "rev": "30a0ba4a20703b4bfe047fe5def1fc24978e322c", "type": "github" }, "original": { From 342bdb607c463a8c2f15a8b8f448823dd1a85262 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 29 Oct 2023 10:53:57 +0000 Subject: [PATCH 056/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/8cc349bfd082da8782b989cad2158c9ad5bd70fd' (2023-10-19) → 'github:cachix/pre-commit-hooks.nix/bd38df3d508dfcdff52cd243d297f218ed2257bf' (2023-10-25) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/5550a85a087c04ddcace7f892b0bdc9d8bb080c8' (2023-10-21) → 'github:nixos/nixpkgs/60b9db998f71ea49e1a9c41824d09aa274be1344' (2023-10-26) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/955525b515f43c1f356ebaab40b0b794c67e0e48' (2023-10-24) → 'github:NixOS/nixpkgs/71ef7ea8fe2aff7c21cf2e7ec7283a4276a2f366' (2023-10-29) • Updated input 'nur': 'github:nix-community/NUR/c4231705e51c32a83297ebb7bc88da0e87fe4ba5' (2023-10-24) → 'github:nix-community/NUR/4364937d33ca6b79cd8b66fdf4ee1758ff279e62' (2023-10-29) • Updated input 'sops-nix': 'github:Mic92/sops-nix/30a0ba4a20703b4bfe047fe5def1fc24978e322c' (2023-10-22) → 'github:Mic92/sops-nix/632c3161a6cc24142c8e3f5529f5d81042571165' (2023-10-29) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/fb000224952bf7749a9e8b3779104ef7ea4465c8' (2023-10-21) → 'github:NixOS/nixpkgs/d87c5d8c41c9b3b39592563242f3a448b5cc4bc9' (2023-10-29) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index e75e9b0..c071779 100644 --- a/flake.lock +++ b/flake.lock @@ -133,11 +133,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1697746376, - "narHash": "sha256-gu77VkgdfaHgNCVufeb6WP9oqFLjwK4jHcoPZmBVF3E=", + "lastModified": 1698227354, + "narHash": "sha256-Fi5H9jbaQLmLw9qBi/mkR33CoFjNbobo5xWdX4tKz1Q=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "8cc349bfd082da8782b989cad2158c9ad5bd70fd", + "rev": "bd38df3d508dfcdff52cd243d297f218ed2257bf", "type": "github" }, "original": { @@ -181,11 +181,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1697929210, - "narHash": "sha256-RkQZif6QhswEwv7484mrKfIU8XmIWm+ED6llbr4IyxM=", + "lastModified": 1698544399, + "narHash": "sha256-vhRmPyEyoPkrXF2iykBsWHA05MIaOSmMRLMF7Hul6+s=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fb000224952bf7749a9e8b3779104ef7ea4465c8", + "rev": "d87c5d8c41c9b3b39592563242f3a448b5cc4bc9", "type": "github" }, "original": { @@ -197,11 +197,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1698178197, - "narHash": "sha256-1/X3YW444tGIKyTXGYPaRwYDxZrU/KuRbYgIKJSUt+o=", + "lastModified": 1698575487, + "narHash": "sha256-msK5JH24pZZ705PSnvZmFXr9JXUrxPylq9fDC6jnApA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "955525b515f43c1f356ebaab40b0b794c67e0e48", + "rev": "71ef7ea8fe2aff7c21cf2e7ec7283a4276a2f366", "type": "github" }, "original": { @@ -213,11 +213,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1697851979, - "narHash": "sha256-lJ8k4qkkwdvi+t/Xc6Fn74kUuobpu9ynPGxNZR6OwoA=", + "lastModified": 1698288402, + "narHash": "sha256-jIIjApPdm+4yt8PglX8pUOexAdEiAax/DXW3S/Mb21E=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5550a85a087c04ddcace7f892b0bdc9d8bb080c8", + "rev": "60b9db998f71ea49e1a9c41824d09aa274be1344", "type": "github" }, "original": { @@ -229,11 +229,11 @@ }, "nur": { "locked": { - "lastModified": 1698176069, - "narHash": "sha256-rjncD+8c3znRZDOB6hugRwMingBHvIz2jtTFCSiMkSk=", + "lastModified": 1698576302, + "narHash": "sha256-1NYfEphk3EXgEt+iDJG1qpsdCRe35BQLNLvVoVe29HM=", "owner": "nix-community", "repo": "NUR", - "rev": "c4231705e51c32a83297ebb7bc88da0e87fe4ba5", + "rev": "4364937d33ca6b79cd8b66fdf4ee1758ff279e62", "type": "github" }, "original": { @@ -263,11 +263,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1697943852, - "narHash": "sha256-DaBxUPaZhQ3yLCmAATshYB7qo7NwcMvSFWz9T3bjYYY=", + "lastModified": 1698548647, + "narHash": "sha256-7c03OjBGqnwDW0FBaBc+NjfEBxMkza+dxZGJPyIzfFE=", "owner": "Mic92", "repo": "sops-nix", - "rev": "30a0ba4a20703b4bfe047fe5def1fc24978e322c", + "rev": "632c3161a6cc24142c8e3f5529f5d81042571165", "type": "github" }, "original": { From 2955cf4996ed76646cadc1bad99a75ad8463ec0c Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 29 Oct 2023 11:23:10 +0000 Subject: [PATCH 057/766] Update pretix version Bump pretix version from 2023.8.0 to 2023.9.0 --- pkgs/pretix/poetry.lock | 777 +++++++++++++++++----------------- pkgs/pretix/pretix-static.nix | 2 +- pkgs/pretix/pyproject.toml | 2 +- 3 files changed, 395 insertions(+), 386 deletions(-) diff --git a/pkgs/pretix/poetry.lock b/pkgs/pretix/poetry.lock index 5f85404..adc5c52 100644 --- a/pkgs/pretix/poetry.lock +++ b/pkgs/pretix/poetry.lock @@ -2,99 +2,99 @@ [[package]] name = "aiohttp" -version = "3.8.5" +version = "3.8.6" description = "Async http client/server framework (asyncio)" category = "main" optional = false python-versions = ">=3.6" files = [ - {file = "aiohttp-3.8.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a94159871304770da4dd371f4291b20cac04e8c94f11bdea1c3478e557fbe0d8"}, - {file = "aiohttp-3.8.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:13bf85afc99ce6f9ee3567b04501f18f9f8dbbb2ea11ed1a2e079670403a7c84"}, - {file = "aiohttp-3.8.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2ce2ac5708501afc4847221a521f7e4b245abf5178cf5ddae9d5b3856ddb2f3a"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96943e5dcc37a6529d18766597c491798b7eb7a61d48878611298afc1fca946c"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ad5c3c4590bb3cc28b4382f031f3783f25ec223557124c68754a2231d989e2b"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c413c633d0512df4dc7fd2373ec06cc6a815b7b6d6c2f208ada7e9e93a5061d"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df72ac063b97837a80d80dec8d54c241af059cc9bb42c4de68bd5b61ceb37caa"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c48c5c0271149cfe467c0ff8eb941279fd6e3f65c9a388c984e0e6cf57538e14"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:368a42363c4d70ab52c2c6420a57f190ed3dfaca6a1b19afda8165ee16416a82"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7607ec3ce4993464368505888af5beb446845a014bc676d349efec0e05085905"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:0d21c684808288a98914e5aaf2a7c6a3179d4df11d249799c32d1808e79503b5"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:312fcfbacc7880a8da0ae8b6abc6cc7d752e9caa0051a53d217a650b25e9a691"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ad093e823df03bb3fd37e7dec9d4670c34f9e24aeace76808fc20a507cace825"}, - {file = "aiohttp-3.8.5-cp310-cp310-win32.whl", hash = "sha256:33279701c04351a2914e1100b62b2a7fdb9a25995c4a104259f9a5ead7ed4802"}, - {file = "aiohttp-3.8.5-cp310-cp310-win_amd64.whl", hash = "sha256:6e4a280e4b975a2e7745573e3fc9c9ba0d1194a3738ce1cbaa80626cc9b4f4df"}, - {file = "aiohttp-3.8.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ae871a964e1987a943d83d6709d20ec6103ca1eaf52f7e0d36ee1b5bebb8b9b9"}, - {file = "aiohttp-3.8.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:461908b2578955045efde733719d62f2b649c404189a09a632d245b445c9c975"}, - {file = "aiohttp-3.8.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:72a860c215e26192379f57cae5ab12b168b75db8271f111019509a1196dfc780"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc14be025665dba6202b6a71cfcdb53210cc498e50068bc088076624471f8bb9"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8af740fc2711ad85f1a5c034a435782fbd5b5f8314c9a3ef071424a8158d7f6b"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:841cd8233cbd2111a0ef0a522ce016357c5e3aff8a8ce92bcfa14cef890d698f"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ed1c46fb119f1b59304b5ec89f834f07124cd23ae5b74288e364477641060ff"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84f8ae3e09a34f35c18fa57f015cc394bd1389bce02503fb30c394d04ee6b938"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:62360cb771707cb70a6fd114b9871d20d7dd2163a0feafe43fd115cfe4fe845e"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:23fb25a9f0a1ca1f24c0a371523546366bb642397c94ab45ad3aedf2941cec6a"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b0ba0d15164eae3d878260d4c4df859bbdc6466e9e6689c344a13334f988bb53"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5d20003b635fc6ae3f96d7260281dfaf1894fc3aa24d1888a9b2628e97c241e5"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0175d745d9e85c40dcc51c8f88c74bfbaef9e7afeeeb9d03c37977270303064c"}, - {file = "aiohttp-3.8.5-cp311-cp311-win32.whl", hash = "sha256:2e1b1e51b0774408f091d268648e3d57f7260c1682e7d3a63cb00d22d71bb945"}, - {file = "aiohttp-3.8.5-cp311-cp311-win_amd64.whl", hash = "sha256:043d2299f6dfdc92f0ac5e995dfc56668e1587cea7f9aa9d8a78a1b6554e5755"}, - {file = "aiohttp-3.8.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cae533195e8122584ec87531d6df000ad07737eaa3c81209e85c928854d2195c"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f21e83f355643c345177a5d1d8079f9f28b5133bcd154193b799d380331d5d3"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a7a75ef35f2df54ad55dbf4b73fe1da96f370e51b10c91f08b19603c64004acc"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e2e9839e14dd5308ee773c97115f1e0a1cb1d75cbeeee9f33824fa5144c7634"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c44e65da1de4403d0576473e2344828ef9c4c6244d65cf4b75549bb46d40b8dd"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:78d847e4cde6ecc19125ccbc9bfac4a7ab37c234dd88fbb3c5c524e8e14da543"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:c7a815258e5895d8900aec4454f38dca9aed71085f227537208057853f9d13f2"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:8b929b9bd7cd7c3939f8bcfffa92fae7480bd1aa425279d51a89327d600c704d"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:5db3a5b833764280ed7618393832e0853e40f3d3e9aa128ac0ba0f8278d08649"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:a0215ce6041d501f3155dc219712bc41252d0ab76474615b9700d63d4d9292af"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:fd1ed388ea7fbed22c4968dd64bab0198de60750a25fe8c0c9d4bef5abe13824"}, - {file = "aiohttp-3.8.5-cp36-cp36m-win32.whl", hash = "sha256:6e6783bcc45f397fdebc118d772103d751b54cddf5b60fbcc958382d7dd64f3e"}, - {file = "aiohttp-3.8.5-cp36-cp36m-win_amd64.whl", hash = "sha256:b5411d82cddd212644cf9360879eb5080f0d5f7d809d03262c50dad02f01421a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:01d4c0c874aa4ddfb8098e85d10b5e875a70adc63db91f1ae65a4b04d3344cda"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5980a746d547a6ba173fd5ee85ce9077e72d118758db05d229044b469d9029a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2a482e6da906d5e6e653be079b29bc173a48e381600161c9932d89dfae5942ef"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80bd372b8d0715c66c974cf57fe363621a02f359f1ec81cba97366948c7fc873"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1161b345c0a444ebcf46bf0a740ba5dcf50612fd3d0528883fdc0eff578006a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd56db019015b6acfaaf92e1ac40eb8434847d9bf88b4be4efe5bfd260aee692"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:153c2549f6c004d2754cc60603d4668899c9895b8a89397444a9c4efa282aaf4"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4a01951fabc4ce26ab791da5f3f24dca6d9a6f24121746eb19756416ff2d881b"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bfb9162dcf01f615462b995a516ba03e769de0789de1cadc0f916265c257e5d8"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:7dde0009408969a43b04c16cbbe252c4f5ef4574ac226bc8815cd7342d2028b6"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4149d34c32f9638f38f544b3977a4c24052042affa895352d3636fa8bffd030a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-win32.whl", hash = "sha256:68c5a82c8779bdfc6367c967a4a1b2aa52cd3595388bf5961a62158ee8a59e22"}, - {file = "aiohttp-3.8.5-cp37-cp37m-win_amd64.whl", hash = "sha256:2cf57fb50be5f52bda004b8893e63b48530ed9f0d6c96c84620dc92fe3cd9b9d"}, - {file = "aiohttp-3.8.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:eca4bf3734c541dc4f374ad6010a68ff6c6748f00451707f39857f429ca36ced"}, - {file = "aiohttp-3.8.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1274477e4c71ce8cfe6c1ec2f806d57c015ebf84d83373676036e256bc55d690"}, - {file = "aiohttp-3.8.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:28c543e54710d6158fc6f439296c7865b29e0b616629767e685a7185fab4a6b9"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:910bec0c49637d213f5d9877105d26e0c4a4de2f8b1b29405ff37e9fc0ad52b8"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5443910d662db951b2e58eb70b0fbe6b6e2ae613477129a5805d0b66c54b6cb7"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e460be6978fc24e3df83193dc0cc4de46c9909ed92dd47d349a452ef49325b7"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb1558def481d84f03b45888473fc5a1f35747b5f334ef4e7a571bc0dfcb11f8"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34dd0c107799dcbbf7d48b53be761a013c0adf5571bf50c4ecad5643fe9cfcd0"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:aa1990247f02a54185dc0dff92a6904521172a22664c863a03ff64c42f9b5410"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0e584a10f204a617d71d359fe383406305a4b595b333721fa50b867b4a0a1548"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:a3cf433f127efa43fee6b90ea4c6edf6c4a17109d1d037d1a52abec84d8f2e42"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:c11f5b099adafb18e65c2c997d57108b5bbeaa9eeee64a84302c0978b1ec948b"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:84de26ddf621d7ac4c975dbea4c945860e08cccde492269db4e1538a6a6f3c35"}, - {file = "aiohttp-3.8.5-cp38-cp38-win32.whl", hash = "sha256:ab88bafedc57dd0aab55fa728ea10c1911f7e4d8b43e1d838a1739f33712921c"}, - {file = "aiohttp-3.8.5-cp38-cp38-win_amd64.whl", hash = "sha256:5798a9aad1879f626589f3df0f8b79b3608a92e9beab10e5fda02c8a2c60db2e"}, - {file = "aiohttp-3.8.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a6ce61195c6a19c785df04e71a4537e29eaa2c50fe745b732aa937c0c77169f3"}, - {file = "aiohttp-3.8.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:773dd01706d4db536335fcfae6ea2440a70ceb03dd3e7378f3e815b03c97ab51"}, - {file = "aiohttp-3.8.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f83a552443a526ea38d064588613aca983d0ee0038801bc93c0c916428310c28"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f7372f7341fcc16f57b2caded43e81ddd18df53320b6f9f042acad41f8e049a"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea353162f249c8097ea63c2169dd1aa55de1e8fecbe63412a9bc50816e87b761"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5d47ae48db0b2dcf70bc8a3bc72b3de86e2a590fc299fdbbb15af320d2659de"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d827176898a2b0b09694fbd1088c7a31836d1a505c243811c87ae53a3f6273c1"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3562b06567c06439d8b447037bb655ef69786c590b1de86c7ab81efe1c9c15d8"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4e874cbf8caf8959d2adf572a78bba17cb0e9d7e51bb83d86a3697b686a0ab4d"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6809a00deaf3810e38c628e9a33271892f815b853605a936e2e9e5129762356c"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:33776e945d89b29251b33a7e7d006ce86447b2cfd66db5e5ded4e5cd0340585c"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:eaeed7abfb5d64c539e2db173f63631455f1196c37d9d8d873fc316470dfbacd"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e91d635961bec2d8f19dfeb41a539eb94bd073f075ca6dae6c8dc0ee89ad6f91"}, - {file = "aiohttp-3.8.5-cp39-cp39-win32.whl", hash = "sha256:00ad4b6f185ec67f3e6562e8a1d2b69660be43070bd0ef6fcec5211154c7df67"}, - {file = "aiohttp-3.8.5-cp39-cp39-win_amd64.whl", hash = "sha256:c0a9034379a37ae42dea7ac1e048352d96286626251862e448933c0f59cbd79c"}, - {file = "aiohttp-3.8.5.tar.gz", hash = "sha256:b9552ec52cc147dbf1944ac7ac98af7602e51ea2dcd076ed194ca3c0d1c7d0bc"}, + {file = "aiohttp-3.8.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:41d55fc043954cddbbd82503d9cc3f4814a40bcef30b3569bc7b5e34130718c1"}, + {file = "aiohttp-3.8.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1d84166673694841d8953f0a8d0c90e1087739d24632fe86b1a08819168b4566"}, + {file = "aiohttp-3.8.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:253bf92b744b3170eb4c4ca2fa58f9c4b87aeb1df42f71d4e78815e6e8b73c9e"}, + {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3fd194939b1f764d6bb05490987bfe104287bbf51b8d862261ccf66f48fb4096"}, + {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c5f938d199a6fdbdc10bbb9447496561c3a9a565b43be564648d81e1102ac22"}, + {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2817b2f66ca82ee699acd90e05c95e79bbf1dc986abb62b61ec8aaf851e81c93"}, + {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0fa375b3d34e71ccccf172cab401cd94a72de7a8cc01847a7b3386204093bb47"}, + {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9de50a199b7710fa2904be5a4a9b51af587ab24c8e540a7243ab737b45844543"}, + {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e1d8cb0b56b3587c5c01de3bf2f600f186da7e7b5f7353d1bf26a8ddca57f965"}, + {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8e31e9db1bee8b4f407b77fd2507337a0a80665ad7b6c749d08df595d88f1cf5"}, + {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:7bc88fc494b1f0311d67f29fee6fd636606f4697e8cc793a2d912ac5b19aa38d"}, + {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:ec00c3305788e04bf6d29d42e504560e159ccaf0be30c09203b468a6c1ccd3b2"}, + {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ad1407db8f2f49329729564f71685557157bfa42b48f4b93e53721a16eb813ed"}, + {file = "aiohttp-3.8.6-cp310-cp310-win32.whl", hash = "sha256:ccc360e87341ad47c777f5723f68adbb52b37ab450c8bc3ca9ca1f3e849e5fe2"}, + {file = "aiohttp-3.8.6-cp310-cp310-win_amd64.whl", hash = "sha256:93c15c8e48e5e7b89d5cb4613479d144fda8344e2d886cf694fd36db4cc86865"}, + {file = "aiohttp-3.8.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6e2f9cc8e5328f829f6e1fb74a0a3a939b14e67e80832975e01929e320386b34"}, + {file = "aiohttp-3.8.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e6a00ffcc173e765e200ceefb06399ba09c06db97f401f920513a10c803604ca"}, + {file = "aiohttp-3.8.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:41bdc2ba359032e36c0e9de5a3bd00d6fb7ea558a6ce6b70acedf0da86458321"}, + {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14cd52ccf40006c7a6cd34a0f8663734e5363fd981807173faf3a017e202fec9"}, + {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2d5b785c792802e7b275c420d84f3397668e9d49ab1cb52bd916b3b3ffcf09ad"}, + {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1bed815f3dc3d915c5c1e556c397c8667826fbc1b935d95b0ad680787896a358"}, + {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96603a562b546632441926cd1293cfcb5b69f0b4159e6077f7c7dbdfb686af4d"}, + {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d76e8b13161a202d14c9584590c4df4d068c9567c99506497bdd67eaedf36403"}, + {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e3f1e3f1a1751bb62b4a1b7f4e435afcdade6c17a4fd9b9d43607cebd242924a"}, + {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:76b36b3124f0223903609944a3c8bf28a599b2cc0ce0be60b45211c8e9be97f8"}, + {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:a2ece4af1f3c967a4390c284797ab595a9f1bc1130ef8b01828915a05a6ae684"}, + {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:16d330b3b9db87c3883e565340d292638a878236418b23cc8b9b11a054aaa887"}, + {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:42c89579f82e49db436b69c938ab3e1559e5a4409eb8639eb4143989bc390f2f"}, + {file = "aiohttp-3.8.6-cp311-cp311-win32.whl", hash = "sha256:efd2fcf7e7b9d7ab16e6b7d54205beded0a9c8566cb30f09c1abe42b4e22bdcb"}, + {file = "aiohttp-3.8.6-cp311-cp311-win_amd64.whl", hash = "sha256:3b2ab182fc28e7a81f6c70bfbd829045d9480063f5ab06f6e601a3eddbbd49a0"}, + {file = "aiohttp-3.8.6-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:fdee8405931b0615220e5ddf8cd7edd8592c606a8e4ca2a00704883c396e4479"}, + {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d25036d161c4fe2225d1abff2bd52c34ed0b1099f02c208cd34d8c05729882f0"}, + {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d791245a894be071d5ab04bbb4850534261a7d4fd363b094a7b9963e8cdbd31"}, + {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0cccd1de239afa866e4ce5c789b3032442f19c261c7d8a01183fd956b1935349"}, + {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f13f60d78224f0dace220d8ab4ef1dbc37115eeeab8c06804fec11bec2bbd07"}, + {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a9b5a0606faca4f6cc0d338359d6fa137104c337f489cd135bb7fbdbccb1e39"}, + {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:13da35c9ceb847732bf5c6c5781dcf4780e14392e5d3b3c689f6d22f8e15ae31"}, + {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:4d4cbe4ffa9d05f46a28252efc5941e0462792930caa370a6efaf491f412bc66"}, + {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:229852e147f44da0241954fc6cb910ba074e597f06789c867cb7fb0621e0ba7a"}, + {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:713103a8bdde61d13490adf47171a1039fd880113981e55401a0f7b42c37d071"}, + {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:45ad816b2c8e3b60b510f30dbd37fe74fd4a772248a52bb021f6fd65dff809b6"}, + {file = "aiohttp-3.8.6-cp36-cp36m-win32.whl", hash = "sha256:2b8d4e166e600dcfbff51919c7a3789ff6ca8b3ecce16e1d9c96d95dd569eb4c"}, + {file = "aiohttp-3.8.6-cp36-cp36m-win_amd64.whl", hash = "sha256:0912ed87fee967940aacc5306d3aa8ba3a459fcd12add0b407081fbefc931e53"}, + {file = "aiohttp-3.8.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e2a988a0c673c2e12084f5e6ba3392d76c75ddb8ebc6c7e9ead68248101cd446"}, + {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebf3fd9f141700b510d4b190094db0ce37ac6361a6806c153c161dc6c041ccda"}, + {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3161ce82ab85acd267c8f4b14aa226047a6bee1e4e6adb74b798bd42c6ae1f80"}, + {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d95fc1bf33a9a81469aa760617b5971331cdd74370d1214f0b3109272c0e1e3c"}, + {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c43ecfef7deaf0617cee936836518e7424ee12cb709883f2c9a1adda63cc460"}, + {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca80e1b90a05a4f476547f904992ae81eda5c2c85c66ee4195bb8f9c5fb47f28"}, + {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:90c72ebb7cb3a08a7f40061079817133f502a160561d0675b0a6adf231382c92"}, + {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:bb54c54510e47a8c7c8e63454a6acc817519337b2b78606c4e840871a3e15349"}, + {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:de6a1c9f6803b90e20869e6b99c2c18cef5cc691363954c93cb9adeb26d9f3ae"}, + {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:a3628b6c7b880b181a3ae0a0683698513874df63783fd89de99b7b7539e3e8a8"}, + {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:fc37e9aef10a696a5a4474802930079ccfc14d9f9c10b4662169671ff034b7df"}, + {file = "aiohttp-3.8.6-cp37-cp37m-win32.whl", hash = "sha256:f8ef51e459eb2ad8e7a66c1d6440c808485840ad55ecc3cafefadea47d1b1ba2"}, + {file = "aiohttp-3.8.6-cp37-cp37m-win_amd64.whl", hash = "sha256:b2fe42e523be344124c6c8ef32a011444e869dc5f883c591ed87f84339de5976"}, + {file = "aiohttp-3.8.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:9e2ee0ac5a1f5c7dd3197de309adfb99ac4617ff02b0603fd1e65b07dc772e4b"}, + {file = "aiohttp-3.8.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:01770d8c04bd8db568abb636c1fdd4f7140b284b8b3e0b4584f070180c1e5c62"}, + {file = "aiohttp-3.8.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3c68330a59506254b556b99a91857428cab98b2f84061260a67865f7f52899f5"}, + {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89341b2c19fb5eac30c341133ae2cc3544d40d9b1892749cdd25892bbc6ac951"}, + {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71783b0b6455ac8f34b5ec99d83e686892c50498d5d00b8e56d47f41b38fbe04"}, + {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f628dbf3c91e12f4d6c8b3f092069567d8eb17814aebba3d7d60c149391aee3a"}, + {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b04691bc6601ef47c88f0255043df6f570ada1a9ebef99c34bd0b72866c217ae"}, + {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ee912f7e78287516df155f69da575a0ba33b02dd7c1d6614dbc9463f43066e3"}, + {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9c19b26acdd08dd239e0d3669a3dddafd600902e37881f13fbd8a53943079dbc"}, + {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:99c5ac4ad492b4a19fc132306cd57075c28446ec2ed970973bbf036bcda1bcc6"}, + {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:f0f03211fd14a6a0aed2997d4b1c013d49fb7b50eeb9ffdf5e51f23cfe2c77fa"}, + {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:8d399dade330c53b4106160f75f55407e9ae7505263ea86f2ccca6bfcbdb4921"}, + {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ec4fd86658c6a8964d75426517dc01cbf840bbf32d055ce64a9e63a40fd7b771"}, + {file = "aiohttp-3.8.6-cp38-cp38-win32.whl", hash = "sha256:33164093be11fcef3ce2571a0dccd9041c9a93fa3bde86569d7b03120d276c6f"}, + {file = "aiohttp-3.8.6-cp38-cp38-win_amd64.whl", hash = "sha256:bdf70bfe5a1414ba9afb9d49f0c912dc524cf60141102f3a11143ba3d291870f"}, + {file = "aiohttp-3.8.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d52d5dc7c6682b720280f9d9db41d36ebe4791622c842e258c9206232251ab2b"}, + {file = "aiohttp-3.8.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4ac39027011414dbd3d87f7edb31680e1f430834c8cef029f11c66dad0670aa5"}, + {file = "aiohttp-3.8.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3f5c7ce535a1d2429a634310e308fb7d718905487257060e5d4598e29dc17f0b"}, + {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b30e963f9e0d52c28f284d554a9469af073030030cef8693106d918b2ca92f54"}, + {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:918810ef188f84152af6b938254911055a72e0f935b5fbc4c1a4ed0b0584aed1"}, + {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:002f23e6ea8d3dd8d149e569fd580c999232b5fbc601c48d55398fbc2e582e8c"}, + {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4fcf3eabd3fd1a5e6092d1242295fa37d0354b2eb2077e6eb670accad78e40e1"}, + {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:255ba9d6d5ff1a382bb9a578cd563605aa69bec845680e21c44afc2670607a95"}, + {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d67f8baed00870aa390ea2590798766256f31dc5ed3ecc737debb6e97e2ede78"}, + {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:86f20cee0f0a317c76573b627b954c412ea766d6ada1a9fcf1b805763ae7feeb"}, + {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:39a312d0e991690ccc1a61f1e9e42daa519dcc34ad03eb6f826d94c1190190dd"}, + {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:e827d48cf802de06d9c935088c2924e3c7e7533377d66b6f31ed175c1620e05e"}, + {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bd111d7fc5591ddf377a408ed9067045259ff2770f37e2d94e6478d0f3fc0c17"}, + {file = "aiohttp-3.8.6-cp39-cp39-win32.whl", hash = "sha256:caf486ac1e689dda3502567eb89ffe02876546599bbf915ec94b1fa424eeffd4"}, + {file = "aiohttp-3.8.6-cp39-cp39-win_amd64.whl", hash = "sha256:3f0e27e5b733803333bb2371249f41cf42bae8884863e8e8965ec69bebe53132"}, + {file = "aiohttp-3.8.6.tar.gz", hash = "sha256:b0cf2a4501bff9330a8a5248b4ce951851e415bdcce9dc158e76cfd55e15085c"}, ] [package.dependencies] @@ -205,16 +205,19 @@ tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pyte [[package]] name = "babel" -version = "2.13.0" +version = "2.13.1" description = "Internationalization utilities" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "Babel-2.13.0-py3-none-any.whl", hash = "sha256:fbfcae1575ff78e26c7449136f1abbefc3c13ce542eeb13d43d50d8b047216ec"}, - {file = "Babel-2.13.0.tar.gz", hash = "sha256:04c3e2d28d2b7681644508f836be388ae49e0cfe91465095340395b60d00f210"}, + {file = "Babel-2.13.1-py3-none-any.whl", hash = "sha256:7077a4984b02b6727ac10f1f7294484f737443d7e2e66c5e4380e41a3ae0b4ed"}, + {file = "Babel-2.13.1.tar.gz", hash = "sha256:33e0952d7dd6374af8dbf6768cc4ddf3ccfefc244f9986d4074704f2fbd18900"}, ] +[package.dependencies] +setuptools = {version = "*", markers = "python_version >= \"3.12\""} + [package.extras] dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] @@ -271,53 +274,55 @@ dev = ["Sphinx (==4.3.2)", "black (==22.3.0)", "build (==0.8.0)", "flake8 (==4.0 [[package]] name = "cbor2" -version = "5.4.6" +version = "5.5.0" description = "CBOR (de)serializer with extensive tag support" category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "cbor2-5.4.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:309fffbb7f561d67f02095d4b9657b73c9220558701c997e9bfcfbca2696e927"}, - {file = "cbor2-5.4.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ff95b33e5482313a74648ca3620c9328e9f30ecfa034df040b828e476597d352"}, - {file = "cbor2-5.4.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:db9eb582fce972f0fa429d8159b7891ff8deccb7affc4995090afc61ce0d328a"}, - {file = "cbor2-5.4.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3950be57a1698086cf26d8710b4e5a637b65133c5b1f9eec23967d4089d8cfed"}, - {file = "cbor2-5.4.6-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:78304df140b9e13b93bcbb2aecee64c9aaa9f1cadbd45f043b5e7b93cc2f21a2"}, - {file = "cbor2-5.4.6-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e73ca40dd3c7210ff776acff9869ddc9ff67bae7c425b58e5715dcf55275163f"}, - {file = "cbor2-5.4.6-cp310-cp310-win_amd64.whl", hash = "sha256:0b956f19e93ba3180c336282cd1b6665631f2d3a196a9c19b29a833bf979e7a4"}, - {file = "cbor2-5.4.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1c12c0ab78f5bc290b08a79152a8621822415836a86f8f4b50dadba371736fda"}, - {file = "cbor2-5.4.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3545b16f9f0d5f34d4c99052829c3726020a07be34c99c250d0df87418f02954"}, - {file = "cbor2-5.4.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:24144822f8d2b0156f4cda9427f071f969c18683ffed39663dc86bc0a75ae4dd"}, - {file = "cbor2-5.4.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1835536e76ea16e88c934aac5e369ba9f93d495b01e5fa2d93f0b4986b89146d"}, - {file = "cbor2-5.4.6-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:39452c799453f5bf33281ffc0752c620b8bfa0b7c13070b87d370257a1311976"}, - {file = "cbor2-5.4.6-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3316f09a77af85e7772ecfdd693b0f450678a60b1aee641bac319289757e3fa0"}, - {file = "cbor2-5.4.6-cp311-cp311-win_amd64.whl", hash = "sha256:456cdff668a50a52fdb8aa6d0742511e43ed46d6a5b463dba80a5a720fa0d320"}, - {file = "cbor2-5.4.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:9394ca49ecdf0957924e45d09a4026482d184a465a047f60c4044eb464c43de9"}, - {file = "cbor2-5.4.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56dfa030cd3d67e5b6701d3067923f2f61536a8ffb1b45be14775d1e866b59ae"}, - {file = "cbor2-5.4.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e5094562dfe3e5583202b93ef7ca5082c2ba5571accb2c4412d27b7d0ba8a563"}, - {file = "cbor2-5.4.6-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:94f844d0e232aca061a86dd6ff191e47ba0389ddd34acb784ad9a41594dc99a4"}, - {file = "cbor2-5.4.6-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:7bbd3470eb685325398023e335be896b74f61b014896604ed45049a7b7b6d8ac"}, - {file = "cbor2-5.4.6-cp37-cp37m-win_amd64.whl", hash = "sha256:0bd12c54a48949d11f5ffc2fa27f5df1b4754111f5207453e5fae3512ebb3cab"}, - {file = "cbor2-5.4.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d2984a488f350aee1d54fa9cb8c6a3c1f1f5b268abbc91161e47185de4d829f3"}, - {file = "cbor2-5.4.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c285a2cb2c04004bfead93df89d92a0cef1874ad337d0cb5ea53c2c31e97bfdb"}, - {file = "cbor2-5.4.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6709d97695205cd08255363b54afa035306d5302b7b5e38308c8ff5a47e60f2a"}, - {file = "cbor2-5.4.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96087fa5336ebfc94465c0768cd5de0fcf9af3840d2cf0ce32f5767855f1a293"}, - {file = "cbor2-5.4.6-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0d2b926b024d3a1549b819bc82fdc387062bbd977b0299dd5fa5e0ea3267b98b"}, - {file = "cbor2-5.4.6-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6e1b5aee920b6a2f737aa12e2b54de3826b09f885a7ce402db84216343368140"}, - {file = "cbor2-5.4.6-cp38-cp38-win_amd64.whl", hash = "sha256:79e048e623846d60d735bb350263e8fdd36cb6195d7f1a2b57eacd573d9c0b33"}, - {file = "cbor2-5.4.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:80ac8ba450c7a41c5afe5f7e503d3092442ed75393e1de162b0bf0d97edf7c7f"}, - {file = "cbor2-5.4.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4ce1a2c272ba8523a55ea2f1d66e3464e89fa0e37c9a3d786a919fe64e68dbd7"}, - {file = "cbor2-5.4.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1618d16e310f7ffed141762b0ff5d8bb6b53ad449406115cc465bf04213cefcf"}, - {file = "cbor2-5.4.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4bbbdb2e3ef274865dc3f279aae109b5d94f4654aea3c72c479fb37e4a1e7ed7"}, - {file = "cbor2-5.4.6-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6f9c702bee2954fffdfa3de95a5af1a6b1c5f155e39490353d5654d83bb05bb9"}, - {file = "cbor2-5.4.6-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4b9f3924da0e460a93b3674c7e71020dd6c9e9f17400a34e52a88c0af2dcd2aa"}, - {file = "cbor2-5.4.6-cp39-cp39-win_amd64.whl", hash = "sha256:d54bd840b4fe34f097b8665fc0692c7dd175349e53976be6c5de4433b970daa4"}, - {file = "cbor2-5.4.6-py3-none-any.whl", hash = "sha256:181ac494091d1f9c5bb373cd85514ce1eb967a8cf3ec298e8dfa8878aa823956"}, - {file = "cbor2-5.4.6.tar.gz", hash = "sha256:b893500db0fe033e570c3adc956af6eefc57e280026bd2d86fd53da9f1e594d7"}, + {file = "cbor2-5.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1ea9f9ede6b99d9283ddca8aa0114b163fc5f3e7e0bfb20b2c1231ccffe6dfa2"}, + {file = "cbor2-5.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7ed4c8e78cb37ac471499e368cf6e61606b9be6b314e8fd26a2140b1485e7713"}, + {file = "cbor2-5.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9bbc1caf81dda3e0596ab60a9705b72c243c61d42e2f6054c32f68ce24ee7069"}, + {file = "cbor2-5.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b0372dcc81c1a2659713b81f6eaa2664889d298e35f46739b45d579aa1f0324"}, + {file = "cbor2-5.5.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:319d73c7fb22fc27f5f76cca6d22dd5dc924da5e907667421276e4857eb03e97"}, + {file = "cbor2-5.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c7547022c4ab2ba21240a93382f6ee758d9afbb7660625ea82b6fe004de7c344"}, + {file = "cbor2-5.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:3e5b411e483aa4132f59a49549db4862ec6cec8faea5aede796de79e450ca058"}, + {file = "cbor2-5.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e4ef724e6f2b18f1d75a4dc6c136a900ba31928cf96a0a57e8d422fe1d36dc73"}, + {file = "cbor2-5.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6b3e99ad82b4f106e5fcdb270503b040f68c07fce2425a650ec17dafd2e818d0"}, + {file = "cbor2-5.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a48f9e69b8749178340c03933a549eecd0c427df2931f91f3c6d50268980f3c3"}, + {file = "cbor2-5.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0eeb081fdcfd82320ac1d15821ffa8740e91269ac16350ecb81e7c2af532657a"}, + {file = "cbor2-5.5.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:165506e8ad17da248dc519bd3b416aa436ac6d4b0b3b6df413e0cd0e99ebdca6"}, + {file = "cbor2-5.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:56975266e45bc02fe4ed33d4aaa54a755df9d9c52af5b07f3561c257cc71666f"}, + {file = "cbor2-5.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:b1123fd77c6cd34ebc9c96e9739fc65bf9dea4a935733ac106ceff78cd101500"}, + {file = "cbor2-5.5.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:817b951d4454854836deefd968c3b48168ea61bd45aa43985097a641ad64e019"}, + {file = "cbor2-5.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7a0a6abb60c2ee9d2cddbfc8a5964144b7d39ca9fc00fdaf1fde6a36b148fb1c"}, + {file = "cbor2-5.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:98283f372a443e8bd74eb12f609200427a65bc2079bdb53b5b8d290d0e414205"}, + {file = "cbor2-5.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ee5c56a3348747803e88242c170d71a8b37da04d02690298cfc6deb3c835610"}, + {file = "cbor2-5.5.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9911a502a507ee275addbd2b9585767c4b3769b906d76fbdac7f4a6fd0e70cd3"}, + {file = "cbor2-5.5.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5bef8ade50940d7cee2083020685068426c3553f416ff1321ee8b7bc6d3dbb0c"}, + {file = "cbor2-5.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:4da17036611bf8809bc5b20fce6e37ab1e792bca6ada713f9ce84cdef66c6c82"}, + {file = "cbor2-5.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9ccbdcc14056a246b71b2274e6e8d842a54b667c16ad6bf74f889f722b82499b"}, + {file = "cbor2-5.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:dfa2dd19efe994a67b9ffa33cc20ccdaa6b8e8fd5848a4c13701bdbaec86eff1"}, + {file = "cbor2-5.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ae3c8b8fba719fc2c10591ab881ea1642130ecac321d17e195ace5766918c646"}, + {file = "cbor2-5.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:779e2de091ab022fcfc3d2a32489344268e067b852b884ecabfa84a678a7fba0"}, + {file = "cbor2-5.5.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a73b2902f2deac8033d2571025a8430345e0de4326312dd5040a5187f6825fe7"}, + {file = "cbor2-5.5.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2cf21356d1dd9d13ab9997b4134c21d132b85dd6e778f5d602cdc3310cc946e9"}, + {file = "cbor2-5.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:162a4511fda3b71d9257a3356645d162e8e3b707b9fffe052237ee0b933651bc"}, + {file = "cbor2-5.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:16e217cbfc8bf47dfdcd7e4d570efee785cda187150d9b7ab7cfc8202d87fa5f"}, + {file = "cbor2-5.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:44453c1d3289ccd508f43f1cce876a2800659c32ffe4732d6e75f1dc7b6a1efa"}, + {file = "cbor2-5.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4832ab39e037a084ea180d2f8bc746fff84a35bb419ec40edfe6b0e69cad3fed"}, + {file = "cbor2-5.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf50d4961180f0780c185e10a813f9115fd4e8275d65ab767450adbcdf94517a"}, + {file = "cbor2-5.5.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:30798f1c9e65db40e4b323bb34bae2106f10663792864558a470b455776b4439"}, + {file = "cbor2-5.5.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:de98295ef3db971548e44c1c7e745f450778bcbbbf9fff3d1fb4265094a57ce5"}, + {file = "cbor2-5.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:ba1b0f546f47ccd0f55605b8102ca66d4c19dcae42ab6d6a4d2d75526aac5282"}, + {file = "cbor2-5.5.0-py3-none-any.whl", hash = "sha256:d478ef30fa559cdc819c2c9c78e5b20bd69e570c29e1070c537abe28a03c87b8"}, + {file = "cbor2-5.5.0.tar.gz", hash = "sha256:380a427faed0202236dccca6b1dc0491f35c0598bdb6cac983616f6106127bd7"}, ] [package.extras] -doc = ["sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] -test = ["pytest", "pytest-cov"] +benchmarks = ["pytest-benchmark (==4.0.0)"] +doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme (>=1.3.0)", "typing-extensions"] +test = ["coverage (>=7)", "hypothesis", "pytest"] [[package]] name = "celery" @@ -466,102 +471,102 @@ files = [ [[package]] name = "charset-normalizer" -version = "3.3.0" +version = "3.3.1" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." category = "main" optional = false python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-3.3.0.tar.gz", hash = "sha256:63563193aec44bce707e0c5ca64ff69fa72ed7cf34ce6e11d5127555756fd2f6"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:effe5406c9bd748a871dbcaf3ac69167c38d72db8c9baf3ff954c344f31c4cbe"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4162918ef3098851fcd8a628bf9b6a98d10c380725df9e04caf5ca6dd48c847a"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0570d21da019941634a531444364f2482e8db0b3425fcd5ac0c36565a64142c8"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5707a746c6083a3a74b46b3a631d78d129edab06195a92a8ece755aac25a3f3d"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:278c296c6f96fa686d74eb449ea1697f3c03dc28b75f873b65b5201806346a69"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a4b71f4d1765639372a3b32d2638197f5cd5221b19531f9245fcc9ee62d38f56"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5969baeaea61c97efa706b9b107dcba02784b1601c74ac84f2a532ea079403e"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a3f93dab657839dfa61025056606600a11d0b696d79386f974e459a3fbc568ec"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:db756e48f9c5c607b5e33dd36b1d5872d0422e960145b08ab0ec7fd420e9d649"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:232ac332403e37e4a03d209a3f92ed9071f7d3dbda70e2a5e9cff1c4ba9f0678"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e5c1502d4ace69a179305abb3f0bb6141cbe4714bc9b31d427329a95acfc8bdd"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:2502dd2a736c879c0f0d3e2161e74d9907231e25d35794584b1ca5284e43f596"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23e8565ab7ff33218530bc817922fae827420f143479b753104ab801145b1d5b"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-win32.whl", hash = "sha256:1872d01ac8c618a8da634e232f24793883d6e456a66593135aeafe3784b0848d"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:557b21a44ceac6c6b9773bc65aa1b4cc3e248a5ad2f5b914b91579a32e22204d"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d7eff0f27edc5afa9e405f7165f85a6d782d308f3b6b9d96016c010597958e63"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a685067d05e46641d5d1623d7c7fdf15a357546cbb2f71b0ebde91b175ffc3e"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0d3d5b7db9ed8a2b11a774db2bbea7ba1884430a205dbd54a32d61d7c2a190fa"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2935ffc78db9645cb2086c2f8f4cfd23d9b73cc0dc80334bc30aac6f03f68f8c"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fe359b2e3a7729010060fbca442ca225280c16e923b37db0e955ac2a2b72a05"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:380c4bde80bce25c6e4f77b19386f5ec9db230df9f2f2ac1e5ad7af2caa70459"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0d1e3732768fecb052d90d62b220af62ead5748ac51ef61e7b32c266cac9293"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1b2919306936ac6efb3aed1fbf81039f7087ddadb3160882a57ee2ff74fd2382"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f8888e31e3a85943743f8fc15e71536bda1c81d5aa36d014a3c0c44481d7db6e"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:82eb849f085624f6a607538ee7b83a6d8126df6d2f7d3b319cb837b289123078"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7b8b8bf1189b3ba9b8de5c8db4d541b406611a71a955bbbd7385bbc45fcb786c"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5adf257bd58c1b8632046bbe43ee38c04e1038e9d37de9c57a94d6bd6ce5da34"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c350354efb159b8767a6244c166f66e67506e06c8924ed74669b2c70bc8735b1"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-win32.whl", hash = "sha256:02af06682e3590ab952599fbadac535ede5d60d78848e555aa58d0c0abbde786"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:86d1f65ac145e2c9ed71d8ffb1905e9bba3a91ae29ba55b4c46ae6fc31d7c0d4"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:3b447982ad46348c02cb90d230b75ac34e9886273df3a93eec0539308a6296d7"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:abf0d9f45ea5fb95051c8bfe43cb40cda383772f7e5023a83cc481ca2604d74e"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b09719a17a2301178fac4470d54b1680b18a5048b481cb8890e1ef820cb80455"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b3d9b48ee6e3967b7901c052b670c7dda6deb812c309439adaffdec55c6d7b78"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:edfe077ab09442d4ef3c52cb1f9dab89bff02f4524afc0acf2d46be17dc479f5"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3debd1150027933210c2fc321527c2299118aa929c2f5a0a80ab6953e3bd1908"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86f63face3a527284f7bb8a9d4f78988e3c06823f7bea2bd6f0e0e9298ca0403"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:24817cb02cbef7cd499f7c9a2735286b4782bd47a5b3516a0e84c50eab44b98e"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c71f16da1ed8949774ef79f4a0260d28b83b3a50c6576f8f4f0288d109777989"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:9cf3126b85822c4e53aa28c7ec9869b924d6fcfb76e77a45c44b83d91afd74f9"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:b3b2316b25644b23b54a6f6401074cebcecd1244c0b8e80111c9a3f1c8e83d65"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:03680bb39035fbcffe828eae9c3f8afc0428c91d38e7d61aa992ef7a59fb120e"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4cc152c5dd831641e995764f9f0b6589519f6f5123258ccaca8c6d34572fefa8"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-win32.whl", hash = "sha256:b8f3307af845803fb0b060ab76cf6dd3a13adc15b6b451f54281d25911eb92df"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:8eaf82f0eccd1505cf39a45a6bd0a8cf1c70dcfc30dba338207a969d91b965c0"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dc45229747b67ffc441b3de2f3ae5e62877a282ea828a5bdb67883c4ee4a8810"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f4a0033ce9a76e391542c182f0d48d084855b5fcba5010f707c8e8c34663d77"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ada214c6fa40f8d800e575de6b91a40d0548139e5dc457d2ebb61470abf50186"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b1121de0e9d6e6ca08289583d7491e7fcb18a439305b34a30b20d8215922d43c"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1063da2c85b95f2d1a430f1c33b55c9c17ffaf5e612e10aeaad641c55a9e2b9d"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70f1d09c0d7748b73290b29219e854b3207aea922f839437870d8cc2168e31cc"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:250c9eb0f4600361dd80d46112213dff2286231d92d3e52af1e5a6083d10cad9"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:750b446b2ffce1739e8578576092179160f6d26bd5e23eb1789c4d64d5af7dc7"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:fc52b79d83a3fe3a360902d3f5d79073a993597d48114c29485e9431092905d8"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:588245972aca710b5b68802c8cad9edaa98589b1b42ad2b53accd6910dad3545"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e39c7eb31e3f5b1f88caff88bcff1b7f8334975b46f6ac6e9fc725d829bc35d4"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-win32.whl", hash = "sha256:abecce40dfebbfa6abf8e324e1860092eeca6f7375c8c4e655a8afb61af58f2c"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:24a91a981f185721542a0b7c92e9054b7ab4fea0508a795846bc5b0abf8118d4"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:67b8cc9574bb518ec76dc8e705d4c39ae78bb96237cb533edac149352c1f39fe"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ac71b2977fb90c35d41c9453116e283fac47bb9096ad917b8819ca8b943abecd"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3ae38d325b512f63f8da31f826e6cb6c367336f95e418137286ba362925c877e"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:542da1178c1c6af8873e143910e2269add130a299c9106eef2594e15dae5e482"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:30a85aed0b864ac88309b7d94be09f6046c834ef60762a8833b660139cfbad13"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aae32c93e0f64469f74ccc730a7cb21c7610af3a775157e50bbd38f816536b38"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b26ddf78d57f1d143bdf32e820fd8935d36abe8a25eb9ec0b5a71c82eb3895"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7f5d10bae5d78e4551b7be7a9b29643a95aded9d0f602aa2ba584f0388e7a557"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:249c6470a2b60935bafd1d1d13cd613f8cd8388d53461c67397ee6a0f5dce741"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c5a74c359b2d47d26cdbbc7845e9662d6b08a1e915eb015d044729e92e7050b7"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:b5bcf60a228acae568e9911f410f9d9e0d43197d030ae5799e20dca8df588287"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:187d18082694a29005ba2944c882344b6748d5be69e3a89bf3cc9d878e548d5a"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:81bf654678e575403736b85ba3a7867e31c2c30a69bc57fe88e3ace52fb17b89"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-win32.whl", hash = "sha256:85a32721ddde63c9df9ebb0d2045b9691d9750cb139c161c80e500d210f5e26e"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:468d2a840567b13a590e67dd276c570f8de00ed767ecc611994c301d0f8c014f"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e0fc42822278451bc13a2e8626cf2218ba570f27856b536e00cfa53099724828"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:09c77f964f351a7369cc343911e0df63e762e42bac24cd7d18525961c81754f4"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:12ebea541c44fdc88ccb794a13fe861cc5e35d64ed689513a5c03d05b53b7c82"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:805dfea4ca10411a5296bcc75638017215a93ffb584c9e344731eef0dcfb026a"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:96c2b49eb6a72c0e4991d62406e365d87067ca14c1a729a870d22354e6f68115"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aaf7b34c5bc56b38c931a54f7952f1ff0ae77a2e82496583b247f7c969eb1479"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:619d1c96099be5823db34fe89e2582b336b5b074a7f47f819d6b3a57ff7bdb86"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a0ac5e7015a5920cfce654c06618ec40c33e12801711da6b4258af59a8eff00a"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:93aa7eef6ee71c629b51ef873991d6911b906d7312c6e8e99790c0f33c576f89"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7966951325782121e67c81299a031f4c115615e68046f79b85856b86ebffc4cd"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:02673e456dc5ab13659f85196c534dc596d4ef260e4d86e856c3b2773ce09843"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:c2af80fb58f0f24b3f3adcb9148e6203fa67dd3f61c4af146ecad033024dde43"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:153e7b6e724761741e0974fc4dcd406d35ba70b92bfe3fedcb497226c93b9da7"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-win32.whl", hash = "sha256:d47ecf253780c90ee181d4d871cd655a789da937454045b17b5798da9393901a"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:d97d85fa63f315a8bdaba2af9a6a686e0eceab77b3089af45133252618e70884"}, - {file = "charset_normalizer-3.3.0-py3-none-any.whl", hash = "sha256:e46cd37076971c1040fc8c41273a8b3e2c624ce4f2be3f5dfcb7a430c1d3acc2"}, + {file = "charset-normalizer-3.3.1.tar.gz", hash = "sha256:d9137a876020661972ca6eec0766d81aef8a5627df628b664b234b73396e727e"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8aee051c89e13565c6bd366813c386939f8e928af93c29fda4af86d25b73d8f8"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:352a88c3df0d1fa886562384b86f9a9e27563d4704ee0e9d56ec6fcd270ea690"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:223b4d54561c01048f657fa6ce41461d5ad8ff128b9678cfe8b2ecd951e3f8a2"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f861d94c2a450b974b86093c6c027888627b8082f1299dfd5a4bae8e2292821"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1171ef1fc5ab4693c5d151ae0fdad7f7349920eabbaca6271f95969fa0756c2d"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28f512b9a33235545fbbdac6a330a510b63be278a50071a336afc1b78781b147"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0e842112fe3f1a4ffcf64b06dc4c61a88441c2f02f373367f7b4c1aa9be2ad5"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3f9bc2ce123637a60ebe819f9fccc614da1bcc05798bbbaf2dd4ec91f3e08846"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f194cce575e59ffe442c10a360182a986535fd90b57f7debfaa5c845c409ecc3"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:9a74041ba0bfa9bc9b9bb2cd3238a6ab3b7618e759b41bd15b5f6ad958d17605"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b578cbe580e3b41ad17b1c428f382c814b32a6ce90f2d8e39e2e635d49e498d1"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:6db3cfb9b4fcecb4390db154e75b49578c87a3b9979b40cdf90d7e4b945656e1"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:debb633f3f7856f95ad957d9b9c781f8e2c6303ef21724ec94bea2ce2fcbd056"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-win32.whl", hash = "sha256:87071618d3d8ec8b186d53cb6e66955ef2a0e4fa63ccd3709c0c90ac5a43520f"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:e372d7dfd154009142631de2d316adad3cc1c36c32a38b16a4751ba78da2a397"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ae4070f741f8d809075ef697877fd350ecf0b7c5837ed68738607ee0a2c572cf"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:58e875eb7016fd014c0eea46c6fa92b87b62c0cb31b9feae25cbbe62c919f54d"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dbd95e300367aa0827496fe75a1766d198d34385a58f97683fe6e07f89ca3e3c"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de0b4caa1c8a21394e8ce971997614a17648f94e1cd0640fbd6b4d14cab13a72"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:985c7965f62f6f32bf432e2681173db41336a9c2611693247069288bcb0c7f8b"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a15c1fe6d26e83fd2e5972425a772cca158eae58b05d4a25a4e474c221053e2d"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae55d592b02c4349525b6ed8f74c692509e5adffa842e582c0f861751701a673"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:be4d9c2770044a59715eb57c1144dedea7c5d5ae80c68fb9959515037cde2008"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:851cf693fb3aaef71031237cd68699dded198657ec1e76a76eb8be58c03a5d1f"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:31bbaba7218904d2eabecf4feec0d07469284e952a27400f23b6628439439fa7"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:871d045d6ccc181fd863a3cd66ee8e395523ebfbc57f85f91f035f50cee8e3d4"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:501adc5eb6cd5f40a6f77fbd90e5ab915c8fd6e8c614af2db5561e16c600d6f3"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f5fb672c396d826ca16a022ac04c9dce74e00a1c344f6ad1a0fdc1ba1f332213"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-win32.whl", hash = "sha256:bb06098d019766ca16fc915ecaa455c1f1cd594204e7f840cd6258237b5079a8"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:8af5a8917b8af42295e86b64903156b4f110a30dca5f3b5aedea123fbd638bff"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:7ae8e5142dcc7a49168f4055255dbcced01dc1714a90a21f87448dc8d90617d1"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5b70bab78accbc672f50e878a5b73ca692f45f5b5e25c8066d748c09405e6a55"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5ceca5876032362ae73b83347be8b5dbd2d1faf3358deb38c9c88776779b2e2f"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34d95638ff3613849f473afc33f65c401a89f3b9528d0d213c7037c398a51296"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9edbe6a5bf8b56a4a84533ba2b2f489d0046e755c29616ef8830f9e7d9cf5728"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6a02a3c7950cafaadcd46a226ad9e12fc9744652cc69f9e5534f98b47f3bbcf"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10b8dd31e10f32410751b3430996f9807fc4d1587ca69772e2aa940a82ab571a"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edc0202099ea1d82844316604e17d2b175044f9bcb6b398aab781eba957224bd"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b891a2f68e09c5ef989007fac11476ed33c5c9994449a4e2c3386529d703dc8b"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:71ef3b9be10070360f289aea4838c784f8b851be3ba58cf796262b57775c2f14"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:55602981b2dbf8184c098bc10287e8c245e351cd4fdcad050bd7199d5a8bf514"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:46fb9970aa5eeca547d7aa0de5d4b124a288b42eaefac677bde805013c95725c"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:520b7a142d2524f999447b3a0cf95115df81c4f33003c51a6ab637cbda9d0bf4"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-win32.whl", hash = "sha256:8ec8ef42c6cd5856a7613dcd1eaf21e5573b2185263d87d27c8edcae33b62a61"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:baec8148d6b8bd5cee1ae138ba658c71f5b03e0d69d5907703e3e1df96db5e41"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:63a6f59e2d01310f754c270e4a257426fe5a591dc487f1983b3bbe793cf6bac6"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d6bfc32a68bc0933819cfdfe45f9abc3cae3877e1d90aac7259d57e6e0f85b1"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4f3100d86dcd03c03f7e9c3fdb23d92e32abbca07e7c13ebd7ddfbcb06f5991f"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:39b70a6f88eebe239fa775190796d55a33cfb6d36b9ffdd37843f7c4c1b5dc67"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e12f8ee80aa35e746230a2af83e81bd6b52daa92a8afaef4fea4a2ce9b9f4fa"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7b6cefa579e1237ce198619b76eaa148b71894fb0d6bcf9024460f9bf30fd228"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:61f1e3fb621f5420523abb71f5771a204b33c21d31e7d9d86881b2cffe92c47c"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4f6e2a839f83a6a76854d12dbebde50e4b1afa63e27761549d006fa53e9aa80e"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:1ec937546cad86d0dce5396748bf392bb7b62a9eeb8c66efac60e947697f0e58"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:82ca51ff0fc5b641a2d4e1cc8c5ff108699b7a56d7f3ad6f6da9dbb6f0145b48"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:633968254f8d421e70f91c6ebe71ed0ab140220469cf87a9857e21c16687c034"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-win32.whl", hash = "sha256:c0c72d34e7de5604df0fde3644cc079feee5e55464967d10b24b1de268deceb9"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-win_amd64.whl", hash = "sha256:63accd11149c0f9a99e3bc095bbdb5a464862d77a7e309ad5938fbc8721235ae"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5a3580a4fdc4ac05f9e53c57f965e3594b2f99796231380adb2baaab96e22761"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2465aa50c9299d615d757c1c888bc6fef384b7c4aec81c05a0172b4400f98557"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cb7cd68814308aade9d0c93c5bd2ade9f9441666f8ba5aa9c2d4b389cb5e2a45"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91e43805ccafa0a91831f9cd5443aa34528c0c3f2cc48c4cb3d9a7721053874b"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:854cc74367180beb327ab9d00f964f6d91da06450b0855cbbb09187bcdb02de5"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c15070ebf11b8b7fd1bfff7217e9324963c82dbdf6182ff7050519e350e7ad9f"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c4c99f98fc3a1835af8179dcc9013f93594d0670e2fa80c83aa36346ee763d2"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3fb765362688821404ad6cf86772fc54993ec11577cd5a92ac44b4c2ba52155b"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:dced27917823df984fe0c80a5c4ad75cf58df0fbfae890bc08004cd3888922a2"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a66bcdf19c1a523e41b8e9d53d0cedbfbac2e93c649a2e9502cb26c014d0980c"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ecd26be9f112c4f96718290c10f4caea6cc798459a3a76636b817a0ed7874e42"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:3f70fd716855cd3b855316b226a1ac8bdb3caf4f7ea96edcccc6f484217c9597"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:17a866d61259c7de1bdadef418a37755050ddb4b922df8b356503234fff7932c"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-win32.whl", hash = "sha256:548eefad783ed787b38cb6f9a574bd8664468cc76d1538215d510a3cd41406cb"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-win_amd64.whl", hash = "sha256:45f053a0ece92c734d874861ffe6e3cc92150e32136dd59ab1fb070575189c97"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bc791ec3fd0c4309a753f95bb6c749ef0d8ea3aea91f07ee1cf06b7b02118f2f"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0c8c61fb505c7dad1d251c284e712d4e0372cef3b067f7ddf82a7fa82e1e9a93"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2c092be3885a1b7899cd85ce24acedc1034199d6fca1483fa2c3a35c86e43041"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c2000c54c395d9e5e44c99dc7c20a64dc371f777faf8bae4919ad3e99ce5253e"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4cb50a0335382aac15c31b61d8531bc9bb657cfd848b1d7158009472189f3d62"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c30187840d36d0ba2893bc3271a36a517a717f9fd383a98e2697ee890a37c273"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe81b35c33772e56f4b6cf62cf4aedc1762ef7162a31e6ac7fe5e40d0149eb67"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0bf89afcbcf4d1bb2652f6580e5e55a840fdf87384f6063c4a4f0c95e378656"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:06cf46bdff72f58645434d467bf5228080801298fbba19fe268a01b4534467f5"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:3c66df3f41abee950d6638adc7eac4730a306b022570f71dd0bd6ba53503ab57"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:cd805513198304026bd379d1d516afbf6c3c13f4382134a2c526b8b854da1c2e"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:9505dc359edb6a330efcd2be825fdb73ee3e628d9010597aa1aee5aa63442e97"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:31445f38053476a0c4e6d12b047b08ced81e2c7c712e5a1ad97bc913256f91b2"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-win32.whl", hash = "sha256:bd28b31730f0e982ace8663d108e01199098432a30a4c410d06fe08fdb9e93f4"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:555fe186da0068d3354cdf4bbcbc609b0ecae4d04c921cc13e209eece7720727"}, + {file = "charset_normalizer-3.3.1-py3-none-any.whl", hash = "sha256:800561453acdecedaac137bf09cd719c7a440b6800ec182f077bb8e7025fb708"}, ] [[package]] @@ -645,35 +650,35 @@ files = [ [[package]] name = "cryptography" -version = "41.0.4" +version = "41.0.5" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-41.0.4-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:80907d3faa55dc5434a16579952ac6da800935cd98d14dbd62f6f042c7f5e839"}, - {file = "cryptography-41.0.4-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:35c00f637cd0b9d5b6c6bd11b6c3359194a8eba9c46d4e875a3660e3b400005f"}, - {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cecfefa17042941f94ab54f769c8ce0fe14beff2694e9ac684176a2535bf9714"}, - {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e40211b4923ba5a6dc9769eab704bdb3fbb58d56c5b336d30996c24fcf12aadb"}, - {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:23a25c09dfd0d9f28da2352503b23e086f8e78096b9fd585d1d14eca01613e13"}, - {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:2ed09183922d66c4ec5fdaa59b4d14e105c084dd0febd27452de8f6f74704143"}, - {file = "cryptography-41.0.4-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:5a0f09cefded00e648a127048119f77bc2b2ec61e736660b5789e638f43cc397"}, - {file = "cryptography-41.0.4-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:9eeb77214afae972a00dee47382d2591abe77bdae166bda672fb1e24702a3860"}, - {file = "cryptography-41.0.4-cp37-abi3-win32.whl", hash = "sha256:3b224890962a2d7b57cf5eeb16ccaafba6083f7b811829f00476309bce2fe0fd"}, - {file = "cryptography-41.0.4-cp37-abi3-win_amd64.whl", hash = "sha256:c880eba5175f4307129784eca96f4e70b88e57aa3f680aeba3bab0e980b0f37d"}, - {file = "cryptography-41.0.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:004b6ccc95943f6a9ad3142cfabcc769d7ee38a3f60fb0dddbfb431f818c3a67"}, - {file = "cryptography-41.0.4-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:86defa8d248c3fa029da68ce61fe735432b047e32179883bdb1e79ed9bb8195e"}, - {file = "cryptography-41.0.4-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:37480760ae08065437e6573d14be973112c9e6dcaf5f11d00147ee74f37a3829"}, - {file = "cryptography-41.0.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:b5f4dfe950ff0479f1f00eda09c18798d4f49b98f4e2006d644b3301682ebdca"}, - {file = "cryptography-41.0.4-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7e53db173370dea832190870e975a1e09c86a879b613948f09eb49324218c14d"}, - {file = "cryptography-41.0.4-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5b72205a360f3b6176485a333256b9bcd48700fc755fef51c8e7e67c4b63e3ac"}, - {file = "cryptography-41.0.4-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:93530900d14c37a46ce3d6c9e6fd35dbe5f5601bf6b3a5c325c7bffc030344d9"}, - {file = "cryptography-41.0.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:efc8ad4e6fc4f1752ebfb58aefece8b4e3c4cae940b0994d43649bdfce8d0d4f"}, - {file = "cryptography-41.0.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c3391bd8e6de35f6f1140e50aaeb3e2b3d6a9012536ca23ab0d9c35ec18c8a91"}, - {file = "cryptography-41.0.4-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:0d9409894f495d465fe6fda92cb70e8323e9648af912d5b9141d616df40a87b8"}, - {file = "cryptography-41.0.4-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:8ac4f9ead4bbd0bc8ab2d318f97d85147167a488be0e08814a37eb2f439d5cf6"}, - {file = "cryptography-41.0.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:047c4603aeb4bbd8db2756e38f5b8bd7e94318c047cfe4efeb5d715e08b49311"}, - {file = "cryptography-41.0.4.tar.gz", hash = "sha256:7febc3094125fc126a7f6fb1f420d0da639f3f32cb15c8ff0dc3997c4549f51a"}, + {file = "cryptography-41.0.5-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:da6a0ff8f1016ccc7477e6339e1d50ce5f59b88905585f77193ebd5068f1e797"}, + {file = "cryptography-41.0.5-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:b948e09fe5fb18517d99994184854ebd50b57248736fd4c720ad540560174ec5"}, + {file = "cryptography-41.0.5-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d38e6031e113b7421db1de0c1b1f7739564a88f1684c6b89234fbf6c11b75147"}, + {file = "cryptography-41.0.5-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e270c04f4d9b5671ebcc792b3ba5d4488bf7c42c3c241a3748e2599776f29696"}, + {file = "cryptography-41.0.5-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:ec3b055ff8f1dce8e6ef28f626e0972981475173d7973d63f271b29c8a2897da"}, + {file = "cryptography-41.0.5-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:7d208c21e47940369accfc9e85f0de7693d9a5d843c2509b3846b2db170dfd20"}, + {file = "cryptography-41.0.5-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:8254962e6ba1f4d2090c44daf50a547cd5f0bf446dc658a8e5f8156cae0d8548"}, + {file = "cryptography-41.0.5-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:a48e74dad1fb349f3dc1d449ed88e0017d792997a7ad2ec9587ed17405667e6d"}, + {file = "cryptography-41.0.5-cp37-abi3-win32.whl", hash = "sha256:d3977f0e276f6f5bf245c403156673db103283266601405376f075c849a0b936"}, + {file = "cryptography-41.0.5-cp37-abi3-win_amd64.whl", hash = "sha256:73801ac9736741f220e20435f84ecec75ed70eda90f781a148f1bad546963d81"}, + {file = "cryptography-41.0.5-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3be3ca726e1572517d2bef99a818378bbcf7d7799d5372a46c79c29eb8d166c1"}, + {file = "cryptography-41.0.5-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:e886098619d3815e0ad5790c973afeee2c0e6e04b4da90b88e6bd06e2a0b1b72"}, + {file = "cryptography-41.0.5-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:573eb7128cbca75f9157dcde974781209463ce56b5804983e11a1c462f0f4e88"}, + {file = "cryptography-41.0.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0c327cac00f082013c7c9fb6c46b7cc9fa3c288ca702c74773968173bda421bf"}, + {file = "cryptography-41.0.5-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:227ec057cd32a41c6651701abc0328135e472ed450f47c2766f23267b792a88e"}, + {file = "cryptography-41.0.5-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:22892cc830d8b2c89ea60148227631bb96a7da0c1b722f2aac8824b1b7c0b6b8"}, + {file = "cryptography-41.0.5-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:5a70187954ba7292c7876734183e810b728b4f3965fbe571421cb2434d279179"}, + {file = "cryptography-41.0.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:88417bff20162f635f24f849ab182b092697922088b477a7abd6664ddd82291d"}, + {file = "cryptography-41.0.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c707f7afd813478e2019ae32a7c49cd932dd60ab2d2a93e796f68236b7e1fbf1"}, + {file = "cryptography-41.0.5-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:580afc7b7216deeb87a098ef0674d6ee34ab55993140838b14c9b83312b37b86"}, + {file = "cryptography-41.0.5-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:fba1e91467c65fe64a82c689dc6cf58151158993b13eb7a7f3f4b7f395636723"}, + {file = "cryptography-41.0.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0d2a6a598847c46e3e321a7aef8af1436f11c27f1254933746304ff014664d84"}, + {file = "cryptography-41.0.5.tar.gz", hash = "sha256:392cb88b597247177172e02da6b7a63deeff1937fa6fec3bbf902ebd75d97ec7"}, ] [package.dependencies] @@ -766,14 +771,14 @@ static3 = "*" [[package]] name = "django" -version = "4.2.5" +version = "4.2.6" description = "A high-level Python web framework that encourages rapid development and clean, pragmatic design." category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "Django-4.2.5-py3-none-any.whl", hash = "sha256:b6b2b5cae821077f137dc4dade696a1c2aa292f892eca28fa8d7bfdf2608ddd4"}, - {file = "Django-4.2.5.tar.gz", hash = "sha256:5e5c1c9548ffb7796b4a8a4782e9a2e5a3df3615259fc1bfd3ebc73b646146c1"}, + {file = "Django-4.2.6-py3-none-any.whl", hash = "sha256:a64d2487cdb00ad7461434320ccc38e60af9c404773a2f95ab0093b4453a3215"}, + {file = "Django-4.2.6.tar.gz", hash = "sha256:08f41f468b63335aea0d904c5729e0250300f6a1907bf293a65499496cdbc68f"}, ] [package.dependencies] @@ -993,14 +998,15 @@ python-stdnum = ">=1.6" [[package]] name = "django-markup" -version = "1.7.2" +version = "1.8.1" description = "A generic Django application to convert text with specific markup to html." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "django-markup-1.7.2.tar.gz", hash = "sha256:6cd09ecc701cd80d658a8eeeb0668b0450176bc0962f8c01dd26d64cbeacc945"}, - {file = "django_markup-1.7.2-py2.py3-none-any.whl", hash = "sha256:c6473fa6c8047abcb94e12201a289c2bb06c340c61526d60eef5de53e26750bf"}, + {file = "django-markup-1.8.1.tar.gz", hash = "sha256:04824880a7afbd19e7b3cdaf0005e759f818b2cc4e3b4f1dd97182b7038a72c9"}, + {file = "django_markup-1.8.1-py2.py3-none-any.whl", hash = "sha256:bf0dabcfc288eac76b6e501357b02383ff7012b48e4005cab58e3c68b5474e07"}, + {file = "django_markup-1.8.1-py3-none-any.whl", hash = "sha256:ab0bbdcb721ec92a2848dd93f47e4a0d01760677ca78789230432298cf82a7c8"}, ] [package.dependencies] @@ -1029,14 +1035,14 @@ requests = ">=2.13.0" [[package]] name = "django-otp" -version = "1.2.3" +version = "1.2.4" description = "A pluggable framework for adding two-factor authentication to Django using one-time passwords." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "django_otp-1.2.3-py3-none-any.whl", hash = "sha256:43cfb70008559def9aad769d18374369c7f428122c527e3d5c78092856e58998"}, - {file = "django_otp-1.2.3.tar.gz", hash = "sha256:62466cad63a06df820ea4abfd3b2cdfb2cd5508925ecad1d308260b973025136"}, + {file = "django_otp-1.2.4-py3-none-any.whl", hash = "sha256:5ddd1aaf455db47fac3ce0d8b518e68e9a57db55e30ad68eafad377e4fa741f5"}, + {file = "django_otp-1.2.4.tar.gz", hash = "sha256:7e805cc196cbac93edbbbbf5078d7c5156fec2dba1b2589361ddbf74c4557e39"}, ] [package.dependencies] @@ -1480,8 +1486,6 @@ files = [ {file = "lxml-4.9.3-cp27-cp27m-macosx_11_0_x86_64.whl", hash = "sha256:b0a545b46b526d418eb91754565ba5b63b1c0b12f9bd2f808c852d9b4b2f9b5c"}, {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:075b731ddd9e7f68ad24c635374211376aa05a281673ede86cbe1d1b3455279d"}, {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1e224d5755dba2f4a9498e150c43792392ac9b5380aa1b845f98a1618c94eeef"}, - {file = "lxml-4.9.3-cp27-cp27m-win32.whl", hash = "sha256:2c74524e179f2ad6d2a4f7caf70e2d96639c0954c943ad601a9e146c76408ed7"}, - {file = "lxml-4.9.3-cp27-cp27m-win_amd64.whl", hash = "sha256:4f1026bc732b6a7f96369f7bfe1a4f2290fb34dce00d8644bc3036fb351a4ca1"}, {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c0781a98ff5e6586926293e59480b64ddd46282953203c76ae15dbbbf302e8bb"}, {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cef2502e7e8a96fe5ad686d60b49e1ab03e438bd9123987994528febd569868e"}, {file = "lxml-4.9.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b86164d2cff4d3aaa1f04a14685cbc072efd0b4f99ca5708b2ad1b9b5988a991"}, @@ -1749,14 +1753,14 @@ files = [ [[package]] name = "paypal-checkout-serversdk" -version = "1.0.1" -description = "Python Rest SDK for PayPal Checkout" +version = "1.0.3" +description = "Deprecated" category = "main" optional = false python-versions = "*" files = [ - {file = "paypal-checkout-serversdk-1.0.1.tar.gz", hash = "sha256:80f62ba2d9fe22b58c2ce1f310146acf6037088493398dba8b1bb67b493aee5e"}, - {file = "paypal_checkout_serversdk-1.0.1-py2-none-any.whl", hash = "sha256:e82bf50c249d7383cb4f68d8562a68dde3e7089389f286c111b6689bd3fdad36"}, + {file = "paypal-checkout-serversdk-1.0.3.tar.gz", hash = "sha256:880c7fab12955d65aff29baeb90c182307307d2676edbd41072f3f540a2934b4"}, + {file = "paypal_checkout_serversdk-1.0.3-py3-none-any.whl", hash = "sha256:48a00ec6c52450583e2265dbbdf700b025f38f40ddc597b24b6aa4d8f0cb0257"}, ] [package.dependencies] @@ -1781,13 +1785,14 @@ six = ">=1.0.0" [[package]] name = "paypalrestsdk" -version = "1.13.1" -description = "The PayPal REST SDK provides Python APIs to create, process and manage payments." +version = "1.13.2" +description = "Deprecated" category = "main" optional = false python-versions = "*" files = [ - {file = "paypalrestsdk-1.13.1.tar.gz", hash = "sha256:238713208031e8981bf70b3350b3d7f85ed64d34e0f21e4c1184444a546fee7f"}, + {file = "paypalrestsdk-1.13.2-py3-none-any.whl", hash = "sha256:5bf1ffccca87354001156441fb6a7ef0ec5d16aae5a1f56eaeb18f3aea3b4624"}, + {file = "paypalrestsdk-1.13.2.tar.gz", hash = "sha256:91951f36db30d685b971e140498491a356cf1df8eff71656603aca4ed72cf35a"}, ] [package.dependencies] @@ -1797,14 +1802,14 @@ six = ">=1.0.0" [[package]] name = "phonenumberslite" -version = "8.13.22" +version = "8.13.23" description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers." category = "main" optional = false python-versions = "*" files = [ - {file = "phonenumberslite-8.13.22-py2.py3-none-any.whl", hash = "sha256:8d1e5f2adfee2a634ccdb54b251dec32c5308fbca3d7f6ae6058f4adee4594a3"}, - {file = "phonenumberslite-8.13.22.tar.gz", hash = "sha256:98684f21804c6df2e7d224e72d60defee20eddf9e144d57f24cbd9db0df450e0"}, + {file = "phonenumberslite-8.13.23-py2.py3-none-any.whl", hash = "sha256:7c719e35ef551a895459382e9faf592f52647312dd90b543b06460aa0e1c49c4"}, + {file = "phonenumberslite-8.13.23.tar.gz", hash = "sha256:cf6cf56c889c6787ec6b30b5791693f6dd678f633358f4aeea1fddf98d4cadcb"}, ] [[package]] @@ -1917,14 +1922,14 @@ files = [ [[package]] name = "pretix" -version = "2023.8.0" +version = "2023.9.0" description = "Reinventing presales, one ticket at a time" category = "main" optional = false python-versions = ">=3.9" files = [ - {file = "pretix-2023.8.0-py3-none-any.whl", hash = "sha256:0156ef3cf205fcfcf35c47d7416c9cbd70abd4c62fd0b79c9500f4c7603a32db"}, - {file = "pretix-2023.8.0.tar.gz", hash = "sha256:f74faf07a92492afb3fc9d1fd6e9e49475c1c4d9157f3aa93f38027ba595d733"}, + {file = "pretix-2023.9.0-py3-none-any.whl", hash = "sha256:5e1f6ff2d3a32e5b84d30b729c21093cde22a9335d1a510683b1f704fd40235d"}, + {file = "pretix-2023.9.0.tar.gz", hash = "sha256:bcf787871231840ebcb12cffafc7a8d6e3ded5c3ced7dde284a1b19b87ea1221"}, ] [package.dependencies] @@ -2106,6 +2111,8 @@ files = [ {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:cb16c65dcb648d0a43a2521f2f0a2300f40639f6f8c1ecbc662141e4e3e1ee07"}, {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:911dda9c487075abd54e644ccdf5e5c16773470a6a5d3826fda76699410066fb"}, {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:57fede879f08d23c85140a360c6a77709113efd1c993923c59fde17aa27599fe"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-win32.whl", hash = "sha256:64cf30263844fa208851ebb13b0732ce674d8ec6a0c86a4e160495d299ba3c93"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-win_amd64.whl", hash = "sha256:81ff62668af011f9a48787564ab7eded4e9fb17a4a6a74af5ffa6a457400d2ab"}, {file = "psycopg2_binary-2.9.9-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2293b001e319ab0d869d660a704942c9e2cce19745262a8aba2115ef41a0a42a"}, {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03ef7df18daf2c4c07e2695e8cfd5ee7f748a1d54d802330985a78d2a5a6dca9"}, {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a602ea5aff39bb9fac6308e9c9d82b9a35c2bf288e184a816002c9fae930b77"}, @@ -2231,21 +2238,21 @@ tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] [[package]] name = "pyopenssl" -version = "23.2.0" +version = "23.3.0" description = "Python wrapper module around the OpenSSL library" category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "pyOpenSSL-23.2.0-py3-none-any.whl", hash = "sha256:24f0dc5227396b3e831f4c7f602b950a5e9833d292c8e4a2e06b709292806ae2"}, - {file = "pyOpenSSL-23.2.0.tar.gz", hash = "sha256:276f931f55a452e7dea69c7173e984eb2a4407ce413c918aa34b55f82f9b8bac"}, + {file = "pyOpenSSL-23.3.0-py3-none-any.whl", hash = "sha256:6756834481d9ed5470f4a9393455154bc92fe7a64b7bc6ee2c804e78c52099b2"}, + {file = "pyOpenSSL-23.3.0.tar.gz", hash = "sha256:6b2cba5cc46e822750ec3e5a81ee12819850b11303630d575e98108a079c2b12"}, ] [package.dependencies] -cryptography = ">=38.0.0,<40.0.0 || >40.0.0,<40.0.1 || >40.0.1,<42" +cryptography = ">=41.0.5,<42" [package.extras] -docs = ["sphinx (!=5.2.0,!=5.2.0.post0)", "sphinx-rtd-theme"] +docs = ["sphinx (!=5.2.0,!=5.2.0.post0,!=7.2.5)", "sphinx-rtd-theme"] test = ["flaky", "pretend", "pytest (>=3.0.1)"] [[package]] @@ -2478,14 +2485,14 @@ rpds-py = ">=0.7.0" [[package]] name = "reportlab" -version = "4.0.5" +version = "4.0.6" description = "The Reportlab Toolkit" category = "main" optional = false python-versions = ">=3.7,<4" files = [ - {file = "reportlab-4.0.5-py3-none-any.whl", hash = "sha256:1344dbe779b9049a1888105503837d0e5b62163bf5c6b33bd1fbe84bad484f50"}, - {file = "reportlab-4.0.5.tar.gz", hash = "sha256:9c68f277736f585c5c9938755b826dd57c877fcaeb203e21cefea12b3b1db4f5"}, + {file = "reportlab-4.0.6-py3-none-any.whl", hash = "sha256:ec062675202eb76f6100ed44da64f38ed3c7feb5016cf4fe7f17ce35423ab14a"}, + {file = "reportlab-4.0.6.tar.gz", hash = "sha256:069aa35da7c882921f419f6e26327e14dac1d9d0adeb40b584cdadd974d99fc0"}, ] [package.dependencies] @@ -2584,109 +2591,111 @@ files = [ [[package]] name = "rpds-py" -version = "0.10.3" +version = "0.10.6" description = "Python bindings to Rust's persistent data structures (rpds)" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "rpds_py-0.10.3-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:485747ee62da83366a44fbba963c5fe017860ad408ccd6cd99aa66ea80d32b2e"}, - {file = "rpds_py-0.10.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c55f9821f88e8bee4b7a72c82cfb5ecd22b6aad04033334f33c329b29bfa4da0"}, - {file = "rpds_py-0.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3b52a67ac66a3a64a7e710ba629f62d1e26ca0504c29ee8cbd99b97df7079a8"}, - {file = "rpds_py-0.10.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3aed39db2f0ace76faa94f465d4234aac72e2f32b009f15da6492a561b3bbebd"}, - {file = "rpds_py-0.10.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:271c360fdc464fe6a75f13ea0c08ddf71a321f4c55fc20a3fe62ea3ef09df7d9"}, - {file = "rpds_py-0.10.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef5fddfb264e89c435be4adb3953cef5d2936fdeb4463b4161a6ba2f22e7b740"}, - {file = "rpds_py-0.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a771417c9c06c56c9d53d11a5b084d1de75de82978e23c544270ab25e7c066ff"}, - {file = "rpds_py-0.10.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:52b5cbc0469328e58180021138207e6ec91d7ca2e037d3549cc9e34e2187330a"}, - {file = "rpds_py-0.10.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:6ac3fefb0d168c7c6cab24fdfc80ec62cd2b4dfd9e65b84bdceb1cb01d385c33"}, - {file = "rpds_py-0.10.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:8d54bbdf5d56e2c8cf81a1857250f3ea132de77af543d0ba5dce667183b61fec"}, - {file = "rpds_py-0.10.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cd2163f42868865597d89399a01aa33b7594ce8e2c4a28503127c81a2f17784e"}, - {file = "rpds_py-0.10.3-cp310-none-win32.whl", hash = "sha256:ea93163472db26ac6043e8f7f93a05d9b59e0505c760da2a3cd22c7dd7111391"}, - {file = "rpds_py-0.10.3-cp310-none-win_amd64.whl", hash = "sha256:7cd020b1fb41e3ab7716d4d2c3972d4588fdfbab9bfbbb64acc7078eccef8860"}, - {file = "rpds_py-0.10.3-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:1d9b5ee46dcb498fa3e46d4dfabcb531e1f2e76b477e0d99ef114f17bbd38453"}, - {file = "rpds_py-0.10.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:563646d74a4b4456d0cf3b714ca522e725243c603e8254ad85c3b59b7c0c4bf0"}, - {file = "rpds_py-0.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e626b864725680cd3904414d72e7b0bd81c0e5b2b53a5b30b4273034253bb41f"}, - {file = "rpds_py-0.10.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:485301ee56ce87a51ccb182a4b180d852c5cb2b3cb3a82f7d4714b4141119d8c"}, - {file = "rpds_py-0.10.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:42f712b4668831c0cd85e0a5b5a308700fe068e37dcd24c0062904c4e372b093"}, - {file = "rpds_py-0.10.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6c9141af27a4e5819d74d67d227d5047a20fa3c7d4d9df43037a955b4c748ec5"}, - {file = "rpds_py-0.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef750a20de1b65657a1425f77c525b0183eac63fe7b8f5ac0dd16f3668d3e64f"}, - {file = "rpds_py-0.10.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e1a0ffc39f51aa5f5c22114a8f1906b3c17eba68c5babb86c5f77d8b1bba14d1"}, - {file = "rpds_py-0.10.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f4c179a7aeae10ddf44c6bac87938134c1379c49c884529f090f9bf05566c836"}, - {file = "rpds_py-0.10.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:176287bb998fd1e9846a9b666e240e58f8d3373e3bf87e7642f15af5405187b8"}, - {file = "rpds_py-0.10.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6446002739ca29249f0beaaf067fcbc2b5aab4bc7ee8fb941bd194947ce19aff"}, - {file = "rpds_py-0.10.3-cp311-none-win32.whl", hash = "sha256:c7aed97f2e676561416c927b063802c8a6285e9b55e1b83213dfd99a8f4f9e48"}, - {file = "rpds_py-0.10.3-cp311-none-win_amd64.whl", hash = "sha256:8bd01ff4032abaed03f2db702fa9a61078bee37add0bd884a6190b05e63b028c"}, - {file = "rpds_py-0.10.3-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:4cf0855a842c5b5c391dd32ca273b09e86abf8367572073bd1edfc52bc44446b"}, - {file = "rpds_py-0.10.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:69b857a7d8bd4f5d6e0db4086da8c46309a26e8cefdfc778c0c5cc17d4b11e08"}, - {file = "rpds_py-0.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:975382d9aa90dc59253d6a83a5ca72e07f4ada3ae3d6c0575ced513db322b8ec"}, - {file = "rpds_py-0.10.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:35fbd23c1c8732cde7a94abe7fb071ec173c2f58c0bd0d7e5b669fdfc80a2c7b"}, - {file = "rpds_py-0.10.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:106af1653007cc569d5fbb5f08c6648a49fe4de74c2df814e234e282ebc06957"}, - {file = "rpds_py-0.10.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ce5e7504db95b76fc89055c7f41e367eaadef5b1d059e27e1d6eabf2b55ca314"}, - {file = "rpds_py-0.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5aca759ada6b1967fcfd4336dcf460d02a8a23e6abe06e90ea7881e5c22c4de6"}, - {file = "rpds_py-0.10.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b5d4bdd697195f3876d134101c40c7d06d46c6ab25159ed5cbd44105c715278a"}, - {file = "rpds_py-0.10.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a657250807b6efd19b28f5922520ae002a54cb43c2401e6f3d0230c352564d25"}, - {file = "rpds_py-0.10.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:177c9dd834cdf4dc39c27436ade6fdf9fe81484758885f2d616d5d03c0a83bd2"}, - {file = "rpds_py-0.10.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e22491d25f97199fc3581ad8dd8ce198d8c8fdb8dae80dea3512e1ce6d5fa99f"}, - {file = "rpds_py-0.10.3-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:2f3e1867dd574014253b4b8f01ba443b9c914e61d45f3674e452a915d6e929a3"}, - {file = "rpds_py-0.10.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c22211c165166de6683de8136229721f3d5c8606cc2c3d1562da9a3a5058049c"}, - {file = "rpds_py-0.10.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40bc802a696887b14c002edd43c18082cb7b6f9ee8b838239b03b56574d97f71"}, - {file = "rpds_py-0.10.3-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e271dd97c7bb8eefda5cca38cd0b0373a1fea50f71e8071376b46968582af9b"}, - {file = "rpds_py-0.10.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:95cde244e7195b2c07ec9b73fa4c5026d4a27233451485caa1cd0c1b55f26dbd"}, - {file = "rpds_py-0.10.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08a80cf4884920863623a9ee9a285ee04cef57ebedc1cc87b3e3e0f24c8acfe5"}, - {file = "rpds_py-0.10.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:763ad59e105fca09705d9f9b29ecffb95ecdc3b0363be3bb56081b2c6de7977a"}, - {file = "rpds_py-0.10.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:187700668c018a7e76e89424b7c1042f317c8df9161f00c0c903c82b0a8cac5c"}, - {file = "rpds_py-0.10.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:5267cfda873ad62591b9332fd9472d2409f7cf02a34a9c9cb367e2c0255994bf"}, - {file = "rpds_py-0.10.3-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:2ed83d53a8c5902ec48b90b2ac045e28e1698c0bea9441af9409fc844dc79496"}, - {file = "rpds_py-0.10.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:255f1a10ae39b52122cce26ce0781f7a616f502feecce9e616976f6a87992d6b"}, - {file = "rpds_py-0.10.3-cp38-none-win32.whl", hash = "sha256:a019a344312d0b1f429c00d49c3be62fa273d4a1094e1b224f403716b6d03be1"}, - {file = "rpds_py-0.10.3-cp38-none-win_amd64.whl", hash = "sha256:efb9ece97e696bb56e31166a9dd7919f8f0c6b31967b454718c6509f29ef6fee"}, - {file = "rpds_py-0.10.3-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:570cc326e78ff23dec7f41487aa9c3dffd02e5ee9ab43a8f6ccc3df8f9327623"}, - {file = "rpds_py-0.10.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cff7351c251c7546407827b6a37bcef6416304fc54d12d44dbfecbb717064717"}, - {file = "rpds_py-0.10.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:177914f81f66c86c012311f8c7f46887ec375cfcfd2a2f28233a3053ac93a569"}, - {file = "rpds_py-0.10.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:448a66b8266de0b581246ca7cd6a73b8d98d15100fb7165974535fa3b577340e"}, - {file = "rpds_py-0.10.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bbac1953c17252f9cc675bb19372444aadf0179b5df575ac4b56faaec9f6294"}, - {file = "rpds_py-0.10.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9dd9d9d9e898b9d30683bdd2b6c1849449158647d1049a125879cb397ee9cd12"}, - {file = "rpds_py-0.10.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8c71ea77536149e36c4c784f6d420ffd20bea041e3ba21ed021cb40ce58e2c9"}, - {file = "rpds_py-0.10.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:16a472300bc6c83fe4c2072cc22b3972f90d718d56f241adabc7ae509f53f154"}, - {file = "rpds_py-0.10.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:b9255e7165083de7c1d605e818025e8860636348f34a79d84ec533546064f07e"}, - {file = "rpds_py-0.10.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:53d7a3cd46cdc1689296348cb05ffd4f4280035770aee0c8ead3bbd4d6529acc"}, - {file = "rpds_py-0.10.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:22da15b902f9f8e267020d1c8bcfc4831ca646fecb60254f7bc71763569f56b1"}, - {file = "rpds_py-0.10.3-cp39-none-win32.whl", hash = "sha256:850c272e0e0d1a5c5d73b1b7871b0a7c2446b304cec55ccdb3eaac0d792bb065"}, - {file = "rpds_py-0.10.3-cp39-none-win_amd64.whl", hash = "sha256:de61e424062173b4f70eec07e12469edde7e17fa180019a2a0d75c13a5c5dc57"}, - {file = "rpds_py-0.10.3-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:af247fd4f12cca4129c1b82090244ea5a9d5bb089e9a82feb5a2f7c6a9fe181d"}, - {file = "rpds_py-0.10.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:3ad59efe24a4d54c2742929001f2d02803aafc15d6d781c21379e3f7f66ec842"}, - {file = "rpds_py-0.10.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:642ed0a209ced4be3a46f8cb094f2d76f1f479e2a1ceca6de6346a096cd3409d"}, - {file = "rpds_py-0.10.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:37d0c59548ae56fae01c14998918d04ee0d5d3277363c10208eef8c4e2b68ed6"}, - {file = "rpds_py-0.10.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aad6ed9e70ddfb34d849b761fb243be58c735be6a9265b9060d6ddb77751e3e8"}, - {file = "rpds_py-0.10.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8f94fdd756ba1f79f988855d948ae0bad9ddf44df296770d9a58c774cfbcca72"}, - {file = "rpds_py-0.10.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77076bdc8776a2b029e1e6ffbe6d7056e35f56f5e80d9dc0bad26ad4a024a762"}, - {file = "rpds_py-0.10.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:87d9b206b1bd7a0523375dc2020a6ce88bca5330682ae2fe25e86fd5d45cea9c"}, - {file = "rpds_py-0.10.3-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:8efaeb08ede95066da3a3e3c420fcc0a21693fcd0c4396d0585b019613d28515"}, - {file = "rpds_py-0.10.3-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:a4d9bfda3f84fc563868fe25ca160c8ff0e69bc4443c5647f960d59400ce6557"}, - {file = "rpds_py-0.10.3-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:d27aa6bbc1f33be920bb7adbb95581452cdf23005d5611b29a12bb6a3468cc95"}, - {file = "rpds_py-0.10.3-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:ed8313809571a5463fd7db43aaca68ecb43ca7a58f5b23b6e6c6c5d02bdc7882"}, - {file = "rpds_py-0.10.3-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:e10e6a1ed2b8661201e79dff5531f8ad4cdd83548a0f81c95cf79b3184b20c33"}, - {file = "rpds_py-0.10.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:015de2ce2af1586ff5dc873e804434185199a15f7d96920ce67e50604592cae9"}, - {file = "rpds_py-0.10.3-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ae87137951bb3dc08c7d8bfb8988d8c119f3230731b08a71146e84aaa919a7a9"}, - {file = "rpds_py-0.10.3-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0bb4f48bd0dd18eebe826395e6a48b7331291078a879295bae4e5d053be50d4c"}, - {file = "rpds_py-0.10.3-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:09362f86ec201288d5687d1dc476b07bf39c08478cde837cb710b302864e7ec9"}, - {file = "rpds_py-0.10.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:821392559d37759caa67d622d0d2994c7a3f2fb29274948ac799d496d92bca73"}, - {file = "rpds_py-0.10.3-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7170cbde4070dc3c77dec82abf86f3b210633d4f89550fa0ad2d4b549a05572a"}, - {file = "rpds_py-0.10.3-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:5de11c041486681ce854c814844f4ce3282b6ea1656faae19208ebe09d31c5b8"}, - {file = "rpds_py-0.10.3-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:4ed172d0c79f156c1b954e99c03bc2e3033c17efce8dd1a7c781bc4d5793dfac"}, - {file = "rpds_py-0.10.3-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:11fdd1192240dda8d6c5d18a06146e9045cb7e3ba7c06de6973000ff035df7c6"}, - {file = "rpds_py-0.10.3-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:f602881d80ee4228a2355c68da6b296a296cd22bbb91e5418d54577bbf17fa7c"}, - {file = "rpds_py-0.10.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:691d50c99a937709ac4c4cd570d959a006bd6a6d970a484c84cc99543d4a5bbb"}, - {file = "rpds_py-0.10.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:24cd91a03543a0f8d09cb18d1cb27df80a84b5553d2bd94cba5979ef6af5c6e7"}, - {file = "rpds_py-0.10.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fc2200e79d75b5238c8d69f6a30f8284290c777039d331e7340b6c17cad24a5a"}, - {file = "rpds_py-0.10.3-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea65b59882d5fa8c74a23f8960db579e5e341534934f43f3b18ec1839b893e41"}, - {file = "rpds_py-0.10.3-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:829e91f3a8574888b73e7a3feb3b1af698e717513597e23136ff4eba0bc8387a"}, - {file = "rpds_py-0.10.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eab75a8569a095f2ad470b342f2751d9902f7944704f0571c8af46bede438475"}, - {file = "rpds_py-0.10.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:061c3ff1f51ecec256e916cf71cc01f9975af8fb3af9b94d3c0cc8702cfea637"}, - {file = "rpds_py-0.10.3-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:39d05e65f23a0fe897b6ac395f2a8d48c56ac0f583f5d663e0afec1da89b95da"}, - {file = "rpds_py-0.10.3-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:4eca20917a06d2fca7628ef3c8b94a8c358f6b43f1a621c9815243462dcccf97"}, - {file = "rpds_py-0.10.3-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:e8d0f0eca087630d58b8c662085529781fd5dc80f0a54eda42d5c9029f812599"}, - {file = "rpds_py-0.10.3.tar.gz", hash = "sha256:fcc1ebb7561a3e24a6588f7c6ded15d80aec22c66a070c757559b57b17ffd1cb"}, + {file = "rpds_py-0.10.6-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:6bdc11f9623870d75692cc33c59804b5a18d7b8a4b79ef0b00b773a27397d1f6"}, + {file = "rpds_py-0.10.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:26857f0f44f0e791f4a266595a7a09d21f6b589580ee0585f330aaccccb836e3"}, + {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7f5e15c953ace2e8dde9824bdab4bec50adb91a5663df08d7d994240ae6fa31"}, + {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:61fa268da6e2e1cd350739bb61011121fa550aa2545762e3dc02ea177ee4de35"}, + {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c48f3fbc3e92c7dd6681a258d22f23adc2eb183c8cb1557d2fcc5a024e80b094"}, + {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0503c5b681566e8b722fe8c4c47cce5c7a51f6935d5c7012c4aefe952a35eed"}, + {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:734c41f9f57cc28658d98270d3436dba65bed0cfc730d115b290e970150c540d"}, + {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a5d7ed104d158c0042a6a73799cf0eb576dfd5fc1ace9c47996e52320c37cb7c"}, + {file = "rpds_py-0.10.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e3df0bc35e746cce42579826b89579d13fd27c3d5319a6afca9893a9b784ff1b"}, + {file = "rpds_py-0.10.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:73e0a78a9b843b8c2128028864901f55190401ba38aae685350cf69b98d9f7c9"}, + {file = "rpds_py-0.10.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5ed505ec6305abd2c2c9586a7b04fbd4baf42d4d684a9c12ec6110deefe2a063"}, + {file = "rpds_py-0.10.6-cp310-none-win32.whl", hash = "sha256:d97dd44683802000277bbf142fd9f6b271746b4846d0acaf0cefa6b2eaf2a7ad"}, + {file = "rpds_py-0.10.6-cp310-none-win_amd64.whl", hash = "sha256:b455492cab07107bfe8711e20cd920cc96003e0da3c1f91297235b1603d2aca7"}, + {file = "rpds_py-0.10.6-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:e8cdd52744f680346ff8c1ecdad5f4d11117e1724d4f4e1874f3a67598821069"}, + {file = "rpds_py-0.10.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:66414dafe4326bca200e165c2e789976cab2587ec71beb80f59f4796b786a238"}, + {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc435d059f926fdc5b05822b1be4ff2a3a040f3ae0a7bbbe672babb468944722"}, + {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8e7f2219cb72474571974d29a191714d822e58be1eb171f229732bc6fdedf0ac"}, + {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3953c6926a63f8ea5514644b7afb42659b505ece4183fdaaa8f61d978754349e"}, + {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2bb2e4826be25e72013916eecd3d30f66fd076110de09f0e750163b416500721"}, + {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bf347b495b197992efc81a7408e9a83b931b2f056728529956a4d0858608b80"}, + {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:102eac53bb0bf0f9a275b438e6cf6904904908562a1463a6fc3323cf47d7a532"}, + {file = "rpds_py-0.10.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:40f93086eef235623aa14dbddef1b9fb4b22b99454cb39a8d2e04c994fb9868c"}, + {file = "rpds_py-0.10.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e22260a4741a0e7a206e175232867b48a16e0401ef5bce3c67ca5b9705879066"}, + {file = "rpds_py-0.10.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f4e56860a5af16a0fcfa070a0a20c42fbb2012eed1eb5ceeddcc7f8079214281"}, + {file = "rpds_py-0.10.6-cp311-none-win32.whl", hash = "sha256:0774a46b38e70fdde0c6ded8d6d73115a7c39d7839a164cc833f170bbf539116"}, + {file = "rpds_py-0.10.6-cp311-none-win_amd64.whl", hash = "sha256:4a5ee600477b918ab345209eddafde9f91c0acd931f3776369585a1c55b04c57"}, + {file = "rpds_py-0.10.6-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:5ee97c683eaface61d38ec9a489e353d36444cdebb128a27fe486a291647aff6"}, + {file = "rpds_py-0.10.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0713631d6e2d6c316c2f7b9320a34f44abb644fc487b77161d1724d883662e31"}, + {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5a53f5998b4bbff1cb2e967e66ab2addc67326a274567697379dd1e326bded7"}, + {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6a555ae3d2e61118a9d3e549737bb4a56ff0cec88a22bd1dfcad5b4e04759175"}, + {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:945eb4b6bb8144909b203a88a35e0a03d22b57aefb06c9b26c6e16d72e5eb0f0"}, + {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:52c215eb46307c25f9fd2771cac8135d14b11a92ae48d17968eda5aa9aaf5071"}, + {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1b3cd23d905589cb205710b3988fc8f46d4a198cf12862887b09d7aaa6bf9b9"}, + {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:64ccc28683666672d7c166ed465c09cee36e306c156e787acef3c0c62f90da5a"}, + {file = "rpds_py-0.10.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:516a611a2de12fbea70c78271e558f725c660ce38e0006f75139ba337d56b1f6"}, + {file = "rpds_py-0.10.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9ff93d3aedef11f9c4540cf347f8bb135dd9323a2fc705633d83210d464c579d"}, + {file = "rpds_py-0.10.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d858532212f0650be12b6042ff4378dc2efbb7792a286bee4489eaa7ba010586"}, + {file = "rpds_py-0.10.6-cp312-none-win32.whl", hash = "sha256:3c4eff26eddac49d52697a98ea01b0246e44ca82ab09354e94aae8823e8bda02"}, + {file = "rpds_py-0.10.6-cp312-none-win_amd64.whl", hash = "sha256:150eec465dbc9cbca943c8e557a21afdcf9bab8aaabf386c44b794c2f94143d2"}, + {file = "rpds_py-0.10.6-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:cf693eb4a08eccc1a1b636e4392322582db2a47470d52e824b25eca7a3977b53"}, + {file = "rpds_py-0.10.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4134aa2342f9b2ab6c33d5c172e40f9ef802c61bb9ca30d21782f6e035ed0043"}, + {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e782379c2028a3611285a795b89b99a52722946d19fc06f002f8b53e3ea26ea9"}, + {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2f6da6d842195fddc1cd34c3da8a40f6e99e4a113918faa5e60bf132f917c247"}, + {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b4a9fe992887ac68256c930a2011255bae0bf5ec837475bc6f7edd7c8dfa254e"}, + {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b788276a3c114e9f51e257f2a6f544c32c02dab4aa7a5816b96444e3f9ffc336"}, + {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:caa1afc70a02645809c744eefb7d6ee8fef7e2fad170ffdeacca267fd2674f13"}, + {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bddd4f91eede9ca5275e70479ed3656e76c8cdaaa1b354e544cbcf94c6fc8ac4"}, + {file = "rpds_py-0.10.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:775049dfa63fb58293990fc59473e659fcafd953bba1d00fc5f0631a8fd61977"}, + {file = "rpds_py-0.10.6-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:c6c45a2d2b68c51fe3d9352733fe048291e483376c94f7723458cfd7b473136b"}, + {file = "rpds_py-0.10.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0699ab6b8c98df998c3eacf51a3b25864ca93dab157abe358af46dc95ecd9801"}, + {file = "rpds_py-0.10.6-cp38-none-win32.whl", hash = "sha256:ebdab79f42c5961682654b851f3f0fc68e6cc7cd8727c2ac4ffff955154123c1"}, + {file = "rpds_py-0.10.6-cp38-none-win_amd64.whl", hash = "sha256:24656dc36f866c33856baa3ab309da0b6a60f37d25d14be916bd3e79d9f3afcf"}, + {file = "rpds_py-0.10.6-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:0898173249141ee99ffcd45e3829abe7bcee47d941af7434ccbf97717df020e5"}, + {file = "rpds_py-0.10.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9e9184fa6c52a74a5521e3e87badbf9692549c0fcced47443585876fcc47e469"}, + {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5752b761902cd15073a527b51de76bbae63d938dc7c5c4ad1e7d8df10e765138"}, + {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:99a57006b4ec39dbfb3ed67e5b27192792ffb0553206a107e4aadb39c5004cd5"}, + {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09586f51a215d17efdb3a5f090d7cbf1633b7f3708f60a044757a5d48a83b393"}, + {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e225a6a14ecf44499aadea165299092ab0cba918bb9ccd9304eab1138844490b"}, + {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b2039f8d545f20c4e52713eea51a275e62153ee96c8035a32b2abb772b6fc9e5"}, + {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:34ad87a831940521d462ac11f1774edf867c34172010f5390b2f06b85dcc6014"}, + {file = "rpds_py-0.10.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dcdc88b6b01015da066da3fb76545e8bb9a6880a5ebf89e0f0b2e3ca557b3ab7"}, + {file = "rpds_py-0.10.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:25860ed5c4e7f5e10c496ea78af46ae8d8468e0be745bd233bab9ca99bfd2647"}, + {file = "rpds_py-0.10.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7854a207ef77319ec457c1eb79c361b48807d252d94348305db4f4b62f40f7f3"}, + {file = "rpds_py-0.10.6-cp39-none-win32.whl", hash = "sha256:e6fcc026a3f27c1282c7ed24b7fcac82cdd70a0e84cc848c0841a3ab1e3dea2d"}, + {file = "rpds_py-0.10.6-cp39-none-win_amd64.whl", hash = "sha256:e98c4c07ee4c4b3acf787e91b27688409d918212dfd34c872201273fdd5a0e18"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:68fe9199184c18d997d2e4293b34327c0009a78599ce703e15cd9a0f47349bba"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:3339eca941568ed52d9ad0f1b8eb9fe0958fa245381747cecf2e9a78a5539c42"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a360cfd0881d36c6dc271992ce1eda65dba5e9368575663de993eeb4523d895f"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:031f76fc87644a234883b51145e43985aa2d0c19b063e91d44379cd2786144f8"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f36a9d751f86455dc5278517e8b65580eeee37d61606183897f122c9e51cef3"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:052a832078943d2b2627aea0d19381f607fe331cc0eb5df01991268253af8417"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:023574366002bf1bd751ebaf3e580aef4a468b3d3c216d2f3f7e16fdabd885ed"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:defa2c0c68734f4a82028c26bcc85e6b92cced99866af118cd6a89b734ad8e0d"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:879fb24304ead6b62dbe5034e7b644b71def53c70e19363f3c3be2705c17a3b4"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:53c43e10d398e365da2d4cc0bcaf0854b79b4c50ee9689652cdc72948e86f487"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:3777cc9dea0e6c464e4b24760664bd8831738cc582c1d8aacf1c3f546bef3f65"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:40578a6469e5d1df71b006936ce95804edb5df47b520c69cf5af264d462f2cbb"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:cf71343646756a072b85f228d35b1d7407da1669a3de3cf47f8bbafe0c8183a4"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10f32b53f424fc75ff7b713b2edb286fdbfc94bf16317890260a81c2c00385dc"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:81de24a1c51cfb32e1fbf018ab0bdbc79c04c035986526f76c33e3f9e0f3356c"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac17044876e64a8ea20ab132080ddc73b895b4abe9976e263b0e30ee5be7b9c2"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5e8a78bd4879bff82daef48c14d5d4057f6856149094848c3ed0ecaf49f5aec2"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78ca33811e1d95cac8c2e49cb86c0fb71f4d8409d8cbea0cb495b6dbddb30a55"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c63c3ef43f0b3fb00571cff6c3967cc261c0ebd14a0a134a12e83bdb8f49f21f"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:7fde6d0e00b2fd0dbbb40c0eeec463ef147819f23725eda58105ba9ca48744f4"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:79edd779cfc46b2e15b0830eecd8b4b93f1a96649bcb502453df471a54ce7977"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:9164ec8010327ab9af931d7ccd12ab8d8b5dc2f4c6a16cbdd9d087861eaaefa1"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:d29ddefeab1791e3c751e0189d5f4b3dbc0bbe033b06e9c333dca1f99e1d523e"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:30adb75ecd7c2a52f5e76af50644b3e0b5ba036321c390b8e7ec1bb2a16dd43c"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd609fafdcdde6e67a139898196698af37438b035b25ad63704fd9097d9a3482"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6eef672de005736a6efd565577101277db6057f65640a813de6c2707dc69f396"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6cf4393c7b41abbf07c88eb83e8af5013606b1cdb7f6bc96b1b3536b53a574b8"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ad857f42831e5b8d41a32437f88d86ead6c191455a3499c4b6d15e007936d4cf"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d7360573f1e046cb3b0dceeb8864025aa78d98be4bb69f067ec1c40a9e2d9df"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d08f63561c8a695afec4975fae445245386d645e3e446e6f260e81663bfd2e38"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:f0f17f2ce0f3529177a5fff5525204fad7b43dd437d017dd0317f2746773443d"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:442626328600bde1d09dc3bb00434f5374948838ce75c41a52152615689f9403"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:e9616f5bd2595f7f4a04b67039d890348ab826e943a9bfdbe4938d0eba606971"}, + {file = "rpds_py-0.10.6.tar.gz", hash = "sha256:4ce5a708d65a8dbf3748d2474b580d606b1b9f91b5c6ab2a316e0b0cf7a4ba50"}, ] [[package]] @@ -2861,14 +2870,14 @@ files = [ [[package]] name = "tlds" -version = "2023080900" +version = "2023102600" description = "Automatically updated list of valid TLDs taken directly from IANA" category = "main" optional = false python-versions = "*" files = [ - {file = "tlds-2023080900-py2.py3-none-any.whl", hash = "sha256:9199a8eab0bf8fdd0f8d98b317d8d6c88a4ce318967a1237ab6e36f194f2edad"}, - {file = "tlds-2023080900.tar.gz", hash = "sha256:0e234f098477fc3b51511ea2e1841c77f1b03332c4f1c14340ae06d9111a88e3"}, + {file = "tlds-2023102600-py2.py3-none-any.whl", hash = "sha256:9916e91777b1c98bdaf466867b6087ba9d70dd611bb1054487c6805ec1afde26"}, + {file = "tlds-2023102600.tar.gz", hash = "sha256:4f43dc58698e6e8063768a13966b3c905a2757b95769b72899d3f70d3b168540"}, ] [[package]] @@ -2989,14 +2998,14 @@ files = [ [[package]] name = "urllib3" -version = "2.0.6" +version = "2.0.7" description = "HTTP library with thread-safe connection pooling, file post, and more." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "urllib3-2.0.6-py3-none-any.whl", hash = "sha256:7a7c7003b000adf9e7ca2a377c9688bbc54ed41b985789ed576570342a375cd2"}, - {file = "urllib3-2.0.6.tar.gz", hash = "sha256:b19e1a85d206b56d7df1d5e683df4a7725252a964e3993648dd0fb5a1c157564"}, + {file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"}, + {file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"}, ] [package.extras] @@ -3326,4 +3335,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "78f0b329a67c868d90f9d3c8f49a24f54cfab82a19ff6423ca4b177881db216b" +content-hash = "88410be40a3cb74fc8bb75fd8c143e776a5b9712b78ce5e8db361ce43b2fb417" diff --git a/pkgs/pretix/pretix-static.nix b/pkgs/pretix/pretix-static.nix index dd8f13c..5c0b26b 100644 --- a/pkgs/pretix/pretix-static.nix +++ b/pkgs/pretix/pretix-static.nix @@ -8,7 +8,7 @@ let nodeEnv = buildNpmPackage rec { name = "pretix-nodejs"; src = "${pretix.passthru.pythonModule.pkgs.pretix}/lib/python3.10/site-packages/pretix/static/npm_dir"; - npmDepsHash = "sha256-xkDC2CjguZMZKOHv9/o50mPkXsSkPxnmbhVuGxRZdMU="; + npmDepsHash = "sha256-TWRYNYku+p9w2tiyDFun2HwI69/+g+lqzvfqJqPCwiE="; dontNpmBuild = true; installPhase = '' mkdir -p $out diff --git a/pkgs/pretix/pyproject.toml b/pkgs/pretix/pyproject.toml index db4f97c..250402d 100644 --- a/pkgs/pretix/pyproject.toml +++ b/pkgs/pretix/pyproject.toml @@ -7,7 +7,7 @@ license = "MIT" [tool.poetry.dependencies] python = "^3.10" -pretix = "^2023.8.0" +pretix = "^2023.9.0" [tool.poetry.dev-dependencies] From fbbf11a8a5a7b9ccbc81858fca8854a9ffe08e9c Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 29 Oct 2023 21:59:29 +0000 Subject: [PATCH 058/766] Add voicemail --- hosts/aluminium/secrets.yaml | 6 +-- hosts/aluminium/services/asterisk.nix | 65 ++++++++++++++++++++++++--- 2 files changed, 62 insertions(+), 9 deletions(-) diff --git a/hosts/aluminium/secrets.yaml b/hosts/aluminium/secrets.yaml index f94720d..6de2513 100644 --- a/hosts/aluminium/secrets.yaml +++ b/hosts/aluminium/secrets.yaml @@ -2,7 +2,7 @@ duckdns-secret: ENC[AES256_GCM,data:hp4aWnmTYKZhBehY0nuRV+H9bpCdK2uNqY3J0s1w6Jsi pap-secrets: ENC[AES256_GCM,data:UyC63/4EXZjypFlH7MLtJXpIBgD9P/Eolg2M1A==,iv:tf8W8rpRa487PIB9NW4NyDKgCoWYV/wDgs9MmKLZ/mc=,tag:r+zgW8XI9TUyoz56irYEdQ==,type:str] asterisk-pjsip: ENC[AES256_GCM,data:PMgHCdo7K1a9/OitWdUonJ66gr70uwYgylCCWAO9cYOeXdPTIFuFLHlgBIUUxfln3UqhquTzoTluZJW9vaSuzZGe1kLIYrb1hRyrM0HLCCQc8m46jN898le/9ZrEivxonWkxf4FTfpENIf7iEr5KHh4vfd4tr4IbORTFdpcbsy8pd5eyvS8G2z9dynIWS19zqrzfGrW6yZICzAJz28IQCiiHgpN16bqSwlcPm1UdX+qi0+ZJ3TAr16Px1F9VFOXtEsu4EZvJSomecJDuhjo3QzBFffXDL971of8KX05BJgtpP6SzIZXKfSWaOxaguctdFr2tScvze0o3FXpDoOn0cvinOdYQt1P2TzjFnBZ4I3N1turpD4be9xJ92coV/j1hBsZHj2mWE/iCdsrzj2uP/74b4Mo1BJZ6l1gXFg3OgyDXaVoMxAOnutelCEG0lf78hsJXF56aQ1LVSUly6ugZP4rMiPFg5oa7WfrIsVVURUt7WRFrDLCYIQVynpfeUxHshPSB+/jVvYLqie5XeNt8B8mgTJYFo5hFB28sa1beqYEA27QMT3gRvWivqDnuf8soVi/r3WREfnSCBujhzXQF/uJZEwqVEn0OQo9ICfJ8hqtvDiAw6Hb4Wn+0maoYQeKjbPHeL3kr1SUE/kU913FNig4Yn66QKYevLLIkd3uQ0GqTLcgn4Ttwu3qArlXXxrI4US8yA7XGQUutVadN7ayyZBbYnw+vUTlPfhSO+ridK3huGKnQfcPAbD31L11EeQBe2820Nba9Bb4d5QAkiGsNj5y9tZ4Vl6l2JErO63fVPKQ9fPxD3yYyZpP8Hm1e7Wl1eRsNtoWqkTRtno7hIpAYFoMYTUk2x5U/qZOgtRX0JHufi6+GXvPPlBaQNfiGzNlJjdmtTT6MGLPRQjsASGi00pSjKd4psAj9Uf8rttsHhJHvIRDRsiNSjae+JGbVlyyauU1JL44Qf+U+MaJDjkLagNqUZ9xgNFmXzr7st6bRFYCJHkmQC8bgJsdpwRMz3HjNzrKZRvRhHIiwT3d+oyrd9hoSQl3JkxcrD7AfEThrBQL9BpGCDcfr5RzfNv8Fb08tR7rlIzyb6Rw3eKlY1obfZRRNTF+iYlBDz8LLI+BwWqJiefbHB2F9nOC0of5Eqm5gjn+MXSKuSIP5ltDsjfO+m6q7c+t7udKwnJVnePtOnuf4uQpKfxjpld4e8Y1N9hyuKSjqEy83UB4yXJb1OoUAOXENvdPhGFDghmSC+ZVcCZRBG2k6d6MdXY6AkdjUAteDQLsDNMwpW8a8RwOXlDoAtxu7yEYP51BrHu2spagNfXMWHThnkcuR/TvqAPmcPlzVjcX+tnuU0k+JK5e4eWc+diTcvo8fpeaKi7A4uyGWRaZsoaauxsK1dEwIgmAAYyWc0Hl+Z49/dLW8kgr/Qh9N5SRRk/SLk4GvS0uyYYClN7G/7LdMDUwWifr32oqXEINDh0NEyehEJ9dEQsIIH5gR3OdlEAuL1C7/Js3/ZCdBREXRYt4y5y4TAO/kMmGgv7Y/Z2XVD0klXVBMvVnil4LJ0H5KF+RZC4j/C6acRBdrPaI0nlE3bfAbmizQN9D7jOj5BkkRzBaYlMaBuFKRKUA6CUanhUWhIn3ZlF3Z+o4PGB2c7EFXZN+PzOSgkQYUD7KtVW/QV94mxkcqN9mKe6mAbj87neN1IHhEkNOj7KJQP60pqDjx6N+WYFpD3sYvDcJDg2WFumR8F2v+jHx09v5AB1r6AzhPJ3TCwnHN4e1+Nexxlb91iPcoSmLRF3Fimn7307260CtaA70hngWHSRaBcKTXi3WL1v9kKOou2kKs1GMy5bjREtqheBxZ1i4x56VtANF9lo9UT+97qxuAqk08Rc4z9j5M8cJK/d1syRT0z/uAuTWlRgxdE/Fj/OlDNr/SnZw9CLkQ0SVJAuJFFg9EY0ru3PC9PDNt9CJiVy0GoeK0mv7ZkTv2o456kdzMpJPBwpKLIO9tpZBbNZrMn1HpLJrfXIvmuVDFmm3EH6FVhGoI+4yB11Eo/2aEMzUOEtn55KNeESkoVel6GgYiwrg1ZlQS7XhdCTGyCOMbFTOLHgUe4vaUfPBNOyLaLWE3ZiyGCxVb+nBltcPSDHrNtbc2fuPqVom3Z1wfmako1BGcwRzbLdaUPwuu6eRa/KxppPh/PoYTttPxOArql25BWAVTI6BIhlvGgZgqDRwihHBGt1uyXjwv4ufES5zgxhMB8mNqVnCSkcLXXyvpmCiB5kEv5+V4nCJIXSNbmym+V9tEzGh+cx8up24IHrg6gG28fHfMcV7Z+JzN86jogr+sgH9wigrcYcDqTE9lHJhaZlmNraTl8viAwEXkPC/dnQuPSTX5V1qeRtKo1oFkf9xnPhdVLq51GoVU+MhQqZsbnqymgKnPWTQq3Kyiux5go/Li0BqfiV+Wwpn+f3WXJ21aMpU2FfIR26z2DULlJUYDKoewmklq8vzk5iZ/tywPFGR1G0z8IM5jwr+qz0uEccAtulCWsQjtvw0kGLnTsoB2WNL4x0Kti/cE14purKaE65wMrBoG/mxd6R7ZHE7u/Uo1MDAsgqsS8MomCqyxC/1yH9BdhpXc6VZJpborqWQjW/kK8/OBxWFjfQgwvDGeQkgv2ShV0c8U6DgnS545Im9aAxQGvu1sXMhnVNQZdZ2Ta3Gz7bTHqkxB4/X7KGHdGSmw5s/RQfo0BkBBBLLTc49pcmJTxG5LPkRebCM8ANX57qj3u/D9wYumFKclTglNdrjaxSdh3zTb1kEQ0rn/D4z7lVNUsw7srUUZeEadg3xTZSmSustbziXvp51juiJeyPjVY2AlmbVVxU0O245kbyWA8lHcEluo+dfk0Rr9hDNHz35NxQRCslPHiSKswxfuPcqyzlSiBMLsMWrJ5/RyQJgaO/XJ/x3R2o4h+MiHtUKj91epxAIpYD8JqQ4eaUkP6GJRNDSNLK3VNP69Qecc7b6AvV5udzt2up0lp7OuzEZeT88Vg8YcZvOv1UTxmkI6dem1xi4imJs+V4OZrcSt9ZTlc34rc6/lvVxVQZs/1vADB0ZVk3jp24KWuRWFGacJqUIxW8TbI8N1DtmZcf7sqoQU1QPRzkOa/UYmzWablAP4B5M5WOjyr3YSJGOzHxN+GSSs4K4jHUon+LbpKxHL5KJUSsD+kZFTfsDauFhAzpFDhR2wW/XYLr0iTvKQ6+26dIpW65P8Egv+n/CXQE0wuJ1R5z0M4FucpUo+FTUIcww8cfqfHqMlMeKEFeu8/QNdZ0uj06Q8/j6E/OUjpxTIVRQBs4qaLWxMZv3zulCUe9Czr6c28NhewIJlLUxOnCVDo5pT1OmzZPghurNyhTBFP8PfJrRXN1h2uvXfGP46dgt9jgeqqQqP9xlq+fzo9cyEZ/n4nQvY+CBuOW9Cqo41zNB0PQ3tC9SU477gQkDrg0M6/bAk+xsqVg1DpZOSuRUQnOfbTdZ1CXhESy+dcri9BeKKcTCZ6aenvW4W4J6OV8en3L4jPFsgqEWJUk1qr9ggM5NXc7RIrR0eCsiR9V1gi4HWMF1roTZ3wK9NvdATj3HWTGssfdpXht/vjedIp+InNWBWjnBfIf7XWuPgiB/ZW9uew8g8vDLULGVtww==,iv:bFKc8e+3rLAHje8UWwY2elof5xqceTTWX1f7nkE91nM=,tag:NWMiljj8urTDoka5bkF0jg==,type:str] asterisk-ari: ENC[AES256_GCM,data:HnY7d3BdScb0bmsBVlsTHAMv2k8tyyA/,iv:q+NsCHcGGOCe6gdAHbFfjKvO4dyWoW/xI5jtngJmdds=,tag:e8kuEsEokf5lAAgO/coxTQ==,type:str] -asterisk-voicemail: ENC[AES256_GCM,data:UbMjSgxZpUDzPpeVPQKfDEwKe/KgZJdMf+1q7YyPtjqiw80flSo3NqLREtuGshHVFqTSS+UFoucpJMx0qB3h4YCqJgSsJQB692q1fra1aLtnw08u1eEkqyi4EKBN4KuaD8E6zggN7Zor7IqEPrAp3H/JAWvoMqGaWZTn4vJbNnzFHp9JPvzyf0emmXTXm+SJFjoSjuT3tgrimQ9UsgUrX4Nxx6ZTMKnRU72+sEaRqtSjlYfk4aYveB82oV+s1iexGidy8vgVEJzRxkkbc87+2BrSTGW63VjIMLSYAFYOQp+hsP263lRJ8ZJYdJqrk49KXMpz8M5/lgk4P78Z/1PQ741CxpzLfo2oXij6jNPaH4jGujrsqK6lUSWi4g9rft76hYZF15absiLbvJZLIXcwTG4OsFkd+c7Ths7j/P/ttjBcnOgykz8ywW8XsSISBXehaO6FwPk37rddUHeEYOvwzKbH1qpgbtS5z/BKONKxqh+8FY5Wf3n80/0SbBQ3JlBnuTuqHQQlKCv2zkzGQv3aeu1WgqmM1+OH3BgSFM/F4o/gINWsOdU0DD9rNobb909mJspY3E1iEdPEElrMeZ/xKc2Zl1sKQtZIyZMRm0gYo/H/hODmBS3bqvTapmeMWpe5SCyw03FTp1O//brPHLdNqglkll9qqgsf4JUnCqefK5qyqqS4kPcDAzSBrYcBZLsKg5DnZbedD/rFNPDrlTaADMo4HkpwtE3U8jznVSDqAL3PfWvGk/bYLxaObXIzPpZybL/ILnnV5iifqSkhqhVwUaCX6nH0uB0mpiwXFbrFRYY6egqKrxtLoMEh5qT3wFdtKTt9a0Nnytvh/00vpv9yiHVEgkXGFkSC4Y3n3rSImWONKO+mYvlPH5kKM9vT9nIKBRBC7rmM3NRCKYCtPyOZlmTb6spADscUC6kux51Abd7GT/XWCmETB6cMNN2IQUVuJvcXX8IJay/mYYdgwY1DtVAWSkJlnJGAuvNQL4/v5v08u8GrnCO89aZwbA56zEulOBVr5iINm0BmqCAg9OHJGjlq4eK0/5bT,iv:ra1EmIfT7Pwz5GVidrlTDN/Ox4ErsAvQCe7hoQoTXRg=,tag:T7nCiJ+8djxFbTJfB9Hhxw==,type:str] +asterisk-voicemail: ENC[AES256_GCM,data:uyXeBP+9WkfVot4Ot3vwv3OEZfoVDK2I+lvaPpGJTZp16YNtP+uxNiW2ynewQlORCTY59bP1jW3bQdT/ASGsErOrhInYSytTyfdZ51BF9+jz0TH6oWxsSuuawTrkC8jvJOpejt6XuGoYbbqlM/VL1xzgDkq3ztTxaHTfdTonQij2Q4cYddMRHWIEuBCK7FU2TlHAJeIFZvtE0MiyNNT3rEWSs1xcljTGfMjkoMd+FI1uZSQT4r0kAaPPkvCWcAGH6R+F0Ue++i9TuLhu+sDV+X6u3N/garDW74H0bOcLJysImtuPXh1aXuBkHQuC1Liss/IF4NDjtDDhpfc0eePR5MWv/Kj0q+VFJiUPY6XnWh6fG9I2yY22+I7eAAg/xWVZBXPWbFHRz8jm1owp4ln6/hcrJOw6Fzw8tZ6Jd9nciOeOmR1KtjEzklPP5kP1YQPtGio/LnOaAAhTHy16MbWf/Ey4S30+eHB+joD8OM93+YxxrdKNE6XXEcAhkdpHYecrvz4Co1fhY7ZoOnNvA8Juup/7PMyNEU/Fy4Pta34aT/j1s7de2vTpRNBeecWvgFA9Qd7Re/2XPqOAkpduxDniwsUdb52oL39MBoOCY8brmXn2J/mMDeOmoqvjRHsPZsajPTAqF/nqRB8VpwoZAKAx59DYBGgmHz7/7JRX9NXOAus1yLbMfVqDftk6+KTFQ9wCqei3jaI/K5AJrSEwlZG0BLoDefIGXT5f8bNNgSn865j2RP+FLa6W3/u5t+k=,iv:/phktIxMdDO5Nrum7hf3oLDmQO04lrkvFuHNw77aRks=,tag:7OUg0BG9X7nBHWiQNaSOEQ==,type:str] sops: kms: [] gcp_kms: [] @@ -18,8 +18,8 @@ sops: MU41eU8zeTRRUlZyUXV0U1N6U0NRNnMKZK3vfyRRr7Iu6HfpdpmDTKzUbEnCnW9l rGjFmY9VX2q9w3j/4E5uUToQfeGMqqBTOFUB3hNgU8K5ZT7wMbOXAg== -----END AGE ENCRYPTED FILE----- - lastmodified: "2022-12-06T22:00:11Z" - mac: ENC[AES256_GCM,data:rg0vVhW4rXOJb72LDCLNTQtCHQu165knPZuGT56zoGGWHPDDTWnqt/WaBHyUoIBXWe286jW+aV0hFZMRCrS8cu+XSTztmXDIuNaYU7s8XW8ZzISUTCHDVUiYRSjaZXvCprr0cpiQoJ9dAl+Rm5m50elCdC8E7VaNGEYTIYWYLtk=,iv:7R8xt3WJKdcMrUdL/byMIbS9cv0dxlxou26Q3liIxSQ=,tag:IENmJHOSX9nLhrnSVHZltg==,type:str] + lastmodified: "2023-10-29T11:47:51Z" + mac: ENC[AES256_GCM,data:Ydzfs57nFEAOIs5TonA6cP+btYiDXoVD08F1dQMXIAudw/I1svuO39so4pDglrzvNRraUyvMhSuwfDOGkjWT2AE06UBL7KQOYPDiZWasg42N6YORfMFDr2MOrhcaVZ1y3dad8wAEpuNySbXIi5LGy366UEgKGHkrxQ6RdD84NYA=,iv:BZQ6pn2Tvpy6QWR+HWn1KBDoiuwDjlixbFnDTXZN5RU=,tag:4XeYUfS0cT+PvZ+Julo3/A==,type:str] pgp: - created_at: "2022-11-02T22:14:19Z" enc: |- diff --git a/hosts/aluminium/services/asterisk.nix b/hosts/aluminium/services/asterisk.nix index 2f03b34..9ea5b1f 100644 --- a/hosts/aluminium/services/asterisk.nix +++ b/hosts/aluminium/services/asterisk.nix @@ -17,9 +17,8 @@ in "extensions.conf" = '' [sipgate-in] exten = _499846876,1,Noop(Processing an incoming call) - ;same = n,Dial(PJSIP/10) - same = n,Dial(PJSIP/10&PJSIP/11,45,tT) - ;same = n,VoiceMail(876@lechner,u) + same = n,Dial(PJSIP/10&PJSIP/11,25,tT) + same = n,VoiceMail(876@lechner,u) same = n,Hangup() exten => _4998469779781,1,Verbose(3,Incoming fax) @@ -79,10 +78,10 @@ in same = n,Hangup() [voicemail-callback] - exten = s,1,HasNewVoicemail(977892@pauline) + exten = s,1,HasNewVoicemail(876@lechner) exten = s,2,Hangup - exten = s,102,Dial(PJSIP/12,15) - exten = s,n,VoiceMailMain(977892@pauline) + exten = s,102,Dial(PJSIP/10&PJSIP/11,15) + exten = s,n,VoiceMailMain(876@lechner) exten = s,n,Hangup @@ -193,4 +192,58 @@ in Unit = "asterisk-reload-endpoint@sipgate.service"; }; }; + + systemd.services."asterisk-voicemail-call@" = { + description = "Check if voicemail exists and place a call to the voicemail application."; + serviceConfig = { + Type = "oneshot"; + }; + scriptArgs = "%I"; + script = '' + export PATH=${pkgs.lib.makeBinPath [pkgs.asterisk pkgs.coreutils pkgs.findutils]} + number="$(echo "$1" | cut -d ':' -f 1)" + user="$(echo "$1" | cut -d ':' -f 2)" + channel="PJSIP/$(echo "$1" | cut -d ':' -f 3)" + + if ! find "/var/spool/asterisk/voicemail/$user/$number/INBOX/" -mindepth 1 -maxdepth 1 | read; then + exit + fi + + callfile="$(mktemp -p /tmp XXXXXXXXXX.call)" + chmod 644 "$callfile" + + cat > "$callfile" << EOF + Channel: $channel + WaitTime: 15 + Application: VoiceMailMain + Data: $number@$user + CallerID: Voicemail + EOF + + mv "$callfile" /var/spool/asterisk/outgoing/ + ''; + }; + + systemd.timers.asterisk-voicemail-call-10 = { + description = "Check if voicemail exists and place a call to the voicemail application."; + after = [ "asterisk.service" ]; + wantedBy = [ "timers.target" ]; + timerConfig = { + Persistent = true; + OnCalendar = "*-*-* 07..22:00,20,40:00"; + Unit = "asterisk-voicemail-call@876:lechner:10.service"; + }; + }; + systemd.timers.asterisk-voicemail-call-11 = { + description = "Check if voicemail exists and place a call to the voicemail application."; + after = [ "asterisk.service" ]; + wantedBy = [ "timers.target" ]; + timerConfig = { + Persistent = true; + OnCalendar = "*-*-* 07..22:00,10,30:50"; + Unit = "asterisk-voicemail-call@876:lechner:11.service"; + }; + }; + + #voicemailCallScript } From e66b8963f1ab947f24e462c919828113413e214b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 2 Nov 2023 14:02:31 +0000 Subject: [PATCH 059/766] Sort dnsmasq server list --- modules/dnsmasq.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/dnsmasq.nix b/modules/dnsmasq.nix index 3a5ff06..264d3d7 100644 --- a/modules/dnsmasq.nix +++ b/modules/dnsmasq.nix @@ -7,11 +7,11 @@ resolveLocalQueries = true; settings = { server = [ - "127.0.0.1#9053" - "/lechner.zz/192.168.0.1" - "/lab.fablab-nea.de/192.168.94.1" - "/login.wifionice.de/172.18.0.1" "/iceportal.de/172.18.0.1" + "/lab.fablab-nea.de/192.168.94.1" + "/lechner.zz/192.168.0.1" + "/login.wifionice.de/172.18.0.1" + "127.0.0.1#9053" ]; no-resolv = true; interface = "lo"; From 39655d2f372b76337af98bc6da018307c9977244 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 2 Nov 2023 14:03:05 +0000 Subject: [PATCH 060/766] Add home domain --- modules/dnsmasq.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/dnsmasq.nix b/modules/dnsmasq.nix index 264d3d7..e33f50b 100644 --- a/modules/dnsmasq.nix +++ b/modules/dnsmasq.nix @@ -9,6 +9,7 @@ server = [ "/iceportal.de/172.18.0.1" "/lab.fablab-nea.de/192.168.94.1" + "/lan.bw.jalr.de/192.168.42.1" "/lechner.zz/192.168.0.1" "/login.wifionice.de/172.18.0.1" "127.0.0.1#9053" From 2440ea285c46d523b64873b22d342a601ba8f871 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 7 Nov 2023 02:01:47 +0000 Subject: [PATCH 061/766] Add myintercom doorbell --- hosts/aluminium/secrets.yaml | 5 +- hosts/aluminium/services/asterisk.nix | 14 + hosts/aluminium/services/default.nix | 1 + hosts/aluminium/services/doorbell.nix | 19 ++ pkgs/default.nix | 1 + pkgs/modules.nix | 1 + pkgs/myintercom-doorbell/.envrc | 1 + pkgs/myintercom-doorbell/.gitignore | 1 + pkgs/myintercom-doorbell/README.md | 0 pkgs/myintercom-doorbell/default.nix | 12 + pkgs/myintercom-doorbell/module.nix | 99 +++++++ .../myintercom_doorbell/audiosocket.py | 83 ++++++ .../myintercom_doorbell/connection.py | 245 ++++++++++++++++++ .../myintercom_audiosocket.py | 98 +++++++ .../myintercom_doorbell/open.py | 36 +++ .../myintercom_doorbell/service.py | 98 +++++++ pkgs/myintercom-doorbell/poetry.lock | 24 ++ pkgs/myintercom-doorbell/pyproject.toml | 20 ++ pkgs/myintercom-doorbell/shell.nix | 8 + 19 files changed, 764 insertions(+), 2 deletions(-) create mode 100644 hosts/aluminium/services/doorbell.nix create mode 100644 pkgs/myintercom-doorbell/.envrc create mode 100644 pkgs/myintercom-doorbell/.gitignore create mode 100644 pkgs/myintercom-doorbell/README.md create mode 100644 pkgs/myintercom-doorbell/default.nix create mode 100644 pkgs/myintercom-doorbell/module.nix create mode 100644 pkgs/myintercom-doorbell/myintercom_doorbell/audiosocket.py create mode 100644 pkgs/myintercom-doorbell/myintercom_doorbell/connection.py create mode 100644 pkgs/myintercom-doorbell/myintercom_doorbell/myintercom_audiosocket.py create mode 100644 pkgs/myintercom-doorbell/myintercom_doorbell/open.py create mode 100644 pkgs/myintercom-doorbell/myintercom_doorbell/service.py create mode 100644 pkgs/myintercom-doorbell/poetry.lock create mode 100644 pkgs/myintercom-doorbell/pyproject.toml create mode 100644 pkgs/myintercom-doorbell/shell.nix diff --git a/hosts/aluminium/secrets.yaml b/hosts/aluminium/secrets.yaml index 6de2513..a920ae9 100644 --- a/hosts/aluminium/secrets.yaml +++ b/hosts/aluminium/secrets.yaml @@ -1,5 +1,6 @@ duckdns-secret: ENC[AES256_GCM,data:hp4aWnmTYKZhBehY0nuRV+H9bpCdK2uNqY3J0s1w6JsiyXip,iv:X0MtN+lqDqucgHOgS1D/RrMksNydLFW1/wqD47DWhqQ=,tag:+7qsJEJYzI+UUrdC6NZr4Q==,type:str] pap-secrets: ENC[AES256_GCM,data:UyC63/4EXZjypFlH7MLtJXpIBgD9P/Eolg2M1A==,iv:tf8W8rpRa487PIB9NW4NyDKgCoWYV/wDgs9MmKLZ/mc=,tag:r+zgW8XI9TUyoz56irYEdQ==,type:str] +myintercom-doorbell-password: ENC[AES256_GCM,data:waUUvHQ9BZFePQ==,iv:ev21SNOwzdNMc3Opo6Kgdd7daLNUf9e1/C9RtxQKV8U=,tag:aOi2f3VuR49J0sHNrVXW/A==,type:str] asterisk-pjsip: ENC[AES256_GCM,data:PMgHCdo7K1a9/OitWdUonJ66gr70uwYgylCCWAO9cYOeXdPTIFuFLHlgBIUUxfln3UqhquTzoTluZJW9vaSuzZGe1kLIYrb1hRyrM0HLCCQc8m46jN898le/9ZrEivxonWkxf4FTfpENIf7iEr5KHh4vfd4tr4IbORTFdpcbsy8pd5eyvS8G2z9dynIWS19zqrzfGrW6yZICzAJz28IQCiiHgpN16bqSwlcPm1UdX+qi0+ZJ3TAr16Px1F9VFOXtEsu4EZvJSomecJDuhjo3QzBFffXDL971of8KX05BJgtpP6SzIZXKfSWaOxaguctdFr2tScvze0o3FXpDoOn0cvinOdYQt1P2TzjFnBZ4I3N1turpD4be9xJ92coV/j1hBsZHj2mWE/iCdsrzj2uP/74b4Mo1BJZ6l1gXFg3OgyDXaVoMxAOnutelCEG0lf78hsJXF56aQ1LVSUly6ugZP4rMiPFg5oa7WfrIsVVURUt7WRFrDLCYIQVynpfeUxHshPSB+/jVvYLqie5XeNt8B8mgTJYFo5hFB28sa1beqYEA27QMT3gRvWivqDnuf8soVi/r3WREfnSCBujhzXQF/uJZEwqVEn0OQo9ICfJ8hqtvDiAw6Hb4Wn+0maoYQeKjbPHeL3kr1SUE/kU913FNig4Yn66QKYevLLIkd3uQ0GqTLcgn4Ttwu3qArlXXxrI4US8yA7XGQUutVadN7ayyZBbYnw+vUTlPfhSO+ridK3huGKnQfcPAbD31L11EeQBe2820Nba9Bb4d5QAkiGsNj5y9tZ4Vl6l2JErO63fVPKQ9fPxD3yYyZpP8Hm1e7Wl1eRsNtoWqkTRtno7hIpAYFoMYTUk2x5U/qZOgtRX0JHufi6+GXvPPlBaQNfiGzNlJjdmtTT6MGLPRQjsASGi00pSjKd4psAj9Uf8rttsHhJHvIRDRsiNSjae+JGbVlyyauU1JL44Qf+U+MaJDjkLagNqUZ9xgNFmXzr7st6bRFYCJHkmQC8bgJsdpwRMz3HjNzrKZRvRhHIiwT3d+oyrd9hoSQl3JkxcrD7AfEThrBQL9BpGCDcfr5RzfNv8Fb08tR7rlIzyb6Rw3eKlY1obfZRRNTF+iYlBDz8LLI+BwWqJiefbHB2F9nOC0of5Eqm5gjn+MXSKuSIP5ltDsjfO+m6q7c+t7udKwnJVnePtOnuf4uQpKfxjpld4e8Y1N9hyuKSjqEy83UB4yXJb1OoUAOXENvdPhGFDghmSC+ZVcCZRBG2k6d6MdXY6AkdjUAteDQLsDNMwpW8a8RwOXlDoAtxu7yEYP51BrHu2spagNfXMWHThnkcuR/TvqAPmcPlzVjcX+tnuU0k+JK5e4eWc+diTcvo8fpeaKi7A4uyGWRaZsoaauxsK1dEwIgmAAYyWc0Hl+Z49/dLW8kgr/Qh9N5SRRk/SLk4GvS0uyYYClN7G/7LdMDUwWifr32oqXEINDh0NEyehEJ9dEQsIIH5gR3OdlEAuL1C7/Js3/ZCdBREXRYt4y5y4TAO/kMmGgv7Y/Z2XVD0klXVBMvVnil4LJ0H5KF+RZC4j/C6acRBdrPaI0nlE3bfAbmizQN9D7jOj5BkkRzBaYlMaBuFKRKUA6CUanhUWhIn3ZlF3Z+o4PGB2c7EFXZN+PzOSgkQYUD7KtVW/QV94mxkcqN9mKe6mAbj87neN1IHhEkNOj7KJQP60pqDjx6N+WYFpD3sYvDcJDg2WFumR8F2v+jHx09v5AB1r6AzhPJ3TCwnHN4e1+Nexxlb91iPcoSmLRF3Fimn7307260CtaA70hngWHSRaBcKTXi3WL1v9kKOou2kKs1GMy5bjREtqheBxZ1i4x56VtANF9lo9UT+97qxuAqk08Rc4z9j5M8cJK/d1syRT0z/uAuTWlRgxdE/Fj/OlDNr/SnZw9CLkQ0SVJAuJFFg9EY0ru3PC9PDNt9CJiVy0GoeK0mv7ZkTv2o456kdzMpJPBwpKLIO9tpZBbNZrMn1HpLJrfXIvmuVDFmm3EH6FVhGoI+4yB11Eo/2aEMzUOEtn55KNeESkoVel6GgYiwrg1ZlQS7XhdCTGyCOMbFTOLHgUe4vaUfPBNOyLaLWE3ZiyGCxVb+nBltcPSDHrNtbc2fuPqVom3Z1wfmako1BGcwRzbLdaUPwuu6eRa/KxppPh/PoYTttPxOArql25BWAVTI6BIhlvGgZgqDRwihHBGt1uyXjwv4ufES5zgxhMB8mNqVnCSkcLXXyvpmCiB5kEv5+V4nCJIXSNbmym+V9tEzGh+cx8up24IHrg6gG28fHfMcV7Z+JzN86jogr+sgH9wigrcYcDqTE9lHJhaZlmNraTl8viAwEXkPC/dnQuPSTX5V1qeRtKo1oFkf9xnPhdVLq51GoVU+MhQqZsbnqymgKnPWTQq3Kyiux5go/Li0BqfiV+Wwpn+f3WXJ21aMpU2FfIR26z2DULlJUYDKoewmklq8vzk5iZ/tywPFGR1G0z8IM5jwr+qz0uEccAtulCWsQjtvw0kGLnTsoB2WNL4x0Kti/cE14purKaE65wMrBoG/mxd6R7ZHE7u/Uo1MDAsgqsS8MomCqyxC/1yH9BdhpXc6VZJpborqWQjW/kK8/OBxWFjfQgwvDGeQkgv2ShV0c8U6DgnS545Im9aAxQGvu1sXMhnVNQZdZ2Ta3Gz7bTHqkxB4/X7KGHdGSmw5s/RQfo0BkBBBLLTc49pcmJTxG5LPkRebCM8ANX57qj3u/D9wYumFKclTglNdrjaxSdh3zTb1kEQ0rn/D4z7lVNUsw7srUUZeEadg3xTZSmSustbziXvp51juiJeyPjVY2AlmbVVxU0O245kbyWA8lHcEluo+dfk0Rr9hDNHz35NxQRCslPHiSKswxfuPcqyzlSiBMLsMWrJ5/RyQJgaO/XJ/x3R2o4h+MiHtUKj91epxAIpYD8JqQ4eaUkP6GJRNDSNLK3VNP69Qecc7b6AvV5udzt2up0lp7OuzEZeT88Vg8YcZvOv1UTxmkI6dem1xi4imJs+V4OZrcSt9ZTlc34rc6/lvVxVQZs/1vADB0ZVk3jp24KWuRWFGacJqUIxW8TbI8N1DtmZcf7sqoQU1QPRzkOa/UYmzWablAP4B5M5WOjyr3YSJGOzHxN+GSSs4K4jHUon+LbpKxHL5KJUSsD+kZFTfsDauFhAzpFDhR2wW/XYLr0iTvKQ6+26dIpW65P8Egv+n/CXQE0wuJ1R5z0M4FucpUo+FTUIcww8cfqfHqMlMeKEFeu8/QNdZ0uj06Q8/j6E/OUjpxTIVRQBs4qaLWxMZv3zulCUe9Czr6c28NhewIJlLUxOnCVDo5pT1OmzZPghurNyhTBFP8PfJrRXN1h2uvXfGP46dgt9jgeqqQqP9xlq+fzo9cyEZ/n4nQvY+CBuOW9Cqo41zNB0PQ3tC9SU477gQkDrg0M6/bAk+xsqVg1DpZOSuRUQnOfbTdZ1CXhESy+dcri9BeKKcTCZ6aenvW4W4J6OV8en3L4jPFsgqEWJUk1qr9ggM5NXc7RIrR0eCsiR9V1gi4HWMF1roTZ3wK9NvdATj3HWTGssfdpXht/vjedIp+InNWBWjnBfIf7XWuPgiB/ZW9uew8g8vDLULGVtww==,iv:bFKc8e+3rLAHje8UWwY2elof5xqceTTWX1f7nkE91nM=,tag:NWMiljj8urTDoka5bkF0jg==,type:str] asterisk-ari: ENC[AES256_GCM,data:HnY7d3BdScb0bmsBVlsTHAMv2k8tyyA/,iv:q+NsCHcGGOCe6gdAHbFfjKvO4dyWoW/xI5jtngJmdds=,tag:e8kuEsEokf5lAAgO/coxTQ==,type:str] asterisk-voicemail: ENC[AES256_GCM,data:uyXeBP+9WkfVot4Ot3vwv3OEZfoVDK2I+lvaPpGJTZp16YNtP+uxNiW2ynewQlORCTY59bP1jW3bQdT/ASGsErOrhInYSytTyfdZ51BF9+jz0TH6oWxsSuuawTrkC8jvJOpejt6XuGoYbbqlM/VL1xzgDkq3ztTxaHTfdTonQij2Q4cYddMRHWIEuBCK7FU2TlHAJeIFZvtE0MiyNNT3rEWSs1xcljTGfMjkoMd+FI1uZSQT4r0kAaPPkvCWcAGH6R+F0Ue++i9TuLhu+sDV+X6u3N/garDW74H0bOcLJysImtuPXh1aXuBkHQuC1Liss/IF4NDjtDDhpfc0eePR5MWv/Kj0q+VFJiUPY6XnWh6fG9I2yY22+I7eAAg/xWVZBXPWbFHRz8jm1owp4ln6/hcrJOw6Fzw8tZ6Jd9nciOeOmR1KtjEzklPP5kP1YQPtGio/LnOaAAhTHy16MbWf/Ey4S30+eHB+joD8OM93+YxxrdKNE6XXEcAhkdpHYecrvz4Co1fhY7ZoOnNvA8Juup/7PMyNEU/Fy4Pta34aT/j1s7de2vTpRNBeecWvgFA9Qd7Re/2XPqOAkpduxDniwsUdb52oL39MBoOCY8brmXn2J/mMDeOmoqvjRHsPZsajPTAqF/nqRB8VpwoZAKAx59DYBGgmHz7/7JRX9NXOAus1yLbMfVqDftk6+KTFQ9wCqei3jaI/K5AJrSEwlZG0BLoDefIGXT5f8bNNgSn865j2RP+FLa6W3/u5t+k=,iv:/phktIxMdDO5Nrum7hf3oLDmQO04lrkvFuHNw77aRks=,tag:7OUg0BG9X7nBHWiQNaSOEQ==,type:str] @@ -18,8 +19,8 @@ sops: MU41eU8zeTRRUlZyUXV0U1N6U0NRNnMKZK3vfyRRr7Iu6HfpdpmDTKzUbEnCnW9l rGjFmY9VX2q9w3j/4E5uUToQfeGMqqBTOFUB3hNgU8K5ZT7wMbOXAg== -----END AGE ENCRYPTED FILE----- - lastmodified: "2023-10-29T11:47:51Z" - mac: ENC[AES256_GCM,data:Ydzfs57nFEAOIs5TonA6cP+btYiDXoVD08F1dQMXIAudw/I1svuO39so4pDglrzvNRraUyvMhSuwfDOGkjWT2AE06UBL7KQOYPDiZWasg42N6YORfMFDr2MOrhcaVZ1y3dad8wAEpuNySbXIi5LGy366UEgKGHkrxQ6RdD84NYA=,iv:BZQ6pn2Tvpy6QWR+HWn1KBDoiuwDjlixbFnDTXZN5RU=,tag:4XeYUfS0cT+PvZ+Julo3/A==,type:str] + lastmodified: "2023-11-06T23:32:51Z" + mac: ENC[AES256_GCM,data:7lW6i4ULus4348NwnV/ovcWebspBcEBzYqLtl+8xFOfe3erIFnC3iRo0ibZJ8yishZpIUxoVu08yxQoa1qEriC57WETMaR+iGUPaY75tHraBJGY26Etk7Hy2QhQ7D+srBY+CogHhHAD8HUwT4/ZiPqKe1eQAvNg/6HWnjbQkG/Q=,iv:r43odkYgQsyK5uJJ5V98kTx7enP7TRuFoTnYfHmD/8o=,tag:hR+1zCniHs1l3qSkhQhtFw==,type:str] pgp: - created_at: "2022-11-02T22:14:19Z" enc: |- diff --git a/hosts/aluminium/services/asterisk.nix b/hosts/aluminium/services/asterisk.nix index 9ea5b1f..82e00ea 100644 --- a/hosts/aluminium/services/asterisk.nix +++ b/hosts/aluminium/services/asterisk.nix @@ -15,6 +15,16 @@ in enable = true; confFiles = { "extensions.conf" = '' + [doorbell] + exten = s,1,Set(__DYNAMIC_FEATURES=doorOpen) + same = n,Dial(PJSIP/10&PJSIP/11,${toString config.services.myintercom-doorbell.dialTime}) + same = n,Hangup() + + [door-open] + exten = s,1,Verbose(0, "opening the door") + same = n,System("${pkgs.myintercom-doorbell}/bin/myintercom-doorbell-open-door") + same = n,Hangup() + [sipgate-in] exten = _499846876,1,Noop(Processing an incoming call) same = n,Dial(PJSIP/10&PJSIP/11,25,tT) @@ -109,6 +119,10 @@ in ; Send the fax exten => send,n,SendFAX(/home/jalr/fax.tif,d) ''; + "features.conf" = '' + [applicationmap] + doorOpen => #9,peer,Gosub,"door-open,s,1" + ''; "http.conf" = '' [general] enabled=yes diff --git a/hosts/aluminium/services/default.nix b/hosts/aluminium/services/default.nix index 1ab0528..bb55c33 100644 --- a/hosts/aluminium/services/default.nix +++ b/hosts/aluminium/services/default.nix @@ -2,6 +2,7 @@ imports = [ ./asterisk.nix ./dnsmasq.nix + ./doorbell.nix ./dyndns.nix ./unifi-controller.nix ]; diff --git a/hosts/aluminium/services/doorbell.nix b/hosts/aluminium/services/doorbell.nix new file mode 100644 index 0000000..8136132 --- /dev/null +++ b/hosts/aluminium/services/doorbell.nix @@ -0,0 +1,19 @@ +{ config, lib, pkgs, ... }: +{ + sops.secrets.myintercom-doorbell-password = { + sopsFile = ../secrets.yaml; + owner = "asterisk"; + }; + services.myintercom-doorbell = { + enable = true; + host = "192.168.0.74"; + username = "btxpvt0002"; + passwordFile = config.sops.secrets.myintercom-doorbell-password.path; + audiosocket = { + address = "127.0.0.1"; + port = 9092; + uuid = "4960ab41-dbef-4773-a25e-90536d97345e"; + }; + callerId = "Sprechanlage"; + }; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index f3fd495..1d0a068 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -13,6 +13,7 @@ in docker-machine-gitlab = callPackage ./docker-machine-gitlab { }; fpvout = callPackage ./fpvout { }; mute-indicator = callPackage ./mute-indicator { }; + myintercom-doorbell = callPackage ./myintercom-doorbell { }; pretix = callPackage ./pretix/pretix.nix { }; pretix-banktool = callPackage ./pretix/pretix-banktool.nix { }; pretix-static = callPackage ./pretix/pretix-static.nix { }; diff --git a/pkgs/modules.nix b/pkgs/modules.nix index 02b906b..3e1a8e3 100644 --- a/pkgs/modules.nix +++ b/pkgs/modules.nix @@ -2,6 +2,7 @@ { imports = [ + ./myintercom-doorbell/module.nix ./pretix/module.nix ]; } diff --git a/pkgs/myintercom-doorbell/.envrc b/pkgs/myintercom-doorbell/.envrc new file mode 100644 index 0000000..1d953f4 --- /dev/null +++ b/pkgs/myintercom-doorbell/.envrc @@ -0,0 +1 @@ +use nix diff --git a/pkgs/myintercom-doorbell/.gitignore b/pkgs/myintercom-doorbell/.gitignore new file mode 100644 index 0000000..9b1c8b1 --- /dev/null +++ b/pkgs/myintercom-doorbell/.gitignore @@ -0,0 +1 @@ +/dist diff --git a/pkgs/myintercom-doorbell/README.md b/pkgs/myintercom-doorbell/README.md new file mode 100644 index 0000000..e69de29 diff --git a/pkgs/myintercom-doorbell/default.nix b/pkgs/myintercom-doorbell/default.nix new file mode 100644 index 0000000..9d7fd58 --- /dev/null +++ b/pkgs/myintercom-doorbell/default.nix @@ -0,0 +1,12 @@ +{ lib, python3, poetry2nix }: + +poetry2nix.mkPoetryApplication rec { + pname = "myintercom-audiosocket"; + version = "0.0.1"; + projectDir = ./.; + overrides = poetry2nix.overrides.withDefaults (final: prev: { + urllib3 = prev.urllib3.override { + preferWheel = true; + }; + }); +} diff --git a/pkgs/myintercom-doorbell/module.nix b/pkgs/myintercom-doorbell/module.nix new file mode 100644 index 0000000..2acc1fe --- /dev/null +++ b/pkgs/myintercom-doorbell/module.nix @@ -0,0 +1,99 @@ +{ config, lib, pkgs, ... }: + +let + cfg = config.services.myintercom-doorbell; +in +{ + options.services.myintercom-doorbell = with lib; with lib.types; { + enable = mkEnableOption "Enable myintercom service"; + host = mkOption { + type = types.str; + description = "The Hostname of myintercom."; + example = "myintercom.lan.example.net"; + }; + username = mkOption { + type = types.str; + description = "Username for basic auth."; + }; + passwordFile = mkOption { + type = types.path; + description = "Path to the file that contains the basic auth password."; + }; + audiosocket = { + address = mkOption { + type = types.str; + description = "Address the AudioSocket binds to."; + default = "127.0.0.1"; + }; + port = mkOption { + type = types.port; + description = "Port the AudioSocket binds to."; + default = 9092; + }; + uuid = mkOption { + type = types.str; + example = "e461837f-22b0-4652-955f-e1a444f3a42e"; + }; + }; + callerId = mkOption { + type = types.str; + description = "The display name to show when the doorbell rings a phone."; + example = "Doorbell"; + }; + dialTime = mkOption { + type = types.int; + description = "The duration how long to wait for the call to be answered."; + default = 45; + }; + }; + + config = lib.mkIf cfg.enable { + environment.etc."myintercom-doorbell/settings.json".text = builtins.toJSON { + host = cfg.host; + username = cfg.username; + passwordFile = cfg.passwordFile; + audiosocket = { + address = cfg.audiosocket.address; + port = cfg.audiosocket.port; + uuid = cfg.audiosocket.uuid; + }; + callerId = cfg.callerId; + dialTime = cfg.dialTime; + }; + + systemd.services.myintercom-doorbell-poll = { + enable = cfg.enable; + description = "Polls myintercom doorbell ring button status."; + after = [ "asterisk.service" ]; + serviceConfig = { + Type = "simple"; + User = "asterisk"; + ExecStart = "${pkgs.myintercom-doorbell}/bin/myintercom-doorbell-poll"; + }; + }; + + systemd.services.myintercom-doorbell-audiosocket = { + enable = cfg.enable; + description = "myintercom doorbell AudioSocket for Asterisk"; + requires = [ "asterisk.service" ]; + serviceConfig = { + Type = "simple"; + DynamicUser = true; + CapabilityBoundingSet = null; + PrivateUsers = true; + ProtectHome = true; + RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictNamespaces = true; + SystemCallFilter = "@system-service"; + LoadCredential = "password:${cfg.passwordFile}"; + Environment = [ + "LISTEN_ADDRESS=${cfg.audiosocket.address}" + "LISTEN_PORT=${toString cfg.audiosocket.port}" + "USERNAME=${cfg.username}" + "PASSWORD_FILE=%d/password" + ]; + ExecStart = "${pkgs.myintercom-doorbell}/bin/myintercom-doorbell-audiosocket"; + }; + }; + }; +} diff --git a/pkgs/myintercom-doorbell/myintercom_doorbell/audiosocket.py b/pkgs/myintercom-doorbell/myintercom_doorbell/audiosocket.py new file mode 100644 index 0000000..0bb4453 --- /dev/null +++ b/pkgs/myintercom-doorbell/myintercom_doorbell/audiosocket.py @@ -0,0 +1,83 @@ +import socket +from threading import Thread +from dataclasses import dataclass + +from .connection import Connection + + +@dataclass +class audioop_struct: + ratecv_state: None + rate: int + channels: int + ulaw2lin: bool + lin2ulaw: bool + + +# Make a single, global object instance, +# then loop with listen() method alone where needed + + +# Creates a new audiosocket object +class Audiosocket: + def __init__(self, bind_info, timeout=None): + # By default, features of audioop (for example: resampling + # or re-mixng input/output) are disabled + self.user_resample = None + self.asterisk_resample = None + + if not isinstance(bind_info, tuple): + raise TypeError("Expected tuple (addr, port), received", type(bind_info)) + + self.addr, self.port = bind_info + + self.initial_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + self.initial_sock.bind((self.addr, self.port)) + self.initial_sock.settimeout(timeout) + self.initial_sock.listen(1) + + # If the user didn't specify a port, the one that the operating system + # chose is availble in this attribute + self.port = self.initial_sock.getsockname()[1] + + # Optionally prepares audio sent by the user to + # the specifications needed by audiosocket (16-bit, 8KHz mono LE PCM). + # Audio sent in must be in PCM or ULAW format + def prepare_input(self, inrate=44000, channels=2, ulaw2lin=False, lin2ulaw=False): + self.user_resample = audioop_struct( + rate=inrate, + channels=channels, + ulaw2lin=ulaw2lin, + lin2ulaw=lin2ulaw, + ratecv_state=None, + ) + + # Optionally prepares audio sent by audiosocket to + # the specifications of the user + def prepare_output(self, outrate=44000, channels=2, ulaw2lin=False, lin2ulaw=False): + self.asterisk_resample = audioop_struct( + rate=outrate, + channels=channels, + ulaw2lin=ulaw2lin, + lin2ulaw=lin2ulaw, + ratecv_state=None, + ) + + def listen(self): + conn, peer_addr = self.initial_sock.accept() + connection = Connection( + conn, + peer_addr, + self.user_resample, + self.asterisk_resample, + ) + + connection_thread = Thread(target=connection._process, args=()) + connection_thread.start() + + return connection + + # If we want this single object to serve multiple simultaneous + # connections, accept() will have to be put in a while loop + # If this does become the case, what is the best way to deliver the + # queue objects to the caller, keep them wrapped in read/write methods? diff --git a/pkgs/myintercom-doorbell/myintercom_doorbell/connection.py b/pkgs/myintercom-doorbell/myintercom_doorbell/connection.py new file mode 100644 index 0000000..12767ea --- /dev/null +++ b/pkgs/myintercom-doorbell/myintercom_doorbell/connection.py @@ -0,0 +1,245 @@ +# Standard Python modules +import audioop +from queue import Queue, Empty +from dataclasses import dataclass +from threading import Lock +from time import sleep + + +# A sort of imitation struct that holds all of the possible +# AudioSocket message types + + +@dataclass(frozen=True) +class types_struct: + uuid: bytes = b"\x01" # Message payload contains UUID set in Asterisk Dialplan + audio: bytes = b"\x10" # * Message payload contains 8Khz 16-bit mono LE PCM audio (* See Github readme) + silence: bytes = b"\x02" # Message payload contains silence (I've never seen this occur personally) + hangup: bytes = b"\x00" # Tell Asterisk to hangup the call (This doesn't appear to ever be sent from Asterisk to us) + error: bytes = b"\xff" # Message payload contains an error from Asterisk + + +types = types_struct() + + +# The size of 20ms of 8KHz 16-bit mono LE PCM represented as a +# 16 bit (2 byte, size of length header) unsigned BE integer + +# This amount of the audio data mentioned above is equal +# to 320 bytes, which is the required payload size when +# sending audio back to AudioSocket for playback on the +# bridged channel. Sending more or less data will result in distorted sound +PCM_SIZE = (320).to_bytes(2, "big") + + +# Similar to one above, this holds all the possible +# AudioSocket related error codes Asterisk can send us + + +@dataclass(frozen=True) +class errors_struct: + none: bytes = b"\x00" + hangup: bytes = b"\x01" + frame: bytes = b"\x02" + memory: bytes = b"\x04" + + +errors = errors_struct() + + +class Connection: + def __init__(self, conn, peer_addr, user_resample, asterisk_resample): + self.conn = conn + self.peer_addr = peer_addr + self.uuid = None + self.connected = True # An instance gets created because a connection occurred + self._user_resample = user_resample + self._asterisk_resample = asterisk_resample + + # Underlying Queue objects for passing incoming/outgoing audio between threads + self._rx_q = Queue(500) + self._tx_q = Queue(500) + + self._lock = Lock() + + # Splits data sent by AudioSocket into three different peices + def _split_data(self, data): + if len(data) < 3: + print( + "[AUDIOSOCKET WARNING] The data received was less than 3 bytes, " + + "the minimum length data from Asterisk AudioSocket should be." + ) + + return b"\x00", 0, bytes(320) + + else: + # type length payload + return data[:1], int.from_bytes(data[1:3], "big"), data[3:] + + # If the type of message received was an error, this + # prints an explanation of the specific one that occurred + def _decode_error(self, payload): + if payload == errors.none: + print("[ASTERISK ERROR] No error code present") + + elif payload == errors.hangup: + print("[ASTERISK ERROR] The called party hungup") + + elif payload == errors.frame: + print("[ASTERISK ERROR] Failed to forward frame") + + elif payload == errors.memory: + print("[ASTERISK ERROR] Memory allocation error") + + return + + # Gets AudioSocket audio from the rx queue + def read(self): + try: + audio = self._rx_q.get(timeout=0.2) + + # If for some reason we receive less than 320 bytes + # of audio, add silence (padding) to the end. This prevents + # audioop related errors that are caused by the current frame + # not being the same size as the last + if len(audio) != 320: + audio += bytes(320 - len(audio)) + + except Empty: + return bytes(320) + + if self._asterisk_resample: + # If AudioSocket is bridged with a channel + # using the ULAW audio codec, the user can specify + # to have it converted to linear encoding upon reading. + if self._asterisk_resample.ulaw2lin: + audio = audioop.ulaw2lin(audio, 2) + + if self._asterisk_resample.lin2ulaw: + audio = audioop.lin2ulaw(audio, 2) + + # If the user requested an outrate different + # from the default, then resample it to the rate they specified + if self._asterisk_resample.rate != 8000: + audio, self._asterisk_resample.ratecv_state = audioop.ratecv( + audio, + 2, + 1, + 8000, + self._asterisk_resample.rate, + self._asterisk_resample.ratecv_state, + ) + + # If the user requested the output be in stereo, + # then convert it from mono + if self._asterisk_resample.channels == 2: + audio = audioop.tostereo(audio, 2, 1, 1) + + return audio + + # Puts user supplied audio into the tx queue + def write(self, audio): + if self._user_resample: + # The user can also specify to have ULAW encoded source audio + # converted to linear encoding upon being written. + if self._user_resample.ulaw2lin: + # Possibly skip downsampling if this was triggered, as + # while ULAW encoded audio can be sampled at rates other + # than 8KHz, since this is telephony related, it's unlikely. + audio = audioop.ulaw2lin(audio, 2) + if self._user_resample.lin2ulaw: + audio = audioop.lin2ulaw(audio, 2) + + # If the audio isn't already sampled at 8KHz, + # then it needs to be downsampled first + if self._user_resample.rate != 8000: + audio, self._user_resample.ratecv_state = audioop.ratecv( + audio, + 2, + self._user_resample.channels, + self._user_resample.rate, + 8000, + self._user_resample.ratecv_state, + ) + + # If the audio isn't already in mono, then + # it needs to be downmixed as well + if self._user_resample.channels == 2: + audio = audioop.tomono(audio, 2, 1, 1) + + self._tx_q.put(audio) + + # *** This may interfere with the thread executing _process, consider + # sending type through queue as well, so a hangup message can be done properly + + # Tells Asterisk to hangup the call from it's end. + # Although after the call is hungup, the socket on Asterisk's end + # closes the connection via an abrupt RST packet, resulting in a "Connection reset by peer" + # error on our end. Unfortunately, using try and except around self.conn.recv() is as + # clean as I think it can be right now + def hangup(self): + # Three bytes of 0 indicate a hangup message + with self._lock: + self.conn.send(types.hangup * 3) + + sleep(0.2) + return + + def _process(self): + # The main audio receiving/sending loop, this loops + # until AudioSocket stops sending us data, the hangup() method is called or an error occurs. + # A disconnection can be triggered from the users end by calling the hangup() method + while True: + data = None + + try: + with self._lock: + data = self.conn.recv(323) + + except ConnectionResetError: + pass + + if not data: + self.connected = False + self.conn.close() + return + + type, length, payload = self._split_data(data) + + if type == types.audio: + # Adds received audio into the rx queue + if self._rx_q.full(): + print( + "[AUDIOSOCKET WARNING] The inbound audio queue is full! This most " + + "likely occurred because the read() method is not being called, skipping frame" + ) + + else: + self._rx_q.put(payload) + + # To prevent the tx queue from blocking all execution if + # the user doesn't supply it with (enough) audio, silence is + # generated manually and sent back to AudioSocket whenever its empty. + if self._tx_q.empty(): + self.conn.send(types.audio + PCM_SIZE + bytes(320)) + + else: + # If a single peice of audio data in the rx queue is larger than + # 320 bytes, slice it before sending, however... + # If the audio data to send is larger than this, then + # it's probably in the wrong format to begin with and wont be + # played back properly even when sliced. + audio_data = self._tx_q.get()[:320] + + with self._lock: + self.conn.send( + types.audio + + len(audio_data).to_bytes(2, "big") + + audio_data + ) + + elif type == types.error: + self._decode_error(payload) + + elif type == types.uuid: + self.uuid = payload.hex() diff --git a/pkgs/myintercom-doorbell/myintercom_doorbell/myintercom_audiosocket.py b/pkgs/myintercom-doorbell/myintercom_doorbell/myintercom_audiosocket.py new file mode 100644 index 0000000..6467d24 --- /dev/null +++ b/pkgs/myintercom-doorbell/myintercom_doorbell/myintercom_audiosocket.py @@ -0,0 +1,98 @@ +import os +import sys +import urllib3 + +from multiprocessing import Pipe, Process +from threading import Thread + +from .audiosocket import Audiosocket + + +def open_url(direction, connection, username, password): + print(f"start {direction}", flush=True) + if direction not in ("transmit", "receive"): + raise NotImplementedError + method, headers = { + "receive": ("GET", {}), + "transmit": ("POST", {"Content-Type": "audio/basic", "Content-Length": "0"}), + }[direction] + + url = f"http://192.168.0.74/axis-cgi/audio/{direction}.cgi" + + http = urllib3.PoolManager() + + print(f"start {direction} request", flush=True) + + response = http.request( + method, + url, + headers={ + **urllib3.make_headers(basic_auth=f"{username}:{password}"), + **headers, + }, + preload_content=False, + body=( + None + if direction != "transmit" + else os.fdopen(connection.fileno(), "rb", buffering=0) + ), + ) + print(f"{direction} status is {response.status}", flush=True) + + if direction == "receive": + for data in response.stream(amt=160): + connection.send_bytes(data) + + +def handle_connection(call, username, password): + print(f"Received connection from {call.peer_addr}") + + pipe_transmit_in, pipe_transmit_out = Pipe() + doorbell_transmit_process = Process( + target=open_url, args=("transmit", pipe_transmit_out, username, password) + ) + doorbell_transmit_process.start() + + pipe_receive_in, pipe_receive_out = Pipe() + doorbell_receive_process = Process( + target=open_url, args=("receive", pipe_receive_in, username, password) + ) + doorbell_receive_process.start() + + with os.fdopen(os.dup(pipe_transmit_in.fileno()), "wb", buffering=0) as f_transmit: + while call.connected: + f_transmit.write(call.read()) + call.write(pipe_receive_out.recv_bytes()) + + print(f"Connection with {call.peer_addr} is now over") + doorbell_transmit_process.terminate() + doorbell_receive_process.terminate() + doorbell_transmit_process.join() + doorbell_receive_process.join() + + +def main(): + audiosocket = Audiosocket( + (os.environ["LISTEN_ADDRESS"], int(os.environ["LISTEN_PORT"])) + ) + + audiosocket.prepare_output(outrate=8000, channels=1, lin2ulaw=True) + audiosocket.prepare_input(inrate=8000, channels=1, ulaw2lin=True) + + print("Listening for new connections " f"from Asterisk on port {audiosocket.port}") + username = os.environ["USERNAME"] + + with open(os.environ["PASSWORD_FILE"], "r", encoding="utf-8") as f: + password = f.read() + + while True: + call = audiosocket.listen() + + call_thread = Thread(target=handle_connection, args=(call, username, password)) + call_thread.start() + + call_thread.join() + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/pkgs/myintercom-doorbell/myintercom_doorbell/open.py b/pkgs/myintercom-doorbell/myintercom_doorbell/open.py new file mode 100644 index 0000000..f3a7211 --- /dev/null +++ b/pkgs/myintercom-doorbell/myintercom_doorbell/open.py @@ -0,0 +1,36 @@ +import json +import os +import sys +import tempfile + +import urllib3 + + +def open_door(host, username, password): + urllib3.PoolManager().request( + "GET", + f"http://{host}/local/Doorcom/door.cgi?r=1", + headers=urllib3.make_headers(basic_auth=f"{username}:{password}"), + ) + + +def read_file_contents(file_name): + with open(file_name, "r", encoding="utf-8") as f: + return f.read() + + +def main(): + with open( + "/etc/myintercom-doorbell/settings.json", "r", encoding="utf-8" + ) as config_file: + config = json.load(config_file) + + open_door( + host=config["host"], + username=config["username"], + password=read_file_contents(config["passwordFile"]), + ) + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/pkgs/myintercom-doorbell/myintercom_doorbell/service.py b/pkgs/myintercom-doorbell/myintercom_doorbell/service.py new file mode 100644 index 0000000..d7abd14 --- /dev/null +++ b/pkgs/myintercom-doorbell/myintercom_doorbell/service.py @@ -0,0 +1,98 @@ +import json +import os +import tempfile + +import urllib3 + +import time + + +def send_open_door_request(host, username, password): + urllib3.PoolManager().request( + "GET", + f"http://{host}/local/Doorcom/door.cgi?r=1", + headers=urllib3.make_headers(basic_auth=f"{username}:{password}"), + ) + + +def get_ring_status(host, username, password): + response = urllib3.PoolManager().request( + "GET", + f"http://{host}/local/Doorcom/monitor.cgi?ring=1", + headers=urllib3.make_headers(basic_auth=f"{username}:{password}"), + preload_content=False, + decode_content=True, + ) + + while True: + line = response.readline() + if line != b"--ioboundary\r\n": + continue + header = response.readline() + if header != b"Content-Type: text/plain\r\n": + continue + if response.readline() != b"\r\n": + continue + data = [] + while True: + line = response.readline() + if line != b"\r\n": + data.append(line.decode().rstrip()) + else: + if data: + yield data + break + + +def read_file_contents(file_name): + with open(file_name, "r", encoding="utf-8") as f: + return f.read() + + +def open_door(): + with open( + "/etc/myintercom-doorbell/settings.json", "r", encoding="utf-8" + ) as config_file: + config = json.load(config_file) + + send_open_door_request( + host=config["host"], + username=config["username"], + password=read_file_contents(config["passwordFile"]), + ) + + +def poll(): + outgoing_dir = "/var/spool/asterisk/outgoing/" + + with open( + "/etc/myintercom-doorbell/settings.json", "r", encoding="utf-8" + ) as config_file: + config = json.load(config_file) + + audiosocket = f"{config['audiosocket']['address']}:{config['audiosocket']['port']}/{config['audiosocket']['uuid']}" + callfile_content = ( + f"Channel: Audiosocket/{audiosocket}\n" + "Context: doorbell\n" + f"CallerID: {config['callerId']}\n" + "Extension: s\n" + "Priority: 1\n" + ) + + while True: + for status in get_ring_status( + host=config["host"], + username=config["username"], + password=read_file_contents(config["passwordFile"]), + ): + if status == ["1:H"]: + print("ringing", flush=True) + with tempfile.NamedTemporaryFile(dir="/var/tmp", mode="w") as f: + f.write(callfile_content) + os.chmod(f.name, 0o644) + os.link( + f.name, os.path.join(outgoing_dir, os.path.basename(f.name)) + ) + time.sleep(config["dialTime"]) + else: + print(".", end="", flush=True) diff --git a/pkgs/myintercom-doorbell/poetry.lock b/pkgs/myintercom-doorbell/poetry.lock new file mode 100644 index 0000000..818c966 --- /dev/null +++ b/pkgs/myintercom-doorbell/poetry.lock @@ -0,0 +1,24 @@ +# This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand. + +[[package]] +name = "urllib3" +version = "2.0.7" +description = "HTTP library with thread-safe connection pooling, file post, and more." +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"}, + {file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +secure = ["certifi", "cryptography (>=1.9)", "idna (>=2.0.0)", "pyopenssl (>=17.1.0)", "urllib3-secure-extra"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] + +[metadata] +lock-version = "2.0" +python-versions = "^3.10" +content-hash = "cb8f26af67979881c24e243af0719b405141855256ced72c73b222b6c03d2bb8" diff --git a/pkgs/myintercom-doorbell/pyproject.toml b/pkgs/myintercom-doorbell/pyproject.toml new file mode 100644 index 0000000..6a7878f --- /dev/null +++ b/pkgs/myintercom-doorbell/pyproject.toml @@ -0,0 +1,20 @@ +[tool.poetry] +name = "myintercom-doorbell" +version = "0.1.0" +description = "" +authors = ["Jakob Lechner "] +readme = "README.md" +packages = [{include = "myintercom_doorbell"}] + +[tool.poetry.dependencies] +python = "^3.10" +urllib3 = "^2.0.7" + +[tool.poetry.scripts] +myintercom-doorbell-audiosocket = "myintercom_doorbell.myintercom_audiosocket:main" +myintercom-doorbell-open-door = "myintercom_doorbell.service:open_door" +myintercom-doorbell-poll = "myintercom_doorbell.service:poll" + +[build-system] +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" diff --git a/pkgs/myintercom-doorbell/shell.nix b/pkgs/myintercom-doorbell/shell.nix new file mode 100644 index 0000000..cd52c53 --- /dev/null +++ b/pkgs/myintercom-doorbell/shell.nix @@ -0,0 +1,8 @@ +with import { }; + +mkShell { + buildInputs = [ + poetry + ]; + +} From 0b5f6200d8960870c6a99e8cf07d0126a20cdeb8 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 7 Nov 2023 16:47:40 +0000 Subject: [PATCH 062/766] Fix asterisk-sounds-de There was a race condition that lead to incorrect user permissions on the sounds directory. The solution to use the preStart script is better and fixes this issue as well. --- hosts/aluminium/services/asterisk.nix | 8 -------- .../default.nix} | 0 pkgs/asterisk-sounds-de/module.nix | 15 +++++++++++++++ pkgs/default.nix | 2 +- pkgs/modules.nix | 1 + 5 files changed, 17 insertions(+), 9 deletions(-) rename pkgs/{asterisk/sounds-de.nix => asterisk-sounds-de/default.nix} (100%) create mode 100644 pkgs/asterisk-sounds-de/module.nix diff --git a/hosts/aluminium/services/asterisk.nix b/hosts/aluminium/services/asterisk.nix index 82e00ea..820689c 100644 --- a/hosts/aluminium/services/asterisk.nix +++ b/hosts/aluminium/services/asterisk.nix @@ -172,14 +172,6 @@ in ]; }; - system.activationScripts.symlink-asterisk-sounds-de = lib.stringAfter [ "var" ] '' - sounds="/var/lib/asterisk/sounds" - sounds_de="$sounds/de" - mkdir -p "$sounds" - [ -L "$sounds_de" ] && rm "$sounds_de" - ln -s "${pkgs.asterisk-sounds-de}/" "$sounds_de" - ''; - systemd.services."asterisk-reload-endpoint@" = { description = "Check if asterisk endpoint is identified and reload it when it is not."; serviceConfig = { diff --git a/pkgs/asterisk/sounds-de.nix b/pkgs/asterisk-sounds-de/default.nix similarity index 100% rename from pkgs/asterisk/sounds-de.nix rename to pkgs/asterisk-sounds-de/default.nix diff --git a/pkgs/asterisk-sounds-de/module.nix b/pkgs/asterisk-sounds-de/module.nix new file mode 100644 index 0000000..0bfbeda --- /dev/null +++ b/pkgs/asterisk-sounds-de/module.nix @@ -0,0 +1,15 @@ +{ config, lib, pkgs, ... }: + +let cfg = config; +in +{ + config = lib.mkIf cfg.services.asterisk.enable { + systemd.services.asterisk.preStart = lib.mkMerge [ + (lib.mkAfter '' + sounds_de="/var/lib/asterisk/sounds/de" + [ -L "$sounds_de" ] && rm "$sounds_de" + ln -s "${pkgs.asterisk-sounds-de}/" "$sounds_de" + '') + ]; + }; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index 1d0a068..1d92bc8 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -6,7 +6,7 @@ let in { ariang = callPackage ./ariang { }; - asterisk-sounds-de = callPackage ./asterisk/sounds-de.nix { }; + asterisk-sounds-de = callPackage ./asterisk-sounds-de { }; docker-machine-driver-hetzner = callPackage ./docker-machine-driver-hetzner { inherit (inputs.gomod2nix.legacyPackages.${system}) buildGoApplication; }; diff --git a/pkgs/modules.nix b/pkgs/modules.nix index 3e1a8e3..f61aa63 100644 --- a/pkgs/modules.nix +++ b/pkgs/modules.nix @@ -2,6 +2,7 @@ { imports = [ + ./asterisk-sounds-de/module.nix ./myintercom-doorbell/module.nix ./pretix/module.nix ]; From 3dece6dba694551a24e5ded4ca57948e51058d14 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 8 Nov 2023 00:41:36 +0000 Subject: [PATCH 063/766] Move asterisk service to own directory --- hosts/aluminium/services/{asterisk.nix => asterisk/default.nix} | 0 hosts/aluminium/services/default.nix | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename hosts/aluminium/services/{asterisk.nix => asterisk/default.nix} (100%) diff --git a/hosts/aluminium/services/asterisk.nix b/hosts/aluminium/services/asterisk/default.nix similarity index 100% rename from hosts/aluminium/services/asterisk.nix rename to hosts/aluminium/services/asterisk/default.nix diff --git a/hosts/aluminium/services/default.nix b/hosts/aluminium/services/default.nix index bb55c33..9539fb7 100644 --- a/hosts/aluminium/services/default.nix +++ b/hosts/aluminium/services/default.nix @@ -1,6 +1,6 @@ { imports = [ - ./asterisk.nix + ./asterisk ./dnsmasq.nix ./doorbell.nix ./dyndns.nix From 0f03bb040950f27dc4fc0ed3ced3bba2fb2f958c Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 8 Nov 2023 10:41:50 +0000 Subject: [PATCH 064/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/bd38df3d508dfcdff52cd243d297f218ed2257bf' (2023-10-25) → 'github:cachix/pre-commit-hooks.nix/ea758da1a6dcde6dc36db348ed690d09b9864128' (2023-11-06) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/60b9db998f71ea49e1a9c41824d09aa274be1344' (2023-10-26) → 'github:nixos/nixpkgs/41de143fda10e33be0f47eab2bfe08a50f234267' (2023-11-06) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/71ef7ea8fe2aff7c21cf2e7ec7283a4276a2f366' (2023-10-29) → 'github:NixOS/nixpkgs/e556bb0b675a849371645b6b79eccd4130744967' (2023-11-08) • Updated input 'nur': 'github:nix-community/NUR/4364937d33ca6b79cd8b66fdf4ee1758ff279e62' (2023-10-29) → 'github:nix-community/NUR/9249f2baa49a8ba139eb084128e092073ed88c4e' (2023-11-08) • Updated input 'sops-nix': 'github:Mic92/sops-nix/632c3161a6cc24142c8e3f5529f5d81042571165' (2023-10-29) → 'github:Mic92/sops-nix/664187539871f63857bda2d498f452792457b998' (2023-11-06) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/d87c5d8c41c9b3b39592563242f3a448b5cc4bc9' (2023-10-29) → 'github:NixOS/nixpkgs/78f3a4ae19f0e99d5323dd2e3853916b8ee4afee' (2023-11-04) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index c071779..d473a85 100644 --- a/flake.lock +++ b/flake.lock @@ -133,11 +133,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1698227354, - "narHash": "sha256-Fi5H9jbaQLmLw9qBi/mkR33CoFjNbobo5xWdX4tKz1Q=", + "lastModified": 1699271226, + "narHash": "sha256-8Jt1KW3xTjolD6c6OjJm9USx/jmL+VVmbooADCkdDfU=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "bd38df3d508dfcdff52cd243d297f218ed2257bf", + "rev": "ea758da1a6dcde6dc36db348ed690d09b9864128", "type": "github" }, "original": { @@ -181,11 +181,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1698544399, - "narHash": "sha256-vhRmPyEyoPkrXF2iykBsWHA05MIaOSmMRLMF7Hul6+s=", + "lastModified": 1699110214, + "narHash": "sha256-L2TU4RgtiqF69W8Gacg2jEkEYJrW+Kp0Mp4plwQh5b8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d87c5d8c41c9b3b39592563242f3a448b5cc4bc9", + "rev": "78f3a4ae19f0e99d5323dd2e3853916b8ee4afee", "type": "github" }, "original": { @@ -197,11 +197,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1698575487, - "narHash": "sha256-msK5JH24pZZ705PSnvZmFXr9JXUrxPylq9fDC6jnApA=", + "lastModified": 1699437456, + "narHash": "sha256-nYPKALWauhG5WvGhx7whUCNFTeLZEtchEre+3Mze4eI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "71ef7ea8fe2aff7c21cf2e7ec7283a4276a2f366", + "rev": "e556bb0b675a849371645b6b79eccd4130744967", "type": "github" }, "original": { @@ -213,11 +213,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1698288402, - "narHash": "sha256-jIIjApPdm+4yt8PglX8pUOexAdEiAax/DXW3S/Mb21E=", + "lastModified": 1699291058, + "narHash": "sha256-5ggduoaAMPHUy4riL+OrlAZE14Kh7JWX4oLEs22ZqfU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "60b9db998f71ea49e1a9c41824d09aa274be1344", + "rev": "41de143fda10e33be0f47eab2bfe08a50f234267", "type": "github" }, "original": { @@ -229,11 +229,11 @@ }, "nur": { "locked": { - "lastModified": 1698576302, - "narHash": "sha256-1NYfEphk3EXgEt+iDJG1qpsdCRe35BQLNLvVoVe29HM=", + "lastModified": 1699435759, + "narHash": "sha256-K1G+UfpvvWFSbHdWtCOTI1MCK4ivQpu/bz9DWB66SJc=", "owner": "nix-community", "repo": "NUR", - "rev": "4364937d33ca6b79cd8b66fdf4ee1758ff279e62", + "rev": "9249f2baa49a8ba139eb084128e092073ed88c4e", "type": "github" }, "original": { @@ -263,11 +263,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1698548647, - "narHash": "sha256-7c03OjBGqnwDW0FBaBc+NjfEBxMkza+dxZGJPyIzfFE=", + "lastModified": 1699311858, + "narHash": "sha256-W/sQrghPAn5J9d+9kMnHqi4NPVWVpy0V/qzQeZfS/dM=", "owner": "Mic92", "repo": "sops-nix", - "rev": "632c3161a6cc24142c8e3f5529f5d81042571165", + "rev": "664187539871f63857bda2d498f452792457b998", "type": "github" }, "original": { From 81ad29049131f60676b7a72757041d6c12ec426f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 8 Nov 2023 20:10:51 +0000 Subject: [PATCH 065/766] Add port attrset --- custom-utils/default.nix | 33 ++++++++++++++++++ custom-utils/ports.nix | 33 ++++++++++++++++++ flake.nix | 5 ++- hosts/aluminium/ports.nix | 7 ++++ hosts/aluminium/services/asterisk/default.nix | 8 +++-- hosts/aluminium/services/doorbell.nix | 8 +++-- hosts/aluminium/services/unifi-controller.nix | 8 +++-- hosts/iron/ports.nix | 16 +++++++++ hosts/iron/services/jellyfin.nix | 11 +++--- hosts/iron/services/mail.nix | 7 +++- hosts/iron/services/matrix/synapse.nix | 6 ++-- hosts/iron/services/navidrome.nix | 9 ++--- hosts/iron/services/nginx.nix | 8 ++++- hosts/iron/services/public-ip-tunnel.nix | 5 +-- hosts/iron/services/radicale.nix | 10 ++++-- hosts/iron/services/sturzbach.nix | 8 ++++- hosts/iron/services/unifi-controller.nix | 8 +++-- hosts/magnesium/ports.nix | 12 +++++++ hosts/magnesium/services/coturn.nix | 34 +++++++++++++------ hosts/magnesium/services/mosquitto.nix | 10 +++--- hosts/magnesium/services/public-ip-tunnel.nix | 5 +-- hosts/magnesium/services/webserver.nix | 8 +++-- hosts/weinturm-pretix-prod/ports.nix | 8 +++++ .../weinturm-pretix-prod/services/pretix.nix | 7 +++- modules/mailserver/default.nix | 5 +++ modules/mailserver/postfix.nix | 2 ++ 26 files changed, 233 insertions(+), 48 deletions(-) create mode 100644 custom-utils/default.nix create mode 100644 custom-utils/ports.nix create mode 100644 hosts/aluminium/ports.nix create mode 100644 hosts/iron/ports.nix create mode 100644 hosts/magnesium/ports.nix create mode 100644 hosts/weinturm-pretix-prod/ports.nix diff --git a/custom-utils/default.nix b/custom-utils/default.nix new file mode 100644 index 0000000..66a9a15 --- /dev/null +++ b/custom-utils/default.nix @@ -0,0 +1,33 @@ +{ lib, ... }: + +let + filterPort = pm: port: ( + lib.attrsets.catAttrs port ( + lib.attrsets.attrValues ( + lib.attrsets.filterAttrs (n: v: v ? "${port}") pm + ) + ) + ); + onlyUniqueItemsInList = (x: lib.lists.length x == lib.lists.length (lib.lists.unique x)); + protocols = (x: lib.lists.unique (lib.flatten (map builtins.attrNames (lib.attrValues x)))); + mkRange = (x: lib.lists.range (builtins.elemAt x 0) (builtins.elemAt x 1)); + validateList = allowed: builtins.all (x: builtins.elem x allowed); +in +{ + validatePortAttrset = portmap: + if ! onlyUniqueItemsInList (lib.flatten (map + (x: + if lib.isInt x then x + else if lib.isList x then x + else if lib.isAttrs x then + ( + if ! validateList [ "range" ] (builtins.attrNames x) then builtins.abort "found invalid attribute name" + else if x ? "range" then if lib.lists.length x.range == 2 then mkRange x.range else builtins.abort "range needs a list with exactly two items" + else builtins.abort "found invalid attrset" + ) + else builtins.abort "found invalid entry in portmap" + ) + (filterPort portmap "udp"))) then builtins.abort "Found duplicate ports." + else if ! validateList [ "tcp" "udp" ] (protocols portmap) then builtins.abort "Found invalid protocol." + else portmap; +} diff --git a/custom-utils/ports.nix b/custom-utils/ports.nix new file mode 100644 index 0000000..66a9a15 --- /dev/null +++ b/custom-utils/ports.nix @@ -0,0 +1,33 @@ +{ lib, ... }: + +let + filterPort = pm: port: ( + lib.attrsets.catAttrs port ( + lib.attrsets.attrValues ( + lib.attrsets.filterAttrs (n: v: v ? "${port}") pm + ) + ) + ); + onlyUniqueItemsInList = (x: lib.lists.length x == lib.lists.length (lib.lists.unique x)); + protocols = (x: lib.lists.unique (lib.flatten (map builtins.attrNames (lib.attrValues x)))); + mkRange = (x: lib.lists.range (builtins.elemAt x 0) (builtins.elemAt x 1)); + validateList = allowed: builtins.all (x: builtins.elem x allowed); +in +{ + validatePortAttrset = portmap: + if ! onlyUniqueItemsInList (lib.flatten (map + (x: + if lib.isInt x then x + else if lib.isList x then x + else if lib.isAttrs x then + ( + if ! validateList [ "range" ] (builtins.attrNames x) then builtins.abort "found invalid attribute name" + else if x ? "range" then if lib.lists.length x.range == 2 then mkRange x.range else builtins.abort "range needs a list with exactly two items" + else builtins.abort "found invalid attrset" + ) + else builtins.abort "found invalid entry in portmap" + ) + (filterPort portmap "udp"))) then builtins.abort "Found duplicate ports." + else if ! validateList [ "tcp" "udp" ] (protocols portmap) then builtins.abort "Found invalid protocol." + else portmap; +} diff --git a/flake.nix b/flake.nix index 2d5ee3c..b693c5f 100644 --- a/flake.nix +++ b/flake.nix @@ -151,7 +151,10 @@ ./modules { - _module.args.inputs = inputs; + _module.args = { + inputs = inputs; + custom-utils = import ./custom-utils { lib = nixpkgs.lib; }; + }; } # deployment settings diff --git a/hosts/aluminium/ports.nix b/hosts/aluminium/ports.nix new file mode 100644 index 0000000..8dfe08a --- /dev/null +++ b/hosts/aluminium/ports.nix @@ -0,0 +1,7 @@ +{ lib, custom-utils, ... }: + +custom-utils.validatePortAttrset { + asterisk-rtp = { udp.range = [ 10000 10200 ]; }; + unifi.tcp = 8443; + doorbell-audiosocket.tcp = 9092; +} diff --git a/hosts/aluminium/services/asterisk/default.nix b/hosts/aluminium/services/asterisk/default.nix index 820689c..7080707 100644 --- a/hosts/aluminium/services/asterisk/default.nix +++ b/hosts/aluminium/services/asterisk/default.nix @@ -1,13 +1,15 @@ -{ config, lib, pkgs, ... }: +args@{ config, lib, pkgs, custom-utils, ... }: + let + ports = import ../../ports.nix args; secretConfigFiles = [ "ari" "pjsip" "voicemail" ]; rtp = { - start = 10000; - end = 10200; + start = builtins.elemAt ports.asterisk-rtp.udp.range 0; + end = builtins.elemAt ports.asterisk-rtp.udp.range 1; }; in { diff --git a/hosts/aluminium/services/doorbell.nix b/hosts/aluminium/services/doorbell.nix index 8136132..33a3bb3 100644 --- a/hosts/aluminium/services/doorbell.nix +++ b/hosts/aluminium/services/doorbell.nix @@ -1,4 +1,8 @@ -{ config, lib, pkgs, ... }: +args@{ config, lib, pkgs, custom-utils, ... }: + +let + ports = import ../ports.nix args; +in { sops.secrets.myintercom-doorbell-password = { sopsFile = ../secrets.yaml; @@ -11,7 +15,7 @@ passwordFile = config.sops.secrets.myintercom-doorbell-password.path; audiosocket = { address = "127.0.0.1"; - port = 9092; + port = ports.doorbell-audiosocket.tcp; uuid = "4960ab41-dbef-4773-a25e-90536d97345e"; }; callerId = "Sprechanlage"; diff --git a/hosts/aluminium/services/unifi-controller.nix b/hosts/aluminium/services/unifi-controller.nix index f34d12d..8004941 100644 --- a/hosts/aluminium/services/unifi-controller.nix +++ b/hosts/aluminium/services/unifi-controller.nix @@ -1,9 +1,13 @@ -{ pkgs, ... }: +args@{ pkgs, custom-utils, ... }: + +let + ports = import ../ports.nix args; +in { services.unifi = { enable = true; openFirewall = true; unifiPackage = pkgs.unifi; }; - networking.firewall.allowedTCPPorts = [ 8443 ]; + networking.firewall.allowedTCPPorts = [ ports.unifi.tcp ]; } diff --git a/hosts/iron/ports.nix b/hosts/iron/ports.nix new file mode 100644 index 0000000..64a0a26 --- /dev/null +++ b/hosts/iron/ports.nix @@ -0,0 +1,16 @@ +{ lib, custom-utils, ... }: + +custom-utils.validatePortAttrset { + jellyfin.tcp = 8096; + matrix-synapse.tcp = 8008; + navidrome.tcp = 4533; + nginx-http.tcp = 80; + nginx-https.tcp = 443; + postfix-relay.tcp = 25; + postfix-submission.tcp = [ 465 587 ]; + qbittorrent-torrent.tcp = 59832; + qbittorrent-webui.tcp = 8099; + radicale.tcp = 5232; + unifi.tcp = 8443; + wireguard-public-ip-tunnel.udp = 51000; +} diff --git a/hosts/iron/services/jellyfin.nix b/hosts/iron/services/jellyfin.nix index c758f74..01aff39 100644 --- a/hosts/iron/services/jellyfin.nix +++ b/hosts/iron/services/jellyfin.nix @@ -1,4 +1,7 @@ -{ lib, pkgs, ... }: +args@{ lib, pkgs, custom-utils, ... }: +let + ports = import ../ports.nix args; +in { services.jellyfin = { enable = true; @@ -57,7 +60,7 @@ # add_header X-XSS-Protection "1; mode=block"; # add_header X-Content-Type-Options "nosniff"; location / { - proxy_pass http://127.0.0.1:8096; + proxy_pass http://127.0.0.1:${toString ports.jellyfin.tcp}; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; @@ -67,7 +70,7 @@ proxy_buffering off; } location = /web/ { - proxy_pass http://127.0.0.1:8096/web/index.html; + proxy_pass http://127.0.0.1:${toString ports.jellyfin.tcp}/web/index.html; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; @@ -76,7 +79,7 @@ proxy_set_header X-Forwarded-Host $http_host; } location /socket { - proxy_pass http://127.0.0.1:8096; + proxy_pass http://127.0.0.1:${toString ports.jellyfin.tcp}; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; diff --git a/hosts/iron/services/mail.nix b/hosts/iron/services/mail.nix index 315f46a..4ed06b9 100644 --- a/hosts/iron/services/mail.nix +++ b/hosts/iron/services/mail.nix @@ -1,4 +1,8 @@ -{ config, pkgs, ... }: +args@{ config, pkgs, custom-utils, ... }: + +let + ports = import ../ports.nix args; +in { sops.secrets.hetzner-api-key = { sopsFile = ../secrets.yaml; @@ -12,6 +16,7 @@ mailserver = { enable = true; fqdn = "hha.jalr.de"; + relayPort = ports.postfix-relay.tcp; domains = [ { domain = "jalr.de"; diff --git a/hosts/iron/services/matrix/synapse.nix b/hosts/iron/services/matrix/synapse.nix index 92357c9..18d5eaf 100644 --- a/hosts/iron/services/matrix/synapse.nix +++ b/hosts/iron/services/matrix/synapse.nix @@ -1,9 +1,11 @@ -{ config, lib, pkgs, ... }: +args@{ config, lib, pkgs, custom-utils, ... }: + let cfg = config.services.matrix-synapse.settings; fqdn = "matrix.jalr.de"; domain = "jalr.de"; turnHost = "turn.jalr.de"; + ports = import ../../ports.nix args; in { sops.secrets = { @@ -23,7 +25,7 @@ in database.name = "sqlite3"; listeners = lib.singleton { - port = 8008; + port = ports.matrix-synapse.tcp; bind_addresses = [ "127.0.0.1" "::1" ]; type = "http"; tls = false; diff --git a/hosts/iron/services/navidrome.nix b/hosts/iron/services/navidrome.nix index 4341818..4f1044a 100644 --- a/hosts/iron/services/navidrome.nix +++ b/hosts/iron/services/navidrome.nix @@ -1,10 +1,11 @@ -{ config, lib, pkgs, utils, ... }: +args@{ config, lib, pkgs, utils, custom-utils, ... }: + let - port = 4533; + ports = import ../ports.nix args; settings = { # https://www.navidrome.org/docs/usage/configuration-options/#available-options Address = "127.0.0.1"; - Port = port; + Port = ports.navidrome.tcp; DevActivityPanel = false; }; passwordEncryptionKeyFile = config.sops.secrets.navidrome-password-encryption-key.path; @@ -38,7 +39,7 @@ in extraConfig = '' add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always; location / { - proxy_pass http://127.0.0.1:${toString port}; + proxy_pass http://127.0.0.1:${toString ports.navidrome.tcp}; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; diff --git a/hosts/iron/services/nginx.nix b/hosts/iron/services/nginx.nix index dd381d3..71bdff2 100644 --- a/hosts/iron/services/nginx.nix +++ b/hosts/iron/services/nginx.nix @@ -1,7 +1,13 @@ -{ pkgs, ... }: +args@{ pkgs, custom-utils, ... }: + +let + ports = import ../ports.nix args; +in { services.nginx = { enable = true; + defaultHTTPListenPort = ports.nginx-http.tcp; + defaultSSLListenPort = ports.nginx-https.tcp; recommendedGzipSettings = true; recommendedOptimisation = true; recommendedProxySettings = true; diff --git a/hosts/iron/services/public-ip-tunnel.nix b/hosts/iron/services/public-ip-tunnel.nix index 5a0cce7..2e1dca8 100644 --- a/hosts/iron/services/public-ip-tunnel.nix +++ b/hosts/iron/services/public-ip-tunnel.nix @@ -1,7 +1,8 @@ -{ config, lib, pkgs, ... }: +args@{ config, lib, pkgs, custom-utils, ... }: let - listenPort = 51000; + ports = import ../ports.nix args; + listenPort = ports.wireguard-public-ip-tunnel.udp; remoteHost = "magnesium.jalr.de"; remotePort = 51000; publicKey = "ABZCQfzlHJ1/iNbWFf6jVvdqSmqjxm3w5bpa0SYclBU="; diff --git a/hosts/iron/services/radicale.nix b/hosts/iron/services/radicale.nix index a4c68e3..bf5196d 100644 --- a/hosts/iron/services/radicale.nix +++ b/hosts/iron/services/radicale.nix @@ -1,4 +1,8 @@ -{ config, ... }: +args@{ config, lib, custom-utils, ... }: + +let + ports = import ../ports.nix args; +in { sops.secrets.radicale-htpasswd = { owner = "nginx"; @@ -11,7 +15,7 @@ forceSSL = true; basicAuthFile = config.sops.secrets.radicale-htpasswd.path; locations."/radicale/" = { - proxyPass = "http://localhost:5232/"; + proxyPass = "http://127.0.0.1:${toString ports.radicale.tcp}/"; recommendedProxySettings = true; #basicAuthFile = ""; extraConfig = '' @@ -28,7 +32,7 @@ enable = true; settings = { server = { - hosts = "127.0.0.1:5232,[::1]:5232"; + hosts = "127.0.0.1:${toString ports.radicale.tcp},[::1]:${toString ports.radicale.tcp}"; ssl = false; }; encoding = { diff --git a/hosts/iron/services/sturzbach.nix b/hosts/iron/services/sturzbach.nix index 8b07325..ea0430a 100644 --- a/hosts/iron/services/sturzbach.nix +++ b/hosts/iron/services/sturzbach.nix @@ -1,10 +1,16 @@ +args@{ config, lib, custom-utils, ... }: + +let + ports = import ../ports.nix args; +in { jalr.qbittorrent = { enable = true; downloadDir = "/sturzbach"; fqdn = "sturzbach.jalr.de"; + webuiPort = ports.qbittorrent-webui.tcp; }; networking.firewall = { - allowedTCPPorts = [ 59832 ]; + allowedTCPPorts = [ ports.qbittorrent-torrent.tcp ]; }; } diff --git a/hosts/iron/services/unifi-controller.nix b/hosts/iron/services/unifi-controller.nix index f34d12d..8004941 100644 --- a/hosts/iron/services/unifi-controller.nix +++ b/hosts/iron/services/unifi-controller.nix @@ -1,9 +1,13 @@ -{ pkgs, ... }: +args@{ pkgs, custom-utils, ... }: + +let + ports = import ../ports.nix args; +in { services.unifi = { enable = true; openFirewall = true; unifiPackage = pkgs.unifi; }; - networking.firewall.allowedTCPPorts = [ 8443 ]; + networking.firewall.allowedTCPPorts = [ ports.unifi.tcp ]; } diff --git a/hosts/magnesium/ports.nix b/hosts/magnesium/ports.nix new file mode 100644 index 0000000..b35165c --- /dev/null +++ b/hosts/magnesium/ports.nix @@ -0,0 +1,12 @@ +{ lib, custom-utils, ... }: + +custom-utils.validatePortAttrset { + coturn-cli.tcp = 5766; + coturn-plain = { tcp = [ 3478 3479 ]; udp = [ 3478 3479 ]; }; + coturn-relay.udp.range = [ 49160 49200 ]; + coturn-tls = { tcp = [ 5349 5350 ]; udp = [ 5349 5350 ]; }; + mosquitto.tcp = 1883; + nginx-http.tcp = 80; + nginx-https.tcp = 443; + wireguard-public-ip-tunnel.udp = 51000; +} diff --git a/hosts/magnesium/services/coturn.nix b/hosts/magnesium/services/coturn.nix index 7a12474..93479ad 100644 --- a/hosts/magnesium/services/coturn.nix +++ b/hosts/magnesium/services/coturn.nix @@ -1,7 +1,8 @@ -{ config, lib, pkgs, ... }: -let - cfg = config.services.coturn; +args@{ config, lib, pkgs, custom-utils, ... }: +let + ports = import ../ports.nix args; + cfg = config.services.coturn; fqdn = "turn.jalr.de"; in { @@ -10,7 +11,21 @@ in sopsFile = ../secrets.yaml; }; - services.coturn = { + services.coturn = ( + if ports.coturn-plain.tcp != ports.coturn-plain.udp then builtins.abort "coturn: plain TCP and UDP ports must match." + else if ports.coturn-tls.tcp != ports.coturn-tls.udp then builtins.abort "coturn: TLS TCP and UDP ports must match." + else if lib.lists.length ports.coturn-plain.tcp != 2 then builtins.abort "coturn: exactly two plain ports must be given." + else if lib.lists.length ports.coturn-tls.tcp != 2 then builtins.abort "coturn: exactly two TLS ports must be given." + else { + listening-port = builtins.elemAt ports.coturn-plain.tcp 0; + alt-listening-port = builtins.elemAt ports.coturn-plain.tcp 1; + tls-listening-port = builtins.elemAt ports.coturn-tls.tcp 0; + alt-tls-listening-port = builtins.elemAt ports.coturn-tls.tcp 1; + cli-port = ports.coturn-cli.tcp; + min-port = builtins.elemAt ports.coturn-relay.udp.range 0; + max-port = builtins.elemAt ports.coturn-relay.udp.range 1; + } + ) // { enable = true; # config adapted from synapse’s turn howto: @@ -25,9 +40,6 @@ in cert = "/run/turnserver/fullchain.pem"; pkey = "/run/turnserver/key.pem"; - min-port = 49160; - max-port = 49200; - no-cli = true; extraConfig = '' @@ -87,12 +99,12 @@ in }; networking.firewall = { - allowedTCPPorts = with cfg; [ listening-port alt-listening-port tls-listening-port ]; - allowedUDPPorts = with cfg; [ listening-port alt-listening-port tls-listening-port ]; + allowedTCPPorts = with cfg; [ listening-port alt-listening-port tls-listening-port alt-tls-listening-port ]; + allowedUDPPorts = with cfg; [ listening-port alt-listening-port tls-listening-port alt-tls-listening-port ]; allowedUDPPortRanges = lib.singleton { - from = cfg.min-port; - to = cfg.max-port; + from = builtins.elemAt ports.coturn-relay.udp.range 0; + to = builtins.elemAt ports.coturn-relay.udp.range 1; }; }; } diff --git a/hosts/magnesium/services/mosquitto.nix b/hosts/magnesium/services/mosquitto.nix index 6cb7c38..e81027e 100644 --- a/hosts/magnesium/services/mosquitto.nix +++ b/hosts/magnesium/services/mosquitto.nix @@ -1,5 +1,7 @@ -{ config, lib, pkgs, ... }: -let port = 1883; +args@{ config, lib, pkgs, custom-utils, ... }: + +let + ports = import ../ports.nix args; in { services.mosquitto = { @@ -7,12 +9,12 @@ in persistence = true; listeners = [ { - port = port; + port = ports.mosquitto.tcp; settings = { allow_anonymous = true; }; } ]; }; - networking.firewall.allowedTCPPorts = [ port ]; + networking.firewall.allowedTCPPorts = [ ports.mosquitto.tcp ]; } diff --git a/hosts/magnesium/services/public-ip-tunnel.nix b/hosts/magnesium/services/public-ip-tunnel.nix index 0cd32b4..510fff8 100644 --- a/hosts/magnesium/services/public-ip-tunnel.nix +++ b/hosts/magnesium/services/public-ip-tunnel.nix @@ -1,7 +1,8 @@ -{ config, lib, pkgs, ... }: +args@{ config, lib, pkgs, custom-utils, ... }: let - listenPort = 51000; + ports = import ../ports.nix args; + listenPort = ports.wireguard-public-ip-tunnel.udp; publicKey = "GCmQs7upvDYFueEfqD2yJkkOZg3K7YaGluWWzdjsyTo="; in { diff --git a/hosts/magnesium/services/webserver.nix b/hosts/magnesium/services/webserver.nix index a37826f..9c55514 100644 --- a/hosts/magnesium/services/webserver.nix +++ b/hosts/magnesium/services/webserver.nix @@ -1,12 +1,16 @@ -{ config, lib, pkgs, ... }: +args@{ config, lib, pkgs, custom-utils, ... }: + let + ports = import ../ports.nix args; domain = "jalr.de"; matrixDomain = "matrix.jalr.de"; in { - networking.firewall.allowedTCPPorts = [ 80 443 ]; + networking.firewall.allowedTCPPorts = [ ports.nginx-http.tcp ports.nginx-https.tcp ]; services.nginx = { enable = true; + defaultHTTPListenPort = ports.nginx-http.tcp; + defaultSSLListenPort = ports.nginx-https.tcp; recommendedGzipSettings = true; recommendedOptimisation = true; recommendedProxySettings = true; diff --git a/hosts/weinturm-pretix-prod/ports.nix b/hosts/weinturm-pretix-prod/ports.nix new file mode 100644 index 0000000..9c3e0e7 --- /dev/null +++ b/hosts/weinturm-pretix-prod/ports.nix @@ -0,0 +1,8 @@ +{ lib, custom-utils, ... }: + +custom-utils.validatePortAttrset { + nginx-http.tcp = 80; + nginx-https.tcp = 443; + ports.postfix-relay.tcp = 25; + ports.postfix-submission.tcp = [ 465 587 ]; +} diff --git a/hosts/weinturm-pretix-prod/services/pretix.nix b/hosts/weinturm-pretix-prod/services/pretix.nix index 35bb209..dc506f4 100644 --- a/hosts/weinturm-pretix-prod/services/pretix.nix +++ b/hosts/weinturm-pretix-prod/services/pretix.nix @@ -1,4 +1,8 @@ -{ config, lib, pkgs, ... }: +args@{ config, lib, pkgs, custom-utils, ... }: + +let + ports = import ../ports.nix args; +in { nixpkgs.config.permittedInsecurePackages = [ "python3.10-requests-2.28.2" @@ -36,6 +40,7 @@ jalr.mailserver = { enable = true; fqdn = "tickets.weinturm.jalr.de"; + relayPort = ports.postfix-relay.tcp; domains = [ { domain = "tickets.weinturm-open-air.de"; diff --git a/modules/mailserver/default.nix b/modules/mailserver/default.nix index 353d14a..93abbbf 100644 --- a/modules/mailserver/default.nix +++ b/modules/mailserver/default.nix @@ -5,6 +5,11 @@ in { options.jalr.mailserver = with lib; with lib.types; { enable = mkEnableOption "simple mail server"; + relayPort = mkOption { + description = "SMTP port for relay mail relay."; + type = port; + default = 25; + }; fqdn = mkOption { type = str; description = '' diff --git a/modules/mailserver/postfix.nix b/modules/mailserver/postfix.nix index e5a8831..e09a48a 100644 --- a/modules/mailserver/postfix.nix +++ b/modules/mailserver/postfix.nix @@ -39,6 +39,8 @@ lib.mkIf cfg.enable { services.postfix = { enable = true; + relayPort = cfg.relayPort; + enableSubmission = true; # plain/STARTTLS (latter is forced in submissionOptions) enableSubmissions = true; # submission with implicit TLS (TCP/465) From 346cd977d73acc045db8bf95b53154fdfb18dd28 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 8 Nov 2023 02:22:17 +0000 Subject: [PATCH 066/766] Add custom voicemail greeting --- .gitattributes | 1 + hosts/aluminium/services/asterisk/README.md | 9 ++++++++ hosts/aluminium/services/asterisk/default.nix | 23 +++++++++++++++---- .../asterisk/voicemail-sounds/default.nix | 13 +++++++++++ 4 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 hosts/aluminium/services/asterisk/README.md create mode 100644 hosts/aluminium/services/asterisk/voicemail-sounds/default.nix diff --git a/.gitattributes b/.gitattributes index 32845f7..bd72c2c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,3 @@ **/secrets/** filter=git-crypt diff=git-crypt **/secrets.yaml diff=sops +*.wav filter=lfs diff=lfs merge=lfs -text diff --git a/hosts/aluminium/services/asterisk/README.md b/hosts/aluminium/services/asterisk/README.md new file mode 100644 index 0000000..dc47981 --- /dev/null +++ b/hosts/aluminium/services/asterisk/README.md @@ -0,0 +1,9 @@ +## custom voicemail greetings + +Place `busy` and/or `unavail` file in users voicemail directory. + +The file can be converted to the fitting format using sox +```bash +sox $input_file -t wav -b 16 -c 1 -r 8k -e signed-integer --endian little unavail.wav +``` + diff --git a/hosts/aluminium/services/asterisk/default.nix b/hosts/aluminium/services/asterisk/default.nix index 7080707..bc672dc 100644 --- a/hosts/aluminium/services/asterisk/default.nix +++ b/hosts/aluminium/services/asterisk/default.nix @@ -11,8 +11,23 @@ let start = builtins.elemAt ports.asterisk-rtp.udp.range 0; end = builtins.elemAt ports.asterisk-rtp.udp.range 1; }; -in -{ + voicemail-sounds = pkgs.callPackage ./voicemail-sounds { }; +in { + systemd.services.asterisk-voicemail-sounds = { + wantedBy = ["asterisk.service"]; + after = ["asterisk.service"]; + script = '' + ln -sfn \ + ${voicemail-sounds}/unavail.wav \ + /var/spool/asterisk/voicemail/lechner/876/unavail.wav + ''; + restartTriggers = [voicemail-sounds]; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + }; + services.asterisk = { enable = true; confFiles = { @@ -30,7 +45,7 @@ in [sipgate-in] exten = _499846876,1,Noop(Processing an incoming call) same = n,Dial(PJSIP/10&PJSIP/11,25,tT) - same = n,VoiceMail(876@lechner,u) + same = n,VoiceMail(876@lechner,uS) same = n,Hangup() exten => _4998469779781,1,Verbose(3,Incoming fax) @@ -155,7 +170,7 @@ in sops.secrets = (lib.listToAttrs (map (name: lib.nameValuePair "asterisk-${name}" { - sopsFile = ../secrets.yaml; + sopsFile = ../../secrets.yaml; owner = config.users.users.asterisk.name; }) secretConfigFiles)); diff --git a/hosts/aluminium/services/asterisk/voicemail-sounds/default.nix b/hosts/aluminium/services/asterisk/voicemail-sounds/default.nix new file mode 100644 index 0000000..a4a810c --- /dev/null +++ b/hosts/aluminium/services/asterisk/voicemail-sounds/default.nix @@ -0,0 +1,13 @@ +{ lib, stdenvNoCC }: + +stdenvNoCC.mkDerivation { + name = "voicemail-sounds"; + + src = ./.; + + dontBuild = true; + installPhase = '' + mkdir $out + cp -r * $out + ''; +} From 0fd18c5b4d1b9294cb499f8c8b83f39dfac7e225 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 8 Nov 2023 01:43:06 +0000 Subject: [PATCH 067/766] Add git lfs --- home-manager/modules/git.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home-manager/modules/git.nix b/home-manager/modules/git.nix index f108ff8..2bdf690 100644 --- a/home-manager/modules/git.nix +++ b/home-manager/modules/git.nix @@ -18,6 +18,7 @@ alias.find-merge = "!sh -c 'commit=$0 && branch=\${1:-HEAD} && (git rev-list $commit..$branch --ancestry-path | cat -n; git rev-list $commit..$branch --first-parent | cat -n) | sort -k2 -s | uniq -f1 -d | sort -n | tail -1 | cut -f2'"; alias.show-merge = "!sh -c 'merge=$(git find-merge $0 $1) && [ -n \"$merge\" ] && git show $merge'"; }; + lfs.enable = true; }; fish = { shellAbbrs = { From fbd94fb3f933cc22829b3f0bd92db81d2e0c8e5d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 9 Nov 2023 00:08:40 +0000 Subject: [PATCH 068/766] Add unavail voicemail message --- hosts/aluminium/services/asterisk/voicemail-sounds/unavail.wav | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 hosts/aluminium/services/asterisk/voicemail-sounds/unavail.wav diff --git a/hosts/aluminium/services/asterisk/voicemail-sounds/unavail.wav b/hosts/aluminium/services/asterisk/voicemail-sounds/unavail.wav new file mode 100644 index 0000000..35b972e --- /dev/null +++ b/hosts/aluminium/services/asterisk/voicemail-sounds/unavail.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9d91a693e1343a1dfdbb1e4adc89a5f58182d5c1427254f0976fa09120c9091 +size 149444 From 385c0c55f90aa3ad0c482390027edf6ac83e4cae Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 3 Nov 2023 15:43:05 +0000 Subject: [PATCH 069/766] Attempt to remove sensitive stuff from notifications --- home-manager/modules/sway/waybar.nix | 32 ++++++++++++++++++++++++++++ modules/sway.nix | 5 +++-- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/home-manager/modules/sway/waybar.nix b/home-manager/modules/sway/waybar.nix index 4ac79e0..dad792d 100644 --- a/home-manager/modules/sway/waybar.nix +++ b/home-manager/modules/sway/waybar.nix @@ -14,6 +14,37 @@ let fi ''; + makoInhibitorTest = pkgs.writeShellScript "mako-inhibitor-test" '' + export PATH=${pkgs.lib.makeBinPath (with pkgs; [pkgs.libnotify])} + notify-send "test" + notify-send "bla $1" + ''; + setMakoMode = pkgs.writeShellScript "set-mako-mode" '' + export PATH=${pkgs.lib.makeBinPath (with pkgs; [pkgs.mako])} + + if [[ "$2" = "toggle" ]]; then + if makoctl mode | grep -Fxq "$1"; then + action = "add" + else + action = "remove" + fi + else + action = "$2" + fi + + case "$action" in + add) + makoctl mode -a "$1" + ;; + remove) + makoctl mode -d "$1" + ;; + *) + exit 1 + ;; + esac + ''; + # for fine-grained control over spacing thinsp = " "; @@ -75,6 +106,7 @@ in activated = "󰈈 "; deactivated = "󰈉 "; }; + on-click = "${makoInhibitorTest} {}"; }; "custom/screencast" = { exec = pkgs.writeScript "screencast-monitor" /* python */ '' diff --git a/modules/sway.nix b/modules/sway.nix index c9c0e5c..2867007 100644 --- a/modules/sway.nix +++ b/modules/sway.nix @@ -5,9 +5,10 @@ lib.mkIf config.jalr.gui.enable { enable = true; # FIXME: move to home manager extraPackages = with pkgs; [ - grim - mako gammastep + grim + libnotify # notify-send + mako slurp wl-clipboard xwayland From 04cbbdcf05df6f97a6d5035c839e2d236fb0c170 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:48:46 +0000 Subject: [PATCH 070/766] Fix indentation --- home-manager/modules/neovim.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/modules/neovim.nix b/home-manager/modules/neovim.nix index 9986aa5..033b270 100644 --- a/home-manager/modules/neovim.nix +++ b/home-manager/modules/neovim.nix @@ -97,7 +97,7 @@ builtins.concatStringsSep "\n" ( lib.mapAttrsToList ( - lang: cfg: "lsp.${lang}.setup\n" + lib.generators.toLua { asBindings = false; indent = " "; } cfg + lang: cfg: "lsp.${lang}.setup\n" + lib.generators.toLua { } cfg ) { # C and C++ From 5dd1c0f182dac5dc76878bd7ebf6d3f062604fc7 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:48:51 +0000 Subject: [PATCH 071/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'flake-utils': 'github:numtide/flake-utils/dbabf0ca0c0c4bce6ea5eaf65af5cb694d2082c7' (2023-06-25) → 'github:numtide/flake-utils/919d646de7be200f3bf08cb76ae1f09402b6f9b4' (2023-07-11) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/8df7a67abaf8aefc8a2839e0b48f92fdcf69a38b' (2023-07-09) → 'github:nixos/nixpkgs/98da3dd0de6660d4abed7bb74e748694bd803413' (2023-07-12) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/72c08deeab9e6ca478aad5416e63b72bef5c11fb' (2023-07-10) → 'github:NixOS/nixpkgs/9ca68335164683c4c7871d67fb8681fdd519f104' (2023-07-12) • Updated input 'nur': 'github:nix-community/NUR/46663cf4a220139e81691144278fa1f637c22615' (2023-07-10) → 'github:nix-community/NUR/6882b9ff971f72d0e8c0724f57f0f96e9473bc77' (2023-07-12) • Updated input 'sops-nix': 'github:Mic92/sops-nix/b2047c8fc963407916ad3834165309007dc5a1f7' (2023-07-09) → 'github:Mic92/sops-nix/88b964df6981e4844c07be8c192aa6bdca768a10' (2023-07-12) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 01cef87..9d7aa24 100644 --- a/flake.lock +++ b/flake.lock @@ -21,11 +21,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1687709756, - "narHash": "sha256-Y5wKlQSkgEK2weWdOu4J3riRd+kV/VCgHsqLNTTWQ/0=", + "lastModified": 1689068808, + "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", "owner": "numtide", "repo": "flake-utils", - "rev": "dbabf0ca0c0c4bce6ea5eaf65af5cb694d2082c7", + "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1689015649, - "narHash": "sha256-so1x2XDFiN6B9JO2rDmscgQ7+urdQRbnNRwiq50KJnM=", + "lastModified": 1689202827, + "narHash": "sha256-SF49f7BM5BGddq2fiCktcCuXTTiXfvTCnQnmxpnSXOU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "72c08deeab9e6ca478aad5416e63b72bef5c11fb", + "rev": "9ca68335164683c4c7871d67fb8681fdd519f104", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1688939073, - "narHash": "sha256-jYhYjeK5s6k8QS3i+ovq9VZqBJaWbxm7awTKNhHL9d0=", + "lastModified": 1689137672, + "narHash": "sha256-QZoHxr0a73x6rQcAo5CiwYpysHbSnk7lAR8/16um7mM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8df7a67abaf8aefc8a2839e0b48f92fdcf69a38b", + "rev": "98da3dd0de6660d4abed7bb74e748694bd803413", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1689007503, - "narHash": "sha256-T5oA+mq2ZXTVNWvCSvZqrjZBaVzY9hwwiI4uPiGkXM4=", + "lastModified": 1689202058, + "narHash": "sha256-BAaEzkpoAIg9po82vDzhKHfgJiaeX2O+n/sVrz/9waY=", "owner": "nix-community", "repo": "NUR", - "rev": "46663cf4a220139e81691144278fa1f637c22615", + "rev": "6882b9ff971f72d0e8c0724f57f0f96e9473bc77", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1688873469, - "narHash": "sha256-9TMSXvXmrr7bDYi+WeskWe/yho9UP01dGbV9vW5bRVc=", + "lastModified": 1689149796, + "narHash": "sha256-3FCUdayBHcxk6BZOxEIfa5UxbXNQzTc/VlN7ociI2Dw=", "owner": "Mic92", "repo": "sops-nix", - "rev": "b2047c8fc963407916ad3834165309007dc5a1f7", + "rev": "88b964df6981e4844c07be8c192aa6bdca768a10", "type": "github" }, "original": { From 00f3fc663f106ac88b796d6b1052acad801cdf2f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:48:52 +0000 Subject: [PATCH 072/766] Add website --- hosts/magnesium/services/webserver.nix | 16 +++++++++++++++- pkgs/contact-page/default.nix | 13 +++++++++++++ pkgs/contact-page/src/gpg/B448F934.txt | 23 +++++++++++++++++++++++ pkgs/contact-page/src/itsmine | 12 ++++++++++++ pkgs/default.nix | 3 +++ 5 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 pkgs/contact-page/default.nix create mode 100644 pkgs/contact-page/src/gpg/B448F934.txt create mode 100644 pkgs/contact-page/src/itsmine diff --git a/hosts/magnesium/services/webserver.nix b/hosts/magnesium/services/webserver.nix index 41990cc..a37826f 100644 --- a/hosts/magnesium/services/webserver.nix +++ b/hosts/magnesium/services/webserver.nix @@ -7,11 +7,25 @@ in networking.firewall.allowedTCPPorts = [ 80 443 ]; services.nginx = { enable = true; + recommendedGzipSettings = true; + recommendedOptimisation = true; + recommendedProxySettings = true; + recommendedTlsSettings = true; + commonHttpConfig = '' + map $scheme $hsts_header { + https "max-age=31536000"; + } + add_header Strict-Transport-Security $hsts_header; + + add_header Referrer-Policy strict-origin; + add_header X-Content-Type-Options nosniff; + add_header X-Frame-Options SAMEORIGIN; + ''; virtualHosts = { "${domain}" = { enableACME = true; forceSSL = true; - + root = pkgs.jalr.contact; locations = let # workaround for nginx dropping parent headers diff --git a/pkgs/contact-page/default.nix b/pkgs/contact-page/default.nix new file mode 100644 index 0000000..1a487ca --- /dev/null +++ b/pkgs/contact-page/default.nix @@ -0,0 +1,13 @@ +{ lib, stdenvNoCC }: + +stdenvNoCC.mkDerivation { + name = "jalr-contact"; + + src = ./src; + + dontBuild = true; + installPhase = '' + mkdir $out + cp -r * $out + ''; +} diff --git a/pkgs/contact-page/src/gpg/B448F934.txt b/pkgs/contact-page/src/gpg/B448F934.txt new file mode 100644 index 0000000..4e79308 --- /dev/null +++ b/pkgs/contact-page/src/gpg/B448F934.txt @@ -0,0 +1,23 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mDMEYdCpCxYJKwYBBAHaRw8BAQdAL5OkhCMv9ekGaHmLALjDyINBhcR3gmuMZiE/ +FzEjNLq0HEpha29iIExlY2huZXIgPG1haWxAamFsci5kZT6IlgQTFgoAPhYhBGb7 +VPYIE3UQbuv2UaIiNl60SPk0BQJh0KkLAhsBBQleC+EABQsJCAcDBRUKCQgLBRYC +AwEAAh4BAheAAAoJEKIiNl60SPk0wrsBAKmdNnQza/qt6kMSt4/v/VLAwO9CkIYd +LQIbnDhZcmHxAQDdwWYnSNS357bz8YeUpUKeUfOZ6xAjyRmYuQQ2Mu4tDLgzBGHQ +qkkWCSsGAQQB2kcPAQEHQI0iSVnqIurvk2KV1vpvy4T678NWLqXgXooGTAD1Bq2E +iPUEGBYKACYCGwIWIQRm+1T2CBN1EG7r9lGiIjZetEj5NAUCY7AQ1wUJA8HrjgCB +diAEGRYKAB0WIQQKC8x2sn/FAn1OMAWZYILvtZBsEAUCYdCqSQAKCRCZYILvtZBs +ECknAP0eRjAFAOk255g9NqWw6swNVQrb6OE0WtNU4st6ml6/KwD/ZpWdnEslaHXp +PuBxBdbvcSJ/KrQNLNJEp9Io546fiQcJEKIiNl60SPk0xXAA/1IlunxNEEBR9O5e +Ilh5Py/OAATRdMBH2pOKUpyd5tmdAP0ZL8mHiZKaPhJd6BnPk80qLfBPv2HJeWj+ +3uyaMguACbg4BGHQqocSCisGAQQBl1UBBQEBB0BpQ5RvkE8dxQpSJKndxOXh6bIA +DOQu5VovlDinXLfYEAMBCAeIfgQYFgoAJgIbDBYhBGb7VPYIE3UQbuv2UaIiNl60 +SPk0BQJjsBDXBQkDwetQAAoJEKIiNl60SPk00FIA/1ADVAR4zhf8YZegIbTqb/hO +FWgokUAYBJpgsdHTEbqUAQDSswHw30SKYw7pNa/G2+x++R+GPXzcbgOqI1kUnZ/M +CbgzBGHQqsUWCSsGAQQB2kcPAQEHQM2x+uWFR4z9MzwZnlFMgJrFXxpruZ58WukK +yWrCjURjiH4EGBYKACYCGyAWIQRm+1T2CBN1EG7r9lGiIjZetEj5NAUCY7AQ1wUJ +A8HrEgAKCRCiIjZetEj5NLXUAQD0HK/au8EBJLUzHaaXh3F3mh/yzOvZ4EHdmDHL +86qv0QEAqLXosh/H2Ihf9WZZSRwxxF3aKRx4BJbjxlFYFPKB1AE= +=GTAK +-----END PGP PUBLIC KEY BLOCK----- diff --git a/pkgs/contact-page/src/itsmine b/pkgs/contact-page/src/itsmine new file mode 100644 index 0000000..a5e644e --- /dev/null +++ b/pkgs/contact-page/src/itsmine @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +if ! [ -e ~/.ssh ]; then + mkdir ~/.ssh +fi + + +while read type key comment +do + grep -F "$comment" ~/.ssh/authorized_keys || echo "$type $key $comment" >> ~/.ssh/authorized_keys +done << EOF +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM2x+uWFR4z9MzwZnlFMgJrFXxpruZ58WukKyWrCjURj cardno:000616522763 +EOF diff --git a/pkgs/default.nix b/pkgs/default.nix index af012ad..8288614 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -12,4 +12,7 @@ in tabbed-box-maker = callPackage ./tabbed-box-maker { }; vesc-firmware = callPackage ./vesc-tool/firmware.nix { }; vesc-tool = callPackage ./vesc-tool/tool.nix { }; + jalr = prev.recurseIntoAttrs { + contact = callPackage ./contact-page { }; + }; } From 09d7253ed833d960f286f67952c426fdafd6d641 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:48:58 +0000 Subject: [PATCH 073/766] Fix deprecation --- flake.nix | 2 +- modules/nix.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index a7e0939..3f94e05 100644 --- a/flake.nix +++ b/flake.nix @@ -124,7 +124,7 @@ }; }); }) // { - overlay = import ./pkgs; + overlays.default = import ./pkgs; nixosConfigurations = nixpkgs.lib.mapAttrs (hostname: { system diff --git a/modules/nix.nix b/modules/nix.nix index bb4a441..5d48e97 100644 --- a/modules/nix.nix +++ b/modules/nix.nix @@ -23,7 +23,7 @@ }; nixpkgs.overlays = with inputs; [ - self.overlay + self.overlays.default (final: prev: { master = import inputs.nixpkgsMaster { inherit system; From 5c91efa2b9219dcbe0f674d83e715e9eb9d8ffaf Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:48:59 +0000 Subject: [PATCH 074/766] Fix formatting --- home-manager/modules/dynamic-colors.nix | 26 ++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/home-manager/modules/dynamic-colors.nix b/home-manager/modules/dynamic-colors.nix index d9d05b5..23b2568 100644 --- a/home-manager/modules/dynamic-colors.nix +++ b/home-manager/modules/dynamic-colors.nix @@ -1,18 +1,18 @@ { nixosConfig, lib, pkgs, ... }: - -let dynamic-colors = pkgs.writeShellScriptBin "dynamic-colors" /* bash */ '' - case "''$1" in - light|dark) - if [ -e "''$HOME/.config/alacritty/alacritty-''$1.yml" ]; then - ln -sf "''$HOME/.config/alacritty/alacritty-''$1.yml" "$HOME/.config/alacritty/alacritty.yml" - fi - ;; - *) - echo "unknown command ''$1" >&2 - exit 1 - esac -''; +let + dynamic-colors = pkgs.writeShellScriptBin "dynamic-colors" /* bash */ '' + case "''$1" in + light|dark) + if [ -e "''$HOME/.config/alacritty/alacritty-''$1.yml" ]; then + ln -sf "''$HOME/.config/alacritty/alacritty-''$1.yml" "$HOME/.config/alacritty/alacritty.yml" + fi + ;; + *) + echo "unknown command ''$1" >&2 + exit 1 + esac + ''; in { home.packages = [ From a0e2118d2e0be6bf8f288929b55363d7e98f0e1d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:00 +0000 Subject: [PATCH 075/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/c8d18ba345730019c3faf412c96a045ade171895' (2023-07-05) → 'github:cachix/pre-commit-hooks.nix/87589fa438dd6d5b8c7c1c6ab2ad69e4663bb51f' (2023-07-17) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/98da3dd0de6660d4abed7bb74e748694bd803413' (2023-07-12) → 'github:nixos/nixpkgs/f64b9738da8e86195766147e9752c67fccee006c' (2023-07-16) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/9ca68335164683c4c7871d67fb8681fdd519f104' (2023-07-12) → 'github:NixOS/nixpkgs/36ebcefbebc2dc1ad96b63620b2bea776c908b2a' (2023-07-17) • Updated input 'nur': 'github:nix-community/NUR/6882b9ff971f72d0e8c0724f57f0f96e9473bc77' (2023-07-12) → 'github:nix-community/NUR/f66a9a45abfe71823a85bdba0d989aa1ad2d8266' (2023-07-17) • Updated input 'sops-nix': 'github:Mic92/sops-nix/88b964df6981e4844c07be8c192aa6bdca768a10' (2023-07-12) → 'github:Mic92/sops-nix/bd695cc4d0a5e1bead703cc1bec5fa3094820a81' (2023-07-16) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/510d721ce097150ae3b80f84b04b13b039186571' (2023-07-09) → 'github:NixOS/nixpkgs/13231eccfa1da771afa5c0807fdd73e05a1ec4e6' (2023-07-16) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 9d7aa24..389fe63 100644 --- a/flake.lock +++ b/flake.lock @@ -110,11 +110,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1688596063, - "narHash": "sha256-9t7RxBiKWHygsqXtiNATTJt4lim/oSYZV3RG8OjDDng=", + "lastModified": 1689553106, + "narHash": "sha256-RFFf6BbpqQB0l1ehAbgri9g9MGZkAY9UdiNotD9fG8Y=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "c8d18ba345730019c3faf412c96a045ade171895", + "rev": "87589fa438dd6d5b8c7c1c6ab2ad69e4663bb51f", "type": "github" }, "original": { @@ -158,11 +158,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1688868408, - "narHash": "sha256-RR9N5XTAxSBhK8MCvLq9uxfdkd7etC//seVXldy0k48=", + "lastModified": 1689473667, + "narHash": "sha256-41ePf1ylHMTogSPAiufqvBbBos+gtB6zjQlYFSEKFMM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "510d721ce097150ae3b80f84b04b13b039186571", + "rev": "13231eccfa1da771afa5c0807fdd73e05a1ec4e6", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1689202827, - "narHash": "sha256-SF49f7BM5BGddq2fiCktcCuXTTiXfvTCnQnmxpnSXOU=", + "lastModified": 1689585051, + "narHash": "sha256-sIVGsf9ZWARthyPtx2TyjddkSllib/3nNUjKAXqkAQc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9ca68335164683c4c7871d67fb8681fdd519f104", + "rev": "36ebcefbebc2dc1ad96b63620b2bea776c908b2a", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1689137672, - "narHash": "sha256-QZoHxr0a73x6rQcAo5CiwYpysHbSnk7lAR8/16um7mM=", + "lastModified": 1689503327, + "narHash": "sha256-qVwzYLA8oT2oWNDXO0A3bZHOhoPOihIB9T677+Hor1E=", "owner": "nixos", "repo": "nixpkgs", - "rev": "98da3dd0de6660d4abed7bb74e748694bd803413", + "rev": "f64b9738da8e86195766147e9752c67fccee006c", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1689202058, - "narHash": "sha256-BAaEzkpoAIg9po82vDzhKHfgJiaeX2O+n/sVrz/9waY=", + "lastModified": 1689583631, + "narHash": "sha256-snqoW/sszFK5xFvGjjefT/OZBTg2RirluCj6PbC63I8=", "owner": "nix-community", "repo": "NUR", - "rev": "6882b9ff971f72d0e8c0724f57f0f96e9473bc77", + "rev": "f66a9a45abfe71823a85bdba0d989aa1ad2d8266", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1689149796, - "narHash": "sha256-3FCUdayBHcxk6BZOxEIfa5UxbXNQzTc/VlN7ociI2Dw=", + "lastModified": 1689534977, + "narHash": "sha256-EB4hasmjKgetTR0My2bS5AwELZFIQ4zANLqHKi7aVXg=", "owner": "Mic92", "repo": "sops-nix", - "rev": "88b964df6981e4844c07be8c192aa6bdca768a10", + "rev": "bd695cc4d0a5e1bead703cc1bec5fa3094820a81", "type": "github" }, "original": { From b8746c17eab8fc3f779a1cdbb6df9917a0309eae Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:01 +0000 Subject: [PATCH 076/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/87589fa438dd6d5b8c7c1c6ab2ad69e4663bb51f' (2023-07-17) → 'github:cachix/pre-commit-hooks.nix/eb433bff05b285258be76513add6f6c57b441775' (2023-07-18) • Updated input 'nix-pre-commit-hooks/nixpkgs': 'github:NixOS/nixpkgs/a53a3bec10deef6e1cc1caba5bc60f53b959b1e8' (2023-06-04) → 'github:NixOS/nixpkgs/df1eee2aa65052a18121ed4971081576b25d6b5c' (2023-07-13) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/f64b9738da8e86195766147e9752c67fccee006c' (2023-07-16) → 'github:nixos/nixpkgs/08700de174bc6235043cb4263b643b721d936bdb' (2023-07-18) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/36ebcefbebc2dc1ad96b63620b2bea776c908b2a' (2023-07-17) → 'github:NixOS/nixpkgs/dbd0bd32f956a4f8a64857da4bba61313477714b' (2023-07-19) • Updated input 'nur': 'github:nix-community/NUR/f66a9a45abfe71823a85bdba0d989aa1ad2d8266' (2023-07-17) → 'github:nix-community/NUR/553bfbdce2d7368c282bc69cce181d29b3d75e3d' (2023-07-19) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 389fe63..eb9ba09 100644 --- a/flake.lock +++ b/flake.lock @@ -110,11 +110,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1689553106, - "narHash": "sha256-RFFf6BbpqQB0l1ehAbgri9g9MGZkAY9UdiNotD9fG8Y=", + "lastModified": 1689668210, + "narHash": "sha256-XAATwDkaUxH958yXLs1lcEOmU6pSEIkatY3qjqk8X0E=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "87589fa438dd6d5b8c7c1c6ab2ad69e4663bb51f", + "rev": "eb433bff05b285258be76513add6f6c57b441775", "type": "github" }, "original": { @@ -126,11 +126,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1685866647, - "narHash": "sha256-4jKguNHY/edLYImB+uL8jKPL/vpfOvMmSlLAGfxSrnY=", + "lastModified": 1689261696, + "narHash": "sha256-LzfUtFs9MQRvIoQ3MfgSuipBVMXslMPH/vZ+nM40LkA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a53a3bec10deef6e1cc1caba5bc60f53b959b1e8", + "rev": "df1eee2aa65052a18121ed4971081576b25d6b5c", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1689585051, - "narHash": "sha256-sIVGsf9ZWARthyPtx2TyjddkSllib/3nNUjKAXqkAQc=", + "lastModified": 1689799581, + "narHash": "sha256-zYqJzBK/3BJEG6Gt62MYuxXRqJyTpxuPQ8nw4jqa6+E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "36ebcefbebc2dc1ad96b63620b2bea776c908b2a", + "rev": "dbd0bd32f956a4f8a64857da4bba61313477714b", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1689503327, - "narHash": "sha256-qVwzYLA8oT2oWNDXO0A3bZHOhoPOihIB9T677+Hor1E=", + "lastModified": 1689680872, + "narHash": "sha256-brNix2+ihJSzCiKwLafbyejrHJZUP0Fy6z5+xMOC27M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f64b9738da8e86195766147e9752c67fccee006c", + "rev": "08700de174bc6235043cb4263b643b721d936bdb", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1689583631, - "narHash": "sha256-snqoW/sszFK5xFvGjjefT/OZBTg2RirluCj6PbC63I8=", + "lastModified": 1689801432, + "narHash": "sha256-WBVCnMuGu0b3J0qrHwV+qubN9ifTE6AkkgBZNlnjtv0=", "owner": "nix-community", "repo": "NUR", - "rev": "f66a9a45abfe71823a85bdba0d989aa1ad2d8266", + "rev": "553bfbdce2d7368c282bc69cce181d29b3d75e3d", "type": "github" }, "original": { From 3d4c05cfd8e2a9817aa1ae339a8d8ee5882ae4f4 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:02 +0000 Subject: [PATCH 077/766] Add asterisk-sounds-de --- hosts/aluminium/services/asterisk.nix | 10 +++++++++- pkgs/asterisk/sounds-de.nix | 23 +++++++++++++++++++++++ pkgs/default.nix | 1 + 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 pkgs/asterisk/sounds-de.nix diff --git a/hosts/aluminium/services/asterisk.nix b/hosts/aluminium/services/asterisk.nix index e3077d6..bdbdfe4 100644 --- a/hosts/aluminium/services/asterisk.nix +++ b/hosts/aluminium/services/asterisk.nix @@ -1,4 +1,4 @@ -{ config, lib, ... }: +{ config, lib, pkgs, ... }: let secretConfigFiles = [ "ari" @@ -158,4 +158,12 @@ in } ]; }; + + system.activationScripts.symlink-asterisk-sounds-de = lib.stringAfter [ "var" ] '' + sounds="/var/lib/asterisk/sounds" + sounds_de="$sounds/de" + mkdir -p "$sounds" + [ -L "$sounds_de" ] && rm "$sounds_de" + ln -s "${pkgs.asterisk-sounds-de}/" "$sounds_de" + ''; } diff --git a/pkgs/asterisk/sounds-de.nix b/pkgs/asterisk/sounds-de.nix new file mode 100644 index 0000000..ba9a9b0 --- /dev/null +++ b/pkgs/asterisk/sounds-de.nix @@ -0,0 +1,23 @@ +{ lib +, stdenvNoCC +, fetchurl +, unzip +}: + +stdenvNoCC.mkDerivation rec { + src = fetchurl { + url = "https://www.asterisksounds.org/sites/asterisksounds.org/files/sounds/de/download/asterisk-sounds-core-de-${version}.zip"; + sha256 = "y97xVDBHgnD/Z/DxjKcSNjCXXfiVO+PWUFMbyQpaFLY="; + }; + name = "asterisk-sounds-de"; + version = "2.11.19"; + dontBuild = true; + nativeBuildInputs = [ unzip ]; + unpackPhase = '' + unzip $src + ''; + installPhase = '' + mkdir $out + cp -r * $out + ''; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index 8288614..159bea9 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -4,6 +4,7 @@ let in { ariang = callPackage ./ariang { }; + asterisk-sounds-de = callPackage ./asterisk/sounds-de.nix { }; fpvout = callPackage ./fpvout { }; mute-indicator = callPackage ./mute-indicator { }; pretix = callPackage ./pretix/pretix.nix { }; From 08e4960cdc6b934ed8eae3b4339c0cb9eca4b831 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:03 +0000 Subject: [PATCH 078/766] Use zfs storage driver for podman As overlay is unsupported on zfs. --- hosts/iron/configuration.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index 7f1580a..44f26e8 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -179,5 +179,14 @@ with lib; { efiSystemPartitions); hardware.enableRedistributableFirmware = true; + + virtualisation.containers.storage.settings = { + storage = { + driver = "zfs"; + graphroot = "/var/lib/containers/storage"; + runroot = "/run/containers/storage"; + options.zfs.fsname = "rpool/nixos/podman"; + }; + }; }; } From 3da2d5a2777c4a2574a1261351f5438f78cb0964 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:04 +0000 Subject: [PATCH 079/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/08700de174bc6235043cb4263b643b721d936bdb' (2023-07-18) → 'github:nixos/nixpkgs/ac1acba43b2f9db073943ff5ed883ce7e8a40a2c' (2023-07-23) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/dbd0bd32f956a4f8a64857da4bba61313477714b' (2023-07-19) → 'github:NixOS/nixpkgs/48273d596109a034cf154e450dee69705ca2d620' (2023-07-24) • Updated input 'nur': 'github:nix-community/NUR/553bfbdce2d7368c282bc69cce181d29b3d75e3d' (2023-07-19) → 'github:nix-community/NUR/6b90cb969b8e9d063ff71688085bf8ffb23a2788' (2023-07-24) • Updated input 'sops-nix': 'github:Mic92/sops-nix/bd695cc4d0a5e1bead703cc1bec5fa3094820a81' (2023-07-16) → 'github:Mic92/sops-nix/c36df4fe4bf4bb87759b1891cab21e7a05219500' (2023-07-24) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/13231eccfa1da771afa5c0807fdd73e05a1ec4e6' (2023-07-16) → 'github:NixOS/nixpkgs/ce45b591975d070044ca24e3003c830d26fea1c8' (2023-07-22) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index eb9ba09..50eb3a3 100644 --- a/flake.lock +++ b/flake.lock @@ -158,11 +158,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1689473667, - "narHash": "sha256-41ePf1ylHMTogSPAiufqvBbBos+gtB6zjQlYFSEKFMM=", + "lastModified": 1690066826, + "narHash": "sha256-6L2qb+Zc0BFkh72OS9uuX637gniOjzU6qCDBpjB2LGY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "13231eccfa1da771afa5c0807fdd73e05a1ec4e6", + "rev": "ce45b591975d070044ca24e3003c830d26fea1c8", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1689799581, - "narHash": "sha256-zYqJzBK/3BJEG6Gt62MYuxXRqJyTpxuPQ8nw4jqa6+E=", + "lastModified": 1690207785, + "narHash": "sha256-m0E9Kqdpjz4XT8NGxBZkA0UGFM35CoAOQPE+Avb89aQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dbd0bd32f956a4f8a64857da4bba61313477714b", + "rev": "48273d596109a034cf154e450dee69705ca2d620", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1689680872, - "narHash": "sha256-brNix2+ihJSzCiKwLafbyejrHJZUP0Fy6z5+xMOC27M=", + "lastModified": 1690148897, + "narHash": "sha256-l/j/AX1d2K79EWslwgWR2+htkzCbtjKZsS5NbWXnhz4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "08700de174bc6235043cb4263b643b721d936bdb", + "rev": "ac1acba43b2f9db073943ff5ed883ce7e8a40a2c", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1689801432, - "narHash": "sha256-WBVCnMuGu0b3J0qrHwV+qubN9ifTE6AkkgBZNlnjtv0=", + "lastModified": 1690199168, + "narHash": "sha256-8eo615fNLfpLGTtqjMapdyBLMUXBO8TSsSMZdW6nxvQ=", "owner": "nix-community", "repo": "NUR", - "rev": "553bfbdce2d7368c282bc69cce181d29b3d75e3d", + "rev": "6b90cb969b8e9d063ff71688085bf8ffb23a2788", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1689534977, - "narHash": "sha256-EB4hasmjKgetTR0My2bS5AwELZFIQ4zANLqHKi7aVXg=", + "lastModified": 1690199016, + "narHash": "sha256-yTLL72q6aqGmzHq+C3rDp3rIjno7EJZkFLof6Ika7cE=", "owner": "Mic92", "repo": "sops-nix", - "rev": "bd695cc4d0a5e1bead703cc1bec5fa3094820a81", + "rev": "c36df4fe4bf4bb87759b1891cab21e7a05219500", "type": "github" }, "original": { From 1663ae52bf4d22ab8d965b104332a18678b161c2 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:05 +0000 Subject: [PATCH 080/766] Add inetutils Add it to install telnet. It also includes whois. --- home-manager/modules/cli.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/modules/cli.nix b/home-manager/modules/cli.nix index 2a11311..b4eb6dd 100644 --- a/home-manager/modules/cli.nix +++ b/home-manager/modules/cli.nix @@ -4,6 +4,7 @@ cached-nix-shell file htop + inetutils jq lsof ncdu @@ -15,7 +16,6 @@ speedtest-cli usbutils wget - whois yt-dlp ]); } From 5ab05baa0dde8e275211b24bb3ec3fc8d48fdd8a Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:06 +0000 Subject: [PATCH 081/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/eb433bff05b285258be76513add6f6c57b441775' (2023-07-18) → 'github:cachix/pre-commit-hooks.nix/52bf404674068e7f1ad8ee08bb95648be5a4fb19' (2023-08-03) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/ac1acba43b2f9db073943ff5ed883ce7e8a40a2c' (2023-07-23) → 'github:nixos/nixpkgs/bd836ac5e5a7358dea73cb74a013ca32864ccb86' (2023-08-01) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/48273d596109a034cf154e450dee69705ca2d620' (2023-07-24) → 'github:NixOS/nixpkgs/cdd239d1dc7d37ecf0e7a49d7f1d7bfad29825c4' (2023-08-03) • Updated input 'nur': 'github:nix-community/NUR/6b90cb969b8e9d063ff71688085bf8ffb23a2788' (2023-07-24) → 'github:nix-community/NUR/e70eac4469043a0f91c709997b7f12616591a3fd' (2023-08-03) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 50eb3a3..f4cb9c4 100644 --- a/flake.lock +++ b/flake.lock @@ -110,11 +110,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1689668210, - "narHash": "sha256-XAATwDkaUxH958yXLs1lcEOmU6pSEIkatY3qjqk8X0E=", + "lastModified": 1691073619, + "narHash": "sha256-18/EyL9QuzwaA1iJZm0Qp6Lk7sh4YftfWIa2Is3UOSE=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "eb433bff05b285258be76513add6f6c57b441775", + "rev": "52bf404674068e7f1ad8ee08bb95648be5a4fb19", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1690207785, - "narHash": "sha256-m0E9Kqdpjz4XT8NGxBZkA0UGFM35CoAOQPE+Avb89aQ=", + "lastModified": 1691084487, + "narHash": "sha256-yDPkqyA90ZLZa2gpDBs+4vCpk3lfnXT9K9GMx/6C1s8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "48273d596109a034cf154e450dee69705ca2d620", + "rev": "cdd239d1dc7d37ecf0e7a49d7f1d7bfad29825c4", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1690148897, - "narHash": "sha256-l/j/AX1d2K79EWslwgWR2+htkzCbtjKZsS5NbWXnhz4=", + "lastModified": 1690927903, + "narHash": "sha256-D5gCaCROnjEKDOel//8TO/pOP87pAEtT0uT8X+0Bj/U=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ac1acba43b2f9db073943ff5ed883ce7e8a40a2c", + "rev": "bd836ac5e5a7358dea73cb74a013ca32864ccb86", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1690199168, - "narHash": "sha256-8eo615fNLfpLGTtqjMapdyBLMUXBO8TSsSMZdW6nxvQ=", + "lastModified": 1691084746, + "narHash": "sha256-HvHxTU371MHDLbUMpG6zN3Lrem6t8n3PjZFpUlm0/5Y=", "owner": "nix-community", "repo": "NUR", - "rev": "6b90cb969b8e9d063ff71688085bf8ffb23a2788", + "rev": "e70eac4469043a0f91c709997b7f12616591a3fd", "type": "github" }, "original": { From 6cbd91349709c8dba622b0d2f8b49c3b835d2f6e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:08 +0000 Subject: [PATCH 082/766] Remove wireguard tunnel `wgkalle` --- hosts/jalr-t520/configuration.nix | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/hosts/jalr-t520/configuration.nix b/hosts/jalr-t520/configuration.nix index b483412..f7b4a62 100644 --- a/hosts/jalr-t520/configuration.nix +++ b/hosts/jalr-t520/configuration.nix @@ -54,32 +54,6 @@ autologin.username = "jalr"; }; - networking.wg-quick.interfaces.wgkalle = { - address = [ - "172.16.254.5/24" - "fd00::604:0:0:ac10:fe05/96" - ]; - privateKeyFile = "/root/wireguard-keys/wgkalle"; - listenPort = 51820; - mtu = 1296; - - peers = [ - { - publicKey = "52kAcBdnrFeSuVupHs0u4diUf6tpF8Esy4vzJAlT5Tc="; - endpoint = "78.47.224.233:1194"; - #endpoint = "[2a01:4f8:190:6068::2]:1194"; - persistentKeepalive = 60; - allowedIPs = [ - "0.0.0.0/0" - "::/0" - ]; - } - ]; - }; - networking.firewall.allowedUDPPorts = [ - 51820 # wireguard - ]; - # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It‘s perfectly fine and recommended to leave From feca5d8c514b892f43bb42675a0c5b9f0591dd16 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:10 +0000 Subject: [PATCH 083/766] Update pretix --- pkgs/pretix/poetry.lock | 653 +++++++++++++++++----------------- pkgs/pretix/pretix-static.nix | 2 +- pkgs/pretix/pyproject.toml | 2 +- 3 files changed, 324 insertions(+), 333 deletions(-) diff --git a/pkgs/pretix/poetry.lock b/pkgs/pretix/poetry.lock index 88e6404..3ad42a3 100644 --- a/pkgs/pretix/poetry.lock +++ b/pkgs/pretix/poetry.lock @@ -2,99 +2,99 @@ [[package]] name = "aiohttp" -version = "3.8.4" +version = "3.8.5" description = "Async http client/server framework (asyncio)" category = "main" optional = false python-versions = ">=3.6" files = [ - {file = "aiohttp-3.8.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5ce45967538fb747370308d3145aa68a074bdecb4f3a300869590f725ced69c1"}, - {file = "aiohttp-3.8.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b744c33b6f14ca26b7544e8d8aadff6b765a80ad6164fb1a430bbadd593dfb1a"}, - {file = "aiohttp-3.8.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1a45865451439eb320784918617ba54b7a377e3501fb70402ab84d38c2cd891b"}, - {file = "aiohttp-3.8.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a86d42d7cba1cec432d47ab13b6637bee393a10f664c425ea7b305d1301ca1a3"}, - {file = "aiohttp-3.8.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee3c36df21b5714d49fc4580247947aa64bcbe2939d1b77b4c8dcb8f6c9faecc"}, - {file = "aiohttp-3.8.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:176a64b24c0935869d5bbc4c96e82f89f643bcdf08ec947701b9dbb3c956b7dd"}, - {file = "aiohttp-3.8.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c844fd628851c0bc309f3c801b3a3d58ce430b2ce5b359cd918a5a76d0b20cb5"}, - {file = "aiohttp-3.8.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5393fb786a9e23e4799fec788e7e735de18052f83682ce2dfcabaf1c00c2c08e"}, - {file = "aiohttp-3.8.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e4b09863aae0dc965c3ef36500d891a3ff495a2ea9ae9171e4519963c12ceefd"}, - {file = "aiohttp-3.8.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:adfbc22e87365a6e564c804c58fc44ff7727deea782d175c33602737b7feadb6"}, - {file = "aiohttp-3.8.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:147ae376f14b55f4f3c2b118b95be50a369b89b38a971e80a17c3fd623f280c9"}, - {file = "aiohttp-3.8.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:eafb3e874816ebe2a92f5e155f17260034c8c341dad1df25672fb710627c6949"}, - {file = "aiohttp-3.8.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c6cc15d58053c76eacac5fa9152d7d84b8d67b3fde92709195cb984cfb3475ea"}, - {file = "aiohttp-3.8.4-cp310-cp310-win32.whl", hash = "sha256:59f029a5f6e2d679296db7bee982bb3d20c088e52a2977e3175faf31d6fb75d1"}, - {file = "aiohttp-3.8.4-cp310-cp310-win_amd64.whl", hash = "sha256:fe7ba4a51f33ab275515f66b0a236bcde4fb5561498fe8f898d4e549b2e4509f"}, - {file = "aiohttp-3.8.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3d8ef1a630519a26d6760bc695842579cb09e373c5f227a21b67dc3eb16cfea4"}, - {file = "aiohttp-3.8.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b3f2e06a512e94722886c0827bee9807c86a9f698fac6b3aee841fab49bbfb4"}, - {file = "aiohttp-3.8.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3a80464982d41b1fbfe3154e440ba4904b71c1a53e9cd584098cd41efdb188ef"}, - {file = "aiohttp-3.8.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b631e26df63e52f7cce0cce6507b7a7f1bc9b0c501fcde69742130b32e8782f"}, - {file = "aiohttp-3.8.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f43255086fe25e36fd5ed8f2ee47477408a73ef00e804cb2b5cba4bf2ac7f5e"}, - {file = "aiohttp-3.8.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4d347a172f866cd1d93126d9b239fcbe682acb39b48ee0873c73c933dd23bd0f"}, - {file = "aiohttp-3.8.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a3fec6a4cb5551721cdd70473eb009d90935b4063acc5f40905d40ecfea23e05"}, - {file = "aiohttp-3.8.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:80a37fe8f7c1e6ce8f2d9c411676e4bc633a8462844e38f46156d07a7d401654"}, - {file = "aiohttp-3.8.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d1e6a862b76f34395a985b3cd39a0d949ca80a70b6ebdea37d3ab39ceea6698a"}, - {file = "aiohttp-3.8.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cd468460eefef601ece4428d3cf4562459157c0f6523db89365202c31b6daebb"}, - {file = "aiohttp-3.8.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:618c901dd3aad4ace71dfa0f5e82e88b46ef57e3239fc7027773cb6d4ed53531"}, - {file = "aiohttp-3.8.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:652b1bff4f15f6287550b4670546a2947f2a4575b6c6dff7760eafb22eacbf0b"}, - {file = "aiohttp-3.8.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80575ba9377c5171407a06d0196b2310b679dc752d02a1fcaa2bc20b235dbf24"}, - {file = "aiohttp-3.8.4-cp311-cp311-win32.whl", hash = "sha256:bbcf1a76cf6f6dacf2c7f4d2ebd411438c275faa1dc0c68e46eb84eebd05dd7d"}, - {file = "aiohttp-3.8.4-cp311-cp311-win_amd64.whl", hash = "sha256:6e74dd54f7239fcffe07913ff8b964e28b712f09846e20de78676ce2a3dc0bfc"}, - {file = "aiohttp-3.8.4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:880e15bb6dad90549b43f796b391cfffd7af373f4646784795e20d92606b7a51"}, - {file = "aiohttp-3.8.4-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb96fa6b56bb536c42d6a4a87dfca570ff8e52de2d63cabebfd6fb67049c34b6"}, - {file = "aiohttp-3.8.4-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a6cadebe132e90cefa77e45f2d2f1a4b2ce5c6b1bfc1656c1ddafcfe4ba8131"}, - {file = "aiohttp-3.8.4-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f352b62b45dff37b55ddd7b9c0c8672c4dd2eb9c0f9c11d395075a84e2c40f75"}, - {file = "aiohttp-3.8.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ab43061a0c81198d88f39aaf90dae9a7744620978f7ef3e3708339b8ed2ef01"}, - {file = "aiohttp-3.8.4-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c9cb1565a7ad52e096a6988e2ee0397f72fe056dadf75d17fa6b5aebaea05622"}, - {file = "aiohttp-3.8.4-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:1b3ea7edd2d24538959c1c1abf97c744d879d4e541d38305f9bd7d9b10c9ec41"}, - {file = "aiohttp-3.8.4-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:7c7837fe8037e96b6dd5cfcf47263c1620a9d332a87ec06a6ca4564e56bd0f36"}, - {file = "aiohttp-3.8.4-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:3b90467ebc3d9fa5b0f9b6489dfb2c304a1db7b9946fa92aa76a831b9d587e99"}, - {file = "aiohttp-3.8.4-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:cab9401de3ea52b4b4c6971db5fb5c999bd4260898af972bf23de1c6b5dd9d71"}, - {file = "aiohttp-3.8.4-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:d1f9282c5f2b5e241034a009779e7b2a1aa045f667ff521e7948ea9b56e0c5ff"}, - {file = "aiohttp-3.8.4-cp36-cp36m-win32.whl", hash = "sha256:5e14f25765a578a0a634d5f0cd1e2c3f53964553a00347998dfdf96b8137f777"}, - {file = "aiohttp-3.8.4-cp36-cp36m-win_amd64.whl", hash = "sha256:4c745b109057e7e5f1848c689ee4fb3a016c8d4d92da52b312f8a509f83aa05e"}, - {file = "aiohttp-3.8.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:aede4df4eeb926c8fa70de46c340a1bc2c6079e1c40ccf7b0eae1313ffd33519"}, - {file = "aiohttp-3.8.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ddaae3f3d32fc2cb4c53fab020b69a05c8ab1f02e0e59665c6f7a0d3a5be54f"}, - {file = "aiohttp-3.8.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4eb3b82ca349cf6fadcdc7abcc8b3a50ab74a62e9113ab7a8ebc268aad35bb9"}, - {file = "aiohttp-3.8.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9bcb89336efa095ea21b30f9e686763f2be4478f1b0a616969551982c4ee4c3b"}, - {file = "aiohttp-3.8.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c08e8ed6fa3d477e501ec9db169bfac8140e830aa372d77e4a43084d8dd91ab"}, - {file = "aiohttp-3.8.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c6cd05ea06daca6ad6a4ca3ba7fe7dc5b5de063ff4daec6170ec0f9979f6c332"}, - {file = "aiohttp-3.8.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7a00a9ed8d6e725b55ef98b1b35c88013245f35f68b1b12c5cd4100dddac333"}, - {file = "aiohttp-3.8.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:de04b491d0e5007ee1b63a309956eaed959a49f5bb4e84b26c8f5d49de140fa9"}, - {file = "aiohttp-3.8.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:40653609b3bf50611356e6b6554e3a331f6879fa7116f3959b20e3528783e699"}, - {file = "aiohttp-3.8.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:dbf3a08a06b3f433013c143ebd72c15cac33d2914b8ea4bea7ac2c23578815d6"}, - {file = "aiohttp-3.8.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:854f422ac44af92bfe172d8e73229c270dc09b96535e8a548f99c84f82dde241"}, - {file = "aiohttp-3.8.4-cp37-cp37m-win32.whl", hash = "sha256:aeb29c84bb53a84b1a81c6c09d24cf33bb8432cc5c39979021cc0f98c1292a1a"}, - {file = "aiohttp-3.8.4-cp37-cp37m-win_amd64.whl", hash = "sha256:db3fc6120bce9f446d13b1b834ea5b15341ca9ff3f335e4a951a6ead31105480"}, - {file = "aiohttp-3.8.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fabb87dd8850ef0f7fe2b366d44b77d7e6fa2ea87861ab3844da99291e81e60f"}, - {file = "aiohttp-3.8.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:91f6d540163f90bbaef9387e65f18f73ffd7c79f5225ac3d3f61df7b0d01ad15"}, - {file = "aiohttp-3.8.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d265f09a75a79a788237d7f9054f929ced2e69eb0bb79de3798c468d8a90f945"}, - {file = "aiohttp-3.8.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d89efa095ca7d442a6d0cbc755f9e08190ba40069b235c9886a8763b03785da"}, - {file = "aiohttp-3.8.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4dac314662f4e2aa5009977b652d9b8db7121b46c38f2073bfeed9f4049732cd"}, - {file = "aiohttp-3.8.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe11310ae1e4cd560035598c3f29d86cef39a83d244c7466f95c27ae04850f10"}, - {file = "aiohttp-3.8.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ddb2a2026c3f6a68c3998a6c47ab6795e4127315d2e35a09997da21865757f8"}, - {file = "aiohttp-3.8.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e75b89ac3bd27d2d043b234aa7b734c38ba1b0e43f07787130a0ecac1e12228a"}, - {file = "aiohttp-3.8.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6e601588f2b502c93c30cd5a45bfc665faaf37bbe835b7cfd461753068232074"}, - {file = "aiohttp-3.8.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a5d794d1ae64e7753e405ba58e08fcfa73e3fad93ef9b7e31112ef3c9a0efb52"}, - {file = "aiohttp-3.8.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:a1f4689c9a1462f3df0a1f7e797791cd6b124ddbee2b570d34e7f38ade0e2c71"}, - {file = "aiohttp-3.8.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:3032dcb1c35bc330134a5b8a5d4f68c1a87252dfc6e1262c65a7e30e62298275"}, - {file = "aiohttp-3.8.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8189c56eb0ddbb95bfadb8f60ea1b22fcfa659396ea36f6adcc521213cd7b44d"}, - {file = "aiohttp-3.8.4-cp38-cp38-win32.whl", hash = "sha256:33587f26dcee66efb2fff3c177547bd0449ab7edf1b73a7f5dea1e38609a0c54"}, - {file = "aiohttp-3.8.4-cp38-cp38-win_amd64.whl", hash = "sha256:e595432ac259af2d4630008bf638873d69346372d38255774c0e286951e8b79f"}, - {file = "aiohttp-3.8.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5a7bdf9e57126dc345b683c3632e8ba317c31d2a41acd5800c10640387d193ed"}, - {file = "aiohttp-3.8.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:22f6eab15b6db242499a16de87939a342f5a950ad0abaf1532038e2ce7d31567"}, - {file = "aiohttp-3.8.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7235604476a76ef249bd64cb8274ed24ccf6995c4a8b51a237005ee7a57e8643"}, - {file = "aiohttp-3.8.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea9eb976ffdd79d0e893869cfe179a8f60f152d42cb64622fca418cd9b18dc2a"}, - {file = "aiohttp-3.8.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:92c0cea74a2a81c4c76b62ea1cac163ecb20fb3ba3a75c909b9fa71b4ad493cf"}, - {file = "aiohttp-3.8.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:493f5bc2f8307286b7799c6d899d388bbaa7dfa6c4caf4f97ef7521b9cb13719"}, - {file = "aiohttp-3.8.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a63f03189a6fa7c900226e3ef5ba4d3bd047e18f445e69adbd65af433add5a2"}, - {file = "aiohttp-3.8.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10c8cefcff98fd9168cdd86c4da8b84baaa90bf2da2269c6161984e6737bf23e"}, - {file = "aiohttp-3.8.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bca5f24726e2919de94f047739d0a4fc01372801a3672708260546aa2601bf57"}, - {file = "aiohttp-3.8.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:03baa76b730e4e15a45f81dfe29a8d910314143414e528737f8589ec60cf7391"}, - {file = "aiohttp-3.8.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:8c29c77cc57e40f84acef9bfb904373a4e89a4e8b74e71aa8075c021ec9078c2"}, - {file = "aiohttp-3.8.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:03543dcf98a6619254b409be2d22b51f21ec66272be4ebda7b04e6412e4b2e14"}, - {file = "aiohttp-3.8.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:17b79c2963db82086229012cff93ea55196ed31f6493bb1ccd2c62f1724324e4"}, - {file = "aiohttp-3.8.4-cp39-cp39-win32.whl", hash = "sha256:34ce9f93a4a68d1272d26030655dd1b58ff727b3ed2a33d80ec433561b03d67a"}, - {file = "aiohttp-3.8.4-cp39-cp39-win_amd64.whl", hash = "sha256:41a86a69bb63bb2fc3dc9ad5ea9f10f1c9c8e282b471931be0268ddd09430b04"}, - {file = "aiohttp-3.8.4.tar.gz", hash = "sha256:bf2e1a9162c1e441bf805a1fd166e249d574ca04e03b34f97e2928769e91ab5c"}, + {file = "aiohttp-3.8.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a94159871304770da4dd371f4291b20cac04e8c94f11bdea1c3478e557fbe0d8"}, + {file = "aiohttp-3.8.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:13bf85afc99ce6f9ee3567b04501f18f9f8dbbb2ea11ed1a2e079670403a7c84"}, + {file = "aiohttp-3.8.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2ce2ac5708501afc4847221a521f7e4b245abf5178cf5ddae9d5b3856ddb2f3a"}, + {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96943e5dcc37a6529d18766597c491798b7eb7a61d48878611298afc1fca946c"}, + {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ad5c3c4590bb3cc28b4382f031f3783f25ec223557124c68754a2231d989e2b"}, + {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c413c633d0512df4dc7fd2373ec06cc6a815b7b6d6c2f208ada7e9e93a5061d"}, + {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df72ac063b97837a80d80dec8d54c241af059cc9bb42c4de68bd5b61ceb37caa"}, + {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c48c5c0271149cfe467c0ff8eb941279fd6e3f65c9a388c984e0e6cf57538e14"}, + {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:368a42363c4d70ab52c2c6420a57f190ed3dfaca6a1b19afda8165ee16416a82"}, + {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7607ec3ce4993464368505888af5beb446845a014bc676d349efec0e05085905"}, + {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:0d21c684808288a98914e5aaf2a7c6a3179d4df11d249799c32d1808e79503b5"}, + {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:312fcfbacc7880a8da0ae8b6abc6cc7d752e9caa0051a53d217a650b25e9a691"}, + {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ad093e823df03bb3fd37e7dec9d4670c34f9e24aeace76808fc20a507cace825"}, + {file = "aiohttp-3.8.5-cp310-cp310-win32.whl", hash = "sha256:33279701c04351a2914e1100b62b2a7fdb9a25995c4a104259f9a5ead7ed4802"}, + {file = "aiohttp-3.8.5-cp310-cp310-win_amd64.whl", hash = "sha256:6e4a280e4b975a2e7745573e3fc9c9ba0d1194a3738ce1cbaa80626cc9b4f4df"}, + {file = "aiohttp-3.8.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ae871a964e1987a943d83d6709d20ec6103ca1eaf52f7e0d36ee1b5bebb8b9b9"}, + {file = "aiohttp-3.8.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:461908b2578955045efde733719d62f2b649c404189a09a632d245b445c9c975"}, + {file = "aiohttp-3.8.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:72a860c215e26192379f57cae5ab12b168b75db8271f111019509a1196dfc780"}, + {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc14be025665dba6202b6a71cfcdb53210cc498e50068bc088076624471f8bb9"}, + {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8af740fc2711ad85f1a5c034a435782fbd5b5f8314c9a3ef071424a8158d7f6b"}, + {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:841cd8233cbd2111a0ef0a522ce016357c5e3aff8a8ce92bcfa14cef890d698f"}, + {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ed1c46fb119f1b59304b5ec89f834f07124cd23ae5b74288e364477641060ff"}, + {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84f8ae3e09a34f35c18fa57f015cc394bd1389bce02503fb30c394d04ee6b938"}, + {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:62360cb771707cb70a6fd114b9871d20d7dd2163a0feafe43fd115cfe4fe845e"}, + {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:23fb25a9f0a1ca1f24c0a371523546366bb642397c94ab45ad3aedf2941cec6a"}, + {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b0ba0d15164eae3d878260d4c4df859bbdc6466e9e6689c344a13334f988bb53"}, + {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5d20003b635fc6ae3f96d7260281dfaf1894fc3aa24d1888a9b2628e97c241e5"}, + {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0175d745d9e85c40dcc51c8f88c74bfbaef9e7afeeeb9d03c37977270303064c"}, + {file = "aiohttp-3.8.5-cp311-cp311-win32.whl", hash = "sha256:2e1b1e51b0774408f091d268648e3d57f7260c1682e7d3a63cb00d22d71bb945"}, + {file = "aiohttp-3.8.5-cp311-cp311-win_amd64.whl", hash = "sha256:043d2299f6dfdc92f0ac5e995dfc56668e1587cea7f9aa9d8a78a1b6554e5755"}, + {file = "aiohttp-3.8.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cae533195e8122584ec87531d6df000ad07737eaa3c81209e85c928854d2195c"}, + {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f21e83f355643c345177a5d1d8079f9f28b5133bcd154193b799d380331d5d3"}, + {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a7a75ef35f2df54ad55dbf4b73fe1da96f370e51b10c91f08b19603c64004acc"}, + {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e2e9839e14dd5308ee773c97115f1e0a1cb1d75cbeeee9f33824fa5144c7634"}, + {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c44e65da1de4403d0576473e2344828ef9c4c6244d65cf4b75549bb46d40b8dd"}, + {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:78d847e4cde6ecc19125ccbc9bfac4a7ab37c234dd88fbb3c5c524e8e14da543"}, + {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:c7a815258e5895d8900aec4454f38dca9aed71085f227537208057853f9d13f2"}, + {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:8b929b9bd7cd7c3939f8bcfffa92fae7480bd1aa425279d51a89327d600c704d"}, + {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:5db3a5b833764280ed7618393832e0853e40f3d3e9aa128ac0ba0f8278d08649"}, + {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:a0215ce6041d501f3155dc219712bc41252d0ab76474615b9700d63d4d9292af"}, + {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:fd1ed388ea7fbed22c4968dd64bab0198de60750a25fe8c0c9d4bef5abe13824"}, + {file = "aiohttp-3.8.5-cp36-cp36m-win32.whl", hash = "sha256:6e6783bcc45f397fdebc118d772103d751b54cddf5b60fbcc958382d7dd64f3e"}, + {file = "aiohttp-3.8.5-cp36-cp36m-win_amd64.whl", hash = "sha256:b5411d82cddd212644cf9360879eb5080f0d5f7d809d03262c50dad02f01421a"}, + {file = "aiohttp-3.8.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:01d4c0c874aa4ddfb8098e85d10b5e875a70adc63db91f1ae65a4b04d3344cda"}, + {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5980a746d547a6ba173fd5ee85ce9077e72d118758db05d229044b469d9029a"}, + {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2a482e6da906d5e6e653be079b29bc173a48e381600161c9932d89dfae5942ef"}, + {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80bd372b8d0715c66c974cf57fe363621a02f359f1ec81cba97366948c7fc873"}, + {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1161b345c0a444ebcf46bf0a740ba5dcf50612fd3d0528883fdc0eff578006a"}, + {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd56db019015b6acfaaf92e1ac40eb8434847d9bf88b4be4efe5bfd260aee692"}, + {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:153c2549f6c004d2754cc60603d4668899c9895b8a89397444a9c4efa282aaf4"}, + {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4a01951fabc4ce26ab791da5f3f24dca6d9a6f24121746eb19756416ff2d881b"}, + {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bfb9162dcf01f615462b995a516ba03e769de0789de1cadc0f916265c257e5d8"}, + {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:7dde0009408969a43b04c16cbbe252c4f5ef4574ac226bc8815cd7342d2028b6"}, + {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4149d34c32f9638f38f544b3977a4c24052042affa895352d3636fa8bffd030a"}, + {file = "aiohttp-3.8.5-cp37-cp37m-win32.whl", hash = "sha256:68c5a82c8779bdfc6367c967a4a1b2aa52cd3595388bf5961a62158ee8a59e22"}, + {file = "aiohttp-3.8.5-cp37-cp37m-win_amd64.whl", hash = "sha256:2cf57fb50be5f52bda004b8893e63b48530ed9f0d6c96c84620dc92fe3cd9b9d"}, + {file = "aiohttp-3.8.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:eca4bf3734c541dc4f374ad6010a68ff6c6748f00451707f39857f429ca36ced"}, + {file = "aiohttp-3.8.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1274477e4c71ce8cfe6c1ec2f806d57c015ebf84d83373676036e256bc55d690"}, + {file = "aiohttp-3.8.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:28c543e54710d6158fc6f439296c7865b29e0b616629767e685a7185fab4a6b9"}, + {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:910bec0c49637d213f5d9877105d26e0c4a4de2f8b1b29405ff37e9fc0ad52b8"}, + {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5443910d662db951b2e58eb70b0fbe6b6e2ae613477129a5805d0b66c54b6cb7"}, + {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e460be6978fc24e3df83193dc0cc4de46c9909ed92dd47d349a452ef49325b7"}, + {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb1558def481d84f03b45888473fc5a1f35747b5f334ef4e7a571bc0dfcb11f8"}, + {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34dd0c107799dcbbf7d48b53be761a013c0adf5571bf50c4ecad5643fe9cfcd0"}, + {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:aa1990247f02a54185dc0dff92a6904521172a22664c863a03ff64c42f9b5410"}, + {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0e584a10f204a617d71d359fe383406305a4b595b333721fa50b867b4a0a1548"}, + {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:a3cf433f127efa43fee6b90ea4c6edf6c4a17109d1d037d1a52abec84d8f2e42"}, + {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:c11f5b099adafb18e65c2c997d57108b5bbeaa9eeee64a84302c0978b1ec948b"}, + {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:84de26ddf621d7ac4c975dbea4c945860e08cccde492269db4e1538a6a6f3c35"}, + {file = "aiohttp-3.8.5-cp38-cp38-win32.whl", hash = "sha256:ab88bafedc57dd0aab55fa728ea10c1911f7e4d8b43e1d838a1739f33712921c"}, + {file = "aiohttp-3.8.5-cp38-cp38-win_amd64.whl", hash = "sha256:5798a9aad1879f626589f3df0f8b79b3608a92e9beab10e5fda02c8a2c60db2e"}, + {file = "aiohttp-3.8.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a6ce61195c6a19c785df04e71a4537e29eaa2c50fe745b732aa937c0c77169f3"}, + {file = "aiohttp-3.8.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:773dd01706d4db536335fcfae6ea2440a70ceb03dd3e7378f3e815b03c97ab51"}, + {file = "aiohttp-3.8.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f83a552443a526ea38d064588613aca983d0ee0038801bc93c0c916428310c28"}, + {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f7372f7341fcc16f57b2caded43e81ddd18df53320b6f9f042acad41f8e049a"}, + {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea353162f249c8097ea63c2169dd1aa55de1e8fecbe63412a9bc50816e87b761"}, + {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5d47ae48db0b2dcf70bc8a3bc72b3de86e2a590fc299fdbbb15af320d2659de"}, + {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d827176898a2b0b09694fbd1088c7a31836d1a505c243811c87ae53a3f6273c1"}, + {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3562b06567c06439d8b447037bb655ef69786c590b1de86c7ab81efe1c9c15d8"}, + {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4e874cbf8caf8959d2adf572a78bba17cb0e9d7e51bb83d86a3697b686a0ab4d"}, + {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6809a00deaf3810e38c628e9a33271892f815b853605a936e2e9e5129762356c"}, + {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:33776e945d89b29251b33a7e7d006ce86447b2cfd66db5e5ded4e5cd0340585c"}, + {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:eaeed7abfb5d64c539e2db173f63631455f1196c37d9d8d873fc316470dfbacd"}, + {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e91d635961bec2d8f19dfeb41a539eb94bd073f075ca6dae6c8dc0ee89ad6f91"}, + {file = "aiohttp-3.8.5-cp39-cp39-win32.whl", hash = "sha256:00ad4b6f185ec67f3e6562e8a1d2b69660be43070bd0ef6fcec5211154c7df67"}, + {file = "aiohttp-3.8.5-cp39-cp39-win_amd64.whl", hash = "sha256:c0a9034379a37ae42dea7ac1e048352d96286626251862e448933c0f59cbd79c"}, + {file = "aiohttp-3.8.5.tar.gz", hash = "sha256:b9552ec52cc147dbf1944ac7ac98af7602e51ea2dcd076ed194ca3c0d1c7d0bc"}, ] [package.dependencies] @@ -374,14 +374,14 @@ zstd = ["zstandard (==0.21.0)"] [[package]] name = "certifi" -version = "2023.5.7" +version = "2023.7.22" description = "Python package for providing Mozilla's CA Bundle." category = "main" optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2023.5.7-py3-none-any.whl", hash = "sha256:c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"}, - {file = "certifi-2023.5.7.tar.gz", hash = "sha256:0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7"}, + {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, + {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, ] [[package]] @@ -560,14 +560,14 @@ files = [ [[package]] name = "click" -version = "8.1.4" +version = "8.1.6" description = "Composable command line interface toolkit" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "click-8.1.4-py3-none-any.whl", hash = "sha256:2739815aaa5d2c986a88f1e9230c55e17f0caad3d958a5e13ad0797c166db9e3"}, - {file = "click-8.1.4.tar.gz", hash = "sha256:b97d0c74955da062a7d4ef92fadb583806a585b2ea81958a81bd72726cbb8e37"}, + {file = "click-8.1.6-py3-none-any.whl", hash = "sha256:fa244bb30b3b5ee2cae3da8f55c9e5e0c0e86093306301fb418eb9dc40fbded5"}, + {file = "click-8.1.6.tar.gz", hash = "sha256:48ee849951919527a045bfe3bf7baa8a959c423134e1a5b98c05c20ba75a1cbd"}, ] [package.dependencies] @@ -639,31 +639,35 @@ files = [ [[package]] name = "cryptography" -version = "41.0.1" +version = "41.0.3" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-41.0.1-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:f73bff05db2a3e5974a6fd248af2566134d8981fd7ab012e5dd4ddb1d9a70699"}, - {file = "cryptography-41.0.1-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:1a5472d40c8f8e91ff7a3d8ac6dfa363d8e3138b961529c996f3e2df0c7a411a"}, - {file = "cryptography-41.0.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7fa01527046ca5facdf973eef2535a27fec4cb651e4daec4d043ef63f6ecd4ca"}, - {file = "cryptography-41.0.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b46e37db3cc267b4dea1f56da7346c9727e1209aa98487179ee8ebed09d21e43"}, - {file = "cryptography-41.0.1-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:d198820aba55660b4d74f7b5fd1f17db3aa5eb3e6893b0a41b75e84e4f9e0e4b"}, - {file = "cryptography-41.0.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:948224d76c4b6457349d47c0c98657557f429b4e93057cf5a2f71d603e2fc3a3"}, - {file = "cryptography-41.0.1-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:059e348f9a3c1950937e1b5d7ba1f8e968508ab181e75fc32b879452f08356db"}, - {file = "cryptography-41.0.1-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:b4ceb5324b998ce2003bc17d519080b4ec8d5b7b70794cbd2836101406a9be31"}, - {file = "cryptography-41.0.1-cp37-abi3-win32.whl", hash = "sha256:8f4ab7021127a9b4323537300a2acfb450124b2def3756f64dc3a3d2160ee4b5"}, - {file = "cryptography-41.0.1-cp37-abi3-win_amd64.whl", hash = "sha256:1fee5aacc7367487b4e22484d3c7e547992ed726d14864ee33c0176ae43b0d7c"}, - {file = "cryptography-41.0.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:9a6c7a3c87d595608a39980ebaa04d5a37f94024c9f24eb7d10262b92f739ddb"}, - {file = "cryptography-41.0.1-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5d092fdfedaec4cbbffbf98cddc915ba145313a6fdaab83c6e67f4e6c218e6f3"}, - {file = "cryptography-41.0.1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1a8e6c2de6fbbcc5e14fd27fb24414507cb3333198ea9ab1258d916f00bc3039"}, - {file = "cryptography-41.0.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:cb33ccf15e89f7ed89b235cff9d49e2e62c6c981a6061c9c8bb47ed7951190bc"}, - {file = "cryptography-41.0.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5f0ff6e18d13a3de56f609dd1fd11470918f770c6bd5d00d632076c727d35485"}, - {file = "cryptography-41.0.1-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7bfc55a5eae8b86a287747053140ba221afc65eb06207bedf6e019b8934b477c"}, - {file = "cryptography-41.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:eb8163f5e549a22888c18b0d53d6bb62a20510060a22fd5a995ec8a05268df8a"}, - {file = "cryptography-41.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:8dde71c4169ec5ccc1087bb7521d54251c016f126f922ab2dfe6649170a3b8c5"}, - {file = "cryptography-41.0.1.tar.gz", hash = "sha256:d34579085401d3f49762d2f7d6634d6b6c2ae1242202e860f4d26b046e3a1006"}, + {file = "cryptography-41.0.3-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:652627a055cb52a84f8c448185922241dd5217443ca194d5739b44612c5e6507"}, + {file = "cryptography-41.0.3-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:8f09daa483aedea50d249ef98ed500569841d6498aa9c9f4b0531b9964658922"}, + {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4fd871184321100fb400d759ad0cddddf284c4b696568204d281c902fc7b0d81"}, + {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84537453d57f55a50a5b6835622ee405816999a7113267739a1b4581f83535bd"}, + {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:3fb248989b6363906827284cd20cca63bb1a757e0a2864d4c1682a985e3dca47"}, + {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:42cb413e01a5d36da9929baa9d70ca90d90b969269e5a12d39c1e0d475010116"}, + {file = "cryptography-41.0.3-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:aeb57c421b34af8f9fe830e1955bf493a86a7996cc1338fe41b30047d16e962c"}, + {file = "cryptography-41.0.3-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:6af1c6387c531cd364b72c28daa29232162010d952ceb7e5ca8e2827526aceae"}, + {file = "cryptography-41.0.3-cp37-abi3-win32.whl", hash = "sha256:0d09fb5356f975974dbcb595ad2d178305e5050656affb7890a1583f5e02a306"}, + {file = "cryptography-41.0.3-cp37-abi3-win_amd64.whl", hash = "sha256:a983e441a00a9d57a4d7c91b3116a37ae602907a7618b882c8013b5762e80574"}, + {file = "cryptography-41.0.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5259cb659aa43005eb55a0e4ff2c825ca111a0da1814202c64d28a985d33b087"}, + {file = "cryptography-41.0.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:67e120e9a577c64fe1f611e53b30b3e69744e5910ff3b6e97e935aeb96005858"}, + {file = "cryptography-41.0.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7efe8041897fe7a50863e51b77789b657a133c75c3b094e51b5e4b5cec7bf906"}, + {file = "cryptography-41.0.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ce785cf81a7bdade534297ef9e490ddff800d956625020ab2ec2780a556c313e"}, + {file = "cryptography-41.0.3-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:57a51b89f954f216a81c9d057bf1a24e2f36e764a1ca9a501a6964eb4a6800dd"}, + {file = "cryptography-41.0.3-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:4c2f0d35703d61002a2bbdcf15548ebb701cfdd83cdc12471d2bae80878a4207"}, + {file = "cryptography-41.0.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:23c2d778cf829f7d0ae180600b17e9fceea3c2ef8b31a99e3c694cbbf3a24b84"}, + {file = "cryptography-41.0.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:95dd7f261bb76948b52a5330ba5202b91a26fbac13ad0e9fc8a3ac04752058c7"}, + {file = "cryptography-41.0.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:41d7aa7cdfded09b3d73a47f429c298e80796c8e825ddfadc84c8a7f12df212d"}, + {file = "cryptography-41.0.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:d0d651aa754ef58d75cec6edfbd21259d93810b73f6ec246436a21b7841908de"}, + {file = "cryptography-41.0.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ab8de0d091acbf778f74286f4989cf3d1528336af1b59f3e5d2ebca8b5fe49e1"}, + {file = "cryptography-41.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a74fbcdb2a0d46fe00504f571a2a540532f4c188e6ccf26f1f178480117b33c4"}, + {file = "cryptography-41.0.3.tar.gz", hash = "sha256:6d192741113ef5e30d89dcb5b956ef4e1578f304708701b8b73d38e3e1461f34"}, ] [package.dependencies] @@ -1163,14 +1167,14 @@ dev = ["pytest", "pytest-cov", "pytest-django", "pytest-mock", "pytest-runner"] [[package]] name = "elementpath" -version = "4.1.4" +version = "4.1.5" description = "XPath 1.0/2.0/3.0/3.1 parsers and selectors for ElementTree and lxml" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "elementpath-4.1.4-py3-none-any.whl", hash = "sha256:e7c6d25546dfb381a2c9cde3b78c0c40f52811e06eb810faf019e16c531a74bf"}, - {file = "elementpath-4.1.4.tar.gz", hash = "sha256:f991c42ff66fa06e219141ccf65890261e6635b448e7d4c2d8b62dc5bf1de9e8"}, + {file = "elementpath-4.1.5-py3-none-any.whl", hash = "sha256:2ac1a2fb31eb22bbbf817f8cf6752f844513216263f0e3892c8e79782fe4bb55"}, + {file = "elementpath-4.1.5.tar.gz", hash = "sha256:c2d6dc524b29ef751ecfc416b0627668119d8812441c555d7471da41d4bacb8d"}, ] [package.extras] @@ -1203,86 +1207,73 @@ files = [ [[package]] name = "frozenlist" -version = "1.3.3" +version = "1.4.0" description = "A list-like structure which implements collections.abc.MutableSequence" category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "frozenlist-1.3.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff8bf625fe85e119553b5383ba0fb6aa3d0ec2ae980295aaefa552374926b3f4"}, - {file = "frozenlist-1.3.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dfbac4c2dfcc082fcf8d942d1e49b6aa0766c19d3358bd86e2000bf0fa4a9cf0"}, - {file = "frozenlist-1.3.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b1c63e8d377d039ac769cd0926558bb7068a1f7abb0f003e3717ee003ad85530"}, - {file = "frozenlist-1.3.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7fdfc24dcfce5b48109867c13b4cb15e4660e7bd7661741a391f821f23dfdca7"}, - {file = "frozenlist-1.3.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2c926450857408e42f0bbc295e84395722ce74bae69a3b2aa2a65fe22cb14b99"}, - {file = "frozenlist-1.3.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1841e200fdafc3d51f974d9d377c079a0694a8f06de2e67b48150328d66d5483"}, - {file = "frozenlist-1.3.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f470c92737afa7d4c3aacc001e335062d582053d4dbe73cda126f2d7031068dd"}, - {file = "frozenlist-1.3.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:783263a4eaad7c49983fe4b2e7b53fa9770c136c270d2d4bbb6d2192bf4d9caf"}, - {file = "frozenlist-1.3.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:924620eef691990dfb56dc4709f280f40baee568c794b5c1885800c3ecc69816"}, - {file = "frozenlist-1.3.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ae4dc05c465a08a866b7a1baf360747078b362e6a6dbeb0c57f234db0ef88ae0"}, - {file = "frozenlist-1.3.3-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:bed331fe18f58d844d39ceb398b77d6ac0b010d571cba8267c2e7165806b00ce"}, - {file = "frozenlist-1.3.3-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:02c9ac843e3390826a265e331105efeab489ffaf4dd86384595ee8ce6d35ae7f"}, - {file = "frozenlist-1.3.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:9545a33965d0d377b0bc823dcabf26980e77f1b6a7caa368a365a9497fb09420"}, - {file = "frozenlist-1.3.3-cp310-cp310-win32.whl", hash = "sha256:d5cd3ab21acbdb414bb6c31958d7b06b85eeb40f66463c264a9b343a4e238642"}, - {file = "frozenlist-1.3.3-cp310-cp310-win_amd64.whl", hash = "sha256:b756072364347cb6aa5b60f9bc18e94b2f79632de3b0190253ad770c5df17db1"}, - {file = "frozenlist-1.3.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b4395e2f8d83fbe0c627b2b696acce67868793d7d9750e90e39592b3626691b7"}, - {file = "frozenlist-1.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:14143ae966a6229350021384870458e4777d1eae4c28d1a7aa47f24d030e6678"}, - {file = "frozenlist-1.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5d8860749e813a6f65bad8285a0520607c9500caa23fea6ee407e63debcdbef6"}, - {file = "frozenlist-1.3.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23d16d9f477bb55b6154654e0e74557040575d9d19fe78a161bd33d7d76808e8"}, - {file = "frozenlist-1.3.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb82dbba47a8318e75f679690190c10a5e1f447fbf9df41cbc4c3afd726d88cb"}, - {file = "frozenlist-1.3.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9309869032abb23d196cb4e4db574232abe8b8be1339026f489eeb34a4acfd91"}, - {file = "frozenlist-1.3.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a97b4fe50b5890d36300820abd305694cb865ddb7885049587a5678215782a6b"}, - {file = "frozenlist-1.3.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c188512b43542b1e91cadc3c6c915a82a5eb95929134faf7fd109f14f9892ce4"}, - {file = "frozenlist-1.3.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:303e04d422e9b911a09ad499b0368dc551e8c3cd15293c99160c7f1f07b59a48"}, - {file = "frozenlist-1.3.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:0771aed7f596c7d73444c847a1c16288937ef988dc04fb9f7be4b2aa91db609d"}, - {file = "frozenlist-1.3.3-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:66080ec69883597e4d026f2f71a231a1ee9887835902dbe6b6467d5a89216cf6"}, - {file = "frozenlist-1.3.3-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:41fe21dc74ad3a779c3d73a2786bdf622ea81234bdd4faf90b8b03cad0c2c0b4"}, - {file = "frozenlist-1.3.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f20380df709d91525e4bee04746ba612a4df0972c1b8f8e1e8af997e678c7b81"}, - {file = "frozenlist-1.3.3-cp311-cp311-win32.whl", hash = "sha256:f30f1928162e189091cf4d9da2eac617bfe78ef907a761614ff577ef4edfb3c8"}, - {file = "frozenlist-1.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:a6394d7dadd3cfe3f4b3b186e54d5d8504d44f2d58dcc89d693698e8b7132b32"}, - {file = "frozenlist-1.3.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8df3de3a9ab8325f94f646609a66cbeeede263910c5c0de0101079ad541af332"}, - {file = "frozenlist-1.3.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0693c609e9742c66ba4870bcee1ad5ff35462d5ffec18710b4ac89337ff16e27"}, - {file = "frozenlist-1.3.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cd4210baef299717db0a600d7a3cac81d46ef0e007f88c9335db79f8979c0d3d"}, - {file = "frozenlist-1.3.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:394c9c242113bfb4b9aa36e2b80a05ffa163a30691c7b5a29eba82e937895d5e"}, - {file = "frozenlist-1.3.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6327eb8e419f7d9c38f333cde41b9ae348bec26d840927332f17e887a8dcb70d"}, - {file = "frozenlist-1.3.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e24900aa13212e75e5b366cb9065e78bbf3893d4baab6052d1aca10d46d944c"}, - {file = "frozenlist-1.3.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:3843f84a6c465a36559161e6c59dce2f2ac10943040c2fd021cfb70d58c4ad56"}, - {file = "frozenlist-1.3.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:84610c1502b2461255b4c9b7d5e9c48052601a8957cd0aea6ec7a7a1e1fb9420"}, - {file = "frozenlist-1.3.3-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:c21b9aa40e08e4f63a2f92ff3748e6b6c84d717d033c7b3438dd3123ee18f70e"}, - {file = "frozenlist-1.3.3-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:efce6ae830831ab6a22b9b4091d411698145cb9b8fc869e1397ccf4b4b6455cb"}, - {file = "frozenlist-1.3.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:40de71985e9042ca00b7953c4f41eabc3dc514a2d1ff534027f091bc74416401"}, - {file = "frozenlist-1.3.3-cp37-cp37m-win32.whl", hash = "sha256:180c00c66bde6146a860cbb81b54ee0df350d2daf13ca85b275123bbf85de18a"}, - {file = "frozenlist-1.3.3-cp37-cp37m-win_amd64.whl", hash = "sha256:9bbbcedd75acdfecf2159663b87f1bb5cfc80e7cd99f7ddd9d66eb98b14a8411"}, - {file = "frozenlist-1.3.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:034a5c08d36649591be1cbb10e09da9f531034acfe29275fc5454a3b101ce41a"}, - {file = "frozenlist-1.3.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ba64dc2b3b7b158c6660d49cdb1d872d1d0bf4e42043ad8d5006099479a194e5"}, - {file = "frozenlist-1.3.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:47df36a9fe24054b950bbc2db630d508cca3aa27ed0566c0baf661225e52c18e"}, - {file = "frozenlist-1.3.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:008a054b75d77c995ea26629ab3a0c0d7281341f2fa7e1e85fa6153ae29ae99c"}, - {file = "frozenlist-1.3.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:841ea19b43d438a80b4de62ac6ab21cfe6827bb8a9dc62b896acc88eaf9cecba"}, - {file = "frozenlist-1.3.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e235688f42b36be2b6b06fc37ac2126a73b75fb8d6bc66dd632aa35286238703"}, - {file = "frozenlist-1.3.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca713d4af15bae6e5d79b15c10c8522859a9a89d3b361a50b817c98c2fb402a2"}, - {file = "frozenlist-1.3.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ac5995f2b408017b0be26d4a1d7c61bce106ff3d9e3324374d66b5964325448"}, - {file = "frozenlist-1.3.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a4ae8135b11652b08a8baf07631d3ebfe65a4c87909dbef5fa0cdde440444ee4"}, - {file = "frozenlist-1.3.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:4ea42116ceb6bb16dbb7d526e242cb6747b08b7710d9782aa3d6732bd8d27649"}, - {file = "frozenlist-1.3.3-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:810860bb4bdce7557bc0febb84bbd88198b9dbc2022d8eebe5b3590b2ad6c842"}, - {file = "frozenlist-1.3.3-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:ee78feb9d293c323b59a6f2dd441b63339a30edf35abcb51187d2fc26e696d13"}, - {file = "frozenlist-1.3.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0af2e7c87d35b38732e810befb9d797a99279cbb85374d42ea61c1e9d23094b3"}, - {file = "frozenlist-1.3.3-cp38-cp38-win32.whl", hash = "sha256:899c5e1928eec13fd6f6d8dc51be23f0d09c5281e40d9cf4273d188d9feeaf9b"}, - {file = "frozenlist-1.3.3-cp38-cp38-win_amd64.whl", hash = "sha256:7f44e24fa70f6fbc74aeec3e971f60a14dde85da364aa87f15d1be94ae75aeef"}, - {file = "frozenlist-1.3.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2b07ae0c1edaa0a36339ec6cce700f51b14a3fc6545fdd32930d2c83917332cf"}, - {file = "frozenlist-1.3.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ebb86518203e12e96af765ee89034a1dbb0c3c65052d1b0c19bbbd6af8a145e1"}, - {file = "frozenlist-1.3.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5cf820485f1b4c91e0417ea0afd41ce5cf5965011b3c22c400f6d144296ccbc0"}, - {file = "frozenlist-1.3.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c11e43016b9024240212d2a65043b70ed8dfd3b52678a1271972702d990ac6d"}, - {file = "frozenlist-1.3.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8fa3c6e3305aa1146b59a09b32b2e04074945ffcfb2f0931836d103a2c38f936"}, - {file = "frozenlist-1.3.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:352bd4c8c72d508778cf05ab491f6ef36149f4d0cb3c56b1b4302852255d05d5"}, - {file = "frozenlist-1.3.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:65a5e4d3aa679610ac6e3569e865425b23b372277f89b5ef06cf2cdaf1ebf22b"}, - {file = "frozenlist-1.3.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1e2c1185858d7e10ff045c496bbf90ae752c28b365fef2c09cf0fa309291669"}, - {file = "frozenlist-1.3.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f163d2fd041c630fed01bc48d28c3ed4a3b003c00acd396900e11ee5316b56bb"}, - {file = "frozenlist-1.3.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:05cdb16d09a0832eedf770cb7bd1fe57d8cf4eaf5aced29c4e41e3f20b30a784"}, - {file = "frozenlist-1.3.3-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:8bae29d60768bfa8fb92244b74502b18fae55a80eac13c88eb0b496d4268fd2d"}, - {file = "frozenlist-1.3.3-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:eedab4c310c0299961ac285591acd53dc6723a1ebd90a57207c71f6e0c2153ab"}, - {file = "frozenlist-1.3.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:3bbdf44855ed8f0fbcd102ef05ec3012d6a4fd7c7562403f76ce6a52aeffb2b1"}, - {file = "frozenlist-1.3.3-cp39-cp39-win32.whl", hash = "sha256:efa568b885bca461f7c7b9e032655c0c143d305bf01c30caf6db2854a4532b38"}, - {file = "frozenlist-1.3.3-cp39-cp39-win_amd64.whl", hash = "sha256:cfe33efc9cb900a4c46f91a5ceba26d6df370ffddd9ca386eb1d4f0ad97b9ea9"}, - {file = "frozenlist-1.3.3.tar.gz", hash = "sha256:58bcc55721e8a90b88332d6cd441261ebb22342e238296bb330968952fbb3a6a"}, + {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:764226ceef3125e53ea2cb275000e309c0aa5464d43bd72abd661e27fffc26ab"}, + {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d6484756b12f40003c6128bfcc3fa9f0d49a687e171186c2d85ec82e3758c559"}, + {file = "frozenlist-1.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9ac08e601308e41eb533f232dbf6b7e4cea762f9f84f6357136eed926c15d12c"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d081f13b095d74b67d550de04df1c756831f3b83dc9881c38985834387487f1b"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71932b597f9895f011f47f17d6428252fc728ba2ae6024e13c3398a087c2cdea"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:981b9ab5a0a3178ff413bca62526bb784249421c24ad7381e39d67981be2c326"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e41f3de4df3e80de75845d3e743b3f1c4c8613c3997a912dbf0229fc61a8b963"}, + {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6918d49b1f90821e93069682c06ffde41829c346c66b721e65a5c62b4bab0300"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0e5c8764c7829343d919cc2dfc587a8db01c4f70a4ebbc49abde5d4b158b007b"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8d0edd6b1c7fb94922bf569c9b092ee187a83f03fb1a63076e7774b60f9481a8"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e29cda763f752553fa14c68fb2195150bfab22b352572cb36c43c47bedba70eb"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:0c7c1b47859ee2cac3846fde1c1dc0f15da6cec5a0e5c72d101e0f83dcb67ff9"}, + {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:901289d524fdd571be1c7be054f48b1f88ce8dddcbdf1ec698b27d4b8b9e5d62"}, + {file = "frozenlist-1.4.0-cp310-cp310-win32.whl", hash = "sha256:1a0848b52815006ea6596c395f87449f693dc419061cc21e970f139d466dc0a0"}, + {file = "frozenlist-1.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:b206646d176a007466358aa21d85cd8600a415c67c9bd15403336c331a10d956"}, + {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:de343e75f40e972bae1ef6090267f8260c1446a1695e77096db6cfa25e759a95"}, + {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ad2a9eb6d9839ae241701d0918f54c51365a51407fd80f6b8289e2dfca977cc3"}, + {file = "frozenlist-1.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bd7bd3b3830247580de99c99ea2a01416dfc3c34471ca1298bccabf86d0ff4dc"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bdf1847068c362f16b353163391210269e4f0569a3c166bc6a9f74ccbfc7e839"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:38461d02d66de17455072c9ba981d35f1d2a73024bee7790ac2f9e361ef1cd0c"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5a32087d720c608f42caed0ef36d2b3ea61a9d09ee59a5142d6070da9041b8f"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dd65632acaf0d47608190a71bfe46b209719bf2beb59507db08ccdbe712f969b"}, + {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:261b9f5d17cac914531331ff1b1d452125bf5daa05faf73b71d935485b0c510b"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b89ac9768b82205936771f8d2eb3ce88503b1556324c9f903e7156669f521472"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:008eb8b31b3ea6896da16c38c1b136cb9fec9e249e77f6211d479db79a4eaf01"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e74b0506fa5aa5598ac6a975a12aa8928cbb58e1f5ac8360792ef15de1aa848f"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:490132667476f6781b4c9458298b0c1cddf237488abd228b0b3650e5ecba7467"}, + {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:76d4711f6f6d08551a7e9ef28c722f4a50dd0fc204c56b4bcd95c6cc05ce6fbb"}, + {file = "frozenlist-1.4.0-cp311-cp311-win32.whl", hash = "sha256:a02eb8ab2b8f200179b5f62b59757685ae9987996ae549ccf30f983f40602431"}, + {file = "frozenlist-1.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:515e1abc578dd3b275d6a5114030b1330ba044ffba03f94091842852f806f1c1"}, + {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f0ed05f5079c708fe74bf9027e95125334b6978bf07fd5ab923e9e55e5fbb9d3"}, + {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ca265542ca427bf97aed183c1676e2a9c66942e822b14dc6e5f42e038f92a503"}, + {file = "frozenlist-1.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:491e014f5c43656da08958808588cc6c016847b4360e327a62cb308c791bd2d9"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17ae5cd0f333f94f2e03aaf140bb762c64783935cc764ff9c82dff626089bebf"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e78fb68cf9c1a6aa4a9a12e960a5c9dfbdb89b3695197aa7064705662515de2"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5655a942f5f5d2c9ed93d72148226d75369b4f6952680211972a33e59b1dfdc"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c11b0746f5d946fecf750428a95f3e9ebe792c1ee3b1e96eeba145dc631a9672"}, + {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e66d2a64d44d50d2543405fb183a21f76b3b5fd16f130f5c99187c3fb4e64919"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:88f7bc0fcca81f985f78dd0fa68d2c75abf8272b1f5c323ea4a01a4d7a614efc"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5833593c25ac59ede40ed4de6d67eb42928cca97f26feea219f21d0ed0959b79"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:fec520865f42e5c7f050c2a79038897b1c7d1595e907a9e08e3353293ffc948e"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:b826d97e4276750beca7c8f0f1a4938892697a6bcd8ec8217b3312dad6982781"}, + {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ceb6ec0a10c65540421e20ebd29083c50e6d1143278746a4ef6bcf6153171eb8"}, + {file = "frozenlist-1.4.0-cp38-cp38-win32.whl", hash = "sha256:2b8bcf994563466db019fab287ff390fffbfdb4f905fc77bc1c1d604b1c689cc"}, + {file = "frozenlist-1.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:a6c8097e01886188e5be3e6b14e94ab365f384736aa1fca6a0b9e35bd4a30bc7"}, + {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6c38721585f285203e4b4132a352eb3daa19121a035f3182e08e437cface44bf"}, + {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a0c6da9aee33ff0b1a451e867da0c1f47408112b3391dd43133838339e410963"}, + {file = "frozenlist-1.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:93ea75c050c5bb3d98016b4ba2497851eadf0ac154d88a67d7a6816206f6fa7f"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f61e2dc5ad442c52b4887f1fdc112f97caeff4d9e6ebe78879364ac59f1663e1"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa384489fefeb62321b238e64c07ef48398fe80f9e1e6afeff22e140e0850eef"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:10ff5faaa22786315ef57097a279b833ecab1a0bfb07d604c9cbb1c4cdc2ed87"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:007df07a6e3eb3e33e9a1fe6a9db7af152bbd8a185f9aaa6ece10a3529e3e1c6"}, + {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f4f399d28478d1f604c2ff9119907af9726aed73680e5ed1ca634d377abb087"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c5374b80521d3d3f2ec5572e05adc94601985cc526fb276d0c8574a6d749f1b3"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ce31ae3e19f3c902de379cf1323d90c649425b86de7bbdf82871b8a2a0615f3d"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7211ef110a9194b6042449431e08c4d80c0481e5891e58d429df5899690511c2"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:556de4430ce324c836789fa4560ca62d1591d2538b8ceb0b4f68fb7b2384a27a"}, + {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7645a8e814a3ee34a89c4a372011dcd817964ce8cb273c8ed6119d706e9613e3"}, + {file = "frozenlist-1.4.0-cp39-cp39-win32.whl", hash = "sha256:19488c57c12d4e8095a922f328df3f179c820c212940a498623ed39160bc3c2f"}, + {file = "frozenlist-1.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:6221d84d463fb110bdd7619b69cb43878a11d51cbb9394ae3105d082d5199167"}, + {file = "frozenlist-1.4.0.tar.gz", hash = "sha256:09163bdf0b2907454042edb19f887c6d33806adc71fbd54afc14908bfdc22251"}, ] [[package]] @@ -1374,14 +1365,14 @@ files = [ [[package]] name = "jsonschema" -version = "4.18.0" +version = "4.18.6" description = "An implementation of JSON Schema validation for Python" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "jsonschema-4.18.0-py3-none-any.whl", hash = "sha256:b508dd6142bd03f4c3670534c80af68cd7bbff9ea830b9cf2625d4a3c49ddf60"}, - {file = "jsonschema-4.18.0.tar.gz", hash = "sha256:8caf5b57a990a98e9b39832ef3cb35c176fe331414252b6e1b26fd5866f891a4"}, + {file = "jsonschema-4.18.6-py3-none-any.whl", hash = "sha256:dc274409c36175aad949c68e5ead0853aaffbe8e88c830ae66bb3c7a1728ad2d"}, + {file = "jsonschema-4.18.6.tar.gz", hash = "sha256:ce71d2f8c7983ef75a756e568317bf54bc531dc3ad7e66a128eae0d51623d8a3"}, ] [package.dependencies] @@ -1396,14 +1387,14 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- [[package]] name = "jsonschema-specifications" -version = "2023.6.1" +version = "2023.7.1" description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "jsonschema_specifications-2023.6.1-py3-none-any.whl", hash = "sha256:3d2b82663aff01815f744bb5c7887e2121a63399b49b104a3c96145474d091d7"}, - {file = "jsonschema_specifications-2023.6.1.tar.gz", hash = "sha256:ca1c4dd059a9e7b34101cf5b3ab7ff1d18b139f35950d598d629837ef66e8f28"}, + {file = "jsonschema_specifications-2023.7.1-py3-none-any.whl", hash = "sha256:05adf340b659828a004220a9613be00fa3f223f2b82002e273dee62fd50524b1"}, + {file = "jsonschema_specifications-2023.7.1.tar.gz", hash = "sha256:c91a50404e88a1f6ba40636778e2ee08f6e24c5613fe4c53ac24578a5a7f72bb"}, ] [package.dependencies] @@ -1798,14 +1789,14 @@ six = ">=1.0.0" [[package]] name = "phonenumberslite" -version = "8.13.15" +version = "8.13.17" description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers." category = "main" optional = false python-versions = "*" files = [ - {file = "phonenumberslite-8.13.15-py2.py3-none-any.whl", hash = "sha256:87434233270bee76d6624f9e256688fa4c2ecb1b235f7c9275446b8978f7de8d"}, - {file = "phonenumberslite-8.13.15.tar.gz", hash = "sha256:35e48d547c38b9e2d62d77a2f91ef628a98f184c474ce453dff001978312a16b"}, + {file = "phonenumberslite-8.13.17-py2.py3-none-any.whl", hash = "sha256:bae91ba7822ed73adeac739b9f9f2ded295375542014f3374e593ad92eef49c4"}, + {file = "phonenumberslite-8.13.17.tar.gz", hash = "sha256:5741de4b77a963f33585eb0e8ffa2632ea9987d6e50a38ac67f441e49422de69"}, ] [[package]] @@ -1890,19 +1881,19 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa [[package]] name = "platformdirs" -version = "3.8.1" +version = "3.10.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "platformdirs-3.8.1-py3-none-any.whl", hash = "sha256:cec7b889196b9144d088e4c57d9ceef7374f6c39694ad1577a0aab50d27ea28c"}, - {file = "platformdirs-3.8.1.tar.gz", hash = "sha256:f87ca4fcff7d2b0f81c6a748a77973d7af0f4d526f98f308477c3c436c74d528"}, + {file = "platformdirs-3.10.0-py3-none-any.whl", hash = "sha256:d7c24979f292f916dc9cbf8648319032f551ea8c49a4c9bf2fb556a02070ec1d"}, + {file = "platformdirs-3.10.0.tar.gz", hash = "sha256:b45696dab2d7cc691a3226759c0d3b00c47c8b6e293d96f6436f733303f77f6d"}, ] [package.extras] -docs = ["furo (>=2023.5.20)", "proselint (>=0.13)", "sphinx (>=7.0.1)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest-cov (>=4.1)", "pytest-mock (>=3.10)"] +docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.1)", "sphinx-autodoc-typehints (>=1.24)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)"] [[package]] name = "ply" @@ -1918,14 +1909,14 @@ files = [ [[package]] name = "pretix" -version = "2023.6.0" +version = "2023.7.0" description = "Reinventing presales, one ticket at a time" category = "main" optional = false python-versions = ">=3.9" files = [ - {file = "pretix-2023.6.0-py3-none-any.whl", hash = "sha256:0365d050fbbd3302439778367c16bd16c590507bad5337872787b15a2185e2b6"}, - {file = "pretix-2023.6.0.tar.gz", hash = "sha256:6bc6cbfe4e3ccf4388e4d829bcdba319b649007e02d9d79e9d58cc5e8380b290"}, + {file = "pretix-2023.7.0-py3-none-any.whl", hash = "sha256:ed983e2ae73b2983e53b80733a2a69aca4f1686e98c19c67ed5b0c40f0a81033"}, + {file = "pretix-2023.7.0.tar.gz", hash = "sha256:86278f0fc1fa0a638bb720076ac805f3254818e5c243a4871b03db9ceaf40b9f"}, ] [package.dependencies] @@ -2456,14 +2447,14 @@ ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)" [[package]] name = "referencing" -version = "0.29.1" +version = "0.30.0" description = "JSON Referencing + Python" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "referencing-0.29.1-py3-none-any.whl", hash = "sha256:d3c8f323ee1480095da44d55917cfb8278d73d6b4d5f677e3e40eb21314ac67f"}, - {file = "referencing-0.29.1.tar.gz", hash = "sha256:90cb53782d550ba28d2166ef3f55731f38397def8832baac5d45235f1995e35e"}, + {file = "referencing-0.30.0-py3-none-any.whl", hash = "sha256:c257b08a399b6c2f5a3510a50d28ab5dbc7bbde049bcaf954d43c446f83ab548"}, + {file = "referencing-0.30.0.tar.gz", hash = "sha256:47237742e990457f7512c7d27486394a9aadaf876cbfaa4be65b27b4f4d47c6b"}, ] [package.dependencies] @@ -2577,109 +2568,109 @@ files = [ [[package]] name = "rpds-py" -version = "0.8.10" +version = "0.9.2" description = "Python bindings to Rust's persistent data structures (rpds)" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "rpds_py-0.8.10-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:93d06cccae15b3836247319eee7b6f1fdcd6c10dabb4e6d350d27bd0bdca2711"}, - {file = "rpds_py-0.8.10-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3816a890a6a9e9f1de250afa12ca71c9a7a62f2b715a29af6aaee3aea112c181"}, - {file = "rpds_py-0.8.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a7c6304b894546b5a6bdc0fe15761fa53fe87d28527a7142dae8de3c663853e1"}, - {file = "rpds_py-0.8.10-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ad3bfb44c8840fb4be719dc58e229f435e227fbfbe133dc33f34981ff622a8f8"}, - {file = "rpds_py-0.8.10-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:14f1c356712f66653b777ecd8819804781b23dbbac4eade4366b94944c9e78ad"}, - {file = "rpds_py-0.8.10-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:82bb361cae4d0a627006dadd69dc2f36b7ad5dc1367af9d02e296ec565248b5b"}, - {file = "rpds_py-0.8.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b2e3c4f2a8e3da47f850d7ea0d7d56720f0f091d66add889056098c4b2fd576c"}, - {file = "rpds_py-0.8.10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:15a90d0ac11b4499171067ae40a220d1ca3cb685ec0acc356d8f3800e07e4cb8"}, - {file = "rpds_py-0.8.10-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:70bb9c8004b97b4ef7ae56a2aa56dfaa74734a0987c78e7e85f00004ab9bf2d0"}, - {file = "rpds_py-0.8.10-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:d64f9f88d5203274a002b54442cafc9c7a1abff2a238f3e767b70aadf919b451"}, - {file = "rpds_py-0.8.10-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ccbbd276642788c4376fbe8d4e6c50f0fb4972ce09ecb051509062915891cbf0"}, - {file = "rpds_py-0.8.10-cp310-none-win32.whl", hash = "sha256:fafc0049add8043ad07ab5382ee80d80ed7e3699847f26c9a5cf4d3714d96a84"}, - {file = "rpds_py-0.8.10-cp310-none-win_amd64.whl", hash = "sha256:915031002c86a5add7c6fd4beb601b2415e8a1c956590a5f91d825858e92fe6e"}, - {file = "rpds_py-0.8.10-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:84eb541a44f7a18f07a6bfc48b95240739e93defe1fdfb4f2a295f37837945d7"}, - {file = "rpds_py-0.8.10-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f59996d0550894affaad8743e97b9b9c98f638b221fac12909210ec3d9294786"}, - {file = "rpds_py-0.8.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9adb5664b78fcfcd830000416c8cc69853ef43cb084d645b3f1f0296edd9bae"}, - {file = "rpds_py-0.8.10-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f96f3f98fbff7af29e9edf9a6584f3c1382e7788783d07ba3721790625caa43e"}, - {file = "rpds_py-0.8.10-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:376b8de737401050bd12810003d207e824380be58810c031f10ec563ff6aef3d"}, - {file = "rpds_py-0.8.10-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d1c2bc319428d50b3e0fa6b673ab8cc7fa2755a92898db3a594cbc4eeb6d1f7"}, - {file = "rpds_py-0.8.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:73a1e48430f418f0ac3dfd87860e4cc0d33ad6c0f589099a298cb53724db1169"}, - {file = "rpds_py-0.8.10-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:134ec8f14ca7dbc6d9ae34dac632cdd60939fe3734b5d287a69683c037c51acb"}, - {file = "rpds_py-0.8.10-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4b519bac7c09444dd85280fd60f28c6dde4389c88dddf4279ba9b630aca3bbbe"}, - {file = "rpds_py-0.8.10-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:9cd57981d9fab04fc74438d82460f057a2419974d69a96b06a440822d693b3c0"}, - {file = "rpds_py-0.8.10-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:69d089c026f6a8b9d64a06ff67dc3be196707b699d7f6ca930c25f00cf5e30d8"}, - {file = "rpds_py-0.8.10-cp311-none-win32.whl", hash = "sha256:220bdcad2d2936f674650d304e20ac480a3ce88a40fe56cd084b5780f1d104d9"}, - {file = "rpds_py-0.8.10-cp311-none-win_amd64.whl", hash = "sha256:6c6a0225b8501d881b32ebf3f5807a08ad3685b5eb5f0a6bfffd3a6e039b2055"}, - {file = "rpds_py-0.8.10-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:e3d0cd3dff0e7638a7b5390f3a53057c4e347f4ef122ee84ed93fc2fb7ea4aa2"}, - {file = "rpds_py-0.8.10-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d77dff3a5aa5eedcc3da0ebd10ff8e4969bc9541aa3333a8d41715b429e99f47"}, - {file = "rpds_py-0.8.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41c89a366eae49ad9e65ed443a8f94aee762931a1e3723749d72aeac80f5ef2f"}, - {file = "rpds_py-0.8.10-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3793c21494bad1373da517001d0849eea322e9a049a0e4789e50d8d1329df8e7"}, - {file = "rpds_py-0.8.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:805a5f3f05d186c5d50de2e26f765ba7896d0cc1ac5b14ffc36fae36df5d2f10"}, - {file = "rpds_py-0.8.10-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b01b39ad5411563031ea3977bbbc7324d82b088e802339e6296f082f78f6115c"}, - {file = "rpds_py-0.8.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3f1e860be21f3e83011116a65e7310486300e08d9a3028e73e8d13bb6c77292"}, - {file = "rpds_py-0.8.10-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a13c8e56c46474cd5958d525ce6a9996727a83d9335684e41f5192c83deb6c58"}, - {file = "rpds_py-0.8.10-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:93d99f957a300d7a4ced41615c45aeb0343bb8f067c42b770b505de67a132346"}, - {file = "rpds_py-0.8.10-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:148b0b38d719c0760e31ce9285a9872972bdd7774969a4154f40c980e5beaca7"}, - {file = "rpds_py-0.8.10-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3cc5e5b5514796f45f03a568981971b12a3570f3de2e76114f7dc18d4b60a3c4"}, - {file = "rpds_py-0.8.10-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:e8e24b210a4deb5a7744971f8f77393005bae7f873568e37dfd9effe808be7f7"}, - {file = "rpds_py-0.8.10-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b41941583adce4242af003d2a8337b066ba6148ca435f295f31ac6d9e4ea2722"}, - {file = "rpds_py-0.8.10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c490204e16bca4f835dba8467869fe7295cdeaa096e4c5a7af97f3454a97991"}, - {file = "rpds_py-0.8.10-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1ee45cd1d84beed6cbebc839fd85c2e70a3a1325c8cfd16b62c96e2ffb565eca"}, - {file = "rpds_py-0.8.10-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a8ca409f1252e1220bf09c57290b76cae2f14723746215a1e0506472ebd7bdf"}, - {file = "rpds_py-0.8.10-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:96b293c0498c70162effb13100624c5863797d99df75f2f647438bd10cbf73e4"}, - {file = "rpds_py-0.8.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4627520a02fccbd324b33c7a83e5d7906ec746e1083a9ac93c41ac7d15548c7"}, - {file = "rpds_py-0.8.10-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e39d7ab0c18ac99955b36cd19f43926450baba21e3250f053e0704d6ffd76873"}, - {file = "rpds_py-0.8.10-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ba9f1d1ebe4b63801977cec7401f2d41e888128ae40b5441270d43140efcad52"}, - {file = "rpds_py-0.8.10-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:802f42200d8caf7f25bbb2a6464cbd83e69d600151b7e3b49f49a47fa56b0a38"}, - {file = "rpds_py-0.8.10-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:d19db6ba816e7f59fc806c690918da80a7d186f00247048cd833acdab9b4847b"}, - {file = "rpds_py-0.8.10-cp38-none-win32.whl", hash = "sha256:7947e6e2c2ad68b1c12ee797d15e5f8d0db36331200b0346871492784083b0c6"}, - {file = "rpds_py-0.8.10-cp38-none-win_amd64.whl", hash = "sha256:fa326b3505d5784436d9433b7980171ab2375535d93dd63fbcd20af2b5ca1bb6"}, - {file = "rpds_py-0.8.10-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:7b38a9ac96eeb6613e7f312cd0014de64c3f07000e8bf0004ad6ec153bac46f8"}, - {file = "rpds_py-0.8.10-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c4d42e83ddbf3445e6514f0aff96dca511421ed0392d9977d3990d9f1ba6753c"}, - {file = "rpds_py-0.8.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b21575031478609db6dbd1f0465e739fe0e7f424a8e7e87610a6c7f68b4eb16"}, - {file = "rpds_py-0.8.10-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:574868858a7ff6011192c023a5289158ed20e3f3b94b54f97210a773f2f22921"}, - {file = "rpds_py-0.8.10-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae40f4a70a1f40939d66ecbaf8e7edc144fded190c4a45898a8cfe19d8fc85ea"}, - {file = "rpds_py-0.8.10-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:37f7ee4dc86db7af3bac6d2a2cedbecb8e57ce4ed081f6464510e537589f8b1e"}, - {file = "rpds_py-0.8.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:695f642a3a5dbd4ad2ffbbacf784716ecd87f1b7a460843b9ddf965ccaeafff4"}, - {file = "rpds_py-0.8.10-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f43ab4cb04bde6109eb2555528a64dfd8a265cc6a9920a67dcbde13ef53a46c8"}, - {file = "rpds_py-0.8.10-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a11ab0d97be374efd04f640c04fe5c2d3dabc6dfb998954ea946ee3aec97056d"}, - {file = "rpds_py-0.8.10-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:92cf5b3ee60eef41f41e1a2cabca466846fb22f37fc580ffbcb934d1bcab225a"}, - {file = "rpds_py-0.8.10-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:ceaac0c603bf5ac2f505a78b2dcab78d3e6b706be6596c8364b64cc613d208d2"}, - {file = "rpds_py-0.8.10-cp39-none-win32.whl", hash = "sha256:dd4f16e57c12c0ae17606c53d1b57d8d1c8792efe3f065a37cb3341340599d49"}, - {file = "rpds_py-0.8.10-cp39-none-win_amd64.whl", hash = "sha256:c03a435d26c3999c2a8642cecad5d1c4d10c961817536af52035f6f4ee2f5dd0"}, - {file = "rpds_py-0.8.10-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:0da53292edafecba5e1d8c1218f99babf2ed0bf1c791d83c0ab5c29b57223068"}, - {file = "rpds_py-0.8.10-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:7d20a8ed227683401cc508e7be58cba90cc97f784ea8b039c8cd01111e6043e0"}, - {file = "rpds_py-0.8.10-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97cab733d303252f7c2f7052bf021a3469d764fc2b65e6dbef5af3cbf89d4892"}, - {file = "rpds_py-0.8.10-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8c398fda6df361a30935ab4c4bccb7f7a3daef2964ca237f607c90e9f3fdf66f"}, - {file = "rpds_py-0.8.10-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2eb4b08c45f8f8d8254cdbfacd3fc5d6b415d64487fb30d7380b0d0569837bf1"}, - {file = "rpds_py-0.8.10-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e7dfb1cbb895810fa2b892b68153c17716c6abaa22c7dc2b2f6dcf3364932a1c"}, - {file = "rpds_py-0.8.10-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89c92b74e8bf6f53a6f4995fd52f4bd510c12f103ee62c99e22bc9e05d45583c"}, - {file = "rpds_py-0.8.10-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e9c0683cb35a9b5881b41bc01d5568ffc667910d9dbc632a1fba4e7d59e98773"}, - {file = "rpds_py-0.8.10-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:0eeb2731708207d0fe2619afe6c4dc8cb9798f7de052da891de5f19c0006c315"}, - {file = "rpds_py-0.8.10-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:7495010b658ec5b52835f21d8c8b1a7e52e194c50f095d4223c0b96c3da704b1"}, - {file = "rpds_py-0.8.10-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:c72ebc22e70e04126158c46ba56b85372bc4d54d00d296be060b0db1671638a4"}, - {file = "rpds_py-0.8.10-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:2cd3045e7f6375dda64ed7db1c5136826facb0159ea982f77d9cf6125025bd34"}, - {file = "rpds_py-0.8.10-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:2418cf17d653d24ffb8b75e81f9f60b7ba1b009a23298a433a4720b2a0a17017"}, - {file = "rpds_py-0.8.10-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a2edf8173ac0c7a19da21bc68818be1321998528b5e3f748d6ee90c0ba2a1fd"}, - {file = "rpds_py-0.8.10-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7f29b8c55fd3a2bc48e485e37c4e2df3317f43b5cc6c4b6631c33726f52ffbb3"}, - {file = "rpds_py-0.8.10-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9a7d20c1cf8d7b3960c5072c265ec47b3f72a0c608a9a6ee0103189b4f28d531"}, - {file = "rpds_py-0.8.10-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:521fc8861a86ae54359edf53a15a05fabc10593cea7b3357574132f8427a5e5a"}, - {file = "rpds_py-0.8.10-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5c191713e98e7c28800233f039a32a42c1a4f9a001a8a0f2448b07391881036"}, - {file = "rpds_py-0.8.10-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:083df0fafe199371206111583c686c985dddaf95ab3ee8e7b24f1fda54515d09"}, - {file = "rpds_py-0.8.10-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:ed41f3f49507936a6fe7003985ea2574daccfef999775525d79eb67344e23767"}, - {file = "rpds_py-0.8.10-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:2614c2732bf45de5c7f9e9e54e18bc78693fa2f635ae58d2895b7965e470378c"}, - {file = "rpds_py-0.8.10-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:c60528671d9d467009a6ec284582179f6b88651e83367d0ab54cb739021cd7de"}, - {file = "rpds_py-0.8.10-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:ee744fca8d1ea822480a2a4e7c5f2e1950745477143668f0b523769426060f29"}, - {file = "rpds_py-0.8.10-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:a38b9f526d0d6cbdaa37808c400e3d9f9473ac4ff64d33d9163fd05d243dbd9b"}, - {file = "rpds_py-0.8.10-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:60e0e86e870350e03b3e25f9b1dd2c6cc72d2b5f24e070249418320a6f9097b7"}, - {file = "rpds_py-0.8.10-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f53f55a8852f0e49b0fc76f2412045d6ad9d5772251dea8f55ea45021616e7d5"}, - {file = "rpds_py-0.8.10-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c493365d3fad241d52f096e4995475a60a80f4eba4d3ff89b713bc65c2ca9615"}, - {file = "rpds_py-0.8.10-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:300eb606e6b94a7a26f11c8cc8ee59e295c6649bd927f91e1dbd37a4c89430b6"}, - {file = "rpds_py-0.8.10-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a665f6f1a87614d1c3039baf44109094926dedf785e346d8b0a728e9cabd27a"}, - {file = "rpds_py-0.8.10-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:927d784648211447201d4c6f1babddb7971abad922b32257ab74de2f2750fad0"}, - {file = "rpds_py-0.8.10-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:c200b30dd573afa83847bed7e3041aa36a8145221bf0cfdfaa62d974d720805c"}, - {file = "rpds_py-0.8.10-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:08166467258fd0240a1256fce272f689f2360227ee41c72aeea103e9e4f63d2b"}, - {file = "rpds_py-0.8.10-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:996cc95830de9bc22b183661d95559ec6b3cd900ad7bc9154c4cbf5be0c9b734"}, - {file = "rpds_py-0.8.10.tar.gz", hash = "sha256:13e643ce8ad502a0263397362fb887594b49cf84bf518d6038c16f235f2bcea4"}, + {file = "rpds_py-0.9.2-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:ab6919a09c055c9b092798ce18c6c4adf49d24d4d9e43a92b257e3f2548231e7"}, + {file = "rpds_py-0.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d55777a80f78dd09410bd84ff8c95ee05519f41113b2df90a69622f5540c4f8b"}, + {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a216b26e5af0a8e265d4efd65d3bcec5fba6b26909014effe20cd302fd1138fa"}, + {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:29cd8bfb2d716366a035913ced99188a79b623a3512292963d84d3e06e63b496"}, + {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44659b1f326214950a8204a248ca6199535e73a694be8d3e0e869f820767f12f"}, + {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:745f5a43fdd7d6d25a53ab1a99979e7f8ea419dfefebcab0a5a1e9095490ee5e"}, + {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a987578ac5214f18b99d1f2a3851cba5b09f4a689818a106c23dbad0dfeb760f"}, + {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bf4151acb541b6e895354f6ff9ac06995ad9e4175cbc6d30aaed08856558201f"}, + {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:03421628f0dc10a4119d714a17f646e2837126a25ac7a256bdf7c3943400f67f"}, + {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:13b602dc3e8dff3063734f02dcf05111e887f301fdda74151a93dbbc249930fe"}, + {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:fae5cb554b604b3f9e2c608241b5d8d303e410d7dfb6d397c335f983495ce7f6"}, + {file = "rpds_py-0.9.2-cp310-none-win32.whl", hash = "sha256:47c5f58a8e0c2c920cc7783113df2fc4ff12bf3a411d985012f145e9242a2764"}, + {file = "rpds_py-0.9.2-cp310-none-win_amd64.whl", hash = "sha256:4ea6b73c22d8182dff91155af018b11aac9ff7eca085750455c5990cb1cfae6e"}, + {file = "rpds_py-0.9.2-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:e564d2238512c5ef5e9d79338ab77f1cbbda6c2d541ad41b2af445fb200385e3"}, + {file = "rpds_py-0.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f411330a6376fb50e5b7a3e66894e4a39e60ca2e17dce258d53768fea06a37bd"}, + {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e7521f5af0233e89939ad626b15278c71b69dc1dfccaa7b97bd4cdf96536bb7"}, + {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8d3335c03100a073883857e91db9f2e0ef8a1cf42dc0369cbb9151c149dbbc1b"}, + {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d25b1c1096ef0447355f7293fbe9ad740f7c47ae032c2884113f8e87660d8f6e"}, + {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6a5d3fbd02efd9cf6a8ffc2f17b53a33542f6b154e88dd7b42ef4a4c0700fdad"}, + {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5934e2833afeaf36bd1eadb57256239785f5af0220ed8d21c2896ec4d3a765f"}, + {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:095b460e117685867d45548fbd8598a8d9999227e9061ee7f012d9d264e6048d"}, + {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:91378d9f4151adc223d584489591dbb79f78814c0734a7c3bfa9c9e09978121c"}, + {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:24a81c177379300220e907e9b864107614b144f6c2a15ed5c3450e19cf536fae"}, + {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:de0b6eceb46141984671802d412568d22c6bacc9b230174f9e55fc72ef4f57de"}, + {file = "rpds_py-0.9.2-cp311-none-win32.whl", hash = "sha256:700375326ed641f3d9d32060a91513ad668bcb7e2cffb18415c399acb25de2ab"}, + {file = "rpds_py-0.9.2-cp311-none-win_amd64.whl", hash = "sha256:0766babfcf941db8607bdaf82569ec38107dbb03c7f0b72604a0b346b6eb3298"}, + {file = "rpds_py-0.9.2-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:b1440c291db3f98a914e1afd9d6541e8fc60b4c3aab1a9008d03da4651e67386"}, + {file = "rpds_py-0.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0f2996fbac8e0b77fd67102becb9229986396e051f33dbceada3debaacc7033f"}, + {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f30d205755566a25f2ae0382944fcae2f350500ae4df4e795efa9e850821d82"}, + {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:159fba751a1e6b1c69244e23ba6c28f879a8758a3e992ed056d86d74a194a0f3"}, + {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1f044792e1adcea82468a72310c66a7f08728d72a244730d14880cd1dabe36b"}, + {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9251eb8aa82e6cf88510530b29eef4fac825a2b709baf5b94a6094894f252387"}, + {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01899794b654e616c8625b194ddd1e5b51ef5b60ed61baa7a2d9c2ad7b2a4238"}, + {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b0c43f8ae8f6be1d605b0465671124aa8d6a0e40f1fb81dcea28b7e3d87ca1e1"}, + {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:207f57c402d1f8712618f737356e4b6f35253b6d20a324d9a47cb9f38ee43a6b"}, + {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b52e7c5ae35b00566d244ffefba0f46bb6bec749a50412acf42b1c3f402e2c90"}, + {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:978fa96dbb005d599ec4fd9ed301b1cc45f1a8f7982d4793faf20b404b56677d"}, + {file = "rpds_py-0.9.2-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:6aa8326a4a608e1c28da191edd7c924dff445251b94653988efb059b16577a4d"}, + {file = "rpds_py-0.9.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:aad51239bee6bff6823bbbdc8ad85136c6125542bbc609e035ab98ca1e32a192"}, + {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4bd4dc3602370679c2dfb818d9c97b1137d4dd412230cfecd3c66a1bf388a196"}, + {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:dd9da77c6ec1f258387957b754f0df60766ac23ed698b61941ba9acccd3284d1"}, + {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:190ca6f55042ea4649ed19c9093a9be9d63cd8a97880106747d7147f88a49d18"}, + {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:876bf9ed62323bc7dcfc261dbc5572c996ef26fe6406b0ff985cbcf460fc8a4c"}, + {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa2818759aba55df50592ecbc95ebcdc99917fa7b55cc6796235b04193eb3c55"}, + {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9ea4d00850ef1e917815e59b078ecb338f6a8efda23369677c54a5825dbebb55"}, + {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:5855c85eb8b8a968a74dc7fb014c9166a05e7e7a8377fb91d78512900aadd13d"}, + {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:14c408e9d1a80dcb45c05a5149e5961aadb912fff42ca1dd9b68c0044904eb32"}, + {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:65a0583c43d9f22cb2130c7b110e695fff834fd5e832a776a107197e59a1898e"}, + {file = "rpds_py-0.9.2-cp38-none-win32.whl", hash = "sha256:71f2f7715935a61fa3e4ae91d91b67e571aeb5cb5d10331ab681256bda2ad920"}, + {file = "rpds_py-0.9.2-cp38-none-win_amd64.whl", hash = "sha256:674c704605092e3ebbbd13687b09c9f78c362a4bc710343efe37a91457123044"}, + {file = "rpds_py-0.9.2-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:07e2c54bef6838fa44c48dfbc8234e8e2466d851124b551fc4e07a1cfeb37260"}, + {file = "rpds_py-0.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f7fdf55283ad38c33e35e2855565361f4bf0abd02470b8ab28d499c663bc5d7c"}, + {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:890ba852c16ace6ed9f90e8670f2c1c178d96510a21b06d2fa12d8783a905193"}, + {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:50025635ba8b629a86d9d5474e650da304cb46bbb4d18690532dd79341467846"}, + {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:517cbf6e67ae3623c5127206489d69eb2bdb27239a3c3cc559350ef52a3bbf0b"}, + {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0836d71ca19071090d524739420a61580f3f894618d10b666cf3d9a1688355b1"}, + {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c439fd54b2b9053717cca3de9583be6584b384d88d045f97d409f0ca867d80f"}, + {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f68996a3b3dc9335037f82754f9cdbe3a95db42bde571d8c3be26cc6245f2324"}, + {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7d68dc8acded354c972116f59b5eb2e5864432948e098c19fe6994926d8e15c3"}, + {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f963c6b1218b96db85fc37a9f0851eaf8b9040aa46dec112611697a7023da535"}, + {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5a46859d7f947061b4010e554ccd1791467d1b1759f2dc2ec9055fa239f1bc26"}, + {file = "rpds_py-0.9.2-cp39-none-win32.whl", hash = "sha256:e07e5dbf8a83c66783a9fe2d4566968ea8c161199680e8ad38d53e075df5f0d0"}, + {file = "rpds_py-0.9.2-cp39-none-win_amd64.whl", hash = "sha256:682726178138ea45a0766907957b60f3a1bf3acdf212436be9733f28b6c5af3c"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:196cb208825a8b9c8fc360dc0f87993b8b260038615230242bf18ec84447c08d"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:c7671d45530fcb6d5e22fd40c97e1e1e01965fc298cbda523bb640f3d923b387"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83b32f0940adec65099f3b1c215ef7f1d025d13ff947975a055989cb7fd019a4"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7f67da97f5b9eac838b6980fc6da268622e91f8960e083a34533ca710bec8611"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:03975db5f103997904c37e804e5f340c8fdabbb5883f26ee50a255d664eed58c"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:987b06d1cdb28f88a42e4fb8a87f094e43f3c435ed8e486533aea0bf2e53d931"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c861a7e4aef15ff91233751619ce3a3d2b9e5877e0fcd76f9ea4f6847183aa16"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02938432352359805b6da099c9c95c8a0547fe4b274ce8f1a91677401bb9a45f"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:ef1f08f2a924837e112cba2953e15aacfccbbfcd773b4b9b4723f8f2ddded08e"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:35da5cc5cb37c04c4ee03128ad59b8c3941a1e5cd398d78c37f716f32a9b7f67"}, + {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:141acb9d4ccc04e704e5992d35472f78c35af047fa0cfae2923835d153f091be"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:79f594919d2c1a0cc17d1988a6adaf9a2f000d2e1048f71f298b056b1018e872"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:a06418fe1155e72e16dddc68bb3780ae44cebb2912fbd8bb6ff9161de56e1798"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b2eb034c94b0b96d5eddb290b7b5198460e2d5d0c421751713953a9c4e47d10"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8b08605d248b974eb02f40bdcd1a35d3924c83a2a5e8f5d0fa5af852c4d960af"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a0805911caedfe2736935250be5008b261f10a729a303f676d3d5fea6900c96a"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ab2299e3f92aa5417d5e16bb45bb4586171c1327568f638e8453c9f8d9e0f020"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c8d7594e38cf98d8a7df25b440f684b510cf4627fe038c297a87496d10a174f"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8b9ec12ad5f0a4625db34db7e0005be2632c1013b253a4a60e8302ad4d462afd"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:1fcdee18fea97238ed17ab6478c66b2095e4ae7177e35fb71fbe561a27adf620"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:933a7d5cd4b84f959aedeb84f2030f0a01d63ae6cf256629af3081cf3e3426e8"}, + {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:686ba516e02db6d6f8c279d1641f7067ebb5dc58b1d0536c4aaebb7bf01cdc5d"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:0173c0444bec0a3d7d848eaeca2d8bd32a1b43f3d3fde6617aac3731fa4be05f"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:d576c3ef8c7b2d560e301eb33891d1944d965a4d7a2eacb6332eee8a71827db6"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed89861ee8c8c47d6beb742a602f912b1bb64f598b1e2f3d758948721d44d468"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1054a08e818f8e18910f1bee731583fe8f899b0a0a5044c6e680ceea34f93876"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99e7c4bb27ff1aab90dcc3e9d37ee5af0231ed98d99cb6f5250de28889a3d502"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c545d9d14d47be716495076b659db179206e3fd997769bc01e2d550eeb685596"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9039a11bca3c41be5a58282ed81ae422fa680409022b996032a43badef2a3752"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fb39aca7a64ad0c9490adfa719dbeeb87d13be137ca189d2564e596f8ba32c07"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2d8b3b3a2ce0eaa00c5bbbb60b6713e94e7e0becab7b3db6c5c77f979e8ed1f1"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:99b1c16f732b3a9971406fbfe18468592c5a3529585a45a35adbc1389a529a03"}, + {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:c27ee01a6c3223025f4badd533bea5e87c988cb0ba2811b690395dfe16088cfe"}, + {file = "rpds_py-0.9.2.tar.gz", hash = "sha256:8d70e8f14900f2657c249ea4def963bed86a29b81f81f5b76b5a9215680de945"}, ] [[package]] @@ -2854,14 +2845,14 @@ files = [ [[package]] name = "tlds" -version = "2023052200" +version = "2023072502" description = "Automatically updated list of valid TLDs taken directly from IANA" category = "main" optional = false python-versions = "*" files = [ - {file = "tlds-2023052200-py2.py3-none-any.whl", hash = "sha256:966e23eb6405ef83b1a3642a5181efd16f62ae0b2ec4a5621eea8060be242c9c"}, - {file = "tlds-2023052200.tar.gz", hash = "sha256:a3f27d4b13ec204fd21746ac8f1646e7c25a6061d2f42c3d7451d38e1e2a6cc3"}, + {file = "tlds-2023072502-py2.py3-none-any.whl", hash = "sha256:5aaf30397ff914bfe63066c66d07adc27eea39bdfa97c89c86caffa7a11b776b"}, + {file = "tlds-2023072502.tar.gz", hash = "sha256:ff084754b15d9a6de6237b9539b9d991d5e516dc379a1875703d970ce8a4ef18"}, ] [[package]] @@ -2982,14 +2973,14 @@ files = [ [[package]] name = "urllib3" -version = "2.0.3" +version = "2.0.4" description = "HTTP library with thread-safe connection pooling, file post, and more." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "urllib3-2.0.3-py3-none-any.whl", hash = "sha256:48e7fafa40319d358848e1bc6809b208340fafe2096f1725d05d67443d0483d1"}, - {file = "urllib3-2.0.3.tar.gz", hash = "sha256:bee28b5e56addb8226c96f7f13ac28cb4c301dd5ea8a6ca179c0b9835e032825"}, + {file = "urllib3-2.0.4-py3-none-any.whl", hash = "sha256:de7df1803967d2c2a98e4b11bb7d6bd9210474c46e8a0401514e3a42a75ebde4"}, + {file = "urllib3-2.0.4.tar.gz", hash = "sha256:8d22f86aae8ef5e410d4f539fde9ce6b2113a001bb4d189e0aed70642d602b11"}, ] [package.extras] @@ -3166,23 +3157,23 @@ files = [ [[package]] name = "xmlschema" -version = "2.3.1" +version = "2.4.0" description = "An XML Schema validator and decoder" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "xmlschema-2.3.1-py3-none-any.whl", hash = "sha256:eac0e10957723689ff0691785da4ffee1e95df3a874e685a179047f7bf07f8fb"}, - {file = "xmlschema-2.3.1.tar.gz", hash = "sha256:2eb426c5710833a05610c22c8766713a1b87e9405e3eca0b7c658375bf7ec810"}, + {file = "xmlschema-2.4.0-py3-none-any.whl", hash = "sha256:dc87be0caaa61f42649899189aab2fd8e0d567f2cf548433ba7b79278d231a4a"}, + {file = "xmlschema-2.4.0.tar.gz", hash = "sha256:d74cd0c10866ac609e1ef94a5a69b018ad16e39077bc6393408b40c6babee793"}, ] [package.dependencies] -elementpath = ">=4.1.2,<5.0.0" +elementpath = ">=4.1.5,<5.0.0" [package.extras] -codegen = ["elementpath (>=4.1.2,<5.0.0)", "jinja2"] -dev = ["Sphinx", "coverage", "elementpath (>=4.1.2,<5.0.0)", "flake8", "jinja2", "lxml", "lxml-stubs", "memory-profiler", "mypy", "sphinx-rtd-theme", "tox"] -docs = ["Sphinx", "elementpath (>=4.1.2,<5.0.0)", "jinja2", "sphinx-rtd-theme"] +codegen = ["elementpath (>=4.1.5,<5.0.0)", "jinja2"] +dev = ["Sphinx", "coverage", "elementpath (>=4.1.5,<5.0.0)", "flake8", "jinja2", "lxml", "lxml-stubs", "memory-profiler", "mypy", "sphinx-rtd-theme", "tox"] +docs = ["Sphinx", "elementpath (>=4.1.5,<5.0.0)", "jinja2", "sphinx-rtd-theme"] [[package]] name = "yarl" @@ -3302,21 +3293,21 @@ xmlsec = ["xmlsec (>=0.6.1)"] [[package]] name = "zipp" -version = "3.15.0" +version = "3.16.2" description = "Backport of pathlib-compatible object wrapper for zip files" category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "zipp-3.15.0-py3-none-any.whl", hash = "sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556"}, - {file = "zipp-3.15.0.tar.gz", hash = "sha256:112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b"}, + {file = "zipp-3.16.2-py3-none-any.whl", hash = "sha256:679e51dd4403591b2d6838a48de3d283f3d188412a9782faadf845f298736ba0"}, + {file = "zipp-3.16.2.tar.gz", hash = "sha256:ebc15946aa78bd63458992fc81ec3b6f7b1e92d51c35e6de1c3804e73b799147"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "d0fe6f5883fe243c1aaaff6a5358ab4289518d7413db33360152a02ad247d9b6" +content-hash = "d171f2c48d275a315aa1da2ff043417b943cc60dba6741e892536c8c8e1f854c" diff --git a/pkgs/pretix/pretix-static.nix b/pkgs/pretix/pretix-static.nix index 2646bd1..8fa80ce 100644 --- a/pkgs/pretix/pretix-static.nix +++ b/pkgs/pretix/pretix-static.nix @@ -8,7 +8,7 @@ let nodeEnv = buildNpmPackage rec { name = "pretix-nodejs"; src = "${pretix.passthru.pythonModule.pkgs.pretix}/lib/python3.10/site-packages/pretix/static/npm_dir"; - npmDepsHash = "sha256-wMzi48h4SFsGKi/s7FujJtsAtj8pRQX3nVo8WC0UqPY="; + npmDepsHash = "sha256-6qqfuNpWvPE5KmONe/ZbWOEjvO1S8124Kk2QerGZ74s="; dontNpmBuild = true; installPhase = '' mkdir -p $out diff --git a/pkgs/pretix/pyproject.toml b/pkgs/pretix/pyproject.toml index 5fdb13d..a6c1826 100644 --- a/pkgs/pretix/pyproject.toml +++ b/pkgs/pretix/pyproject.toml @@ -7,7 +7,7 @@ license = "MIT" [tool.poetry.dependencies] python = "^3.10" -pretix = "^2023.6.0" +pretix = "^2023.7.0" [tool.poetry.dev-dependencies] From 142ff9bc24efa6faf84575ea77fd3c126091895e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:12 +0000 Subject: [PATCH 084/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/52bf404674068e7f1ad8ee08bb95648be5a4fb19' (2023-08-03) → 'github:cachix/pre-commit-hooks.nix/c5ac3aa3324bd8aebe8622a3fc92eeb3975d317a' (2023-08-11) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/bd836ac5e5a7358dea73cb74a013ca32864ccb86' (2023-08-01) → 'github:nixos/nixpkgs/18784aac1013da9b442adf29b6c7c228518b5d3f' (2023-08-10) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/cdd239d1dc7d37ecf0e7a49d7f1d7bfad29825c4' (2023-08-03) → 'github:NixOS/nixpkgs/08d242047cc34c9c624c8ae507211671cf45f464' (2023-08-12) • Updated input 'nur': 'github:nix-community/NUR/e70eac4469043a0f91c709997b7f12616591a3fd' (2023-08-03) → 'github:nix-community/NUR/7cbd1d283f92dec001351cd59366f1053f7a6897' (2023-08-12) • Updated input 'sops-nix': 'github:Mic92/sops-nix/c36df4fe4bf4bb87759b1891cab21e7a05219500' (2023-07-24) → 'github:Mic92/sops-nix/5f5d9a3c8bc247eb574823b9f16a79e054dafe73' (2023-08-12) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/ce45b591975d070044ca24e3003c830d26fea1c8' (2023-07-22) → 'github:NixOS/nixpkgs/240472b7e47a641e9e7675f58b64d3626ca7824d' (2023-08-06) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index f4cb9c4..4189137 100644 --- a/flake.lock +++ b/flake.lock @@ -110,11 +110,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1691073619, - "narHash": "sha256-18/EyL9QuzwaA1iJZm0Qp6Lk7sh4YftfWIa2Is3UOSE=", + "lastModified": 1691747570, + "narHash": "sha256-J3fnIwJtHVQ0tK2JMBv4oAmII+1mCdXdpeCxtIsrL2A=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "52bf404674068e7f1ad8ee08bb95648be5a4fb19", + "rev": "c5ac3aa3324bd8aebe8622a3fc92eeb3975d317a", "type": "github" }, "original": { @@ -158,11 +158,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1690066826, - "narHash": "sha256-6L2qb+Zc0BFkh72OS9uuX637gniOjzU6qCDBpjB2LGY=", + "lastModified": 1691280485, + "narHash": "sha256-/8Ct9092OC1TTNzHgbcE9ejQdS2QxZYGqrWXEwUxdtQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ce45b591975d070044ca24e3003c830d26fea1c8", + "rev": "240472b7e47a641e9e7675f58b64d3626ca7824d", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1691084487, - "narHash": "sha256-yDPkqyA90ZLZa2gpDBs+4vCpk3lfnXT9K9GMx/6C1s8=", + "lastModified": 1691861449, + "narHash": "sha256-SIlA03CqMIzOrTkhFPXKX7QVFG8Xsaq4MVKnoqUvNFk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cdd239d1dc7d37ecf0e7a49d7f1d7bfad29825c4", + "rev": "08d242047cc34c9c624c8ae507211671cf45f464", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1690927903, - "narHash": "sha256-D5gCaCROnjEKDOel//8TO/pOP87pAEtT0uT8X+0Bj/U=", + "lastModified": 1691693223, + "narHash": "sha256-9t8ZY1XNAsWqxAJmXgg+GXqF5chORMVnBT6PSHaRV3I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bd836ac5e5a7358dea73cb74a013ca32864ccb86", + "rev": "18784aac1013da9b442adf29b6c7c228518b5d3f", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1691084746, - "narHash": "sha256-HvHxTU371MHDLbUMpG6zN3Lrem6t8n3PjZFpUlm0/5Y=", + "lastModified": 1691864736, + "narHash": "sha256-FNQ6ma5VPBm17SRXr55TjfxJLjVPr1BHsAAFPLKwApk=", "owner": "nix-community", "repo": "NUR", - "rev": "e70eac4469043a0f91c709997b7f12616591a3fd", + "rev": "7cbd1d283f92dec001351cd59366f1053f7a6897", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1690199016, - "narHash": "sha256-yTLL72q6aqGmzHq+C3rDp3rIjno7EJZkFLof6Ika7cE=", + "lastModified": 1691830846, + "narHash": "sha256-ffR5maL8R4gsoF43YZRSBVzB7qYxzG+Ssjjktg80Wy4=", "owner": "Mic92", "repo": "sops-nix", - "rev": "c36df4fe4bf4bb87759b1891cab21e7a05219500", + "rev": "5f5d9a3c8bc247eb574823b9f16a79e054dafe73", "type": "github" }, "original": { From 79d4719814738004a20b898bdf50f284e2cc38ce Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:15 +0000 Subject: [PATCH 085/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/9dc1cef1ae7be94630b86eeaef1f93580d565919' (2023-08-16) → 'github:NixOS/nixpkgs/2ca5cfd738d8ec732978a0a76beb26b10dae3188' (2023-08-16) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 4189137..a6ac9ac 100644 --- a/flake.lock +++ b/flake.lock @@ -62,11 +62,11 @@ ] }, "locked": { - "lastModified": 1687871164, - "narHash": "sha256-bBFlPthuYX322xOlpJvkjUBz0C+MOBjZdDOOJJ+G2jU=", + "lastModified": 1692099905, + "narHash": "sha256-/pSusGhmIdSdAaywQRFA5dVbfdIzlWQTecM+E46+cJ0=", "owner": "nix-community", "repo": "home-manager", - "rev": "07c347bb50994691d7b0095f45ebd8838cf6bc38", + "rev": "2a6679aa9cc3872c29ba2a57fe1b71b3e3c5649f", "type": "github" }, "original": { @@ -158,11 +158,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1691280485, - "narHash": "sha256-/8Ct9092OC1TTNzHgbcE9ejQdS2QxZYGqrWXEwUxdtQ=", + "lastModified": 1691874659, + "narHash": "sha256-qgmixg0c/CRNT2p9Ad35kaC7NzYVZ6GRooErYI7OGJM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "240472b7e47a641e9e7675f58b64d3626ca7824d", + "rev": "efeed708ece1a9f4ae0506ae4a4d7da264a74102", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1691861449, - "narHash": "sha256-SIlA03CqMIzOrTkhFPXKX7QVFG8Xsaq4MVKnoqUvNFk=", + "lastModified": 1692189362, + "narHash": "sha256-b1yenqPISzcrH2V1Eam6i118B7Sy8Fdnp0C5HM8hwqA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "08d242047cc34c9c624c8ae507211671cf45f464", + "rev": "2ca5cfd738d8ec732978a0a76beb26b10dae3188", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1691693223, - "narHash": "sha256-9t8ZY1XNAsWqxAJmXgg+GXqF5chORMVnBT6PSHaRV3I=", + "lastModified": 1692134936, + "narHash": "sha256-Z68O969cioC6I3k/AFBxsuEwpJwt4l9fzwuAMUhCCs0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "18784aac1013da9b442adf29b6c7c228518b5d3f", + "rev": "bfd953b2c6de4f550f75461bcc5768b6f966be10", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1691864736, - "narHash": "sha256-FNQ6ma5VPBm17SRXr55TjfxJLjVPr1BHsAAFPLKwApk=", + "lastModified": 1692186420, + "narHash": "sha256-uTk0k5vlKlMhZzFoR75omw3zgK7LOhrBRW80btfSvgs=", "owner": "nix-community", "repo": "NUR", - "rev": "7cbd1d283f92dec001351cd59366f1053f7a6897", + "rev": "984f5ff368a482de53d735ef9407f97302e16183", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1691830846, - "narHash": "sha256-ffR5maL8R4gsoF43YZRSBVzB7qYxzG+Ssjjktg80Wy4=", + "lastModified": 1692127428, + "narHash": "sha256-+e9dD67mpGLBhhqdv7A7i1g/r2AT/PmqthWaYHyVZR4=", "owner": "Mic92", "repo": "sops-nix", - "rev": "5f5d9a3c8bc247eb574823b9f16a79e054dafe73", + "rev": "f81e73cf9a4ef4b949b9225be3daa1e586c096da", "type": "github" }, "original": { From b1c234fff38786882fcc782d327b488f7d90d044 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:18 +0000 Subject: [PATCH 086/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/c5ac3aa3324bd8aebe8622a3fc92eeb3975d317a' (2023-08-11) → 'github:cachix/pre-commit-hooks.nix/7e3517c03d46159fdbf8c0e5c97f82d5d4b0c8fa' (2023-08-17) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/bfd953b2c6de4f550f75461bcc5768b6f966be10' (2023-08-15) → 'github:nixos/nixpkgs/4cdad15f34e6321a2f789b99d42815b9142ac2ba' (2023-08-19) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/2ca5cfd738d8ec732978a0a76beb26b10dae3188' (2023-08-16) → 'github:NixOS/nixpkgs/edf73b45fe60905c6b3aa75e731a023f12fa602a' (2023-08-19) • Updated input 'nur': 'github:nix-community/NUR/984f5ff368a482de53d735ef9407f97302e16183' (2023-08-16) → 'github:nix-community/NUR/37f30106cbd37398a53973fdc78a9fed152fc28b' (2023-08-19) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index a6ac9ac..32e9b69 100644 --- a/flake.lock +++ b/flake.lock @@ -110,11 +110,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1691747570, - "narHash": "sha256-J3fnIwJtHVQ0tK2JMBv4oAmII+1mCdXdpeCxtIsrL2A=", + "lastModified": 1692274144, + "narHash": "sha256-BxTQuRUANQ81u8DJznQyPmRsg63t4Yc+0kcyq6OLz8s=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "c5ac3aa3324bd8aebe8622a3fc92eeb3975d317a", + "rev": "7e3517c03d46159fdbf8c0e5c97f82d5d4b0c8fa", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1692189362, - "narHash": "sha256-b1yenqPISzcrH2V1Eam6i118B7Sy8Fdnp0C5HM8hwqA=", + "lastModified": 1692462548, + "narHash": "sha256-O9AYkuPR0CLjLuF9gYgUV30IlIzwuBgApG3oGArWoDA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2ca5cfd738d8ec732978a0a76beb26b10dae3188", + "rev": "edf73b45fe60905c6b3aa75e731a023f12fa602a", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1692134936, - "narHash": "sha256-Z68O969cioC6I3k/AFBxsuEwpJwt4l9fzwuAMUhCCs0=", + "lastModified": 1692414505, + "narHash": "sha256-sSTuyR9JYSxmUcYcj0Jvw1hIq1tz/Canw9mK0hEJvnE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bfd953b2c6de4f550f75461bcc5768b6f966be10", + "rev": "4cdad15f34e6321a2f789b99d42815b9142ac2ba", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1692186420, - "narHash": "sha256-uTk0k5vlKlMhZzFoR75omw3zgK7LOhrBRW80btfSvgs=", + "lastModified": 1692455181, + "narHash": "sha256-XL4dXONV2sxtmYiIy9nGkAsI8L57SPbzrzSZp4yk+m4=", "owner": "nix-community", "repo": "NUR", - "rev": "984f5ff368a482de53d735ef9407f97302e16183", + "rev": "37f30106cbd37398a53973fdc78a9fed152fc28b", "type": "github" }, "original": { From 872407fc38ec58ac941e6209c91fb436b386481b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:19 +0000 Subject: [PATCH 087/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/edf73b45fe60905c6b3aa75e731a023f12fa602a' (2023-08-19) → 'github:NixOS/nixpkgs/325b09c1b514d9ec4cf5f987eb6e576acb7fbc31' (2023-08-21) • Updated input 'nur': 'github:nix-community/NUR/37f30106cbd37398a53973fdc78a9fed152fc28b' (2023-08-19) → 'github:nix-community/NUR/728cd1f35f4cc3a0e76a017f0f1d5b8137fc9d5c' (2023-08-21) • Updated input 'sops-nix': 'github:Mic92/sops-nix/f81e73cf9a4ef4b949b9225be3daa1e586c096da' (2023-08-15) → 'github:Mic92/sops-nix/4f0f113b7dbcb92edb9c901515fcab0b91c6def7' (2023-08-20) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/efeed708ece1a9f4ae0506ae4a4d7da264a74102' (2023-08-12) → 'github:NixOS/nixpkgs/5e63e8bbc46bc4fc22254da1edaf42fc7549c18a' (2023-08-20) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 32e9b69..79f924d 100644 --- a/flake.lock +++ b/flake.lock @@ -158,11 +158,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1691874659, - "narHash": "sha256-qgmixg0c/CRNT2p9Ad35kaC7NzYVZ6GRooErYI7OGJM=", + "lastModified": 1692492726, + "narHash": "sha256-rld5qm2B4oRkDwcPD+yOSyTrZQdfCR6mzJGGkecjvTs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "efeed708ece1a9f4ae0506ae4a4d7da264a74102", + "rev": "5e63e8bbc46bc4fc22254da1edaf42fc7549c18a", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1692462548, - "narHash": "sha256-O9AYkuPR0CLjLuF9gYgUV30IlIzwuBgApG3oGArWoDA=", + "lastModified": 1692601750, + "narHash": "sha256-OIpuoVFqDNQ56XaVmv1cAt51VIlSrUM1lMdKehak9UQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "edf73b45fe60905c6b3aa75e731a023f12fa602a", + "rev": "325b09c1b514d9ec4cf5f987eb6e576acb7fbc31", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1692455181, - "narHash": "sha256-XL4dXONV2sxtmYiIy9nGkAsI8L57SPbzrzSZp4yk+m4=", + "lastModified": 1692601307, + "narHash": "sha256-+LQYdb78YRkkoCuJc9xV2qdMyEVlkdfEHqQKwfDc0VI=", "owner": "nix-community", "repo": "NUR", - "rev": "37f30106cbd37398a53973fdc78a9fed152fc28b", + "rev": "728cd1f35f4cc3a0e76a017f0f1d5b8137fc9d5c", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1692127428, - "narHash": "sha256-+e9dD67mpGLBhhqdv7A7i1g/r2AT/PmqthWaYHyVZR4=", + "lastModified": 1692500916, + "narHash": "sha256-iKADqEOHmyi+LCJ5LzWcM2zH0DP3WHFETjX98blH0tE=", "owner": "Mic92", "repo": "sops-nix", - "rev": "f81e73cf9a4ef4b949b9225be3daa1e586c096da", + "rev": "4f0f113b7dbcb92edb9c901515fcab0b91c6def7", "type": "github" }, "original": { From 419bb986d8ee80a43608148bb71c692992e220b6 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:20 +0000 Subject: [PATCH 088/766] Add bluetooth module --- hosts/cadmium/configuration.nix | 5 +---- hosts/hafnium/configuration.nix | 4 +--- hosts/jalr-t520/configuration.nix | 5 +---- modules/bluetooth.nix | 17 +++++++++++++++++ modules/default.nix | 1 + 5 files changed, 21 insertions(+), 11 deletions(-) create mode 100644 modules/bluetooth.nix diff --git a/hosts/cadmium/configuration.nix b/hosts/cadmium/configuration.nix index 01e405d..0024313 100644 --- a/hosts/cadmium/configuration.nix +++ b/hosts/cadmium/configuration.nix @@ -37,10 +37,6 @@ programs.mtr.enable = true; - hardware.bluetooth.enable = true; - services.blueman.enable = true; - services.ofono.enable = true; - services.udisks2.enable = true; # udevadm info --name /dev/foo --query all @@ -52,6 +48,7 @@ jalr = { bootloader = "systemd-boot"; + bluetooth.enable = true; uefi.enable = true; gui.enable = true; workstation.enable = true; diff --git a/hosts/hafnium/configuration.nix b/hosts/hafnium/configuration.nix index 76cf283..d8f7647 100644 --- a/hosts/hafnium/configuration.nix +++ b/hosts/hafnium/configuration.nix @@ -42,14 +42,12 @@ programs.mtr.enable = true; - hardware.bluetooth.enable = true; - services.blueman.enable = true; - services.ofono.enable = true; services.udisks2.enable = true; jalr = { bootloader = "systemd-boot"; + bluetooth.enable = true; uefi.enable = true; gui.enable = true; workstation.enable = true; diff --git a/hosts/jalr-t520/configuration.nix b/hosts/jalr-t520/configuration.nix index f7b4a62..48be9b1 100644 --- a/hosts/jalr-t520/configuration.nix +++ b/hosts/jalr-t520/configuration.nix @@ -23,12 +23,8 @@ programs.mtr.enable = true; programs.wireshark.enable = true; - hardware.bluetooth.enable = true; - hardware.sane.enable = true; - services.blueman.enable = true; - services.udisks2.enable = true; services.avahi.enable = true; @@ -46,6 +42,7 @@ jalr = { bootloader = "grub2"; + bluetooth.enable = true; gui.enable = true; workstation.enable = true; sdr.enable = true; diff --git a/modules/bluetooth.nix b/modules/bluetooth.nix new file mode 100644 index 0000000..2e71330 --- /dev/null +++ b/modules/bluetooth.nix @@ -0,0 +1,17 @@ +{ config, lib, pkgs, ... }: + +let + cfg = config.jalr; +in +{ + options.jalr = { + bluetooth.enable = pkgs.lib.mkEnableOption "Enable bluetooth" // { default = false; }; + }; + config = lib.mkIf cfg.uefi.enable { + hardware.bluetooth.enable = true; + services.blueman.enable = true; + services.ofono.enable = true; + services.upower.enable = true; + }; +} + diff --git a/modules/default.nix b/modules/default.nix index 7ecebb6..732071f 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -10,6 +10,7 @@ ../pkgs/modules.nix ./autologin.nix ./aws.nix + ./bluetooth.nix ./bootloader ./dji-goggles.nix ./dnsmasq.nix From 586d82c93b8d217530b1c197a0fcae2e549d704d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:21 +0000 Subject: [PATCH 089/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'flake-utils': 'github:numtide/flake-utils/919d646de7be200f3bf08cb76ae1f09402b6f9b4' (2023-07-11) → 'github:numtide/flake-utils/f9e7cf818399d17d347f847525c5a5a8032e4e44' (2023-08-23) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/4cdad15f34e6321a2f789b99d42815b9142ac2ba' (2023-08-19) → 'github:nixos/nixpkgs/fc944919f743bb22379dddf18dcb72db6cff84aa' (2023-08-23) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/325b09c1b514d9ec4cf5f987eb6e576acb7fbc31' (2023-08-21) → 'github:NixOS/nixpkgs/d4c3be990dcdc5a857268477da75f1f5fee8405c' (2023-08-24) • Updated input 'nur': 'github:nix-community/NUR/728cd1f35f4cc3a0e76a017f0f1d5b8137fc9d5c' (2023-08-21) → 'github:nix-community/NUR/8009360e1aea4d302ec22f9149bc5687dd938f25' (2023-08-24) • Updated input 'sops-nix': 'github:Mic92/sops-nix/4f0f113b7dbcb92edb9c901515fcab0b91c6def7' (2023-08-20) → 'github:Mic92/sops-nix/1b7b3a32d65dbcd69c217d7735fdf0a6b2184f45' (2023-08-22) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 79f924d..e919990 100644 --- a/flake.lock +++ b/flake.lock @@ -21,11 +21,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1689068808, - "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", + "lastModified": 1692799911, + "narHash": "sha256-3eihraek4qL744EvQXsK1Ha6C3CR7nnT8X2qWap4RNk=", "owner": "numtide", "repo": "flake-utils", - "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", + "rev": "f9e7cf818399d17d347f847525c5a5a8032e4e44", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1692601750, - "narHash": "sha256-OIpuoVFqDNQ56XaVmv1cAt51VIlSrUM1lMdKehak9UQ=", + "lastModified": 1692890676, + "narHash": "sha256-jfEQmJqKr7DX55UzVmYzM/z5X0yULZzYRWajjXJigHY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "325b09c1b514d9ec4cf5f987eb6e576acb7fbc31", + "rev": "d4c3be990dcdc5a857268477da75f1f5fee8405c", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1692414505, - "narHash": "sha256-sSTuyR9JYSxmUcYcj0Jvw1hIq1tz/Canw9mK0hEJvnE=", + "lastModified": 1692794066, + "narHash": "sha256-H0aG8r16dj0x/Wz6wQhQxc9V7AsObOiHPaKxQgH6Y08=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4cdad15f34e6321a2f789b99d42815b9142ac2ba", + "rev": "fc944919f743bb22379dddf18dcb72db6cff84aa", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1692601307, - "narHash": "sha256-+LQYdb78YRkkoCuJc9xV2qdMyEVlkdfEHqQKwfDc0VI=", + "lastModified": 1692881861, + "narHash": "sha256-8yWfUWEHpbshP0UWC0pExQgaQwP02lUQlxPVJDLw3uQ=", "owner": "nix-community", "repo": "NUR", - "rev": "728cd1f35f4cc3a0e76a017f0f1d5b8137fc9d5c", + "rev": "8009360e1aea4d302ec22f9149bc5687dd938f25", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1692500916, - "narHash": "sha256-iKADqEOHmyi+LCJ5LzWcM2zH0DP3WHFETjX98blH0tE=", + "lastModified": 1692728678, + "narHash": "sha256-02MjG7Sb9k7eOi86CcC4GNWVOjT6gjmXFSqkRjZ8Xyk=", "owner": "Mic92", "repo": "sops-nix", - "rev": "4f0f113b7dbcb92edb9c901515fcab0b91c6def7", + "rev": "1b7b3a32d65dbcd69c217d7735fdf0a6b2184f45", "type": "github" }, "original": { From 28706af7007c886c5f1523e61c854d29de6c2e6b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:22 +0000 Subject: [PATCH 090/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/2a6679aa9cc3872c29ba2a57fe1b71b3e3c5649f' (2023-08-15) → 'github:nix-community/home-manager/5bac4a1c06cd77cf8fc35a658ccb035a6c50cd2c' (2023-08-28) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/fc944919f743bb22379dddf18dcb72db6cff84aa' (2023-08-23) → 'github:nixos/nixpkgs/2ab91c8d65c00fd22a441c69bbf1bc9b420d5ea1' (2023-08-29) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/d4c3be990dcdc5a857268477da75f1f5fee8405c' (2023-08-24) → 'github:NixOS/nixpkgs/b54b40f7b4140663e8dcaa26b4337190945f6b76' (2023-08-31) • Updated input 'nur': 'github:nix-community/NUR/8009360e1aea4d302ec22f9149bc5687dd938f25' (2023-08-24) → 'github:nix-community/NUR/a18bb2664e2597598810dc45a17f70741254ea25' (2023-08-31) • Updated input 'sops-nix': 'github:Mic92/sops-nix/1b7b3a32d65dbcd69c217d7735fdf0a6b2184f45' (2023-08-22) → 'github:Mic92/sops-nix/d9c5dc41c4b1f74c77f0dbffd0f3a4ebde447b7a' (2023-08-30) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/5e63e8bbc46bc4fc22254da1edaf42fc7549c18a' (2023-08-20) → 'github:NixOS/nixpkgs/9117c4e9dc117a6cd0319cca40f2349ed333669d' (2023-08-27) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index e919990..69c6682 100644 --- a/flake.lock +++ b/flake.lock @@ -62,11 +62,11 @@ ] }, "locked": { - "lastModified": 1692099905, - "narHash": "sha256-/pSusGhmIdSdAaywQRFA5dVbfdIzlWQTecM+E46+cJ0=", + "lastModified": 1693208669, + "narHash": "sha256-hHFaaUsZ860wvppPeiu7nJn/nXZjJfnqAQEu9SPFE9I=", "owner": "nix-community", "repo": "home-manager", - "rev": "2a6679aa9cc3872c29ba2a57fe1b71b3e3c5649f", + "rev": "5bac4a1c06cd77cf8fc35a658ccb035a6c50cd2c", "type": "github" }, "original": { @@ -158,11 +158,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1692492726, - "narHash": "sha256-rld5qm2B4oRkDwcPD+yOSyTrZQdfCR6mzJGGkecjvTs=", + "lastModified": 1693097136, + "narHash": "sha256-fBZSMdBaoZ0INFbyZ5s0DOF7zDNcLsLxgkwdDh3l9Pc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5e63e8bbc46bc4fc22254da1edaf42fc7549c18a", + "rev": "9117c4e9dc117a6cd0319cca40f2349ed333669d", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1692890676, - "narHash": "sha256-jfEQmJqKr7DX55UzVmYzM/z5X0yULZzYRWajjXJigHY=", + "lastModified": 1693469295, + "narHash": "sha256-57qMlImkD9S+4Ie4yPN3EuzKAqTetD0ibVFhj1IRlLw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d4c3be990dcdc5a857268477da75f1f5fee8405c", + "rev": "b54b40f7b4140663e8dcaa26b4337190945f6b76", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1692794066, - "narHash": "sha256-H0aG8r16dj0x/Wz6wQhQxc9V7AsObOiHPaKxQgH6Y08=", + "lastModified": 1693341273, + "narHash": "sha256-wrsPjsIx2767909MPGhSIOmkpGELM9eufqLQOPxmZQg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fc944919f743bb22379dddf18dcb72db6cff84aa", + "rev": "2ab91c8d65c00fd22a441c69bbf1bc9b420d5ea1", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1692881861, - "narHash": "sha256-8yWfUWEHpbshP0UWC0pExQgaQwP02lUQlxPVJDLw3uQ=", + "lastModified": 1693467993, + "narHash": "sha256-3t42EiMFxyLEdL+yWciEOCKIORBLag3Kbc8pK+npcYo=", "owner": "nix-community", "repo": "NUR", - "rev": "8009360e1aea4d302ec22f9149bc5687dd938f25", + "rev": "a18bb2664e2597598810dc45a17f70741254ea25", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1692728678, - "narHash": "sha256-02MjG7Sb9k7eOi86CcC4GNWVOjT6gjmXFSqkRjZ8Xyk=", + "lastModified": 1693404499, + "narHash": "sha256-cx/7yvM/AP+o/3wPJmA9W9F+WHemJk5t+Xcr+Qwkqhg=", "owner": "Mic92", "repo": "sops-nix", - "rev": "1b7b3a32d65dbcd69c217d7735fdf0a6b2184f45", + "rev": "d9c5dc41c4b1f74c77f0dbffd0f3a4ebde447b7a", "type": "github" }, "original": { From 931871b60e7ce6718a9a92574e5844f534c8008c Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:23 +0000 Subject: [PATCH 091/766] Add wofi-bluetooth --- home-manager/modules/sway/default.nix | 1 + home-manager/modules/sway/wofi-bluetooth.nix | 5 ++ pkgs/default.nix | 1 + pkgs/wofi-bluetooth/wofi-bluetooth.nix | 30 +++++++++ pkgs/wofi-bluetooth/wofi-bluetooth.patch | 68 ++++++++++++++++++++ 5 files changed, 105 insertions(+) create mode 100644 home-manager/modules/sway/wofi-bluetooth.nix create mode 100644 pkgs/wofi-bluetooth/wofi-bluetooth.nix create mode 100644 pkgs/wofi-bluetooth/wofi-bluetooth.patch diff --git a/home-manager/modules/sway/default.nix b/home-manager/modules/sway/default.nix index 8b51241..fc9ccca 100644 --- a/home-manager/modules/sway/default.nix +++ b/home-manager/modules/sway/default.nix @@ -33,6 +33,7 @@ in ./gammastep.nix ./waybar.nix ./wofi.nix + ./wofi-bluetooth.nix ./yubikey-touch-detector.nix ]; } // (lib.mkIf nixosConfig.jalr.gui.enable { diff --git a/home-manager/modules/sway/wofi-bluetooth.nix b/home-manager/modules/sway/wofi-bluetooth.nix new file mode 100644 index 0000000..76d2d2b --- /dev/null +++ b/home-manager/modules/sway/wofi-bluetooth.nix @@ -0,0 +1,5 @@ +{ nixosConfig, lib, pkgs, ... }: + +lib.mkIf nixosConfig.jalr.bluetooth.enable { + home.packages = [ pkgs.wofi-bluetooth ]; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index 159bea9..08aa561 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -16,4 +16,5 @@ in jalr = prev.recurseIntoAttrs { contact = callPackage ./contact-page { }; }; + wofi-bluetooth = callPackage ./wofi-bluetooth/wofi-bluetooth.nix { }; } diff --git a/pkgs/wofi-bluetooth/wofi-bluetooth.nix b/pkgs/wofi-bluetooth/wofi-bluetooth.nix new file mode 100644 index 0000000..1b1cad6 --- /dev/null +++ b/pkgs/wofi-bluetooth/wofi-bluetooth.nix @@ -0,0 +1,30 @@ +{ lib +, stdenv +, makeWrapper +, bluez +, wofi +, rofi-bluetooth +}: + +stdenv.mkDerivation rec { + pname = "wofi-bluetooth"; + version = rofi-bluetooth.version; + src = rofi-bluetooth.src; + patches = [ + ./wofi-bluetooth.patch + ]; + buildInputs = [ wofi ]; + nativeBuildInputs = [ makeWrapper ]; + installPhase = '' + runHook preInstall + + install -D --target-directory=$out/bin/ ./rofi-bluetooth + + mv $out/bin/rofi-bluetooth $out/bin/wofi-bluetooth + + wrapProgram $out/bin/wofi-bluetooth \ + --prefix PATH ":" ${lib.makeBinPath [ bluez wofi ] } + + runHook postInstall + ''; +} diff --git a/pkgs/wofi-bluetooth/wofi-bluetooth.patch b/pkgs/wofi-bluetooth/wofi-bluetooth.patch new file mode 100644 index 0000000..2b18d7f --- /dev/null +++ b/pkgs/wofi-bluetooth/wofi-bluetooth.patch @@ -0,0 +1,68 @@ +--- a/rofi-bluetooth ++++ b/rofi-bluetooth +@@ -7,14 +7,14 @@ + # + # Author: Nick Clyde (clydedroid) + # +-# A script that generates a rofi menu that uses bluetoothctl to ++# A script that generates a wofi menu that uses bluetoothctl to + # connect to bluetooth devices and display status info. + # + # Inspired by networkmanager-dmenu (https://github.com/firecat53/networkmanager-dmenu) + # Thanks to x70b1 (https://github.com/polybar/polybar-scripts/tree/master/polybar-scripts/system-bluetooth-bluetoothctl) + # + # Depends on: +-# Arch repositories: rofi, bluez-utils (contains bluetoothctl) ++# Arch repositories: wofi, bluez-utils (contains bluetoothctl) + + # Constants + divider="---------" +@@ -231,8 +231,8 @@ + trusted=$(device_trusted "$mac") + options="$connected\n$paired\n$trusted\n$divider\n$goback\nExit" + +- # Open rofi menu, read chosen option +- chosen="$(echo -e "$options" | $rofi_command "$device_name")" ++ # Open wofi menu, read chosen option ++ chosen="$(echo -e "$options" | $wofi_command "$device_name")" + + # Match chosen option to command + case "$chosen" in +@@ -254,7 +254,7 @@ + esac + } + +-# Opens a rofi menu with current bluetooth status and options to connect ++# Opens a wofi menu with current bluetooth status and options to connect + show_menu() { + # Get menu options + if power_on; then +@@ -269,15 +269,16 @@ + pairable=$(pairable_on) + discoverable=$(discoverable_on) + +- # Options passed to rofi ++ # Options passed to wofi + options="$devices\n$divider\n$power\n$scan\n$pairable\n$discoverable\nExit" + else + power="Power: off" + options="$power\nExit" + fi + +- # Open rofi menu, read chosen option +- chosen="$(echo -e "$options" | $rofi_command "Bluetooth")" ++ lines="$(echo -e "$options" | wc -l)" ++ # Open wofi menu, read chosen option ++ chosen="$(echo -e "$options" | $wofi_command "Bluetooth" -L "$lines")" + + # Match chosen option to command + case "$chosen" in +@@ -305,7 +306,7 @@ + } + + # Rofi command to pipe into, can add any options here +-rofi_command="rofi -dmenu $* -p" ++wofi_command="wofi -d -i -p" + + case "$1" in + --status) From 3aa3f8b0a414cf7ebb0178b8633ae7e9812c85bb Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:23 +0000 Subject: [PATCH 092/766] Remove deprecated `useHardenedMalloc` --- home-manager/modules/tor-browser.nix | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/home-manager/modules/tor-browser.nix b/home-manager/modules/tor-browser.nix index 6053e70..f0420ab 100644 --- a/home-manager/modules/tor-browser.nix +++ b/home-manager/modules/tor-browser.nix @@ -1,10 +1,6 @@ { nixosConfig, lib, pkgs, ... }: lib.mkIf nixosConfig.jalr.gui.enable { home.packages = with pkgs; [ - ( - tor-browser-bundle-bin.override { - useHardenedMalloc = false; - } - ) + tor-browser-bundle-bin ]; } From 326d9578c3556fe5ad6d357c1fcc8c03450715f2 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:24 +0000 Subject: [PATCH 093/766] Fix copy&paste error --- modules/bluetooth.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/bluetooth.nix b/modules/bluetooth.nix index 2e71330..dc12711 100644 --- a/modules/bluetooth.nix +++ b/modules/bluetooth.nix @@ -7,7 +7,7 @@ in options.jalr = { bluetooth.enable = pkgs.lib.mkEnableOption "Enable bluetooth" // { default = false; }; }; - config = lib.mkIf cfg.uefi.enable { + config = lib.mkIf cfg.bluetooth.enable { hardware.bluetooth.enable = true; services.blueman.enable = true; services.ofono.enable = true; From 4c2c270220f1a1d2ebe6984822ba635c1bb9f1a6 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:25 +0000 Subject: [PATCH 094/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/2ab91c8d65c00fd22a441c69bbf1bc9b420d5ea1' (2023-08-29) → 'github:nixos/nixpkgs/9075cba53e86dc318d159aee55dc9a7c9a4829c1' (2023-09-02) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/b54b40f7b4140663e8dcaa26b4337190945f6b76' (2023-08-31) → 'github:NixOS/nixpkgs/276e0e59881448b22ff9a5c945e64c9b20149535' (2023-09-03) • Updated input 'nur': 'github:nix-community/NUR/a18bb2664e2597598810dc45a17f70741254ea25' (2023-08-31) → 'github:nix-community/NUR/7e62dd55582646dbf8b87fed72854ebe3911985d' (2023-09-03) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 69c6682..0fd46f9 100644 --- a/flake.lock +++ b/flake.lock @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1693469295, - "narHash": "sha256-57qMlImkD9S+4Ie4yPN3EuzKAqTetD0ibVFhj1IRlLw=", + "lastModified": 1693736417, + "narHash": "sha256-jagxzrXFNu149KnpcTZ9t43Wo5nWU4tw5Ad8/Fz76FU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b54b40f7b4140663e8dcaa26b4337190945f6b76", + "rev": "276e0e59881448b22ff9a5c945e64c9b20149535", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1693341273, - "narHash": "sha256-wrsPjsIx2767909MPGhSIOmkpGELM9eufqLQOPxmZQg=", + "lastModified": 1693636127, + "narHash": "sha256-ZlS/lFGzK7BJXX2YVGnP3yZi3T9OLOEtBCyMJsb91U8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2ab91c8d65c00fd22a441c69bbf1bc9b420d5ea1", + "rev": "9075cba53e86dc318d159aee55dc9a7c9a4829c1", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1693467993, - "narHash": "sha256-3t42EiMFxyLEdL+yWciEOCKIORBLag3Kbc8pK+npcYo=", + "lastModified": 1693733350, + "narHash": "sha256-5QKYiWfNF58hEdU1o0h+78tVtJUgTmlyNnpxrpjdZwc=", "owner": "nix-community", "repo": "NUR", - "rev": "a18bb2664e2597598810dc45a17f70741254ea25", + "rev": "7e62dd55582646dbf8b87fed72854ebe3911985d", "type": "github" }, "original": { From 95630428da29e66716ccec5879103ad0b54d47e7 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:25 +0000 Subject: [PATCH 095/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/9075cba53e86dc318d159aee55dc9a7c9a4829c1' (2023-09-02) → 'github:nixos/nixpkgs/da5adce0ffaff10f6d0fee72a02a5ed9d01b52fc' (2023-09-03) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/276e0e59881448b22ff9a5c945e64c9b20149535' (2023-09-03) → 'github:NixOS/nixpkgs/2457551a54ffbd93b7d8f84af8b8fb3aac5cbdd5' (2023-09-06) • Updated input 'nur': 'github:nix-community/NUR/7e62dd55582646dbf8b87fed72854ebe3911985d' (2023-09-03) → 'github:nix-community/NUR/0572f3d2f4d1b231196f8ed7a3280c7f0724c95e' (2023-09-06) • Updated input 'sops-nix': 'github:Mic92/sops-nix/d9c5dc41c4b1f74c77f0dbffd0f3a4ebde447b7a' (2023-08-30) → 'github:Mic92/sops-nix/faf21ac162173c2deb54e5fdeed002a9bd6e8623' (2023-09-05) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/9117c4e9dc117a6cd0319cca40f2349ed333669d' (2023-08-27) → 'github:NixOS/nixpkgs/5601118d39ca9105f8e7b39d4c221d3388c0419d' (2023-09-02) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 0fd46f9..2cbc90e 100644 --- a/flake.lock +++ b/flake.lock @@ -158,11 +158,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1693097136, - "narHash": "sha256-fBZSMdBaoZ0INFbyZ5s0DOF7zDNcLsLxgkwdDh3l9Pc=", + "lastModified": 1693675694, + "narHash": "sha256-2pIOyQwGyy2FtFAUIb8YeKVmOCcPOTVphbAvmshudLE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9117c4e9dc117a6cd0319cca40f2349ed333669d", + "rev": "5601118d39ca9105f8e7b39d4c221d3388c0419d", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1693736417, - "narHash": "sha256-jagxzrXFNu149KnpcTZ9t43Wo5nWU4tw5Ad8/Fz76FU=", + "lastModified": 1694012069, + "narHash": "sha256-/IUwkEtnuqhoI68IJRBbMgwofTrte8E4zKYAb4p3Hl8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "276e0e59881448b22ff9a5c945e64c9b20149535", + "rev": "2457551a54ffbd93b7d8f84af8b8fb3aac5cbdd5", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1693636127, - "narHash": "sha256-ZlS/lFGzK7BJXX2YVGnP3yZi3T9OLOEtBCyMJsb91U8=", + "lastModified": 1693771906, + "narHash": "sha256-32EnPCaVjOiEERZ+o/2Ir7JH9pkfwJZJ27SKHNvt4yk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9075cba53e86dc318d159aee55dc9a7c9a4829c1", + "rev": "da5adce0ffaff10f6d0fee72a02a5ed9d01b52fc", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1693733350, - "narHash": "sha256-5QKYiWfNF58hEdU1o0h+78tVtJUgTmlyNnpxrpjdZwc=", + "lastModified": 1694011534, + "narHash": "sha256-gB7LM/w61gjZ2n75JN7FQKAF4o2QumqI33Pac16ZvjI=", "owner": "nix-community", "repo": "NUR", - "rev": "7e62dd55582646dbf8b87fed72854ebe3911985d", + "rev": "0572f3d2f4d1b231196f8ed7a3280c7f0724c95e", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1693404499, - "narHash": "sha256-cx/7yvM/AP+o/3wPJmA9W9F+WHemJk5t+Xcr+Qwkqhg=", + "lastModified": 1693898833, + "narHash": "sha256-OIrMAGNYNeLs6IvBynxcXub7aSW3GEUvWNsb7zx6zuU=", "owner": "Mic92", "repo": "sops-nix", - "rev": "d9c5dc41c4b1f74c77f0dbffd0f3a4ebde447b7a", + "rev": "faf21ac162173c2deb54e5fdeed002a9bd6e8623", "type": "github" }, "original": { From 95090e1a2b52ce3ee5e39f0d5f86e1b8497aefce Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:26 +0000 Subject: [PATCH 096/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/da5adce0ffaff10f6d0fee72a02a5ed9d01b52fc' (2023-09-03) → 'github:nixos/nixpkgs/4f77ea639305f1de0a14d9d41eef83313360638c' (2023-09-07) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/2457551a54ffbd93b7d8f84af8b8fb3aac5cbdd5' (2023-09-06) → 'github:NixOS/nixpkgs/88aa035e6c43619ce9dcfb17cd3a88944d12ea75' (2023-09-08) • Updated input 'nur': 'github:nix-community/NUR/0572f3d2f4d1b231196f8ed7a3280c7f0724c95e' (2023-09-06) → 'github:nix-community/NUR/cb2799c3e5aa3b2fa1b0dce240688af0af17d538' (2023-09-08) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 2cbc90e..c7e5a90 100644 --- a/flake.lock +++ b/flake.lock @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1694012069, - "narHash": "sha256-/IUwkEtnuqhoI68IJRBbMgwofTrte8E4zKYAb4p3Hl8=", + "lastModified": 1694211446, + "narHash": "sha256-GcmSpcxdbz6LxmZnOLpL+25pK2OhahwlHDDU0Yqh+xk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2457551a54ffbd93b7d8f84af8b8fb3aac5cbdd5", + "rev": "88aa035e6c43619ce9dcfb17cd3a88944d12ea75", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1693771906, - "narHash": "sha256-32EnPCaVjOiEERZ+o/2Ir7JH9pkfwJZJ27SKHNvt4yk=", + "lastModified": 1694048570, + "narHash": "sha256-PEQptwFCVaJ+jLFJgrZll2shQ9VI/7xVhrCYkJo8iIw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "da5adce0ffaff10f6d0fee72a02a5ed9d01b52fc", + "rev": "4f77ea639305f1de0a14d9d41eef83313360638c", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1694011534, - "narHash": "sha256-gB7LM/w61gjZ2n75JN7FQKAF4o2QumqI33Pac16ZvjI=", + "lastModified": 1694205411, + "narHash": "sha256-+YFpxUt0uaU5STtipAClw2AmO3am0//5TZflTO7jCGc=", "owner": "nix-community", "repo": "NUR", - "rev": "0572f3d2f4d1b231196f8ed7a3280c7f0724c95e", + "rev": "cb2799c3e5aa3b2fa1b0dce240688af0af17d538", "type": "github" }, "original": { From 5c4740989e1dcf1772eae3315b3ef348d7aa078b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:27 +0000 Subject: [PATCH 097/766] Add pretix extraDomains --- .../weinturm-pretix-prod/services/pretix.nix | 4 ++ pkgs/pretix/module.nix | 38 ++++++++++++------- 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/hosts/weinturm-pretix-prod/services/pretix.nix b/hosts/weinturm-pretix-prod/services/pretix.nix index 72ef2df..2afab88 100644 --- a/hosts/weinturm-pretix-prod/services/pretix.nix +++ b/hosts/weinturm-pretix-prod/services/pretix.nix @@ -4,6 +4,10 @@ enable = true; instanceName = "Weinturm Open Air"; domain = "tickets.weinturm-open-air.de"; + extraDomains = [ + "tickets.wasted-openair.de" + "oel.wasted-openair.de" + ]; enableTls = true; enableRegistration = false; passwordReset = true; diff --git a/pkgs/pretix/module.nix b/pkgs/pretix/module.nix index 12872bb..7705e0a 100644 --- a/pkgs/pretix/module.nix +++ b/pkgs/pretix/module.nix @@ -66,7 +66,7 @@ let }; in { - options.services.pretix = with lib; { + options.services.pretix = with lib; with lib.types; { enable = mkEnableOption "Enable pretix ticket shop application"; instanceName = mkOption { type = types.str; @@ -74,7 +74,13 @@ in }; domain = mkOption { type = types.str; - description = "The installation’s domain"; + description = "The installation’s main domain"; + example = "pretix.example.net"; + }; + extraDomains = mkOption { + type = listOf str; + description = "A list of extra domains"; + default = [ ]; }; enableTls = mkEnableOption "Whether to use TLS or not"; enableRegistration = mkEnableOption "Enables or disables the registration of new admin users."; @@ -124,17 +130,23 @@ in recommendedOptimisation = true; recommendedProxySettings = true; recommendedTlsSettings = true; - virtualHosts."${cfg.domain}" = { - enableACME = cfg.enableTls; - forceSSL = cfg.enableTls; - kTLS = cfg.enableTls; - locations."/" = { - proxyPass = "http://${bind.host}:${toString bind.port}"; - }; - extraConfig = '' - ${hstsHeader} - ''; - }; + virtualHosts = lib.listToAttrs (map + (d: { + name = d; + value = { + enableACME = cfg.enableTls; + forceSSL = cfg.enableTls; + kTLS = cfg.enableTls; + locations."/" = { + proxyPass = "http://${bind.host}:${toString bind.port}"; + }; + extraConfig = '' + ${hstsHeader} + ''; + }; + }) + ([ cfg.domain ] ++ cfg.extraDomains) + ); }; services.postgresql = { From 8c54d6b337d2d5b444cf83543c9e47ce5c4c32f0 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:28 +0000 Subject: [PATCH 098/766] Update pretix version Bump pretix version from 2023.7.0 to 2023.7.3 --- pkgs/pretix/poetry.lock | 437 +++++++++++++++++++------------------ pkgs/pretix/pyproject.toml | 2 +- 2 files changed, 220 insertions(+), 219 deletions(-) diff --git a/pkgs/pretix/poetry.lock b/pkgs/pretix/poetry.lock index 3ad42a3..5088d49 100644 --- a/pkgs/pretix/poetry.lock +++ b/pkgs/pretix/poetry.lock @@ -174,14 +174,14 @@ tests = ["mypy (>=0.800)", "pytest", "pytest-asyncio"] [[package]] name = "async-timeout" -version = "4.0.2" +version = "4.0.3" description = "Timeout context manager for asyncio programs" category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "async-timeout-4.0.2.tar.gz", hash = "sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15"}, - {file = "async_timeout-4.0.2-py3-none-any.whl", hash = "sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"}, + {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, + {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, ] [[package]] @@ -318,14 +318,14 @@ test = ["pytest", "pytest-cov"] [[package]] name = "celery" -version = "5.3.1" +version = "5.3.4" description = "Distributed Task Queue." category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "celery-5.3.1-py3-none-any.whl", hash = "sha256:27f8f3f3b58de6e0ab4f174791383bbd7445aff0471a43e99cfd77727940753f"}, - {file = "celery-5.3.1.tar.gz", hash = "sha256:f84d1c21a1520c116c2b7d26593926581191435a03aa74b77c941b93ca1c6210"}, + {file = "celery-5.3.4-py3-none-any.whl", hash = "sha256:1e6ed40af72695464ce98ca2c201ad0ef8fd192246f6c9eac8bba343b980ad34"}, + {file = "celery-5.3.4.tar.gz", hash = "sha256:9023df6a8962da79eb30c0c84d5f4863d9793a466354cc931d7f72423996de28"}, ] [package.dependencies] @@ -334,14 +334,14 @@ click = ">=8.1.2,<9.0" click-didyoumean = ">=0.3.0" click-plugins = ">=1.1.1" click-repl = ">=0.2.0" -kombu = ">=5.3.1,<6.0" +kombu = ">=5.3.2,<6.0" python-dateutil = ">=2.8.2" tzdata = ">=2022.7" vine = ">=5.0.0,<6.0" [package.extras] -arangodb = ["pyArango (>=2.0.1)"] -auth = ["cryptography (==41.0.1)"] +arangodb = ["pyArango (>=2.0.2)"] +auth = ["cryptography (==41.0.3)"] azureblockblob = ["azure-storage-blob (>=12.15.0)"] brotli = ["brotli (>=1.0.0)", "brotlipy (>=0.7.0)"] cassandra = ["cassandra-driver (>=3.25.0,<4)"] @@ -361,7 +361,7 @@ msgpack = ["msgpack (==1.0.5)"] pymemcache = ["python-memcached (==1.59)"] pyro = ["pyro4 (==4.82)"] pytest = ["pytest-celery (==0.0.0)"] -redis = ["redis (>=4.5.2,!=4.5.5)"] +redis = ["redis (>=4.5.2,!=4.5.5,<5.0.0)"] s3 = ["boto3 (>=1.26.143)"] slmq = ["softlayer-messaging (>=1.0.3)"] solar = ["ephem (==4.1.4)"] @@ -560,14 +560,14 @@ files = [ [[package]] name = "click" -version = "8.1.6" +version = "8.1.7" description = "Composable command line interface toolkit" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "click-8.1.6-py3-none-any.whl", hash = "sha256:fa244bb30b3b5ee2cae3da8f55c9e5e0c0e86093306301fb418eb9dc40fbded5"}, - {file = "click-8.1.6.tar.gz", hash = "sha256:48ee849951919527a045bfe3bf7baa8a959c423134e1a5b98c05c20ba75a1cbd"}, + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, ] [package.dependencies] @@ -760,14 +760,14 @@ static3 = "*" [[package]] name = "django" -version = "4.1.10" +version = "4.1.11" description = "A high-level Python web framework that encourages rapid development and clean, pragmatic design." category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "Django-4.1.10-py3-none-any.whl", hash = "sha256:26d0260c2fb8121009e62ffc548b2398dea2522b6454208a852fb0ef264c206c"}, - {file = "Django-4.1.10.tar.gz", hash = "sha256:56343019a9fd839e2e5bf203daf45f25af79d5bffa4c71d56eae4f4404d82ade"}, + {file = "Django-4.1.11-py3-none-any.whl", hash = "sha256:cac9df0ba87b4f439e1a311ef22f75c938fc874bebf1fbabaed58d0e6d559a25"}, + {file = "Django-4.1.11.tar.gz", hash = "sha256:7b134688965dd331ca4d11ed38e5ce594caed0e906689a9b95251c29c2c03990"}, ] [package.dependencies] @@ -1365,14 +1365,14 @@ files = [ [[package]] name = "jsonschema" -version = "4.18.6" +version = "4.19.0" description = "An implementation of JSON Schema validation for Python" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "jsonschema-4.18.6-py3-none-any.whl", hash = "sha256:dc274409c36175aad949c68e5ead0853aaffbe8e88c830ae66bb3c7a1728ad2d"}, - {file = "jsonschema-4.18.6.tar.gz", hash = "sha256:ce71d2f8c7983ef75a756e568317bf54bc531dc3ad7e66a128eae0d51623d8a3"}, + {file = "jsonschema-4.19.0-py3-none-any.whl", hash = "sha256:043dc26a3845ff09d20e4420d6012a9c91c9aa8999fa184e7efcfeccb41e32cb"}, + {file = "jsonschema-4.19.0.tar.gz", hash = "sha256:6e1e7569ac13be8139b2dd2c21a55d350066ee3f80df06c608b398cdc6f30e8f"}, ] [package.dependencies] @@ -1417,14 +1417,14 @@ deprecated = "*" [[package]] name = "kombu" -version = "5.3.1" +version = "5.3.2" description = "Messaging library for Python." category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "kombu-5.3.1-py3-none-any.whl", hash = "sha256:48ee589e8833126fd01ceaa08f8a2041334e9f5894e5763c8486a550454551e9"}, - {file = "kombu-5.3.1.tar.gz", hash = "sha256:fbd7572d92c0bf71c112a6b45163153dea5a7b6a701ec16b568c27d0fd2370f2"}, + {file = "kombu-5.3.2-py3-none-any.whl", hash = "sha256:b753c9cfc9b1e976e637a7cbc1a65d446a22e45546cd996ea28f932082b7dc9e"}, + {file = "kombu-5.3.2.tar.gz", hash = "sha256:0ba213f630a2cb2772728aef56ac6883dc3a2f13435e10048f6e97d48506dbbd"}, ] [package.dependencies] @@ -1474,6 +1474,8 @@ files = [ {file = "lxml-4.9.3-cp27-cp27m-macosx_11_0_x86_64.whl", hash = "sha256:b0a545b46b526d418eb91754565ba5b63b1c0b12f9bd2f808c852d9b4b2f9b5c"}, {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:075b731ddd9e7f68ad24c635374211376aa05a281673ede86cbe1d1b3455279d"}, {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1e224d5755dba2f4a9498e150c43792392ac9b5380aa1b845f98a1618c94eeef"}, + {file = "lxml-4.9.3-cp27-cp27m-win32.whl", hash = "sha256:2c74524e179f2ad6d2a4f7caf70e2d96639c0954c943ad601a9e146c76408ed7"}, + {file = "lxml-4.9.3-cp27-cp27m-win_amd64.whl", hash = "sha256:4f1026bc732b6a7f96369f7bfe1a4f2290fb34dce00d8644bc3036fb351a4ca1"}, {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c0781a98ff5e6586926293e59480b64ddd46282953203c76ae15dbbbf302e8bb"}, {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cef2502e7e8a96fe5ad686d60b49e1ab03e438bd9123987994528febd569868e"}, {file = "lxml-4.9.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b86164d2cff4d3aaa1f04a14685cbc072efd0b4f99ca5708b2ad1b9b5988a991"}, @@ -1789,14 +1791,14 @@ six = ">=1.0.0" [[package]] name = "phonenumberslite" -version = "8.13.17" +version = "8.13.20" description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers." category = "main" optional = false python-versions = "*" files = [ - {file = "phonenumberslite-8.13.17-py2.py3-none-any.whl", hash = "sha256:bae91ba7822ed73adeac739b9f9f2ded295375542014f3374e593ad92eef49c4"}, - {file = "phonenumberslite-8.13.17.tar.gz", hash = "sha256:5741de4b77a963f33585eb0e8ffa2632ea9987d6e50a38ac67f441e49422de69"}, + {file = "phonenumberslite-8.13.20-py2.py3-none-any.whl", hash = "sha256:f0840de9bfe5b8f10b6883d971dd81f3a53bed8210326a53266f11e8be3428c3"}, + {file = "phonenumberslite-8.13.20.tar.gz", hash = "sha256:09b07b32861f306dee10f17085afb3e058b4c179edf50deb94db4d4dd14235ff"}, ] [[package]] @@ -1909,14 +1911,14 @@ files = [ [[package]] name = "pretix" -version = "2023.7.0" +version = "2023.7.3" description = "Reinventing presales, one ticket at a time" category = "main" optional = false python-versions = ">=3.9" files = [ - {file = "pretix-2023.7.0-py3-none-any.whl", hash = "sha256:ed983e2ae73b2983e53b80733a2a69aca4f1686e98c19c67ed5b0c40f0a81033"}, - {file = "pretix-2023.7.0.tar.gz", hash = "sha256:86278f0fc1fa0a638bb720076ac805f3254818e5c243a4871b03db9ceaf40b9f"}, + {file = "pretix-2023.7.3-py3-none-any.whl", hash = "sha256:0bd249a3a91a530ce4b292d9aaf5cf12ce1f375a342f18da6d7ee29a3493c30e"}, + {file = "pretix-2023.7.3.tar.gz", hash = "sha256:b6a672290fd1e5c6df97af837ef2bdb87f63529045c2d4ca83682ae3251f9d3d"}, ] [package.dependencies] @@ -2058,74 +2060,72 @@ files = [ [[package]] name = "psycopg2-binary" -version = "2.9.6" +version = "2.9.7" description = "psycopg2 - Python-PostgreSQL Database Adapter" category = "main" optional = false python-versions = ">=3.6" files = [ - {file = "psycopg2-binary-2.9.6.tar.gz", hash = "sha256:1f64dcfb8f6e0c014c7f55e51c9759f024f70ea572fbdef123f85318c297947c"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d26e0342183c762de3276cca7a530d574d4e25121ca7d6e4a98e4f05cb8e4df7"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c48d8f2db17f27d41fb0e2ecd703ea41984ee19362cbce52c097963b3a1b4365"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffe9dc0a884a8848075e576c1de0290d85a533a9f6e9c4e564f19adf8f6e54a7"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a76e027f87753f9bd1ab5f7c9cb8c7628d1077ef927f5e2446477153a602f2c"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6460c7a99fc939b849431f1e73e013d54aa54293f30f1109019c56a0b2b2ec2f"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae102a98c547ee2288637af07393dd33f440c25e5cd79556b04e3fca13325e5f"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:9972aad21f965599ed0106f65334230ce826e5ae69fda7cbd688d24fa922415e"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7a40c00dbe17c0af5bdd55aafd6ff6679f94a9be9513a4c7e071baf3d7d22a70"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:cacbdc5839bdff804dfebc058fe25684cae322987f7a38b0168bc1b2df703fb1"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7f0438fa20fb6c7e202863e0d5ab02c246d35efb1d164e052f2f3bfe2b152bd0"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-win32.whl", hash = "sha256:b6c8288bb8a84b47e07013bb4850f50538aa913d487579e1921724631d02ea1b"}, - {file = "psycopg2_binary-2.9.6-cp310-cp310-win_amd64.whl", hash = "sha256:61b047a0537bbc3afae10f134dc6393823882eb263088c271331602b672e52e9"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:964b4dfb7c1c1965ac4c1978b0f755cc4bd698e8aa2b7667c575fb5f04ebe06b"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:afe64e9b8ea66866a771996f6ff14447e8082ea26e675a295ad3bdbffdd72afb"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15e2ee79e7cf29582ef770de7dab3d286431b01c3bb598f8e05e09601b890081"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dfa74c903a3c1f0d9b1c7e7b53ed2d929a4910e272add6700c38f365a6002820"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b83456c2d4979e08ff56180a76429263ea254c3f6552cd14ada95cff1dec9bb8"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0645376d399bfd64da57148694d78e1f431b1e1ee1054872a5713125681cf1be"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e99e34c82309dd78959ba3c1590975b5d3c862d6f279f843d47d26ff89d7d7e1"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4ea29fc3ad9d91162c52b578f211ff1c931d8a38e1f58e684c45aa470adf19e2"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:4ac30da8b4f57187dbf449294d23b808f8f53cad6b1fc3623fa8a6c11d176dd0"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e78e6e2a00c223e164c417628572a90093c031ed724492c763721c2e0bc2a8df"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-win32.whl", hash = "sha256:1876843d8e31c89c399e31b97d4b9725a3575bb9c2af92038464231ec40f9edb"}, - {file = "psycopg2_binary-2.9.6-cp311-cp311-win_amd64.whl", hash = "sha256:b4b24f75d16a89cc6b4cdff0eb6a910a966ecd476d1e73f7ce5985ff1328e9a6"}, - {file = "psycopg2_binary-2.9.6-cp36-cp36m-win32.whl", hash = "sha256:498807b927ca2510baea1b05cc91d7da4718a0f53cb766c154c417a39f1820a0"}, - {file = "psycopg2_binary-2.9.6-cp36-cp36m-win_amd64.whl", hash = "sha256:0d236c2825fa656a2d98bbb0e52370a2e852e5a0ec45fc4f402977313329174d"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:34b9ccdf210cbbb1303c7c4db2905fa0319391bd5904d32689e6dd5c963d2ea8"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84d2222e61f313c4848ff05353653bf5f5cf6ce34df540e4274516880d9c3763"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30637a20623e2a2eacc420059be11527f4458ef54352d870b8181a4c3020ae6b"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8122cfc7cae0da9a3077216528b8bb3629c43b25053284cc868744bfe71eb141"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38601cbbfe600362c43714482f43b7c110b20cb0f8172422c616b09b85a750c5"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c7e62ab8b332147a7593a385d4f368874d5fe4ad4e341770d4983442d89603e3"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2ab652e729ff4ad76d400df2624d223d6e265ef81bb8aa17fbd63607878ecbee"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:c83a74b68270028dc8ee74d38ecfaf9c90eed23c8959fca95bd703d25b82c88e"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d4e6036decf4b72d6425d5b29bbd3e8f0ff1059cda7ac7b96d6ac5ed34ffbacd"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-win32.whl", hash = "sha256:a8c28fd40a4226b4a84bdf2d2b5b37d2c7bd49486b5adcc200e8c7ec991dfa7e"}, - {file = "psycopg2_binary-2.9.6-cp37-cp37m-win_amd64.whl", hash = "sha256:51537e3d299be0db9137b321dfb6a5022caaab275775680e0c3d281feefaca6b"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cf4499e0a83b7b7edcb8dabecbd8501d0d3a5ef66457200f77bde3d210d5debb"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7e13a5a2c01151f1208d5207e42f33ba86d561b7a89fca67c700b9486a06d0e2"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e0f754d27fddcfd74006455b6e04e6705d6c31a612ec69ddc040a5468e44b4e"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d57c3fd55d9058645d26ae37d76e61156a27722097229d32a9e73ed54819982a"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71f14375d6f73b62800530b581aed3ada394039877818b2d5f7fc77e3bb6894d"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:441cc2f8869a4f0f4bb408475e5ae0ee1f3b55b33f350406150277f7f35384fc"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:65bee1e49fa6f9cf327ce0e01c4c10f39165ee76d35c846ade7cb0ec6683e303"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:af335bac6b666cc6aea16f11d486c3b794029d9df029967f9938a4bed59b6a19"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:cfec476887aa231b8548ece2e06d28edc87c1397ebd83922299af2e051cf2827"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:65c07febd1936d63bfde78948b76cd4c2a411572a44ac50719ead41947d0f26b"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-win32.whl", hash = "sha256:4dfb4be774c4436a4526d0c554af0cc2e02082c38303852a36f6456ece7b3503"}, - {file = "psycopg2_binary-2.9.6-cp38-cp38-win_amd64.whl", hash = "sha256:02c6e3cf3439e213e4ee930308dc122d6fb4d4bea9aef4a12535fbd605d1a2fe"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e9182eb20f41417ea1dd8e8f7888c4d7c6e805f8a7c98c1081778a3da2bee3e4"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8a6979cf527e2603d349a91060f428bcb135aea2be3201dff794813256c274f1"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8338a271cb71d8da40b023a35d9c1e919eba6cbd8fa20a54b748a332c355d896"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e3ed340d2b858d6e6fb5083f87c09996506af483227735de6964a6100b4e6a54"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f81e65376e52f03422e1fb475c9514185669943798ed019ac50410fb4c4df232"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfb13af3c5dd3a9588000910178de17010ebcccd37b4f9794b00595e3a8ddad3"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4c727b597c6444a16e9119386b59388f8a424223302d0c06c676ec8b4bc1f963"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:4d67fbdaf177da06374473ef6f7ed8cc0a9dc640b01abfe9e8a2ccb1b1402c1f"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:0892ef645c2fabb0c75ec32d79f4252542d0caec1d5d949630e7d242ca4681a3"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:02c0f3757a4300cf379eb49f543fb7ac527fb00144d39246ee40e1df684ab514"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-win32.whl", hash = "sha256:c3dba7dab16709a33a847e5cd756767271697041fbe3fe97c215b1fc1f5c9848"}, - {file = "psycopg2_binary-2.9.6-cp39-cp39-win_amd64.whl", hash = "sha256:f6a88f384335bb27812293fdb11ac6aee2ca3f51d3c7820fe03de0a304ab6249"}, + {file = "psycopg2-binary-2.9.7.tar.gz", hash = "sha256:1b918f64a51ffe19cd2e230b3240ba481330ce1d4b7875ae67305bd1d37b041c"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ea5f8ee87f1eddc818fc04649d952c526db4426d26bab16efbe5a0c52b27d6ab"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2993ccb2b7e80844d534e55e0f12534c2871952f78e0da33c35e648bf002bbff"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbbc3c5d15ed76b0d9db7753c0db40899136ecfe97d50cbde918f630c5eb857a"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:692df8763b71d42eb8343f54091368f6f6c9cfc56dc391858cdb3c3ef1e3e584"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9dcfd5d37e027ec393a303cc0a216be564b96c80ba532f3d1e0d2b5e5e4b1e6e"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17cc17a70dfb295a240db7f65b6d8153c3d81efb145d76da1e4a096e9c5c0e63"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e5666632ba2b0d9757b38fc17337d84bdf932d38563c5234f5f8c54fd01349c9"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7db7b9b701974c96a88997d458b38ccb110eba8f805d4b4f74944aac48639b42"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c82986635a16fb1fa15cd5436035c88bc65c3d5ced1cfaac7f357ee9e9deddd4"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4fe13712357d802080cfccbf8c6266a3121dc0e27e2144819029095ccf708372"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-win32.whl", hash = "sha256:122641b7fab18ef76b18860dd0c772290566b6fb30cc08e923ad73d17461dc63"}, + {file = "psycopg2_binary-2.9.7-cp310-cp310-win_amd64.whl", hash = "sha256:f8651cf1f144f9ee0fa7d1a1df61a9184ab72962531ca99f077bbdcba3947c58"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4ecc15666f16f97709106d87284c136cdc82647e1c3f8392a672616aed3c7151"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3fbb1184c7e9d28d67671992970718c05af5f77fc88e26fd7136613c4ece1f89"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a7968fd20bd550431837656872c19575b687f3f6f98120046228e451e4064df"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:094af2e77a1976efd4956a031028774b827029729725e136514aae3cdf49b87b"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:26484e913d472ecb6b45937ea55ce29c57c662066d222fb0fbdc1fab457f18c5"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f309b77a7c716e6ed9891b9b42953c3ff7d533dc548c1e33fddc73d2f5e21f9"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6d92e139ca388ccfe8c04aacc163756e55ba4c623c6ba13d5d1595ed97523e4b"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:2df562bb2e4e00ee064779902d721223cfa9f8f58e7e52318c97d139cf7f012d"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:4eec5d36dbcfc076caab61a2114c12094c0b7027d57e9e4387b634e8ab36fd44"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1011eeb0c51e5b9ea1016f0f45fa23aca63966a4c0afcf0340ccabe85a9f65bd"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-win32.whl", hash = "sha256:ded8e15f7550db9e75c60b3d9fcbc7737fea258a0f10032cdb7edc26c2a671fd"}, + {file = "psycopg2_binary-2.9.7-cp311-cp311-win_amd64.whl", hash = "sha256:8a136c8aaf6615653450817a7abe0fc01e4ea720ae41dfb2823eccae4b9062a3"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2dec5a75a3a5d42b120e88e6ed3e3b37b46459202bb8e36cd67591b6e5feebc1"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc10da7e7df3380426521e8c1ed975d22df678639da2ed0ec3244c3dc2ab54c8"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee919b676da28f78f91b464fb3e12238bd7474483352a59c8a16c39dfc59f0c5"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb1c0e682138f9067a58fc3c9a9bf1c83d8e08cfbee380d858e63196466d5c86"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00d8db270afb76f48a499f7bb8fa70297e66da67288471ca873db88382850bf4"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:9b0c2b466b2f4d89ccc33784c4ebb1627989bd84a39b79092e560e937a11d4ac"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:51d1b42d44f4ffb93188f9b39e6d1c82aa758fdb8d9de65e1ddfe7a7d250d7ad"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:11abdbfc6f7f7dea4a524b5f4117369b0d757725798f1593796be6ece20266cb"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:f02f4a72cc3ab2565c6d9720f0343cb840fb2dc01a2e9ecb8bc58ccf95dc5c06"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-win32.whl", hash = "sha256:81d5dd2dd9ab78d31a451e357315f201d976c131ca7d43870a0e8063b6b7a1ec"}, + {file = "psycopg2_binary-2.9.7-cp37-cp37m-win_amd64.whl", hash = "sha256:62cb6de84d7767164a87ca97e22e5e0a134856ebcb08f21b621c6125baf61f16"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:59f7e9109a59dfa31efa022e94a244736ae401526682de504e87bd11ce870c22"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:95a7a747bdc3b010bb6a980f053233e7610276d55f3ca506afff4ad7749ab58a"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c721ee464e45ecf609ff8c0a555018764974114f671815a0a7152aedb9f3343"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4f37bbc6588d402980ffbd1f3338c871368fb4b1cfa091debe13c68bb3852b3"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac83ab05e25354dad798401babaa6daa9577462136ba215694865394840e31f8"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:024eaeb2a08c9a65cd5f94b31ace1ee3bb3f978cd4d079406aef85169ba01f08"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1c31c2606ac500dbd26381145684d87730a2fac9a62ebcfbaa2b119f8d6c19f4"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:42a62ef0e5abb55bf6ffb050eb2b0fcd767261fa3faf943a4267539168807522"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:7952807f95c8eba6a8ccb14e00bf170bb700cafcec3924d565235dffc7dc4ae8"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e02bc4f2966475a7393bd0f098e1165d470d3fa816264054359ed4f10f6914ea"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-win32.whl", hash = "sha256:fdca0511458d26cf39b827a663d7d87db6f32b93efc22442a742035728603d5f"}, + {file = "psycopg2_binary-2.9.7-cp38-cp38-win_amd64.whl", hash = "sha256:d0b16e5bb0ab78583f0ed7ab16378a0f8a89a27256bb5560402749dbe8a164d7"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6822c9c63308d650db201ba22fe6648bd6786ca6d14fdaf273b17e15608d0852"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f94cb12150d57ea433e3e02aabd072205648e86f1d5a0a692d60242f7809b15"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5ee89587696d808c9a00876065d725d4ae606f5f7853b961cdbc348b0f7c9a1"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad5ec10b53cbb57e9a2e77b67e4e4368df56b54d6b00cc86398578f1c635f329"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:642df77484b2dcaf87d4237792246d8068653f9e0f5c025e2c692fc56b0dda70"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6a8b575ac45af1eaccbbcdcf710ab984fd50af048fe130672377f78aaff6fc1"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f955aa50d7d5220fcb6e38f69ea126eafecd812d96aeed5d5f3597f33fad43bb"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ad26d4eeaa0d722b25814cce97335ecf1b707630258f14ac4d2ed3d1d8415265"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:ced63c054bdaf0298f62681d5dcae3afe60cbae332390bfb1acf0e23dcd25fc8"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2b04da24cbde33292ad34a40db9832a80ad12de26486ffeda883413c9e1b1d5e"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-win32.whl", hash = "sha256:18f12632ab516c47c1ac4841a78fddea6508a8284c7cf0f292cb1a523f2e2379"}, + {file = "psycopg2_binary-2.9.7-cp39-cp39-win_amd64.whl", hash = "sha256:eb3b8d55924a6058a26db69fb1d3e7e32695ff8b491835ba9f479537e14dcf9f"}, ] [[package]] @@ -2296,14 +2296,14 @@ six = ">=1.5" [[package]] name = "python-stdnum" -version = "1.18" +version = "1.19" description = "Python module to handle standardized numbers and codes" category = "main" optional = false python-versions = "*" files = [ - {file = "python-stdnum-1.18.tar.gz", hash = "sha256:bcc763d9c49ae23da5d2b7a686d5fd1deec9d9051341160a10d1ac723a26bec0"}, - {file = "python_stdnum-1.18-py2.py3-none-any.whl", hash = "sha256:d7f2a3c7ef4635c957b9cbdd9b1993d1f6ee3a2959f03e172c45440d99f296eb"}, + {file = "python-stdnum-1.19.tar.gz", hash = "sha256:133ec82f56390ea74c190569e98f2fb14b869808b1d54785708f22d0fead8b3f"}, + {file = "python_stdnum-1.19-py2.py3-none-any.whl", hash = "sha256:1b5b401ad3f45b798b0317313b781a433f5d7a5ff2c9feb8054664f76f78644e"}, ] [package.extras] @@ -2332,14 +2332,14 @@ yubiauth-server = ["WebOb", "yubiauth"] [[package]] name = "pytz" -version = "2023.3" +version = "2023.3.post1" description = "World timezone definitions, modern and historical" category = "main" optional = false python-versions = "*" files = [ - {file = "pytz-2023.3-py2.py3-none-any.whl", hash = "sha256:a151b3abb88eda1d4e34a9814df37de2a80e301e68ba0fd856fb9b46bfbbbffb"}, - {file = "pytz-2023.3.tar.gz", hash = "sha256:1d8ce29db189191fb55338ee6d0387d82ab59f3d00eac103412d64e0ebd0c588"}, + {file = "pytz-2023.3.post1-py2.py3-none-any.whl", hash = "sha256:ce42d816b81b68506614c11e8937d3aa9e41007ceb50bfdcb0749b921bf646c7"}, + {file = "pytz-2023.3.post1.tar.gz", hash = "sha256:7b4fddbeb94a1eba4b557da24f19fdf9db575192544270a9101d8509f9f43d7b"}, ] [[package]] @@ -2447,14 +2447,14 @@ ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)" [[package]] name = "referencing" -version = "0.30.0" +version = "0.30.2" description = "JSON Referencing + Python" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "referencing-0.30.0-py3-none-any.whl", hash = "sha256:c257b08a399b6c2f5a3510a50d28ab5dbc7bbde049bcaf954d43c446f83ab548"}, - {file = "referencing-0.30.0.tar.gz", hash = "sha256:47237742e990457f7512c7d27486394a9aadaf876cbfaa4be65b27b4f4d47c6b"}, + {file = "referencing-0.30.2-py3-none-any.whl", hash = "sha256:449b6669b6121a9e96a7f9e410b245d471e8d48964c67113ce9afe50c8dd7bdf"}, + {file = "referencing-0.30.2.tar.gz", hash = "sha256:794ad8003c65938edcdbc027f1933215e0d0ccc0291e3ce20a4d87432b59efc0"}, ] [package.dependencies] @@ -2470,6 +2470,7 @@ optional = false python-versions = ">=3.7,<4" files = [ {file = "reportlab-4.0.4-py3-none-any.whl", hash = "sha256:3dcda79ce04baf70721e2ec54854722644262cac2feec3d5c4c5e77015504cb0"}, + {file = "reportlab-4.0.4.tar.gz", hash = "sha256:7f70b3b56aff5f11cb4136c51a0f5a56fe6e4c8fbbac7b903076db99a8ef31c1"}, ] [package.dependencies] @@ -2568,109 +2569,109 @@ files = [ [[package]] name = "rpds-py" -version = "0.9.2" +version = "0.10.3" description = "Python bindings to Rust's persistent data structures (rpds)" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "rpds_py-0.9.2-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:ab6919a09c055c9b092798ce18c6c4adf49d24d4d9e43a92b257e3f2548231e7"}, - {file = "rpds_py-0.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d55777a80f78dd09410bd84ff8c95ee05519f41113b2df90a69622f5540c4f8b"}, - {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a216b26e5af0a8e265d4efd65d3bcec5fba6b26909014effe20cd302fd1138fa"}, - {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:29cd8bfb2d716366a035913ced99188a79b623a3512292963d84d3e06e63b496"}, - {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44659b1f326214950a8204a248ca6199535e73a694be8d3e0e869f820767f12f"}, - {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:745f5a43fdd7d6d25a53ab1a99979e7f8ea419dfefebcab0a5a1e9095490ee5e"}, - {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a987578ac5214f18b99d1f2a3851cba5b09f4a689818a106c23dbad0dfeb760f"}, - {file = "rpds_py-0.9.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bf4151acb541b6e895354f6ff9ac06995ad9e4175cbc6d30aaed08856558201f"}, - {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:03421628f0dc10a4119d714a17f646e2837126a25ac7a256bdf7c3943400f67f"}, - {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:13b602dc3e8dff3063734f02dcf05111e887f301fdda74151a93dbbc249930fe"}, - {file = "rpds_py-0.9.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:fae5cb554b604b3f9e2c608241b5d8d303e410d7dfb6d397c335f983495ce7f6"}, - {file = "rpds_py-0.9.2-cp310-none-win32.whl", hash = "sha256:47c5f58a8e0c2c920cc7783113df2fc4ff12bf3a411d985012f145e9242a2764"}, - {file = "rpds_py-0.9.2-cp310-none-win_amd64.whl", hash = "sha256:4ea6b73c22d8182dff91155af018b11aac9ff7eca085750455c5990cb1cfae6e"}, - {file = "rpds_py-0.9.2-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:e564d2238512c5ef5e9d79338ab77f1cbbda6c2d541ad41b2af445fb200385e3"}, - {file = "rpds_py-0.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f411330a6376fb50e5b7a3e66894e4a39e60ca2e17dce258d53768fea06a37bd"}, - {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e7521f5af0233e89939ad626b15278c71b69dc1dfccaa7b97bd4cdf96536bb7"}, - {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8d3335c03100a073883857e91db9f2e0ef8a1cf42dc0369cbb9151c149dbbc1b"}, - {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d25b1c1096ef0447355f7293fbe9ad740f7c47ae032c2884113f8e87660d8f6e"}, - {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6a5d3fbd02efd9cf6a8ffc2f17b53a33542f6b154e88dd7b42ef4a4c0700fdad"}, - {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5934e2833afeaf36bd1eadb57256239785f5af0220ed8d21c2896ec4d3a765f"}, - {file = "rpds_py-0.9.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:095b460e117685867d45548fbd8598a8d9999227e9061ee7f012d9d264e6048d"}, - {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:91378d9f4151adc223d584489591dbb79f78814c0734a7c3bfa9c9e09978121c"}, - {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:24a81c177379300220e907e9b864107614b144f6c2a15ed5c3450e19cf536fae"}, - {file = "rpds_py-0.9.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:de0b6eceb46141984671802d412568d22c6bacc9b230174f9e55fc72ef4f57de"}, - {file = "rpds_py-0.9.2-cp311-none-win32.whl", hash = "sha256:700375326ed641f3d9d32060a91513ad668bcb7e2cffb18415c399acb25de2ab"}, - {file = "rpds_py-0.9.2-cp311-none-win_amd64.whl", hash = "sha256:0766babfcf941db8607bdaf82569ec38107dbb03c7f0b72604a0b346b6eb3298"}, - {file = "rpds_py-0.9.2-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:b1440c291db3f98a914e1afd9d6541e8fc60b4c3aab1a9008d03da4651e67386"}, - {file = "rpds_py-0.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0f2996fbac8e0b77fd67102becb9229986396e051f33dbceada3debaacc7033f"}, - {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f30d205755566a25f2ae0382944fcae2f350500ae4df4e795efa9e850821d82"}, - {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:159fba751a1e6b1c69244e23ba6c28f879a8758a3e992ed056d86d74a194a0f3"}, - {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1f044792e1adcea82468a72310c66a7f08728d72a244730d14880cd1dabe36b"}, - {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9251eb8aa82e6cf88510530b29eef4fac825a2b709baf5b94a6094894f252387"}, - {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01899794b654e616c8625b194ddd1e5b51ef5b60ed61baa7a2d9c2ad7b2a4238"}, - {file = "rpds_py-0.9.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b0c43f8ae8f6be1d605b0465671124aa8d6a0e40f1fb81dcea28b7e3d87ca1e1"}, - {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:207f57c402d1f8712618f737356e4b6f35253b6d20a324d9a47cb9f38ee43a6b"}, - {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b52e7c5ae35b00566d244ffefba0f46bb6bec749a50412acf42b1c3f402e2c90"}, - {file = "rpds_py-0.9.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:978fa96dbb005d599ec4fd9ed301b1cc45f1a8f7982d4793faf20b404b56677d"}, - {file = "rpds_py-0.9.2-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:6aa8326a4a608e1c28da191edd7c924dff445251b94653988efb059b16577a4d"}, - {file = "rpds_py-0.9.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:aad51239bee6bff6823bbbdc8ad85136c6125542bbc609e035ab98ca1e32a192"}, - {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4bd4dc3602370679c2dfb818d9c97b1137d4dd412230cfecd3c66a1bf388a196"}, - {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:dd9da77c6ec1f258387957b754f0df60766ac23ed698b61941ba9acccd3284d1"}, - {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:190ca6f55042ea4649ed19c9093a9be9d63cd8a97880106747d7147f88a49d18"}, - {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:876bf9ed62323bc7dcfc261dbc5572c996ef26fe6406b0ff985cbcf460fc8a4c"}, - {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa2818759aba55df50592ecbc95ebcdc99917fa7b55cc6796235b04193eb3c55"}, - {file = "rpds_py-0.9.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9ea4d00850ef1e917815e59b078ecb338f6a8efda23369677c54a5825dbebb55"}, - {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:5855c85eb8b8a968a74dc7fb014c9166a05e7e7a8377fb91d78512900aadd13d"}, - {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:14c408e9d1a80dcb45c05a5149e5961aadb912fff42ca1dd9b68c0044904eb32"}, - {file = "rpds_py-0.9.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:65a0583c43d9f22cb2130c7b110e695fff834fd5e832a776a107197e59a1898e"}, - {file = "rpds_py-0.9.2-cp38-none-win32.whl", hash = "sha256:71f2f7715935a61fa3e4ae91d91b67e571aeb5cb5d10331ab681256bda2ad920"}, - {file = "rpds_py-0.9.2-cp38-none-win_amd64.whl", hash = "sha256:674c704605092e3ebbbd13687b09c9f78c362a4bc710343efe37a91457123044"}, - {file = "rpds_py-0.9.2-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:07e2c54bef6838fa44c48dfbc8234e8e2466d851124b551fc4e07a1cfeb37260"}, - {file = "rpds_py-0.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f7fdf55283ad38c33e35e2855565361f4bf0abd02470b8ab28d499c663bc5d7c"}, - {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:890ba852c16ace6ed9f90e8670f2c1c178d96510a21b06d2fa12d8783a905193"}, - {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:50025635ba8b629a86d9d5474e650da304cb46bbb4d18690532dd79341467846"}, - {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:517cbf6e67ae3623c5127206489d69eb2bdb27239a3c3cc559350ef52a3bbf0b"}, - {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0836d71ca19071090d524739420a61580f3f894618d10b666cf3d9a1688355b1"}, - {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c439fd54b2b9053717cca3de9583be6584b384d88d045f97d409f0ca867d80f"}, - {file = "rpds_py-0.9.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f68996a3b3dc9335037f82754f9cdbe3a95db42bde571d8c3be26cc6245f2324"}, - {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7d68dc8acded354c972116f59b5eb2e5864432948e098c19fe6994926d8e15c3"}, - {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f963c6b1218b96db85fc37a9f0851eaf8b9040aa46dec112611697a7023da535"}, - {file = "rpds_py-0.9.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5a46859d7f947061b4010e554ccd1791467d1b1759f2dc2ec9055fa239f1bc26"}, - {file = "rpds_py-0.9.2-cp39-none-win32.whl", hash = "sha256:e07e5dbf8a83c66783a9fe2d4566968ea8c161199680e8ad38d53e075df5f0d0"}, - {file = "rpds_py-0.9.2-cp39-none-win_amd64.whl", hash = "sha256:682726178138ea45a0766907957b60f3a1bf3acdf212436be9733f28b6c5af3c"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:196cb208825a8b9c8fc360dc0f87993b8b260038615230242bf18ec84447c08d"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:c7671d45530fcb6d5e22fd40c97e1e1e01965fc298cbda523bb640f3d923b387"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83b32f0940adec65099f3b1c215ef7f1d025d13ff947975a055989cb7fd019a4"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7f67da97f5b9eac838b6980fc6da268622e91f8960e083a34533ca710bec8611"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:03975db5f103997904c37e804e5f340c8fdabbb5883f26ee50a255d664eed58c"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:987b06d1cdb28f88a42e4fb8a87f094e43f3c435ed8e486533aea0bf2e53d931"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c861a7e4aef15ff91233751619ce3a3d2b9e5877e0fcd76f9ea4f6847183aa16"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02938432352359805b6da099c9c95c8a0547fe4b274ce8f1a91677401bb9a45f"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:ef1f08f2a924837e112cba2953e15aacfccbbfcd773b4b9b4723f8f2ddded08e"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:35da5cc5cb37c04c4ee03128ad59b8c3941a1e5cd398d78c37f716f32a9b7f67"}, - {file = "rpds_py-0.9.2-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:141acb9d4ccc04e704e5992d35472f78c35af047fa0cfae2923835d153f091be"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:79f594919d2c1a0cc17d1988a6adaf9a2f000d2e1048f71f298b056b1018e872"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:a06418fe1155e72e16dddc68bb3780ae44cebb2912fbd8bb6ff9161de56e1798"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b2eb034c94b0b96d5eddb290b7b5198460e2d5d0c421751713953a9c4e47d10"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8b08605d248b974eb02f40bdcd1a35d3924c83a2a5e8f5d0fa5af852c4d960af"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a0805911caedfe2736935250be5008b261f10a729a303f676d3d5fea6900c96a"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ab2299e3f92aa5417d5e16bb45bb4586171c1327568f638e8453c9f8d9e0f020"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c8d7594e38cf98d8a7df25b440f684b510cf4627fe038c297a87496d10a174f"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8b9ec12ad5f0a4625db34db7e0005be2632c1013b253a4a60e8302ad4d462afd"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:1fcdee18fea97238ed17ab6478c66b2095e4ae7177e35fb71fbe561a27adf620"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:933a7d5cd4b84f959aedeb84f2030f0a01d63ae6cf256629af3081cf3e3426e8"}, - {file = "rpds_py-0.9.2-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:686ba516e02db6d6f8c279d1641f7067ebb5dc58b1d0536c4aaebb7bf01cdc5d"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:0173c0444bec0a3d7d848eaeca2d8bd32a1b43f3d3fde6617aac3731fa4be05f"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:d576c3ef8c7b2d560e301eb33891d1944d965a4d7a2eacb6332eee8a71827db6"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed89861ee8c8c47d6beb742a602f912b1bb64f598b1e2f3d758948721d44d468"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1054a08e818f8e18910f1bee731583fe8f899b0a0a5044c6e680ceea34f93876"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99e7c4bb27ff1aab90dcc3e9d37ee5af0231ed98d99cb6f5250de28889a3d502"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c545d9d14d47be716495076b659db179206e3fd997769bc01e2d550eeb685596"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9039a11bca3c41be5a58282ed81ae422fa680409022b996032a43badef2a3752"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fb39aca7a64ad0c9490adfa719dbeeb87d13be137ca189d2564e596f8ba32c07"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2d8b3b3a2ce0eaa00c5bbbb60b6713e94e7e0becab7b3db6c5c77f979e8ed1f1"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:99b1c16f732b3a9971406fbfe18468592c5a3529585a45a35adbc1389a529a03"}, - {file = "rpds_py-0.9.2-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:c27ee01a6c3223025f4badd533bea5e87c988cb0ba2811b690395dfe16088cfe"}, - {file = "rpds_py-0.9.2.tar.gz", hash = "sha256:8d70e8f14900f2657c249ea4def963bed86a29b81f81f5b76b5a9215680de945"}, + {file = "rpds_py-0.10.3-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:485747ee62da83366a44fbba963c5fe017860ad408ccd6cd99aa66ea80d32b2e"}, + {file = "rpds_py-0.10.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c55f9821f88e8bee4b7a72c82cfb5ecd22b6aad04033334f33c329b29bfa4da0"}, + {file = "rpds_py-0.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3b52a67ac66a3a64a7e710ba629f62d1e26ca0504c29ee8cbd99b97df7079a8"}, + {file = "rpds_py-0.10.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3aed39db2f0ace76faa94f465d4234aac72e2f32b009f15da6492a561b3bbebd"}, + {file = "rpds_py-0.10.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:271c360fdc464fe6a75f13ea0c08ddf71a321f4c55fc20a3fe62ea3ef09df7d9"}, + {file = "rpds_py-0.10.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef5fddfb264e89c435be4adb3953cef5d2936fdeb4463b4161a6ba2f22e7b740"}, + {file = "rpds_py-0.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a771417c9c06c56c9d53d11a5b084d1de75de82978e23c544270ab25e7c066ff"}, + {file = "rpds_py-0.10.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:52b5cbc0469328e58180021138207e6ec91d7ca2e037d3549cc9e34e2187330a"}, + {file = "rpds_py-0.10.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:6ac3fefb0d168c7c6cab24fdfc80ec62cd2b4dfd9e65b84bdceb1cb01d385c33"}, + {file = "rpds_py-0.10.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:8d54bbdf5d56e2c8cf81a1857250f3ea132de77af543d0ba5dce667183b61fec"}, + {file = "rpds_py-0.10.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cd2163f42868865597d89399a01aa33b7594ce8e2c4a28503127c81a2f17784e"}, + {file = "rpds_py-0.10.3-cp310-none-win32.whl", hash = "sha256:ea93163472db26ac6043e8f7f93a05d9b59e0505c760da2a3cd22c7dd7111391"}, + {file = "rpds_py-0.10.3-cp310-none-win_amd64.whl", hash = "sha256:7cd020b1fb41e3ab7716d4d2c3972d4588fdfbab9bfbbb64acc7078eccef8860"}, + {file = "rpds_py-0.10.3-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:1d9b5ee46dcb498fa3e46d4dfabcb531e1f2e76b477e0d99ef114f17bbd38453"}, + {file = "rpds_py-0.10.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:563646d74a4b4456d0cf3b714ca522e725243c603e8254ad85c3b59b7c0c4bf0"}, + {file = "rpds_py-0.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e626b864725680cd3904414d72e7b0bd81c0e5b2b53a5b30b4273034253bb41f"}, + {file = "rpds_py-0.10.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:485301ee56ce87a51ccb182a4b180d852c5cb2b3cb3a82f7d4714b4141119d8c"}, + {file = "rpds_py-0.10.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:42f712b4668831c0cd85e0a5b5a308700fe068e37dcd24c0062904c4e372b093"}, + {file = "rpds_py-0.10.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6c9141af27a4e5819d74d67d227d5047a20fa3c7d4d9df43037a955b4c748ec5"}, + {file = "rpds_py-0.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef750a20de1b65657a1425f77c525b0183eac63fe7b8f5ac0dd16f3668d3e64f"}, + {file = "rpds_py-0.10.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e1a0ffc39f51aa5f5c22114a8f1906b3c17eba68c5babb86c5f77d8b1bba14d1"}, + {file = "rpds_py-0.10.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f4c179a7aeae10ddf44c6bac87938134c1379c49c884529f090f9bf05566c836"}, + {file = "rpds_py-0.10.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:176287bb998fd1e9846a9b666e240e58f8d3373e3bf87e7642f15af5405187b8"}, + {file = "rpds_py-0.10.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6446002739ca29249f0beaaf067fcbc2b5aab4bc7ee8fb941bd194947ce19aff"}, + {file = "rpds_py-0.10.3-cp311-none-win32.whl", hash = "sha256:c7aed97f2e676561416c927b063802c8a6285e9b55e1b83213dfd99a8f4f9e48"}, + {file = "rpds_py-0.10.3-cp311-none-win_amd64.whl", hash = "sha256:8bd01ff4032abaed03f2db702fa9a61078bee37add0bd884a6190b05e63b028c"}, + {file = "rpds_py-0.10.3-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:4cf0855a842c5b5c391dd32ca273b09e86abf8367572073bd1edfc52bc44446b"}, + {file = "rpds_py-0.10.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:69b857a7d8bd4f5d6e0db4086da8c46309a26e8cefdfc778c0c5cc17d4b11e08"}, + {file = "rpds_py-0.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:975382d9aa90dc59253d6a83a5ca72e07f4ada3ae3d6c0575ced513db322b8ec"}, + {file = "rpds_py-0.10.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:35fbd23c1c8732cde7a94abe7fb071ec173c2f58c0bd0d7e5b669fdfc80a2c7b"}, + {file = "rpds_py-0.10.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:106af1653007cc569d5fbb5f08c6648a49fe4de74c2df814e234e282ebc06957"}, + {file = "rpds_py-0.10.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ce5e7504db95b76fc89055c7f41e367eaadef5b1d059e27e1d6eabf2b55ca314"}, + {file = "rpds_py-0.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5aca759ada6b1967fcfd4336dcf460d02a8a23e6abe06e90ea7881e5c22c4de6"}, + {file = "rpds_py-0.10.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b5d4bdd697195f3876d134101c40c7d06d46c6ab25159ed5cbd44105c715278a"}, + {file = "rpds_py-0.10.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a657250807b6efd19b28f5922520ae002a54cb43c2401e6f3d0230c352564d25"}, + {file = "rpds_py-0.10.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:177c9dd834cdf4dc39c27436ade6fdf9fe81484758885f2d616d5d03c0a83bd2"}, + {file = "rpds_py-0.10.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e22491d25f97199fc3581ad8dd8ce198d8c8fdb8dae80dea3512e1ce6d5fa99f"}, + {file = "rpds_py-0.10.3-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:2f3e1867dd574014253b4b8f01ba443b9c914e61d45f3674e452a915d6e929a3"}, + {file = "rpds_py-0.10.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c22211c165166de6683de8136229721f3d5c8606cc2c3d1562da9a3a5058049c"}, + {file = "rpds_py-0.10.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40bc802a696887b14c002edd43c18082cb7b6f9ee8b838239b03b56574d97f71"}, + {file = "rpds_py-0.10.3-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e271dd97c7bb8eefda5cca38cd0b0373a1fea50f71e8071376b46968582af9b"}, + {file = "rpds_py-0.10.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:95cde244e7195b2c07ec9b73fa4c5026d4a27233451485caa1cd0c1b55f26dbd"}, + {file = "rpds_py-0.10.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08a80cf4884920863623a9ee9a285ee04cef57ebedc1cc87b3e3e0f24c8acfe5"}, + {file = "rpds_py-0.10.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:763ad59e105fca09705d9f9b29ecffb95ecdc3b0363be3bb56081b2c6de7977a"}, + {file = "rpds_py-0.10.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:187700668c018a7e76e89424b7c1042f317c8df9161f00c0c903c82b0a8cac5c"}, + {file = "rpds_py-0.10.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:5267cfda873ad62591b9332fd9472d2409f7cf02a34a9c9cb367e2c0255994bf"}, + {file = "rpds_py-0.10.3-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:2ed83d53a8c5902ec48b90b2ac045e28e1698c0bea9441af9409fc844dc79496"}, + {file = "rpds_py-0.10.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:255f1a10ae39b52122cce26ce0781f7a616f502feecce9e616976f6a87992d6b"}, + {file = "rpds_py-0.10.3-cp38-none-win32.whl", hash = "sha256:a019a344312d0b1f429c00d49c3be62fa273d4a1094e1b224f403716b6d03be1"}, + {file = "rpds_py-0.10.3-cp38-none-win_amd64.whl", hash = "sha256:efb9ece97e696bb56e31166a9dd7919f8f0c6b31967b454718c6509f29ef6fee"}, + {file = "rpds_py-0.10.3-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:570cc326e78ff23dec7f41487aa9c3dffd02e5ee9ab43a8f6ccc3df8f9327623"}, + {file = "rpds_py-0.10.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cff7351c251c7546407827b6a37bcef6416304fc54d12d44dbfecbb717064717"}, + {file = "rpds_py-0.10.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:177914f81f66c86c012311f8c7f46887ec375cfcfd2a2f28233a3053ac93a569"}, + {file = "rpds_py-0.10.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:448a66b8266de0b581246ca7cd6a73b8d98d15100fb7165974535fa3b577340e"}, + {file = "rpds_py-0.10.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bbac1953c17252f9cc675bb19372444aadf0179b5df575ac4b56faaec9f6294"}, + {file = "rpds_py-0.10.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9dd9d9d9e898b9d30683bdd2b6c1849449158647d1049a125879cb397ee9cd12"}, + {file = "rpds_py-0.10.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8c71ea77536149e36c4c784f6d420ffd20bea041e3ba21ed021cb40ce58e2c9"}, + {file = "rpds_py-0.10.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:16a472300bc6c83fe4c2072cc22b3972f90d718d56f241adabc7ae509f53f154"}, + {file = "rpds_py-0.10.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:b9255e7165083de7c1d605e818025e8860636348f34a79d84ec533546064f07e"}, + {file = "rpds_py-0.10.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:53d7a3cd46cdc1689296348cb05ffd4f4280035770aee0c8ead3bbd4d6529acc"}, + {file = "rpds_py-0.10.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:22da15b902f9f8e267020d1c8bcfc4831ca646fecb60254f7bc71763569f56b1"}, + {file = "rpds_py-0.10.3-cp39-none-win32.whl", hash = "sha256:850c272e0e0d1a5c5d73b1b7871b0a7c2446b304cec55ccdb3eaac0d792bb065"}, + {file = "rpds_py-0.10.3-cp39-none-win_amd64.whl", hash = "sha256:de61e424062173b4f70eec07e12469edde7e17fa180019a2a0d75c13a5c5dc57"}, + {file = "rpds_py-0.10.3-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:af247fd4f12cca4129c1b82090244ea5a9d5bb089e9a82feb5a2f7c6a9fe181d"}, + {file = "rpds_py-0.10.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:3ad59efe24a4d54c2742929001f2d02803aafc15d6d781c21379e3f7f66ec842"}, + {file = "rpds_py-0.10.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:642ed0a209ced4be3a46f8cb094f2d76f1f479e2a1ceca6de6346a096cd3409d"}, + {file = "rpds_py-0.10.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:37d0c59548ae56fae01c14998918d04ee0d5d3277363c10208eef8c4e2b68ed6"}, + {file = "rpds_py-0.10.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aad6ed9e70ddfb34d849b761fb243be58c735be6a9265b9060d6ddb77751e3e8"}, + {file = "rpds_py-0.10.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8f94fdd756ba1f79f988855d948ae0bad9ddf44df296770d9a58c774cfbcca72"}, + {file = "rpds_py-0.10.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77076bdc8776a2b029e1e6ffbe6d7056e35f56f5e80d9dc0bad26ad4a024a762"}, + {file = "rpds_py-0.10.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:87d9b206b1bd7a0523375dc2020a6ce88bca5330682ae2fe25e86fd5d45cea9c"}, + {file = "rpds_py-0.10.3-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:8efaeb08ede95066da3a3e3c420fcc0a21693fcd0c4396d0585b019613d28515"}, + {file = "rpds_py-0.10.3-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:a4d9bfda3f84fc563868fe25ca160c8ff0e69bc4443c5647f960d59400ce6557"}, + {file = "rpds_py-0.10.3-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:d27aa6bbc1f33be920bb7adbb95581452cdf23005d5611b29a12bb6a3468cc95"}, + {file = "rpds_py-0.10.3-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:ed8313809571a5463fd7db43aaca68ecb43ca7a58f5b23b6e6c6c5d02bdc7882"}, + {file = "rpds_py-0.10.3-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:e10e6a1ed2b8661201e79dff5531f8ad4cdd83548a0f81c95cf79b3184b20c33"}, + {file = "rpds_py-0.10.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:015de2ce2af1586ff5dc873e804434185199a15f7d96920ce67e50604592cae9"}, + {file = "rpds_py-0.10.3-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ae87137951bb3dc08c7d8bfb8988d8c119f3230731b08a71146e84aaa919a7a9"}, + {file = "rpds_py-0.10.3-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0bb4f48bd0dd18eebe826395e6a48b7331291078a879295bae4e5d053be50d4c"}, + {file = "rpds_py-0.10.3-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:09362f86ec201288d5687d1dc476b07bf39c08478cde837cb710b302864e7ec9"}, + {file = "rpds_py-0.10.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:821392559d37759caa67d622d0d2994c7a3f2fb29274948ac799d496d92bca73"}, + {file = "rpds_py-0.10.3-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7170cbde4070dc3c77dec82abf86f3b210633d4f89550fa0ad2d4b549a05572a"}, + {file = "rpds_py-0.10.3-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:5de11c041486681ce854c814844f4ce3282b6ea1656faae19208ebe09d31c5b8"}, + {file = "rpds_py-0.10.3-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:4ed172d0c79f156c1b954e99c03bc2e3033c17efce8dd1a7c781bc4d5793dfac"}, + {file = "rpds_py-0.10.3-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:11fdd1192240dda8d6c5d18a06146e9045cb7e3ba7c06de6973000ff035df7c6"}, + {file = "rpds_py-0.10.3-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:f602881d80ee4228a2355c68da6b296a296cd22bbb91e5418d54577bbf17fa7c"}, + {file = "rpds_py-0.10.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:691d50c99a937709ac4c4cd570d959a006bd6a6d970a484c84cc99543d4a5bbb"}, + {file = "rpds_py-0.10.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:24cd91a03543a0f8d09cb18d1cb27df80a84b5553d2bd94cba5979ef6af5c6e7"}, + {file = "rpds_py-0.10.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fc2200e79d75b5238c8d69f6a30f8284290c777039d331e7340b6c17cad24a5a"}, + {file = "rpds_py-0.10.3-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea65b59882d5fa8c74a23f8960db579e5e341534934f43f3b18ec1839b893e41"}, + {file = "rpds_py-0.10.3-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:829e91f3a8574888b73e7a3feb3b1af698e717513597e23136ff4eba0bc8387a"}, + {file = "rpds_py-0.10.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eab75a8569a095f2ad470b342f2751d9902f7944704f0571c8af46bede438475"}, + {file = "rpds_py-0.10.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:061c3ff1f51ecec256e916cf71cc01f9975af8fb3af9b94d3c0cc8702cfea637"}, + {file = "rpds_py-0.10.3-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:39d05e65f23a0fe897b6ac395f2a8d48c56ac0f583f5d663e0afec1da89b95da"}, + {file = "rpds_py-0.10.3-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:4eca20917a06d2fca7628ef3c8b94a8c358f6b43f1a621c9815243462dcccf97"}, + {file = "rpds_py-0.10.3-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:e8d0f0eca087630d58b8c662085529781fd5dc80f0a54eda42d5c9029f812599"}, + {file = "rpds_py-0.10.3.tar.gz", hash = "sha256:fcc1ebb7561a3e24a6588f7c6ded15d80aec22c66a070c757559b57b17ffd1cb"}, ] [[package]] @@ -2731,20 +2732,20 @@ xmlschema = "*" [[package]] name = "setuptools" -version = "68.0.0" +version = "68.2.2" description = "Easily download, build, install, upgrade, and uninstall Python packages" category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "setuptools-68.0.0-py3-none-any.whl", hash = "sha256:11e52c67415a381d10d6b462ced9cfb97066179f0e871399e006c4ab101fc85f"}, - {file = "setuptools-68.0.0.tar.gz", hash = "sha256:baf1fdb41c6da4cd2eae722e135500da913332ab3f2f5c7d33af9b492acb5235"}, + {file = "setuptools-68.2.2-py3-none-any.whl", hash = "sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"}, + {file = "setuptools-68.2.2.tar.gz", hash = "sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] -testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] [[package]] name = "six" @@ -2774,14 +2775,14 @@ ply = ">=3.4" [[package]] name = "soupsieve" -version = "2.4.1" +version = "2.5" description = "A modern CSS selector implementation for Beautiful Soup." category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "soupsieve-2.4.1-py3-none-any.whl", hash = "sha256:1c1bfee6819544a3447586c889157365a27e10d88cde3ad3da0cf0ddf646feb8"}, - {file = "soupsieve-2.4.1.tar.gz", hash = "sha256:89d12b2d5dfcd2c9e8c22326da9d9aa9cb3dfab0a83a024f05704076ee8d35ea"}, + {file = "soupsieve-2.5-py3-none-any.whl", hash = "sha256:eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7"}, + {file = "soupsieve-2.5.tar.gz", hash = "sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690"}, ] [[package]] @@ -2845,33 +2846,33 @@ files = [ [[package]] name = "tlds" -version = "2023072502" +version = "2023080900" description = "Automatically updated list of valid TLDs taken directly from IANA" category = "main" optional = false python-versions = "*" files = [ - {file = "tlds-2023072502-py2.py3-none-any.whl", hash = "sha256:5aaf30397ff914bfe63066c66d07adc27eea39bdfa97c89c86caffa7a11b776b"}, - {file = "tlds-2023072502.tar.gz", hash = "sha256:ff084754b15d9a6de6237b9539b9d991d5e516dc379a1875703d970ce8a4ef18"}, + {file = "tlds-2023080900-py2.py3-none-any.whl", hash = "sha256:9199a8eab0bf8fdd0f8d98b317d8d6c88a4ce318967a1237ab6e36f194f2edad"}, + {file = "tlds-2023080900.tar.gz", hash = "sha256:0e234f098477fc3b51511ea2e1841c77f1b03332c4f1c14340ae06d9111a88e3"}, ] [[package]] name = "tqdm" -version = "4.65.0" +version = "4.66.1" description = "Fast, Extensible Progress Meter" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "tqdm-4.65.0-py3-none-any.whl", hash = "sha256:c4f53a17fe37e132815abceec022631be8ffe1b9381c2e6e30aa70edc99e9671"}, - {file = "tqdm-4.65.0.tar.gz", hash = "sha256:1871fb68a86b8fb3b59ca4cdd3dcccbc7e6d613eeed31f4c332531977b89beb5"}, + {file = "tqdm-4.66.1-py3-none-any.whl", hash = "sha256:d302b3c5b53d47bce91fea46679d9c3c6508cf6332229aa1e7d8653723793386"}, + {file = "tqdm-4.66.1.tar.gz", hash = "sha256:d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7"}, ] [package.dependencies] colorama = {version = "*", markers = "platform_system == \"Windows\""} [package.extras] -dev = ["py-make (>=0.1.0)", "twine", "wheel"] +dev = ["pytest (>=6)", "pytest-cov", "pytest-timeout", "pytest-xdist"] notebook = ["ipywidgets (>=6)"] slack = ["slack-sdk"] telegram = ["requests"] @@ -3310,4 +3311,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "d171f2c48d275a315aa1da2ff043417b943cc60dba6741e892536c8c8e1f854c" +content-hash = "2a9abfe9538a4d109183508b70f4e1c3eb53808f54e7c36de7a5284e48705804" diff --git a/pkgs/pretix/pyproject.toml b/pkgs/pretix/pyproject.toml index a6c1826..b801fe9 100644 --- a/pkgs/pretix/pyproject.toml +++ b/pkgs/pretix/pyproject.toml @@ -7,7 +7,7 @@ license = "MIT" [tool.poetry.dependencies] python = "^3.10" -pretix = "^2023.7.0" +pretix = "^2023.7.3" [tool.poetry.dev-dependencies] From 6eb526d0f61176c37a108ee75405cdaff31ce686 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:28 +0000 Subject: [PATCH 099/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'flake-utils': 'github:numtide/flake-utils/f9e7cf818399d17d347f847525c5a5a8032e4e44' (2023-08-23) → 'github:numtide/flake-utils/ff7b65b44d01cf9ba6a71320833626af21126384' (2023-09-12) • Updated input 'home-manager': 'github:nix-community/home-manager/5bac4a1c06cd77cf8fc35a658ccb035a6c50cd2c' (2023-08-28) → 'github:nix-community/home-manager/9787dffff5d315c9593d3f9fb0f9bf2097e1b57b' (2023-09-11) • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/7e3517c03d46159fdbf8c0e5c97f82d5d4b0c8fa' (2023-08-17) → 'github:cachix/pre-commit-hooks.nix/4f883a76282bc28eb952570afc3d8a1bf6f481d7' (2023-09-10) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/4f77ea639305f1de0a14d9d41eef83313360638c' (2023-09-07) → 'github:nixos/nixpkgs/5d017a8822e0907fb96f7700a319f9fe2434de02' (2023-09-17) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/88aa035e6c43619ce9dcfb17cd3a88944d12ea75' (2023-09-08) → 'github:NixOS/nixpkgs/17a46d09ac123d0da3a26855bf3af7db01f9c751' (2023-09-18) • Updated input 'nur': 'github:nix-community/NUR/cb2799c3e5aa3b2fa1b0dce240688af0af17d538' (2023-09-08) → 'github:nix-community/NUR/5669256a12eefc2c49e685cfac947e6a84aa1ea6' (2023-09-18) • Updated input 'sops-nix': 'github:Mic92/sops-nix/faf21ac162173c2deb54e5fdeed002a9bd6e8623' (2023-09-05) → 'github:Mic92/sops-nix/ea208e55f8742fdcc0986b256bdfa8986f5e4415' (2023-09-12) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index c7e5a90..f07e268 100644 --- a/flake.lock +++ b/flake.lock @@ -21,11 +21,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1692799911, - "narHash": "sha256-3eihraek4qL744EvQXsK1Ha6C3CR7nnT8X2qWap4RNk=", + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", "owner": "numtide", "repo": "flake-utils", - "rev": "f9e7cf818399d17d347f847525c5a5a8032e4e44", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", "type": "github" }, "original": { @@ -62,11 +62,11 @@ ] }, "locked": { - "lastModified": 1693208669, - "narHash": "sha256-hHFaaUsZ860wvppPeiu7nJn/nXZjJfnqAQEu9SPFE9I=", + "lastModified": 1694465129, + "narHash": "sha256-8BQiuobMrCfCbGM7w6Snx+OBYdtTIm0+cGVaKwQ5BFg=", "owner": "nix-community", "repo": "home-manager", - "rev": "5bac4a1c06cd77cf8fc35a658ccb035a6c50cd2c", + "rev": "9787dffff5d315c9593d3f9fb0f9bf2097e1b57b", "type": "github" }, "original": { @@ -110,11 +110,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1692274144, - "narHash": "sha256-BxTQuRUANQ81u8DJznQyPmRsg63t4Yc+0kcyq6OLz8s=", + "lastModified": 1694364351, + "narHash": "sha256-oadhSCqopYXxURwIA6/Anpe5IAG11q2LhvTJNP5zE6o=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "7e3517c03d46159fdbf8c0e5c97f82d5d4b0c8fa", + "rev": "4f883a76282bc28eb952570afc3d8a1bf6f481d7", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1694211446, - "narHash": "sha256-GcmSpcxdbz6LxmZnOLpL+25pK2OhahwlHDDU0Yqh+xk=", + "lastModified": 1695037076, + "narHash": "sha256-J2JS+YyQTGdqYWmauFO0CLvr1Cs+E3Kf4Gz2eThIjKg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "88aa035e6c43619ce9dcfb17cd3a88944d12ea75", + "rev": "17a46d09ac123d0da3a26855bf3af7db01f9c751", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1694048570, - "narHash": "sha256-PEQptwFCVaJ+jLFJgrZll2shQ9VI/7xVhrCYkJo8iIw=", + "lastModified": 1694937365, + "narHash": "sha256-iHZSGrb9gVpZRR4B2ishUN/1LRKWtSHZNO37C8z1SmA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4f77ea639305f1de0a14d9d41eef83313360638c", + "rev": "5d017a8822e0907fb96f7700a319f9fe2434de02", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1694205411, - "narHash": "sha256-+YFpxUt0uaU5STtipAClw2AmO3am0//5TZflTO7jCGc=", + "lastModified": 1695032793, + "narHash": "sha256-+2nYNDrnOqElW4qvM39AEH1YGtqBku68RSAXyEjRCUE=", "owner": "nix-community", "repo": "NUR", - "rev": "cb2799c3e5aa3b2fa1b0dce240688af0af17d538", + "rev": "5669256a12eefc2c49e685cfac947e6a84aa1ea6", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1693898833, - "narHash": "sha256-OIrMAGNYNeLs6IvBynxcXub7aSW3GEUvWNsb7zx6zuU=", + "lastModified": 1694495315, + "narHash": "sha256-sZEYXs9T1NVHZSSbMqBEtEm2PGa7dEDcx0ttQkArORc=", "owner": "Mic92", "repo": "sops-nix", - "rev": "faf21ac162173c2deb54e5fdeed002a9bd6e8623", + "rev": "ea208e55f8742fdcc0986b256bdfa8986f5e4415", "type": "github" }, "original": { From 75a9e55876a26675b0bdf3b364a254652e966434 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:29 +0000 Subject: [PATCH 100/766] Implement automatic sipgate endpoint reload --- hosts/aluminium/services/asterisk.nix | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/hosts/aluminium/services/asterisk.nix b/hosts/aluminium/services/asterisk.nix index bdbdfe4..2f03b34 100644 --- a/hosts/aluminium/services/asterisk.nix +++ b/hosts/aluminium/services/asterisk.nix @@ -166,4 +166,31 @@ in [ -L "$sounds_de" ] && rm "$sounds_de" ln -s "${pkgs.asterisk-sounds-de}/" "$sounds_de" ''; + + systemd.services."asterisk-reload-endpoint@" = { + description = "Check if asterisk endpoint is identified and reload it when it is not."; + serviceConfig = { + Type = "oneshot"; + }; + environment = { + ENDPOINT = "%I"; + }; + script = '' + export PATH=${pkgs.lib.makeBinPath [pkgs.asterisk pkgs.gnused pkgs.gnugrep]} + if ! asterisk -r -x "pjsip show endpoint $ENDPOINT" | sed -n '/^===/,/^\s*ParameterName/{//!p}' | grep -q 'Identify:'; then + asterisk -r -x "module reload res_pjsip_endpoint_identifier_ip.so" + fi + ''; + }; + + systemd.timers.asterisk-reload-endpoint = { + description = "Check if asterisk endpoint is identified and reload it when it is not."; + after = [ "asterisk.service" ]; + wantedBy = [ "timers.target" ]; + timerConfig = { + Persistent = true; + OnCalendar = "*-*-* *:*:00"; + Unit = "asterisk-reload-endpoint@sipgate.service"; + }; + }; } From 27c9d479b241187c90491603ed3361d3fbc31bcf Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:30 +0000 Subject: [PATCH 101/766] System hardening --- hosts/aluminium/hardware-configuration.nix | 27 +++++---- hosts/cadmium/hardware-configuration.nix | 2 + hosts/hafnium/hardware-configuration.nix | 1 + hosts/iron/configuration.nix | 56 ++++++++++--------- hosts/jalr-t520/hardware-configuration.nix | 1 + hosts/magnesium/hardware-configuration.nix | 25 +++++---- .../hardware-configuration.nix | 8 +++ modules/default.nix | 12 +++- 8 files changed, 81 insertions(+), 51 deletions(-) diff --git a/hosts/aluminium/hardware-configuration.nix b/hosts/aluminium/hardware-configuration.nix index dcdb4c2..f146835 100644 --- a/hosts/aluminium/hardware-configuration.nix +++ b/hosts/aluminium/hardware-configuration.nix @@ -59,33 +59,32 @@ bootloader = "grub2"; }; - fileSystems."/" = - { + fileSystems = { + "/" = { device = "/dev/disk/by-uuid/2c5b0de0-c55f-4327-bd60-1aee6c8ae234"; fsType = "btrfs"; options = [ "subvol=root" ]; }; - - fileSystems."/home" = - { + "/proc" = { + device = "/proc"; + options = [ "nosuid" "noexec" "nodev" "hidepid=2" ]; + }; + "/home" = { device = "/dev/disk/by-uuid/2c5b0de0-c55f-4327-bd60-1aee6c8ae234"; fsType = "btrfs"; - options = [ "subvol=home" ]; + options = [ "subvol=home" "nodev" "nosuid" ]; }; - - fileSystems."/nix" = - { + "/nix" = { device = "/dev/disk/by-uuid/2c5b0de0-c55f-4327-bd60-1aee6c8ae234"; fsType = "btrfs"; - options = [ "subvol=nix" ]; + options = [ "subvol=nix" "nodev" ]; }; - - fileSystems."/boot" = - { + "/boot" = { device = "/dev/disk/by-uuid/695df89b-948d-4659-8f57-335e8b25a8c5"; fsType = "ext2"; + options = [ "nodev" "nosuid" "noexec" ]; }; - + }; swapDevices = [ ]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking diff --git a/hosts/cadmium/hardware-configuration.nix b/hosts/cadmium/hardware-configuration.nix index ba6a7f2..1a85863 100644 --- a/hosts/cadmium/hardware-configuration.nix +++ b/hosts/cadmium/hardware-configuration.nix @@ -42,11 +42,13 @@ "/boot" = { device = "/dev/disk/by-uuid/D384-54D8"; fsType = "vfat"; + options = [ "nodev" "nosuid" "noexec" ]; }; "/home" = { device = "/dev/disk/by-uuid/f14ae966-ac3f-467f-9263-ba9136967782"; fsType = "ext4"; noCheck = true; + options = [ "nodev" "nosuid" ]; }; }; diff --git a/hosts/hafnium/hardware-configuration.nix b/hosts/hafnium/hardware-configuration.nix index a9bc65c..5e2c719 100644 --- a/hosts/hafnium/hardware-configuration.nix +++ b/hosts/hafnium/hardware-configuration.nix @@ -33,6 +33,7 @@ "/boot" = { device = "/dev/disk/by-uuid/564E-26B4"; fsType = "vfat"; + options = [ "nodev" "nosuid" "noexec" ]; }; }; diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index 44f26e8..c13e729 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -152,31 +152,37 @@ with lib; { ]; }; - fileSystems = mkMerge (mapAttrsToList - (dataset: mountpoint: { - "${mountpoint}" = { - device = "${dataset}"; - fsType = "zfs"; - options = [ "X-mount.mkdir" "noatime" ]; - neededForBoot = true; - }; - }) - datasets ++ map - (esp: { - "/boot/efis/${esp}" = { - device = "${devNodes}/${esp}"; - fsType = "vfat"; - options = [ - "x-systemd.idle-timeout=1min" - "x-systemd.automount" - "noauto" - "nofail" - "noatime" - "X-mount.mkdir" - ]; - }; - }) - efiSystemPartitions); + fileSystems = mkMerge + (mapAttrsToList + (dataset: mountpoint: { + "${mountpoint}" = { + device = "${dataset}"; + fsType = "zfs"; + options = [ "X-mount.mkdir" "noatime" ]; + neededForBoot = true; + }; + }) + datasets ++ map + (esp: { + "/boot/efis/${esp}" = { + device = "${devNodes}/${esp}"; + fsType = "vfat"; + options = [ + "x-systemd.idle-timeout=1min" + "x-systemd.automount" + "noauto" + "nofail" + "noatime" + "X-mount.mkdir" + ]; + }; + }) + efiSystemPartitions) // { + "/proc" = { + device = "/proc"; + options = [ "nosuid" "noexec" "nodev" "hidepid=2" ]; + }; + }; hardware.enableRedistributableFirmware = true; diff --git a/hosts/jalr-t520/hardware-configuration.nix b/hosts/jalr-t520/hardware-configuration.nix index b744c59..7de2199 100644 --- a/hosts/jalr-t520/hardware-configuration.nix +++ b/hosts/jalr-t520/hardware-configuration.nix @@ -39,6 +39,7 @@ "/boot" = { device = "/dev/disk/by-uuid/c4df83d7-8985-47df-b5cd-bf18bd490a50"; fsType = "ext2"; + options = [ "nodev" "nosuid" "noexec" ]; }; }; diff --git a/hosts/magnesium/hardware-configuration.nix b/hosts/magnesium/hardware-configuration.nix index b4eba9e..2c6ccd7 100644 --- a/hosts/magnesium/hardware-configuration.nix +++ b/hosts/magnesium/hardware-configuration.nix @@ -11,8 +11,8 @@ boot.kernelModules = [ ]; boot.extraModulePackages = [ ]; - fileSystems."/" = - { + fileSystems = { + "/" = { device = "/dev/disk/by-uuid/45dcac99-1f65-48ab-b5bf-8a1507f0b75a"; fsType = "btrfs"; options = [ @@ -20,33 +20,36 @@ "compress=zstd" ]; }; - - fileSystems."/home" = - { + "/proc" = { + device = "/proc"; + options = [ "nosuid" "noexec" "nodev" "hidepid=2" ]; + }; + "/home" = { device = "/dev/disk/by-uuid/45dcac99-1f65-48ab-b5bf-8a1507f0b75a"; fsType = "btrfs"; options = [ "subvol=home" "compress=zstd" + "nodev" + "nosuid" ]; }; - - fileSystems."/nix" = - { + "/nix" = { device = "/dev/disk/by-uuid/45dcac99-1f65-48ab-b5bf-8a1507f0b75a"; fsType = "btrfs"; options = [ "subvol=nix" "compress=zstd" "noatime" + "nodev" ]; }; - - fileSystems."/boot" = - { + "/boot" = { device = "/dev/disk/by-uuid/7836-0C48"; fsType = "vfat"; + options = [ "nodev" "nosuid" "noexec" ]; }; + }; swapDevices = [ ]; diff --git a/hosts/weinturm-pretix-prod/hardware-configuration.nix b/hosts/weinturm-pretix-prod/hardware-configuration.nix index c96eb20..ba13c46 100644 --- a/hosts/weinturm-pretix-prod/hardware-configuration.nix +++ b/hosts/weinturm-pretix-prod/hardware-configuration.nix @@ -16,12 +16,18 @@ "compress=zstd" ]; }; + "/proc" = { + device = "/proc"; + options = [ "nosuid" "noexec" "nodev" "hidepid=2" ]; + }; "/home" = { device = "/dev/disk/by-uuid/766739e7-2c5c-4c28-b6ee-4bf9f91e6b1f"; fsType = "btrfs"; options = [ "subvol=home" "compress=zstd" + "nodev" + "nosuid" ]; }; "/nix" = { @@ -31,11 +37,13 @@ "subvol=nix" "compress=zstd" "noatime" + "nodev" ]; }; "/boot" = { device = "/dev/disk/by-uuid/A586-15AC"; fsType = "vfat"; + options = [ "nodev" "nosuid" "noexec" ]; }; }; diff --git a/modules/default.nix b/modules/default.nix index 732071f..567bfcb 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -43,7 +43,17 @@ ]; config = { - boot.tmp.cleanOnBoot = true; + boot = { + tmp.cleanOnBoot = true; + kernel.sysctl = { + "kernel.kptr_restrict" = 1; + "kernel.yama.ptrace_scope" = 1; + "kernel.kexec_load_disabled" = 1; + }; + kernelParams = [ + "lockdown=integrity" + ]; + }; security.polkit.enable = true; From 50d9b0e0920ab5e03c22652d598edb1e96218be3 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:30 +0000 Subject: [PATCH 102/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/9787dffff5d315c9593d3f9fb0f9bf2097e1b57b' (2023-09-11) → 'github:nix-community/home-manager/07682fff75d41f18327a871088d20af2710d4744' (2023-09-19) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/5d017a8822e0907fb96f7700a319f9fe2434de02' (2023-09-17) → 'github:nixos/nixpkgs/715d72e967ec1dd5ecc71290ee072bcaf5181ed6' (2023-09-22) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/17a46d09ac123d0da3a26855bf3af7db01f9c751' (2023-09-18) → 'github:NixOS/nixpkgs/32663cfc6550cde766b490857bbc37b89be10ce8' (2023-09-24) • Updated input 'nur': 'github:nix-community/NUR/5669256a12eefc2c49e685cfac947e6a84aa1ea6' (2023-09-18) → 'github:nix-community/NUR/44ff06dbea5958f299f89030b31ad1cf59aae1fe' (2023-09-24) • Updated input 'sops-nix': 'github:Mic92/sops-nix/ea208e55f8742fdcc0986b256bdfa8986f5e4415' (2023-09-12) → 'github:Mic92/sops-nix/2f375ed8702b0d8ee2430885059d5e7975e38f78' (2023-09-21) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/5601118d39ca9105f8e7b39d4c221d3388c0419d' (2023-09-02) → 'github:NixOS/nixpkgs/596611941a74be176b98aeba9328aa9d01b8b322' (2023-09-16) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index f07e268..0f8b648 100644 --- a/flake.lock +++ b/flake.lock @@ -62,11 +62,11 @@ ] }, "locked": { - "lastModified": 1694465129, - "narHash": "sha256-8BQiuobMrCfCbGM7w6Snx+OBYdtTIm0+cGVaKwQ5BFg=", + "lastModified": 1695108154, + "narHash": "sha256-gSg7UTVtls2yO9lKtP0yb66XBHT1Fx5qZSZbGMpSn2c=", "owner": "nix-community", "repo": "home-manager", - "rev": "9787dffff5d315c9593d3f9fb0f9bf2097e1b57b", + "rev": "07682fff75d41f18327a871088d20af2710d4744", "type": "github" }, "original": { @@ -158,11 +158,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1693675694, - "narHash": "sha256-2pIOyQwGyy2FtFAUIb8YeKVmOCcPOTVphbAvmshudLE=", + "lastModified": 1694908564, + "narHash": "sha256-ducA98AuWWJu5oUElIzN24Q22WlO8bOfixGzBgzYdVc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5601118d39ca9105f8e7b39d4c221d3388c0419d", + "rev": "596611941a74be176b98aeba9328aa9d01b8b322", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1695037076, - "narHash": "sha256-J2JS+YyQTGdqYWmauFO0CLvr1Cs+E3Kf4Gz2eThIjKg=", + "lastModified": 1695550996, + "narHash": "sha256-/6JoM8Ow1tFlsjgYohfhJs7q7lekK4C9/c5hA+Ux8Vw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "17a46d09ac123d0da3a26855bf3af7db01f9c751", + "rev": "32663cfc6550cde766b490857bbc37b89be10ce8", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1694937365, - "narHash": "sha256-iHZSGrb9gVpZRR4B2ishUN/1LRKWtSHZNO37C8z1SmA=", + "lastModified": 1695416179, + "narHash": "sha256-610o1+pwbSu+QuF3GE0NU5xQdTHM3t9wyYhB9l94Cd8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5d017a8822e0907fb96f7700a319f9fe2434de02", + "rev": "715d72e967ec1dd5ecc71290ee072bcaf5181ed6", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1695032793, - "narHash": "sha256-+2nYNDrnOqElW4qvM39AEH1YGtqBku68RSAXyEjRCUE=", + "lastModified": 1695552307, + "narHash": "sha256-3XhZVJBYfRhB9ARXPQoKXdDTejb0vFLIjlf7pekN9Oc=", "owner": "nix-community", "repo": "NUR", - "rev": "5669256a12eefc2c49e685cfac947e6a84aa1ea6", + "rev": "44ff06dbea5958f299f89030b31ad1cf59aae1fe", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1694495315, - "narHash": "sha256-sZEYXs9T1NVHZSSbMqBEtEm2PGa7dEDcx0ttQkArORc=", + "lastModified": 1695284550, + "narHash": "sha256-z9fz/wz9qo9XePEvdduf+sBNeoI9QG8NJKl5ssA8Xl4=", "owner": "Mic92", "repo": "sops-nix", - "rev": "ea208e55f8742fdcc0986b256bdfa8986f5e4415", + "rev": "2f375ed8702b0d8ee2430885059d5e7975e38f78", "type": "github" }, "original": { From a3ff9795326ce05a6e67f92686656aa8fb97c292 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:31 +0000 Subject: [PATCH 103/766] Allow restart of tor.service without password --- modules/sudo.nix | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/modules/sudo.nix b/modules/sudo.nix index ebe10d1..d47d889 100644 --- a/modules/sudo.nix +++ b/modules/sudo.nix @@ -1,5 +1,22 @@ { pkgs, inputs, ... }: - +let + commandsWithoutPassword = [ + "/run/current-system/sw/bin/systemctl restart tor.service" + ]; +in { - security.sudo.execWheelOnly = true; + security.sudo = { + execWheelOnly = true; + extraRules = [ + { + groups = [ "wheel" ]; + commands = map + (cmd: { + command = cmd; + options = [ "NOPASSWD" ]; + }) + commandsWithoutPassword; + } + ]; + }; } From 6a2521a326c2ccc33c673ab78d1e50b8bbb5fbeb Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:32 +0000 Subject: [PATCH 104/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/4f883a76282bc28eb952570afc3d8a1bf6f481d7' (2023-09-10) → 'github:cachix/pre-commit-hooks.nix/cb770e93516a1609652fa8e945a0f310e98f10c0' (2023-09-24) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/715d72e967ec1dd5ecc71290ee072bcaf5181ed6' (2023-09-22) → 'github:nixos/nixpkgs/261abe8a44a7e8392598d038d2e01f7b33cf26d0' (2023-09-24) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/32663cfc6550cde766b490857bbc37b89be10ce8' (2023-09-24) → 'github:NixOS/nixpkgs/4d256beb574dee9ba723da3e816eb46e791d267a' (2023-09-25) • Updated input 'nur': 'github:nix-community/NUR/44ff06dbea5958f299f89030b31ad1cf59aae1fe' (2023-09-24) → 'github:nix-community/NUR/7742edec9109071b4332bdc659002f9f7a3eb06d' (2023-09-25) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 0f8b648..63e9f67 100644 --- a/flake.lock +++ b/flake.lock @@ -110,11 +110,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1694364351, - "narHash": "sha256-oadhSCqopYXxURwIA6/Anpe5IAG11q2LhvTJNP5zE6o=", + "lastModified": 1695576016, + "narHash": "sha256-71KxwRhTfVuh7kNrg3/edNjYVg9DCyKZl2QIKbhRggg=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "4f883a76282bc28eb952570afc3d8a1bf6f481d7", + "rev": "cb770e93516a1609652fa8e945a0f310e98f10c0", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1695550996, - "narHash": "sha256-/6JoM8Ow1tFlsjgYohfhJs7q7lekK4C9/c5hA+Ux8Vw=", + "lastModified": 1695654483, + "narHash": "sha256-761alDj2QthLEk+Vkhei62UEqOC0ykV5UxOPF5um8gY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "32663cfc6550cde766b490857bbc37b89be10ce8", + "rev": "4d256beb574dee9ba723da3e816eb46e791d267a", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1695416179, - "narHash": "sha256-610o1+pwbSu+QuF3GE0NU5xQdTHM3t9wyYhB9l94Cd8=", + "lastModified": 1695559356, + "narHash": "sha256-kXZ1pUoImD9OEbPCwpTz4tHsNTr4CIyIfXb3ocuR8sI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "715d72e967ec1dd5ecc71290ee072bcaf5181ed6", + "rev": "261abe8a44a7e8392598d038d2e01f7b33cf26d0", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1695552307, - "narHash": "sha256-3XhZVJBYfRhB9ARXPQoKXdDTejb0vFLIjlf7pekN9Oc=", + "lastModified": 1695652853, + "narHash": "sha256-hmsIWiDeSolVlX/GadifPXoqtnskY3TwCSvIfE56ZW0=", "owner": "nix-community", "repo": "NUR", - "rev": "44ff06dbea5958f299f89030b31ad1cf59aae1fe", + "rev": "7742edec9109071b4332bdc659002f9f7a3eb06d", "type": "github" }, "original": { From 9c7c514c6590cbb877a37547263494ef5db90be0 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:33 +0000 Subject: [PATCH 105/766] Add mail options --- pkgs/pretix/module.nix | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/pkgs/pretix/module.nix b/pkgs/pretix/module.nix index 7705e0a..0903eb7 100644 --- a/pkgs/pretix/module.nix +++ b/pkgs/pretix/module.nix @@ -30,7 +30,7 @@ let ]; }; staticRoot = pkgs.pretix-static; - environmentFile = pkgs.runCommand "pretix-environ" runCommandArgs '' + environmentFile = pkgs.runCommand "pretix-environ" runCommandArgs ('' cat > $out < Date: Wed, 22 Nov 2023 14:49:33 +0000 Subject: [PATCH 106/766] Remove smart host --- hosts/weinturm-pretix-prod/secrets.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hosts/weinturm-pretix-prod/secrets.yaml b/hosts/weinturm-pretix-prod/secrets.yaml index fe2b033..bfd0f7e 100644 --- a/hosts/weinturm-pretix-prod/secrets.yaml +++ b/hosts/weinturm-pretix-prod/secrets.yaml @@ -1,4 +1,4 @@ -pretix-cfg: ENC[AES256_GCM,data:AgT82cee/BHR5V2JkNdDkbS82zXntOD6dLuEm4XUgal0Jpz+3ACqrEF72U0nNTd/JUYVD1HJtphKKKLZ0zHBix+xMJ/JP5hnz7O94+xqyjODhl6XpNtKgc2bDsPWpoejeUDAQK4lWDwu7eCl3+L/HCK5oEE7d01HcfudI1XD8Qr6E4PAyrKd71d65h66OtcwgQVojtWbMSditWHEubVQEssrmZGjOzmd/JzlUBEKQ5piJquQ0RTTGynQdKpLw29CakjpxVzT1uLvuvM89I21BDeXW2A6Gn54ay7Ov9aFGbp+wexlZqGpOZ0Pkw==,iv:3CWknBvAAt0Ls45kzAaeXSsiebkWWT2UdJhoyImVoHU=,tag:yy26Txkzf/Yof+Y8R5LcJA==,type:str] +pretix-cfg: ENC[AES256_GCM,data:sfgKDr9aNOdwlumoltRuD7u1ksykFdEKtzt3MldjQnG0b4iAEspEhjcxqaNvPpXYm8EZKtsLBBQgdd1ifyQgs3k69c/GfzQ/jZ/yQ2OUkCO7U9A=,iv:FADYpPbGEEM/pD6EI85s9wVMv8yMrGJa+miE25XQ+t8=,tag:WJ9LHCNFHSr9RmmUi6hxnw==,type:str] pretix-banktool-cfg: ENC[AES256_GCM,data:6tcaQwnXsA2jZYQD2BdGu7gVzlCE+cF03icOF7VIVY92+xWMw+aivJRocDQAMBslD04EoEAu74tNIcky23swtgJwbtcwSmouDqofzo/HoXrudNyvjECYd6xUzmq/OvSBSQVY3s3OxCcc0TlpPVUipDxcGaALwJdhtCB11ZrVfOoXrycZ3YLAEESK0rC4tc5E550lhxmkyOan1m9q9rI4KVhv4mIlU6nVQbDA7LcljRPAJESFmwuwx75t6uPYKH9CjaYL3XE/MmZIZ6pN3qiNyqEx8dsxWZh1KQI233TfMr6jcIXwamTFK6/yieE2nQJfyM8r8b3E3D4nJ5+nn5Cb+wxwewEPveEmFUsNXYD84fpk2fK0nvYyOi32++gfefObFVE2ejAE7iu3rIrboA/wJoSfPCDGHVtdLVXC//MjLI3JUAU+QMTwRFz53KhE+lxFsbqaX4IdLuUwMoFSW6qRWGe7/SGUChH1Wrj705MMc4dfn2qaGhDbZNkDJA==,iv:Pl8XpuGcFzLlzEVe+JQ02S2rthKz88QMZXkGEywpCTU=,tag:beSgKDPcErhJhoV59YDIsw==,type:str] sops: kms: [] @@ -15,8 +15,8 @@ sops: U3pyTDB4c1FWdHBPVjVjV3VpTjFWamsKDtc9C3xy/3Zu83+jQYCnHk8vatWANt4M +Zo5kZ5yfYVSnvMvgpWoAHk/quXSLNg2YhKUDrYP5y57Q/jZTX3YbA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2023-03-01T13:25:37Z" - mac: ENC[AES256_GCM,data:WcF4i8b+YpJuZj/hP8SEEvXJNlrf77ymNF6Avg4vt2JUkIoLh5EAMOjqPWWhJXS65rRSOCQOW/uRLoAMs3b1lX8r93u1wlzxnF5L/1RnAyTcCI2Aiadq6QjOKevgRwfc4vvTVN7LHKwZ9f8kCqgYiuOYtVDx3N4UPQ4SPJ3MZRw=,iv:iliNHU5y+YL2hpvWIltkhP6bkUonMakL7Ssdyf/be38=,tag:4YO93pGujwpHWjX5IAOQfw==,type:str] + lastmodified: "2023-09-25T15:21:49Z" + mac: ENC[AES256_GCM,data:R3uP3tH4faLEtga0E2Gh4WrLrpV7dYvxWDEJkD5ycUc2vglY3MeswMEhNEhkD7cpYiWKB8TaBeBe/mP3hOmgs3WY1sDURZSqKKFT1FfTTL86e1BAOq7S4rG2lRQyNxxDjeJCqFQbEV3feggqPFnV8x8kBObAd29akAK5jQn1TK8=,iv:4F83RXiyLDlzlDVgMWKAOc7BTGSi4F0so9Ub/uzl+VM=,tag:2Q2BRBRR9yC6Uli5TcZhEg==,type:str] pgp: - created_at: "2023-07-08T09:50:21Z" enc: | From 32d372fbc27b2ee169d16af2716677e8e38e2e93 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:34 +0000 Subject: [PATCH 107/766] Enable mail server --- .../weinturm-pretix-prod/services/pretix.nix | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/hosts/weinturm-pretix-prod/services/pretix.nix b/hosts/weinturm-pretix-prod/services/pretix.nix index 2afab88..35bb209 100644 --- a/hosts/weinturm-pretix-prod/services/pretix.nix +++ b/hosts/weinturm-pretix-prod/services/pretix.nix @@ -1,10 +1,16 @@ { config, lib, pkgs, ... }: { + nixpkgs.config.permittedInsecurePackages = [ + "python3.10-requests-2.28.2" + "python3.10-cryptography-40.0.1" + ]; + services.pretix = { enable = true; instanceName = "Weinturm Open Air"; domain = "tickets.weinturm-open-air.de"; extraDomains = [ + "tickets.weinturm.jalr.de" "tickets.wasted-openair.de" "oel.wasted-openair.de" ]; @@ -18,6 +24,27 @@ enable = true; days = 14; }; + mail = { + enable = true; + from = "no-reply@tickets.weinturm-open-air.de"; + admins = [ + "mail@jalr.de" + ]; + }; + }; + + jalr.mailserver = { + enable = true; + fqdn = "tickets.weinturm.jalr.de"; + domains = [ + { + domain = "tickets.weinturm-open-air.de"; + enableDKIM = false; + } + ]; + messageSizeLimit = 10 * 1024 * 1024; + users = [ ]; + spam.enable = false; }; security.acme = { From 41f3426bde32e0c971852d93bd7b35ffbde47c46 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:35 +0000 Subject: [PATCH 108/766] Enable TOR only for workstations --- modules/tor.nix | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/modules/tor.nix b/modules/tor.nix index 26b357b..c33b3c5 100644 --- a/modules/tor.nix +++ b/modules/tor.nix @@ -1,13 +1,17 @@ +{ lib, config, ... }: + { - services.tor = { - enable = true; - settings = { - DNSPort = 9053; - AutomapHostsOnResolve = true; - AutomapHostsSuffixes = [ - ".exit" - ".onion" - ]; + config = lib.mkIf config.jalr.workstation.enable { + services.tor = { + enable = true; + settings = { + DNSPort = 9053; + AutomapHostsOnResolve = true; + AutomapHostsSuffixes = [ + ".exit" + ".onion" + ]; + }; }; }; } From 55f08a7cfa1ba4ac43740983a2a4ddbb1ca511a4 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:35 +0000 Subject: [PATCH 109/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/4d256beb574dee9ba723da3e816eb46e791d267a' (2023-09-25) → 'github:NixOS/nixpkgs/ce860f6a1e0989d041556c45832b0b370a3d59a3' (2023-09-27) • Updated input 'nur': 'github:nix-community/NUR/7742edec9109071b4332bdc659002f9f7a3eb06d' (2023-09-25) → 'github:nix-community/NUR/e73b0b963720fa2de9d11dc7ea6ab30d8d5163fd' (2023-09-27) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 63e9f67..4a09446 100644 --- a/flake.lock +++ b/flake.lock @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1695654483, - "narHash": "sha256-761alDj2QthLEk+Vkhei62UEqOC0ykV5UxOPF5um8gY=", + "lastModified": 1695818984, + "narHash": "sha256-zj949XsE0Tt4ru5S3qOEIjdCQmFXdAa2fFCfcQ6Dd9s=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4d256beb574dee9ba723da3e816eb46e791d267a", + "rev": "ce860f6a1e0989d041556c45832b0b370a3d59a3", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1695652853, - "narHash": "sha256-hmsIWiDeSolVlX/GadifPXoqtnskY3TwCSvIfE56ZW0=", + "lastModified": 1695807947, + "narHash": "sha256-p0Hp6F/Fy6khf6buWajmyzw92cVRjbWpfxLZI78NxbM=", "owner": "nix-community", "repo": "NUR", - "rev": "7742edec9109071b4332bdc659002f9f7a3eb06d", + "rev": "e73b0b963720fa2de9d11dc7ea6ab30d8d5163fd", "type": "github" }, "original": { From 1c19a04be8ddadceb08e44fe7571b9878a4e831f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:36 +0000 Subject: [PATCH 110/766] Update CPS network --- home-manager/users/jal.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/users/jal.nix b/home-manager/users/jal.nix index 805c890..6cedf41 100644 --- a/home-manager/users/jal.nix +++ b/home-manager/users/jal.nix @@ -4,7 +4,7 @@ let userName = "jal"; vpn_routes = [ "10.18.0.0/16" # OEE VPC - "10.64.64.0/20" # CPS + "10.64.0.0/16" # CPS "10.158.128.0/23" # approval "10.158.224.0/20" # core production "10.158.240.0/20" # core development From 9b4da12f6a6db1e44bcf21ca3342ff582f3b7447 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:37 +0000 Subject: [PATCH 111/766] Change grbi abbrev to rebase to default branch --- home-manager/modules/git.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/modules/git.nix b/home-manager/modules/git.nix index e7b49bd..6090b08 100644 --- a/home-manager/modules/git.nix +++ b/home-manager/modules/git.nix @@ -40,7 +40,7 @@ gpll = "git pull"; gpsh = "git push"; grb = "git rebase --autostash"; - grbi = "git rebase --autostash --interactive --autosquash \(git merge-base HEAD origin/master\)"; + grbi = "git rebase --autostash --interactive --autosquash refs/remotes/origin/HEAD"; gr = "git restore"; grs = "git restore --staged"; grst = "git reset"; From e3191650639f366ee5a7aebf671a2b2defe1f9ec Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:37 +0000 Subject: [PATCH 112/766] Change gfix abbrev to rebase to default branch --- home-manager/modules/git.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/home-manager/modules/git.nix b/home-manager/modules/git.nix index 6090b08..f108ff8 100644 --- a/home-manager/modules/git.nix +++ b/home-manager/modules/git.nix @@ -95,16 +95,16 @@ end ''; }; - git_pick-commit_merge-base_origin_master = { + git_pick-commit_merge-base_origin = { description = "fuzzy find a commit hash"; body = '' - git log --oneline (git merge-base HEAD origin/master)..HEAD | ${pkgs.fzf}/bin/fzf --preview='git show (echo {} | cut -d" " -f 1)' --preview-window=top:75% | cut -d" " -f 1 + git log --oneline refs/remotes/origin/HEAD..HEAD | ${pkgs.fzf}/bin/fzf --preview='git show (echo {} | cut -d" " -f 1)' --preview-window=top:75% | cut -d" " -f 1 ''; }; gfix = { description = "git commit --fixup with fuzzy find commmit picker"; body = '' - set commit (git_pick-commit_merge-base_origin_master) + set commit (git_pick-commit_merge-base_origin) commandline "git commit --fixup=$commit" ''; }; From fcb87000c119915427758a468467184b1271a564 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:38 +0000 Subject: [PATCH 113/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/cb770e93516a1609652fa8e945a0f310e98f10c0' (2023-09-24) → 'github:cachix/pre-commit-hooks.nix/033453f85064ccac434dfd957f95d8457901ecd6' (2023-10-01) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/261abe8a44a7e8392598d038d2e01f7b33cf26d0' (2023-09-24) → 'github:nixos/nixpkgs/3b79cc4bcd9c09b5aa68ea1957c25e437dc6bc58' (2023-10-03) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/ce860f6a1e0989d041556c45832b0b370a3d59a3' (2023-09-27) → 'github:NixOS/nixpkgs/e0b78ab95b4b23fa4395ff7a93ccff3a14353616' (2023-10-04) • Updated input 'nur': 'github:nix-community/NUR/e73b0b963720fa2de9d11dc7ea6ab30d8d5163fd' (2023-09-27) → 'github:nix-community/NUR/4ca4be389a0c04cf9b41a554f9d3b3cea7a5b68a' (2023-10-04) • Updated input 'sops-nix': 'github:Mic92/sops-nix/2f375ed8702b0d8ee2430885059d5e7975e38f78' (2023-09-21) → 'github:Mic92/sops-nix/746c7fa1a64c1671a4bf287737c27fdc7101c4c2' (2023-10-03) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/596611941a74be176b98aeba9328aa9d01b8b322' (2023-09-16) → 'github:NixOS/nixpkgs/dbe90e63a36762f1fbde546e26a84af774a32455' (2023-10-01) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 4a09446..5fd4987 100644 --- a/flake.lock +++ b/flake.lock @@ -110,11 +110,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1695576016, - "narHash": "sha256-71KxwRhTfVuh7kNrg3/edNjYVg9DCyKZl2QIKbhRggg=", + "lastModified": 1696158581, + "narHash": "sha256-h0vY4E7Lx95lpYQbG2w4QH4yG5wCYOvPJzK93wVQbT0=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "cb770e93516a1609652fa8e945a0f310e98f10c0", + "rev": "033453f85064ccac434dfd957f95d8457901ecd6", "type": "github" }, "original": { @@ -158,11 +158,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1694908564, - "narHash": "sha256-ducA98AuWWJu5oUElIzN24Q22WlO8bOfixGzBgzYdVc=", + "lastModified": 1696123266, + "narHash": "sha256-S6MZEneQeE4M/E/C8SMnr7B7oBnjH/hbm96Kak5hAAI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "596611941a74be176b98aeba9328aa9d01b8b322", + "rev": "dbe90e63a36762f1fbde546e26a84af774a32455", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1695818984, - "narHash": "sha256-zj949XsE0Tt4ru5S3qOEIjdCQmFXdAa2fFCfcQ6Dd9s=", + "lastModified": 1696420985, + "narHash": "sha256-9ZXMUtNSrKDkHjbG3ZisLZksbdQiTdZC1Hg5tYeVrpc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ce860f6a1e0989d041556c45832b0b370a3d59a3", + "rev": "e0b78ab95b4b23fa4395ff7a93ccff3a14353616", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1695559356, - "narHash": "sha256-kXZ1pUoImD9OEbPCwpTz4tHsNTr4CIyIfXb3ocuR8sI=", + "lastModified": 1696323343, + "narHash": "sha256-u7WLUrh5eb+6SBYwtkaGL2ryHpLcHzmLml+a+VqKJWE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "261abe8a44a7e8392598d038d2e01f7b33cf26d0", + "rev": "3b79cc4bcd9c09b5aa68ea1957c25e437dc6bc58", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1695807947, - "narHash": "sha256-p0Hp6F/Fy6khf6buWajmyzw92cVRjbWpfxLZI78NxbM=", + "lastModified": 1696421792, + "narHash": "sha256-fhx7rQoL0rbupNRcNbTQSOxJ7sU6vpug+og2f9z1FDw=", "owner": "nix-community", "repo": "NUR", - "rev": "e73b0b963720fa2de9d11dc7ea6ab30d8d5163fd", + "rev": "4ca4be389a0c04cf9b41a554f9d3b3cea7a5b68a", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1695284550, - "narHash": "sha256-z9fz/wz9qo9XePEvdduf+sBNeoI9QG8NJKl5ssA8Xl4=", + "lastModified": 1696320910, + "narHash": "sha256-fbuEc6wylH+0VxG48lhPBK+SQJHfo2lusUwWHZNipIM=", "owner": "Mic92", "repo": "sops-nix", - "rev": "2f375ed8702b0d8ee2430885059d5e7975e38f78", + "rev": "746c7fa1a64c1671a4bf287737c27fdc7101c4c2", "type": "github" }, "original": { From 0169b69f020902e58839bf4250ad34b6a287659a Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:39 +0000 Subject: [PATCH 114/766] Update pretix version Bump pretix version from 2023.7.3 to 2023.8.0 --- pkgs/pretix/poetry.lock | 579 +++++++++++++++++----------------- pkgs/pretix/pretix-static.nix | 2 +- pkgs/pretix/pyproject.toml | 2 +- 3 files changed, 299 insertions(+), 284 deletions(-) diff --git a/pkgs/pretix/poetry.lock b/pkgs/pretix/poetry.lock index 5088d49..5f85404 100644 --- a/pkgs/pretix/poetry.lock +++ b/pkgs/pretix/poetry.lock @@ -205,16 +205,19 @@ tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pyte [[package]] name = "babel" -version = "2.12.1" +version = "2.13.0" description = "Internationalization utilities" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "Babel-2.12.1-py3-none-any.whl", hash = "sha256:b4246fb7677d3b98f501a39d43396d3cafdc8eadb045f4a31be01863f655c610"}, - {file = "Babel-2.12.1.tar.gz", hash = "sha256:cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455"}, + {file = "Babel-2.13.0-py3-none-any.whl", hash = "sha256:fbfcae1575ff78e26c7449136f1abbefc3c13ce542eeb13d43d50d8b047216ec"}, + {file = "Babel-2.13.0.tar.gz", hash = "sha256:04c3e2d28d2b7681644508f836be388ae49e0cfe91465095340395b60d00f210"}, ] +[package.extras] +dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] + [[package]] name = "beautifulsoup4" version = "4.12.2" @@ -386,76 +389,64 @@ files = [ [[package]] name = "cffi" -version = "1.15.1" +version = "1.16.0" description = "Foreign Function Interface for Python calling C code." category = "main" optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"}, - {file = "cffi-1.15.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2"}, - {file = "cffi-1.15.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914"}, - {file = "cffi-1.15.1-cp27-cp27m-win32.whl", hash = "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3"}, - {file = "cffi-1.15.1-cp27-cp27m-win_amd64.whl", hash = "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e"}, - {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162"}, - {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b"}, - {file = "cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21"}, - {file = "cffi-1.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e"}, - {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"}, - {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01"}, - {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e"}, - {file = "cffi-1.15.1-cp310-cp310-win32.whl", hash = "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2"}, - {file = "cffi-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d"}, - {file = "cffi-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac"}, - {file = "cffi-1.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325"}, - {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c"}, - {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef"}, - {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8"}, - {file = "cffi-1.15.1-cp311-cp311-win32.whl", hash = "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d"}, - {file = "cffi-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104"}, - {file = "cffi-1.15.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405"}, - {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e"}, - {file = "cffi-1.15.1-cp36-cp36m-win32.whl", hash = "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf"}, - {file = "cffi-1.15.1-cp36-cp36m-win_amd64.whl", hash = "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497"}, - {file = "cffi-1.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c"}, - {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426"}, - {file = "cffi-1.15.1-cp37-cp37m-win32.whl", hash = "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9"}, - {file = "cffi-1.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045"}, - {file = "cffi-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02"}, - {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192"}, - {file = "cffi-1.15.1-cp38-cp38-win32.whl", hash = "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314"}, - {file = "cffi-1.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5"}, - {file = "cffi-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585"}, - {file = "cffi-1.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35"}, - {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27"}, - {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76"}, - {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3"}, - {file = "cffi-1.15.1-cp39-cp39-win32.whl", hash = "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee"}, - {file = "cffi-1.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c"}, - {file = "cffi-1.15.1.tar.gz", hash = "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"}, + {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"}, + {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"}, + {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"}, + {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"}, + {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"}, + {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"}, + {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"}, + {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"}, + {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"}, + {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"}, + {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"}, + {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"}, + {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"}, + {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"}, + {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"}, ] [package.dependencies] @@ -475,87 +466,102 @@ files = [ [[package]] name = "charset-normalizer" -version = "3.2.0" +version = "3.3.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." category = "main" optional = false python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-3.2.0.tar.gz", hash = "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win32.whl", hash = "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96"}, - {file = "charset_normalizer-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win32.whl", hash = "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1"}, - {file = "charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-win32.whl", hash = "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1"}, - {file = "charset_normalizer-3.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win32.whl", hash = "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706"}, - {file = "charset_normalizer-3.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win32.whl", hash = "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9"}, - {file = "charset_normalizer-3.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80"}, - {file = "charset_normalizer-3.2.0-py3-none-any.whl", hash = "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6"}, + {file = "charset-normalizer-3.3.0.tar.gz", hash = "sha256:63563193aec44bce707e0c5ca64ff69fa72ed7cf34ce6e11d5127555756fd2f6"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:effe5406c9bd748a871dbcaf3ac69167c38d72db8c9baf3ff954c344f31c4cbe"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4162918ef3098851fcd8a628bf9b6a98d10c380725df9e04caf5ca6dd48c847a"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0570d21da019941634a531444364f2482e8db0b3425fcd5ac0c36565a64142c8"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5707a746c6083a3a74b46b3a631d78d129edab06195a92a8ece755aac25a3f3d"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:278c296c6f96fa686d74eb449ea1697f3c03dc28b75f873b65b5201806346a69"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a4b71f4d1765639372a3b32d2638197f5cd5221b19531f9245fcc9ee62d38f56"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5969baeaea61c97efa706b9b107dcba02784b1601c74ac84f2a532ea079403e"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a3f93dab657839dfa61025056606600a11d0b696d79386f974e459a3fbc568ec"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:db756e48f9c5c607b5e33dd36b1d5872d0422e960145b08ab0ec7fd420e9d649"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:232ac332403e37e4a03d209a3f92ed9071f7d3dbda70e2a5e9cff1c4ba9f0678"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e5c1502d4ace69a179305abb3f0bb6141cbe4714bc9b31d427329a95acfc8bdd"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:2502dd2a736c879c0f0d3e2161e74d9907231e25d35794584b1ca5284e43f596"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23e8565ab7ff33218530bc817922fae827420f143479b753104ab801145b1d5b"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-win32.whl", hash = "sha256:1872d01ac8c618a8da634e232f24793883d6e456a66593135aeafe3784b0848d"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:557b21a44ceac6c6b9773bc65aa1b4cc3e248a5ad2f5b914b91579a32e22204d"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d7eff0f27edc5afa9e405f7165f85a6d782d308f3b6b9d96016c010597958e63"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a685067d05e46641d5d1623d7c7fdf15a357546cbb2f71b0ebde91b175ffc3e"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0d3d5b7db9ed8a2b11a774db2bbea7ba1884430a205dbd54a32d61d7c2a190fa"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2935ffc78db9645cb2086c2f8f4cfd23d9b73cc0dc80334bc30aac6f03f68f8c"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fe359b2e3a7729010060fbca442ca225280c16e923b37db0e955ac2a2b72a05"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:380c4bde80bce25c6e4f77b19386f5ec9db230df9f2f2ac1e5ad7af2caa70459"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0d1e3732768fecb052d90d62b220af62ead5748ac51ef61e7b32c266cac9293"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1b2919306936ac6efb3aed1fbf81039f7087ddadb3160882a57ee2ff74fd2382"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f8888e31e3a85943743f8fc15e71536bda1c81d5aa36d014a3c0c44481d7db6e"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:82eb849f085624f6a607538ee7b83a6d8126df6d2f7d3b319cb837b289123078"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7b8b8bf1189b3ba9b8de5c8db4d541b406611a71a955bbbd7385bbc45fcb786c"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5adf257bd58c1b8632046bbe43ee38c04e1038e9d37de9c57a94d6bd6ce5da34"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c350354efb159b8767a6244c166f66e67506e06c8924ed74669b2c70bc8735b1"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-win32.whl", hash = "sha256:02af06682e3590ab952599fbadac535ede5d60d78848e555aa58d0c0abbde786"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:86d1f65ac145e2c9ed71d8ffb1905e9bba3a91ae29ba55b4c46ae6fc31d7c0d4"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:3b447982ad46348c02cb90d230b75ac34e9886273df3a93eec0539308a6296d7"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:abf0d9f45ea5fb95051c8bfe43cb40cda383772f7e5023a83cc481ca2604d74e"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b09719a17a2301178fac4470d54b1680b18a5048b481cb8890e1ef820cb80455"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b3d9b48ee6e3967b7901c052b670c7dda6deb812c309439adaffdec55c6d7b78"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:edfe077ab09442d4ef3c52cb1f9dab89bff02f4524afc0acf2d46be17dc479f5"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3debd1150027933210c2fc321527c2299118aa929c2f5a0a80ab6953e3bd1908"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86f63face3a527284f7bb8a9d4f78988e3c06823f7bea2bd6f0e0e9298ca0403"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:24817cb02cbef7cd499f7c9a2735286b4782bd47a5b3516a0e84c50eab44b98e"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c71f16da1ed8949774ef79f4a0260d28b83b3a50c6576f8f4f0288d109777989"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:9cf3126b85822c4e53aa28c7ec9869b924d6fcfb76e77a45c44b83d91afd74f9"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:b3b2316b25644b23b54a6f6401074cebcecd1244c0b8e80111c9a3f1c8e83d65"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:03680bb39035fbcffe828eae9c3f8afc0428c91d38e7d61aa992ef7a59fb120e"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4cc152c5dd831641e995764f9f0b6589519f6f5123258ccaca8c6d34572fefa8"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-win32.whl", hash = "sha256:b8f3307af845803fb0b060ab76cf6dd3a13adc15b6b451f54281d25911eb92df"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:8eaf82f0eccd1505cf39a45a6bd0a8cf1c70dcfc30dba338207a969d91b965c0"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dc45229747b67ffc441b3de2f3ae5e62877a282ea828a5bdb67883c4ee4a8810"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f4a0033ce9a76e391542c182f0d48d084855b5fcba5010f707c8e8c34663d77"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ada214c6fa40f8d800e575de6b91a40d0548139e5dc457d2ebb61470abf50186"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b1121de0e9d6e6ca08289583d7491e7fcb18a439305b34a30b20d8215922d43c"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1063da2c85b95f2d1a430f1c33b55c9c17ffaf5e612e10aeaad641c55a9e2b9d"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70f1d09c0d7748b73290b29219e854b3207aea922f839437870d8cc2168e31cc"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:250c9eb0f4600361dd80d46112213dff2286231d92d3e52af1e5a6083d10cad9"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:750b446b2ffce1739e8578576092179160f6d26bd5e23eb1789c4d64d5af7dc7"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:fc52b79d83a3fe3a360902d3f5d79073a993597d48114c29485e9431092905d8"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:588245972aca710b5b68802c8cad9edaa98589b1b42ad2b53accd6910dad3545"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e39c7eb31e3f5b1f88caff88bcff1b7f8334975b46f6ac6e9fc725d829bc35d4"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-win32.whl", hash = "sha256:abecce40dfebbfa6abf8e324e1860092eeca6f7375c8c4e655a8afb61af58f2c"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:24a91a981f185721542a0b7c92e9054b7ab4fea0508a795846bc5b0abf8118d4"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:67b8cc9574bb518ec76dc8e705d4c39ae78bb96237cb533edac149352c1f39fe"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ac71b2977fb90c35d41c9453116e283fac47bb9096ad917b8819ca8b943abecd"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3ae38d325b512f63f8da31f826e6cb6c367336f95e418137286ba362925c877e"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:542da1178c1c6af8873e143910e2269add130a299c9106eef2594e15dae5e482"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:30a85aed0b864ac88309b7d94be09f6046c834ef60762a8833b660139cfbad13"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aae32c93e0f64469f74ccc730a7cb21c7610af3a775157e50bbd38f816536b38"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b26ddf78d57f1d143bdf32e820fd8935d36abe8a25eb9ec0b5a71c82eb3895"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7f5d10bae5d78e4551b7be7a9b29643a95aded9d0f602aa2ba584f0388e7a557"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:249c6470a2b60935bafd1d1d13cd613f8cd8388d53461c67397ee6a0f5dce741"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c5a74c359b2d47d26cdbbc7845e9662d6b08a1e915eb015d044729e92e7050b7"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:b5bcf60a228acae568e9911f410f9d9e0d43197d030ae5799e20dca8df588287"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:187d18082694a29005ba2944c882344b6748d5be69e3a89bf3cc9d878e548d5a"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:81bf654678e575403736b85ba3a7867e31c2c30a69bc57fe88e3ace52fb17b89"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-win32.whl", hash = "sha256:85a32721ddde63c9df9ebb0d2045b9691d9750cb139c161c80e500d210f5e26e"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:468d2a840567b13a590e67dd276c570f8de00ed767ecc611994c301d0f8c014f"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e0fc42822278451bc13a2e8626cf2218ba570f27856b536e00cfa53099724828"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:09c77f964f351a7369cc343911e0df63e762e42bac24cd7d18525961c81754f4"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:12ebea541c44fdc88ccb794a13fe861cc5e35d64ed689513a5c03d05b53b7c82"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:805dfea4ca10411a5296bcc75638017215a93ffb584c9e344731eef0dcfb026a"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:96c2b49eb6a72c0e4991d62406e365d87067ca14c1a729a870d22354e6f68115"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aaf7b34c5bc56b38c931a54f7952f1ff0ae77a2e82496583b247f7c969eb1479"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:619d1c96099be5823db34fe89e2582b336b5b074a7f47f819d6b3a57ff7bdb86"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a0ac5e7015a5920cfce654c06618ec40c33e12801711da6b4258af59a8eff00a"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:93aa7eef6ee71c629b51ef873991d6911b906d7312c6e8e99790c0f33c576f89"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7966951325782121e67c81299a031f4c115615e68046f79b85856b86ebffc4cd"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:02673e456dc5ab13659f85196c534dc596d4ef260e4d86e856c3b2773ce09843"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:c2af80fb58f0f24b3f3adcb9148e6203fa67dd3f61c4af146ecad033024dde43"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:153e7b6e724761741e0974fc4dcd406d35ba70b92bfe3fedcb497226c93b9da7"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-win32.whl", hash = "sha256:d47ecf253780c90ee181d4d871cd655a789da937454045b17b5798da9393901a"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:d97d85fa63f315a8bdaba2af9a6a686e0eceab77b3089af45133252618e70884"}, + {file = "charset_normalizer-3.3.0-py3-none-any.whl", hash = "sha256:e46cd37076971c1040fc8c41273a8b3e2c624ce4f2be3f5dfcb7a430c1d3acc2"}, ] [[package]] @@ -639,35 +645,35 @@ files = [ [[package]] name = "cryptography" -version = "41.0.3" +version = "41.0.4" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-41.0.3-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:652627a055cb52a84f8c448185922241dd5217443ca194d5739b44612c5e6507"}, - {file = "cryptography-41.0.3-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:8f09daa483aedea50d249ef98ed500569841d6498aa9c9f4b0531b9964658922"}, - {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4fd871184321100fb400d759ad0cddddf284c4b696568204d281c902fc7b0d81"}, - {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84537453d57f55a50a5b6835622ee405816999a7113267739a1b4581f83535bd"}, - {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:3fb248989b6363906827284cd20cca63bb1a757e0a2864d4c1682a985e3dca47"}, - {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:42cb413e01a5d36da9929baa9d70ca90d90b969269e5a12d39c1e0d475010116"}, - {file = "cryptography-41.0.3-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:aeb57c421b34af8f9fe830e1955bf493a86a7996cc1338fe41b30047d16e962c"}, - {file = "cryptography-41.0.3-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:6af1c6387c531cd364b72c28daa29232162010d952ceb7e5ca8e2827526aceae"}, - {file = "cryptography-41.0.3-cp37-abi3-win32.whl", hash = "sha256:0d09fb5356f975974dbcb595ad2d178305e5050656affb7890a1583f5e02a306"}, - {file = "cryptography-41.0.3-cp37-abi3-win_amd64.whl", hash = "sha256:a983e441a00a9d57a4d7c91b3116a37ae602907a7618b882c8013b5762e80574"}, - {file = "cryptography-41.0.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5259cb659aa43005eb55a0e4ff2c825ca111a0da1814202c64d28a985d33b087"}, - {file = "cryptography-41.0.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:67e120e9a577c64fe1f611e53b30b3e69744e5910ff3b6e97e935aeb96005858"}, - {file = "cryptography-41.0.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7efe8041897fe7a50863e51b77789b657a133c75c3b094e51b5e4b5cec7bf906"}, - {file = "cryptography-41.0.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ce785cf81a7bdade534297ef9e490ddff800d956625020ab2ec2780a556c313e"}, - {file = "cryptography-41.0.3-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:57a51b89f954f216a81c9d057bf1a24e2f36e764a1ca9a501a6964eb4a6800dd"}, - {file = "cryptography-41.0.3-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:4c2f0d35703d61002a2bbdcf15548ebb701cfdd83cdc12471d2bae80878a4207"}, - {file = "cryptography-41.0.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:23c2d778cf829f7d0ae180600b17e9fceea3c2ef8b31a99e3c694cbbf3a24b84"}, - {file = "cryptography-41.0.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:95dd7f261bb76948b52a5330ba5202b91a26fbac13ad0e9fc8a3ac04752058c7"}, - {file = "cryptography-41.0.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:41d7aa7cdfded09b3d73a47f429c298e80796c8e825ddfadc84c8a7f12df212d"}, - {file = "cryptography-41.0.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:d0d651aa754ef58d75cec6edfbd21259d93810b73f6ec246436a21b7841908de"}, - {file = "cryptography-41.0.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ab8de0d091acbf778f74286f4989cf3d1528336af1b59f3e5d2ebca8b5fe49e1"}, - {file = "cryptography-41.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a74fbcdb2a0d46fe00504f571a2a540532f4c188e6ccf26f1f178480117b33c4"}, - {file = "cryptography-41.0.3.tar.gz", hash = "sha256:6d192741113ef5e30d89dcb5b956ef4e1578f304708701b8b73d38e3e1461f34"}, + {file = "cryptography-41.0.4-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:80907d3faa55dc5434a16579952ac6da800935cd98d14dbd62f6f042c7f5e839"}, + {file = "cryptography-41.0.4-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:35c00f637cd0b9d5b6c6bd11b6c3359194a8eba9c46d4e875a3660e3b400005f"}, + {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cecfefa17042941f94ab54f769c8ce0fe14beff2694e9ac684176a2535bf9714"}, + {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e40211b4923ba5a6dc9769eab704bdb3fbb58d56c5b336d30996c24fcf12aadb"}, + {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:23a25c09dfd0d9f28da2352503b23e086f8e78096b9fd585d1d14eca01613e13"}, + {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:2ed09183922d66c4ec5fdaa59b4d14e105c084dd0febd27452de8f6f74704143"}, + {file = "cryptography-41.0.4-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:5a0f09cefded00e648a127048119f77bc2b2ec61e736660b5789e638f43cc397"}, + {file = "cryptography-41.0.4-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:9eeb77214afae972a00dee47382d2591abe77bdae166bda672fb1e24702a3860"}, + {file = "cryptography-41.0.4-cp37-abi3-win32.whl", hash = "sha256:3b224890962a2d7b57cf5eeb16ccaafba6083f7b811829f00476309bce2fe0fd"}, + {file = "cryptography-41.0.4-cp37-abi3-win_amd64.whl", hash = "sha256:c880eba5175f4307129784eca96f4e70b88e57aa3f680aeba3bab0e980b0f37d"}, + {file = "cryptography-41.0.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:004b6ccc95943f6a9ad3142cfabcc769d7ee38a3f60fb0dddbfb431f818c3a67"}, + {file = "cryptography-41.0.4-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:86defa8d248c3fa029da68ce61fe735432b047e32179883bdb1e79ed9bb8195e"}, + {file = "cryptography-41.0.4-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:37480760ae08065437e6573d14be973112c9e6dcaf5f11d00147ee74f37a3829"}, + {file = "cryptography-41.0.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:b5f4dfe950ff0479f1f00eda09c18798d4f49b98f4e2006d644b3301682ebdca"}, + {file = "cryptography-41.0.4-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7e53db173370dea832190870e975a1e09c86a879b613948f09eb49324218c14d"}, + {file = "cryptography-41.0.4-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5b72205a360f3b6176485a333256b9bcd48700fc755fef51c8e7e67c4b63e3ac"}, + {file = "cryptography-41.0.4-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:93530900d14c37a46ce3d6c9e6fd35dbe5f5601bf6b3a5c325c7bffc030344d9"}, + {file = "cryptography-41.0.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:efc8ad4e6fc4f1752ebfb58aefece8b4e3c4cae940b0994d43649bdfce8d0d4f"}, + {file = "cryptography-41.0.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c3391bd8e6de35f6f1140e50aaeb3e2b3d6a9012536ca23ab0d9c35ec18c8a91"}, + {file = "cryptography-41.0.4-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:0d9409894f495d465fe6fda92cb70e8323e9648af912d5b9141d616df40a87b8"}, + {file = "cryptography-41.0.4-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:8ac4f9ead4bbd0bc8ab2d318f97d85147167a488be0e08814a37eb2f439d5cf6"}, + {file = "cryptography-41.0.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:047c4603aeb4bbd8db2756e38f5b8bd7e94318c047cfe4efeb5d715e08b49311"}, + {file = "cryptography-41.0.4.tar.gz", hash = "sha256:7febc3094125fc126a7f6fb1f420d0da639f3f32cb15c8ff0dc3997c4549f51a"}, ] [package.dependencies] @@ -760,19 +766,19 @@ static3 = "*" [[package]] name = "django" -version = "4.1.11" +version = "4.2.5" description = "A high-level Python web framework that encourages rapid development and clean, pragmatic design." category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "Django-4.1.11-py3-none-any.whl", hash = "sha256:cac9df0ba87b4f439e1a311ef22f75c938fc874bebf1fbabaed58d0e6d559a25"}, - {file = "Django-4.1.11.tar.gz", hash = "sha256:7b134688965dd331ca4d11ed38e5ce594caed0e906689a9b95251c29c2c03990"}, + {file = "Django-4.2.5-py3-none-any.whl", hash = "sha256:b6b2b5cae821077f137dc4dade696a1c2aa292f892eca28fa8d7bfdf2608ddd4"}, + {file = "Django-4.2.5.tar.gz", hash = "sha256:5e5c1c9548ffb7796b4a8a4782e9a2e5a3df3615259fc1bfd3ebc73b646146c1"}, ] [package.dependencies] -asgiref = ">=3.5.2,<4" -sqlparse = ">=0.2.2" +asgiref = ">=3.6.0,<4" +sqlparse = ">=0.3.1" tzdata = {version = "*", markers = "sys_platform == \"win32\""} [package.extras] @@ -1023,14 +1029,14 @@ requests = ">=2.13.0" [[package]] name = "django-otp" -version = "1.2.2" +version = "1.2.3" description = "A pluggable framework for adding two-factor authentication to Django using one-time passwords." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "django_otp-1.2.2-py3-none-any.whl", hash = "sha256:90765d5dac238a719f9550ac05681dd6307f513a81a10b6adb879b4abc6bc1a3"}, - {file = "django_otp-1.2.2.tar.gz", hash = "sha256:007a6354dabb3a1a54574bf73abf045ebbde0bb8734a38e2ed7845ba450f345e"}, + {file = "django_otp-1.2.3-py3-none-any.whl", hash = "sha256:43cfb70008559def9aad769d18374369c7f428122c527e3d5c78092856e58998"}, + {file = "django_otp-1.2.3.tar.gz", hash = "sha256:62466cad63a06df820ea4abfd3b2cdfb2cd5508925ecad1d308260b973025136"}, ] [package.dependencies] @@ -1365,14 +1371,14 @@ files = [ [[package]] name = "jsonschema" -version = "4.19.0" +version = "4.19.1" description = "An implementation of JSON Schema validation for Python" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "jsonschema-4.19.0-py3-none-any.whl", hash = "sha256:043dc26a3845ff09d20e4420d6012a9c91c9aa8999fa184e7efcfeccb41e32cb"}, - {file = "jsonschema-4.19.0.tar.gz", hash = "sha256:6e1e7569ac13be8139b2dd2c21a55d350066ee3f80df06c608b398cdc6f30e8f"}, + {file = "jsonschema-4.19.1-py3-none-any.whl", hash = "sha256:cd5f1f9ed9444e554b38ba003af06c0a8c2868131e56bfbef0550fb450c0330e"}, + {file = "jsonschema-4.19.1.tar.gz", hash = "sha256:ec84cc37cfa703ef7cd4928db24f9cb31428a5d0fa77747b8b51a847458e0bbf"}, ] [package.dependencies] @@ -1731,14 +1737,14 @@ et-xmlfile = "*" [[package]] name = "packaging" -version = "23.1" +version = "23.2" description = "Core utilities for Python packages" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"}, - {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"}, + {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, + {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, ] [[package]] @@ -1791,14 +1797,14 @@ six = ">=1.0.0" [[package]] name = "phonenumberslite" -version = "8.13.20" +version = "8.13.22" description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers." category = "main" optional = false python-versions = "*" files = [ - {file = "phonenumberslite-8.13.20-py2.py3-none-any.whl", hash = "sha256:f0840de9bfe5b8f10b6883d971dd81f3a53bed8210326a53266f11e8be3428c3"}, - {file = "phonenumberslite-8.13.20.tar.gz", hash = "sha256:09b07b32861f306dee10f17085afb3e058b4c179edf50deb94db4d4dd14235ff"}, + {file = "phonenumberslite-8.13.22-py2.py3-none-any.whl", hash = "sha256:8d1e5f2adfee2a634ccdb54b251dec32c5308fbca3d7f6ae6058f4adee4594a3"}, + {file = "phonenumberslite-8.13.22.tar.gz", hash = "sha256:98684f21804c6df2e7d224e72d60defee20eddf9e144d57f24cbd9db0df450e0"}, ] [[package]] @@ -1883,14 +1889,14 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa [[package]] name = "platformdirs" -version = "3.10.0" +version = "3.11.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "platformdirs-3.10.0-py3-none-any.whl", hash = "sha256:d7c24979f292f916dc9cbf8648319032f551ea8c49a4c9bf2fb556a02070ec1d"}, - {file = "platformdirs-3.10.0.tar.gz", hash = "sha256:b45696dab2d7cc691a3226759c0d3b00c47c8b6e293d96f6436f733303f77f6d"}, + {file = "platformdirs-3.11.0-py3-none-any.whl", hash = "sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e"}, + {file = "platformdirs-3.11.0.tar.gz", hash = "sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3"}, ] [package.extras] @@ -1911,14 +1917,14 @@ files = [ [[package]] name = "pretix" -version = "2023.7.3" +version = "2023.8.0" description = "Reinventing presales, one ticket at a time" category = "main" optional = false python-versions = ">=3.9" files = [ - {file = "pretix-2023.7.3-py3-none-any.whl", hash = "sha256:0bd249a3a91a530ce4b292d9aaf5cf12ce1f375a342f18da6d7ee29a3493c30e"}, - {file = "pretix-2023.7.3.tar.gz", hash = "sha256:b6a672290fd1e5c6df97af837ef2bdb87f63529045c2d4ca83682ae3251f9d3d"}, + {file = "pretix-2023.8.0-py3-none-any.whl", hash = "sha256:0156ef3cf205fcfcf35c47d7416c9cbd70abd4c62fd0b79c9500f4c7603a32db"}, + {file = "pretix-2023.8.0.tar.gz", hash = "sha256:f74faf07a92492afb3fc9d1fd6e9e49475c1c4d9157f3aa93f38027ba595d733"}, ] [package.dependencies] @@ -1932,7 +1938,7 @@ cryptography = ">=3.4.2" css-inline = ">=0.8.0,<0.9.0" defusedcsv = ">=1.1.0" dj-static = "*" -Django = ">=4.1.0,<4.2.0" +Django = ">=4.2.0,<4.3.0" django-bootstrap3 = ">=23.1.0,<23.2.0" django-compressor = ">=4.3.0,<4.4.0" django-countries = ">=7.5.0,<7.6.0" @@ -1985,7 +1991,7 @@ pytz = "*" pytz-deprecation-shim = ">=0.1.0,<0.2.0" pyuca = "*" qrcode = ">=7.4.0,<7.5.0" -redis = ">=4.5.4,<4.6.0" +redis = ">=4.6.0,<4.7.0" reportlab = ">=4.0.0,<4.1.0" requests = ">=2.31.0,<2.32.0" sentry-sdk = ">=1.15.0,<1.16.0" @@ -2002,7 +2008,7 @@ webauthn = ">=0.4.0,<0.5.0" zeep = ">=4.2.0,<4.3.0" [package.extras] -dev = ["coverage", "coveralls", "flake8 (>=6.0.0,<6.1.0)", "freezegun", "isort (>=5.12.0,<5.13.0)", "pep8-naming (>=0.13.0,<0.14.0)", "potypo", "pycodestyle (>=2.10.0,<2.11.0)", "pyflakes (>=3.0.0,<3.1.0)", "pytest (>=7.3.0,<7.4.0)", "pytest-cache", "pytest-cov", "pytest-django (>=4.0.0,<5.0.0)", "pytest-mock (>=3.10.0,<3.11.0)", "pytest-rerunfailures (>=11.0.0,<12.0.0)", "pytest-sugar", "pytest-xdist (>=3.3.0,<3.4.0)", "responses"] +dev = ["aiohttp (>=3.8.0,<3.9.0)", "coverage", "coveralls", "fakeredis (>=2.18.0,<2.19.0)", "flake8 (>=6.0.0,<6.1.0)", "freezegun", "isort (>=5.12.0,<5.13.0)", "pep8-naming (>=0.13.0,<0.14.0)", "potypo", "pycodestyle (>=2.10.0,<2.11.0)", "pyflakes (>=3.0.0,<3.1.0)", "pytest (>=7.3.0,<7.4.0)", "pytest-asyncio", "pytest-cache", "pytest-cov", "pytest-django (>=4.0.0,<5.0.0)", "pytest-mock (>=3.10.0,<3.11.0)", "pytest-rerunfailures (>=11.0.0,<12.0.0)", "pytest-sugar", "pytest-xdist (>=3.3.0,<3.4.0)", "responses"] memcached = ["pylibmc"] [[package]] @@ -2060,72 +2066,81 @@ files = [ [[package]] name = "psycopg2-binary" -version = "2.9.7" +version = "2.9.9" description = "psycopg2 - Python-PostgreSQL Database Adapter" category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "psycopg2-binary-2.9.7.tar.gz", hash = "sha256:1b918f64a51ffe19cd2e230b3240ba481330ce1d4b7875ae67305bd1d37b041c"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ea5f8ee87f1eddc818fc04649d952c526db4426d26bab16efbe5a0c52b27d6ab"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2993ccb2b7e80844d534e55e0f12534c2871952f78e0da33c35e648bf002bbff"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbbc3c5d15ed76b0d9db7753c0db40899136ecfe97d50cbde918f630c5eb857a"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:692df8763b71d42eb8343f54091368f6f6c9cfc56dc391858cdb3c3ef1e3e584"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9dcfd5d37e027ec393a303cc0a216be564b96c80ba532f3d1e0d2b5e5e4b1e6e"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17cc17a70dfb295a240db7f65b6d8153c3d81efb145d76da1e4a096e9c5c0e63"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e5666632ba2b0d9757b38fc17337d84bdf932d38563c5234f5f8c54fd01349c9"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7db7b9b701974c96a88997d458b38ccb110eba8f805d4b4f74944aac48639b42"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c82986635a16fb1fa15cd5436035c88bc65c3d5ced1cfaac7f357ee9e9deddd4"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4fe13712357d802080cfccbf8c6266a3121dc0e27e2144819029095ccf708372"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-win32.whl", hash = "sha256:122641b7fab18ef76b18860dd0c772290566b6fb30cc08e923ad73d17461dc63"}, - {file = "psycopg2_binary-2.9.7-cp310-cp310-win_amd64.whl", hash = "sha256:f8651cf1f144f9ee0fa7d1a1df61a9184ab72962531ca99f077bbdcba3947c58"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4ecc15666f16f97709106d87284c136cdc82647e1c3f8392a672616aed3c7151"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3fbb1184c7e9d28d67671992970718c05af5f77fc88e26fd7136613c4ece1f89"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a7968fd20bd550431837656872c19575b687f3f6f98120046228e451e4064df"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:094af2e77a1976efd4956a031028774b827029729725e136514aae3cdf49b87b"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:26484e913d472ecb6b45937ea55ce29c57c662066d222fb0fbdc1fab457f18c5"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f309b77a7c716e6ed9891b9b42953c3ff7d533dc548c1e33fddc73d2f5e21f9"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6d92e139ca388ccfe8c04aacc163756e55ba4c623c6ba13d5d1595ed97523e4b"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:2df562bb2e4e00ee064779902d721223cfa9f8f58e7e52318c97d139cf7f012d"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:4eec5d36dbcfc076caab61a2114c12094c0b7027d57e9e4387b634e8ab36fd44"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1011eeb0c51e5b9ea1016f0f45fa23aca63966a4c0afcf0340ccabe85a9f65bd"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-win32.whl", hash = "sha256:ded8e15f7550db9e75c60b3d9fcbc7737fea258a0f10032cdb7edc26c2a671fd"}, - {file = "psycopg2_binary-2.9.7-cp311-cp311-win_amd64.whl", hash = "sha256:8a136c8aaf6615653450817a7abe0fc01e4ea720ae41dfb2823eccae4b9062a3"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2dec5a75a3a5d42b120e88e6ed3e3b37b46459202bb8e36cd67591b6e5feebc1"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc10da7e7df3380426521e8c1ed975d22df678639da2ed0ec3244c3dc2ab54c8"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee919b676da28f78f91b464fb3e12238bd7474483352a59c8a16c39dfc59f0c5"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb1c0e682138f9067a58fc3c9a9bf1c83d8e08cfbee380d858e63196466d5c86"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00d8db270afb76f48a499f7bb8fa70297e66da67288471ca873db88382850bf4"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:9b0c2b466b2f4d89ccc33784c4ebb1627989bd84a39b79092e560e937a11d4ac"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:51d1b42d44f4ffb93188f9b39e6d1c82aa758fdb8d9de65e1ddfe7a7d250d7ad"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:11abdbfc6f7f7dea4a524b5f4117369b0d757725798f1593796be6ece20266cb"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:f02f4a72cc3ab2565c6d9720f0343cb840fb2dc01a2e9ecb8bc58ccf95dc5c06"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-win32.whl", hash = "sha256:81d5dd2dd9ab78d31a451e357315f201d976c131ca7d43870a0e8063b6b7a1ec"}, - {file = "psycopg2_binary-2.9.7-cp37-cp37m-win_amd64.whl", hash = "sha256:62cb6de84d7767164a87ca97e22e5e0a134856ebcb08f21b621c6125baf61f16"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:59f7e9109a59dfa31efa022e94a244736ae401526682de504e87bd11ce870c22"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:95a7a747bdc3b010bb6a980f053233e7610276d55f3ca506afff4ad7749ab58a"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c721ee464e45ecf609ff8c0a555018764974114f671815a0a7152aedb9f3343"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4f37bbc6588d402980ffbd1f3338c871368fb4b1cfa091debe13c68bb3852b3"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac83ab05e25354dad798401babaa6daa9577462136ba215694865394840e31f8"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:024eaeb2a08c9a65cd5f94b31ace1ee3bb3f978cd4d079406aef85169ba01f08"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1c31c2606ac500dbd26381145684d87730a2fac9a62ebcfbaa2b119f8d6c19f4"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:42a62ef0e5abb55bf6ffb050eb2b0fcd767261fa3faf943a4267539168807522"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:7952807f95c8eba6a8ccb14e00bf170bb700cafcec3924d565235dffc7dc4ae8"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e02bc4f2966475a7393bd0f098e1165d470d3fa816264054359ed4f10f6914ea"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-win32.whl", hash = "sha256:fdca0511458d26cf39b827a663d7d87db6f32b93efc22442a742035728603d5f"}, - {file = "psycopg2_binary-2.9.7-cp38-cp38-win_amd64.whl", hash = "sha256:d0b16e5bb0ab78583f0ed7ab16378a0f8a89a27256bb5560402749dbe8a164d7"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6822c9c63308d650db201ba22fe6648bd6786ca6d14fdaf273b17e15608d0852"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f94cb12150d57ea433e3e02aabd072205648e86f1d5a0a692d60242f7809b15"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5ee89587696d808c9a00876065d725d4ae606f5f7853b961cdbc348b0f7c9a1"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad5ec10b53cbb57e9a2e77b67e4e4368df56b54d6b00cc86398578f1c635f329"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:642df77484b2dcaf87d4237792246d8068653f9e0f5c025e2c692fc56b0dda70"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6a8b575ac45af1eaccbbcdcf710ab984fd50af048fe130672377f78aaff6fc1"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f955aa50d7d5220fcb6e38f69ea126eafecd812d96aeed5d5f3597f33fad43bb"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ad26d4eeaa0d722b25814cce97335ecf1b707630258f14ac4d2ed3d1d8415265"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:ced63c054bdaf0298f62681d5dcae3afe60cbae332390bfb1acf0e23dcd25fc8"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2b04da24cbde33292ad34a40db9832a80ad12de26486ffeda883413c9e1b1d5e"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-win32.whl", hash = "sha256:18f12632ab516c47c1ac4841a78fddea6508a8284c7cf0f292cb1a523f2e2379"}, - {file = "psycopg2_binary-2.9.7-cp39-cp39-win_amd64.whl", hash = "sha256:eb3b8d55924a6058a26db69fb1d3e7e32695ff8b491835ba9f479537e14dcf9f"}, + {file = "psycopg2-binary-2.9.9.tar.gz", hash = "sha256:7f01846810177d829c7692f1f5ada8096762d9172af1b1a28d4ab5b77c923c1c"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c2470da5418b76232f02a2fcd2229537bb2d5a7096674ce61859c3229f2eb202"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c6af2a6d4b7ee9615cbb162b0738f6e1fd1f5c3eda7e5da17861eacf4c717ea7"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:75723c3c0fbbf34350b46a3199eb50638ab22a0228f93fb472ef4d9becc2382b"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:83791a65b51ad6ee6cf0845634859d69a038ea9b03d7b26e703f94c7e93dbcf9"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0ef4854e82c09e84cc63084a9e4ccd6d9b154f1dbdd283efb92ecd0b5e2b8c84"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed1184ab8f113e8d660ce49a56390ca181f2981066acc27cf637d5c1e10ce46e"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d2997c458c690ec2bc6b0b7ecbafd02b029b7b4283078d3b32a852a7ce3ddd98"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:b58b4710c7f4161b5e9dcbe73bb7c62d65670a87df7bcce9e1faaad43e715245"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:0c009475ee389757e6e34611d75f6e4f05f0cf5ebb76c6037508318e1a1e0d7e"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8dbf6d1bc73f1d04ec1734bae3b4fb0ee3cb2a493d35ede9badbeb901fb40f6f"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-win32.whl", hash = "sha256:3f78fd71c4f43a13d342be74ebbc0666fe1f555b8837eb113cb7416856c79682"}, + {file = "psycopg2_binary-2.9.9-cp310-cp310-win_amd64.whl", hash = "sha256:876801744b0dee379e4e3c38b76fc89f88834bb15bf92ee07d94acd06ec890a0"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ee825e70b1a209475622f7f7b776785bd68f34af6e7a46e2e42f27b659b5bc26"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1ea665f8ce695bcc37a90ee52de7a7980be5161375d42a0b6c6abedbf0d81f0f"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:143072318f793f53819048fdfe30c321890af0c3ec7cb1dfc9cc87aa88241de2"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c332c8d69fb64979ebf76613c66b985414927a40f8defa16cf1bc028b7b0a7b0"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7fc5a5acafb7d6ccca13bfa8c90f8c51f13d8fb87d95656d3950f0158d3ce53"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:977646e05232579d2e7b9c59e21dbe5261f403a88417f6a6512e70d3f8a046be"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b6356793b84728d9d50ead16ab43c187673831e9d4019013f1402c41b1db9b27"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:bc7bb56d04601d443f24094e9e31ae6deec9ccb23581f75343feebaf30423359"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:77853062a2c45be16fd6b8d6de2a99278ee1d985a7bd8b103e97e41c034006d2"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:78151aa3ec21dccd5cdef6c74c3e73386dcdfaf19bced944169697d7ac7482fc"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-win32.whl", hash = "sha256:dc4926288b2a3e9fd7b50dc6a1909a13bbdadfc67d93f3374d984e56f885579d"}, + {file = "psycopg2_binary-2.9.9-cp311-cp311-win_amd64.whl", hash = "sha256:b76bedd166805480ab069612119ea636f5ab8f8771e640ae103e05a4aae3e417"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:8532fd6e6e2dc57bcb3bc90b079c60de896d2128c5d9d6f24a63875a95a088cf"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f8544b092a29a6ddd72f3556a9fcf249ec412e10ad28be6a0c0d948924f2212"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2d423c8d8a3c82d08fe8af900ad5b613ce3632a1249fd6a223941d0735fce493"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e5afae772c00980525f6d6ecf7cbca55676296b580c0e6abb407f15f3706996"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e6f98446430fdf41bd36d4faa6cb409f5140c1c2cf58ce0bbdaf16af7d3f119"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c77e3d1862452565875eb31bdb45ac62502feabbd53429fdc39a1cc341d681ba"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:cb16c65dcb648d0a43a2521f2f0a2300f40639f6f8c1ecbc662141e4e3e1ee07"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:911dda9c487075abd54e644ccdf5e5c16773470a6a5d3826fda76699410066fb"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:57fede879f08d23c85140a360c6a77709113efd1c993923c59fde17aa27599fe"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2293b001e319ab0d869d660a704942c9e2cce19745262a8aba2115ef41a0a42a"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03ef7df18daf2c4c07e2695e8cfd5ee7f748a1d54d802330985a78d2a5a6dca9"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a602ea5aff39bb9fac6308e9c9d82b9a35c2bf288e184a816002c9fae930b77"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8359bf4791968c5a78c56103702000105501adb557f3cf772b2c207284273984"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:275ff571376626195ab95a746e6a04c7df8ea34638b99fc11160de91f2fef503"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:f9b5571d33660d5009a8b3c25dc1db560206e2d2f89d3df1cb32d72c0d117d52"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:420f9bbf47a02616e8554e825208cb947969451978dceb77f95ad09c37791dae"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:4154ad09dac630a0f13f37b583eae260c6aa885d67dfbccb5b02c33f31a6d420"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a148c5d507bb9b4f2030a2025c545fccb0e1ef317393eaba42e7eabd28eb6041"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-win32.whl", hash = "sha256:68fc1f1ba168724771e38bee37d940d2865cb0f562380a1fb1ffb428b75cb692"}, + {file = "psycopg2_binary-2.9.9-cp37-cp37m-win_amd64.whl", hash = "sha256:281309265596e388ef483250db3640e5f414168c5a67e9c665cafce9492eda2f"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:60989127da422b74a04345096c10d416c2b41bd7bf2a380eb541059e4e999980"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:246b123cc54bb5361588acc54218c8c9fb73068bf227a4a531d8ed56fa3ca7d6"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34eccd14566f8fe14b2b95bb13b11572f7c7d5c36da61caf414d23b91fcc5d94"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18d0ef97766055fec15b5de2c06dd8e7654705ce3e5e5eed3b6651a1d2a9a152"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d3f82c171b4ccd83bbaf35aa05e44e690113bd4f3b7b6cc54d2219b132f3ae55"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ead20f7913a9c1e894aebe47cccf9dc834e1618b7aa96155d2091a626e59c972"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:ca49a8119c6cbd77375ae303b0cfd8c11f011abbbd64601167ecca18a87e7cdd"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:323ba25b92454adb36fa425dc5cf6f8f19f78948cbad2e7bc6cdf7b0d7982e59"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:1236ed0952fbd919c100bc839eaa4a39ebc397ed1c08a97fc45fee2a595aa1b3"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:729177eaf0aefca0994ce4cffe96ad3c75e377c7b6f4efa59ebf003b6d398716"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-win32.whl", hash = "sha256:804d99b24ad523a1fe18cc707bf741670332f7c7412e9d49cb5eab67e886b9b5"}, + {file = "psycopg2_binary-2.9.9-cp38-cp38-win_amd64.whl", hash = "sha256:a6cdcc3ede532f4a4b96000b6362099591ab4a3e913d70bcbac2b56c872446f7"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:72dffbd8b4194858d0941062a9766f8297e8868e1dd07a7b36212aaa90f49472"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:30dcc86377618a4c8f3b72418df92e77be4254d8f89f14b8e8f57d6d43603c0f"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:31a34c508c003a4347d389a9e6fcc2307cc2150eb516462a7a17512130de109e"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:15208be1c50b99203fe88d15695f22a5bed95ab3f84354c494bcb1d08557df67"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1873aade94b74715be2246321c8650cabf5a0d098a95bab81145ffffa4c13876"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a58c98a7e9c021f357348867f537017057c2ed7f77337fd914d0bedb35dace7"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4686818798f9194d03c9129a4d9a702d9e113a89cb03bffe08c6cf799e053291"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ebdc36bea43063116f0486869652cb2ed7032dbc59fbcb4445c4862b5c1ecf7f"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:ca08decd2697fdea0aea364b370b1249d47336aec935f87b8bbfd7da5b2ee9c1"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ac05fb791acf5e1a3e39402641827780fe44d27e72567a000412c648a85ba860"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-win32.whl", hash = "sha256:9dba73be7305b399924709b91682299794887cbbd88e38226ed9f6712eabee90"}, + {file = "psycopg2_binary-2.9.9-cp39-cp39-win_amd64.whl", hash = "sha256:f7ae5d65ccfbebdfa761585228eb4d0df3a8b15cfb53bd953e713e09fbb12957"}, ] [[package]] @@ -2428,14 +2443,14 @@ files = [ [[package]] name = "redis" -version = "4.5.5" +version = "4.6.0" description = "Python client for Redis database and key-value store" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "redis-4.5.5-py3-none-any.whl", hash = "sha256:77929bc7f5dab9adf3acba2d3bb7d7658f1e0c2f1cafe7eb36434e751c471119"}, - {file = "redis-4.5.5.tar.gz", hash = "sha256:dc87a0bdef6c8bfe1ef1e1c40be7034390c2ae02d92dcd0c7ca1729443899880"}, + {file = "redis-4.6.0-py3-none-any.whl", hash = "sha256:e2b03db868160ee4591de3cb90d40ebb50a90dd302138775937f6a42b7ed183c"}, + {file = "redis-4.6.0.tar.gz", hash = "sha256:585dc516b9eb042a619ef0a39c3d7d55fe81bdb4df09a52c9cdde0d07bf1aa7d"}, ] [package.dependencies] @@ -2463,14 +2478,14 @@ rpds-py = ">=0.7.0" [[package]] name = "reportlab" -version = "4.0.4" +version = "4.0.5" description = "The Reportlab Toolkit" category = "main" optional = false python-versions = ">=3.7,<4" files = [ - {file = "reportlab-4.0.4-py3-none-any.whl", hash = "sha256:3dcda79ce04baf70721e2ec54854722644262cac2feec3d5c4c5e77015504cb0"}, - {file = "reportlab-4.0.4.tar.gz", hash = "sha256:7f70b3b56aff5f11cb4136c51a0f5a56fe6e4c8fbbac7b903076db99a8ef31c1"}, + {file = "reportlab-4.0.5-py3-none-any.whl", hash = "sha256:1344dbe779b9049a1888105503837d0e5b62163bf5c6b33bd1fbe84bad484f50"}, + {file = "reportlab-4.0.5.tar.gz", hash = "sha256:9c68f277736f585c5c9938755b826dd57c877fcaeb203e21cefea12b3b1db4f5"}, ] [package.dependencies] @@ -2879,14 +2894,14 @@ telegram = ["requests"] [[package]] name = "typing-extensions" -version = "4.7.1" -description = "Backported and Experimental Type Hints for Python 3.7+" +version = "4.8.0" +description = "Backported and Experimental Type Hints for Python 3.8+" category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.7.1-py3-none-any.whl", hash = "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36"}, - {file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"}, + {file = "typing_extensions-4.8.0-py3-none-any.whl", hash = "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0"}, + {file = "typing_extensions-4.8.0.tar.gz", hash = "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"}, ] [[package]] @@ -2974,14 +2989,14 @@ files = [ [[package]] name = "urllib3" -version = "2.0.4" +version = "2.0.6" description = "HTTP library with thread-safe connection pooling, file post, and more." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "urllib3-2.0.4-py3-none-any.whl", hash = "sha256:de7df1803967d2c2a98e4b11bb7d6bd9210474c46e8a0401514e3a42a75ebde4"}, - {file = "urllib3-2.0.4.tar.gz", hash = "sha256:8d22f86aae8ef5e410d4f539fde9ce6b2113a001bb4d189e0aed70642d602b11"}, + {file = "urllib3-2.0.6-py3-none-any.whl", hash = "sha256:7a7c7003b000adf9e7ca2a377c9688bbc54ed41b985789ed576570342a375cd2"}, + {file = "urllib3-2.0.6.tar.gz", hash = "sha256:b19e1a85d206b56d7df1d5e683df4a7725252a964e3993648dd0fb5a1c157564"}, ] [package.extras] @@ -3030,14 +3045,14 @@ python-dateutil = ">=2.4.0" [[package]] name = "wcwidth" -version = "0.2.6" +version = "0.2.8" description = "Measures the displayed width of unicode strings in a terminal" category = "main" optional = false python-versions = "*" files = [ - {file = "wcwidth-0.2.6-py2.py3-none-any.whl", hash = "sha256:795b138f6875577cd91bba52baf9e445cd5118fd32723b460e30a0af30ea230e"}, - {file = "wcwidth-0.2.6.tar.gz", hash = "sha256:a5220780a404dbe3353789870978e472cfe477761f06ee55077256e509b156d0"}, + {file = "wcwidth-0.2.8-py2.py3-none-any.whl", hash = "sha256:77f719e01648ed600dfa5402c347481c0992263b81a027344f3e1ba25493a704"}, + {file = "wcwidth-0.2.8.tar.gz", hash = "sha256:8705c569999ffbb4f6a87c6d1b80f324bd6db952f5eb0b95bc07517f4c1813d4"}, ] [[package]] @@ -3158,14 +3173,14 @@ files = [ [[package]] name = "xmlschema" -version = "2.4.0" +version = "2.5.0" description = "An XML Schema validator and decoder" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "xmlschema-2.4.0-py3-none-any.whl", hash = "sha256:dc87be0caaa61f42649899189aab2fd8e0d567f2cf548433ba7b79278d231a4a"}, - {file = "xmlschema-2.4.0.tar.gz", hash = "sha256:d74cd0c10866ac609e1ef94a5a69b018ad16e39077bc6393408b40c6babee793"}, + {file = "xmlschema-2.5.0-py3-none-any.whl", hash = "sha256:f2b29c45485fac414cc1fdb38d18a220c5987d7d3aa996e6df6ff35ee94d5a63"}, + {file = "xmlschema-2.5.0.tar.gz", hash = "sha256:276a03e0fd3c94c148d528bff4d9482f9b99bf8c7b4056a2e8e703d28149d454"}, ] [package.dependencies] @@ -3294,21 +3309,21 @@ xmlsec = ["xmlsec (>=0.6.1)"] [[package]] name = "zipp" -version = "3.16.2" +version = "3.17.0" description = "Backport of pathlib-compatible object wrapper for zip files" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "zipp-3.16.2-py3-none-any.whl", hash = "sha256:679e51dd4403591b2d6838a48de3d283f3d188412a9782faadf845f298736ba0"}, - {file = "zipp-3.16.2.tar.gz", hash = "sha256:ebc15946aa78bd63458992fc81ec3b6f7b1e92d51c35e6de1c3804e73b799147"}, + {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"}, + {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "2a9abfe9538a4d109183508b70f4e1c3eb53808f54e7c36de7a5284e48705804" +content-hash = "78f0b329a67c868d90f9d3c8f49a24f54cfab82a19ff6423ca4b177881db216b" diff --git a/pkgs/pretix/pretix-static.nix b/pkgs/pretix/pretix-static.nix index 8fa80ce..dd8f13c 100644 --- a/pkgs/pretix/pretix-static.nix +++ b/pkgs/pretix/pretix-static.nix @@ -8,7 +8,7 @@ let nodeEnv = buildNpmPackage rec { name = "pretix-nodejs"; src = "${pretix.passthru.pythonModule.pkgs.pretix}/lib/python3.10/site-packages/pretix/static/npm_dir"; - npmDepsHash = "sha256-6qqfuNpWvPE5KmONe/ZbWOEjvO1S8124Kk2QerGZ74s="; + npmDepsHash = "sha256-xkDC2CjguZMZKOHv9/o50mPkXsSkPxnmbhVuGxRZdMU="; dontNpmBuild = true; installPhase = '' mkdir -p $out diff --git a/pkgs/pretix/pyproject.toml b/pkgs/pretix/pyproject.toml index b801fe9..db4f97c 100644 --- a/pkgs/pretix/pyproject.toml +++ b/pkgs/pretix/pyproject.toml @@ -7,7 +7,7 @@ license = "MIT" [tool.poetry.dependencies] python = "^3.10" -pretix = "^2023.7.3" +pretix = "^2023.8.0" [tool.poetry.dev-dependencies] From ad2c74bbcd9960782b234a4df95cc26cd61a75cd Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:39 +0000 Subject: [PATCH 115/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/3b79cc4bcd9c09b5aa68ea1957c25e437dc6bc58' (2023-10-03) → 'github:nixos/nixpkgs/8a4c17493e5c39769f79117937c79e1c88de6729' (2023-10-03) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/e0b78ab95b4b23fa4395ff7a93ccff3a14353616' (2023-10-04) → 'github:NixOS/nixpkgs/a61a2f7b7dd78f1c78cc12baa6f27f88b3bf7ce1' (2023-10-05) • Updated input 'nur': 'github:nix-community/NUR/4ca4be389a0c04cf9b41a554f9d3b3cea7a5b68a' (2023-10-04) → 'github:nix-community/NUR/87afa198d7dde7d6a1df02fbfe82d0a86313a6e3' (2023-10-05) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 5fd4987..542e2b6 100644 --- a/flake.lock +++ b/flake.lock @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1696420985, - "narHash": "sha256-9ZXMUtNSrKDkHjbG3ZisLZksbdQiTdZC1Hg5tYeVrpc=", + "lastModified": 1696493188, + "narHash": "sha256-k+uRggBPqgylOjx3P5SovnbzHYZ/SNik+e6uYAQBA7w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e0b78ab95b4b23fa4395ff7a93ccff3a14353616", + "rev": "a61a2f7b7dd78f1c78cc12baa6f27f88b3bf7ce1", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1696323343, - "narHash": "sha256-u7WLUrh5eb+6SBYwtkaGL2ryHpLcHzmLml+a+VqKJWE=", + "lastModified": 1696374741, + "narHash": "sha256-gt8B3G0ryizT9HSB4cCO8QoxdbsHnrQH+/BdKxOwqF0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3b79cc4bcd9c09b5aa68ea1957c25e437dc6bc58", + "rev": "8a4c17493e5c39769f79117937c79e1c88de6729", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1696421792, - "narHash": "sha256-fhx7rQoL0rbupNRcNbTQSOxJ7sU6vpug+og2f9z1FDw=", + "lastModified": 1696487582, + "narHash": "sha256-P4geP6VRcOaiqkDjZmRwUgKKxUClsu7zw6R6Ku/JaQ0=", "owner": "nix-community", "repo": "NUR", - "rev": "4ca4be389a0c04cf9b41a554f9d3b3cea7a5b68a", + "rev": "87afa198d7dde7d6a1df02fbfe82d0a86313a6e3", "type": "github" }, "original": { From 4937f6207a9e016d5ff1937e9c37031d3ec6761b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:40 +0000 Subject: [PATCH 116/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/98deb47f4f196a645e59ec3e6355990044d84a49' (2023-10-10) → 'github:NixOS/nixpkgs/fc16009786a9258644b801518168bca6beb5e69f' (2023-10-10) • Updated input 'nur': 'github:nix-community/NUR/2ffd7dddfc5cfb37cfa710ebe5152b101b328a77' (2023-10-10) → 'github:nix-community/NUR/b78fc719a77eafb78ee851da2d59f3580a76d88d' (2023-10-10) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 542e2b6..8028023 100644 --- a/flake.lock +++ b/flake.lock @@ -110,11 +110,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1696158581, - "narHash": "sha256-h0vY4E7Lx95lpYQbG2w4QH4yG5wCYOvPJzK93wVQbT0=", + "lastModified": 1696846637, + "narHash": "sha256-0hv4kbXxci2+pxhuXlVgftj/Jq79VSmtAyvfabCCtYk=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "033453f85064ccac434dfd957f95d8457901ecd6", + "rev": "42e1b6095ef80a51f79595d9951eb38e91c4e6ca", "type": "github" }, "original": { @@ -158,11 +158,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1696123266, - "narHash": "sha256-S6MZEneQeE4M/E/C8SMnr7B7oBnjH/hbm96Kak5hAAI=", + "lastModified": 1696717752, + "narHash": "sha256-qEq1styCyQHSrw7AOhskH2qwCFx93bOwsGEzUIrZC0g=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dbe90e63a36762f1fbde546e26a84af774a32455", + "rev": "2f3b6b3fcd9fa0a4e6b544180c058a70890a7cc1", "type": "github" }, "original": { @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1696493188, - "narHash": "sha256-k+uRggBPqgylOjx3P5SovnbzHYZ/SNik+e6uYAQBA7w=", + "lastModified": 1696947906, + "narHash": "sha256-mV0371zwvEFiP3UgjyKYATE9YwQ1Fzcq4sqdFJdFLtE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a61a2f7b7dd78f1c78cc12baa6f27f88b3bf7ce1", + "rev": "fc16009786a9258644b801518168bca6beb5e69f", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1696374741, - "narHash": "sha256-gt8B3G0ryizT9HSB4cCO8QoxdbsHnrQH+/BdKxOwqF0=", + "lastModified": 1696697597, + "narHash": "sha256-q26Qv4DQ+h6IeozF2o1secyQG0jt2VUT3V0K58jr3pg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8a4c17493e5c39769f79117937c79e1c88de6729", + "rev": "5a237aecb57296f67276ac9ab296a41c23981f56", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1696487582, - "narHash": "sha256-P4geP6VRcOaiqkDjZmRwUgKKxUClsu7zw6R6Ku/JaQ0=", + "lastModified": 1696947088, + "narHash": "sha256-Ukl6GRfOVvJw/ourtBnqO69/lWESN8uoPM8h8quwVyk=", "owner": "nix-community", "repo": "NUR", - "rev": "87afa198d7dde7d6a1df02fbfe82d0a86313a6e3", + "rev": "b78fc719a77eafb78ee851da2d59f3580a76d88d", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1696320910, - "narHash": "sha256-fbuEc6wylH+0VxG48lhPBK+SQJHfo2lusUwWHZNipIM=", + "lastModified": 1696890802, + "narHash": "sha256-q0cbDNjTnZ1ojoPdy4liEHWXokhQSNULnSKgURp4v2g=", "owner": "Mic92", "repo": "sops-nix", - "rev": "746c7fa1a64c1671a4bf287737c27fdc7101c4c2", + "rev": "6b32358c22d2718a5407d39a8236c7bd9608f447", "type": "github" }, "original": { From 5d8ece8982a68b05284e1675a181c00afdf2a00a Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:41 +0000 Subject: [PATCH 117/766] Add exceptions for Deutsche Bahn --- modules/dnsmasq.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/dnsmasq.nix b/modules/dnsmasq.nix index 3e1d7ab..3a5ff06 100644 --- a/modules/dnsmasq.nix +++ b/modules/dnsmasq.nix @@ -10,6 +10,8 @@ "127.0.0.1#9053" "/lechner.zz/192.168.0.1" "/lab.fablab-nea.de/192.168.94.1" + "/login.wifionice.de/172.18.0.1" + "/iceportal.de/172.18.0.1" ]; no-resolv = true; interface = "lo"; From 97e24d0bae8c106ba7d9befd5d24a9181ed79f1b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:42 +0000 Subject: [PATCH 118/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/5a237aecb57296f67276ac9ab296a41c23981f56' (2023-10-07) → 'github:nixos/nixpkgs/bd1cde45c77891214131cbbea5b1203e485a9d51' (2023-10-11) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/fc16009786a9258644b801518168bca6beb5e69f' (2023-10-10) → 'github:NixOS/nixpkgs/a97d85ff06c5d91b594cace882fdf1b241086345' (2023-10-13) • Updated input 'nur': 'github:nix-community/NUR/b78fc719a77eafb78ee851da2d59f3580a76d88d' (2023-10-10) → 'github:nix-community/NUR/1076bf182a065b1a037caaaa9edee751148582e3' (2023-10-13) • Updated input 'sops-nix': 'github:Mic92/sops-nix/6b32358c22d2718a5407d39a8236c7bd9608f447' (2023-10-09) → 'github:Mic92/sops-nix/f995ea159252a53b25fa99824f2891e3b479d511' (2023-10-11) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 8028023..1e43105 100644 --- a/flake.lock +++ b/flake.lock @@ -174,11 +174,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1696947906, - "narHash": "sha256-mV0371zwvEFiP3UgjyKYATE9YwQ1Fzcq4sqdFJdFLtE=", + "lastModified": 1697189906, + "narHash": "sha256-6Vlh9DdTdzoMDFyHoGqUxf3fV57Ej84e3Reh8+ds32o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fc16009786a9258644b801518168bca6beb5e69f", + "rev": "a97d85ff06c5d91b594cace882fdf1b241086345", "type": "github" }, "original": { @@ -190,11 +190,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1696697597, - "narHash": "sha256-q26Qv4DQ+h6IeozF2o1secyQG0jt2VUT3V0K58jr3pg=", + "lastModified": 1696983906, + "narHash": "sha256-L7GyeErguS7Pg4h8nK0wGlcUTbfUMDu+HMf1UcyP72k=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5a237aecb57296f67276ac9ab296a41c23981f56", + "rev": "bd1cde45c77891214131cbbea5b1203e485a9d51", "type": "github" }, "original": { @@ -206,11 +206,11 @@ }, "nur": { "locked": { - "lastModified": 1696947088, - "narHash": "sha256-Ukl6GRfOVvJw/ourtBnqO69/lWESN8uoPM8h8quwVyk=", + "lastModified": 1697187908, + "narHash": "sha256-p8OQDLQURdsJ/7l8PyZwE0jaPDinLceSTmEY+nmlP7Y=", "owner": "nix-community", "repo": "NUR", - "rev": "b78fc719a77eafb78ee851da2d59f3580a76d88d", + "rev": "1076bf182a065b1a037caaaa9edee751148582e3", "type": "github" }, "original": { @@ -239,11 +239,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1696890802, - "narHash": "sha256-q0cbDNjTnZ1ojoPdy4liEHWXokhQSNULnSKgURp4v2g=", + "lastModified": 1697064251, + "narHash": "sha256-xxp2sB+4vqB6S6zC/L5J8LlRKgVbgIZOcYl9/TDrEzI=", "owner": "Mic92", "repo": "sops-nix", - "rev": "6b32358c22d2718a5407d39a8236c7bd9608f447", + "rev": "f995ea159252a53b25fa99824f2891e3b479d511", "type": "github" }, "original": { From ca020b5cd21d63fc7e3a4d58a366344653872c83 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:43 +0000 Subject: [PATCH 119/766] Add gitlab-runner --- flake.lock | 24 ++ flake.nix | 12 +- hosts/magnesium/secrets.yaml | 5 +- hosts/magnesium/services/default.nix | 1 + hosts/magnesium/services/gitlab-runner.nix | 43 ++ pkgs/default.nix | 8 +- .../docker-machine-driver-hetzner/default.nix | 15 + .../gomod2nix.toml | 73 ++++ pkgs/docker-machine-gitlab/default.nix | 35 ++ pkgs/docker-machine-gitlab/deps.nix | 408 ++++++++++++++++++ 10 files changed, 620 insertions(+), 4 deletions(-) create mode 100644 hosts/magnesium/services/gitlab-runner.nix create mode 100644 pkgs/docker-machine-driver-hetzner/default.nix create mode 100644 pkgs/docker-machine-driver-hetzner/gomod2nix.toml create mode 100644 pkgs/docker-machine-gitlab/default.nix create mode 100644 pkgs/docker-machine-gitlab/deps.nix diff --git a/flake.lock b/flake.lock index 1e43105..4d4308f 100644 --- a/flake.lock +++ b/flake.lock @@ -55,6 +55,29 @@ "type": "github" } }, + "gomod2nix": { + "inputs": { + "flake-utils": [ + "flake-utils" + ], + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1694616124, + "narHash": "sha256-c49BVhQKw3XDRgt+y+uPAbArtgUlMXCET6VxEBmzHXE=", + "owner": "nix-community", + "repo": "gomod2nix", + "rev": "f95720e89af6165c8c0aa77f180461fe786f3c21", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "gomod2nix", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -222,6 +245,7 @@ "root": { "inputs": { "flake-utils": "flake-utils", + "gomod2nix": "gomod2nix", "home-manager": "home-manager", "krops": "krops", "nix-pre-commit-hooks": "nix-pre-commit-hooks", diff --git a/flake.nix b/flake.nix index 3f94e05..2d5ee3c 100644 --- a/flake.nix +++ b/flake.nix @@ -28,12 +28,22 @@ nixpkgs.follows = "nixpkgs"; }; }; + + gomod2nix = { + url = "github:nix-community/gomod2nix"; + inputs = { + flake-utils.follows = "flake-utils"; + nixpkgs.follows = "nixpkgs"; + }; + }; + }; outputs = { self , nixpkgs , flake-utils , krops + , gomod2nix , home-manager , nur , nix-pre-commit-hooks @@ -124,7 +134,7 @@ }; }); }) // { - overlays.default = import ./pkgs; + overlays.default = import ./pkgs inputs; nixosConfigurations = nixpkgs.lib.mapAttrs (hostname: { system diff --git a/hosts/magnesium/secrets.yaml b/hosts/magnesium/secrets.yaml index fc00ca5..32a9318 100644 --- a/hosts/magnesium/secrets.yaml +++ b/hosts/magnesium/secrets.yaml @@ -1,5 +1,6 @@ wireguard_key_hetzner-ha: ENC[AES256_GCM,data:HEW+EalHg6/mq7pRKZkasGz0nqbkSppkf0H/uV5QMJnWwKw9a9W21Y77OSw=,iv:OA6yml1T5kVafX0RYd0Es7DHcGjJazUxP2M6a5Pwkag=,tag:lX5UPIseIQ136HLrHbzZyw==,type:str] turn-static-auth-secret: ENC[AES256_GCM,data:rzhixUemFPwKj1BcVPZd7KtUO9OA6A2R4qEQ1BZGVG0=,iv:uYHYe4Cywxovt3b/Ho1tQVHrpgVic+AKh9AjYMYSZcM=,tag:rr8RW/if06t38GpZCYQB4w==,type:str] +gitlab-runner_fablab-nea-hcloud-labsync: ENC[AES256_GCM,data:+znVO8cQxjDdhch7oUALZvt84iJmWnAx6lTM0+WGkGtaRWTCTPjgnst5waSJpw/Oysrd1PkXZKmLHyHuU7K/CHQij7sWH50G3ZcUum58klJc3dCPztlrLpDVHeSwyYiLpsqkQTfjqLPfrMkxuxBgTEVXlq2ZnFuyOGbFx9hubPxLeyQKakiW3qZWGjbFXYAps7Gl61AVdKJj3y1otX2JbCjG9x2i6FHZpl5ywwQCjKNM,iv:7v+I/oJtWDap6PNIJ4Qm3Si9dGs7a79SaMhnr/tbe1A=,tag:7jgoLtdWAEKMkWoXZ10owA==,type:str] sops: kms: [] gcp_kms: [] @@ -15,8 +16,8 @@ sops: Vlk3Y1luTTg3bkpqNTNPUGlNYmNtMW8K9dEUwAuzvDZZoVi8FPZQ7/h75EV0L+VM MlTGfEt38Hi7EOw+yfXvXYHse/OKypwcrPiJDT6IT/E+O9BJCjPKCA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2023-07-10T19:12:04Z" - mac: ENC[AES256_GCM,data:cDwrW1odloAedY7tdKLPg52UTehlTrs3+lAH0ksaGGDXzQCsVNlfzR86SRGQY2s98cu7+9j5azhWSU9slDZcTIk4VWL2i8ZtVpD8KFtut0WiwWaGf2/KLe80GGw3lr4Rm491YDvv7JcUsEuCG3lAQFZzAlZcfl0faFpzYvpTk30=,iv:yeyRjURArUaG0HzcVP0Wm9n0oVHb+u4zNdaQbrC+EaM=,tag:9uFNd3CSSFjToeawBtMNHg==,type:str] + lastmodified: "2023-10-13T18:27:53Z" + mac: ENC[AES256_GCM,data:8DPq0aGtoiMOdFyD+0NKGZ9OrDi1VXXS/6y3tH4DwlkLDpDqb2QsxunTDwoHlILQBu300nB2lUeGuGlp4/0FimFdiddlu2Ljq8vLh3wt+sz660RgfeaIcgWLSHtulyNIIQJ91wzzgbRADafFRCavVFvJALnIgeE+QDQa4ybLus0=,iv:T3xwELbHbqDszIkGs8BeJn9WV0LjagF1T+HLxCR/Aeo=,tag:NAIBPTRcnRtkGKhpWpe5Pw==,type:str] pgp: - created_at: "2023-06-22T12:44:23Z" enc: | diff --git a/hosts/magnesium/services/default.nix b/hosts/magnesium/services/default.nix index 4039a4d..0fd2a7f 100644 --- a/hosts/magnesium/services/default.nix +++ b/hosts/magnesium/services/default.nix @@ -1,6 +1,7 @@ { imports = [ ./coturn.nix + ./gitlab-runner.nix ./mosquitto.nix ./public-ip-tunnel.nix ./webserver.nix diff --git a/hosts/magnesium/services/gitlab-runner.nix b/hosts/magnesium/services/gitlab-runner.nix new file mode 100644 index 0000000..9f920eb --- /dev/null +++ b/hosts/magnesium/services/gitlab-runner.nix @@ -0,0 +1,43 @@ +{ config, lib, pkgs, ... }: + +{ + sops.secrets.gitlab-runner_fablab-nea-hcloud-labsync = { + sopsFile = ../secrets.yaml; + }; + services.gitlab-runner = { + enable = true; + extraPackages = [ + #(pkgs.writeShellScriptBin "docker-machine" '' + # exec ${pkgs.docker-machine-gitlab}/bin/docker-machine --debug "$@" + #'') + pkgs.docker-machine-gitlab + ]; + #settings.log_level = "debug"; + services."fablab-nea-hcloud-labsync" = { + description = "FabLab NEA Hetzner Cloud - labsync image builder"; + limit = 5; + executor = "docker+machine"; + registrationConfigFile = config.sops.secrets.gitlab-runner_fablab-nea-hcloud-labsync.path; + dockerImage = "quay.io/official-images/alpine:latest"; + dockerPrivileged = true; + tagList = [ + "labsync-image" + ]; + maximumTimeout = 6 * 60 * 60; + registrationFlags = [ + "--docker-tlsverify" + "--machine-idle-nodes 0" + "--machine-idle-scale-factor 0.0" + "--machine-idle-count-min 0" + "--machine-idle-time 900" + "--machine-max-builds 100" + "--machine-machine-driver hetzner" + "--machine-machine-name gitlabrunner-%s" + ] ++ (map (o: "--machine-machine-options=" + o) [ + "hetzner-image=debian-12" + "hetzner-server-type=cx11" + "hetzner-server-location=nbg1" + ]); + }; + }; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index 08aa561..f3fd495 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,10 +1,16 @@ +{ ... }@inputs: + final: prev: let - inherit (prev) callPackage; + inherit (prev) callPackage system; in { ariang = callPackage ./ariang { }; asterisk-sounds-de = callPackage ./asterisk/sounds-de.nix { }; + docker-machine-driver-hetzner = callPackage ./docker-machine-driver-hetzner { + inherit (inputs.gomod2nix.legacyPackages.${system}) buildGoApplication; + }; + docker-machine-gitlab = callPackage ./docker-machine-gitlab { }; fpvout = callPackage ./fpvout { }; mute-indicator = callPackage ./mute-indicator { }; pretix = callPackage ./pretix/pretix.nix { }; diff --git a/pkgs/docker-machine-driver-hetzner/default.nix b/pkgs/docker-machine-driver-hetzner/default.nix new file mode 100644 index 0000000..83cfd12 --- /dev/null +++ b/pkgs/docker-machine-driver-hetzner/default.nix @@ -0,0 +1,15 @@ +{ lib, stdenv, buildGoApplication, fetchFromGitHub }: + +buildGoApplication rec { + pname = "docker-machine-driver-hetzner"; + version = "5.0.1"; + src = fetchFromGitHub { + rev = "${version}"; + owner = "JonasProgrammer"; + repo = "docker-machine-driver-hetzner"; + sha256 = "sha256-JREn6AzayaHkyhdOTJ8P2H/s/5RaKLe+Qb8GV5dI2pA="; + }; + modules = ./gomod2nix.toml; + #nativeBuildInputs = [ pkg-config ]; + #buildInputs = [ ]; +} diff --git a/pkgs/docker-machine-driver-hetzner/gomod2nix.toml b/pkgs/docker-machine-driver-hetzner/gomod2nix.toml new file mode 100644 index 0000000..d38264c --- /dev/null +++ b/pkgs/docker-machine-driver-hetzner/gomod2nix.toml @@ -0,0 +1,73 @@ +schema = 3 + +[mod] + [mod."github.com/Azure/go-ansiterm"] + version = "v0.0.0-20230124172434-306776ec8161" + hash = "sha256-17hCoOE3HBv6cjpcukfBS6/ULgTuoUZ7RNbi5korH2M=" + [mod."github.com/beorn7/perks"] + version = "v1.0.1" + hash = "sha256-h75GUqfwJKngCJQVE5Ao5wnO3cfKD9lSIteoLp/3xJ4=" + [mod."github.com/cespare/xxhash/v2"] + version = "v2.2.0" + hash = "sha256-nPufwYQfTkyrEkbBrpqM3C2vnMxfIz6tAaBmiUP7vd4=" + [mod."github.com/codegangsta/cli"] + version = "v1.22.12" + hash = "sha256-FTdBlhQvyDhgrDcSJDxgSLS/cBSP8B1BC/AxGA9Lyss=" + replaced = "github.com/urfave/cli" + [mod."github.com/cpuguy83/go-md2man/v2"] + version = "v2.0.2" + hash = "sha256-OvWCtDsVrYzM84SMQwOXPLBxnWnMC1hDm+KiI6zm3uk=" + [mod."github.com/docker/docker"] + version = "v20.10.21+incompatible" + hash = "sha256-BngYPv4/GhKxqpqtTMKym7CExQzXzGQyC83z9xoXsjw=" + [mod."github.com/docker/machine"] + version = "v0.16.2" + hash = "sha256-DGr0g+SKtZB7Dkg2V9bGQqMD1rBT44A4dV7yeuXxrH0=" + [mod."github.com/golang/protobuf"] + version = "v1.5.3" + hash = "sha256-svogITcP4orUIsJFjMtp+Uv1+fKJv2Q5Zwf2dMqnpOQ=" + [mod."github.com/hetznercloud/hcloud-go/v2"] + version = "v2.2.0" + hash = "sha256-4sOfDyy/VP/LSoIm/ydtJKxKljtfLCC7ZzgWh9NPuAc=" + [mod."github.com/matttproud/golang_protobuf_extensions"] + version = "v1.0.4" + hash = "sha256-uovu7OycdeZ2oYQ7FhVxLey5ZX3T0FzShaRldndyGvc=" + [mod."github.com/moby/term"] + version = "v0.0.0-20221205130635-1aeaba878587" + hash = "sha256-wX2ftzjEHzltzN68CsYVXMiaLPNU7V2phVyyPKv3mn8=" + [mod."github.com/pkg/errors"] + version = "v0.9.1" + hash = "sha256-mNfQtcrQmu3sNg/7IwiieKWOgFQOVVe2yXgKBpe/wZw=" + [mod."github.com/prometheus/client_golang"] + version = "v1.16.0" + hash = "sha256-P/b4/8m1ztF0fCLSJ+eRXN74Bncx2vjOJx7nFl2QEg4=" + [mod."github.com/prometheus/client_model"] + version = "v0.3.0" + hash = "sha256-vP+miJfsoK5UG9eug8z/bhAMj3bwg66T2vIh8WHoOKU=" + [mod."github.com/prometheus/common"] + version = "v0.42.0" + hash = "sha256-dJqoPZKtY2umWFWwMeRYY9I2JaFlpcMX4atkEcN5+hs=" + [mod."github.com/prometheus/procfs"] + version = "v0.10.1" + hash = "sha256-EJ8q8wux4964WE4X7UkHb+MXjLhX4TROJaoLIQvD/eQ=" + [mod."github.com/russross/blackfriday/v2"] + version = "v2.1.0" + hash = "sha256-R+84l1si8az5yDqd5CYcFrTyNZ1eSYlpXKq6nFt4OTQ=" + [mod."golang.org/x/crypto"] + version = "v0.12.0" + hash = "sha256-Wes72EA9ICTG8o0nEYWZk9xjpqlniorFeY6o26GExns=" + [mod."golang.org/x/net"] + version = "v0.12.0" + hash = "sha256-zQZBj42+wLLxXwS/e+KNbu8+SukMDxxW23WSi5XQXAA=" + [mod."golang.org/x/sys"] + version = "v0.11.0" + hash = "sha256-g/LjhABK2c/u6v7M2aAIrHvZjmx/ikGHkef86775N38=" + [mod."golang.org/x/term"] + version = "v0.11.0" + hash = "sha256-muSv/d8Qpl+NXiOB01n6LeFEzC+hrlGviDdfu+6QdQ4=" + [mod."golang.org/x/text"] + version = "v0.12.0" + hash = "sha256-aNQaW3EgCK9ehpnBzIAkZX6TmiUU1S175YlJUH7P5Qg=" + [mod."google.golang.org/protobuf"] + version = "v1.30.0" + hash = "sha256-Y07NKhSuJQ2w7F7MAINQyBf+/hdMHOrxwA3B4ljQQKs=" diff --git a/pkgs/docker-machine-gitlab/default.nix b/pkgs/docker-machine-gitlab/default.nix new file mode 100644 index 0000000..48469ea --- /dev/null +++ b/pkgs/docker-machine-gitlab/default.nix @@ -0,0 +1,35 @@ +{ lib, buildGoPackage, fetchFromGitLab, installShellFiles, docker-machine-driver-hetzner, makeWrapper, openssh }: + +buildGoPackage rec { + pname = "docker-machine-gitlab"; + version = "0.16.2-gitlab.22"; + + goPackagePath = "github.com/docker/machine"; + + src = fetchFromGitLab { + rev = "v${version}"; + group = "gitlab-org"; + owner = "ci-cd"; + repo = "docker-machine"; + sha256 = "sha256-WYnaY/0FJzXDiECms1gGNR1jN4DUQ3s296KG9r1c2io="; + }; + + nativeBuildInputs = [ + docker-machine-driver-hetzner + installShellFiles + makeWrapper + openssh + ]; + + postInstall = '' + pushd go/src/${goPackagePath}/contrib/completion + installShellCompletion --bash bash/* + installShellCompletion --zsh zsh/* + popd + wrapProgram $out/bin/docker-machine \ + --prefix PATH : ${lib.makeBinPath [ + docker-machine-driver-hetzner + openssh + ]} + ''; +} diff --git a/pkgs/docker-machine-gitlab/deps.nix b/pkgs/docker-machine-gitlab/deps.nix new file mode 100644 index 0000000..85bb418 --- /dev/null +++ b/pkgs/docker-machine-gitlab/deps.nix @@ -0,0 +1,408 @@ +# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix) +[ + { + goPackagePath = "cloud.google.com/go"; + fetch = { + type = "git"; + url = "https://github.com/googleapis/google-cloud-go"; + rev = "5176ba42f92af23d3c0e7a0da2e196c311a956f0"; + sha256 = "0k8k03q95mhsxw3m9s1vfn8scw0c52sb9gnr5sjhrh0x49dg4snx"; + }; + } + { + goPackagePath = "github.com/Azure/azure-sdk-for-go"; + fetch = { + type = "git"; + url = "https://github.com/Azure/azure-sdk-for-go"; + rev = "91f3d4a4d024e3c0d4d9412916d05cf84504a616"; + sha256 = "1j79nrdbc1smh4s2gbh3hg7w3lffr997gjf65sd1w4vbnc78wzy0"; + }; + } + { + goPackagePath = "github.com/Azure/go-ansiterm"; + fetch = { + type = "git"; + url = "https://github.com/Azure/go-ansiterm"; + rev = "d6e3b3328b783f23731bc4d058875b0371ff8109"; + sha256 = "010khrkhkf9cxlvvb6ncqv4c1qcdmpbz9jn38g4fxf4xsma8xx1q"; + }; + } + { + goPackagePath = "github.com/Azure/go-autorest"; + fetch = { + type = "git"; + url = "https://github.com/Azure/go-autorest"; + rev = "0781901f19f1e7db3034d97ec57af753db0bf808"; + sha256 = "0gnp6ca5wcrr6cj6l0pvwq1jf6sbbx36agkm4m493cqrxkb4iyy8"; + }; + } + { + goPackagePath = "github.com/aws/aws-sdk-go"; + fetch = { + type = "git"; + url = "https://github.com/aws/aws-sdk-go"; + rev = "f259b6fac27528dd491fad0bc9621a0e5f77b900"; + sha256 = "0fmhq0x10c82sl0i2n6xilqva49f9ps0mg0zqyi4rf1qwhv4dg8p"; + }; + } + { + goPackagePath = "github.com/bugsnag/bugsnag-go"; + fetch = { + type = "git"; + url = "https://github.com/bugsnag/bugsnag-go"; + rev = "02e952891c52fbcb15f113d90633897355783b6e"; + sha256 = "0jrzmj17yilqbdw8fdhzp30jdjfq7q1x0d9v0ljkb0wvpnj1hjhg"; + }; + } + { + goPackagePath = "github.com/bugsnag/osext"; + fetch = { + type = "git"; + url = "https://github.com/bugsnag/osext"; + rev = "0dd3f918b21bec95ace9dc86c7e70266cfc5c702"; + sha256 = "02pczqml6p1mnfdrygm3rs02g0r65qx8v1bi3x24dx8wv9dr5y23"; + }; + } + { + goPackagePath = "github.com/bugsnag/panicwrap"; + fetch = { + type = "git"; + url = "https://github.com/bugsnag/panicwrap"; + rev = "aceac81c6e2f55f23844821679a0553b545e91df"; + sha256 = "1nwxpsjs3zp3kd089iaywiv39agh5lgaj5nvij716zsdi388g2mb"; + }; + } + { + goPackagePath = "github.com/cenkalti/backoff"; + fetch = { + type = "git"; + url = "https://github.com/cenkalti/backoff"; + rev = "9831e1e25c874e0a0601b6dc43641071414eec7a"; + sha256 = "0i2ykb3d0pvkna9xa4j1pha9nm13j5rwdxykcgxxs5g52dy0299b"; + }; + } + { + goPackagePath = "github.com/codegangsta/cli"; + fetch = { + type = "git"; + url = "https://github.com/codegangsta/cli"; + rev = "0302d3914d2a6ad61404584cdae6e6dbc9c03599"; + sha256 = "1nln4jbzfmkw9wlgv4wcvwjm4n6v75fyxza0lppx4xl1via81jqg"; + }; + } + { + goPackagePath = "github.com/davecgh/go-spew"; + fetch = { + type = "git"; + url = "https://github.com/davecgh/go-spew"; + rev = "5215b55f46b2b919f50a1df0eaa5886afe4e3b3d"; + sha256 = "15h9kl73rdbzlfmsdxp13jja5gs7sknvqkpq2qizq3qv3nr1x8dk"; + }; + } + { + goPackagePath = "github.com/dgrijalva/jwt-go"; + fetch = { + type = "git"; + url = "https://github.com/dgrijalva/jwt-go"; + rev = "24c63f56522a87ec5339cc3567883f1039378fdb"; + sha256 = "1xjb3cj9qa66dk6sfrlggfm4a66qirqrp4qds90xzjj5sx51j4zk"; + }; + } + { + goPackagePath = "github.com/digitalocean/godo"; + fetch = { + type = "git"; + url = "https://github.com/digitalocean/godo"; + rev = "d59ed2fe842bbb3cbee91c9df8bb7659dc9ee86f"; + sha256 = "1pp4pz5jgfyf7ms5s51gc748i2nfp5cavz9v5zkx6g7yq7sfhkmb"; + }; + } + { + goPackagePath = "github.com/docker/docker"; + fetch = { + type = "git"; + url = "https://github.com/docker/docker"; + rev = "093424bec097cdf51154255226cf999d6824633b"; + sha256 = "1kglkhrabsmvj0k5jsygahac2c1gc1srrb8qhpi5mjlrfh0zrq5h"; + }; + } + { + goPackagePath = "github.com/docker/go-units"; + fetch = { + type = "git"; + url = "https://github.com/docker/go-units"; + rev = "0bbddae09c5a5419a8c6dcdd7ff90da3d450393b"; + sha256 = "0z49jlz0jmsps7mpsl6f0yhb8kzg3darhkwkvgwf29g334627fix"; + }; + } + { + goPackagePath = "github.com/exoscale/egoscale"; + fetch = { + type = "git"; + url = "https://github.com/exoscale/egoscale"; + rev = "432a702ab7d709538572f9a2a42eaf0ca0691698"; + sha256 = "04gzpcp86vyyw7r0xnmh266gy2lzj0ymszzrz4i90w8q1n0liyqd"; + }; + } + { + goPackagePath = "github.com/golang/groupcache"; + fetch = { + type = "git"; + url = "https://github.com/golang/groupcache"; + rev = "8c9f03a8e57eb486e42badaed3fb287da51807ba"; + sha256 = "0vjjr79r32icjzlb05wn02k59av7jx0rn1jijml8r4whlg7dnkfh"; + }; + } + { + goPackagePath = "github.com/golang/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/golang/protobuf"; + rev = "ae97035608a719c7a1c1c41bed0ae0744bdb0c6f"; + sha256 = "1mh5fyim42dn821nsd3afnmgscrzzhn3h8rag635d2jnr23r1zhk"; + }; + } + { + goPackagePath = "github.com/google/go-querystring"; + fetch = { + type = "git"; + url = "https://github.com/google/go-querystring"; + rev = "30f7a39f4a218feb5325f3aebc60c32a572a8274"; + sha256 = "1zl8gkriksbdqxn4ijphh79blzfxncjdl2yqxh2v8an9880d2c42"; + }; + } + { + goPackagePath = "github.com/googleapis/gax-go"; + fetch = { + type = "git"; + url = "https://github.com/googleapis/gax-go"; + rev = "bd5b16380fd03dc758d11cef74ba2e3bc8b0e8c2"; + sha256 = "1lxawwngv6miaqd25s3ba0didfzylbwisd2nz7r4gmbmin6jsjrx"; + }; + } + { + goPackagePath = "github.com/intel-go/cpuid"; + fetch = { + type = "git"; + url = "https://github.com/intel-go/cpuid"; + rev = "1a4a6f06a1c643c8fbd339bd61d980960627d09e"; + sha256 = "124i9l1i4ja3k1jq1pac6ric6z5q0n32gdbc252ix33l678lhsw8"; + }; + } + { + goPackagePath = "github.com/jinzhu/copier"; + fetch = { + type = "git"; + url = "https://github.com/jinzhu/copier"; + rev = "7e38e58719c33e0d44d585c4ab477a30f8cb82dd"; + sha256 = "03i7cz8aj42g0kp89myd0hdgzicyk0abfjxa7wcnpx5vlk6x0z0p"; + }; + } + { + goPackagePath = "github.com/jmespath/go-jmespath"; + fetch = { + type = "git"; + url = "https://github.com/jmespath/go-jmespath"; + rev = "c2b33e84"; + sha256 = "1r6w7ydx8ydryxk3sfhzsk8m6f1nsik9jg3i1zhi69v4kfl4d5cz"; + }; + } + { + goPackagePath = "github.com/mitchellh/mapstructure"; + fetch = { + type = "git"; + url = "https://github.com/mitchellh/mapstructure"; + rev = "740c764bc6149d3f1806231418adb9f52c11bcbf"; + sha256 = "0rlz93rmz465nr0wmzvq1n58yc0qdw7v1chr6zmj9jj9pix0a7cb"; + }; + } + { + goPackagePath = "github.com/pmezard/go-difflib"; + fetch = { + type = "git"; + url = "https://github.com/pmezard/go-difflib"; + rev = "792786c7400a136282c1664665ae0a8db921c6c2"; + sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw"; + }; + } + { + goPackagePath = "github.com/rackspace/gophercloud"; + fetch = { + type = "git"; + url = "https://github.com/rackspace/gophercloud"; + rev = "ce0f487f6747ab43c4e4404722df25349385bebd"; + sha256 = "1zr88fcinvlwb3ybimqnxd8fr7c076irp88cvkylm67kv3vfjm4x"; + }; + } + { + goPackagePath = "github.com/samalba/dockerclient"; + fetch = { + type = "git"; + url = "https://github.com/samalba/dockerclient"; + rev = "f661dd4754aa5c52da85d04b5871ee0e11f4b59c"; + sha256 = "0l8nklsnr45h9ng9la3hhrq7qhxqp9yma0fpppc1i5zg8r56rziv"; + }; + } + { + goPackagePath = "github.com/sirupsen/logrus"; + fetch = { + type = "git"; + url = "https://github.com/sirupsen/logrus"; + rev = "d682213848ed68c0a260ca37d6dd5ace8423f5ba"; + sha256 = "0nzyqwzx3k7nqfq8q7yv32gaf3ymq3bpwhkmw1hj2zakq5a93d8x"; + }; + } + { + goPackagePath = "github.com/skarademir/naturalsort"; + fetch = { + type = "git"; + url = "https://github.com/skarademir/naturalsort"; + rev = "69a5d87bef620f77ee8508db30c846b3b84b111e"; + sha256 = "00ibyghnqakbylwxfrlg9jfzgbsm5n73s5fsgr1rmsgdbyv4r5fj"; + }; + } + { + goPackagePath = "github.com/stretchr/objx"; + fetch = { + type = "git"; + url = "https://github.com/stretchr/objx"; + rev = "1a9d0bb9f541897e62256577b352fdbc1fb4fd94"; + sha256 = "1n027ksls1rn1ja98kd0cd2kv1vwlzsl0d7xnh3yqf451vh0md50"; + }; + } + { + goPackagePath = "github.com/stretchr/testify"; + fetch = { + type = "git"; + url = "https://github.com/stretchr/testify"; + rev = "1f4a1643a57e798696635ea4c126e9127adb7d3c"; + sha256 = "0nam9d68rn8ha8ldif22kkgv6k6ph3y88fp26159wdrs63ca3bzl"; + }; + } + { + goPackagePath = "github.com/tent/http-link-go"; + fetch = { + type = "git"; + url = "https://github.com/tent/http-link-go"; + rev = "ac974c61c2f990f4115b119354b5e0b47550e888"; + sha256 = "1fph21b6vp4cm73fkkykffggi57m656x9fd1k369fr6jbvq5fffj"; + }; + } + { + goPackagePath = "github.com/vmware/govcloudair"; + fetch = { + type = "git"; + url = "https://github.com/vmware/govcloudair"; + rev = "66a23eaabc61518f91769939ff541886fe1dceef"; + sha256 = "0795k85j56kh35i94bjjk47bic4nmghnnkyh8cpjvpc1y09vf8zv"; + }; + } + { + goPackagePath = "github.com/vmware/govmomi"; + fetch = { + type = "git"; + url = "https://github.com/vmware/govmomi"; + rev = "9051bd6b44125d9472e0c148b5965692ab283d4a"; + sha256 = "0d8vsm6481746j3r446q5wgppnv2kvq522sd9896xvy32avxsrw3"; + }; + } + { + goPackagePath = "go.opencensus.io"; + fetch = { + type = "git"; + url = "https://github.com/census-instrumentation/opencensus-go"; + rev = "49838f207d61097fc0ebb8aeef306913388376ca"; + sha256 = "0gw4f7inf8y2ik00yfb36xganiq9rl4w2d1a41bsjqsh83ajz2km"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "51714a8c4ac1764f07ab4127d7f739351ced4759"; + sha256 = "1x1qj8lbf9034yw1m2hmlc2yp7lz4x3i45ky41ydpzpd0h8dfqnx"; + }; + } + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "c8897c278d1087bda543ec7041384fcedc5e4036"; + sha256 = "0k52czlamank3nfzg47kxhj93gh1pyw8bhiwk29y2839xlvhpz9i"; + }; + } + { + goPackagePath = "golang.org/x/oauth2"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/oauth2"; + rev = "22b0adad7558c54bf49787666d8773cae1dd3e77"; + sha256 = "0vr8x9xk75qy1fgaw77dlgml0kp3llbig4c8cmyhydpd888gw2wr"; + }; + } + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "49726bf1d181babaebde545fbf1353be26485fb0"; + sha256 = "1n1vmfz8alfa4chg4qppiybmnqqcrcrs3w3agbrjxmw02aj1csnj"; + }; + } + { + goPackagePath = "golang.org/x/text"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/text"; + rev = "75a595aef632b07c6eeaaa805adb6f0f66e4130e"; + sha256 = "082s9d7wnh1aa2v08g3h5z4if2f8hl4y01pb788qsvab9329lj0w"; + }; + } + { + goPackagePath = "google.golang.org/api"; + fetch = { + type = "git"; + url = "https://github.com/googleapis/google-api-go-client"; + rev = "7fd7a5fcdd3f78a6c49556a5358164cb1405bd51"; + sha256 = "0vs0bnzljg5iib8x01sy49ndgsz3cl1sq53pvy3h6kzp7may0bpc"; + }; + } + { + goPackagePath = "google.golang.org/appengine"; + fetch = { + type = "git"; + url = "https://github.com/golang/appengine"; + rev = "6a436539be38c296a8075a871cc536686b458371"; + sha256 = "0fgxfpfb4mla89yk45rgpsmdkbjnb7ck8dkwc24x879bhpz545kh"; + }; + } + { + goPackagePath = "google.golang.org/genproto"; + fetch = { + type = "git"; + url = "https://github.com/googleapis/go-genproto"; + rev = "ab064af717059515c07699f55ae1133bf9cc7dcc"; + sha256 = "04wjhd8h9xvr3pkcdh7dqq4kz66lgk3dbzqilsm8612ic40xkf43"; + }; + } + { + goPackagePath = "google.golang.org/grpc"; + fetch = { + type = "git"; + url = "https://github.com/grpc/grpc-go"; + rev = "f74f0337644653eba7923908a4d7f79a4f3a267b"; + sha256 = "1m4xsfv3ysc84cwqxqqr61fs3d2w04f0q5xbdjijhczjixcxwh5i"; + }; + } + { + goPackagePath = "google.golang.org/protobuf"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/protobuf"; + rev = "3f7a61f89bb6813f89d981d1870ed68da0b3c3f1"; + sha256 = "0apfl42x166dh96zfq5kvv4b4ax9xljik6bq1mnvn2240ir3mc23"; + }; + } +] From eada2f8bb8bd105ad7e367ea1ad3b63c4589c1d3 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:47 +0000 Subject: [PATCH 120/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/bd1cde45c77891214131cbbea5b1203e485a9d51' (2023-10-11) → 'github:nixos/nixpkgs/898cb2064b6e98b8c5499f37e81adbdf2925f7c5' (2023-10-13) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/a97d85ff06c5d91b594cace882fdf1b241086345' (2023-10-13) → 'github:NixOS/nixpkgs/fb8d36459a4310d51471461123aa7798c15b7dde' (2023-10-16) • Updated input 'nur': 'github:nix-community/NUR/1076bf182a065b1a037caaaa9edee751148582e3' (2023-10-13) → 'github:nix-community/NUR/72bd87326ff38e5c8e76d73681af56b8255ddace' (2023-10-16) • Updated input 'sops-nix': 'github:Mic92/sops-nix/f995ea159252a53b25fa99824f2891e3b479d511' (2023-10-11) → 'github:Mic92/sops-nix/51186b8012068c417dac7c31fb12861726577898' (2023-10-15) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/2f3b6b3fcd9fa0a4e6b544180c058a70890a7cc1' (2023-10-07) → 'github:NixOS/nixpkgs/0e1cff585c1a85aeab059d3109f66134a8f76935' (2023-10-15) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 4d4308f..1dfee68 100644 --- a/flake.lock +++ b/flake.lock @@ -181,11 +181,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1696717752, - "narHash": "sha256-qEq1styCyQHSrw7AOhskH2qwCFx93bOwsGEzUIrZC0g=", + "lastModified": 1697332183, + "narHash": "sha256-ACYvYsgLETfEI2xM1jjp8ZLVNGGC0onoCGe+69VJGGE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2f3b6b3fcd9fa0a4e6b544180c058a70890a7cc1", + "rev": "0e1cff585c1a85aeab059d3109f66134a8f76935", "type": "github" }, "original": { @@ -197,11 +197,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1697189906, - "narHash": "sha256-6Vlh9DdTdzoMDFyHoGqUxf3fV57Ej84e3Reh8+ds32o=", + "lastModified": 1697439614, + "narHash": "sha256-sCK6SkvatgFHOs3aLUnOVzx2h5AokxxRvdd/V7RZy4w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a97d85ff06c5d91b594cace882fdf1b241086345", + "rev": "fb8d36459a4310d51471461123aa7798c15b7dde", "type": "github" }, "original": { @@ -213,11 +213,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1696983906, - "narHash": "sha256-L7GyeErguS7Pg4h8nK0wGlcUTbfUMDu+HMf1UcyP72k=", + "lastModified": 1697226376, + "narHash": "sha256-cumLLb1QOUtWieUnLGqo+ylNt3+fU8Lcv5Zl+tYbRUE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bd1cde45c77891214131cbbea5b1203e485a9d51", + "rev": "898cb2064b6e98b8c5499f37e81adbdf2925f7c5", "type": "github" }, "original": { @@ -229,11 +229,11 @@ }, "nur": { "locked": { - "lastModified": 1697187908, - "narHash": "sha256-p8OQDLQURdsJ/7l8PyZwE0jaPDinLceSTmEY+nmlP7Y=", + "lastModified": 1697436932, + "narHash": "sha256-GEPUc3eL5BH6WOgikjXBfG8cKlqOFgNiL46xfF353RM=", "owner": "nix-community", "repo": "NUR", - "rev": "1076bf182a065b1a037caaaa9edee751148582e3", + "rev": "72bd87326ff38e5c8e76d73681af56b8255ddace", "type": "github" }, "original": { @@ -263,11 +263,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1697064251, - "narHash": "sha256-xxp2sB+4vqB6S6zC/L5J8LlRKgVbgIZOcYl9/TDrEzI=", + "lastModified": 1697339241, + "narHash": "sha256-ITsFtEtRbCBeEH9XrES1dxZBkE1fyNNUfIyQjQ2AYQs=", "owner": "Mic92", "repo": "sops-nix", - "rev": "f995ea159252a53b25fa99824f2891e3b479d511", + "rev": "51186b8012068c417dac7c31fb12861726577898", "type": "github" }, "original": { From b15d3903c07263f5f083c6f64d752dbbc528ec45 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:48 +0000 Subject: [PATCH 121/766] Print advertised DNS servers on vpn connection --- home-manager/users/jal.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home-manager/users/jal.nix b/home-manager/users/jal.nix index 6cedf41..3d294c7 100644 --- a/home-manager/users/jal.nix +++ b/home-manager/users/jal.nix @@ -17,6 +17,8 @@ let vpnc-script = pkgs.writeShellScript "vpnc-script-tb" '' cisco_split_inc="$CISCO_SPLIT_INC" export CISCO_SPLIT_INC=0 + + echo "DNS server sent by vpn: $INTERNAL_IP4_DNS" unset INTERNAL_IP4_DNS route_in_whitelist() { From a8aacc15320e19bee5457eca6fddacdb7be1f14d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:49 +0000 Subject: [PATCH 122/766] Add secondary DNS server --- home-manager/users/jal.nix | 2 +- hosts/hafnium/configuration.nix | 22 ++++++++++++++-------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/home-manager/users/jal.nix b/home-manager/users/jal.nix index 3d294c7..180427c 100644 --- a/home-manager/users/jal.nix +++ b/home-manager/users/jal.nix @@ -12,7 +12,7 @@ let #"10.96.8.0/24" # Boomi #"10.96.10.0/24" # Boomi (new) "10.96.0.0/16" - "10.170.254.30/32" # core DNS resolver + "10.170.254.30/32" "10.170.254.40/32" # core DNS resolver ]; vpnc-script = pkgs.writeShellScript "vpnc-script-tb" '' cisco_split_inc="$CISCO_SPLIT_INC" diff --git a/hosts/hafnium/configuration.nix b/hosts/hafnium/configuration.nix index d8f7647..e521d81 100644 --- a/hosts/hafnium/configuration.nix +++ b/hosts/hafnium/configuration.nix @@ -1,5 +1,11 @@ { lib, config, pkgs, self, system, ... }: +let + tradebyteDnsServers = [ + "10.170.254.30" + "10.170.254.40" + ]; +in { imports = [ ./hardware-configuration.nix @@ -106,20 +112,20 @@ }; }; - services.dnsmasq.settings.server = [ - "/vpce-0de71527ea27288f3-9op2d61c-eu-central-1b.s3.eu-central-1.vpce.amazonaws.com/10.170.254.30" - "/vpce-0de71527ea27288f3-9op2d61c.s3.eu-central-1.vpce.amazonaws.com/10.170.254.30" - "/ccs.tradebyte.com/10.170.254.30" - "/corp.ad.zalando.net/10.160.19.100" - "/develop.sys.tradebyte.com/10.0.3.1" - "/instance.tradebyte.com/10.170.254.30" + services.dnsmasq.settings.server = lib.lists.flatten ( + map (domain: (map (srv: "/${domain}/${srv}") tradebyteDnsServers)) [ + "vpce-0c1c169d1e33a1c2f-yugtdam1.s3.eu-central-1.vpce.amazonaws.com" + "ccs.tradebyte.com" + "instance.tradebyte.com" + ]) ++ [ "/internal.production.core.tradebyte.com/10.158.224.2" "/internal.development.core.tradebyte.com/10.170.254.30" "/rds.amazonaws.com/9.9.9.9" "/tradebyte.com/9.9.9.9" "/tradebyte.org/9.9.9.9" + "/develop.sys.tradebyte.com/10.0.3.1" + "/corp.ad.zalando.net/10.160.19.100" ]; - services.actkbd = { enable = true; bindings = [ From d7720337945737bc19e94ce8671e7af2e4604a20 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:49 +0000 Subject: [PATCH 123/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/fb8d36459a4310d51471461123aa7798c15b7dde' (2023-10-16) → 'github:NixOS/nixpkgs/d26b6de226ec3248acdd930f7228f9bfd0f1e101' (2023-10-18) • Updated input 'nur': 'github:nix-community/NUR/72bd87326ff38e5c8e76d73681af56b8255ddace' (2023-10-16) → 'github:nix-community/NUR/bc8feb3239c1a4a896fd03ada155d1b8ee8ae38c' (2023-10-18) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 1dfee68..127169e 100644 --- a/flake.lock +++ b/flake.lock @@ -197,11 +197,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1697439614, - "narHash": "sha256-sCK6SkvatgFHOs3aLUnOVzx2h5AokxxRvdd/V7RZy4w=", + "lastModified": 1697636626, + "narHash": "sha256-6fOR861rPF/zo/f5+3XVa59TdnNbtF0YYsNE9LeEvuw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fb8d36459a4310d51471461123aa7798c15b7dde", + "rev": "d26b6de226ec3248acdd930f7228f9bfd0f1e101", "type": "github" }, "original": { @@ -229,11 +229,11 @@ }, "nur": { "locked": { - "lastModified": 1697436932, - "narHash": "sha256-GEPUc3eL5BH6WOgikjXBfG8cKlqOFgNiL46xfF353RM=", + "lastModified": 1697637981, + "narHash": "sha256-BReinxzdLksrjXkCZWqHZSEKd4/vWuNwgzmfjKprRxo=", "owner": "nix-community", "repo": "NUR", - "rev": "72bd87326ff38e5c8e76d73681af56b8255ddace", + "rev": "bc8feb3239c1a4a896fd03ada155d1b8ee8ae38c", "type": "github" }, "original": { From 7b106c9014402a7923eded9b6aa7182b16a3653a Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:50 +0000 Subject: [PATCH 124/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/42e1b6095ef80a51f79595d9951eb38e91c4e6ca' (2023-10-09) → 'github:cachix/pre-commit-hooks.nix/8cc349bfd082da8782b989cad2158c9ad5bd70fd' (2023-10-19) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/898cb2064b6e98b8c5499f37e81adbdf2925f7c5' (2023-10-13) → 'github:nixos/nixpkgs/5550a85a087c04ddcace7f892b0bdc9d8bb080c8' (2023-10-21) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/d26b6de226ec3248acdd930f7228f9bfd0f1e101' (2023-10-18) → 'github:NixOS/nixpkgs/955525b515f43c1f356ebaab40b0b794c67e0e48' (2023-10-24) • Updated input 'nur': 'github:nix-community/NUR/bc8feb3239c1a4a896fd03ada155d1b8ee8ae38c' (2023-10-18) → 'github:nix-community/NUR/c4231705e51c32a83297ebb7bc88da0e87fe4ba5' (2023-10-24) • Updated input 'sops-nix': 'github:Mic92/sops-nix/51186b8012068c417dac7c31fb12861726577898' (2023-10-15) → 'github:Mic92/sops-nix/30a0ba4a20703b4bfe047fe5def1fc24978e322c' (2023-10-22) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/0e1cff585c1a85aeab059d3109f66134a8f76935' (2023-10-15) → 'github:NixOS/nixpkgs/fb000224952bf7749a9e8b3779104ef7ea4465c8' (2023-10-21) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 127169e..e75e9b0 100644 --- a/flake.lock +++ b/flake.lock @@ -133,11 +133,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1696846637, - "narHash": "sha256-0hv4kbXxci2+pxhuXlVgftj/Jq79VSmtAyvfabCCtYk=", + "lastModified": 1697746376, + "narHash": "sha256-gu77VkgdfaHgNCVufeb6WP9oqFLjwK4jHcoPZmBVF3E=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "42e1b6095ef80a51f79595d9951eb38e91c4e6ca", + "rev": "8cc349bfd082da8782b989cad2158c9ad5bd70fd", "type": "github" }, "original": { @@ -181,11 +181,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1697332183, - "narHash": "sha256-ACYvYsgLETfEI2xM1jjp8ZLVNGGC0onoCGe+69VJGGE=", + "lastModified": 1697929210, + "narHash": "sha256-RkQZif6QhswEwv7484mrKfIU8XmIWm+ED6llbr4IyxM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0e1cff585c1a85aeab059d3109f66134a8f76935", + "rev": "fb000224952bf7749a9e8b3779104ef7ea4465c8", "type": "github" }, "original": { @@ -197,11 +197,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1697636626, - "narHash": "sha256-6fOR861rPF/zo/f5+3XVa59TdnNbtF0YYsNE9LeEvuw=", + "lastModified": 1698178197, + "narHash": "sha256-1/X3YW444tGIKyTXGYPaRwYDxZrU/KuRbYgIKJSUt+o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d26b6de226ec3248acdd930f7228f9bfd0f1e101", + "rev": "955525b515f43c1f356ebaab40b0b794c67e0e48", "type": "github" }, "original": { @@ -213,11 +213,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1697226376, - "narHash": "sha256-cumLLb1QOUtWieUnLGqo+ylNt3+fU8Lcv5Zl+tYbRUE=", + "lastModified": 1697851979, + "narHash": "sha256-lJ8k4qkkwdvi+t/Xc6Fn74kUuobpu9ynPGxNZR6OwoA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "898cb2064b6e98b8c5499f37e81adbdf2925f7c5", + "rev": "5550a85a087c04ddcace7f892b0bdc9d8bb080c8", "type": "github" }, "original": { @@ -229,11 +229,11 @@ }, "nur": { "locked": { - "lastModified": 1697637981, - "narHash": "sha256-BReinxzdLksrjXkCZWqHZSEKd4/vWuNwgzmfjKprRxo=", + "lastModified": 1698176069, + "narHash": "sha256-rjncD+8c3znRZDOB6hugRwMingBHvIz2jtTFCSiMkSk=", "owner": "nix-community", "repo": "NUR", - "rev": "bc8feb3239c1a4a896fd03ada155d1b8ee8ae38c", + "rev": "c4231705e51c32a83297ebb7bc88da0e87fe4ba5", "type": "github" }, "original": { @@ -263,11 +263,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1697339241, - "narHash": "sha256-ITsFtEtRbCBeEH9XrES1dxZBkE1fyNNUfIyQjQ2AYQs=", + "lastModified": 1697943852, + "narHash": "sha256-DaBxUPaZhQ3yLCmAATshYB7qo7NwcMvSFWz9T3bjYYY=", "owner": "Mic92", "repo": "sops-nix", - "rev": "51186b8012068c417dac7c31fb12861726577898", + "rev": "30a0ba4a20703b4bfe047fe5def1fc24978e322c", "type": "github" }, "original": { From d0b5a220a18ac260f3128062bb1e1fea87215579 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:51 +0000 Subject: [PATCH 125/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/8cc349bfd082da8782b989cad2158c9ad5bd70fd' (2023-10-19) → 'github:cachix/pre-commit-hooks.nix/bd38df3d508dfcdff52cd243d297f218ed2257bf' (2023-10-25) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/5550a85a087c04ddcace7f892b0bdc9d8bb080c8' (2023-10-21) → 'github:nixos/nixpkgs/60b9db998f71ea49e1a9c41824d09aa274be1344' (2023-10-26) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/955525b515f43c1f356ebaab40b0b794c67e0e48' (2023-10-24) → 'github:NixOS/nixpkgs/71ef7ea8fe2aff7c21cf2e7ec7283a4276a2f366' (2023-10-29) • Updated input 'nur': 'github:nix-community/NUR/c4231705e51c32a83297ebb7bc88da0e87fe4ba5' (2023-10-24) → 'github:nix-community/NUR/4364937d33ca6b79cd8b66fdf4ee1758ff279e62' (2023-10-29) • Updated input 'sops-nix': 'github:Mic92/sops-nix/30a0ba4a20703b4bfe047fe5def1fc24978e322c' (2023-10-22) → 'github:Mic92/sops-nix/632c3161a6cc24142c8e3f5529f5d81042571165' (2023-10-29) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/fb000224952bf7749a9e8b3779104ef7ea4465c8' (2023-10-21) → 'github:NixOS/nixpkgs/d87c5d8c41c9b3b39592563242f3a448b5cc4bc9' (2023-10-29) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index e75e9b0..c071779 100644 --- a/flake.lock +++ b/flake.lock @@ -133,11 +133,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1697746376, - "narHash": "sha256-gu77VkgdfaHgNCVufeb6WP9oqFLjwK4jHcoPZmBVF3E=", + "lastModified": 1698227354, + "narHash": "sha256-Fi5H9jbaQLmLw9qBi/mkR33CoFjNbobo5xWdX4tKz1Q=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "8cc349bfd082da8782b989cad2158c9ad5bd70fd", + "rev": "bd38df3d508dfcdff52cd243d297f218ed2257bf", "type": "github" }, "original": { @@ -181,11 +181,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1697929210, - "narHash": "sha256-RkQZif6QhswEwv7484mrKfIU8XmIWm+ED6llbr4IyxM=", + "lastModified": 1698544399, + "narHash": "sha256-vhRmPyEyoPkrXF2iykBsWHA05MIaOSmMRLMF7Hul6+s=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fb000224952bf7749a9e8b3779104ef7ea4465c8", + "rev": "d87c5d8c41c9b3b39592563242f3a448b5cc4bc9", "type": "github" }, "original": { @@ -197,11 +197,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1698178197, - "narHash": "sha256-1/X3YW444tGIKyTXGYPaRwYDxZrU/KuRbYgIKJSUt+o=", + "lastModified": 1698575487, + "narHash": "sha256-msK5JH24pZZ705PSnvZmFXr9JXUrxPylq9fDC6jnApA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "955525b515f43c1f356ebaab40b0b794c67e0e48", + "rev": "71ef7ea8fe2aff7c21cf2e7ec7283a4276a2f366", "type": "github" }, "original": { @@ -213,11 +213,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1697851979, - "narHash": "sha256-lJ8k4qkkwdvi+t/Xc6Fn74kUuobpu9ynPGxNZR6OwoA=", + "lastModified": 1698288402, + "narHash": "sha256-jIIjApPdm+4yt8PglX8pUOexAdEiAax/DXW3S/Mb21E=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5550a85a087c04ddcace7f892b0bdc9d8bb080c8", + "rev": "60b9db998f71ea49e1a9c41824d09aa274be1344", "type": "github" }, "original": { @@ -229,11 +229,11 @@ }, "nur": { "locked": { - "lastModified": 1698176069, - "narHash": "sha256-rjncD+8c3znRZDOB6hugRwMingBHvIz2jtTFCSiMkSk=", + "lastModified": 1698576302, + "narHash": "sha256-1NYfEphk3EXgEt+iDJG1qpsdCRe35BQLNLvVoVe29HM=", "owner": "nix-community", "repo": "NUR", - "rev": "c4231705e51c32a83297ebb7bc88da0e87fe4ba5", + "rev": "4364937d33ca6b79cd8b66fdf4ee1758ff279e62", "type": "github" }, "original": { @@ -263,11 +263,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1697943852, - "narHash": "sha256-DaBxUPaZhQ3yLCmAATshYB7qo7NwcMvSFWz9T3bjYYY=", + "lastModified": 1698548647, + "narHash": "sha256-7c03OjBGqnwDW0FBaBc+NjfEBxMkza+dxZGJPyIzfFE=", "owner": "Mic92", "repo": "sops-nix", - "rev": "30a0ba4a20703b4bfe047fe5def1fc24978e322c", + "rev": "632c3161a6cc24142c8e3f5529f5d81042571165", "type": "github" }, "original": { From b03078b13db7b6841aa14feef6b15fee05e51951 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:51 +0000 Subject: [PATCH 126/766] Update pretix version Bump pretix version from 2023.8.0 to 2023.9.0 --- pkgs/pretix/poetry.lock | 777 +++++++++++++++++----------------- pkgs/pretix/pretix-static.nix | 2 +- pkgs/pretix/pyproject.toml | 2 +- 3 files changed, 395 insertions(+), 386 deletions(-) diff --git a/pkgs/pretix/poetry.lock b/pkgs/pretix/poetry.lock index 5f85404..adc5c52 100644 --- a/pkgs/pretix/poetry.lock +++ b/pkgs/pretix/poetry.lock @@ -2,99 +2,99 @@ [[package]] name = "aiohttp" -version = "3.8.5" +version = "3.8.6" description = "Async http client/server framework (asyncio)" category = "main" optional = false python-versions = ">=3.6" files = [ - {file = "aiohttp-3.8.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a94159871304770da4dd371f4291b20cac04e8c94f11bdea1c3478e557fbe0d8"}, - {file = "aiohttp-3.8.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:13bf85afc99ce6f9ee3567b04501f18f9f8dbbb2ea11ed1a2e079670403a7c84"}, - {file = "aiohttp-3.8.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2ce2ac5708501afc4847221a521f7e4b245abf5178cf5ddae9d5b3856ddb2f3a"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96943e5dcc37a6529d18766597c491798b7eb7a61d48878611298afc1fca946c"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ad5c3c4590bb3cc28b4382f031f3783f25ec223557124c68754a2231d989e2b"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c413c633d0512df4dc7fd2373ec06cc6a815b7b6d6c2f208ada7e9e93a5061d"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df72ac063b97837a80d80dec8d54c241af059cc9bb42c4de68bd5b61ceb37caa"}, - {file = "aiohttp-3.8.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c48c5c0271149cfe467c0ff8eb941279fd6e3f65c9a388c984e0e6cf57538e14"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:368a42363c4d70ab52c2c6420a57f190ed3dfaca6a1b19afda8165ee16416a82"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7607ec3ce4993464368505888af5beb446845a014bc676d349efec0e05085905"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:0d21c684808288a98914e5aaf2a7c6a3179d4df11d249799c32d1808e79503b5"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:312fcfbacc7880a8da0ae8b6abc6cc7d752e9caa0051a53d217a650b25e9a691"}, - {file = "aiohttp-3.8.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ad093e823df03bb3fd37e7dec9d4670c34f9e24aeace76808fc20a507cace825"}, - {file = "aiohttp-3.8.5-cp310-cp310-win32.whl", hash = "sha256:33279701c04351a2914e1100b62b2a7fdb9a25995c4a104259f9a5ead7ed4802"}, - {file = "aiohttp-3.8.5-cp310-cp310-win_amd64.whl", hash = "sha256:6e4a280e4b975a2e7745573e3fc9c9ba0d1194a3738ce1cbaa80626cc9b4f4df"}, - {file = "aiohttp-3.8.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ae871a964e1987a943d83d6709d20ec6103ca1eaf52f7e0d36ee1b5bebb8b9b9"}, - {file = "aiohttp-3.8.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:461908b2578955045efde733719d62f2b649c404189a09a632d245b445c9c975"}, - {file = "aiohttp-3.8.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:72a860c215e26192379f57cae5ab12b168b75db8271f111019509a1196dfc780"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc14be025665dba6202b6a71cfcdb53210cc498e50068bc088076624471f8bb9"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8af740fc2711ad85f1a5c034a435782fbd5b5f8314c9a3ef071424a8158d7f6b"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:841cd8233cbd2111a0ef0a522ce016357c5e3aff8a8ce92bcfa14cef890d698f"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ed1c46fb119f1b59304b5ec89f834f07124cd23ae5b74288e364477641060ff"}, - {file = "aiohttp-3.8.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84f8ae3e09a34f35c18fa57f015cc394bd1389bce02503fb30c394d04ee6b938"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:62360cb771707cb70a6fd114b9871d20d7dd2163a0feafe43fd115cfe4fe845e"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:23fb25a9f0a1ca1f24c0a371523546366bb642397c94ab45ad3aedf2941cec6a"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b0ba0d15164eae3d878260d4c4df859bbdc6466e9e6689c344a13334f988bb53"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5d20003b635fc6ae3f96d7260281dfaf1894fc3aa24d1888a9b2628e97c241e5"}, - {file = "aiohttp-3.8.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0175d745d9e85c40dcc51c8f88c74bfbaef9e7afeeeb9d03c37977270303064c"}, - {file = "aiohttp-3.8.5-cp311-cp311-win32.whl", hash = "sha256:2e1b1e51b0774408f091d268648e3d57f7260c1682e7d3a63cb00d22d71bb945"}, - {file = "aiohttp-3.8.5-cp311-cp311-win_amd64.whl", hash = "sha256:043d2299f6dfdc92f0ac5e995dfc56668e1587cea7f9aa9d8a78a1b6554e5755"}, - {file = "aiohttp-3.8.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cae533195e8122584ec87531d6df000ad07737eaa3c81209e85c928854d2195c"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f21e83f355643c345177a5d1d8079f9f28b5133bcd154193b799d380331d5d3"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a7a75ef35f2df54ad55dbf4b73fe1da96f370e51b10c91f08b19603c64004acc"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e2e9839e14dd5308ee773c97115f1e0a1cb1d75cbeeee9f33824fa5144c7634"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c44e65da1de4403d0576473e2344828ef9c4c6244d65cf4b75549bb46d40b8dd"}, - {file = "aiohttp-3.8.5-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:78d847e4cde6ecc19125ccbc9bfac4a7ab37c234dd88fbb3c5c524e8e14da543"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:c7a815258e5895d8900aec4454f38dca9aed71085f227537208057853f9d13f2"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:8b929b9bd7cd7c3939f8bcfffa92fae7480bd1aa425279d51a89327d600c704d"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:5db3a5b833764280ed7618393832e0853e40f3d3e9aa128ac0ba0f8278d08649"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:a0215ce6041d501f3155dc219712bc41252d0ab76474615b9700d63d4d9292af"}, - {file = "aiohttp-3.8.5-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:fd1ed388ea7fbed22c4968dd64bab0198de60750a25fe8c0c9d4bef5abe13824"}, - {file = "aiohttp-3.8.5-cp36-cp36m-win32.whl", hash = "sha256:6e6783bcc45f397fdebc118d772103d751b54cddf5b60fbcc958382d7dd64f3e"}, - {file = "aiohttp-3.8.5-cp36-cp36m-win_amd64.whl", hash = "sha256:b5411d82cddd212644cf9360879eb5080f0d5f7d809d03262c50dad02f01421a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:01d4c0c874aa4ddfb8098e85d10b5e875a70adc63db91f1ae65a4b04d3344cda"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5980a746d547a6ba173fd5ee85ce9077e72d118758db05d229044b469d9029a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2a482e6da906d5e6e653be079b29bc173a48e381600161c9932d89dfae5942ef"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80bd372b8d0715c66c974cf57fe363621a02f359f1ec81cba97366948c7fc873"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1161b345c0a444ebcf46bf0a740ba5dcf50612fd3d0528883fdc0eff578006a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd56db019015b6acfaaf92e1ac40eb8434847d9bf88b4be4efe5bfd260aee692"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:153c2549f6c004d2754cc60603d4668899c9895b8a89397444a9c4efa282aaf4"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4a01951fabc4ce26ab791da5f3f24dca6d9a6f24121746eb19756416ff2d881b"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bfb9162dcf01f615462b995a516ba03e769de0789de1cadc0f916265c257e5d8"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:7dde0009408969a43b04c16cbbe252c4f5ef4574ac226bc8815cd7342d2028b6"}, - {file = "aiohttp-3.8.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4149d34c32f9638f38f544b3977a4c24052042affa895352d3636fa8bffd030a"}, - {file = "aiohttp-3.8.5-cp37-cp37m-win32.whl", hash = "sha256:68c5a82c8779bdfc6367c967a4a1b2aa52cd3595388bf5961a62158ee8a59e22"}, - {file = "aiohttp-3.8.5-cp37-cp37m-win_amd64.whl", hash = "sha256:2cf57fb50be5f52bda004b8893e63b48530ed9f0d6c96c84620dc92fe3cd9b9d"}, - {file = "aiohttp-3.8.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:eca4bf3734c541dc4f374ad6010a68ff6c6748f00451707f39857f429ca36ced"}, - {file = "aiohttp-3.8.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1274477e4c71ce8cfe6c1ec2f806d57c015ebf84d83373676036e256bc55d690"}, - {file = "aiohttp-3.8.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:28c543e54710d6158fc6f439296c7865b29e0b616629767e685a7185fab4a6b9"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:910bec0c49637d213f5d9877105d26e0c4a4de2f8b1b29405ff37e9fc0ad52b8"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5443910d662db951b2e58eb70b0fbe6b6e2ae613477129a5805d0b66c54b6cb7"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e460be6978fc24e3df83193dc0cc4de46c9909ed92dd47d349a452ef49325b7"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb1558def481d84f03b45888473fc5a1f35747b5f334ef4e7a571bc0dfcb11f8"}, - {file = "aiohttp-3.8.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34dd0c107799dcbbf7d48b53be761a013c0adf5571bf50c4ecad5643fe9cfcd0"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:aa1990247f02a54185dc0dff92a6904521172a22664c863a03ff64c42f9b5410"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0e584a10f204a617d71d359fe383406305a4b595b333721fa50b867b4a0a1548"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:a3cf433f127efa43fee6b90ea4c6edf6c4a17109d1d037d1a52abec84d8f2e42"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:c11f5b099adafb18e65c2c997d57108b5bbeaa9eeee64a84302c0978b1ec948b"}, - {file = "aiohttp-3.8.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:84de26ddf621d7ac4c975dbea4c945860e08cccde492269db4e1538a6a6f3c35"}, - {file = "aiohttp-3.8.5-cp38-cp38-win32.whl", hash = "sha256:ab88bafedc57dd0aab55fa728ea10c1911f7e4d8b43e1d838a1739f33712921c"}, - {file = "aiohttp-3.8.5-cp38-cp38-win_amd64.whl", hash = "sha256:5798a9aad1879f626589f3df0f8b79b3608a92e9beab10e5fda02c8a2c60db2e"}, - {file = "aiohttp-3.8.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a6ce61195c6a19c785df04e71a4537e29eaa2c50fe745b732aa937c0c77169f3"}, - {file = "aiohttp-3.8.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:773dd01706d4db536335fcfae6ea2440a70ceb03dd3e7378f3e815b03c97ab51"}, - {file = "aiohttp-3.8.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f83a552443a526ea38d064588613aca983d0ee0038801bc93c0c916428310c28"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f7372f7341fcc16f57b2caded43e81ddd18df53320b6f9f042acad41f8e049a"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea353162f249c8097ea63c2169dd1aa55de1e8fecbe63412a9bc50816e87b761"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5d47ae48db0b2dcf70bc8a3bc72b3de86e2a590fc299fdbbb15af320d2659de"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d827176898a2b0b09694fbd1088c7a31836d1a505c243811c87ae53a3f6273c1"}, - {file = "aiohttp-3.8.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3562b06567c06439d8b447037bb655ef69786c590b1de86c7ab81efe1c9c15d8"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4e874cbf8caf8959d2adf572a78bba17cb0e9d7e51bb83d86a3697b686a0ab4d"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6809a00deaf3810e38c628e9a33271892f815b853605a936e2e9e5129762356c"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:33776e945d89b29251b33a7e7d006ce86447b2cfd66db5e5ded4e5cd0340585c"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:eaeed7abfb5d64c539e2db173f63631455f1196c37d9d8d873fc316470dfbacd"}, - {file = "aiohttp-3.8.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e91d635961bec2d8f19dfeb41a539eb94bd073f075ca6dae6c8dc0ee89ad6f91"}, - {file = "aiohttp-3.8.5-cp39-cp39-win32.whl", hash = "sha256:00ad4b6f185ec67f3e6562e8a1d2b69660be43070bd0ef6fcec5211154c7df67"}, - {file = "aiohttp-3.8.5-cp39-cp39-win_amd64.whl", hash = "sha256:c0a9034379a37ae42dea7ac1e048352d96286626251862e448933c0f59cbd79c"}, - {file = "aiohttp-3.8.5.tar.gz", hash = "sha256:b9552ec52cc147dbf1944ac7ac98af7602e51ea2dcd076ed194ca3c0d1c7d0bc"}, + {file = "aiohttp-3.8.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:41d55fc043954cddbbd82503d9cc3f4814a40bcef30b3569bc7b5e34130718c1"}, + {file = "aiohttp-3.8.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1d84166673694841d8953f0a8d0c90e1087739d24632fe86b1a08819168b4566"}, + {file = "aiohttp-3.8.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:253bf92b744b3170eb4c4ca2fa58f9c4b87aeb1df42f71d4e78815e6e8b73c9e"}, + {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3fd194939b1f764d6bb05490987bfe104287bbf51b8d862261ccf66f48fb4096"}, + {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c5f938d199a6fdbdc10bbb9447496561c3a9a565b43be564648d81e1102ac22"}, + {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2817b2f66ca82ee699acd90e05c95e79bbf1dc986abb62b61ec8aaf851e81c93"}, + {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0fa375b3d34e71ccccf172cab401cd94a72de7a8cc01847a7b3386204093bb47"}, + {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9de50a199b7710fa2904be5a4a9b51af587ab24c8e540a7243ab737b45844543"}, + {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e1d8cb0b56b3587c5c01de3bf2f600f186da7e7b5f7353d1bf26a8ddca57f965"}, + {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8e31e9db1bee8b4f407b77fd2507337a0a80665ad7b6c749d08df595d88f1cf5"}, + {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:7bc88fc494b1f0311d67f29fee6fd636606f4697e8cc793a2d912ac5b19aa38d"}, + {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:ec00c3305788e04bf6d29d42e504560e159ccaf0be30c09203b468a6c1ccd3b2"}, + {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ad1407db8f2f49329729564f71685557157bfa42b48f4b93e53721a16eb813ed"}, + {file = "aiohttp-3.8.6-cp310-cp310-win32.whl", hash = "sha256:ccc360e87341ad47c777f5723f68adbb52b37ab450c8bc3ca9ca1f3e849e5fe2"}, + {file = "aiohttp-3.8.6-cp310-cp310-win_amd64.whl", hash = "sha256:93c15c8e48e5e7b89d5cb4613479d144fda8344e2d886cf694fd36db4cc86865"}, + {file = "aiohttp-3.8.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6e2f9cc8e5328f829f6e1fb74a0a3a939b14e67e80832975e01929e320386b34"}, + {file = "aiohttp-3.8.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e6a00ffcc173e765e200ceefb06399ba09c06db97f401f920513a10c803604ca"}, + {file = "aiohttp-3.8.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:41bdc2ba359032e36c0e9de5a3bd00d6fb7ea558a6ce6b70acedf0da86458321"}, + {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14cd52ccf40006c7a6cd34a0f8663734e5363fd981807173faf3a017e202fec9"}, + {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2d5b785c792802e7b275c420d84f3397668e9d49ab1cb52bd916b3b3ffcf09ad"}, + {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1bed815f3dc3d915c5c1e556c397c8667826fbc1b935d95b0ad680787896a358"}, + {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96603a562b546632441926cd1293cfcb5b69f0b4159e6077f7c7dbdfb686af4d"}, + {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d76e8b13161a202d14c9584590c4df4d068c9567c99506497bdd67eaedf36403"}, + {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e3f1e3f1a1751bb62b4a1b7f4e435afcdade6c17a4fd9b9d43607cebd242924a"}, + {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:76b36b3124f0223903609944a3c8bf28a599b2cc0ce0be60b45211c8e9be97f8"}, + {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:a2ece4af1f3c967a4390c284797ab595a9f1bc1130ef8b01828915a05a6ae684"}, + {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:16d330b3b9db87c3883e565340d292638a878236418b23cc8b9b11a054aaa887"}, + {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:42c89579f82e49db436b69c938ab3e1559e5a4409eb8639eb4143989bc390f2f"}, + {file = "aiohttp-3.8.6-cp311-cp311-win32.whl", hash = "sha256:efd2fcf7e7b9d7ab16e6b7d54205beded0a9c8566cb30f09c1abe42b4e22bdcb"}, + {file = "aiohttp-3.8.6-cp311-cp311-win_amd64.whl", hash = "sha256:3b2ab182fc28e7a81f6c70bfbd829045d9480063f5ab06f6e601a3eddbbd49a0"}, + {file = "aiohttp-3.8.6-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:fdee8405931b0615220e5ddf8cd7edd8592c606a8e4ca2a00704883c396e4479"}, + {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d25036d161c4fe2225d1abff2bd52c34ed0b1099f02c208cd34d8c05729882f0"}, + {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d791245a894be071d5ab04bbb4850534261a7d4fd363b094a7b9963e8cdbd31"}, + {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0cccd1de239afa866e4ce5c789b3032442f19c261c7d8a01183fd956b1935349"}, + {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f13f60d78224f0dace220d8ab4ef1dbc37115eeeab8c06804fec11bec2bbd07"}, + {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a9b5a0606faca4f6cc0d338359d6fa137104c337f489cd135bb7fbdbccb1e39"}, + {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:13da35c9ceb847732bf5c6c5781dcf4780e14392e5d3b3c689f6d22f8e15ae31"}, + {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:4d4cbe4ffa9d05f46a28252efc5941e0462792930caa370a6efaf491f412bc66"}, + {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:229852e147f44da0241954fc6cb910ba074e597f06789c867cb7fb0621e0ba7a"}, + {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:713103a8bdde61d13490adf47171a1039fd880113981e55401a0f7b42c37d071"}, + {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:45ad816b2c8e3b60b510f30dbd37fe74fd4a772248a52bb021f6fd65dff809b6"}, + {file = "aiohttp-3.8.6-cp36-cp36m-win32.whl", hash = "sha256:2b8d4e166e600dcfbff51919c7a3789ff6ca8b3ecce16e1d9c96d95dd569eb4c"}, + {file = "aiohttp-3.8.6-cp36-cp36m-win_amd64.whl", hash = "sha256:0912ed87fee967940aacc5306d3aa8ba3a459fcd12add0b407081fbefc931e53"}, + {file = "aiohttp-3.8.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e2a988a0c673c2e12084f5e6ba3392d76c75ddb8ebc6c7e9ead68248101cd446"}, + {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebf3fd9f141700b510d4b190094db0ce37ac6361a6806c153c161dc6c041ccda"}, + {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3161ce82ab85acd267c8f4b14aa226047a6bee1e4e6adb74b798bd42c6ae1f80"}, + {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d95fc1bf33a9a81469aa760617b5971331cdd74370d1214f0b3109272c0e1e3c"}, + {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c43ecfef7deaf0617cee936836518e7424ee12cb709883f2c9a1adda63cc460"}, + {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca80e1b90a05a4f476547f904992ae81eda5c2c85c66ee4195bb8f9c5fb47f28"}, + {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:90c72ebb7cb3a08a7f40061079817133f502a160561d0675b0a6adf231382c92"}, + {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:bb54c54510e47a8c7c8e63454a6acc817519337b2b78606c4e840871a3e15349"}, + {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:de6a1c9f6803b90e20869e6b99c2c18cef5cc691363954c93cb9adeb26d9f3ae"}, + {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:a3628b6c7b880b181a3ae0a0683698513874df63783fd89de99b7b7539e3e8a8"}, + {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:fc37e9aef10a696a5a4474802930079ccfc14d9f9c10b4662169671ff034b7df"}, + {file = "aiohttp-3.8.6-cp37-cp37m-win32.whl", hash = "sha256:f8ef51e459eb2ad8e7a66c1d6440c808485840ad55ecc3cafefadea47d1b1ba2"}, + {file = "aiohttp-3.8.6-cp37-cp37m-win_amd64.whl", hash = "sha256:b2fe42e523be344124c6c8ef32a011444e869dc5f883c591ed87f84339de5976"}, + {file = "aiohttp-3.8.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:9e2ee0ac5a1f5c7dd3197de309adfb99ac4617ff02b0603fd1e65b07dc772e4b"}, + {file = "aiohttp-3.8.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:01770d8c04bd8db568abb636c1fdd4f7140b284b8b3e0b4584f070180c1e5c62"}, + {file = "aiohttp-3.8.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3c68330a59506254b556b99a91857428cab98b2f84061260a67865f7f52899f5"}, + {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89341b2c19fb5eac30c341133ae2cc3544d40d9b1892749cdd25892bbc6ac951"}, + {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71783b0b6455ac8f34b5ec99d83e686892c50498d5d00b8e56d47f41b38fbe04"}, + {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f628dbf3c91e12f4d6c8b3f092069567d8eb17814aebba3d7d60c149391aee3a"}, + {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b04691bc6601ef47c88f0255043df6f570ada1a9ebef99c34bd0b72866c217ae"}, + {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ee912f7e78287516df155f69da575a0ba33b02dd7c1d6614dbc9463f43066e3"}, + {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9c19b26acdd08dd239e0d3669a3dddafd600902e37881f13fbd8a53943079dbc"}, + {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:99c5ac4ad492b4a19fc132306cd57075c28446ec2ed970973bbf036bcda1bcc6"}, + {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:f0f03211fd14a6a0aed2997d4b1c013d49fb7b50eeb9ffdf5e51f23cfe2c77fa"}, + {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:8d399dade330c53b4106160f75f55407e9ae7505263ea86f2ccca6bfcbdb4921"}, + {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ec4fd86658c6a8964d75426517dc01cbf840bbf32d055ce64a9e63a40fd7b771"}, + {file = "aiohttp-3.8.6-cp38-cp38-win32.whl", hash = "sha256:33164093be11fcef3ce2571a0dccd9041c9a93fa3bde86569d7b03120d276c6f"}, + {file = "aiohttp-3.8.6-cp38-cp38-win_amd64.whl", hash = "sha256:bdf70bfe5a1414ba9afb9d49f0c912dc524cf60141102f3a11143ba3d291870f"}, + {file = "aiohttp-3.8.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d52d5dc7c6682b720280f9d9db41d36ebe4791622c842e258c9206232251ab2b"}, + {file = "aiohttp-3.8.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4ac39027011414dbd3d87f7edb31680e1f430834c8cef029f11c66dad0670aa5"}, + {file = "aiohttp-3.8.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3f5c7ce535a1d2429a634310e308fb7d718905487257060e5d4598e29dc17f0b"}, + {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b30e963f9e0d52c28f284d554a9469af073030030cef8693106d918b2ca92f54"}, + {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:918810ef188f84152af6b938254911055a72e0f935b5fbc4c1a4ed0b0584aed1"}, + {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:002f23e6ea8d3dd8d149e569fd580c999232b5fbc601c48d55398fbc2e582e8c"}, + {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4fcf3eabd3fd1a5e6092d1242295fa37d0354b2eb2077e6eb670accad78e40e1"}, + {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:255ba9d6d5ff1a382bb9a578cd563605aa69bec845680e21c44afc2670607a95"}, + {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d67f8baed00870aa390ea2590798766256f31dc5ed3ecc737debb6e97e2ede78"}, + {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:86f20cee0f0a317c76573b627b954c412ea766d6ada1a9fcf1b805763ae7feeb"}, + {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:39a312d0e991690ccc1a61f1e9e42daa519dcc34ad03eb6f826d94c1190190dd"}, + {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:e827d48cf802de06d9c935088c2924e3c7e7533377d66b6f31ed175c1620e05e"}, + {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bd111d7fc5591ddf377a408ed9067045259ff2770f37e2d94e6478d0f3fc0c17"}, + {file = "aiohttp-3.8.6-cp39-cp39-win32.whl", hash = "sha256:caf486ac1e689dda3502567eb89ffe02876546599bbf915ec94b1fa424eeffd4"}, + {file = "aiohttp-3.8.6-cp39-cp39-win_amd64.whl", hash = "sha256:3f0e27e5b733803333bb2371249f41cf42bae8884863e8e8965ec69bebe53132"}, + {file = "aiohttp-3.8.6.tar.gz", hash = "sha256:b0cf2a4501bff9330a8a5248b4ce951851e415bdcce9dc158e76cfd55e15085c"}, ] [package.dependencies] @@ -205,16 +205,19 @@ tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pyte [[package]] name = "babel" -version = "2.13.0" +version = "2.13.1" description = "Internationalization utilities" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "Babel-2.13.0-py3-none-any.whl", hash = "sha256:fbfcae1575ff78e26c7449136f1abbefc3c13ce542eeb13d43d50d8b047216ec"}, - {file = "Babel-2.13.0.tar.gz", hash = "sha256:04c3e2d28d2b7681644508f836be388ae49e0cfe91465095340395b60d00f210"}, + {file = "Babel-2.13.1-py3-none-any.whl", hash = "sha256:7077a4984b02b6727ac10f1f7294484f737443d7e2e66c5e4380e41a3ae0b4ed"}, + {file = "Babel-2.13.1.tar.gz", hash = "sha256:33e0952d7dd6374af8dbf6768cc4ddf3ccfefc244f9986d4074704f2fbd18900"}, ] +[package.dependencies] +setuptools = {version = "*", markers = "python_version >= \"3.12\""} + [package.extras] dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] @@ -271,53 +274,55 @@ dev = ["Sphinx (==4.3.2)", "black (==22.3.0)", "build (==0.8.0)", "flake8 (==4.0 [[package]] name = "cbor2" -version = "5.4.6" +version = "5.5.0" description = "CBOR (de)serializer with extensive tag support" category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "cbor2-5.4.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:309fffbb7f561d67f02095d4b9657b73c9220558701c997e9bfcfbca2696e927"}, - {file = "cbor2-5.4.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ff95b33e5482313a74648ca3620c9328e9f30ecfa034df040b828e476597d352"}, - {file = "cbor2-5.4.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:db9eb582fce972f0fa429d8159b7891ff8deccb7affc4995090afc61ce0d328a"}, - {file = "cbor2-5.4.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3950be57a1698086cf26d8710b4e5a637b65133c5b1f9eec23967d4089d8cfed"}, - {file = "cbor2-5.4.6-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:78304df140b9e13b93bcbb2aecee64c9aaa9f1cadbd45f043b5e7b93cc2f21a2"}, - {file = "cbor2-5.4.6-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e73ca40dd3c7210ff776acff9869ddc9ff67bae7c425b58e5715dcf55275163f"}, - {file = "cbor2-5.4.6-cp310-cp310-win_amd64.whl", hash = "sha256:0b956f19e93ba3180c336282cd1b6665631f2d3a196a9c19b29a833bf979e7a4"}, - {file = "cbor2-5.4.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1c12c0ab78f5bc290b08a79152a8621822415836a86f8f4b50dadba371736fda"}, - {file = "cbor2-5.4.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3545b16f9f0d5f34d4c99052829c3726020a07be34c99c250d0df87418f02954"}, - {file = "cbor2-5.4.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:24144822f8d2b0156f4cda9427f071f969c18683ffed39663dc86bc0a75ae4dd"}, - {file = "cbor2-5.4.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1835536e76ea16e88c934aac5e369ba9f93d495b01e5fa2d93f0b4986b89146d"}, - {file = "cbor2-5.4.6-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:39452c799453f5bf33281ffc0752c620b8bfa0b7c13070b87d370257a1311976"}, - {file = "cbor2-5.4.6-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3316f09a77af85e7772ecfdd693b0f450678a60b1aee641bac319289757e3fa0"}, - {file = "cbor2-5.4.6-cp311-cp311-win_amd64.whl", hash = "sha256:456cdff668a50a52fdb8aa6d0742511e43ed46d6a5b463dba80a5a720fa0d320"}, - {file = "cbor2-5.4.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:9394ca49ecdf0957924e45d09a4026482d184a465a047f60c4044eb464c43de9"}, - {file = "cbor2-5.4.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56dfa030cd3d67e5b6701d3067923f2f61536a8ffb1b45be14775d1e866b59ae"}, - {file = "cbor2-5.4.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e5094562dfe3e5583202b93ef7ca5082c2ba5571accb2c4412d27b7d0ba8a563"}, - {file = "cbor2-5.4.6-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:94f844d0e232aca061a86dd6ff191e47ba0389ddd34acb784ad9a41594dc99a4"}, - {file = "cbor2-5.4.6-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:7bbd3470eb685325398023e335be896b74f61b014896604ed45049a7b7b6d8ac"}, - {file = "cbor2-5.4.6-cp37-cp37m-win_amd64.whl", hash = "sha256:0bd12c54a48949d11f5ffc2fa27f5df1b4754111f5207453e5fae3512ebb3cab"}, - {file = "cbor2-5.4.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d2984a488f350aee1d54fa9cb8c6a3c1f1f5b268abbc91161e47185de4d829f3"}, - {file = "cbor2-5.4.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c285a2cb2c04004bfead93df89d92a0cef1874ad337d0cb5ea53c2c31e97bfdb"}, - {file = "cbor2-5.4.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6709d97695205cd08255363b54afa035306d5302b7b5e38308c8ff5a47e60f2a"}, - {file = "cbor2-5.4.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96087fa5336ebfc94465c0768cd5de0fcf9af3840d2cf0ce32f5767855f1a293"}, - {file = "cbor2-5.4.6-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0d2b926b024d3a1549b819bc82fdc387062bbd977b0299dd5fa5e0ea3267b98b"}, - {file = "cbor2-5.4.6-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6e1b5aee920b6a2f737aa12e2b54de3826b09f885a7ce402db84216343368140"}, - {file = "cbor2-5.4.6-cp38-cp38-win_amd64.whl", hash = "sha256:79e048e623846d60d735bb350263e8fdd36cb6195d7f1a2b57eacd573d9c0b33"}, - {file = "cbor2-5.4.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:80ac8ba450c7a41c5afe5f7e503d3092442ed75393e1de162b0bf0d97edf7c7f"}, - {file = "cbor2-5.4.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4ce1a2c272ba8523a55ea2f1d66e3464e89fa0e37c9a3d786a919fe64e68dbd7"}, - {file = "cbor2-5.4.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1618d16e310f7ffed141762b0ff5d8bb6b53ad449406115cc465bf04213cefcf"}, - {file = "cbor2-5.4.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4bbbdb2e3ef274865dc3f279aae109b5d94f4654aea3c72c479fb37e4a1e7ed7"}, - {file = "cbor2-5.4.6-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6f9c702bee2954fffdfa3de95a5af1a6b1c5f155e39490353d5654d83bb05bb9"}, - {file = "cbor2-5.4.6-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4b9f3924da0e460a93b3674c7e71020dd6c9e9f17400a34e52a88c0af2dcd2aa"}, - {file = "cbor2-5.4.6-cp39-cp39-win_amd64.whl", hash = "sha256:d54bd840b4fe34f097b8665fc0692c7dd175349e53976be6c5de4433b970daa4"}, - {file = "cbor2-5.4.6-py3-none-any.whl", hash = "sha256:181ac494091d1f9c5bb373cd85514ce1eb967a8cf3ec298e8dfa8878aa823956"}, - {file = "cbor2-5.4.6.tar.gz", hash = "sha256:b893500db0fe033e570c3adc956af6eefc57e280026bd2d86fd53da9f1e594d7"}, + {file = "cbor2-5.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1ea9f9ede6b99d9283ddca8aa0114b163fc5f3e7e0bfb20b2c1231ccffe6dfa2"}, + {file = "cbor2-5.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7ed4c8e78cb37ac471499e368cf6e61606b9be6b314e8fd26a2140b1485e7713"}, + {file = "cbor2-5.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9bbc1caf81dda3e0596ab60a9705b72c243c61d42e2f6054c32f68ce24ee7069"}, + {file = "cbor2-5.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b0372dcc81c1a2659713b81f6eaa2664889d298e35f46739b45d579aa1f0324"}, + {file = "cbor2-5.5.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:319d73c7fb22fc27f5f76cca6d22dd5dc924da5e907667421276e4857eb03e97"}, + {file = "cbor2-5.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c7547022c4ab2ba21240a93382f6ee758d9afbb7660625ea82b6fe004de7c344"}, + {file = "cbor2-5.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:3e5b411e483aa4132f59a49549db4862ec6cec8faea5aede796de79e450ca058"}, + {file = "cbor2-5.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e4ef724e6f2b18f1d75a4dc6c136a900ba31928cf96a0a57e8d422fe1d36dc73"}, + {file = "cbor2-5.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6b3e99ad82b4f106e5fcdb270503b040f68c07fce2425a650ec17dafd2e818d0"}, + {file = "cbor2-5.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a48f9e69b8749178340c03933a549eecd0c427df2931f91f3c6d50268980f3c3"}, + {file = "cbor2-5.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0eeb081fdcfd82320ac1d15821ffa8740e91269ac16350ecb81e7c2af532657a"}, + {file = "cbor2-5.5.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:165506e8ad17da248dc519bd3b416aa436ac6d4b0b3b6df413e0cd0e99ebdca6"}, + {file = "cbor2-5.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:56975266e45bc02fe4ed33d4aaa54a755df9d9c52af5b07f3561c257cc71666f"}, + {file = "cbor2-5.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:b1123fd77c6cd34ebc9c96e9739fc65bf9dea4a935733ac106ceff78cd101500"}, + {file = "cbor2-5.5.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:817b951d4454854836deefd968c3b48168ea61bd45aa43985097a641ad64e019"}, + {file = "cbor2-5.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7a0a6abb60c2ee9d2cddbfc8a5964144b7d39ca9fc00fdaf1fde6a36b148fb1c"}, + {file = "cbor2-5.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:98283f372a443e8bd74eb12f609200427a65bc2079bdb53b5b8d290d0e414205"}, + {file = "cbor2-5.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ee5c56a3348747803e88242c170d71a8b37da04d02690298cfc6deb3c835610"}, + {file = "cbor2-5.5.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9911a502a507ee275addbd2b9585767c4b3769b906d76fbdac7f4a6fd0e70cd3"}, + {file = "cbor2-5.5.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5bef8ade50940d7cee2083020685068426c3553f416ff1321ee8b7bc6d3dbb0c"}, + {file = "cbor2-5.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:4da17036611bf8809bc5b20fce6e37ab1e792bca6ada713f9ce84cdef66c6c82"}, + {file = "cbor2-5.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9ccbdcc14056a246b71b2274e6e8d842a54b667c16ad6bf74f889f722b82499b"}, + {file = "cbor2-5.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:dfa2dd19efe994a67b9ffa33cc20ccdaa6b8e8fd5848a4c13701bdbaec86eff1"}, + {file = "cbor2-5.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ae3c8b8fba719fc2c10591ab881ea1642130ecac321d17e195ace5766918c646"}, + {file = "cbor2-5.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:779e2de091ab022fcfc3d2a32489344268e067b852b884ecabfa84a678a7fba0"}, + {file = "cbor2-5.5.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a73b2902f2deac8033d2571025a8430345e0de4326312dd5040a5187f6825fe7"}, + {file = "cbor2-5.5.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2cf21356d1dd9d13ab9997b4134c21d132b85dd6e778f5d602cdc3310cc946e9"}, + {file = "cbor2-5.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:162a4511fda3b71d9257a3356645d162e8e3b707b9fffe052237ee0b933651bc"}, + {file = "cbor2-5.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:16e217cbfc8bf47dfdcd7e4d570efee785cda187150d9b7ab7cfc8202d87fa5f"}, + {file = "cbor2-5.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:44453c1d3289ccd508f43f1cce876a2800659c32ffe4732d6e75f1dc7b6a1efa"}, + {file = "cbor2-5.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4832ab39e037a084ea180d2f8bc746fff84a35bb419ec40edfe6b0e69cad3fed"}, + {file = "cbor2-5.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf50d4961180f0780c185e10a813f9115fd4e8275d65ab767450adbcdf94517a"}, + {file = "cbor2-5.5.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:30798f1c9e65db40e4b323bb34bae2106f10663792864558a470b455776b4439"}, + {file = "cbor2-5.5.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:de98295ef3db971548e44c1c7e745f450778bcbbbf9fff3d1fb4265094a57ce5"}, + {file = "cbor2-5.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:ba1b0f546f47ccd0f55605b8102ca66d4c19dcae42ab6d6a4d2d75526aac5282"}, + {file = "cbor2-5.5.0-py3-none-any.whl", hash = "sha256:d478ef30fa559cdc819c2c9c78e5b20bd69e570c29e1070c537abe28a03c87b8"}, + {file = "cbor2-5.5.0.tar.gz", hash = "sha256:380a427faed0202236dccca6b1dc0491f35c0598bdb6cac983616f6106127bd7"}, ] [package.extras] -doc = ["sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] -test = ["pytest", "pytest-cov"] +benchmarks = ["pytest-benchmark (==4.0.0)"] +doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme (>=1.3.0)", "typing-extensions"] +test = ["coverage (>=7)", "hypothesis", "pytest"] [[package]] name = "celery" @@ -466,102 +471,102 @@ files = [ [[package]] name = "charset-normalizer" -version = "3.3.0" +version = "3.3.1" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." category = "main" optional = false python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-3.3.0.tar.gz", hash = "sha256:63563193aec44bce707e0c5ca64ff69fa72ed7cf34ce6e11d5127555756fd2f6"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:effe5406c9bd748a871dbcaf3ac69167c38d72db8c9baf3ff954c344f31c4cbe"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4162918ef3098851fcd8a628bf9b6a98d10c380725df9e04caf5ca6dd48c847a"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0570d21da019941634a531444364f2482e8db0b3425fcd5ac0c36565a64142c8"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5707a746c6083a3a74b46b3a631d78d129edab06195a92a8ece755aac25a3f3d"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:278c296c6f96fa686d74eb449ea1697f3c03dc28b75f873b65b5201806346a69"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a4b71f4d1765639372a3b32d2638197f5cd5221b19531f9245fcc9ee62d38f56"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5969baeaea61c97efa706b9b107dcba02784b1601c74ac84f2a532ea079403e"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a3f93dab657839dfa61025056606600a11d0b696d79386f974e459a3fbc568ec"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:db756e48f9c5c607b5e33dd36b1d5872d0422e960145b08ab0ec7fd420e9d649"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:232ac332403e37e4a03d209a3f92ed9071f7d3dbda70e2a5e9cff1c4ba9f0678"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e5c1502d4ace69a179305abb3f0bb6141cbe4714bc9b31d427329a95acfc8bdd"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:2502dd2a736c879c0f0d3e2161e74d9907231e25d35794584b1ca5284e43f596"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23e8565ab7ff33218530bc817922fae827420f143479b753104ab801145b1d5b"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-win32.whl", hash = "sha256:1872d01ac8c618a8da634e232f24793883d6e456a66593135aeafe3784b0848d"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:557b21a44ceac6c6b9773bc65aa1b4cc3e248a5ad2f5b914b91579a32e22204d"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d7eff0f27edc5afa9e405f7165f85a6d782d308f3b6b9d96016c010597958e63"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a685067d05e46641d5d1623d7c7fdf15a357546cbb2f71b0ebde91b175ffc3e"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0d3d5b7db9ed8a2b11a774db2bbea7ba1884430a205dbd54a32d61d7c2a190fa"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2935ffc78db9645cb2086c2f8f4cfd23d9b73cc0dc80334bc30aac6f03f68f8c"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fe359b2e3a7729010060fbca442ca225280c16e923b37db0e955ac2a2b72a05"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:380c4bde80bce25c6e4f77b19386f5ec9db230df9f2f2ac1e5ad7af2caa70459"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0d1e3732768fecb052d90d62b220af62ead5748ac51ef61e7b32c266cac9293"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1b2919306936ac6efb3aed1fbf81039f7087ddadb3160882a57ee2ff74fd2382"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f8888e31e3a85943743f8fc15e71536bda1c81d5aa36d014a3c0c44481d7db6e"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:82eb849f085624f6a607538ee7b83a6d8126df6d2f7d3b319cb837b289123078"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7b8b8bf1189b3ba9b8de5c8db4d541b406611a71a955bbbd7385bbc45fcb786c"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5adf257bd58c1b8632046bbe43ee38c04e1038e9d37de9c57a94d6bd6ce5da34"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c350354efb159b8767a6244c166f66e67506e06c8924ed74669b2c70bc8735b1"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-win32.whl", hash = "sha256:02af06682e3590ab952599fbadac535ede5d60d78848e555aa58d0c0abbde786"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:86d1f65ac145e2c9ed71d8ffb1905e9bba3a91ae29ba55b4c46ae6fc31d7c0d4"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:3b447982ad46348c02cb90d230b75ac34e9886273df3a93eec0539308a6296d7"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:abf0d9f45ea5fb95051c8bfe43cb40cda383772f7e5023a83cc481ca2604d74e"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b09719a17a2301178fac4470d54b1680b18a5048b481cb8890e1ef820cb80455"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b3d9b48ee6e3967b7901c052b670c7dda6deb812c309439adaffdec55c6d7b78"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:edfe077ab09442d4ef3c52cb1f9dab89bff02f4524afc0acf2d46be17dc479f5"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3debd1150027933210c2fc321527c2299118aa929c2f5a0a80ab6953e3bd1908"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86f63face3a527284f7bb8a9d4f78988e3c06823f7bea2bd6f0e0e9298ca0403"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:24817cb02cbef7cd499f7c9a2735286b4782bd47a5b3516a0e84c50eab44b98e"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c71f16da1ed8949774ef79f4a0260d28b83b3a50c6576f8f4f0288d109777989"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:9cf3126b85822c4e53aa28c7ec9869b924d6fcfb76e77a45c44b83d91afd74f9"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:b3b2316b25644b23b54a6f6401074cebcecd1244c0b8e80111c9a3f1c8e83d65"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:03680bb39035fbcffe828eae9c3f8afc0428c91d38e7d61aa992ef7a59fb120e"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4cc152c5dd831641e995764f9f0b6589519f6f5123258ccaca8c6d34572fefa8"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-win32.whl", hash = "sha256:b8f3307af845803fb0b060ab76cf6dd3a13adc15b6b451f54281d25911eb92df"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:8eaf82f0eccd1505cf39a45a6bd0a8cf1c70dcfc30dba338207a969d91b965c0"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dc45229747b67ffc441b3de2f3ae5e62877a282ea828a5bdb67883c4ee4a8810"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f4a0033ce9a76e391542c182f0d48d084855b5fcba5010f707c8e8c34663d77"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ada214c6fa40f8d800e575de6b91a40d0548139e5dc457d2ebb61470abf50186"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b1121de0e9d6e6ca08289583d7491e7fcb18a439305b34a30b20d8215922d43c"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1063da2c85b95f2d1a430f1c33b55c9c17ffaf5e612e10aeaad641c55a9e2b9d"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70f1d09c0d7748b73290b29219e854b3207aea922f839437870d8cc2168e31cc"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:250c9eb0f4600361dd80d46112213dff2286231d92d3e52af1e5a6083d10cad9"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:750b446b2ffce1739e8578576092179160f6d26bd5e23eb1789c4d64d5af7dc7"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:fc52b79d83a3fe3a360902d3f5d79073a993597d48114c29485e9431092905d8"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:588245972aca710b5b68802c8cad9edaa98589b1b42ad2b53accd6910dad3545"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e39c7eb31e3f5b1f88caff88bcff1b7f8334975b46f6ac6e9fc725d829bc35d4"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-win32.whl", hash = "sha256:abecce40dfebbfa6abf8e324e1860092eeca6f7375c8c4e655a8afb61af58f2c"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:24a91a981f185721542a0b7c92e9054b7ab4fea0508a795846bc5b0abf8118d4"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:67b8cc9574bb518ec76dc8e705d4c39ae78bb96237cb533edac149352c1f39fe"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ac71b2977fb90c35d41c9453116e283fac47bb9096ad917b8819ca8b943abecd"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3ae38d325b512f63f8da31f826e6cb6c367336f95e418137286ba362925c877e"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:542da1178c1c6af8873e143910e2269add130a299c9106eef2594e15dae5e482"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:30a85aed0b864ac88309b7d94be09f6046c834ef60762a8833b660139cfbad13"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aae32c93e0f64469f74ccc730a7cb21c7610af3a775157e50bbd38f816536b38"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b26ddf78d57f1d143bdf32e820fd8935d36abe8a25eb9ec0b5a71c82eb3895"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7f5d10bae5d78e4551b7be7a9b29643a95aded9d0f602aa2ba584f0388e7a557"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:249c6470a2b60935bafd1d1d13cd613f8cd8388d53461c67397ee6a0f5dce741"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c5a74c359b2d47d26cdbbc7845e9662d6b08a1e915eb015d044729e92e7050b7"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:b5bcf60a228acae568e9911f410f9d9e0d43197d030ae5799e20dca8df588287"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:187d18082694a29005ba2944c882344b6748d5be69e3a89bf3cc9d878e548d5a"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:81bf654678e575403736b85ba3a7867e31c2c30a69bc57fe88e3ace52fb17b89"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-win32.whl", hash = "sha256:85a32721ddde63c9df9ebb0d2045b9691d9750cb139c161c80e500d210f5e26e"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:468d2a840567b13a590e67dd276c570f8de00ed767ecc611994c301d0f8c014f"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e0fc42822278451bc13a2e8626cf2218ba570f27856b536e00cfa53099724828"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:09c77f964f351a7369cc343911e0df63e762e42bac24cd7d18525961c81754f4"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:12ebea541c44fdc88ccb794a13fe861cc5e35d64ed689513a5c03d05b53b7c82"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:805dfea4ca10411a5296bcc75638017215a93ffb584c9e344731eef0dcfb026a"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:96c2b49eb6a72c0e4991d62406e365d87067ca14c1a729a870d22354e6f68115"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aaf7b34c5bc56b38c931a54f7952f1ff0ae77a2e82496583b247f7c969eb1479"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:619d1c96099be5823db34fe89e2582b336b5b074a7f47f819d6b3a57ff7bdb86"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a0ac5e7015a5920cfce654c06618ec40c33e12801711da6b4258af59a8eff00a"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:93aa7eef6ee71c629b51ef873991d6911b906d7312c6e8e99790c0f33c576f89"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7966951325782121e67c81299a031f4c115615e68046f79b85856b86ebffc4cd"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:02673e456dc5ab13659f85196c534dc596d4ef260e4d86e856c3b2773ce09843"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:c2af80fb58f0f24b3f3adcb9148e6203fa67dd3f61c4af146ecad033024dde43"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:153e7b6e724761741e0974fc4dcd406d35ba70b92bfe3fedcb497226c93b9da7"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-win32.whl", hash = "sha256:d47ecf253780c90ee181d4d871cd655a789da937454045b17b5798da9393901a"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:d97d85fa63f315a8bdaba2af9a6a686e0eceab77b3089af45133252618e70884"}, - {file = "charset_normalizer-3.3.0-py3-none-any.whl", hash = "sha256:e46cd37076971c1040fc8c41273a8b3e2c624ce4f2be3f5dfcb7a430c1d3acc2"}, + {file = "charset-normalizer-3.3.1.tar.gz", hash = "sha256:d9137a876020661972ca6eec0766d81aef8a5627df628b664b234b73396e727e"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8aee051c89e13565c6bd366813c386939f8e928af93c29fda4af86d25b73d8f8"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:352a88c3df0d1fa886562384b86f9a9e27563d4704ee0e9d56ec6fcd270ea690"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:223b4d54561c01048f657fa6ce41461d5ad8ff128b9678cfe8b2ecd951e3f8a2"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f861d94c2a450b974b86093c6c027888627b8082f1299dfd5a4bae8e2292821"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1171ef1fc5ab4693c5d151ae0fdad7f7349920eabbaca6271f95969fa0756c2d"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28f512b9a33235545fbbdac6a330a510b63be278a50071a336afc1b78781b147"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0e842112fe3f1a4ffcf64b06dc4c61a88441c2f02f373367f7b4c1aa9be2ad5"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3f9bc2ce123637a60ebe819f9fccc614da1bcc05798bbbaf2dd4ec91f3e08846"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f194cce575e59ffe442c10a360182a986535fd90b57f7debfaa5c845c409ecc3"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:9a74041ba0bfa9bc9b9bb2cd3238a6ab3b7618e759b41bd15b5f6ad958d17605"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b578cbe580e3b41ad17b1c428f382c814b32a6ce90f2d8e39e2e635d49e498d1"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:6db3cfb9b4fcecb4390db154e75b49578c87a3b9979b40cdf90d7e4b945656e1"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:debb633f3f7856f95ad957d9b9c781f8e2c6303ef21724ec94bea2ce2fcbd056"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-win32.whl", hash = "sha256:87071618d3d8ec8b186d53cb6e66955ef2a0e4fa63ccd3709c0c90ac5a43520f"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:e372d7dfd154009142631de2d316adad3cc1c36c32a38b16a4751ba78da2a397"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ae4070f741f8d809075ef697877fd350ecf0b7c5837ed68738607ee0a2c572cf"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:58e875eb7016fd014c0eea46c6fa92b87b62c0cb31b9feae25cbbe62c919f54d"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dbd95e300367aa0827496fe75a1766d198d34385a58f97683fe6e07f89ca3e3c"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de0b4caa1c8a21394e8ce971997614a17648f94e1cd0640fbd6b4d14cab13a72"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:985c7965f62f6f32bf432e2681173db41336a9c2611693247069288bcb0c7f8b"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a15c1fe6d26e83fd2e5972425a772cca158eae58b05d4a25a4e474c221053e2d"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae55d592b02c4349525b6ed8f74c692509e5adffa842e582c0f861751701a673"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:be4d9c2770044a59715eb57c1144dedea7c5d5ae80c68fb9959515037cde2008"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:851cf693fb3aaef71031237cd68699dded198657ec1e76a76eb8be58c03a5d1f"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:31bbaba7218904d2eabecf4feec0d07469284e952a27400f23b6628439439fa7"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:871d045d6ccc181fd863a3cd66ee8e395523ebfbc57f85f91f035f50cee8e3d4"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:501adc5eb6cd5f40a6f77fbd90e5ab915c8fd6e8c614af2db5561e16c600d6f3"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f5fb672c396d826ca16a022ac04c9dce74e00a1c344f6ad1a0fdc1ba1f332213"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-win32.whl", hash = "sha256:bb06098d019766ca16fc915ecaa455c1f1cd594204e7f840cd6258237b5079a8"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:8af5a8917b8af42295e86b64903156b4f110a30dca5f3b5aedea123fbd638bff"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:7ae8e5142dcc7a49168f4055255dbcced01dc1714a90a21f87448dc8d90617d1"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5b70bab78accbc672f50e878a5b73ca692f45f5b5e25c8066d748c09405e6a55"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5ceca5876032362ae73b83347be8b5dbd2d1faf3358deb38c9c88776779b2e2f"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34d95638ff3613849f473afc33f65c401a89f3b9528d0d213c7037c398a51296"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9edbe6a5bf8b56a4a84533ba2b2f489d0046e755c29616ef8830f9e7d9cf5728"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6a02a3c7950cafaadcd46a226ad9e12fc9744652cc69f9e5534f98b47f3bbcf"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10b8dd31e10f32410751b3430996f9807fc4d1587ca69772e2aa940a82ab571a"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edc0202099ea1d82844316604e17d2b175044f9bcb6b398aab781eba957224bd"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b891a2f68e09c5ef989007fac11476ed33c5c9994449a4e2c3386529d703dc8b"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:71ef3b9be10070360f289aea4838c784f8b851be3ba58cf796262b57775c2f14"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:55602981b2dbf8184c098bc10287e8c245e351cd4fdcad050bd7199d5a8bf514"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:46fb9970aa5eeca547d7aa0de5d4b124a288b42eaefac677bde805013c95725c"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:520b7a142d2524f999447b3a0cf95115df81c4f33003c51a6ab637cbda9d0bf4"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-win32.whl", hash = "sha256:8ec8ef42c6cd5856a7613dcd1eaf21e5573b2185263d87d27c8edcae33b62a61"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:baec8148d6b8bd5cee1ae138ba658c71f5b03e0d69d5907703e3e1df96db5e41"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:63a6f59e2d01310f754c270e4a257426fe5a591dc487f1983b3bbe793cf6bac6"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d6bfc32a68bc0933819cfdfe45f9abc3cae3877e1d90aac7259d57e6e0f85b1"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4f3100d86dcd03c03f7e9c3fdb23d92e32abbca07e7c13ebd7ddfbcb06f5991f"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:39b70a6f88eebe239fa775190796d55a33cfb6d36b9ffdd37843f7c4c1b5dc67"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e12f8ee80aa35e746230a2af83e81bd6b52daa92a8afaef4fea4a2ce9b9f4fa"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7b6cefa579e1237ce198619b76eaa148b71894fb0d6bcf9024460f9bf30fd228"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:61f1e3fb621f5420523abb71f5771a204b33c21d31e7d9d86881b2cffe92c47c"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4f6e2a839f83a6a76854d12dbebde50e4b1afa63e27761549d006fa53e9aa80e"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:1ec937546cad86d0dce5396748bf392bb7b62a9eeb8c66efac60e947697f0e58"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:82ca51ff0fc5b641a2d4e1cc8c5ff108699b7a56d7f3ad6f6da9dbb6f0145b48"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:633968254f8d421e70f91c6ebe71ed0ab140220469cf87a9857e21c16687c034"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-win32.whl", hash = "sha256:c0c72d34e7de5604df0fde3644cc079feee5e55464967d10b24b1de268deceb9"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-win_amd64.whl", hash = "sha256:63accd11149c0f9a99e3bc095bbdb5a464862d77a7e309ad5938fbc8721235ae"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5a3580a4fdc4ac05f9e53c57f965e3594b2f99796231380adb2baaab96e22761"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2465aa50c9299d615d757c1c888bc6fef384b7c4aec81c05a0172b4400f98557"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cb7cd68814308aade9d0c93c5bd2ade9f9441666f8ba5aa9c2d4b389cb5e2a45"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91e43805ccafa0a91831f9cd5443aa34528c0c3f2cc48c4cb3d9a7721053874b"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:854cc74367180beb327ab9d00f964f6d91da06450b0855cbbb09187bcdb02de5"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c15070ebf11b8b7fd1bfff7217e9324963c82dbdf6182ff7050519e350e7ad9f"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c4c99f98fc3a1835af8179dcc9013f93594d0670e2fa80c83aa36346ee763d2"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3fb765362688821404ad6cf86772fc54993ec11577cd5a92ac44b4c2ba52155b"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:dced27917823df984fe0c80a5c4ad75cf58df0fbfae890bc08004cd3888922a2"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a66bcdf19c1a523e41b8e9d53d0cedbfbac2e93c649a2e9502cb26c014d0980c"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ecd26be9f112c4f96718290c10f4caea6cc798459a3a76636b817a0ed7874e42"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:3f70fd716855cd3b855316b226a1ac8bdb3caf4f7ea96edcccc6f484217c9597"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:17a866d61259c7de1bdadef418a37755050ddb4b922df8b356503234fff7932c"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-win32.whl", hash = "sha256:548eefad783ed787b38cb6f9a574bd8664468cc76d1538215d510a3cd41406cb"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-win_amd64.whl", hash = "sha256:45f053a0ece92c734d874861ffe6e3cc92150e32136dd59ab1fb070575189c97"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bc791ec3fd0c4309a753f95bb6c749ef0d8ea3aea91f07ee1cf06b7b02118f2f"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0c8c61fb505c7dad1d251c284e712d4e0372cef3b067f7ddf82a7fa82e1e9a93"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2c092be3885a1b7899cd85ce24acedc1034199d6fca1483fa2c3a35c86e43041"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c2000c54c395d9e5e44c99dc7c20a64dc371f777faf8bae4919ad3e99ce5253e"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4cb50a0335382aac15c31b61d8531bc9bb657cfd848b1d7158009472189f3d62"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c30187840d36d0ba2893bc3271a36a517a717f9fd383a98e2697ee890a37c273"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe81b35c33772e56f4b6cf62cf4aedc1762ef7162a31e6ac7fe5e40d0149eb67"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0bf89afcbcf4d1bb2652f6580e5e55a840fdf87384f6063c4a4f0c95e378656"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:06cf46bdff72f58645434d467bf5228080801298fbba19fe268a01b4534467f5"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:3c66df3f41abee950d6638adc7eac4730a306b022570f71dd0bd6ba53503ab57"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:cd805513198304026bd379d1d516afbf6c3c13f4382134a2c526b8b854da1c2e"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:9505dc359edb6a330efcd2be825fdb73ee3e628d9010597aa1aee5aa63442e97"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:31445f38053476a0c4e6d12b047b08ced81e2c7c712e5a1ad97bc913256f91b2"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-win32.whl", hash = "sha256:bd28b31730f0e982ace8663d108e01199098432a30a4c410d06fe08fdb9e93f4"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:555fe186da0068d3354cdf4bbcbc609b0ecae4d04c921cc13e209eece7720727"}, + {file = "charset_normalizer-3.3.1-py3-none-any.whl", hash = "sha256:800561453acdecedaac137bf09cd719c7a440b6800ec182f077bb8e7025fb708"}, ] [[package]] @@ -645,35 +650,35 @@ files = [ [[package]] name = "cryptography" -version = "41.0.4" +version = "41.0.5" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-41.0.4-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:80907d3faa55dc5434a16579952ac6da800935cd98d14dbd62f6f042c7f5e839"}, - {file = "cryptography-41.0.4-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:35c00f637cd0b9d5b6c6bd11b6c3359194a8eba9c46d4e875a3660e3b400005f"}, - {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cecfefa17042941f94ab54f769c8ce0fe14beff2694e9ac684176a2535bf9714"}, - {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e40211b4923ba5a6dc9769eab704bdb3fbb58d56c5b336d30996c24fcf12aadb"}, - {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:23a25c09dfd0d9f28da2352503b23e086f8e78096b9fd585d1d14eca01613e13"}, - {file = "cryptography-41.0.4-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:2ed09183922d66c4ec5fdaa59b4d14e105c084dd0febd27452de8f6f74704143"}, - {file = "cryptography-41.0.4-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:5a0f09cefded00e648a127048119f77bc2b2ec61e736660b5789e638f43cc397"}, - {file = "cryptography-41.0.4-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:9eeb77214afae972a00dee47382d2591abe77bdae166bda672fb1e24702a3860"}, - {file = "cryptography-41.0.4-cp37-abi3-win32.whl", hash = "sha256:3b224890962a2d7b57cf5eeb16ccaafba6083f7b811829f00476309bce2fe0fd"}, - {file = "cryptography-41.0.4-cp37-abi3-win_amd64.whl", hash = "sha256:c880eba5175f4307129784eca96f4e70b88e57aa3f680aeba3bab0e980b0f37d"}, - {file = "cryptography-41.0.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:004b6ccc95943f6a9ad3142cfabcc769d7ee38a3f60fb0dddbfb431f818c3a67"}, - {file = "cryptography-41.0.4-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:86defa8d248c3fa029da68ce61fe735432b047e32179883bdb1e79ed9bb8195e"}, - {file = "cryptography-41.0.4-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:37480760ae08065437e6573d14be973112c9e6dcaf5f11d00147ee74f37a3829"}, - {file = "cryptography-41.0.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:b5f4dfe950ff0479f1f00eda09c18798d4f49b98f4e2006d644b3301682ebdca"}, - {file = "cryptography-41.0.4-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7e53db173370dea832190870e975a1e09c86a879b613948f09eb49324218c14d"}, - {file = "cryptography-41.0.4-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5b72205a360f3b6176485a333256b9bcd48700fc755fef51c8e7e67c4b63e3ac"}, - {file = "cryptography-41.0.4-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:93530900d14c37a46ce3d6c9e6fd35dbe5f5601bf6b3a5c325c7bffc030344d9"}, - {file = "cryptography-41.0.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:efc8ad4e6fc4f1752ebfb58aefece8b4e3c4cae940b0994d43649bdfce8d0d4f"}, - {file = "cryptography-41.0.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c3391bd8e6de35f6f1140e50aaeb3e2b3d6a9012536ca23ab0d9c35ec18c8a91"}, - {file = "cryptography-41.0.4-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:0d9409894f495d465fe6fda92cb70e8323e9648af912d5b9141d616df40a87b8"}, - {file = "cryptography-41.0.4-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:8ac4f9ead4bbd0bc8ab2d318f97d85147167a488be0e08814a37eb2f439d5cf6"}, - {file = "cryptography-41.0.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:047c4603aeb4bbd8db2756e38f5b8bd7e94318c047cfe4efeb5d715e08b49311"}, - {file = "cryptography-41.0.4.tar.gz", hash = "sha256:7febc3094125fc126a7f6fb1f420d0da639f3f32cb15c8ff0dc3997c4549f51a"}, + {file = "cryptography-41.0.5-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:da6a0ff8f1016ccc7477e6339e1d50ce5f59b88905585f77193ebd5068f1e797"}, + {file = "cryptography-41.0.5-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:b948e09fe5fb18517d99994184854ebd50b57248736fd4c720ad540560174ec5"}, + {file = "cryptography-41.0.5-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d38e6031e113b7421db1de0c1b1f7739564a88f1684c6b89234fbf6c11b75147"}, + {file = "cryptography-41.0.5-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e270c04f4d9b5671ebcc792b3ba5d4488bf7c42c3c241a3748e2599776f29696"}, + {file = "cryptography-41.0.5-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:ec3b055ff8f1dce8e6ef28f626e0972981475173d7973d63f271b29c8a2897da"}, + {file = "cryptography-41.0.5-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:7d208c21e47940369accfc9e85f0de7693d9a5d843c2509b3846b2db170dfd20"}, + {file = "cryptography-41.0.5-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:8254962e6ba1f4d2090c44daf50a547cd5f0bf446dc658a8e5f8156cae0d8548"}, + {file = "cryptography-41.0.5-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:a48e74dad1fb349f3dc1d449ed88e0017d792997a7ad2ec9587ed17405667e6d"}, + {file = "cryptography-41.0.5-cp37-abi3-win32.whl", hash = "sha256:d3977f0e276f6f5bf245c403156673db103283266601405376f075c849a0b936"}, + {file = "cryptography-41.0.5-cp37-abi3-win_amd64.whl", hash = "sha256:73801ac9736741f220e20435f84ecec75ed70eda90f781a148f1bad546963d81"}, + {file = "cryptography-41.0.5-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3be3ca726e1572517d2bef99a818378bbcf7d7799d5372a46c79c29eb8d166c1"}, + {file = "cryptography-41.0.5-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:e886098619d3815e0ad5790c973afeee2c0e6e04b4da90b88e6bd06e2a0b1b72"}, + {file = "cryptography-41.0.5-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:573eb7128cbca75f9157dcde974781209463ce56b5804983e11a1c462f0f4e88"}, + {file = "cryptography-41.0.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0c327cac00f082013c7c9fb6c46b7cc9fa3c288ca702c74773968173bda421bf"}, + {file = "cryptography-41.0.5-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:227ec057cd32a41c6651701abc0328135e472ed450f47c2766f23267b792a88e"}, + {file = "cryptography-41.0.5-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:22892cc830d8b2c89ea60148227631bb96a7da0c1b722f2aac8824b1b7c0b6b8"}, + {file = "cryptography-41.0.5-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:5a70187954ba7292c7876734183e810b728b4f3965fbe571421cb2434d279179"}, + {file = "cryptography-41.0.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:88417bff20162f635f24f849ab182b092697922088b477a7abd6664ddd82291d"}, + {file = "cryptography-41.0.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c707f7afd813478e2019ae32a7c49cd932dd60ab2d2a93e796f68236b7e1fbf1"}, + {file = "cryptography-41.0.5-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:580afc7b7216deeb87a098ef0674d6ee34ab55993140838b14c9b83312b37b86"}, + {file = "cryptography-41.0.5-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:fba1e91467c65fe64a82c689dc6cf58151158993b13eb7a7f3f4b7f395636723"}, + {file = "cryptography-41.0.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0d2a6a598847c46e3e321a7aef8af1436f11c27f1254933746304ff014664d84"}, + {file = "cryptography-41.0.5.tar.gz", hash = "sha256:392cb88b597247177172e02da6b7a63deeff1937fa6fec3bbf902ebd75d97ec7"}, ] [package.dependencies] @@ -766,14 +771,14 @@ static3 = "*" [[package]] name = "django" -version = "4.2.5" +version = "4.2.6" description = "A high-level Python web framework that encourages rapid development and clean, pragmatic design." category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "Django-4.2.5-py3-none-any.whl", hash = "sha256:b6b2b5cae821077f137dc4dade696a1c2aa292f892eca28fa8d7bfdf2608ddd4"}, - {file = "Django-4.2.5.tar.gz", hash = "sha256:5e5c1c9548ffb7796b4a8a4782e9a2e5a3df3615259fc1bfd3ebc73b646146c1"}, + {file = "Django-4.2.6-py3-none-any.whl", hash = "sha256:a64d2487cdb00ad7461434320ccc38e60af9c404773a2f95ab0093b4453a3215"}, + {file = "Django-4.2.6.tar.gz", hash = "sha256:08f41f468b63335aea0d904c5729e0250300f6a1907bf293a65499496cdbc68f"}, ] [package.dependencies] @@ -993,14 +998,15 @@ python-stdnum = ">=1.6" [[package]] name = "django-markup" -version = "1.7.2" +version = "1.8.1" description = "A generic Django application to convert text with specific markup to html." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "django-markup-1.7.2.tar.gz", hash = "sha256:6cd09ecc701cd80d658a8eeeb0668b0450176bc0962f8c01dd26d64cbeacc945"}, - {file = "django_markup-1.7.2-py2.py3-none-any.whl", hash = "sha256:c6473fa6c8047abcb94e12201a289c2bb06c340c61526d60eef5de53e26750bf"}, + {file = "django-markup-1.8.1.tar.gz", hash = "sha256:04824880a7afbd19e7b3cdaf0005e759f818b2cc4e3b4f1dd97182b7038a72c9"}, + {file = "django_markup-1.8.1-py2.py3-none-any.whl", hash = "sha256:bf0dabcfc288eac76b6e501357b02383ff7012b48e4005cab58e3c68b5474e07"}, + {file = "django_markup-1.8.1-py3-none-any.whl", hash = "sha256:ab0bbdcb721ec92a2848dd93f47e4a0d01760677ca78789230432298cf82a7c8"}, ] [package.dependencies] @@ -1029,14 +1035,14 @@ requests = ">=2.13.0" [[package]] name = "django-otp" -version = "1.2.3" +version = "1.2.4" description = "A pluggable framework for adding two-factor authentication to Django using one-time passwords." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "django_otp-1.2.3-py3-none-any.whl", hash = "sha256:43cfb70008559def9aad769d18374369c7f428122c527e3d5c78092856e58998"}, - {file = "django_otp-1.2.3.tar.gz", hash = "sha256:62466cad63a06df820ea4abfd3b2cdfb2cd5508925ecad1d308260b973025136"}, + {file = "django_otp-1.2.4-py3-none-any.whl", hash = "sha256:5ddd1aaf455db47fac3ce0d8b518e68e9a57db55e30ad68eafad377e4fa741f5"}, + {file = "django_otp-1.2.4.tar.gz", hash = "sha256:7e805cc196cbac93edbbbbf5078d7c5156fec2dba1b2589361ddbf74c4557e39"}, ] [package.dependencies] @@ -1480,8 +1486,6 @@ files = [ {file = "lxml-4.9.3-cp27-cp27m-macosx_11_0_x86_64.whl", hash = "sha256:b0a545b46b526d418eb91754565ba5b63b1c0b12f9bd2f808c852d9b4b2f9b5c"}, {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:075b731ddd9e7f68ad24c635374211376aa05a281673ede86cbe1d1b3455279d"}, {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1e224d5755dba2f4a9498e150c43792392ac9b5380aa1b845f98a1618c94eeef"}, - {file = "lxml-4.9.3-cp27-cp27m-win32.whl", hash = "sha256:2c74524e179f2ad6d2a4f7caf70e2d96639c0954c943ad601a9e146c76408ed7"}, - {file = "lxml-4.9.3-cp27-cp27m-win_amd64.whl", hash = "sha256:4f1026bc732b6a7f96369f7bfe1a4f2290fb34dce00d8644bc3036fb351a4ca1"}, {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c0781a98ff5e6586926293e59480b64ddd46282953203c76ae15dbbbf302e8bb"}, {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cef2502e7e8a96fe5ad686d60b49e1ab03e438bd9123987994528febd569868e"}, {file = "lxml-4.9.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b86164d2cff4d3aaa1f04a14685cbc072efd0b4f99ca5708b2ad1b9b5988a991"}, @@ -1749,14 +1753,14 @@ files = [ [[package]] name = "paypal-checkout-serversdk" -version = "1.0.1" -description = "Python Rest SDK for PayPal Checkout" +version = "1.0.3" +description = "Deprecated" category = "main" optional = false python-versions = "*" files = [ - {file = "paypal-checkout-serversdk-1.0.1.tar.gz", hash = "sha256:80f62ba2d9fe22b58c2ce1f310146acf6037088493398dba8b1bb67b493aee5e"}, - {file = "paypal_checkout_serversdk-1.0.1-py2-none-any.whl", hash = "sha256:e82bf50c249d7383cb4f68d8562a68dde3e7089389f286c111b6689bd3fdad36"}, + {file = "paypal-checkout-serversdk-1.0.3.tar.gz", hash = "sha256:880c7fab12955d65aff29baeb90c182307307d2676edbd41072f3f540a2934b4"}, + {file = "paypal_checkout_serversdk-1.0.3-py3-none-any.whl", hash = "sha256:48a00ec6c52450583e2265dbbdf700b025f38f40ddc597b24b6aa4d8f0cb0257"}, ] [package.dependencies] @@ -1781,13 +1785,14 @@ six = ">=1.0.0" [[package]] name = "paypalrestsdk" -version = "1.13.1" -description = "The PayPal REST SDK provides Python APIs to create, process and manage payments." +version = "1.13.2" +description = "Deprecated" category = "main" optional = false python-versions = "*" files = [ - {file = "paypalrestsdk-1.13.1.tar.gz", hash = "sha256:238713208031e8981bf70b3350b3d7f85ed64d34e0f21e4c1184444a546fee7f"}, + {file = "paypalrestsdk-1.13.2-py3-none-any.whl", hash = "sha256:5bf1ffccca87354001156441fb6a7ef0ec5d16aae5a1f56eaeb18f3aea3b4624"}, + {file = "paypalrestsdk-1.13.2.tar.gz", hash = "sha256:91951f36db30d685b971e140498491a356cf1df8eff71656603aca4ed72cf35a"}, ] [package.dependencies] @@ -1797,14 +1802,14 @@ six = ">=1.0.0" [[package]] name = "phonenumberslite" -version = "8.13.22" +version = "8.13.23" description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers." category = "main" optional = false python-versions = "*" files = [ - {file = "phonenumberslite-8.13.22-py2.py3-none-any.whl", hash = "sha256:8d1e5f2adfee2a634ccdb54b251dec32c5308fbca3d7f6ae6058f4adee4594a3"}, - {file = "phonenumberslite-8.13.22.tar.gz", hash = "sha256:98684f21804c6df2e7d224e72d60defee20eddf9e144d57f24cbd9db0df450e0"}, + {file = "phonenumberslite-8.13.23-py2.py3-none-any.whl", hash = "sha256:7c719e35ef551a895459382e9faf592f52647312dd90b543b06460aa0e1c49c4"}, + {file = "phonenumberslite-8.13.23.tar.gz", hash = "sha256:cf6cf56c889c6787ec6b30b5791693f6dd678f633358f4aeea1fddf98d4cadcb"}, ] [[package]] @@ -1917,14 +1922,14 @@ files = [ [[package]] name = "pretix" -version = "2023.8.0" +version = "2023.9.0" description = "Reinventing presales, one ticket at a time" category = "main" optional = false python-versions = ">=3.9" files = [ - {file = "pretix-2023.8.0-py3-none-any.whl", hash = "sha256:0156ef3cf205fcfcf35c47d7416c9cbd70abd4c62fd0b79c9500f4c7603a32db"}, - {file = "pretix-2023.8.0.tar.gz", hash = "sha256:f74faf07a92492afb3fc9d1fd6e9e49475c1c4d9157f3aa93f38027ba595d733"}, + {file = "pretix-2023.9.0-py3-none-any.whl", hash = "sha256:5e1f6ff2d3a32e5b84d30b729c21093cde22a9335d1a510683b1f704fd40235d"}, + {file = "pretix-2023.9.0.tar.gz", hash = "sha256:bcf787871231840ebcb12cffafc7a8d6e3ded5c3ced7dde284a1b19b87ea1221"}, ] [package.dependencies] @@ -2106,6 +2111,8 @@ files = [ {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:cb16c65dcb648d0a43a2521f2f0a2300f40639f6f8c1ecbc662141e4e3e1ee07"}, {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:911dda9c487075abd54e644ccdf5e5c16773470a6a5d3826fda76699410066fb"}, {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:57fede879f08d23c85140a360c6a77709113efd1c993923c59fde17aa27599fe"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-win32.whl", hash = "sha256:64cf30263844fa208851ebb13b0732ce674d8ec6a0c86a4e160495d299ba3c93"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-win_amd64.whl", hash = "sha256:81ff62668af011f9a48787564ab7eded4e9fb17a4a6a74af5ffa6a457400d2ab"}, {file = "psycopg2_binary-2.9.9-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2293b001e319ab0d869d660a704942c9e2cce19745262a8aba2115ef41a0a42a"}, {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03ef7df18daf2c4c07e2695e8cfd5ee7f748a1d54d802330985a78d2a5a6dca9"}, {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a602ea5aff39bb9fac6308e9c9d82b9a35c2bf288e184a816002c9fae930b77"}, @@ -2231,21 +2238,21 @@ tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] [[package]] name = "pyopenssl" -version = "23.2.0" +version = "23.3.0" description = "Python wrapper module around the OpenSSL library" category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "pyOpenSSL-23.2.0-py3-none-any.whl", hash = "sha256:24f0dc5227396b3e831f4c7f602b950a5e9833d292c8e4a2e06b709292806ae2"}, - {file = "pyOpenSSL-23.2.0.tar.gz", hash = "sha256:276f931f55a452e7dea69c7173e984eb2a4407ce413c918aa34b55f82f9b8bac"}, + {file = "pyOpenSSL-23.3.0-py3-none-any.whl", hash = "sha256:6756834481d9ed5470f4a9393455154bc92fe7a64b7bc6ee2c804e78c52099b2"}, + {file = "pyOpenSSL-23.3.0.tar.gz", hash = "sha256:6b2cba5cc46e822750ec3e5a81ee12819850b11303630d575e98108a079c2b12"}, ] [package.dependencies] -cryptography = ">=38.0.0,<40.0.0 || >40.0.0,<40.0.1 || >40.0.1,<42" +cryptography = ">=41.0.5,<42" [package.extras] -docs = ["sphinx (!=5.2.0,!=5.2.0.post0)", "sphinx-rtd-theme"] +docs = ["sphinx (!=5.2.0,!=5.2.0.post0,!=7.2.5)", "sphinx-rtd-theme"] test = ["flaky", "pretend", "pytest (>=3.0.1)"] [[package]] @@ -2478,14 +2485,14 @@ rpds-py = ">=0.7.0" [[package]] name = "reportlab" -version = "4.0.5" +version = "4.0.6" description = "The Reportlab Toolkit" category = "main" optional = false python-versions = ">=3.7,<4" files = [ - {file = "reportlab-4.0.5-py3-none-any.whl", hash = "sha256:1344dbe779b9049a1888105503837d0e5b62163bf5c6b33bd1fbe84bad484f50"}, - {file = "reportlab-4.0.5.tar.gz", hash = "sha256:9c68f277736f585c5c9938755b826dd57c877fcaeb203e21cefea12b3b1db4f5"}, + {file = "reportlab-4.0.6-py3-none-any.whl", hash = "sha256:ec062675202eb76f6100ed44da64f38ed3c7feb5016cf4fe7f17ce35423ab14a"}, + {file = "reportlab-4.0.6.tar.gz", hash = "sha256:069aa35da7c882921f419f6e26327e14dac1d9d0adeb40b584cdadd974d99fc0"}, ] [package.dependencies] @@ -2584,109 +2591,111 @@ files = [ [[package]] name = "rpds-py" -version = "0.10.3" +version = "0.10.6" description = "Python bindings to Rust's persistent data structures (rpds)" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "rpds_py-0.10.3-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:485747ee62da83366a44fbba963c5fe017860ad408ccd6cd99aa66ea80d32b2e"}, - {file = "rpds_py-0.10.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c55f9821f88e8bee4b7a72c82cfb5ecd22b6aad04033334f33c329b29bfa4da0"}, - {file = "rpds_py-0.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3b52a67ac66a3a64a7e710ba629f62d1e26ca0504c29ee8cbd99b97df7079a8"}, - {file = "rpds_py-0.10.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3aed39db2f0ace76faa94f465d4234aac72e2f32b009f15da6492a561b3bbebd"}, - {file = "rpds_py-0.10.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:271c360fdc464fe6a75f13ea0c08ddf71a321f4c55fc20a3fe62ea3ef09df7d9"}, - {file = "rpds_py-0.10.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef5fddfb264e89c435be4adb3953cef5d2936fdeb4463b4161a6ba2f22e7b740"}, - {file = "rpds_py-0.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a771417c9c06c56c9d53d11a5b084d1de75de82978e23c544270ab25e7c066ff"}, - {file = "rpds_py-0.10.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:52b5cbc0469328e58180021138207e6ec91d7ca2e037d3549cc9e34e2187330a"}, - {file = "rpds_py-0.10.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:6ac3fefb0d168c7c6cab24fdfc80ec62cd2b4dfd9e65b84bdceb1cb01d385c33"}, - {file = "rpds_py-0.10.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:8d54bbdf5d56e2c8cf81a1857250f3ea132de77af543d0ba5dce667183b61fec"}, - {file = "rpds_py-0.10.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cd2163f42868865597d89399a01aa33b7594ce8e2c4a28503127c81a2f17784e"}, - {file = "rpds_py-0.10.3-cp310-none-win32.whl", hash = "sha256:ea93163472db26ac6043e8f7f93a05d9b59e0505c760da2a3cd22c7dd7111391"}, - {file = "rpds_py-0.10.3-cp310-none-win_amd64.whl", hash = "sha256:7cd020b1fb41e3ab7716d4d2c3972d4588fdfbab9bfbbb64acc7078eccef8860"}, - {file = "rpds_py-0.10.3-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:1d9b5ee46dcb498fa3e46d4dfabcb531e1f2e76b477e0d99ef114f17bbd38453"}, - {file = "rpds_py-0.10.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:563646d74a4b4456d0cf3b714ca522e725243c603e8254ad85c3b59b7c0c4bf0"}, - {file = "rpds_py-0.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e626b864725680cd3904414d72e7b0bd81c0e5b2b53a5b30b4273034253bb41f"}, - {file = "rpds_py-0.10.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:485301ee56ce87a51ccb182a4b180d852c5cb2b3cb3a82f7d4714b4141119d8c"}, - {file = "rpds_py-0.10.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:42f712b4668831c0cd85e0a5b5a308700fe068e37dcd24c0062904c4e372b093"}, - {file = "rpds_py-0.10.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6c9141af27a4e5819d74d67d227d5047a20fa3c7d4d9df43037a955b4c748ec5"}, - {file = "rpds_py-0.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef750a20de1b65657a1425f77c525b0183eac63fe7b8f5ac0dd16f3668d3e64f"}, - {file = "rpds_py-0.10.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e1a0ffc39f51aa5f5c22114a8f1906b3c17eba68c5babb86c5f77d8b1bba14d1"}, - {file = "rpds_py-0.10.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f4c179a7aeae10ddf44c6bac87938134c1379c49c884529f090f9bf05566c836"}, - {file = "rpds_py-0.10.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:176287bb998fd1e9846a9b666e240e58f8d3373e3bf87e7642f15af5405187b8"}, - {file = "rpds_py-0.10.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6446002739ca29249f0beaaf067fcbc2b5aab4bc7ee8fb941bd194947ce19aff"}, - {file = "rpds_py-0.10.3-cp311-none-win32.whl", hash = "sha256:c7aed97f2e676561416c927b063802c8a6285e9b55e1b83213dfd99a8f4f9e48"}, - {file = "rpds_py-0.10.3-cp311-none-win_amd64.whl", hash = "sha256:8bd01ff4032abaed03f2db702fa9a61078bee37add0bd884a6190b05e63b028c"}, - {file = "rpds_py-0.10.3-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:4cf0855a842c5b5c391dd32ca273b09e86abf8367572073bd1edfc52bc44446b"}, - {file = "rpds_py-0.10.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:69b857a7d8bd4f5d6e0db4086da8c46309a26e8cefdfc778c0c5cc17d4b11e08"}, - {file = "rpds_py-0.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:975382d9aa90dc59253d6a83a5ca72e07f4ada3ae3d6c0575ced513db322b8ec"}, - {file = "rpds_py-0.10.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:35fbd23c1c8732cde7a94abe7fb071ec173c2f58c0bd0d7e5b669fdfc80a2c7b"}, - {file = "rpds_py-0.10.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:106af1653007cc569d5fbb5f08c6648a49fe4de74c2df814e234e282ebc06957"}, - {file = "rpds_py-0.10.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ce5e7504db95b76fc89055c7f41e367eaadef5b1d059e27e1d6eabf2b55ca314"}, - {file = "rpds_py-0.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5aca759ada6b1967fcfd4336dcf460d02a8a23e6abe06e90ea7881e5c22c4de6"}, - {file = "rpds_py-0.10.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b5d4bdd697195f3876d134101c40c7d06d46c6ab25159ed5cbd44105c715278a"}, - {file = "rpds_py-0.10.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a657250807b6efd19b28f5922520ae002a54cb43c2401e6f3d0230c352564d25"}, - {file = "rpds_py-0.10.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:177c9dd834cdf4dc39c27436ade6fdf9fe81484758885f2d616d5d03c0a83bd2"}, - {file = "rpds_py-0.10.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e22491d25f97199fc3581ad8dd8ce198d8c8fdb8dae80dea3512e1ce6d5fa99f"}, - {file = "rpds_py-0.10.3-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:2f3e1867dd574014253b4b8f01ba443b9c914e61d45f3674e452a915d6e929a3"}, - {file = "rpds_py-0.10.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c22211c165166de6683de8136229721f3d5c8606cc2c3d1562da9a3a5058049c"}, - {file = "rpds_py-0.10.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40bc802a696887b14c002edd43c18082cb7b6f9ee8b838239b03b56574d97f71"}, - {file = "rpds_py-0.10.3-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e271dd97c7bb8eefda5cca38cd0b0373a1fea50f71e8071376b46968582af9b"}, - {file = "rpds_py-0.10.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:95cde244e7195b2c07ec9b73fa4c5026d4a27233451485caa1cd0c1b55f26dbd"}, - {file = "rpds_py-0.10.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08a80cf4884920863623a9ee9a285ee04cef57ebedc1cc87b3e3e0f24c8acfe5"}, - {file = "rpds_py-0.10.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:763ad59e105fca09705d9f9b29ecffb95ecdc3b0363be3bb56081b2c6de7977a"}, - {file = "rpds_py-0.10.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:187700668c018a7e76e89424b7c1042f317c8df9161f00c0c903c82b0a8cac5c"}, - {file = "rpds_py-0.10.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:5267cfda873ad62591b9332fd9472d2409f7cf02a34a9c9cb367e2c0255994bf"}, - {file = "rpds_py-0.10.3-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:2ed83d53a8c5902ec48b90b2ac045e28e1698c0bea9441af9409fc844dc79496"}, - {file = "rpds_py-0.10.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:255f1a10ae39b52122cce26ce0781f7a616f502feecce9e616976f6a87992d6b"}, - {file = "rpds_py-0.10.3-cp38-none-win32.whl", hash = "sha256:a019a344312d0b1f429c00d49c3be62fa273d4a1094e1b224f403716b6d03be1"}, - {file = "rpds_py-0.10.3-cp38-none-win_amd64.whl", hash = "sha256:efb9ece97e696bb56e31166a9dd7919f8f0c6b31967b454718c6509f29ef6fee"}, - {file = "rpds_py-0.10.3-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:570cc326e78ff23dec7f41487aa9c3dffd02e5ee9ab43a8f6ccc3df8f9327623"}, - {file = "rpds_py-0.10.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cff7351c251c7546407827b6a37bcef6416304fc54d12d44dbfecbb717064717"}, - {file = "rpds_py-0.10.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:177914f81f66c86c012311f8c7f46887ec375cfcfd2a2f28233a3053ac93a569"}, - {file = "rpds_py-0.10.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:448a66b8266de0b581246ca7cd6a73b8d98d15100fb7165974535fa3b577340e"}, - {file = "rpds_py-0.10.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bbac1953c17252f9cc675bb19372444aadf0179b5df575ac4b56faaec9f6294"}, - {file = "rpds_py-0.10.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9dd9d9d9e898b9d30683bdd2b6c1849449158647d1049a125879cb397ee9cd12"}, - {file = "rpds_py-0.10.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8c71ea77536149e36c4c784f6d420ffd20bea041e3ba21ed021cb40ce58e2c9"}, - {file = "rpds_py-0.10.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:16a472300bc6c83fe4c2072cc22b3972f90d718d56f241adabc7ae509f53f154"}, - {file = "rpds_py-0.10.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:b9255e7165083de7c1d605e818025e8860636348f34a79d84ec533546064f07e"}, - {file = "rpds_py-0.10.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:53d7a3cd46cdc1689296348cb05ffd4f4280035770aee0c8ead3bbd4d6529acc"}, - {file = "rpds_py-0.10.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:22da15b902f9f8e267020d1c8bcfc4831ca646fecb60254f7bc71763569f56b1"}, - {file = "rpds_py-0.10.3-cp39-none-win32.whl", hash = "sha256:850c272e0e0d1a5c5d73b1b7871b0a7c2446b304cec55ccdb3eaac0d792bb065"}, - {file = "rpds_py-0.10.3-cp39-none-win_amd64.whl", hash = "sha256:de61e424062173b4f70eec07e12469edde7e17fa180019a2a0d75c13a5c5dc57"}, - {file = "rpds_py-0.10.3-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:af247fd4f12cca4129c1b82090244ea5a9d5bb089e9a82feb5a2f7c6a9fe181d"}, - {file = "rpds_py-0.10.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:3ad59efe24a4d54c2742929001f2d02803aafc15d6d781c21379e3f7f66ec842"}, - {file = "rpds_py-0.10.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:642ed0a209ced4be3a46f8cb094f2d76f1f479e2a1ceca6de6346a096cd3409d"}, - {file = "rpds_py-0.10.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:37d0c59548ae56fae01c14998918d04ee0d5d3277363c10208eef8c4e2b68ed6"}, - {file = "rpds_py-0.10.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aad6ed9e70ddfb34d849b761fb243be58c735be6a9265b9060d6ddb77751e3e8"}, - {file = "rpds_py-0.10.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8f94fdd756ba1f79f988855d948ae0bad9ddf44df296770d9a58c774cfbcca72"}, - {file = "rpds_py-0.10.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77076bdc8776a2b029e1e6ffbe6d7056e35f56f5e80d9dc0bad26ad4a024a762"}, - {file = "rpds_py-0.10.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:87d9b206b1bd7a0523375dc2020a6ce88bca5330682ae2fe25e86fd5d45cea9c"}, - {file = "rpds_py-0.10.3-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:8efaeb08ede95066da3a3e3c420fcc0a21693fcd0c4396d0585b019613d28515"}, - {file = "rpds_py-0.10.3-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:a4d9bfda3f84fc563868fe25ca160c8ff0e69bc4443c5647f960d59400ce6557"}, - {file = "rpds_py-0.10.3-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:d27aa6bbc1f33be920bb7adbb95581452cdf23005d5611b29a12bb6a3468cc95"}, - {file = "rpds_py-0.10.3-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:ed8313809571a5463fd7db43aaca68ecb43ca7a58f5b23b6e6c6c5d02bdc7882"}, - {file = "rpds_py-0.10.3-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:e10e6a1ed2b8661201e79dff5531f8ad4cdd83548a0f81c95cf79b3184b20c33"}, - {file = "rpds_py-0.10.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:015de2ce2af1586ff5dc873e804434185199a15f7d96920ce67e50604592cae9"}, - {file = "rpds_py-0.10.3-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ae87137951bb3dc08c7d8bfb8988d8c119f3230731b08a71146e84aaa919a7a9"}, - {file = "rpds_py-0.10.3-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0bb4f48bd0dd18eebe826395e6a48b7331291078a879295bae4e5d053be50d4c"}, - {file = "rpds_py-0.10.3-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:09362f86ec201288d5687d1dc476b07bf39c08478cde837cb710b302864e7ec9"}, - {file = "rpds_py-0.10.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:821392559d37759caa67d622d0d2994c7a3f2fb29274948ac799d496d92bca73"}, - {file = "rpds_py-0.10.3-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7170cbde4070dc3c77dec82abf86f3b210633d4f89550fa0ad2d4b549a05572a"}, - {file = "rpds_py-0.10.3-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:5de11c041486681ce854c814844f4ce3282b6ea1656faae19208ebe09d31c5b8"}, - {file = "rpds_py-0.10.3-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:4ed172d0c79f156c1b954e99c03bc2e3033c17efce8dd1a7c781bc4d5793dfac"}, - {file = "rpds_py-0.10.3-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:11fdd1192240dda8d6c5d18a06146e9045cb7e3ba7c06de6973000ff035df7c6"}, - {file = "rpds_py-0.10.3-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:f602881d80ee4228a2355c68da6b296a296cd22bbb91e5418d54577bbf17fa7c"}, - {file = "rpds_py-0.10.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:691d50c99a937709ac4c4cd570d959a006bd6a6d970a484c84cc99543d4a5bbb"}, - {file = "rpds_py-0.10.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:24cd91a03543a0f8d09cb18d1cb27df80a84b5553d2bd94cba5979ef6af5c6e7"}, - {file = "rpds_py-0.10.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fc2200e79d75b5238c8d69f6a30f8284290c777039d331e7340b6c17cad24a5a"}, - {file = "rpds_py-0.10.3-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea65b59882d5fa8c74a23f8960db579e5e341534934f43f3b18ec1839b893e41"}, - {file = "rpds_py-0.10.3-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:829e91f3a8574888b73e7a3feb3b1af698e717513597e23136ff4eba0bc8387a"}, - {file = "rpds_py-0.10.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eab75a8569a095f2ad470b342f2751d9902f7944704f0571c8af46bede438475"}, - {file = "rpds_py-0.10.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:061c3ff1f51ecec256e916cf71cc01f9975af8fb3af9b94d3c0cc8702cfea637"}, - {file = "rpds_py-0.10.3-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:39d05e65f23a0fe897b6ac395f2a8d48c56ac0f583f5d663e0afec1da89b95da"}, - {file = "rpds_py-0.10.3-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:4eca20917a06d2fca7628ef3c8b94a8c358f6b43f1a621c9815243462dcccf97"}, - {file = "rpds_py-0.10.3-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:e8d0f0eca087630d58b8c662085529781fd5dc80f0a54eda42d5c9029f812599"}, - {file = "rpds_py-0.10.3.tar.gz", hash = "sha256:fcc1ebb7561a3e24a6588f7c6ded15d80aec22c66a070c757559b57b17ffd1cb"}, + {file = "rpds_py-0.10.6-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:6bdc11f9623870d75692cc33c59804b5a18d7b8a4b79ef0b00b773a27397d1f6"}, + {file = "rpds_py-0.10.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:26857f0f44f0e791f4a266595a7a09d21f6b589580ee0585f330aaccccb836e3"}, + {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7f5e15c953ace2e8dde9824bdab4bec50adb91a5663df08d7d994240ae6fa31"}, + {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:61fa268da6e2e1cd350739bb61011121fa550aa2545762e3dc02ea177ee4de35"}, + {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c48f3fbc3e92c7dd6681a258d22f23adc2eb183c8cb1557d2fcc5a024e80b094"}, + {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0503c5b681566e8b722fe8c4c47cce5c7a51f6935d5c7012c4aefe952a35eed"}, + {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:734c41f9f57cc28658d98270d3436dba65bed0cfc730d115b290e970150c540d"}, + {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a5d7ed104d158c0042a6a73799cf0eb576dfd5fc1ace9c47996e52320c37cb7c"}, + {file = "rpds_py-0.10.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e3df0bc35e746cce42579826b89579d13fd27c3d5319a6afca9893a9b784ff1b"}, + {file = "rpds_py-0.10.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:73e0a78a9b843b8c2128028864901f55190401ba38aae685350cf69b98d9f7c9"}, + {file = "rpds_py-0.10.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5ed505ec6305abd2c2c9586a7b04fbd4baf42d4d684a9c12ec6110deefe2a063"}, + {file = "rpds_py-0.10.6-cp310-none-win32.whl", hash = "sha256:d97dd44683802000277bbf142fd9f6b271746b4846d0acaf0cefa6b2eaf2a7ad"}, + {file = "rpds_py-0.10.6-cp310-none-win_amd64.whl", hash = "sha256:b455492cab07107bfe8711e20cd920cc96003e0da3c1f91297235b1603d2aca7"}, + {file = "rpds_py-0.10.6-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:e8cdd52744f680346ff8c1ecdad5f4d11117e1724d4f4e1874f3a67598821069"}, + {file = "rpds_py-0.10.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:66414dafe4326bca200e165c2e789976cab2587ec71beb80f59f4796b786a238"}, + {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc435d059f926fdc5b05822b1be4ff2a3a040f3ae0a7bbbe672babb468944722"}, + {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8e7f2219cb72474571974d29a191714d822e58be1eb171f229732bc6fdedf0ac"}, + {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3953c6926a63f8ea5514644b7afb42659b505ece4183fdaaa8f61d978754349e"}, + {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2bb2e4826be25e72013916eecd3d30f66fd076110de09f0e750163b416500721"}, + {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bf347b495b197992efc81a7408e9a83b931b2f056728529956a4d0858608b80"}, + {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:102eac53bb0bf0f9a275b438e6cf6904904908562a1463a6fc3323cf47d7a532"}, + {file = "rpds_py-0.10.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:40f93086eef235623aa14dbddef1b9fb4b22b99454cb39a8d2e04c994fb9868c"}, + {file = "rpds_py-0.10.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e22260a4741a0e7a206e175232867b48a16e0401ef5bce3c67ca5b9705879066"}, + {file = "rpds_py-0.10.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f4e56860a5af16a0fcfa070a0a20c42fbb2012eed1eb5ceeddcc7f8079214281"}, + {file = "rpds_py-0.10.6-cp311-none-win32.whl", hash = "sha256:0774a46b38e70fdde0c6ded8d6d73115a7c39d7839a164cc833f170bbf539116"}, + {file = "rpds_py-0.10.6-cp311-none-win_amd64.whl", hash = "sha256:4a5ee600477b918ab345209eddafde9f91c0acd931f3776369585a1c55b04c57"}, + {file = "rpds_py-0.10.6-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:5ee97c683eaface61d38ec9a489e353d36444cdebb128a27fe486a291647aff6"}, + {file = "rpds_py-0.10.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0713631d6e2d6c316c2f7b9320a34f44abb644fc487b77161d1724d883662e31"}, + {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5a53f5998b4bbff1cb2e967e66ab2addc67326a274567697379dd1e326bded7"}, + {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6a555ae3d2e61118a9d3e549737bb4a56ff0cec88a22bd1dfcad5b4e04759175"}, + {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:945eb4b6bb8144909b203a88a35e0a03d22b57aefb06c9b26c6e16d72e5eb0f0"}, + {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:52c215eb46307c25f9fd2771cac8135d14b11a92ae48d17968eda5aa9aaf5071"}, + {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1b3cd23d905589cb205710b3988fc8f46d4a198cf12862887b09d7aaa6bf9b9"}, + {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:64ccc28683666672d7c166ed465c09cee36e306c156e787acef3c0c62f90da5a"}, + {file = "rpds_py-0.10.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:516a611a2de12fbea70c78271e558f725c660ce38e0006f75139ba337d56b1f6"}, + {file = "rpds_py-0.10.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9ff93d3aedef11f9c4540cf347f8bb135dd9323a2fc705633d83210d464c579d"}, + {file = "rpds_py-0.10.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d858532212f0650be12b6042ff4378dc2efbb7792a286bee4489eaa7ba010586"}, + {file = "rpds_py-0.10.6-cp312-none-win32.whl", hash = "sha256:3c4eff26eddac49d52697a98ea01b0246e44ca82ab09354e94aae8823e8bda02"}, + {file = "rpds_py-0.10.6-cp312-none-win_amd64.whl", hash = "sha256:150eec465dbc9cbca943c8e557a21afdcf9bab8aaabf386c44b794c2f94143d2"}, + {file = "rpds_py-0.10.6-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:cf693eb4a08eccc1a1b636e4392322582db2a47470d52e824b25eca7a3977b53"}, + {file = "rpds_py-0.10.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4134aa2342f9b2ab6c33d5c172e40f9ef802c61bb9ca30d21782f6e035ed0043"}, + {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e782379c2028a3611285a795b89b99a52722946d19fc06f002f8b53e3ea26ea9"}, + {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2f6da6d842195fddc1cd34c3da8a40f6e99e4a113918faa5e60bf132f917c247"}, + {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b4a9fe992887ac68256c930a2011255bae0bf5ec837475bc6f7edd7c8dfa254e"}, + {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b788276a3c114e9f51e257f2a6f544c32c02dab4aa7a5816b96444e3f9ffc336"}, + {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:caa1afc70a02645809c744eefb7d6ee8fef7e2fad170ffdeacca267fd2674f13"}, + {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bddd4f91eede9ca5275e70479ed3656e76c8cdaaa1b354e544cbcf94c6fc8ac4"}, + {file = "rpds_py-0.10.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:775049dfa63fb58293990fc59473e659fcafd953bba1d00fc5f0631a8fd61977"}, + {file = "rpds_py-0.10.6-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:c6c45a2d2b68c51fe3d9352733fe048291e483376c94f7723458cfd7b473136b"}, + {file = "rpds_py-0.10.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0699ab6b8c98df998c3eacf51a3b25864ca93dab157abe358af46dc95ecd9801"}, + {file = "rpds_py-0.10.6-cp38-none-win32.whl", hash = "sha256:ebdab79f42c5961682654b851f3f0fc68e6cc7cd8727c2ac4ffff955154123c1"}, + {file = "rpds_py-0.10.6-cp38-none-win_amd64.whl", hash = "sha256:24656dc36f866c33856baa3ab309da0b6a60f37d25d14be916bd3e79d9f3afcf"}, + {file = "rpds_py-0.10.6-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:0898173249141ee99ffcd45e3829abe7bcee47d941af7434ccbf97717df020e5"}, + {file = "rpds_py-0.10.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9e9184fa6c52a74a5521e3e87badbf9692549c0fcced47443585876fcc47e469"}, + {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5752b761902cd15073a527b51de76bbae63d938dc7c5c4ad1e7d8df10e765138"}, + {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:99a57006b4ec39dbfb3ed67e5b27192792ffb0553206a107e4aadb39c5004cd5"}, + {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09586f51a215d17efdb3a5f090d7cbf1633b7f3708f60a044757a5d48a83b393"}, + {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e225a6a14ecf44499aadea165299092ab0cba918bb9ccd9304eab1138844490b"}, + {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b2039f8d545f20c4e52713eea51a275e62153ee96c8035a32b2abb772b6fc9e5"}, + {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:34ad87a831940521d462ac11f1774edf867c34172010f5390b2f06b85dcc6014"}, + {file = "rpds_py-0.10.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dcdc88b6b01015da066da3fb76545e8bb9a6880a5ebf89e0f0b2e3ca557b3ab7"}, + {file = "rpds_py-0.10.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:25860ed5c4e7f5e10c496ea78af46ae8d8468e0be745bd233bab9ca99bfd2647"}, + {file = "rpds_py-0.10.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7854a207ef77319ec457c1eb79c361b48807d252d94348305db4f4b62f40f7f3"}, + {file = "rpds_py-0.10.6-cp39-none-win32.whl", hash = "sha256:e6fcc026a3f27c1282c7ed24b7fcac82cdd70a0e84cc848c0841a3ab1e3dea2d"}, + {file = "rpds_py-0.10.6-cp39-none-win_amd64.whl", hash = "sha256:e98c4c07ee4c4b3acf787e91b27688409d918212dfd34c872201273fdd5a0e18"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:68fe9199184c18d997d2e4293b34327c0009a78599ce703e15cd9a0f47349bba"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:3339eca941568ed52d9ad0f1b8eb9fe0958fa245381747cecf2e9a78a5539c42"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a360cfd0881d36c6dc271992ce1eda65dba5e9368575663de993eeb4523d895f"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:031f76fc87644a234883b51145e43985aa2d0c19b063e91d44379cd2786144f8"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f36a9d751f86455dc5278517e8b65580eeee37d61606183897f122c9e51cef3"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:052a832078943d2b2627aea0d19381f607fe331cc0eb5df01991268253af8417"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:023574366002bf1bd751ebaf3e580aef4a468b3d3c216d2f3f7e16fdabd885ed"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:defa2c0c68734f4a82028c26bcc85e6b92cced99866af118cd6a89b734ad8e0d"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:879fb24304ead6b62dbe5034e7b644b71def53c70e19363f3c3be2705c17a3b4"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:53c43e10d398e365da2d4cc0bcaf0854b79b4c50ee9689652cdc72948e86f487"}, + {file = "rpds_py-0.10.6-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:3777cc9dea0e6c464e4b24760664bd8831738cc582c1d8aacf1c3f546bef3f65"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:40578a6469e5d1df71b006936ce95804edb5df47b520c69cf5af264d462f2cbb"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:cf71343646756a072b85f228d35b1d7407da1669a3de3cf47f8bbafe0c8183a4"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10f32b53f424fc75ff7b713b2edb286fdbfc94bf16317890260a81c2c00385dc"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:81de24a1c51cfb32e1fbf018ab0bdbc79c04c035986526f76c33e3f9e0f3356c"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac17044876e64a8ea20ab132080ddc73b895b4abe9976e263b0e30ee5be7b9c2"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5e8a78bd4879bff82daef48c14d5d4057f6856149094848c3ed0ecaf49f5aec2"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78ca33811e1d95cac8c2e49cb86c0fb71f4d8409d8cbea0cb495b6dbddb30a55"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c63c3ef43f0b3fb00571cff6c3967cc261c0ebd14a0a134a12e83bdb8f49f21f"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:7fde6d0e00b2fd0dbbb40c0eeec463ef147819f23725eda58105ba9ca48744f4"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:79edd779cfc46b2e15b0830eecd8b4b93f1a96649bcb502453df471a54ce7977"}, + {file = "rpds_py-0.10.6-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:9164ec8010327ab9af931d7ccd12ab8d8b5dc2f4c6a16cbdd9d087861eaaefa1"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:d29ddefeab1791e3c751e0189d5f4b3dbc0bbe033b06e9c333dca1f99e1d523e"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:30adb75ecd7c2a52f5e76af50644b3e0b5ba036321c390b8e7ec1bb2a16dd43c"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd609fafdcdde6e67a139898196698af37438b035b25ad63704fd9097d9a3482"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6eef672de005736a6efd565577101277db6057f65640a813de6c2707dc69f396"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6cf4393c7b41abbf07c88eb83e8af5013606b1cdb7f6bc96b1b3536b53a574b8"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ad857f42831e5b8d41a32437f88d86ead6c191455a3499c4b6d15e007936d4cf"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d7360573f1e046cb3b0dceeb8864025aa78d98be4bb69f067ec1c40a9e2d9df"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d08f63561c8a695afec4975fae445245386d645e3e446e6f260e81663bfd2e38"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:f0f17f2ce0f3529177a5fff5525204fad7b43dd437d017dd0317f2746773443d"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:442626328600bde1d09dc3bb00434f5374948838ce75c41a52152615689f9403"}, + {file = "rpds_py-0.10.6-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:e9616f5bd2595f7f4a04b67039d890348ab826e943a9bfdbe4938d0eba606971"}, + {file = "rpds_py-0.10.6.tar.gz", hash = "sha256:4ce5a708d65a8dbf3748d2474b580d606b1b9f91b5c6ab2a316e0b0cf7a4ba50"}, ] [[package]] @@ -2861,14 +2870,14 @@ files = [ [[package]] name = "tlds" -version = "2023080900" +version = "2023102600" description = "Automatically updated list of valid TLDs taken directly from IANA" category = "main" optional = false python-versions = "*" files = [ - {file = "tlds-2023080900-py2.py3-none-any.whl", hash = "sha256:9199a8eab0bf8fdd0f8d98b317d8d6c88a4ce318967a1237ab6e36f194f2edad"}, - {file = "tlds-2023080900.tar.gz", hash = "sha256:0e234f098477fc3b51511ea2e1841c77f1b03332c4f1c14340ae06d9111a88e3"}, + {file = "tlds-2023102600-py2.py3-none-any.whl", hash = "sha256:9916e91777b1c98bdaf466867b6087ba9d70dd611bb1054487c6805ec1afde26"}, + {file = "tlds-2023102600.tar.gz", hash = "sha256:4f43dc58698e6e8063768a13966b3c905a2757b95769b72899d3f70d3b168540"}, ] [[package]] @@ -2989,14 +2998,14 @@ files = [ [[package]] name = "urllib3" -version = "2.0.6" +version = "2.0.7" description = "HTTP library with thread-safe connection pooling, file post, and more." category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "urllib3-2.0.6-py3-none-any.whl", hash = "sha256:7a7c7003b000adf9e7ca2a377c9688bbc54ed41b985789ed576570342a375cd2"}, - {file = "urllib3-2.0.6.tar.gz", hash = "sha256:b19e1a85d206b56d7df1d5e683df4a7725252a964e3993648dd0fb5a1c157564"}, + {file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"}, + {file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"}, ] [package.extras] @@ -3326,4 +3335,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "78f0b329a67c868d90f9d3c8f49a24f54cfab82a19ff6423ca4b177881db216b" +content-hash = "88410be40a3cb74fc8bb75fd8c143e776a5b9712b78ce5e8db361ce43b2fb417" diff --git a/pkgs/pretix/pretix-static.nix b/pkgs/pretix/pretix-static.nix index dd8f13c..5c0b26b 100644 --- a/pkgs/pretix/pretix-static.nix +++ b/pkgs/pretix/pretix-static.nix @@ -8,7 +8,7 @@ let nodeEnv = buildNpmPackage rec { name = "pretix-nodejs"; src = "${pretix.passthru.pythonModule.pkgs.pretix}/lib/python3.10/site-packages/pretix/static/npm_dir"; - npmDepsHash = "sha256-xkDC2CjguZMZKOHv9/o50mPkXsSkPxnmbhVuGxRZdMU="; + npmDepsHash = "sha256-TWRYNYku+p9w2tiyDFun2HwI69/+g+lqzvfqJqPCwiE="; dontNpmBuild = true; installPhase = '' mkdir -p $out diff --git a/pkgs/pretix/pyproject.toml b/pkgs/pretix/pyproject.toml index db4f97c..250402d 100644 --- a/pkgs/pretix/pyproject.toml +++ b/pkgs/pretix/pyproject.toml @@ -7,7 +7,7 @@ license = "MIT" [tool.poetry.dependencies] python = "^3.10" -pretix = "^2023.8.0" +pretix = "^2023.9.0" [tool.poetry.dev-dependencies] From 8f267232a79545f337a97be5b0c8eeb7f6ae7181 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:52 +0000 Subject: [PATCH 127/766] Add voicemail --- hosts/aluminium/secrets.yaml | 6 +-- hosts/aluminium/services/asterisk.nix | 65 ++++++++++++++++++++++++--- 2 files changed, 62 insertions(+), 9 deletions(-) diff --git a/hosts/aluminium/secrets.yaml b/hosts/aluminium/secrets.yaml index f94720d..6de2513 100644 --- a/hosts/aluminium/secrets.yaml +++ b/hosts/aluminium/secrets.yaml @@ -2,7 +2,7 @@ duckdns-secret: ENC[AES256_GCM,data:hp4aWnmTYKZhBehY0nuRV+H9bpCdK2uNqY3J0s1w6Jsi pap-secrets: ENC[AES256_GCM,data:UyC63/4EXZjypFlH7MLtJXpIBgD9P/Eolg2M1A==,iv:tf8W8rpRa487PIB9NW4NyDKgCoWYV/wDgs9MmKLZ/mc=,tag:r+zgW8XI9TUyoz56irYEdQ==,type:str] asterisk-pjsip: ENC[AES256_GCM,data:PMgHCdo7K1a9/OitWdUonJ66gr70uwYgylCCWAO9cYOeXdPTIFuFLHlgBIUUxfln3UqhquTzoTluZJW9vaSuzZGe1kLIYrb1hRyrM0HLCCQc8m46jN898le/9ZrEivxonWkxf4FTfpENIf7iEr5KHh4vfd4tr4IbORTFdpcbsy8pd5eyvS8G2z9dynIWS19zqrzfGrW6yZICzAJz28IQCiiHgpN16bqSwlcPm1UdX+qi0+ZJ3TAr16Px1F9VFOXtEsu4EZvJSomecJDuhjo3QzBFffXDL971of8KX05BJgtpP6SzIZXKfSWaOxaguctdFr2tScvze0o3FXpDoOn0cvinOdYQt1P2TzjFnBZ4I3N1turpD4be9xJ92coV/j1hBsZHj2mWE/iCdsrzj2uP/74b4Mo1BJZ6l1gXFg3OgyDXaVoMxAOnutelCEG0lf78hsJXF56aQ1LVSUly6ugZP4rMiPFg5oa7WfrIsVVURUt7WRFrDLCYIQVynpfeUxHshPSB+/jVvYLqie5XeNt8B8mgTJYFo5hFB28sa1beqYEA27QMT3gRvWivqDnuf8soVi/r3WREfnSCBujhzXQF/uJZEwqVEn0OQo9ICfJ8hqtvDiAw6Hb4Wn+0maoYQeKjbPHeL3kr1SUE/kU913FNig4Yn66QKYevLLIkd3uQ0GqTLcgn4Ttwu3qArlXXxrI4US8yA7XGQUutVadN7ayyZBbYnw+vUTlPfhSO+ridK3huGKnQfcPAbD31L11EeQBe2820Nba9Bb4d5QAkiGsNj5y9tZ4Vl6l2JErO63fVPKQ9fPxD3yYyZpP8Hm1e7Wl1eRsNtoWqkTRtno7hIpAYFoMYTUk2x5U/qZOgtRX0JHufi6+GXvPPlBaQNfiGzNlJjdmtTT6MGLPRQjsASGi00pSjKd4psAj9Uf8rttsHhJHvIRDRsiNSjae+JGbVlyyauU1JL44Qf+U+MaJDjkLagNqUZ9xgNFmXzr7st6bRFYCJHkmQC8bgJsdpwRMz3HjNzrKZRvRhHIiwT3d+oyrd9hoSQl3JkxcrD7AfEThrBQL9BpGCDcfr5RzfNv8Fb08tR7rlIzyb6Rw3eKlY1obfZRRNTF+iYlBDz8LLI+BwWqJiefbHB2F9nOC0of5Eqm5gjn+MXSKuSIP5ltDsjfO+m6q7c+t7udKwnJVnePtOnuf4uQpKfxjpld4e8Y1N9hyuKSjqEy83UB4yXJb1OoUAOXENvdPhGFDghmSC+ZVcCZRBG2k6d6MdXY6AkdjUAteDQLsDNMwpW8a8RwOXlDoAtxu7yEYP51BrHu2spagNfXMWHThnkcuR/TvqAPmcPlzVjcX+tnuU0k+JK5e4eWc+diTcvo8fpeaKi7A4uyGWRaZsoaauxsK1dEwIgmAAYyWc0Hl+Z49/dLW8kgr/Qh9N5SRRk/SLk4GvS0uyYYClN7G/7LdMDUwWifr32oqXEINDh0NEyehEJ9dEQsIIH5gR3OdlEAuL1C7/Js3/ZCdBREXRYt4y5y4TAO/kMmGgv7Y/Z2XVD0klXVBMvVnil4LJ0H5KF+RZC4j/C6acRBdrPaI0nlE3bfAbmizQN9D7jOj5BkkRzBaYlMaBuFKRKUA6CUanhUWhIn3ZlF3Z+o4PGB2c7EFXZN+PzOSgkQYUD7KtVW/QV94mxkcqN9mKe6mAbj87neN1IHhEkNOj7KJQP60pqDjx6N+WYFpD3sYvDcJDg2WFumR8F2v+jHx09v5AB1r6AzhPJ3TCwnHN4e1+Nexxlb91iPcoSmLRF3Fimn7307260CtaA70hngWHSRaBcKTXi3WL1v9kKOou2kKs1GMy5bjREtqheBxZ1i4x56VtANF9lo9UT+97qxuAqk08Rc4z9j5M8cJK/d1syRT0z/uAuTWlRgxdE/Fj/OlDNr/SnZw9CLkQ0SVJAuJFFg9EY0ru3PC9PDNt9CJiVy0GoeK0mv7ZkTv2o456kdzMpJPBwpKLIO9tpZBbNZrMn1HpLJrfXIvmuVDFmm3EH6FVhGoI+4yB11Eo/2aEMzUOEtn55KNeESkoVel6GgYiwrg1ZlQS7XhdCTGyCOMbFTOLHgUe4vaUfPBNOyLaLWE3ZiyGCxVb+nBltcPSDHrNtbc2fuPqVom3Z1wfmako1BGcwRzbLdaUPwuu6eRa/KxppPh/PoYTttPxOArql25BWAVTI6BIhlvGgZgqDRwihHBGt1uyXjwv4ufES5zgxhMB8mNqVnCSkcLXXyvpmCiB5kEv5+V4nCJIXSNbmym+V9tEzGh+cx8up24IHrg6gG28fHfMcV7Z+JzN86jogr+sgH9wigrcYcDqTE9lHJhaZlmNraTl8viAwEXkPC/dnQuPSTX5V1qeRtKo1oFkf9xnPhdVLq51GoVU+MhQqZsbnqymgKnPWTQq3Kyiux5go/Li0BqfiV+Wwpn+f3WXJ21aMpU2FfIR26z2DULlJUYDKoewmklq8vzk5iZ/tywPFGR1G0z8IM5jwr+qz0uEccAtulCWsQjtvw0kGLnTsoB2WNL4x0Kti/cE14purKaE65wMrBoG/mxd6R7ZHE7u/Uo1MDAsgqsS8MomCqyxC/1yH9BdhpXc6VZJpborqWQjW/kK8/OBxWFjfQgwvDGeQkgv2ShV0c8U6DgnS545Im9aAxQGvu1sXMhnVNQZdZ2Ta3Gz7bTHqkxB4/X7KGHdGSmw5s/RQfo0BkBBBLLTc49pcmJTxG5LPkRebCM8ANX57qj3u/D9wYumFKclTglNdrjaxSdh3zTb1kEQ0rn/D4z7lVNUsw7srUUZeEadg3xTZSmSustbziXvp51juiJeyPjVY2AlmbVVxU0O245kbyWA8lHcEluo+dfk0Rr9hDNHz35NxQRCslPHiSKswxfuPcqyzlSiBMLsMWrJ5/RyQJgaO/XJ/x3R2o4h+MiHtUKj91epxAIpYD8JqQ4eaUkP6GJRNDSNLK3VNP69Qecc7b6AvV5udzt2up0lp7OuzEZeT88Vg8YcZvOv1UTxmkI6dem1xi4imJs+V4OZrcSt9ZTlc34rc6/lvVxVQZs/1vADB0ZVk3jp24KWuRWFGacJqUIxW8TbI8N1DtmZcf7sqoQU1QPRzkOa/UYmzWablAP4B5M5WOjyr3YSJGOzHxN+GSSs4K4jHUon+LbpKxHL5KJUSsD+kZFTfsDauFhAzpFDhR2wW/XYLr0iTvKQ6+26dIpW65P8Egv+n/CXQE0wuJ1R5z0M4FucpUo+FTUIcww8cfqfHqMlMeKEFeu8/QNdZ0uj06Q8/j6E/OUjpxTIVRQBs4qaLWxMZv3zulCUe9Czr6c28NhewIJlLUxOnCVDo5pT1OmzZPghurNyhTBFP8PfJrRXN1h2uvXfGP46dgt9jgeqqQqP9xlq+fzo9cyEZ/n4nQvY+CBuOW9Cqo41zNB0PQ3tC9SU477gQkDrg0M6/bAk+xsqVg1DpZOSuRUQnOfbTdZ1CXhESy+dcri9BeKKcTCZ6aenvW4W4J6OV8en3L4jPFsgqEWJUk1qr9ggM5NXc7RIrR0eCsiR9V1gi4HWMF1roTZ3wK9NvdATj3HWTGssfdpXht/vjedIp+InNWBWjnBfIf7XWuPgiB/ZW9uew8g8vDLULGVtww==,iv:bFKc8e+3rLAHje8UWwY2elof5xqceTTWX1f7nkE91nM=,tag:NWMiljj8urTDoka5bkF0jg==,type:str] asterisk-ari: ENC[AES256_GCM,data:HnY7d3BdScb0bmsBVlsTHAMv2k8tyyA/,iv:q+NsCHcGGOCe6gdAHbFfjKvO4dyWoW/xI5jtngJmdds=,tag:e8kuEsEokf5lAAgO/coxTQ==,type:str] -asterisk-voicemail: ENC[AES256_GCM,data:UbMjSgxZpUDzPpeVPQKfDEwKe/KgZJdMf+1q7YyPtjqiw80flSo3NqLREtuGshHVFqTSS+UFoucpJMx0qB3h4YCqJgSsJQB692q1fra1aLtnw08u1eEkqyi4EKBN4KuaD8E6zggN7Zor7IqEPrAp3H/JAWvoMqGaWZTn4vJbNnzFHp9JPvzyf0emmXTXm+SJFjoSjuT3tgrimQ9UsgUrX4Nxx6ZTMKnRU72+sEaRqtSjlYfk4aYveB82oV+s1iexGidy8vgVEJzRxkkbc87+2BrSTGW63VjIMLSYAFYOQp+hsP263lRJ8ZJYdJqrk49KXMpz8M5/lgk4P78Z/1PQ741CxpzLfo2oXij6jNPaH4jGujrsqK6lUSWi4g9rft76hYZF15absiLbvJZLIXcwTG4OsFkd+c7Ths7j/P/ttjBcnOgykz8ywW8XsSISBXehaO6FwPk37rddUHeEYOvwzKbH1qpgbtS5z/BKONKxqh+8FY5Wf3n80/0SbBQ3JlBnuTuqHQQlKCv2zkzGQv3aeu1WgqmM1+OH3BgSFM/F4o/gINWsOdU0DD9rNobb909mJspY3E1iEdPEElrMeZ/xKc2Zl1sKQtZIyZMRm0gYo/H/hODmBS3bqvTapmeMWpe5SCyw03FTp1O//brPHLdNqglkll9qqgsf4JUnCqefK5qyqqS4kPcDAzSBrYcBZLsKg5DnZbedD/rFNPDrlTaADMo4HkpwtE3U8jznVSDqAL3PfWvGk/bYLxaObXIzPpZybL/ILnnV5iifqSkhqhVwUaCX6nH0uB0mpiwXFbrFRYY6egqKrxtLoMEh5qT3wFdtKTt9a0Nnytvh/00vpv9yiHVEgkXGFkSC4Y3n3rSImWONKO+mYvlPH5kKM9vT9nIKBRBC7rmM3NRCKYCtPyOZlmTb6spADscUC6kux51Abd7GT/XWCmETB6cMNN2IQUVuJvcXX8IJay/mYYdgwY1DtVAWSkJlnJGAuvNQL4/v5v08u8GrnCO89aZwbA56zEulOBVr5iINm0BmqCAg9OHJGjlq4eK0/5bT,iv:ra1EmIfT7Pwz5GVidrlTDN/Ox4ErsAvQCe7hoQoTXRg=,tag:T7nCiJ+8djxFbTJfB9Hhxw==,type:str] +asterisk-voicemail: ENC[AES256_GCM,data:uyXeBP+9WkfVot4Ot3vwv3OEZfoVDK2I+lvaPpGJTZp16YNtP+uxNiW2ynewQlORCTY59bP1jW3bQdT/ASGsErOrhInYSytTyfdZ51BF9+jz0TH6oWxsSuuawTrkC8jvJOpejt6XuGoYbbqlM/VL1xzgDkq3ztTxaHTfdTonQij2Q4cYddMRHWIEuBCK7FU2TlHAJeIFZvtE0MiyNNT3rEWSs1xcljTGfMjkoMd+FI1uZSQT4r0kAaPPkvCWcAGH6R+F0Ue++i9TuLhu+sDV+X6u3N/garDW74H0bOcLJysImtuPXh1aXuBkHQuC1Liss/IF4NDjtDDhpfc0eePR5MWv/Kj0q+VFJiUPY6XnWh6fG9I2yY22+I7eAAg/xWVZBXPWbFHRz8jm1owp4ln6/hcrJOw6Fzw8tZ6Jd9nciOeOmR1KtjEzklPP5kP1YQPtGio/LnOaAAhTHy16MbWf/Ey4S30+eHB+joD8OM93+YxxrdKNE6XXEcAhkdpHYecrvz4Co1fhY7ZoOnNvA8Juup/7PMyNEU/Fy4Pta34aT/j1s7de2vTpRNBeecWvgFA9Qd7Re/2XPqOAkpduxDniwsUdb52oL39MBoOCY8brmXn2J/mMDeOmoqvjRHsPZsajPTAqF/nqRB8VpwoZAKAx59DYBGgmHz7/7JRX9NXOAus1yLbMfVqDftk6+KTFQ9wCqei3jaI/K5AJrSEwlZG0BLoDefIGXT5f8bNNgSn865j2RP+FLa6W3/u5t+k=,iv:/phktIxMdDO5Nrum7hf3oLDmQO04lrkvFuHNw77aRks=,tag:7OUg0BG9X7nBHWiQNaSOEQ==,type:str] sops: kms: [] gcp_kms: [] @@ -18,8 +18,8 @@ sops: MU41eU8zeTRRUlZyUXV0U1N6U0NRNnMKZK3vfyRRr7Iu6HfpdpmDTKzUbEnCnW9l rGjFmY9VX2q9w3j/4E5uUToQfeGMqqBTOFUB3hNgU8K5ZT7wMbOXAg== -----END AGE ENCRYPTED FILE----- - lastmodified: "2022-12-06T22:00:11Z" - mac: ENC[AES256_GCM,data:rg0vVhW4rXOJb72LDCLNTQtCHQu165knPZuGT56zoGGWHPDDTWnqt/WaBHyUoIBXWe286jW+aV0hFZMRCrS8cu+XSTztmXDIuNaYU7s8XW8ZzISUTCHDVUiYRSjaZXvCprr0cpiQoJ9dAl+Rm5m50elCdC8E7VaNGEYTIYWYLtk=,iv:7R8xt3WJKdcMrUdL/byMIbS9cv0dxlxou26Q3liIxSQ=,tag:IENmJHOSX9nLhrnSVHZltg==,type:str] + lastmodified: "2023-10-29T11:47:51Z" + mac: ENC[AES256_GCM,data:Ydzfs57nFEAOIs5TonA6cP+btYiDXoVD08F1dQMXIAudw/I1svuO39so4pDglrzvNRraUyvMhSuwfDOGkjWT2AE06UBL7KQOYPDiZWasg42N6YORfMFDr2MOrhcaVZ1y3dad8wAEpuNySbXIi5LGy366UEgKGHkrxQ6RdD84NYA=,iv:BZQ6pn2Tvpy6QWR+HWn1KBDoiuwDjlixbFnDTXZN5RU=,tag:4XeYUfS0cT+PvZ+Julo3/A==,type:str] pgp: - created_at: "2022-11-02T22:14:19Z" enc: |- diff --git a/hosts/aluminium/services/asterisk.nix b/hosts/aluminium/services/asterisk.nix index 2f03b34..9ea5b1f 100644 --- a/hosts/aluminium/services/asterisk.nix +++ b/hosts/aluminium/services/asterisk.nix @@ -17,9 +17,8 @@ in "extensions.conf" = '' [sipgate-in] exten = _499846876,1,Noop(Processing an incoming call) - ;same = n,Dial(PJSIP/10) - same = n,Dial(PJSIP/10&PJSIP/11,45,tT) - ;same = n,VoiceMail(876@lechner,u) + same = n,Dial(PJSIP/10&PJSIP/11,25,tT) + same = n,VoiceMail(876@lechner,u) same = n,Hangup() exten => _4998469779781,1,Verbose(3,Incoming fax) @@ -79,10 +78,10 @@ in same = n,Hangup() [voicemail-callback] - exten = s,1,HasNewVoicemail(977892@pauline) + exten = s,1,HasNewVoicemail(876@lechner) exten = s,2,Hangup - exten = s,102,Dial(PJSIP/12,15) - exten = s,n,VoiceMailMain(977892@pauline) + exten = s,102,Dial(PJSIP/10&PJSIP/11,15) + exten = s,n,VoiceMailMain(876@lechner) exten = s,n,Hangup @@ -193,4 +192,58 @@ in Unit = "asterisk-reload-endpoint@sipgate.service"; }; }; + + systemd.services."asterisk-voicemail-call@" = { + description = "Check if voicemail exists and place a call to the voicemail application."; + serviceConfig = { + Type = "oneshot"; + }; + scriptArgs = "%I"; + script = '' + export PATH=${pkgs.lib.makeBinPath [pkgs.asterisk pkgs.coreutils pkgs.findutils]} + number="$(echo "$1" | cut -d ':' -f 1)" + user="$(echo "$1" | cut -d ':' -f 2)" + channel="PJSIP/$(echo "$1" | cut -d ':' -f 3)" + + if ! find "/var/spool/asterisk/voicemail/$user/$number/INBOX/" -mindepth 1 -maxdepth 1 | read; then + exit + fi + + callfile="$(mktemp -p /tmp XXXXXXXXXX.call)" + chmod 644 "$callfile" + + cat > "$callfile" << EOF + Channel: $channel + WaitTime: 15 + Application: VoiceMailMain + Data: $number@$user + CallerID: Voicemail + EOF + + mv "$callfile" /var/spool/asterisk/outgoing/ + ''; + }; + + systemd.timers.asterisk-voicemail-call-10 = { + description = "Check if voicemail exists and place a call to the voicemail application."; + after = [ "asterisk.service" ]; + wantedBy = [ "timers.target" ]; + timerConfig = { + Persistent = true; + OnCalendar = "*-*-* 07..22:00,20,40:00"; + Unit = "asterisk-voicemail-call@876:lechner:10.service"; + }; + }; + systemd.timers.asterisk-voicemail-call-11 = { + description = "Check if voicemail exists and place a call to the voicemail application."; + after = [ "asterisk.service" ]; + wantedBy = [ "timers.target" ]; + timerConfig = { + Persistent = true; + OnCalendar = "*-*-* 07..22:00,10,30:50"; + Unit = "asterisk-voicemail-call@876:lechner:11.service"; + }; + }; + + #voicemailCallScript } From 65c90bed810336e1877f62f6f18a8c5adef4d581 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:53 +0000 Subject: [PATCH 128/766] Sort dnsmasq server list --- modules/dnsmasq.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/dnsmasq.nix b/modules/dnsmasq.nix index 3a5ff06..264d3d7 100644 --- a/modules/dnsmasq.nix +++ b/modules/dnsmasq.nix @@ -7,11 +7,11 @@ resolveLocalQueries = true; settings = { server = [ - "127.0.0.1#9053" - "/lechner.zz/192.168.0.1" - "/lab.fablab-nea.de/192.168.94.1" - "/login.wifionice.de/172.18.0.1" "/iceportal.de/172.18.0.1" + "/lab.fablab-nea.de/192.168.94.1" + "/lechner.zz/192.168.0.1" + "/login.wifionice.de/172.18.0.1" + "127.0.0.1#9053" ]; no-resolv = true; interface = "lo"; From 4aa948f8d4cbb16c98f5bb515199748cd3b46ce0 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:53 +0000 Subject: [PATCH 129/766] Add home domain --- modules/dnsmasq.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/dnsmasq.nix b/modules/dnsmasq.nix index 264d3d7..e33f50b 100644 --- a/modules/dnsmasq.nix +++ b/modules/dnsmasq.nix @@ -9,6 +9,7 @@ server = [ "/iceportal.de/172.18.0.1" "/lab.fablab-nea.de/192.168.94.1" + "/lan.bw.jalr.de/192.168.42.1" "/lechner.zz/192.168.0.1" "/login.wifionice.de/172.18.0.1" "127.0.0.1#9053" From aba0d00afdba81133cfb6d8685328430392ba547 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:54 +0000 Subject: [PATCH 130/766] Add myintercom doorbell --- hosts/aluminium/secrets.yaml | 5 +- hosts/aluminium/services/asterisk.nix | 14 + hosts/aluminium/services/default.nix | 1 + hosts/aluminium/services/doorbell.nix | 19 ++ pkgs/default.nix | 1 + pkgs/modules.nix | 1 + pkgs/myintercom-doorbell/.envrc | 1 + pkgs/myintercom-doorbell/.gitignore | 1 + pkgs/myintercom-doorbell/README.md | 0 pkgs/myintercom-doorbell/default.nix | 12 + pkgs/myintercom-doorbell/module.nix | 99 +++++++ .../myintercom_doorbell/audiosocket.py | 83 ++++++ .../myintercom_doorbell/connection.py | 245 ++++++++++++++++++ .../myintercom_audiosocket.py | 98 +++++++ .../myintercom_doorbell/open.py | 36 +++ .../myintercom_doorbell/service.py | 98 +++++++ pkgs/myintercom-doorbell/poetry.lock | 24 ++ pkgs/myintercom-doorbell/pyproject.toml | 20 ++ pkgs/myintercom-doorbell/shell.nix | 8 + 19 files changed, 764 insertions(+), 2 deletions(-) create mode 100644 hosts/aluminium/services/doorbell.nix create mode 100644 pkgs/myintercom-doorbell/.envrc create mode 100644 pkgs/myintercom-doorbell/.gitignore create mode 100644 pkgs/myintercom-doorbell/README.md create mode 100644 pkgs/myintercom-doorbell/default.nix create mode 100644 pkgs/myintercom-doorbell/module.nix create mode 100644 pkgs/myintercom-doorbell/myintercom_doorbell/audiosocket.py create mode 100644 pkgs/myintercom-doorbell/myintercom_doorbell/connection.py create mode 100644 pkgs/myintercom-doorbell/myintercom_doorbell/myintercom_audiosocket.py create mode 100644 pkgs/myintercom-doorbell/myintercom_doorbell/open.py create mode 100644 pkgs/myintercom-doorbell/myintercom_doorbell/service.py create mode 100644 pkgs/myintercom-doorbell/poetry.lock create mode 100644 pkgs/myintercom-doorbell/pyproject.toml create mode 100644 pkgs/myintercom-doorbell/shell.nix diff --git a/hosts/aluminium/secrets.yaml b/hosts/aluminium/secrets.yaml index 6de2513..a920ae9 100644 --- a/hosts/aluminium/secrets.yaml +++ b/hosts/aluminium/secrets.yaml @@ -1,5 +1,6 @@ duckdns-secret: ENC[AES256_GCM,data:hp4aWnmTYKZhBehY0nuRV+H9bpCdK2uNqY3J0s1w6JsiyXip,iv:X0MtN+lqDqucgHOgS1D/RrMksNydLFW1/wqD47DWhqQ=,tag:+7qsJEJYzI+UUrdC6NZr4Q==,type:str] pap-secrets: ENC[AES256_GCM,data:UyC63/4EXZjypFlH7MLtJXpIBgD9P/Eolg2M1A==,iv:tf8W8rpRa487PIB9NW4NyDKgCoWYV/wDgs9MmKLZ/mc=,tag:r+zgW8XI9TUyoz56irYEdQ==,type:str] +myintercom-doorbell-password: ENC[AES256_GCM,data:waUUvHQ9BZFePQ==,iv:ev21SNOwzdNMc3Opo6Kgdd7daLNUf9e1/C9RtxQKV8U=,tag:aOi2f3VuR49J0sHNrVXW/A==,type:str] asterisk-pjsip: ENC[AES256_GCM,data:PMgHCdo7K1a9/OitWdUonJ66gr70uwYgylCCWAO9cYOeXdPTIFuFLHlgBIUUxfln3UqhquTzoTluZJW9vaSuzZGe1kLIYrb1hRyrM0HLCCQc8m46jN898le/9ZrEivxonWkxf4FTfpENIf7iEr5KHh4vfd4tr4IbORTFdpcbsy8pd5eyvS8G2z9dynIWS19zqrzfGrW6yZICzAJz28IQCiiHgpN16bqSwlcPm1UdX+qi0+ZJ3TAr16Px1F9VFOXtEsu4EZvJSomecJDuhjo3QzBFffXDL971of8KX05BJgtpP6SzIZXKfSWaOxaguctdFr2tScvze0o3FXpDoOn0cvinOdYQt1P2TzjFnBZ4I3N1turpD4be9xJ92coV/j1hBsZHj2mWE/iCdsrzj2uP/74b4Mo1BJZ6l1gXFg3OgyDXaVoMxAOnutelCEG0lf78hsJXF56aQ1LVSUly6ugZP4rMiPFg5oa7WfrIsVVURUt7WRFrDLCYIQVynpfeUxHshPSB+/jVvYLqie5XeNt8B8mgTJYFo5hFB28sa1beqYEA27QMT3gRvWivqDnuf8soVi/r3WREfnSCBujhzXQF/uJZEwqVEn0OQo9ICfJ8hqtvDiAw6Hb4Wn+0maoYQeKjbPHeL3kr1SUE/kU913FNig4Yn66QKYevLLIkd3uQ0GqTLcgn4Ttwu3qArlXXxrI4US8yA7XGQUutVadN7ayyZBbYnw+vUTlPfhSO+ridK3huGKnQfcPAbD31L11EeQBe2820Nba9Bb4d5QAkiGsNj5y9tZ4Vl6l2JErO63fVPKQ9fPxD3yYyZpP8Hm1e7Wl1eRsNtoWqkTRtno7hIpAYFoMYTUk2x5U/qZOgtRX0JHufi6+GXvPPlBaQNfiGzNlJjdmtTT6MGLPRQjsASGi00pSjKd4psAj9Uf8rttsHhJHvIRDRsiNSjae+JGbVlyyauU1JL44Qf+U+MaJDjkLagNqUZ9xgNFmXzr7st6bRFYCJHkmQC8bgJsdpwRMz3HjNzrKZRvRhHIiwT3d+oyrd9hoSQl3JkxcrD7AfEThrBQL9BpGCDcfr5RzfNv8Fb08tR7rlIzyb6Rw3eKlY1obfZRRNTF+iYlBDz8LLI+BwWqJiefbHB2F9nOC0of5Eqm5gjn+MXSKuSIP5ltDsjfO+m6q7c+t7udKwnJVnePtOnuf4uQpKfxjpld4e8Y1N9hyuKSjqEy83UB4yXJb1OoUAOXENvdPhGFDghmSC+ZVcCZRBG2k6d6MdXY6AkdjUAteDQLsDNMwpW8a8RwOXlDoAtxu7yEYP51BrHu2spagNfXMWHThnkcuR/TvqAPmcPlzVjcX+tnuU0k+JK5e4eWc+diTcvo8fpeaKi7A4uyGWRaZsoaauxsK1dEwIgmAAYyWc0Hl+Z49/dLW8kgr/Qh9N5SRRk/SLk4GvS0uyYYClN7G/7LdMDUwWifr32oqXEINDh0NEyehEJ9dEQsIIH5gR3OdlEAuL1C7/Js3/ZCdBREXRYt4y5y4TAO/kMmGgv7Y/Z2XVD0klXVBMvVnil4LJ0H5KF+RZC4j/C6acRBdrPaI0nlE3bfAbmizQN9D7jOj5BkkRzBaYlMaBuFKRKUA6CUanhUWhIn3ZlF3Z+o4PGB2c7EFXZN+PzOSgkQYUD7KtVW/QV94mxkcqN9mKe6mAbj87neN1IHhEkNOj7KJQP60pqDjx6N+WYFpD3sYvDcJDg2WFumR8F2v+jHx09v5AB1r6AzhPJ3TCwnHN4e1+Nexxlb91iPcoSmLRF3Fimn7307260CtaA70hngWHSRaBcKTXi3WL1v9kKOou2kKs1GMy5bjREtqheBxZ1i4x56VtANF9lo9UT+97qxuAqk08Rc4z9j5M8cJK/d1syRT0z/uAuTWlRgxdE/Fj/OlDNr/SnZw9CLkQ0SVJAuJFFg9EY0ru3PC9PDNt9CJiVy0GoeK0mv7ZkTv2o456kdzMpJPBwpKLIO9tpZBbNZrMn1HpLJrfXIvmuVDFmm3EH6FVhGoI+4yB11Eo/2aEMzUOEtn55KNeESkoVel6GgYiwrg1ZlQS7XhdCTGyCOMbFTOLHgUe4vaUfPBNOyLaLWE3ZiyGCxVb+nBltcPSDHrNtbc2fuPqVom3Z1wfmako1BGcwRzbLdaUPwuu6eRa/KxppPh/PoYTttPxOArql25BWAVTI6BIhlvGgZgqDRwihHBGt1uyXjwv4ufES5zgxhMB8mNqVnCSkcLXXyvpmCiB5kEv5+V4nCJIXSNbmym+V9tEzGh+cx8up24IHrg6gG28fHfMcV7Z+JzN86jogr+sgH9wigrcYcDqTE9lHJhaZlmNraTl8viAwEXkPC/dnQuPSTX5V1qeRtKo1oFkf9xnPhdVLq51GoVU+MhQqZsbnqymgKnPWTQq3Kyiux5go/Li0BqfiV+Wwpn+f3WXJ21aMpU2FfIR26z2DULlJUYDKoewmklq8vzk5iZ/tywPFGR1G0z8IM5jwr+qz0uEccAtulCWsQjtvw0kGLnTsoB2WNL4x0Kti/cE14purKaE65wMrBoG/mxd6R7ZHE7u/Uo1MDAsgqsS8MomCqyxC/1yH9BdhpXc6VZJpborqWQjW/kK8/OBxWFjfQgwvDGeQkgv2ShV0c8U6DgnS545Im9aAxQGvu1sXMhnVNQZdZ2Ta3Gz7bTHqkxB4/X7KGHdGSmw5s/RQfo0BkBBBLLTc49pcmJTxG5LPkRebCM8ANX57qj3u/D9wYumFKclTglNdrjaxSdh3zTb1kEQ0rn/D4z7lVNUsw7srUUZeEadg3xTZSmSustbziXvp51juiJeyPjVY2AlmbVVxU0O245kbyWA8lHcEluo+dfk0Rr9hDNHz35NxQRCslPHiSKswxfuPcqyzlSiBMLsMWrJ5/RyQJgaO/XJ/x3R2o4h+MiHtUKj91epxAIpYD8JqQ4eaUkP6GJRNDSNLK3VNP69Qecc7b6AvV5udzt2up0lp7OuzEZeT88Vg8YcZvOv1UTxmkI6dem1xi4imJs+V4OZrcSt9ZTlc34rc6/lvVxVQZs/1vADB0ZVk3jp24KWuRWFGacJqUIxW8TbI8N1DtmZcf7sqoQU1QPRzkOa/UYmzWablAP4B5M5WOjyr3YSJGOzHxN+GSSs4K4jHUon+LbpKxHL5KJUSsD+kZFTfsDauFhAzpFDhR2wW/XYLr0iTvKQ6+26dIpW65P8Egv+n/CXQE0wuJ1R5z0M4FucpUo+FTUIcww8cfqfHqMlMeKEFeu8/QNdZ0uj06Q8/j6E/OUjpxTIVRQBs4qaLWxMZv3zulCUe9Czr6c28NhewIJlLUxOnCVDo5pT1OmzZPghurNyhTBFP8PfJrRXN1h2uvXfGP46dgt9jgeqqQqP9xlq+fzo9cyEZ/n4nQvY+CBuOW9Cqo41zNB0PQ3tC9SU477gQkDrg0M6/bAk+xsqVg1DpZOSuRUQnOfbTdZ1CXhESy+dcri9BeKKcTCZ6aenvW4W4J6OV8en3L4jPFsgqEWJUk1qr9ggM5NXc7RIrR0eCsiR9V1gi4HWMF1roTZ3wK9NvdATj3HWTGssfdpXht/vjedIp+InNWBWjnBfIf7XWuPgiB/ZW9uew8g8vDLULGVtww==,iv:bFKc8e+3rLAHje8UWwY2elof5xqceTTWX1f7nkE91nM=,tag:NWMiljj8urTDoka5bkF0jg==,type:str] asterisk-ari: ENC[AES256_GCM,data:HnY7d3BdScb0bmsBVlsTHAMv2k8tyyA/,iv:q+NsCHcGGOCe6gdAHbFfjKvO4dyWoW/xI5jtngJmdds=,tag:e8kuEsEokf5lAAgO/coxTQ==,type:str] asterisk-voicemail: ENC[AES256_GCM,data:uyXeBP+9WkfVot4Ot3vwv3OEZfoVDK2I+lvaPpGJTZp16YNtP+uxNiW2ynewQlORCTY59bP1jW3bQdT/ASGsErOrhInYSytTyfdZ51BF9+jz0TH6oWxsSuuawTrkC8jvJOpejt6XuGoYbbqlM/VL1xzgDkq3ztTxaHTfdTonQij2Q4cYddMRHWIEuBCK7FU2TlHAJeIFZvtE0MiyNNT3rEWSs1xcljTGfMjkoMd+FI1uZSQT4r0kAaPPkvCWcAGH6R+F0Ue++i9TuLhu+sDV+X6u3N/garDW74H0bOcLJysImtuPXh1aXuBkHQuC1Liss/IF4NDjtDDhpfc0eePR5MWv/Kj0q+VFJiUPY6XnWh6fG9I2yY22+I7eAAg/xWVZBXPWbFHRz8jm1owp4ln6/hcrJOw6Fzw8tZ6Jd9nciOeOmR1KtjEzklPP5kP1YQPtGio/LnOaAAhTHy16MbWf/Ey4S30+eHB+joD8OM93+YxxrdKNE6XXEcAhkdpHYecrvz4Co1fhY7ZoOnNvA8Juup/7PMyNEU/Fy4Pta34aT/j1s7de2vTpRNBeecWvgFA9Qd7Re/2XPqOAkpduxDniwsUdb52oL39MBoOCY8brmXn2J/mMDeOmoqvjRHsPZsajPTAqF/nqRB8VpwoZAKAx59DYBGgmHz7/7JRX9NXOAus1yLbMfVqDftk6+KTFQ9wCqei3jaI/K5AJrSEwlZG0BLoDefIGXT5f8bNNgSn865j2RP+FLa6W3/u5t+k=,iv:/phktIxMdDO5Nrum7hf3oLDmQO04lrkvFuHNw77aRks=,tag:7OUg0BG9X7nBHWiQNaSOEQ==,type:str] @@ -18,8 +19,8 @@ sops: MU41eU8zeTRRUlZyUXV0U1N6U0NRNnMKZK3vfyRRr7Iu6HfpdpmDTKzUbEnCnW9l rGjFmY9VX2q9w3j/4E5uUToQfeGMqqBTOFUB3hNgU8K5ZT7wMbOXAg== -----END AGE ENCRYPTED FILE----- - lastmodified: "2023-10-29T11:47:51Z" - mac: ENC[AES256_GCM,data:Ydzfs57nFEAOIs5TonA6cP+btYiDXoVD08F1dQMXIAudw/I1svuO39so4pDglrzvNRraUyvMhSuwfDOGkjWT2AE06UBL7KQOYPDiZWasg42N6YORfMFDr2MOrhcaVZ1y3dad8wAEpuNySbXIi5LGy366UEgKGHkrxQ6RdD84NYA=,iv:BZQ6pn2Tvpy6QWR+HWn1KBDoiuwDjlixbFnDTXZN5RU=,tag:4XeYUfS0cT+PvZ+Julo3/A==,type:str] + lastmodified: "2023-11-06T23:32:51Z" + mac: ENC[AES256_GCM,data:7lW6i4ULus4348NwnV/ovcWebspBcEBzYqLtl+8xFOfe3erIFnC3iRo0ibZJ8yishZpIUxoVu08yxQoa1qEriC57WETMaR+iGUPaY75tHraBJGY26Etk7Hy2QhQ7D+srBY+CogHhHAD8HUwT4/ZiPqKe1eQAvNg/6HWnjbQkG/Q=,iv:r43odkYgQsyK5uJJ5V98kTx7enP7TRuFoTnYfHmD/8o=,tag:hR+1zCniHs1l3qSkhQhtFw==,type:str] pgp: - created_at: "2022-11-02T22:14:19Z" enc: |- diff --git a/hosts/aluminium/services/asterisk.nix b/hosts/aluminium/services/asterisk.nix index 9ea5b1f..82e00ea 100644 --- a/hosts/aluminium/services/asterisk.nix +++ b/hosts/aluminium/services/asterisk.nix @@ -15,6 +15,16 @@ in enable = true; confFiles = { "extensions.conf" = '' + [doorbell] + exten = s,1,Set(__DYNAMIC_FEATURES=doorOpen) + same = n,Dial(PJSIP/10&PJSIP/11,${toString config.services.myintercom-doorbell.dialTime}) + same = n,Hangup() + + [door-open] + exten = s,1,Verbose(0, "opening the door") + same = n,System("${pkgs.myintercom-doorbell}/bin/myintercom-doorbell-open-door") + same = n,Hangup() + [sipgate-in] exten = _499846876,1,Noop(Processing an incoming call) same = n,Dial(PJSIP/10&PJSIP/11,25,tT) @@ -109,6 +119,10 @@ in ; Send the fax exten => send,n,SendFAX(/home/jalr/fax.tif,d) ''; + "features.conf" = '' + [applicationmap] + doorOpen => #9,peer,Gosub,"door-open,s,1" + ''; "http.conf" = '' [general] enabled=yes diff --git a/hosts/aluminium/services/default.nix b/hosts/aluminium/services/default.nix index 1ab0528..bb55c33 100644 --- a/hosts/aluminium/services/default.nix +++ b/hosts/aluminium/services/default.nix @@ -2,6 +2,7 @@ imports = [ ./asterisk.nix ./dnsmasq.nix + ./doorbell.nix ./dyndns.nix ./unifi-controller.nix ]; diff --git a/hosts/aluminium/services/doorbell.nix b/hosts/aluminium/services/doorbell.nix new file mode 100644 index 0000000..8136132 --- /dev/null +++ b/hosts/aluminium/services/doorbell.nix @@ -0,0 +1,19 @@ +{ config, lib, pkgs, ... }: +{ + sops.secrets.myintercom-doorbell-password = { + sopsFile = ../secrets.yaml; + owner = "asterisk"; + }; + services.myintercom-doorbell = { + enable = true; + host = "192.168.0.74"; + username = "btxpvt0002"; + passwordFile = config.sops.secrets.myintercom-doorbell-password.path; + audiosocket = { + address = "127.0.0.1"; + port = 9092; + uuid = "4960ab41-dbef-4773-a25e-90536d97345e"; + }; + callerId = "Sprechanlage"; + }; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index f3fd495..1d0a068 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -13,6 +13,7 @@ in docker-machine-gitlab = callPackage ./docker-machine-gitlab { }; fpvout = callPackage ./fpvout { }; mute-indicator = callPackage ./mute-indicator { }; + myintercom-doorbell = callPackage ./myintercom-doorbell { }; pretix = callPackage ./pretix/pretix.nix { }; pretix-banktool = callPackage ./pretix/pretix-banktool.nix { }; pretix-static = callPackage ./pretix/pretix-static.nix { }; diff --git a/pkgs/modules.nix b/pkgs/modules.nix index 02b906b..3e1a8e3 100644 --- a/pkgs/modules.nix +++ b/pkgs/modules.nix @@ -2,6 +2,7 @@ { imports = [ + ./myintercom-doorbell/module.nix ./pretix/module.nix ]; } diff --git a/pkgs/myintercom-doorbell/.envrc b/pkgs/myintercom-doorbell/.envrc new file mode 100644 index 0000000..1d953f4 --- /dev/null +++ b/pkgs/myintercom-doorbell/.envrc @@ -0,0 +1 @@ +use nix diff --git a/pkgs/myintercom-doorbell/.gitignore b/pkgs/myintercom-doorbell/.gitignore new file mode 100644 index 0000000..9b1c8b1 --- /dev/null +++ b/pkgs/myintercom-doorbell/.gitignore @@ -0,0 +1 @@ +/dist diff --git a/pkgs/myintercom-doorbell/README.md b/pkgs/myintercom-doorbell/README.md new file mode 100644 index 0000000..e69de29 diff --git a/pkgs/myintercom-doorbell/default.nix b/pkgs/myintercom-doorbell/default.nix new file mode 100644 index 0000000..9d7fd58 --- /dev/null +++ b/pkgs/myintercom-doorbell/default.nix @@ -0,0 +1,12 @@ +{ lib, python3, poetry2nix }: + +poetry2nix.mkPoetryApplication rec { + pname = "myintercom-audiosocket"; + version = "0.0.1"; + projectDir = ./.; + overrides = poetry2nix.overrides.withDefaults (final: prev: { + urllib3 = prev.urllib3.override { + preferWheel = true; + }; + }); +} diff --git a/pkgs/myintercom-doorbell/module.nix b/pkgs/myintercom-doorbell/module.nix new file mode 100644 index 0000000..2acc1fe --- /dev/null +++ b/pkgs/myintercom-doorbell/module.nix @@ -0,0 +1,99 @@ +{ config, lib, pkgs, ... }: + +let + cfg = config.services.myintercom-doorbell; +in +{ + options.services.myintercom-doorbell = with lib; with lib.types; { + enable = mkEnableOption "Enable myintercom service"; + host = mkOption { + type = types.str; + description = "The Hostname of myintercom."; + example = "myintercom.lan.example.net"; + }; + username = mkOption { + type = types.str; + description = "Username for basic auth."; + }; + passwordFile = mkOption { + type = types.path; + description = "Path to the file that contains the basic auth password."; + }; + audiosocket = { + address = mkOption { + type = types.str; + description = "Address the AudioSocket binds to."; + default = "127.0.0.1"; + }; + port = mkOption { + type = types.port; + description = "Port the AudioSocket binds to."; + default = 9092; + }; + uuid = mkOption { + type = types.str; + example = "e461837f-22b0-4652-955f-e1a444f3a42e"; + }; + }; + callerId = mkOption { + type = types.str; + description = "The display name to show when the doorbell rings a phone."; + example = "Doorbell"; + }; + dialTime = mkOption { + type = types.int; + description = "The duration how long to wait for the call to be answered."; + default = 45; + }; + }; + + config = lib.mkIf cfg.enable { + environment.etc."myintercom-doorbell/settings.json".text = builtins.toJSON { + host = cfg.host; + username = cfg.username; + passwordFile = cfg.passwordFile; + audiosocket = { + address = cfg.audiosocket.address; + port = cfg.audiosocket.port; + uuid = cfg.audiosocket.uuid; + }; + callerId = cfg.callerId; + dialTime = cfg.dialTime; + }; + + systemd.services.myintercom-doorbell-poll = { + enable = cfg.enable; + description = "Polls myintercom doorbell ring button status."; + after = [ "asterisk.service" ]; + serviceConfig = { + Type = "simple"; + User = "asterisk"; + ExecStart = "${pkgs.myintercom-doorbell}/bin/myintercom-doorbell-poll"; + }; + }; + + systemd.services.myintercom-doorbell-audiosocket = { + enable = cfg.enable; + description = "myintercom doorbell AudioSocket for Asterisk"; + requires = [ "asterisk.service" ]; + serviceConfig = { + Type = "simple"; + DynamicUser = true; + CapabilityBoundingSet = null; + PrivateUsers = true; + ProtectHome = true; + RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictNamespaces = true; + SystemCallFilter = "@system-service"; + LoadCredential = "password:${cfg.passwordFile}"; + Environment = [ + "LISTEN_ADDRESS=${cfg.audiosocket.address}" + "LISTEN_PORT=${toString cfg.audiosocket.port}" + "USERNAME=${cfg.username}" + "PASSWORD_FILE=%d/password" + ]; + ExecStart = "${pkgs.myintercom-doorbell}/bin/myintercom-doorbell-audiosocket"; + }; + }; + }; +} diff --git a/pkgs/myintercom-doorbell/myintercom_doorbell/audiosocket.py b/pkgs/myintercom-doorbell/myintercom_doorbell/audiosocket.py new file mode 100644 index 0000000..0bb4453 --- /dev/null +++ b/pkgs/myintercom-doorbell/myintercom_doorbell/audiosocket.py @@ -0,0 +1,83 @@ +import socket +from threading import Thread +from dataclasses import dataclass + +from .connection import Connection + + +@dataclass +class audioop_struct: + ratecv_state: None + rate: int + channels: int + ulaw2lin: bool + lin2ulaw: bool + + +# Make a single, global object instance, +# then loop with listen() method alone where needed + + +# Creates a new audiosocket object +class Audiosocket: + def __init__(self, bind_info, timeout=None): + # By default, features of audioop (for example: resampling + # or re-mixng input/output) are disabled + self.user_resample = None + self.asterisk_resample = None + + if not isinstance(bind_info, tuple): + raise TypeError("Expected tuple (addr, port), received", type(bind_info)) + + self.addr, self.port = bind_info + + self.initial_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + self.initial_sock.bind((self.addr, self.port)) + self.initial_sock.settimeout(timeout) + self.initial_sock.listen(1) + + # If the user didn't specify a port, the one that the operating system + # chose is availble in this attribute + self.port = self.initial_sock.getsockname()[1] + + # Optionally prepares audio sent by the user to + # the specifications needed by audiosocket (16-bit, 8KHz mono LE PCM). + # Audio sent in must be in PCM or ULAW format + def prepare_input(self, inrate=44000, channels=2, ulaw2lin=False, lin2ulaw=False): + self.user_resample = audioop_struct( + rate=inrate, + channels=channels, + ulaw2lin=ulaw2lin, + lin2ulaw=lin2ulaw, + ratecv_state=None, + ) + + # Optionally prepares audio sent by audiosocket to + # the specifications of the user + def prepare_output(self, outrate=44000, channels=2, ulaw2lin=False, lin2ulaw=False): + self.asterisk_resample = audioop_struct( + rate=outrate, + channels=channels, + ulaw2lin=ulaw2lin, + lin2ulaw=lin2ulaw, + ratecv_state=None, + ) + + def listen(self): + conn, peer_addr = self.initial_sock.accept() + connection = Connection( + conn, + peer_addr, + self.user_resample, + self.asterisk_resample, + ) + + connection_thread = Thread(target=connection._process, args=()) + connection_thread.start() + + return connection + + # If we want this single object to serve multiple simultaneous + # connections, accept() will have to be put in a while loop + # If this does become the case, what is the best way to deliver the + # queue objects to the caller, keep them wrapped in read/write methods? diff --git a/pkgs/myintercom-doorbell/myintercom_doorbell/connection.py b/pkgs/myintercom-doorbell/myintercom_doorbell/connection.py new file mode 100644 index 0000000..12767ea --- /dev/null +++ b/pkgs/myintercom-doorbell/myintercom_doorbell/connection.py @@ -0,0 +1,245 @@ +# Standard Python modules +import audioop +from queue import Queue, Empty +from dataclasses import dataclass +from threading import Lock +from time import sleep + + +# A sort of imitation struct that holds all of the possible +# AudioSocket message types + + +@dataclass(frozen=True) +class types_struct: + uuid: bytes = b"\x01" # Message payload contains UUID set in Asterisk Dialplan + audio: bytes = b"\x10" # * Message payload contains 8Khz 16-bit mono LE PCM audio (* See Github readme) + silence: bytes = b"\x02" # Message payload contains silence (I've never seen this occur personally) + hangup: bytes = b"\x00" # Tell Asterisk to hangup the call (This doesn't appear to ever be sent from Asterisk to us) + error: bytes = b"\xff" # Message payload contains an error from Asterisk + + +types = types_struct() + + +# The size of 20ms of 8KHz 16-bit mono LE PCM represented as a +# 16 bit (2 byte, size of length header) unsigned BE integer + +# This amount of the audio data mentioned above is equal +# to 320 bytes, which is the required payload size when +# sending audio back to AudioSocket for playback on the +# bridged channel. Sending more or less data will result in distorted sound +PCM_SIZE = (320).to_bytes(2, "big") + + +# Similar to one above, this holds all the possible +# AudioSocket related error codes Asterisk can send us + + +@dataclass(frozen=True) +class errors_struct: + none: bytes = b"\x00" + hangup: bytes = b"\x01" + frame: bytes = b"\x02" + memory: bytes = b"\x04" + + +errors = errors_struct() + + +class Connection: + def __init__(self, conn, peer_addr, user_resample, asterisk_resample): + self.conn = conn + self.peer_addr = peer_addr + self.uuid = None + self.connected = True # An instance gets created because a connection occurred + self._user_resample = user_resample + self._asterisk_resample = asterisk_resample + + # Underlying Queue objects for passing incoming/outgoing audio between threads + self._rx_q = Queue(500) + self._tx_q = Queue(500) + + self._lock = Lock() + + # Splits data sent by AudioSocket into three different peices + def _split_data(self, data): + if len(data) < 3: + print( + "[AUDIOSOCKET WARNING] The data received was less than 3 bytes, " + + "the minimum length data from Asterisk AudioSocket should be." + ) + + return b"\x00", 0, bytes(320) + + else: + # type length payload + return data[:1], int.from_bytes(data[1:3], "big"), data[3:] + + # If the type of message received was an error, this + # prints an explanation of the specific one that occurred + def _decode_error(self, payload): + if payload == errors.none: + print("[ASTERISK ERROR] No error code present") + + elif payload == errors.hangup: + print("[ASTERISK ERROR] The called party hungup") + + elif payload == errors.frame: + print("[ASTERISK ERROR] Failed to forward frame") + + elif payload == errors.memory: + print("[ASTERISK ERROR] Memory allocation error") + + return + + # Gets AudioSocket audio from the rx queue + def read(self): + try: + audio = self._rx_q.get(timeout=0.2) + + # If for some reason we receive less than 320 bytes + # of audio, add silence (padding) to the end. This prevents + # audioop related errors that are caused by the current frame + # not being the same size as the last + if len(audio) != 320: + audio += bytes(320 - len(audio)) + + except Empty: + return bytes(320) + + if self._asterisk_resample: + # If AudioSocket is bridged with a channel + # using the ULAW audio codec, the user can specify + # to have it converted to linear encoding upon reading. + if self._asterisk_resample.ulaw2lin: + audio = audioop.ulaw2lin(audio, 2) + + if self._asterisk_resample.lin2ulaw: + audio = audioop.lin2ulaw(audio, 2) + + # If the user requested an outrate different + # from the default, then resample it to the rate they specified + if self._asterisk_resample.rate != 8000: + audio, self._asterisk_resample.ratecv_state = audioop.ratecv( + audio, + 2, + 1, + 8000, + self._asterisk_resample.rate, + self._asterisk_resample.ratecv_state, + ) + + # If the user requested the output be in stereo, + # then convert it from mono + if self._asterisk_resample.channels == 2: + audio = audioop.tostereo(audio, 2, 1, 1) + + return audio + + # Puts user supplied audio into the tx queue + def write(self, audio): + if self._user_resample: + # The user can also specify to have ULAW encoded source audio + # converted to linear encoding upon being written. + if self._user_resample.ulaw2lin: + # Possibly skip downsampling if this was triggered, as + # while ULAW encoded audio can be sampled at rates other + # than 8KHz, since this is telephony related, it's unlikely. + audio = audioop.ulaw2lin(audio, 2) + if self._user_resample.lin2ulaw: + audio = audioop.lin2ulaw(audio, 2) + + # If the audio isn't already sampled at 8KHz, + # then it needs to be downsampled first + if self._user_resample.rate != 8000: + audio, self._user_resample.ratecv_state = audioop.ratecv( + audio, + 2, + self._user_resample.channels, + self._user_resample.rate, + 8000, + self._user_resample.ratecv_state, + ) + + # If the audio isn't already in mono, then + # it needs to be downmixed as well + if self._user_resample.channels == 2: + audio = audioop.tomono(audio, 2, 1, 1) + + self._tx_q.put(audio) + + # *** This may interfere with the thread executing _process, consider + # sending type through queue as well, so a hangup message can be done properly + + # Tells Asterisk to hangup the call from it's end. + # Although after the call is hungup, the socket on Asterisk's end + # closes the connection via an abrupt RST packet, resulting in a "Connection reset by peer" + # error on our end. Unfortunately, using try and except around self.conn.recv() is as + # clean as I think it can be right now + def hangup(self): + # Three bytes of 0 indicate a hangup message + with self._lock: + self.conn.send(types.hangup * 3) + + sleep(0.2) + return + + def _process(self): + # The main audio receiving/sending loop, this loops + # until AudioSocket stops sending us data, the hangup() method is called or an error occurs. + # A disconnection can be triggered from the users end by calling the hangup() method + while True: + data = None + + try: + with self._lock: + data = self.conn.recv(323) + + except ConnectionResetError: + pass + + if not data: + self.connected = False + self.conn.close() + return + + type, length, payload = self._split_data(data) + + if type == types.audio: + # Adds received audio into the rx queue + if self._rx_q.full(): + print( + "[AUDIOSOCKET WARNING] The inbound audio queue is full! This most " + + "likely occurred because the read() method is not being called, skipping frame" + ) + + else: + self._rx_q.put(payload) + + # To prevent the tx queue from blocking all execution if + # the user doesn't supply it with (enough) audio, silence is + # generated manually and sent back to AudioSocket whenever its empty. + if self._tx_q.empty(): + self.conn.send(types.audio + PCM_SIZE + bytes(320)) + + else: + # If a single peice of audio data in the rx queue is larger than + # 320 bytes, slice it before sending, however... + # If the audio data to send is larger than this, then + # it's probably in the wrong format to begin with and wont be + # played back properly even when sliced. + audio_data = self._tx_q.get()[:320] + + with self._lock: + self.conn.send( + types.audio + + len(audio_data).to_bytes(2, "big") + + audio_data + ) + + elif type == types.error: + self._decode_error(payload) + + elif type == types.uuid: + self.uuid = payload.hex() diff --git a/pkgs/myintercom-doorbell/myintercom_doorbell/myintercom_audiosocket.py b/pkgs/myintercom-doorbell/myintercom_doorbell/myintercom_audiosocket.py new file mode 100644 index 0000000..6467d24 --- /dev/null +++ b/pkgs/myintercom-doorbell/myintercom_doorbell/myintercom_audiosocket.py @@ -0,0 +1,98 @@ +import os +import sys +import urllib3 + +from multiprocessing import Pipe, Process +from threading import Thread + +from .audiosocket import Audiosocket + + +def open_url(direction, connection, username, password): + print(f"start {direction}", flush=True) + if direction not in ("transmit", "receive"): + raise NotImplementedError + method, headers = { + "receive": ("GET", {}), + "transmit": ("POST", {"Content-Type": "audio/basic", "Content-Length": "0"}), + }[direction] + + url = f"http://192.168.0.74/axis-cgi/audio/{direction}.cgi" + + http = urllib3.PoolManager() + + print(f"start {direction} request", flush=True) + + response = http.request( + method, + url, + headers={ + **urllib3.make_headers(basic_auth=f"{username}:{password}"), + **headers, + }, + preload_content=False, + body=( + None + if direction != "transmit" + else os.fdopen(connection.fileno(), "rb", buffering=0) + ), + ) + print(f"{direction} status is {response.status}", flush=True) + + if direction == "receive": + for data in response.stream(amt=160): + connection.send_bytes(data) + + +def handle_connection(call, username, password): + print(f"Received connection from {call.peer_addr}") + + pipe_transmit_in, pipe_transmit_out = Pipe() + doorbell_transmit_process = Process( + target=open_url, args=("transmit", pipe_transmit_out, username, password) + ) + doorbell_transmit_process.start() + + pipe_receive_in, pipe_receive_out = Pipe() + doorbell_receive_process = Process( + target=open_url, args=("receive", pipe_receive_in, username, password) + ) + doorbell_receive_process.start() + + with os.fdopen(os.dup(pipe_transmit_in.fileno()), "wb", buffering=0) as f_transmit: + while call.connected: + f_transmit.write(call.read()) + call.write(pipe_receive_out.recv_bytes()) + + print(f"Connection with {call.peer_addr} is now over") + doorbell_transmit_process.terminate() + doorbell_receive_process.terminate() + doorbell_transmit_process.join() + doorbell_receive_process.join() + + +def main(): + audiosocket = Audiosocket( + (os.environ["LISTEN_ADDRESS"], int(os.environ["LISTEN_PORT"])) + ) + + audiosocket.prepare_output(outrate=8000, channels=1, lin2ulaw=True) + audiosocket.prepare_input(inrate=8000, channels=1, ulaw2lin=True) + + print("Listening for new connections " f"from Asterisk on port {audiosocket.port}") + username = os.environ["USERNAME"] + + with open(os.environ["PASSWORD_FILE"], "r", encoding="utf-8") as f: + password = f.read() + + while True: + call = audiosocket.listen() + + call_thread = Thread(target=handle_connection, args=(call, username, password)) + call_thread.start() + + call_thread.join() + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/pkgs/myintercom-doorbell/myintercom_doorbell/open.py b/pkgs/myintercom-doorbell/myintercom_doorbell/open.py new file mode 100644 index 0000000..f3a7211 --- /dev/null +++ b/pkgs/myintercom-doorbell/myintercom_doorbell/open.py @@ -0,0 +1,36 @@ +import json +import os +import sys +import tempfile + +import urllib3 + + +def open_door(host, username, password): + urllib3.PoolManager().request( + "GET", + f"http://{host}/local/Doorcom/door.cgi?r=1", + headers=urllib3.make_headers(basic_auth=f"{username}:{password}"), + ) + + +def read_file_contents(file_name): + with open(file_name, "r", encoding="utf-8") as f: + return f.read() + + +def main(): + with open( + "/etc/myintercom-doorbell/settings.json", "r", encoding="utf-8" + ) as config_file: + config = json.load(config_file) + + open_door( + host=config["host"], + username=config["username"], + password=read_file_contents(config["passwordFile"]), + ) + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/pkgs/myintercom-doorbell/myintercom_doorbell/service.py b/pkgs/myintercom-doorbell/myintercom_doorbell/service.py new file mode 100644 index 0000000..d7abd14 --- /dev/null +++ b/pkgs/myintercom-doorbell/myintercom_doorbell/service.py @@ -0,0 +1,98 @@ +import json +import os +import tempfile + +import urllib3 + +import time + + +def send_open_door_request(host, username, password): + urllib3.PoolManager().request( + "GET", + f"http://{host}/local/Doorcom/door.cgi?r=1", + headers=urllib3.make_headers(basic_auth=f"{username}:{password}"), + ) + + +def get_ring_status(host, username, password): + response = urllib3.PoolManager().request( + "GET", + f"http://{host}/local/Doorcom/monitor.cgi?ring=1", + headers=urllib3.make_headers(basic_auth=f"{username}:{password}"), + preload_content=False, + decode_content=True, + ) + + while True: + line = response.readline() + if line != b"--ioboundary\r\n": + continue + header = response.readline() + if header != b"Content-Type: text/plain\r\n": + continue + if response.readline() != b"\r\n": + continue + data = [] + while True: + line = response.readline() + if line != b"\r\n": + data.append(line.decode().rstrip()) + else: + if data: + yield data + break + + +def read_file_contents(file_name): + with open(file_name, "r", encoding="utf-8") as f: + return f.read() + + +def open_door(): + with open( + "/etc/myintercom-doorbell/settings.json", "r", encoding="utf-8" + ) as config_file: + config = json.load(config_file) + + send_open_door_request( + host=config["host"], + username=config["username"], + password=read_file_contents(config["passwordFile"]), + ) + + +def poll(): + outgoing_dir = "/var/spool/asterisk/outgoing/" + + with open( + "/etc/myintercom-doorbell/settings.json", "r", encoding="utf-8" + ) as config_file: + config = json.load(config_file) + + audiosocket = f"{config['audiosocket']['address']}:{config['audiosocket']['port']}/{config['audiosocket']['uuid']}" + callfile_content = ( + f"Channel: Audiosocket/{audiosocket}\n" + "Context: doorbell\n" + f"CallerID: {config['callerId']}\n" + "Extension: s\n" + "Priority: 1\n" + ) + + while True: + for status in get_ring_status( + host=config["host"], + username=config["username"], + password=read_file_contents(config["passwordFile"]), + ): + if status == ["1:H"]: + print("ringing", flush=True) + with tempfile.NamedTemporaryFile(dir="/var/tmp", mode="w") as f: + f.write(callfile_content) + os.chmod(f.name, 0o644) + os.link( + f.name, os.path.join(outgoing_dir, os.path.basename(f.name)) + ) + time.sleep(config["dialTime"]) + else: + print(".", end="", flush=True) diff --git a/pkgs/myintercom-doorbell/poetry.lock b/pkgs/myintercom-doorbell/poetry.lock new file mode 100644 index 0000000..818c966 --- /dev/null +++ b/pkgs/myintercom-doorbell/poetry.lock @@ -0,0 +1,24 @@ +# This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand. + +[[package]] +name = "urllib3" +version = "2.0.7" +description = "HTTP library with thread-safe connection pooling, file post, and more." +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"}, + {file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +secure = ["certifi", "cryptography (>=1.9)", "idna (>=2.0.0)", "pyopenssl (>=17.1.0)", "urllib3-secure-extra"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] + +[metadata] +lock-version = "2.0" +python-versions = "^3.10" +content-hash = "cb8f26af67979881c24e243af0719b405141855256ced72c73b222b6c03d2bb8" diff --git a/pkgs/myintercom-doorbell/pyproject.toml b/pkgs/myintercom-doorbell/pyproject.toml new file mode 100644 index 0000000..6a7878f --- /dev/null +++ b/pkgs/myintercom-doorbell/pyproject.toml @@ -0,0 +1,20 @@ +[tool.poetry] +name = "myintercom-doorbell" +version = "0.1.0" +description = "" +authors = ["Jakob Lechner "] +readme = "README.md" +packages = [{include = "myintercom_doorbell"}] + +[tool.poetry.dependencies] +python = "^3.10" +urllib3 = "^2.0.7" + +[tool.poetry.scripts] +myintercom-doorbell-audiosocket = "myintercom_doorbell.myintercom_audiosocket:main" +myintercom-doorbell-open-door = "myintercom_doorbell.service:open_door" +myintercom-doorbell-poll = "myintercom_doorbell.service:poll" + +[build-system] +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" diff --git a/pkgs/myintercom-doorbell/shell.nix b/pkgs/myintercom-doorbell/shell.nix new file mode 100644 index 0000000..cd52c53 --- /dev/null +++ b/pkgs/myintercom-doorbell/shell.nix @@ -0,0 +1,8 @@ +with import { }; + +mkShell { + buildInputs = [ + poetry + ]; + +} From 2e65116d2d3f48ccad1f71ba9d011759c40bde88 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:55 +0000 Subject: [PATCH 131/766] Fix asterisk-sounds-de There was a race condition that lead to incorrect user permissions on the sounds directory. The solution to use the preStart script is better and fixes this issue as well. --- hosts/aluminium/services/asterisk.nix | 8 -------- .../default.nix} | 0 pkgs/asterisk-sounds-de/module.nix | 15 +++++++++++++++ pkgs/default.nix | 2 +- pkgs/modules.nix | 1 + 5 files changed, 17 insertions(+), 9 deletions(-) rename pkgs/{asterisk/sounds-de.nix => asterisk-sounds-de/default.nix} (100%) create mode 100644 pkgs/asterisk-sounds-de/module.nix diff --git a/hosts/aluminium/services/asterisk.nix b/hosts/aluminium/services/asterisk.nix index 82e00ea..820689c 100644 --- a/hosts/aluminium/services/asterisk.nix +++ b/hosts/aluminium/services/asterisk.nix @@ -172,14 +172,6 @@ in ]; }; - system.activationScripts.symlink-asterisk-sounds-de = lib.stringAfter [ "var" ] '' - sounds="/var/lib/asterisk/sounds" - sounds_de="$sounds/de" - mkdir -p "$sounds" - [ -L "$sounds_de" ] && rm "$sounds_de" - ln -s "${pkgs.asterisk-sounds-de}/" "$sounds_de" - ''; - systemd.services."asterisk-reload-endpoint@" = { description = "Check if asterisk endpoint is identified and reload it when it is not."; serviceConfig = { diff --git a/pkgs/asterisk/sounds-de.nix b/pkgs/asterisk-sounds-de/default.nix similarity index 100% rename from pkgs/asterisk/sounds-de.nix rename to pkgs/asterisk-sounds-de/default.nix diff --git a/pkgs/asterisk-sounds-de/module.nix b/pkgs/asterisk-sounds-de/module.nix new file mode 100644 index 0000000..0bfbeda --- /dev/null +++ b/pkgs/asterisk-sounds-de/module.nix @@ -0,0 +1,15 @@ +{ config, lib, pkgs, ... }: + +let cfg = config; +in +{ + config = lib.mkIf cfg.services.asterisk.enable { + systemd.services.asterisk.preStart = lib.mkMerge [ + (lib.mkAfter '' + sounds_de="/var/lib/asterisk/sounds/de" + [ -L "$sounds_de" ] && rm "$sounds_de" + ln -s "${pkgs.asterisk-sounds-de}/" "$sounds_de" + '') + ]; + }; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index 1d0a068..1d92bc8 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -6,7 +6,7 @@ let in { ariang = callPackage ./ariang { }; - asterisk-sounds-de = callPackage ./asterisk/sounds-de.nix { }; + asterisk-sounds-de = callPackage ./asterisk-sounds-de { }; docker-machine-driver-hetzner = callPackage ./docker-machine-driver-hetzner { inherit (inputs.gomod2nix.legacyPackages.${system}) buildGoApplication; }; diff --git a/pkgs/modules.nix b/pkgs/modules.nix index 3e1a8e3..f61aa63 100644 --- a/pkgs/modules.nix +++ b/pkgs/modules.nix @@ -2,6 +2,7 @@ { imports = [ + ./asterisk-sounds-de/module.nix ./myintercom-doorbell/module.nix ./pretix/module.nix ]; From 096d234d7c27e59b9f6c19a67843433a3bf603ea Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:56 +0000 Subject: [PATCH 132/766] Move asterisk service to own directory --- hosts/aluminium/services/{asterisk.nix => asterisk/default.nix} | 0 hosts/aluminium/services/default.nix | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename hosts/aluminium/services/{asterisk.nix => asterisk/default.nix} (100%) diff --git a/hosts/aluminium/services/asterisk.nix b/hosts/aluminium/services/asterisk/default.nix similarity index 100% rename from hosts/aluminium/services/asterisk.nix rename to hosts/aluminium/services/asterisk/default.nix diff --git a/hosts/aluminium/services/default.nix b/hosts/aluminium/services/default.nix index bb55c33..9539fb7 100644 --- a/hosts/aluminium/services/default.nix +++ b/hosts/aluminium/services/default.nix @@ -1,6 +1,6 @@ { imports = [ - ./asterisk.nix + ./asterisk ./dnsmasq.nix ./doorbell.nix ./dyndns.nix From e7f9b90db35f18603d609408f7e77b171946dd5e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:56 +0000 Subject: [PATCH 133/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/bd38df3d508dfcdff52cd243d297f218ed2257bf' (2023-10-25) → 'github:cachix/pre-commit-hooks.nix/ea758da1a6dcde6dc36db348ed690d09b9864128' (2023-11-06) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/60b9db998f71ea49e1a9c41824d09aa274be1344' (2023-10-26) → 'github:nixos/nixpkgs/41de143fda10e33be0f47eab2bfe08a50f234267' (2023-11-06) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/71ef7ea8fe2aff7c21cf2e7ec7283a4276a2f366' (2023-10-29) → 'github:NixOS/nixpkgs/e556bb0b675a849371645b6b79eccd4130744967' (2023-11-08) • Updated input 'nur': 'github:nix-community/NUR/4364937d33ca6b79cd8b66fdf4ee1758ff279e62' (2023-10-29) → 'github:nix-community/NUR/9249f2baa49a8ba139eb084128e092073ed88c4e' (2023-11-08) • Updated input 'sops-nix': 'github:Mic92/sops-nix/632c3161a6cc24142c8e3f5529f5d81042571165' (2023-10-29) → 'github:Mic92/sops-nix/664187539871f63857bda2d498f452792457b998' (2023-11-06) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/d87c5d8c41c9b3b39592563242f3a448b5cc4bc9' (2023-10-29) → 'github:NixOS/nixpkgs/78f3a4ae19f0e99d5323dd2e3853916b8ee4afee' (2023-11-04) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index c071779..d473a85 100644 --- a/flake.lock +++ b/flake.lock @@ -133,11 +133,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1698227354, - "narHash": "sha256-Fi5H9jbaQLmLw9qBi/mkR33CoFjNbobo5xWdX4tKz1Q=", + "lastModified": 1699271226, + "narHash": "sha256-8Jt1KW3xTjolD6c6OjJm9USx/jmL+VVmbooADCkdDfU=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "bd38df3d508dfcdff52cd243d297f218ed2257bf", + "rev": "ea758da1a6dcde6dc36db348ed690d09b9864128", "type": "github" }, "original": { @@ -181,11 +181,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1698544399, - "narHash": "sha256-vhRmPyEyoPkrXF2iykBsWHA05MIaOSmMRLMF7Hul6+s=", + "lastModified": 1699110214, + "narHash": "sha256-L2TU4RgtiqF69W8Gacg2jEkEYJrW+Kp0Mp4plwQh5b8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d87c5d8c41c9b3b39592563242f3a448b5cc4bc9", + "rev": "78f3a4ae19f0e99d5323dd2e3853916b8ee4afee", "type": "github" }, "original": { @@ -197,11 +197,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1698575487, - "narHash": "sha256-msK5JH24pZZ705PSnvZmFXr9JXUrxPylq9fDC6jnApA=", + "lastModified": 1699437456, + "narHash": "sha256-nYPKALWauhG5WvGhx7whUCNFTeLZEtchEre+3Mze4eI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "71ef7ea8fe2aff7c21cf2e7ec7283a4276a2f366", + "rev": "e556bb0b675a849371645b6b79eccd4130744967", "type": "github" }, "original": { @@ -213,11 +213,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1698288402, - "narHash": "sha256-jIIjApPdm+4yt8PglX8pUOexAdEiAax/DXW3S/Mb21E=", + "lastModified": 1699291058, + "narHash": "sha256-5ggduoaAMPHUy4riL+OrlAZE14Kh7JWX4oLEs22ZqfU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "60b9db998f71ea49e1a9c41824d09aa274be1344", + "rev": "41de143fda10e33be0f47eab2bfe08a50f234267", "type": "github" }, "original": { @@ -229,11 +229,11 @@ }, "nur": { "locked": { - "lastModified": 1698576302, - "narHash": "sha256-1NYfEphk3EXgEt+iDJG1qpsdCRe35BQLNLvVoVe29HM=", + "lastModified": 1699435759, + "narHash": "sha256-K1G+UfpvvWFSbHdWtCOTI1MCK4ivQpu/bz9DWB66SJc=", "owner": "nix-community", "repo": "NUR", - "rev": "4364937d33ca6b79cd8b66fdf4ee1758ff279e62", + "rev": "9249f2baa49a8ba139eb084128e092073ed88c4e", "type": "github" }, "original": { @@ -263,11 +263,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1698548647, - "narHash": "sha256-7c03OjBGqnwDW0FBaBc+NjfEBxMkza+dxZGJPyIzfFE=", + "lastModified": 1699311858, + "narHash": "sha256-W/sQrghPAn5J9d+9kMnHqi4NPVWVpy0V/qzQeZfS/dM=", "owner": "Mic92", "repo": "sops-nix", - "rev": "632c3161a6cc24142c8e3f5529f5d81042571165", + "rev": "664187539871f63857bda2d498f452792457b998", "type": "github" }, "original": { From f0762b17c69bf9346241d610c918bec6bc34f2a4 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:57 +0000 Subject: [PATCH 134/766] Add port attrset --- custom-utils/default.nix | 33 ++++++++++++++++++ custom-utils/ports.nix | 33 ++++++++++++++++++ flake.nix | 5 ++- hosts/aluminium/ports.nix | 7 ++++ hosts/aluminium/services/asterisk/default.nix | 8 +++-- hosts/aluminium/services/doorbell.nix | 8 +++-- hosts/aluminium/services/unifi-controller.nix | 8 +++-- hosts/iron/ports.nix | 16 +++++++++ hosts/iron/services/jellyfin.nix | 11 +++--- hosts/iron/services/mail.nix | 7 +++- hosts/iron/services/matrix/synapse.nix | 6 ++-- hosts/iron/services/navidrome.nix | 9 ++--- hosts/iron/services/nginx.nix | 8 ++++- hosts/iron/services/public-ip-tunnel.nix | 5 +-- hosts/iron/services/radicale.nix | 10 ++++-- hosts/iron/services/sturzbach.nix | 8 ++++- hosts/iron/services/unifi-controller.nix | 8 +++-- hosts/magnesium/ports.nix | 12 +++++++ hosts/magnesium/services/coturn.nix | 34 +++++++++++++------ hosts/magnesium/services/mosquitto.nix | 10 +++--- hosts/magnesium/services/public-ip-tunnel.nix | 5 +-- hosts/magnesium/services/webserver.nix | 8 +++-- hosts/weinturm-pretix-prod/ports.nix | 8 +++++ .../weinturm-pretix-prod/services/pretix.nix | 7 +++- modules/mailserver/default.nix | 5 +++ modules/mailserver/postfix.nix | 2 ++ 26 files changed, 233 insertions(+), 48 deletions(-) create mode 100644 custom-utils/default.nix create mode 100644 custom-utils/ports.nix create mode 100644 hosts/aluminium/ports.nix create mode 100644 hosts/iron/ports.nix create mode 100644 hosts/magnesium/ports.nix create mode 100644 hosts/weinturm-pretix-prod/ports.nix diff --git a/custom-utils/default.nix b/custom-utils/default.nix new file mode 100644 index 0000000..66a9a15 --- /dev/null +++ b/custom-utils/default.nix @@ -0,0 +1,33 @@ +{ lib, ... }: + +let + filterPort = pm: port: ( + lib.attrsets.catAttrs port ( + lib.attrsets.attrValues ( + lib.attrsets.filterAttrs (n: v: v ? "${port}") pm + ) + ) + ); + onlyUniqueItemsInList = (x: lib.lists.length x == lib.lists.length (lib.lists.unique x)); + protocols = (x: lib.lists.unique (lib.flatten (map builtins.attrNames (lib.attrValues x)))); + mkRange = (x: lib.lists.range (builtins.elemAt x 0) (builtins.elemAt x 1)); + validateList = allowed: builtins.all (x: builtins.elem x allowed); +in +{ + validatePortAttrset = portmap: + if ! onlyUniqueItemsInList (lib.flatten (map + (x: + if lib.isInt x then x + else if lib.isList x then x + else if lib.isAttrs x then + ( + if ! validateList [ "range" ] (builtins.attrNames x) then builtins.abort "found invalid attribute name" + else if x ? "range" then if lib.lists.length x.range == 2 then mkRange x.range else builtins.abort "range needs a list with exactly two items" + else builtins.abort "found invalid attrset" + ) + else builtins.abort "found invalid entry in portmap" + ) + (filterPort portmap "udp"))) then builtins.abort "Found duplicate ports." + else if ! validateList [ "tcp" "udp" ] (protocols portmap) then builtins.abort "Found invalid protocol." + else portmap; +} diff --git a/custom-utils/ports.nix b/custom-utils/ports.nix new file mode 100644 index 0000000..66a9a15 --- /dev/null +++ b/custom-utils/ports.nix @@ -0,0 +1,33 @@ +{ lib, ... }: + +let + filterPort = pm: port: ( + lib.attrsets.catAttrs port ( + lib.attrsets.attrValues ( + lib.attrsets.filterAttrs (n: v: v ? "${port}") pm + ) + ) + ); + onlyUniqueItemsInList = (x: lib.lists.length x == lib.lists.length (lib.lists.unique x)); + protocols = (x: lib.lists.unique (lib.flatten (map builtins.attrNames (lib.attrValues x)))); + mkRange = (x: lib.lists.range (builtins.elemAt x 0) (builtins.elemAt x 1)); + validateList = allowed: builtins.all (x: builtins.elem x allowed); +in +{ + validatePortAttrset = portmap: + if ! onlyUniqueItemsInList (lib.flatten (map + (x: + if lib.isInt x then x + else if lib.isList x then x + else if lib.isAttrs x then + ( + if ! validateList [ "range" ] (builtins.attrNames x) then builtins.abort "found invalid attribute name" + else if x ? "range" then if lib.lists.length x.range == 2 then mkRange x.range else builtins.abort "range needs a list with exactly two items" + else builtins.abort "found invalid attrset" + ) + else builtins.abort "found invalid entry in portmap" + ) + (filterPort portmap "udp"))) then builtins.abort "Found duplicate ports." + else if ! validateList [ "tcp" "udp" ] (protocols portmap) then builtins.abort "Found invalid protocol." + else portmap; +} diff --git a/flake.nix b/flake.nix index 2d5ee3c..b693c5f 100644 --- a/flake.nix +++ b/flake.nix @@ -151,7 +151,10 @@ ./modules { - _module.args.inputs = inputs; + _module.args = { + inputs = inputs; + custom-utils = import ./custom-utils { lib = nixpkgs.lib; }; + }; } # deployment settings diff --git a/hosts/aluminium/ports.nix b/hosts/aluminium/ports.nix new file mode 100644 index 0000000..8dfe08a --- /dev/null +++ b/hosts/aluminium/ports.nix @@ -0,0 +1,7 @@ +{ lib, custom-utils, ... }: + +custom-utils.validatePortAttrset { + asterisk-rtp = { udp.range = [ 10000 10200 ]; }; + unifi.tcp = 8443; + doorbell-audiosocket.tcp = 9092; +} diff --git a/hosts/aluminium/services/asterisk/default.nix b/hosts/aluminium/services/asterisk/default.nix index 820689c..7080707 100644 --- a/hosts/aluminium/services/asterisk/default.nix +++ b/hosts/aluminium/services/asterisk/default.nix @@ -1,13 +1,15 @@ -{ config, lib, pkgs, ... }: +args@{ config, lib, pkgs, custom-utils, ... }: + let + ports = import ../../ports.nix args; secretConfigFiles = [ "ari" "pjsip" "voicemail" ]; rtp = { - start = 10000; - end = 10200; + start = builtins.elemAt ports.asterisk-rtp.udp.range 0; + end = builtins.elemAt ports.asterisk-rtp.udp.range 1; }; in { diff --git a/hosts/aluminium/services/doorbell.nix b/hosts/aluminium/services/doorbell.nix index 8136132..33a3bb3 100644 --- a/hosts/aluminium/services/doorbell.nix +++ b/hosts/aluminium/services/doorbell.nix @@ -1,4 +1,8 @@ -{ config, lib, pkgs, ... }: +args@{ config, lib, pkgs, custom-utils, ... }: + +let + ports = import ../ports.nix args; +in { sops.secrets.myintercom-doorbell-password = { sopsFile = ../secrets.yaml; @@ -11,7 +15,7 @@ passwordFile = config.sops.secrets.myintercom-doorbell-password.path; audiosocket = { address = "127.0.0.1"; - port = 9092; + port = ports.doorbell-audiosocket.tcp; uuid = "4960ab41-dbef-4773-a25e-90536d97345e"; }; callerId = "Sprechanlage"; diff --git a/hosts/aluminium/services/unifi-controller.nix b/hosts/aluminium/services/unifi-controller.nix index f34d12d..8004941 100644 --- a/hosts/aluminium/services/unifi-controller.nix +++ b/hosts/aluminium/services/unifi-controller.nix @@ -1,9 +1,13 @@ -{ pkgs, ... }: +args@{ pkgs, custom-utils, ... }: + +let + ports = import ../ports.nix args; +in { services.unifi = { enable = true; openFirewall = true; unifiPackage = pkgs.unifi; }; - networking.firewall.allowedTCPPorts = [ 8443 ]; + networking.firewall.allowedTCPPorts = [ ports.unifi.tcp ]; } diff --git a/hosts/iron/ports.nix b/hosts/iron/ports.nix new file mode 100644 index 0000000..64a0a26 --- /dev/null +++ b/hosts/iron/ports.nix @@ -0,0 +1,16 @@ +{ lib, custom-utils, ... }: + +custom-utils.validatePortAttrset { + jellyfin.tcp = 8096; + matrix-synapse.tcp = 8008; + navidrome.tcp = 4533; + nginx-http.tcp = 80; + nginx-https.tcp = 443; + postfix-relay.tcp = 25; + postfix-submission.tcp = [ 465 587 ]; + qbittorrent-torrent.tcp = 59832; + qbittorrent-webui.tcp = 8099; + radicale.tcp = 5232; + unifi.tcp = 8443; + wireguard-public-ip-tunnel.udp = 51000; +} diff --git a/hosts/iron/services/jellyfin.nix b/hosts/iron/services/jellyfin.nix index c758f74..01aff39 100644 --- a/hosts/iron/services/jellyfin.nix +++ b/hosts/iron/services/jellyfin.nix @@ -1,4 +1,7 @@ -{ lib, pkgs, ... }: +args@{ lib, pkgs, custom-utils, ... }: +let + ports = import ../ports.nix args; +in { services.jellyfin = { enable = true; @@ -57,7 +60,7 @@ # add_header X-XSS-Protection "1; mode=block"; # add_header X-Content-Type-Options "nosniff"; location / { - proxy_pass http://127.0.0.1:8096; + proxy_pass http://127.0.0.1:${toString ports.jellyfin.tcp}; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; @@ -67,7 +70,7 @@ proxy_buffering off; } location = /web/ { - proxy_pass http://127.0.0.1:8096/web/index.html; + proxy_pass http://127.0.0.1:${toString ports.jellyfin.tcp}/web/index.html; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; @@ -76,7 +79,7 @@ proxy_set_header X-Forwarded-Host $http_host; } location /socket { - proxy_pass http://127.0.0.1:8096; + proxy_pass http://127.0.0.1:${toString ports.jellyfin.tcp}; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; diff --git a/hosts/iron/services/mail.nix b/hosts/iron/services/mail.nix index 315f46a..4ed06b9 100644 --- a/hosts/iron/services/mail.nix +++ b/hosts/iron/services/mail.nix @@ -1,4 +1,8 @@ -{ config, pkgs, ... }: +args@{ config, pkgs, custom-utils, ... }: + +let + ports = import ../ports.nix args; +in { sops.secrets.hetzner-api-key = { sopsFile = ../secrets.yaml; @@ -12,6 +16,7 @@ mailserver = { enable = true; fqdn = "hha.jalr.de"; + relayPort = ports.postfix-relay.tcp; domains = [ { domain = "jalr.de"; diff --git a/hosts/iron/services/matrix/synapse.nix b/hosts/iron/services/matrix/synapse.nix index 92357c9..18d5eaf 100644 --- a/hosts/iron/services/matrix/synapse.nix +++ b/hosts/iron/services/matrix/synapse.nix @@ -1,9 +1,11 @@ -{ config, lib, pkgs, ... }: +args@{ config, lib, pkgs, custom-utils, ... }: + let cfg = config.services.matrix-synapse.settings; fqdn = "matrix.jalr.de"; domain = "jalr.de"; turnHost = "turn.jalr.de"; + ports = import ../../ports.nix args; in { sops.secrets = { @@ -23,7 +25,7 @@ in database.name = "sqlite3"; listeners = lib.singleton { - port = 8008; + port = ports.matrix-synapse.tcp; bind_addresses = [ "127.0.0.1" "::1" ]; type = "http"; tls = false; diff --git a/hosts/iron/services/navidrome.nix b/hosts/iron/services/navidrome.nix index 4341818..4f1044a 100644 --- a/hosts/iron/services/navidrome.nix +++ b/hosts/iron/services/navidrome.nix @@ -1,10 +1,11 @@ -{ config, lib, pkgs, utils, ... }: +args@{ config, lib, pkgs, utils, custom-utils, ... }: + let - port = 4533; + ports = import ../ports.nix args; settings = { # https://www.navidrome.org/docs/usage/configuration-options/#available-options Address = "127.0.0.1"; - Port = port; + Port = ports.navidrome.tcp; DevActivityPanel = false; }; passwordEncryptionKeyFile = config.sops.secrets.navidrome-password-encryption-key.path; @@ -38,7 +39,7 @@ in extraConfig = '' add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always; location / { - proxy_pass http://127.0.0.1:${toString port}; + proxy_pass http://127.0.0.1:${toString ports.navidrome.tcp}; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; diff --git a/hosts/iron/services/nginx.nix b/hosts/iron/services/nginx.nix index dd381d3..71bdff2 100644 --- a/hosts/iron/services/nginx.nix +++ b/hosts/iron/services/nginx.nix @@ -1,7 +1,13 @@ -{ pkgs, ... }: +args@{ pkgs, custom-utils, ... }: + +let + ports = import ../ports.nix args; +in { services.nginx = { enable = true; + defaultHTTPListenPort = ports.nginx-http.tcp; + defaultSSLListenPort = ports.nginx-https.tcp; recommendedGzipSettings = true; recommendedOptimisation = true; recommendedProxySettings = true; diff --git a/hosts/iron/services/public-ip-tunnel.nix b/hosts/iron/services/public-ip-tunnel.nix index 5a0cce7..2e1dca8 100644 --- a/hosts/iron/services/public-ip-tunnel.nix +++ b/hosts/iron/services/public-ip-tunnel.nix @@ -1,7 +1,8 @@ -{ config, lib, pkgs, ... }: +args@{ config, lib, pkgs, custom-utils, ... }: let - listenPort = 51000; + ports = import ../ports.nix args; + listenPort = ports.wireguard-public-ip-tunnel.udp; remoteHost = "magnesium.jalr.de"; remotePort = 51000; publicKey = "ABZCQfzlHJ1/iNbWFf6jVvdqSmqjxm3w5bpa0SYclBU="; diff --git a/hosts/iron/services/radicale.nix b/hosts/iron/services/radicale.nix index a4c68e3..bf5196d 100644 --- a/hosts/iron/services/radicale.nix +++ b/hosts/iron/services/radicale.nix @@ -1,4 +1,8 @@ -{ config, ... }: +args@{ config, lib, custom-utils, ... }: + +let + ports = import ../ports.nix args; +in { sops.secrets.radicale-htpasswd = { owner = "nginx"; @@ -11,7 +15,7 @@ forceSSL = true; basicAuthFile = config.sops.secrets.radicale-htpasswd.path; locations."/radicale/" = { - proxyPass = "http://localhost:5232/"; + proxyPass = "http://127.0.0.1:${toString ports.radicale.tcp}/"; recommendedProxySettings = true; #basicAuthFile = ""; extraConfig = '' @@ -28,7 +32,7 @@ enable = true; settings = { server = { - hosts = "127.0.0.1:5232,[::1]:5232"; + hosts = "127.0.0.1:${toString ports.radicale.tcp},[::1]:${toString ports.radicale.tcp}"; ssl = false; }; encoding = { diff --git a/hosts/iron/services/sturzbach.nix b/hosts/iron/services/sturzbach.nix index 8b07325..ea0430a 100644 --- a/hosts/iron/services/sturzbach.nix +++ b/hosts/iron/services/sturzbach.nix @@ -1,10 +1,16 @@ +args@{ config, lib, custom-utils, ... }: + +let + ports = import ../ports.nix args; +in { jalr.qbittorrent = { enable = true; downloadDir = "/sturzbach"; fqdn = "sturzbach.jalr.de"; + webuiPort = ports.qbittorrent-webui.tcp; }; networking.firewall = { - allowedTCPPorts = [ 59832 ]; + allowedTCPPorts = [ ports.qbittorrent-torrent.tcp ]; }; } diff --git a/hosts/iron/services/unifi-controller.nix b/hosts/iron/services/unifi-controller.nix index f34d12d..8004941 100644 --- a/hosts/iron/services/unifi-controller.nix +++ b/hosts/iron/services/unifi-controller.nix @@ -1,9 +1,13 @@ -{ pkgs, ... }: +args@{ pkgs, custom-utils, ... }: + +let + ports = import ../ports.nix args; +in { services.unifi = { enable = true; openFirewall = true; unifiPackage = pkgs.unifi; }; - networking.firewall.allowedTCPPorts = [ 8443 ]; + networking.firewall.allowedTCPPorts = [ ports.unifi.tcp ]; } diff --git a/hosts/magnesium/ports.nix b/hosts/magnesium/ports.nix new file mode 100644 index 0000000..b35165c --- /dev/null +++ b/hosts/magnesium/ports.nix @@ -0,0 +1,12 @@ +{ lib, custom-utils, ... }: + +custom-utils.validatePortAttrset { + coturn-cli.tcp = 5766; + coturn-plain = { tcp = [ 3478 3479 ]; udp = [ 3478 3479 ]; }; + coturn-relay.udp.range = [ 49160 49200 ]; + coturn-tls = { tcp = [ 5349 5350 ]; udp = [ 5349 5350 ]; }; + mosquitto.tcp = 1883; + nginx-http.tcp = 80; + nginx-https.tcp = 443; + wireguard-public-ip-tunnel.udp = 51000; +} diff --git a/hosts/magnesium/services/coturn.nix b/hosts/magnesium/services/coturn.nix index 7a12474..93479ad 100644 --- a/hosts/magnesium/services/coturn.nix +++ b/hosts/magnesium/services/coturn.nix @@ -1,7 +1,8 @@ -{ config, lib, pkgs, ... }: -let - cfg = config.services.coturn; +args@{ config, lib, pkgs, custom-utils, ... }: +let + ports = import ../ports.nix args; + cfg = config.services.coturn; fqdn = "turn.jalr.de"; in { @@ -10,7 +11,21 @@ in sopsFile = ../secrets.yaml; }; - services.coturn = { + services.coturn = ( + if ports.coturn-plain.tcp != ports.coturn-plain.udp then builtins.abort "coturn: plain TCP and UDP ports must match." + else if ports.coturn-tls.tcp != ports.coturn-tls.udp then builtins.abort "coturn: TLS TCP and UDP ports must match." + else if lib.lists.length ports.coturn-plain.tcp != 2 then builtins.abort "coturn: exactly two plain ports must be given." + else if lib.lists.length ports.coturn-tls.tcp != 2 then builtins.abort "coturn: exactly two TLS ports must be given." + else { + listening-port = builtins.elemAt ports.coturn-plain.tcp 0; + alt-listening-port = builtins.elemAt ports.coturn-plain.tcp 1; + tls-listening-port = builtins.elemAt ports.coturn-tls.tcp 0; + alt-tls-listening-port = builtins.elemAt ports.coturn-tls.tcp 1; + cli-port = ports.coturn-cli.tcp; + min-port = builtins.elemAt ports.coturn-relay.udp.range 0; + max-port = builtins.elemAt ports.coturn-relay.udp.range 1; + } + ) // { enable = true; # config adapted from synapse’s turn howto: @@ -25,9 +40,6 @@ in cert = "/run/turnserver/fullchain.pem"; pkey = "/run/turnserver/key.pem"; - min-port = 49160; - max-port = 49200; - no-cli = true; extraConfig = '' @@ -87,12 +99,12 @@ in }; networking.firewall = { - allowedTCPPorts = with cfg; [ listening-port alt-listening-port tls-listening-port ]; - allowedUDPPorts = with cfg; [ listening-port alt-listening-port tls-listening-port ]; + allowedTCPPorts = with cfg; [ listening-port alt-listening-port tls-listening-port alt-tls-listening-port ]; + allowedUDPPorts = with cfg; [ listening-port alt-listening-port tls-listening-port alt-tls-listening-port ]; allowedUDPPortRanges = lib.singleton { - from = cfg.min-port; - to = cfg.max-port; + from = builtins.elemAt ports.coturn-relay.udp.range 0; + to = builtins.elemAt ports.coturn-relay.udp.range 1; }; }; } diff --git a/hosts/magnesium/services/mosquitto.nix b/hosts/magnesium/services/mosquitto.nix index 6cb7c38..e81027e 100644 --- a/hosts/magnesium/services/mosquitto.nix +++ b/hosts/magnesium/services/mosquitto.nix @@ -1,5 +1,7 @@ -{ config, lib, pkgs, ... }: -let port = 1883; +args@{ config, lib, pkgs, custom-utils, ... }: + +let + ports = import ../ports.nix args; in { services.mosquitto = { @@ -7,12 +9,12 @@ in persistence = true; listeners = [ { - port = port; + port = ports.mosquitto.tcp; settings = { allow_anonymous = true; }; } ]; }; - networking.firewall.allowedTCPPorts = [ port ]; + networking.firewall.allowedTCPPorts = [ ports.mosquitto.tcp ]; } diff --git a/hosts/magnesium/services/public-ip-tunnel.nix b/hosts/magnesium/services/public-ip-tunnel.nix index 0cd32b4..510fff8 100644 --- a/hosts/magnesium/services/public-ip-tunnel.nix +++ b/hosts/magnesium/services/public-ip-tunnel.nix @@ -1,7 +1,8 @@ -{ config, lib, pkgs, ... }: +args@{ config, lib, pkgs, custom-utils, ... }: let - listenPort = 51000; + ports = import ../ports.nix args; + listenPort = ports.wireguard-public-ip-tunnel.udp; publicKey = "GCmQs7upvDYFueEfqD2yJkkOZg3K7YaGluWWzdjsyTo="; in { diff --git a/hosts/magnesium/services/webserver.nix b/hosts/magnesium/services/webserver.nix index a37826f..9c55514 100644 --- a/hosts/magnesium/services/webserver.nix +++ b/hosts/magnesium/services/webserver.nix @@ -1,12 +1,16 @@ -{ config, lib, pkgs, ... }: +args@{ config, lib, pkgs, custom-utils, ... }: + let + ports = import ../ports.nix args; domain = "jalr.de"; matrixDomain = "matrix.jalr.de"; in { - networking.firewall.allowedTCPPorts = [ 80 443 ]; + networking.firewall.allowedTCPPorts = [ ports.nginx-http.tcp ports.nginx-https.tcp ]; services.nginx = { enable = true; + defaultHTTPListenPort = ports.nginx-http.tcp; + defaultSSLListenPort = ports.nginx-https.tcp; recommendedGzipSettings = true; recommendedOptimisation = true; recommendedProxySettings = true; diff --git a/hosts/weinturm-pretix-prod/ports.nix b/hosts/weinturm-pretix-prod/ports.nix new file mode 100644 index 0000000..9c3e0e7 --- /dev/null +++ b/hosts/weinturm-pretix-prod/ports.nix @@ -0,0 +1,8 @@ +{ lib, custom-utils, ... }: + +custom-utils.validatePortAttrset { + nginx-http.tcp = 80; + nginx-https.tcp = 443; + ports.postfix-relay.tcp = 25; + ports.postfix-submission.tcp = [ 465 587 ]; +} diff --git a/hosts/weinturm-pretix-prod/services/pretix.nix b/hosts/weinturm-pretix-prod/services/pretix.nix index 35bb209..dc506f4 100644 --- a/hosts/weinturm-pretix-prod/services/pretix.nix +++ b/hosts/weinturm-pretix-prod/services/pretix.nix @@ -1,4 +1,8 @@ -{ config, lib, pkgs, ... }: +args@{ config, lib, pkgs, custom-utils, ... }: + +let + ports = import ../ports.nix args; +in { nixpkgs.config.permittedInsecurePackages = [ "python3.10-requests-2.28.2" @@ -36,6 +40,7 @@ jalr.mailserver = { enable = true; fqdn = "tickets.weinturm.jalr.de"; + relayPort = ports.postfix-relay.tcp; domains = [ { domain = "tickets.weinturm-open-air.de"; diff --git a/modules/mailserver/default.nix b/modules/mailserver/default.nix index 353d14a..93abbbf 100644 --- a/modules/mailserver/default.nix +++ b/modules/mailserver/default.nix @@ -5,6 +5,11 @@ in { options.jalr.mailserver = with lib; with lib.types; { enable = mkEnableOption "simple mail server"; + relayPort = mkOption { + description = "SMTP port for relay mail relay."; + type = port; + default = 25; + }; fqdn = mkOption { type = str; description = '' diff --git a/modules/mailserver/postfix.nix b/modules/mailserver/postfix.nix index e5a8831..e09a48a 100644 --- a/modules/mailserver/postfix.nix +++ b/modules/mailserver/postfix.nix @@ -39,6 +39,8 @@ lib.mkIf cfg.enable { services.postfix = { enable = true; + relayPort = cfg.relayPort; + enableSubmission = true; # plain/STARTTLS (latter is forced in submissionOptions) enableSubmissions = true; # submission with implicit TLS (TCP/465) From 92687c7e7631b94d5a1041b181e6f860141c151d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:58 +0000 Subject: [PATCH 135/766] Add custom voicemail greeting --- .gitattributes | 1 + hosts/aluminium/services/asterisk/README.md | 9 ++++++++ hosts/aluminium/services/asterisk/default.nix | 23 +++++++++++++++---- .../asterisk/voicemail-sounds/default.nix | 13 +++++++++++ 4 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 hosts/aluminium/services/asterisk/README.md create mode 100644 hosts/aluminium/services/asterisk/voicemail-sounds/default.nix diff --git a/.gitattributes b/.gitattributes index 32845f7..bd72c2c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,3 @@ **/secrets/** filter=git-crypt diff=git-crypt **/secrets.yaml diff=sops +*.wav filter=lfs diff=lfs merge=lfs -text diff --git a/hosts/aluminium/services/asterisk/README.md b/hosts/aluminium/services/asterisk/README.md new file mode 100644 index 0000000..dc47981 --- /dev/null +++ b/hosts/aluminium/services/asterisk/README.md @@ -0,0 +1,9 @@ +## custom voicemail greetings + +Place `busy` and/or `unavail` file in users voicemail directory. + +The file can be converted to the fitting format using sox +```bash +sox $input_file -t wav -b 16 -c 1 -r 8k -e signed-integer --endian little unavail.wav +``` + diff --git a/hosts/aluminium/services/asterisk/default.nix b/hosts/aluminium/services/asterisk/default.nix index 7080707..bc672dc 100644 --- a/hosts/aluminium/services/asterisk/default.nix +++ b/hosts/aluminium/services/asterisk/default.nix @@ -11,8 +11,23 @@ let start = builtins.elemAt ports.asterisk-rtp.udp.range 0; end = builtins.elemAt ports.asterisk-rtp.udp.range 1; }; -in -{ + voicemail-sounds = pkgs.callPackage ./voicemail-sounds { }; +in { + systemd.services.asterisk-voicemail-sounds = { + wantedBy = ["asterisk.service"]; + after = ["asterisk.service"]; + script = '' + ln -sfn \ + ${voicemail-sounds}/unavail.wav \ + /var/spool/asterisk/voicemail/lechner/876/unavail.wav + ''; + restartTriggers = [voicemail-sounds]; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + }; + services.asterisk = { enable = true; confFiles = { @@ -30,7 +45,7 @@ in [sipgate-in] exten = _499846876,1,Noop(Processing an incoming call) same = n,Dial(PJSIP/10&PJSIP/11,25,tT) - same = n,VoiceMail(876@lechner,u) + same = n,VoiceMail(876@lechner,uS) same = n,Hangup() exten => _4998469779781,1,Verbose(3,Incoming fax) @@ -155,7 +170,7 @@ in sops.secrets = (lib.listToAttrs (map (name: lib.nameValuePair "asterisk-${name}" { - sopsFile = ../secrets.yaml; + sopsFile = ../../secrets.yaml; owner = config.users.users.asterisk.name; }) secretConfigFiles)); diff --git a/hosts/aluminium/services/asterisk/voicemail-sounds/default.nix b/hosts/aluminium/services/asterisk/voicemail-sounds/default.nix new file mode 100644 index 0000000..a4a810c --- /dev/null +++ b/hosts/aluminium/services/asterisk/voicemail-sounds/default.nix @@ -0,0 +1,13 @@ +{ lib, stdenvNoCC }: + +stdenvNoCC.mkDerivation { + name = "voicemail-sounds"; + + src = ./.; + + dontBuild = true; + installPhase = '' + mkdir $out + cp -r * $out + ''; +} From af6f86bd5327a57778f2595d366debbae3c4aa81 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:49:58 +0000 Subject: [PATCH 136/766] Add git lfs --- home-manager/modules/git.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home-manager/modules/git.nix b/home-manager/modules/git.nix index f108ff8..2bdf690 100644 --- a/home-manager/modules/git.nix +++ b/home-manager/modules/git.nix @@ -18,6 +18,7 @@ alias.find-merge = "!sh -c 'commit=$0 && branch=\${1:-HEAD} && (git rev-list $commit..$branch --ancestry-path | cat -n; git rev-list $commit..$branch --first-parent | cat -n) | sort -k2 -s | uniq -f1 -d | sort -n | tail -1 | cut -f2'"; alias.show-merge = "!sh -c 'merge=$(git find-merge $0 $1) && [ -n \"$merge\" ] && git show $merge'"; }; + lfs.enable = true; }; fish = { shellAbbrs = { From 7f77b0e86378b3d906111a432aa44a73e9d3f247 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:50:00 +0000 Subject: [PATCH 137/766] Add unavail voicemail message --- hosts/aluminium/services/asterisk/voicemail-sounds/unavail.wav | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 hosts/aluminium/services/asterisk/voicemail-sounds/unavail.wav diff --git a/hosts/aluminium/services/asterisk/voicemail-sounds/unavail.wav b/hosts/aluminium/services/asterisk/voicemail-sounds/unavail.wav new file mode 100644 index 0000000..35b972e --- /dev/null +++ b/hosts/aluminium/services/asterisk/voicemail-sounds/unavail.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9d91a693e1343a1dfdbb1e4adc89a5f58182d5c1427254f0976fa09120c9091 +size 149444 From 0b93fba3c9c0b5d737d9e1e4f38999f3f7987ea9 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:50:01 +0000 Subject: [PATCH 138/766] Add doorbell cam video proxy --- hosts/aluminium/ports.nix | 2 + hosts/aluminium/services/doorbell.nix | 8 ++++ pkgs/myintercom-doorbell/module.nix | 54 +++++++++++++++++++++++++++ 3 files changed, 64 insertions(+) diff --git a/hosts/aluminium/ports.nix b/hosts/aluminium/ports.nix index 8dfe08a..baaf25a 100644 --- a/hosts/aluminium/ports.nix +++ b/hosts/aluminium/ports.nix @@ -4,4 +4,6 @@ custom-utils.validatePortAttrset { asterisk-rtp = { udp.range = [ 10000 10200 ]; }; unifi.tcp = 8443; doorbell-audiosocket.tcp = 9092; + doorbell-webrtc.tcp = 8889; + doorbell-webrtc-ice.udp = 8189; } diff --git a/hosts/aluminium/services/doorbell.nix b/hosts/aluminium/services/doorbell.nix index 33a3bb3..8912a2e 100644 --- a/hosts/aluminium/services/doorbell.nix +++ b/hosts/aluminium/services/doorbell.nix @@ -19,5 +19,13 @@ in uuid = "4960ab41-dbef-4773-a25e-90536d97345e"; }; callerId = "Sprechanlage"; + cam = { + enable = true; + bindAddress = "192.168.0.1"; + webrtcPort = ports.doorbell-webrtc.tcp; + webrtcIceUdpPort = ports.doorbell-webrtc-ice.udp; + }; }; + networking.firewall.interfaces.lechner.allowedTCPPorts = [ ports.doorbell-webrtc.tcp ]; + networking.firewall.interfaces.lechner.allowedUDPPorts = [ ports.doorbell-webrtc-ice.udp ]; } diff --git a/pkgs/myintercom-doorbell/module.nix b/pkgs/myintercom-doorbell/module.nix index 2acc1fe..4021b49 100644 --- a/pkgs/myintercom-doorbell/module.nix +++ b/pkgs/myintercom-doorbell/module.nix @@ -2,10 +2,45 @@ let cfg = config.services.myintercom-doorbell; + mediamtxConfig = pkgs.writeTextFile { + name = "myintercom-doorbell-cam-proxy-config"; + text = lib.generators.toJSON { } { + paths.sprechanlage.source = "rtsp://${cfg.username}:__PASSWORD__@${cfg.host}/axis-media/media.amp?videocodec=h264&resolution=1280x720&fps=8"; + protocols = [ "udp" ]; + hls = false; + rtmp = false; + rtsp = false; + srt = false; + + webrtc = true; + webrtcAddress = "${cfg.cam.bindAddress}:${toString cfg.cam.webrtcPort}"; + + webrtcICEHostNAT1To1IPs = [ cfg.cam.bindAddress ]; + webrtcICEUDPMuxAddress = ":${toString cfg.cam.webrtcIceUdpPort}"; + }; + }; in { options.services.myintercom-doorbell = with lib; with lib.types; { enable = mkEnableOption "Enable myintercom service"; + cam = { + enable = mkEnableOption "Enable cam proxy service"; + bindAddress = mkOption { + type = types.str; + description = "The Address the service binds to."; + example = "10.0.0.1"; + }; + webrtcPort = mkOption { + type = types.port; + description = "Port the WebRTC service binds to."; + default = 8889; + }; + webrtcIceUdpPort = mkOption { + type = types.port; + description = "Port (udp) the WebRTC ICE service binds to."; + default = 8189; + }; + }; host = mkOption { type = types.str; description = "The Hostname of myintercom."; @@ -68,6 +103,7 @@ in serviceConfig = { Type = "simple"; User = "asterisk"; + # @TODO: Use unstable only until 23.11 is released ExecStart = "${pkgs.myintercom-doorbell}/bin/myintercom-doorbell-poll"; }; }; @@ -95,5 +131,23 @@ in ExecStart = "${pkgs.myintercom-doorbell}/bin/myintercom-doorbell-audiosocket"; }; }; + + systemd.services.myintercom-doorbell-cam-proxy = { + enable = cfg.cam.enable; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + description = "Proxies the videostream of myintercom doorbell."; + script = '' + sed "s:__PASSWORD__:$(cat "$PASSWORD_FILE"):" "${mediamtxConfig}" | ${pkgs.master.mediamtx}/bin/mediamtx /dev/stdin + ''; + serviceConfig = { + Type = "simple"; + DynamicUser = true; + LoadCredential = "password:${cfg.passwordFile}"; + Environment = [ + "PASSWORD_FILE=%d/password" + ]; + }; + }; }; } From 2bdf3000ed6727304b8df2648541102f5f615a94 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:50:02 +0000 Subject: [PATCH 139/766] Add wantedBy and after to services --- pkgs/myintercom-doorbell/module.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/myintercom-doorbell/module.nix b/pkgs/myintercom-doorbell/module.nix index 4021b49..24b09e7 100644 --- a/pkgs/myintercom-doorbell/module.nix +++ b/pkgs/myintercom-doorbell/module.nix @@ -99,7 +99,8 @@ in systemd.services.myintercom-doorbell-poll = { enable = cfg.enable; description = "Polls myintercom doorbell ring button status."; - after = [ "asterisk.service" ]; + after = [ "asterisk.service" "network.target" ]; + wantedBy = [ "multi-user.target" ]; serviceConfig = { Type = "simple"; User = "asterisk"; @@ -112,6 +113,8 @@ in enable = cfg.enable; description = "myintercom doorbell AudioSocket for Asterisk"; requires = [ "asterisk.service" ]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; serviceConfig = { Type = "simple"; DynamicUser = true; From 13794713c6c9a4067fec30238d1c9ff780bb9521 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:50:03 +0000 Subject: [PATCH 140/766] Fix formatting --- hosts/aluminium/services/asterisk/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/hosts/aluminium/services/asterisk/default.nix b/hosts/aluminium/services/asterisk/default.nix index bc672dc..5e81e43 100644 --- a/hosts/aluminium/services/asterisk/default.nix +++ b/hosts/aluminium/services/asterisk/default.nix @@ -12,16 +12,17 @@ let end = builtins.elemAt ports.asterisk-rtp.udp.range 1; }; voicemail-sounds = pkgs.callPackage ./voicemail-sounds { }; -in { +in +{ systemd.services.asterisk-voicemail-sounds = { - wantedBy = ["asterisk.service"]; - after = ["asterisk.service"]; + wantedBy = [ "asterisk.service" ]; + after = [ "asterisk.service" ]; script = '' ln -sfn \ ${voicemail-sounds}/unavail.wav \ /var/spool/asterisk/voicemail/lechner/876/unavail.wav ''; - restartTriggers = [voicemail-sounds]; + restartTriggers = [ voicemail-sounds ]; serviceConfig = { Type = "oneshot"; RemainAfterExit = true; From 2949996b367962fd421ed6193bb9601e87f6cf1b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:50:03 +0000 Subject: [PATCH 141/766] Change door-open feature code to `1` --- hosts/aluminium/services/asterisk/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/aluminium/services/asterisk/default.nix b/hosts/aluminium/services/asterisk/default.nix index 5e81e43..ccc0e79 100644 --- a/hosts/aluminium/services/asterisk/default.nix +++ b/hosts/aluminium/services/asterisk/default.nix @@ -139,7 +139,7 @@ in ''; "features.conf" = '' [applicationmap] - doorOpen => #9,peer,Gosub,"door-open,s,1" + doorOpen => 1,peer,Gosub,"door-open,s,1" ''; "http.conf" = '' [general] From a9a28a86473113c596fd29d36b86ad741f97c496 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:50:04 +0000 Subject: [PATCH 142/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/07682fff75d41f18327a871088d20af2710d4744' (2023-09-19) → 'github:nix-community/home-manager/04bac349d585c9df38d78e0285b780a140dc74a4' (2023-11-12) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/41de143fda10e33be0f47eab2bfe08a50f234267' (2023-11-06) → 'github:nixos/nixpkgs/da4024d0ead5d7820f6bd15147d3fe2a0c0cec73' (2023-11-10) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/e556bb0b675a849371645b6b79eccd4130744967' (2023-11-08) → 'github:NixOS/nixpkgs/496bd3c758cae58840f4a2a8b6a9bca1c3a63c8f' (2023-11-12) • Updated input 'nur': 'github:nix-community/NUR/9249f2baa49a8ba139eb084128e092073ed88c4e' (2023-11-08) → 'github:nix-community/NUR/076a620318b0b53f159538414025b3dacada784f' (2023-11-12) • Updated input 'sops-nix': 'github:Mic92/sops-nix/664187539871f63857bda2d498f452792457b998' (2023-11-06) → 'github:Mic92/sops-nix/2fc3c9edc3029ed396ec917f39a7253acc3d8999' (2023-11-12) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/78f3a4ae19f0e99d5323dd2e3853916b8ee4afee' (2023-11-04) → 'github:NixOS/nixpkgs/9502d0245983bb233da8083b55d60d96fd3c29ff' (2023-11-12) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index d473a85..c0cc495 100644 --- a/flake.lock +++ b/flake.lock @@ -85,11 +85,11 @@ ] }, "locked": { - "lastModified": 1695108154, - "narHash": "sha256-gSg7UTVtls2yO9lKtP0yb66XBHT1Fx5qZSZbGMpSn2c=", + "lastModified": 1699748081, + "narHash": "sha256-MOmMapBydd7MTjhX4eeQZzKlCABWw8W6iSHSG4OeFKE=", "owner": "nix-community", "repo": "home-manager", - "rev": "07682fff75d41f18327a871088d20af2710d4744", + "rev": "04bac349d585c9df38d78e0285b780a140dc74a4", "type": "github" }, "original": { @@ -181,11 +181,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1699110214, - "narHash": "sha256-L2TU4RgtiqF69W8Gacg2jEkEYJrW+Kp0Mp4plwQh5b8=", + "lastModified": 1699756042, + "narHash": "sha256-bHHjQQBsEPOxLL+klYU2lYshDnnWY12SewzQ7n5ab2M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "78f3a4ae19f0e99d5323dd2e3853916b8ee4afee", + "rev": "9502d0245983bb233da8083b55d60d96fd3c29ff", "type": "github" }, "original": { @@ -197,11 +197,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1699437456, - "narHash": "sha256-nYPKALWauhG5WvGhx7whUCNFTeLZEtchEre+3Mze4eI=", + "lastModified": 1699831659, + "narHash": "sha256-Ki8n9OHaO2s+VIXIRmELDAfyCuwK2WFwSPKlrUtErZk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e556bb0b675a849371645b6b79eccd4130744967", + "rev": "496bd3c758cae58840f4a2a8b6a9bca1c3a63c8f", "type": "github" }, "original": { @@ -213,11 +213,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1699291058, - "narHash": "sha256-5ggduoaAMPHUy4riL+OrlAZE14Kh7JWX4oLEs22ZqfU=", + "lastModified": 1699596684, + "narHash": "sha256-XSXP8zjBZJBVvpNb2WmY0eW8O2ce+sVyj1T0/iBRIvg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "41de143fda10e33be0f47eab2bfe08a50f234267", + "rev": "da4024d0ead5d7820f6bd15147d3fe2a0c0cec73", "type": "github" }, "original": { @@ -229,11 +229,11 @@ }, "nur": { "locked": { - "lastModified": 1699435759, - "narHash": "sha256-K1G+UfpvvWFSbHdWtCOTI1MCK4ivQpu/bz9DWB66SJc=", + "lastModified": 1699829219, + "narHash": "sha256-6SMSRpM5TL9UG/Vrt821YKe894WcIzu40nvbxkGxP0U=", "owner": "nix-community", "repo": "NUR", - "rev": "9249f2baa49a8ba139eb084128e092073ed88c4e", + "rev": "076a620318b0b53f159538414025b3dacada784f", "type": "github" }, "original": { @@ -263,11 +263,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1699311858, - "narHash": "sha256-W/sQrghPAn5J9d+9kMnHqi4NPVWVpy0V/qzQeZfS/dM=", + "lastModified": 1699770333, + "narHash": "sha256-tWIifHuqPZKCuAVjewewX/LyC6LCf5dsIkyDHlXr7DM=", "owner": "Mic92", "repo": "sops-nix", - "rev": "664187539871f63857bda2d498f452792457b998", + "rev": "2fc3c9edc3029ed396ec917f39a7253acc3d8999", "type": "github" }, "original": { From d87e6b0f0c7259d190599cd1d88f81f5c6f347c8 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:50:05 +0000 Subject: [PATCH 143/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'gomod2nix': 'github:nix-community/gomod2nix/f95720e89af6165c8c0aa77f180461fe786f3c21' (2023-09-13) → 'github:nix-community/gomod2nix/05c993c9a5bd55a629cd45ed49951557b7e9c61a' (2023-11-14) • Updated input 'home-manager': 'github:nix-community/home-manager/04bac349d585c9df38d78e0285b780a140dc74a4' (2023-11-12) → 'github:nix-community/home-manager/28535c3a34d79071f2ccb68671971ce0c0984d7e' (2023-11-19) • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/ea758da1a6dcde6dc36db348ed690d09b9864128' (2023-11-06) → 'github:cachix/pre-commit-hooks.nix/e558068cba67b23b4fbc5537173dbb43748a17e8' (2023-11-15) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/da4024d0ead5d7820f6bd15147d3fe2a0c0cec73' (2023-11-10) → 'github:nixos/nixpkgs/0c5678df521e1407884205fe3ce3cf1d7df297db' (2023-11-19) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/496bd3c758cae58840f4a2a8b6a9bca1c3a63c8f' (2023-11-12) → 'github:NixOS/nixpkgs/f91fd8b00d47727b3a836e333f6726cafad7938b' (2023-11-20) • Updated input 'nur': 'github:nix-community/NUR/076a620318b0b53f159538414025b3dacada784f' (2023-11-12) → 'github:nix-community/NUR/97e1eb951068ac7253c3a62fec2f9f9501367805' (2023-11-19) • Updated input 'sops-nix': 'github:Mic92/sops-nix/2fc3c9edc3029ed396ec917f39a7253acc3d8999' (2023-11-12) → 'github:Mic92/sops-nix/49a87c6c827ccd21c225531e30745a9a6464775c' (2023-11-19) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/9502d0245983bb233da8083b55d60d96fd3c29ff' (2023-11-12) → 'github:NixOS/nixpkgs/decdf666c833a325cb4417041a90681499e06a41' (2023-11-18) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index c0cc495..5f95345 100644 --- a/flake.lock +++ b/flake.lock @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1694616124, - "narHash": "sha256-c49BVhQKw3XDRgt+y+uPAbArtgUlMXCET6VxEBmzHXE=", + "lastModified": 1699950847, + "narHash": "sha256-xN/yVtqHb7kimHA/WvQFrEG5WS38t0K+A/W+j/WhQWM=", "owner": "nix-community", "repo": "gomod2nix", - "rev": "f95720e89af6165c8c0aa77f180461fe786f3c21", + "rev": "05c993c9a5bd55a629cd45ed49951557b7e9c61a", "type": "github" }, "original": { @@ -85,11 +85,11 @@ ] }, "locked": { - "lastModified": 1699748081, - "narHash": "sha256-MOmMapBydd7MTjhX4eeQZzKlCABWw8W6iSHSG4OeFKE=", + "lastModified": 1700392168, + "narHash": "sha256-v5LprEFx3u4+1vmds9K0/i7sHjT0IYGs7u9v54iz/OA=", "owner": "nix-community", "repo": "home-manager", - "rev": "04bac349d585c9df38d78e0285b780a140dc74a4", + "rev": "28535c3a34d79071f2ccb68671971ce0c0984d7e", "type": "github" }, "original": { @@ -133,11 +133,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1699271226, - "narHash": "sha256-8Jt1KW3xTjolD6c6OjJm9USx/jmL+VVmbooADCkdDfU=", + "lastModified": 1700064067, + "narHash": "sha256-1ZWNDzhu8UlVCK7+DUN9dVQfiHX1bv6OQP9VxstY/gs=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "ea758da1a6dcde6dc36db348ed690d09b9864128", + "rev": "e558068cba67b23b4fbc5537173dbb43748a17e8", "type": "github" }, "original": { @@ -181,11 +181,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1699756042, - "narHash": "sha256-bHHjQQBsEPOxLL+klYU2lYshDnnWY12SewzQ7n5ab2M=", + "lastModified": 1700342017, + "narHash": "sha256-HaibwlWH5LuqsaibW3sIVjZQtEM/jWtOHX4Nk93abGE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9502d0245983bb233da8083b55d60d96fd3c29ff", + "rev": "decdf666c833a325cb4417041a90681499e06a41", "type": "github" }, "original": { @@ -197,11 +197,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1699831659, - "narHash": "sha256-Ki8n9OHaO2s+VIXIRmELDAfyCuwK2WFwSPKlrUtErZk=", + "lastModified": 1700440423, + "narHash": "sha256-xm0CNsvnOnYfVThu/1RF+RtUFEa5DZjYocNZzCEOP4E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "496bd3c758cae58840f4a2a8b6a9bca1c3a63c8f", + "rev": "f91fd8b00d47727b3a836e333f6726cafad7938b", "type": "github" }, "original": { @@ -213,11 +213,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1699596684, - "narHash": "sha256-XSXP8zjBZJBVvpNb2WmY0eW8O2ce+sVyj1T0/iBRIvg=", + "lastModified": 1700403855, + "narHash": "sha256-Q0Uzjik9kUTN9pd/kp52XJi5kletBhy29ctBlAG+III=", "owner": "nixos", "repo": "nixpkgs", - "rev": "da4024d0ead5d7820f6bd15147d3fe2a0c0cec73", + "rev": "0c5678df521e1407884205fe3ce3cf1d7df297db", "type": "github" }, "original": { @@ -229,11 +229,11 @@ }, "nur": { "locked": { - "lastModified": 1699829219, - "narHash": "sha256-6SMSRpM5TL9UG/Vrt821YKe894WcIzu40nvbxkGxP0U=", + "lastModified": 1700426639, + "narHash": "sha256-y49IRE7FlD/n7k3xRY1JMRkg6QA+e9WZjh2rFMqzk7o=", "owner": "nix-community", "repo": "NUR", - "rev": "076a620318b0b53f159538414025b3dacada784f", + "rev": "97e1eb951068ac7253c3a62fec2f9f9501367805", "type": "github" }, "original": { @@ -263,11 +263,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1699770333, - "narHash": "sha256-tWIifHuqPZKCuAVjewewX/LyC6LCf5dsIkyDHlXr7DM=", + "lastModified": 1700362823, + "narHash": "sha256-/H7XgvrYM0IbkpWkcdfkOH0XyBM5ewSWT1UtaLvOgKY=", "owner": "Mic92", "repo": "sops-nix", - "rev": "2fc3c9edc3029ed396ec917f39a7253acc3d8999", + "rev": "49a87c6c827ccd21c225531e30745a9a6464775c", "type": "github" }, "original": { From 9b8a7ca64565a93104652ab214959578e19168e5 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:50:06 +0000 Subject: [PATCH 144/766] Rewrite dynamic-colors script in Python --- home-manager/modules/dynamic-colors.nix | 56 ++++++++++++++++++++----- 1 file changed, 45 insertions(+), 11 deletions(-) diff --git a/home-manager/modules/dynamic-colors.nix b/home-manager/modules/dynamic-colors.nix index 23b2568..87c8918 100644 --- a/home-manager/modules/dynamic-colors.nix +++ b/home-manager/modules/dynamic-colors.nix @@ -1,21 +1,55 @@ { nixosConfig, lib, pkgs, ... }: let - dynamic-colors = pkgs.writeShellScriptBin "dynamic-colors" /* bash */ '' - case "''$1" in - light|dark) - if [ -e "''$HOME/.config/alacritty/alacritty-''$1.yml" ]; then - ln -sf "''$HOME/.config/alacritty/alacritty-''$1.yml" "$HOME/.config/alacritty/alacritty.yml" - fi - ;; - *) - echo "unknown command ''$1" >&2 - exit 1 - esac + dynamic-colors = pkgs.writers.writePython3Bin "dynamic-colors" { } '' + import os + import pathlib + import sys + + + config = [ + ( + '~/.config/alacritty', + 'alacritty-light.yml', + 'alacritty-dark.yml', + 'alacritty.yml', + ) + ] + + + def main(): + command, = sys.argv[1:] + for directory, light_file, dark_file, config_file in config: + directory = pathlib.Path(directory).expanduser() + dst = directory.joinpath(config_file) + + if command in ('light', 'dark'): + if dst.exists() and dst.is_symlink: + os.remove(dst) + + src = { + 'light': light_file, + 'dark': dark_file, + }[command] + + os.symlink(src, dst) + + else: + if dst.exists(): + continue + + os.symlink(light_file, dst) + + + if __name__ == '__main__': + main() ''; in { home.packages = [ dynamic-colors ]; + home.activation.dynamic-colors = lib.hm.dag.entryAfter [ "writeBoundary" ] '' + $DRY_RUN_CMD ${dynamic-colors}/bin/dynamic-colors install + ''; } From 0edfae13503d5a0c6563697c1ed65406d38cc8f6 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:50:06 +0000 Subject: [PATCH 145/766] Implement dynamic colors for wofi --- home-manager/modules/dynamic-colors.nix | 6 ++ home-manager/modules/sway/default.nix | 2 +- home-manager/modules/sway/wofi.nix | 125 ++++++++++++++--------- pkgs/wofi-bluetooth/wofi-bluetooth.patch | 2 +- 4 files changed, 83 insertions(+), 52 deletions(-) diff --git a/home-manager/modules/dynamic-colors.nix b/home-manager/modules/dynamic-colors.nix index 87c8918..9167743 100644 --- a/home-manager/modules/dynamic-colors.nix +++ b/home-manager/modules/dynamic-colors.nix @@ -13,6 +13,12 @@ let 'alacritty-light.yml', 'alacritty-dark.yml', 'alacritty.yml', + ), + ( + '~/.config/wofi', + 'color-light', + 'color-dark', + 'color', ) ] diff --git a/home-manager/modules/sway/default.nix b/home-manager/modules/sway/default.nix index fc9ccca..0ce1fe3 100644 --- a/home-manager/modules/sway/default.nix +++ b/home-manager/modules/sway/default.nix @@ -84,7 +84,7 @@ in down = "r"; terminal = "${terminalEmulator}"; - menu = "${pkgs.wofi}/bin/wofi --allow-images --show drun"; + menu = "${pkgs.wofi}/bin/wofi --allow-images --show drun --color=$HOME/.config/wofi/color"; output."*".bg = "${wallpaper} fill"; diff --git a/home-manager/modules/sway/wofi.nix b/home-manager/modules/sway/wofi.nix index 2db0add..a5ed905 100644 --- a/home-manager/modules/sway/wofi.nix +++ b/home-manager/modules/sway/wofi.nix @@ -4,61 +4,86 @@ let solarized = import ../solarized.nix; in { - xdg.configFile."wofi/style.css".text = - let - # adding it to the header doesn’t work since the defaults overwrite it - commonConfig = /* ini */ '' - background=${lib.substring 1 6 solarized.base3} - border-bottom=${lib.substring 1 6 solarized.base2} - border=${lib.substring 1 6 solarized.base2} - button-background=${lib.substring 1 6 solarized.base3} - button-text=${lib.substring 1 6 solarized.base00} - ''; - in - /* css */ '' - window { - margin: 0px; - border: 3px solid ${solarized.base02.hex}; - border-radius: 8px; - background-color: rgba(${solarized.base03.rgb},0.8); - } + xdg.configFile."wofi/color-light".text = lib.strings.concatLines (map (c: solarized."${c}".hex) [ + "base3" + "base2" + "base1" + "base0" + "base00" + "base01" + "base02" + "base03" + "red" + "orange" + "yellow" + "green" + "cyan" + "blue" + "violet" + "magenta" + ]); + xdg.configFile."wofi/color-dark".text = lib.strings.concatLines (map (c: solarized."${c}".hex) [ + "base03" + "base02" + "base01" + "base00" + "base0" + "base1" + "base2" + "base3" + "red" + "orange" + "yellow" + "green" + "cyan" + "blue" + "violet" + "magenta" + ]); + xdg.configFile."wofi/style.css".text = '' + window { + margin: 0px; + border: 3px solid --wofi-color1; + border-radius: 8px; + background-color: rgba(--wofi-rgb-color0,0.8); + } - #input { - margin: 5px; - border: none; - color: ${solarized.base0.hex}; - background-color: rgba(${solarized.base02.rgb},0.8); - } + #input { + margin: 5px; + border: none; + color: --wofi-color4; + background-color: rgba(--wofi-rgb-color1,0.8); + } - #inner-box { - margin: 5px; - border: none; - background: none; - } + #inner-box { + margin: 5px; + border: none; + background: none; + } - #outer-box { - margin: 5px; - border: none; - background: none; - } + #outer-box { + margin: 5px; + border: none; + background: none; + } - #scroll { - margin: 0px; - border: none; - } + #scroll { + margin: 0px; + border: none; + } - #text { - margin: 5px; - border: none; - color: ${solarized.base0.hex}; - } + #text { + margin: 5px; + border: none; + color: --wofi-color4; + } - #entry:selected { - background-color: rgba(${solarized.base02.rgb},0.8); - } + #entry:selected { + background-color: rgba(--wofi-rgb-color1,0.8); + } - #entry:selected #text{ - color: ${solarized.green.hex}; - } - ''; + #entry:selected #text{ + color: --wofi-color11; + } + ''; } diff --git a/pkgs/wofi-bluetooth/wofi-bluetooth.patch b/pkgs/wofi-bluetooth/wofi-bluetooth.patch index 2b18d7f..3150f7a 100644 --- a/pkgs/wofi-bluetooth/wofi-bluetooth.patch +++ b/pkgs/wofi-bluetooth/wofi-bluetooth.patch @@ -62,7 +62,7 @@ # Rofi command to pipe into, can add any options here -rofi_command="rofi -dmenu $* -p" -+wofi_command="wofi -d -i -p" ++wofi_command="wofi --color=$HOME/.config/wofi/color -d -i -p " case "$1" in --status) From 33224a258c3b55fb732f94f3c2cb57ef191ec071 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:50:07 +0000 Subject: [PATCH 146/766] Use config file for dynamic-colors --- home-manager/modules/dynamic-colors.nix | 64 +++++++++++++------------ 1 file changed, 34 insertions(+), 30 deletions(-) diff --git a/home-manager/modules/dynamic-colors.nix b/home-manager/modules/dynamic-colors.nix index 9167743..0da283f 100644 --- a/home-manager/modules/dynamic-colors.nix +++ b/home-manager/modules/dynamic-colors.nix @@ -1,50 +1,53 @@ -{ nixosConfig, lib, pkgs, ... }: +{ nixosConfig, lib, config, pkgs, ... }: let + applicationConfig = [ + { + dir = "~/.config/alacritty"; + light = "alacritty-light.yml"; + dark = "alacritty-dark.yml"; + target = "alacritty.yml"; + } + { + dir = "~/.config/wofi"; + light = "color-light"; + dark = "color-dark"; + target = "color"; + } + ]; dynamic-colors = pkgs.writers.writePython3Bin "dynamic-colors" { } '' import os import pathlib import sys - - - config = [ - ( - '~/.config/alacritty', - 'alacritty-light.yml', - 'alacritty-dark.yml', - 'alacritty.yml', - ), - ( - '~/.config/wofi', - 'color-light', - 'color-dark', - 'color', - ) - ] + import json def main(): + CONFIG_FILE = "~/.config/dynamic-colors/config.json" + with open(pathlib.Path(CONFIG_FILE).expanduser(), "r") as fh: + config = json.load(fh) + command, = sys.argv[1:] - for directory, light_file, dark_file, config_file in config: - directory = pathlib.Path(directory).expanduser() - dst = directory.joinpath(config_file) + for entry in config: + directory = pathlib.Path(entry['dir']).expanduser() + target = directory.joinpath(entry['target']) if command in ('light', 'dark'): - if dst.exists() and dst.is_symlink: - os.remove(dst) + if target.exists() and target.is_symlink: + os.remove(target) src = { - 'light': light_file, - 'dark': dark_file, + 'light': entry['light'], + 'dark': entry['dark'], }[command] - os.symlink(src, dst) + os.symlink(src, target) else: - if dst.exists(): + if target.exists(): continue - os.symlink(light_file, dst) + os.symlink(entry['light'], target) if __name__ == '__main__': @@ -52,10 +55,11 @@ let ''; in { + xdg.configFile."dynamic-colors/config.json" = { + text = lib.generators.toJSON { } applicationConfig; + onChange = "${dynamic-colors}/bin/dynamic-colors install"; + }; home.packages = [ dynamic-colors ]; - home.activation.dynamic-colors = lib.hm.dag.entryAfter [ "writeBoundary" ] '' - $DRY_RUN_CMD ${dynamic-colors}/bin/dynamic-colors install - ''; } From a744037968a0187688931c58910e67db6bf5a231 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:50:08 +0000 Subject: [PATCH 147/766] Implement dynamic colors for sway --- home-manager/modules/dynamic-colors.nix | 18 +++++++++- home-manager/modules/sway/default.nix | 45 ++++++++----------------- 2 files changed, 31 insertions(+), 32 deletions(-) diff --git a/home-manager/modules/dynamic-colors.nix b/home-manager/modules/dynamic-colors.nix index 0da283f..e5a4587 100644 --- a/home-manager/modules/dynamic-colors.nix +++ b/home-manager/modules/dynamic-colors.nix @@ -1,6 +1,11 @@ { nixosConfig, lib, config, pkgs, ... }: let + loadSwayTheme = pkgs.writeShellScript "load-sway-theme" '' + while IFS= read -r line; do + ${pkgs.sway}/bin/swaymsg "$line" + done < "$1" + ''; applicationConfig = [ { dir = "~/.config/alacritty"; @@ -14,12 +19,20 @@ let dark = "color-dark"; target = "color"; } + { + dir = "~/.config/sway"; + light = "light-theme"; + dark = "dark-theme"; + target = "theme"; + exec = [ loadSwayTheme "theme" ]; + } ]; dynamic-colors = pkgs.writers.writePython3Bin "dynamic-colors" { } '' + import json import os import pathlib + import subprocess import sys - import json def main(): @@ -49,6 +62,9 @@ let os.symlink(entry['light'], target) + if 'exec' in entry: + subprocess.run(entry['exec'], cwd=directory) + if __name__ == '__main__': main() diff --git a/home-manager/modules/sway/default.nix b/home-manager/modules/sway/default.nix index 0ce1fe3..418e168 100644 --- a/home-manager/modules/sway/default.nix +++ b/home-manager/modules/sway/default.nix @@ -73,6 +73,19 @@ in end ''; + xdg.configFile."sway/light-theme".text = with solarized; '' + client.focused ${base01.hex} ${blue.hex} ${base3.hex} ${blue.hex} ${blue.hex} + client.focused_inactive ${base2.hex} ${base2.hex} ${base01.hex} ${base0.hex} ${base2.hex} + client.unfocused ${base2.hex} ${base3.hex} ${base01.hex} ${base2.hex} ${base2.hex} + client.urgent ${red.hex} ${red.hex} ${base3.hex} ${red.hex} ${red.hex} + ''; + xdg.configFile."sway/dark-theme".text = with solarized; '' + client.focused ${base1.hex} ${blue.hex} ${base03.hex} ${blue.hex} ${blue.hex} + client.focused_inactive ${base02.hex} ${base02.hex} ${base1.hex} ${base03.hex} ${base02.hex} + client.unfocused ${base02.hex} ${base03.hex} ${base1.hex} ${base02.hex} ${base02.hex} + client.urgent ${red.hex} ${red.hex} ${base03.hex} ${red.hex} ${red.hex} + ''; + wayland.windowManager.sway = { enable = true; @@ -269,37 +282,6 @@ in border = 1; }; - colors = { - focused = rec { - border = solarized.base1.hex; - background = solarized.base2.hex; - text = solarized.base1.hex; - indicator = solarized.cyan.hex; - childBorder = background; - }; - focusedInactive = rec { - border = solarized.base0.hex; - background = solarized.base03.hex; - text = solarized.base0.hex; - indicator = solarized.cyan.hex; - childBorder = background; - }; - unfocused = rec { - border = solarized.base0.hex; - background = solarized.base03.hex; - text = solarized.base0.hex; - indicator = solarized.cyan.hex; - childBorder = background; - }; - urgent = rec { - border = solarized.base02.hex; - background = solarized.red.hex; - text = solarized.base02.hex; - indicator = solarized.cyan.hex; - childBorder = background; - }; - }; - fonts = { names = [ "monospace" ]; style = "Regular"; @@ -308,6 +290,7 @@ in }; extraConfig = '' + include ~/.config/sway/theme # Cursor seat seat0 xcursor_theme Adwaita '' + ( From 99c7bae8404898f1e84d2c827c62a099f2d83ad2 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:50:09 +0000 Subject: [PATCH 148/766] Implement dynamic colors for waybar --- home-manager/modules/dynamic-colors.nix | 7 ++ home-manager/modules/sway/waybar.nix | 130 ++++++++++++++++-------- 2 files changed, 92 insertions(+), 45 deletions(-) diff --git a/home-manager/modules/dynamic-colors.nix b/home-manager/modules/dynamic-colors.nix index e5a4587..737221c 100644 --- a/home-manager/modules/dynamic-colors.nix +++ b/home-manager/modules/dynamic-colors.nix @@ -26,6 +26,13 @@ let target = "theme"; exec = [ loadSwayTheme "theme" ]; } + { + dir = "~/.config/waybar"; + light = "theme-light.css"; + dark = "theme-dark.css"; + target = "theme.css"; + exec = [ "${pkgs.systemd}/bin/systemctl" "--user" "restart" "waybar.service" ]; + } ]; dynamic-colors = pkgs.writers.writePython3Bin "dynamic-colors" { } '' import json diff --git a/home-manager/modules/sway/waybar.nix b/home-manager/modules/sway/waybar.nix index 4ac79e0..5f9c2f5 100644 --- a/home-manager/modules/sway/waybar.nix +++ b/home-manager/modules/sway/waybar.nix @@ -18,6 +18,7 @@ let thinsp = " "; solarized = import ../solarized.nix; + solarizedColors = (as: lib.strings.concatLines (lib.attrsets.mapAttrsToList (name: value: let color = solarized."${value}".hex; in "@define-color ${name} ${color};") as)); in { # home-manager’s waybar module performs additional checks that are overly strict @@ -257,7 +258,46 @@ in format = "{}"; }; }; + + xdg.configFile."waybar/theme-light.css".text = solarizedColors { + base00 = "base3"; + base01 = "base2"; + base02 = "base1"; + base03 = "base0"; + base04 = "base00"; + base05 = "base01"; + base06 = "base02"; + base07 = "base03"; + base08 = "red"; + base09 = "orange"; + base0A = "yellow"; + base0B = "green"; + base0C = "cyan"; + base0D = "blue"; + base0E = "violet"; + base0F = "magenta"; + }; + xdg.configFile."waybar/theme-dark.css".text = solarizedColors { + base00 = "base03"; + base01 = "base02"; + base02 = "base01"; + base03 = "base00"; + base04 = "base0"; + base05 = "base1"; + base06 = "base2"; + base07 = "base3"; + base08 = "red"; + base09 = "orange"; + base0A = "yellow"; + base0B = "green"; + base0C = "cyan"; + base0D = "blue"; + base0E = "violet"; + base0F = "magenta"; + }; xdg.configFile."waybar/style.css".text = '' + @import "theme.css"; + * { border-radius: 0; border: none; @@ -268,33 +308,33 @@ in } window#waybar { - background-color: ${solarized.base03.hex}; - color: ${solarized.base0.hex}; + background-color: @base00; + color: @base04; } #workspaces button { padding: 0 5px; - background-color: ${solarized.base03.hex}; + background-color: @base00; color: inherit; border-bottom: 2px solid transparent; } #workspaces button:hover { - background: ${solarized.base02.hex}; + background: @base01; box-shadow: inherit; text-shadow: inherit; } #workspaces button.focused { - border-bottom: 2px solid ${solarized.green.hex}; + border-bottom: 2px solid @base0B; } #workspaces button.urgent { - background-color: ${solarized.red.hex}; + background-color: @base08; } #mode { - background-color: ${solarized.base02.hex}; + background-color: @base01; font-style: italic; } @@ -304,20 +344,20 @@ in } #battery.charging { - color: ${solarized.base02.hex}; - background-color: ${solarized.green.hex}; + color: @base01; + background-color: @base0B; } @keyframes blink { to { - background-color: ${solarized.base3.hex}; - color: ${solarized.base00.hex}; + background-color: @base07; + color: @base03; } } #battery.critical:not(.charging), #temperature.critical { - background-color: ${solarized.red.hex}; + background-color: @base08; animation-name: blink; animation-duration: 0.5s; /* FIXME use nearest neighbor interpolation if possible */ @@ -327,81 +367,81 @@ in } #cpu { - background-color: ${solarized.cyan.hex}; - color: ${solarized.base02.hex} + background-color: @base0C; + color: @base01 } #memory { - background-color: ${solarized.yellow.hex}; - color: ${solarized.base02.hex} + background-color: @base0A; + color: @base01 } #backlight { - background-color: ${solarized.base3.hex}; - color: ${solarized.base00.hex}; + background-color: @base07; + color: @base03; } #network { - background-color: ${solarized.violet.hex}; - color: ${solarized.base02.hex} + background-color: @base0E; + color: @base01 } #custom-vpn { - background-color: ${solarized.blue.hex}; - color: ${solarized.base02.hex} + background-color: @base0D; + color: @base01 } #network.disconnected { - background-color: ${solarized.red.hex}; + background-color: @base08; } #pulseaudio { - background-color: ${solarized.base3.hex}; - color: ${solarized.base00.hex}; + background-color: @base07; + color: @base03; } #pulseaudio.muted { - background-color: ${solarized.base03.hex}; - color: ${solarized.base0.hex}; + background-color: @base00; + color: @base04; } #temperature { - background-color: ${solarized.magenta.hex}; - color: ${solarized.base02.hex}; + background-color: @base0F; + color: @base01; } #idle_inhibitor.activated { - background-color: ${solarized.base3.hex}; - color: ${solarized.base03.hex}; + background-color: @base07; + color: @base00; } #mpd { - background-color: ${solarized.green.hex}; - color: ${solarized.base02.hex}; + background-color: @base0B; + color: @base01; } #mpd.disconnected { - background-color: ${solarized.red.hex}; + background-color: @base08; } #mpd.stopped { - background-color: ${solarized.orange.hex}; + background-color: @base09; } #mpd.paused { - background-color: ${solarized.yellow.hex}; + background-color: @base0A; } #custom-redshift { - color: ${solarized.base02.hex}; + color: @base01; } #custom-redshift.active { - background-color: ${solarized.red.hex}; + background-color: @base08; } #custom-redshift.inactive { - background-color: ${solarized.blue.hex}; + background-color: @base0D; } #tray { @@ -409,13 +449,13 @@ in } #custom-notification_inhibitor.active { - background-color: ${solarized.base3.hex}; - color: ${solarized.base03.hex}; + background-color: @base07; + color: @base00; } #custom-screencast { - background-color: ${solarized.red.hex}; - color: ${solarized.base03.hex}; + background-color: @base08; + color: @base00; animation-name: blink; animation-duration: 0.5s; animation-timing-function: cubic-bezier(1, 0, 0, 1); @@ -424,8 +464,8 @@ in } #custom-calendar.active { - background-color: ${solarized.base3.hex}; - color: ${solarized.base00.hex}; + background-color: @base07; + color: @base03; } ''; From a9cd396dec848f80f684cd681f95d4e9dd3541ad Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:50:09 +0000 Subject: [PATCH 149/766] Add iot network --- hosts/iron/configuration.nix | 10 ++++++++++ hosts/iron/services/dnsmasq.nix | 10 ++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index c13e729..14ba407 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -46,11 +46,21 @@ with lib; { useDHCP = false; networkmanager.enable = false; + vlans = { + iot = { + id = 20; + interface = "enp2s4"; + }; + }; interfaces = { enp2s4.ipv4.addresses = [{ address = "192.168.42.1"; prefixLength = 24; }]; + iot.ipv4.addresses = [{ + address = "10.20.0.1"; + prefixLength = 20; + }]; enp3s5 = { useDHCP = true; }; diff --git a/hosts/iron/services/dnsmasq.nix b/hosts/iron/services/dnsmasq.nix index e96db17..94a148e 100644 --- a/hosts/iron/services/dnsmasq.nix +++ b/hosts/iron/services/dnsmasq.nix @@ -7,11 +7,17 @@ in services.dnsmasq = { enable = true; settings = { - listen-address = "192.168.42.1"; + listen-address = [ + "192.168.42.1" + "10.20.0.1" + ]; interface = "lo"; expand-hosts = true; domain = "lan.bw.jalr.de"; - dhcp-range = "192.168.42.20,192.168.42.254,4h"; + dhcp-range = [ + "192.168.42.20,192.168.42.254,4h" + "10.20.0.20,10.20.3.254,12h" + ]; cache-size = 10000; dns-forward-max = 1000; no-hosts = true; From 0f2e97a3fcf77273a798d7b827b462a4a4ad0e48 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:50:10 +0000 Subject: [PATCH 150/766] Add ntp service --- hosts/iron/services/default.nix | 1 + hosts/iron/services/ntp.nix | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 hosts/iron/services/ntp.nix diff --git a/hosts/iron/services/default.nix b/hosts/iron/services/default.nix index 8f7c4d5..9a68612 100644 --- a/hosts/iron/services/default.nix +++ b/hosts/iron/services/default.nix @@ -7,6 +7,7 @@ ./matrix ./navidrome.nix ./nginx.nix + ./ntp.nix ./public-ip-tunnel.nix ./radicale.nix ./sturzbach.nix diff --git a/hosts/iron/services/ntp.nix b/hosts/iron/services/ntp.nix new file mode 100644 index 0000000..da22f86 --- /dev/null +++ b/hosts/iron/services/ntp.nix @@ -0,0 +1,13 @@ +{ lib, pkgs, ... }: +{ + services.chrony = { + enable = true; + extraConfig = '' + allow 192.168.42.0/24 + allow 10.20.0.0/22 + rtcsync + leapsectz right/UTC + ''; + }; + networking.firewall.allowedUDPPorts = [ 123 ]; +} From 668c83dfc0a8706f97096b3d52f94c9798b924bc Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:50:11 +0000 Subject: [PATCH 151/766] Enable dynamic colors for UI and firefox --- home-manager/modules/dynamic-colors.nix | 70 ++++++++++++++++++------ home-manager/modules/firefox/default.nix | 1 + home-manager/modules/sway/default.nix | 12 ++++ modules/sway.nix | 5 +- 4 files changed, 70 insertions(+), 18 deletions(-) diff --git a/home-manager/modules/dynamic-colors.nix b/home-manager/modules/dynamic-colors.nix index 737221c..8526b3a 100644 --- a/home-manager/modules/dynamic-colors.nix +++ b/home-manager/modules/dynamic-colors.nix @@ -33,6 +33,13 @@ let target = "theme.css"; exec = [ "${pkgs.systemd}/bin/systemctl" "--user" "restart" "waybar.service" ]; } + { + exec = ( + if nixosConfig.jalr.gui.enable + then [ "/usr/bin/env" "gsettings" "set" "org.gnome.desktop.interface" "color-scheme" "prefer-%scheme%" ] + else null + ); + } ]; dynamic-colors = pkgs.writers.writePython3Bin "dynamic-colors" { } '' import json @@ -43,34 +50,62 @@ let def main(): + DEFAULT_SCHEME = 'light' CONFIG_FILE = "~/.config/dynamic-colors/config.json" with open(pathlib.Path(CONFIG_FILE).expanduser(), "r") as fh: config = json.load(fh) command, = sys.argv[1:] + + scheme = None + if command in ('light', 'dark'): + scheme = command + elif command == 'install': + pass + else: + raise NotImplementedError + for entry in config: - directory = pathlib.Path(entry['dir']).expanduser() - target = directory.joinpath(entry['target']) + directory = ( + pathlib.Path(entry['dir']).expanduser() if 'dir' in entry else None + ) + if all(key in entry for key in ( + 'target', + 'light', + 'dark' + )): + target = directory.joinpath(entry['target']) - if command in ('light', 'dark'): - if target.exists() and target.is_symlink: - os.remove(target) + if scheme is None: + if target.exists(): + continue + scheme = entry[DEFAULT_SCHEME] + else: + if target.exists() and target.is_symlink: + os.remove(target) - src = { - 'light': entry['light'], - 'dark': entry['dark'], - }[command] + src = { + 'light': entry['light'], + 'dark': entry['dark'], + }[scheme] os.symlink(src, target) - else: - if target.exists(): - continue - - os.symlink(entry['light'], target) - - if 'exec' in entry: - subprocess.run(entry['exec'], cwd=directory) + if entry.get('exec') is not None: + command, *args = entry["exec"] + args = [ + arg.replace( + '%scheme%', scheme + if scheme is not None + else DEFAULT_SCHEME + ) + for arg in args + ] + print(command, *args) + subprocess.run( + (command, *args), + cwd=directory + ) if __name__ == '__main__': @@ -82,6 +117,7 @@ in text = lib.generators.toJSON { } applicationConfig; onChange = "${dynamic-colors}/bin/dynamic-colors install"; }; + home.packages = [ dynamic-colors ]; diff --git a/home-manager/modules/firefox/default.nix b/home-manager/modules/firefox/default.nix index 39e227c..a2d4992 100644 --- a/home-manager/modules/firefox/default.nix +++ b/home-manager/modules/firefox/default.nix @@ -6,6 +6,7 @@ profiles = { default = { extensions = with pkgs.nur.repos.rycee.firefox-addons; [ + darkreader tree-style-tab ublock-origin umatrix diff --git a/home-manager/modules/sway/default.nix b/home-manager/modules/sway/default.nix index 418e168..4370b6d 100644 --- a/home-manager/modules/sway/default.nix +++ b/home-manager/modules/sway/default.nix @@ -27,6 +27,17 @@ let meta.license = lib.licenses.cc0; }; move-to-output = pkgs.callPackage ./move-to-output { }; + gsettings = + let + schema = pkgs.gsettings-desktop-schemas; + datadir = "${schema}/share/gsettings-schemas/${schema.name}"; + in + pkgs.writeShellScriptBin "gsettings" '' + export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS + gnome_schema=org.gnome.desktop.interface + #gsettings set $gnome_schema gtk-theme 'Dracula' + ${pkgs.glib}/bin/gsettings "$@" + ''; in { imports = lib.optionals nixosConfig.jalr.gui.enable [ @@ -40,6 +51,7 @@ in home.packages = with pkgs; [ sway-contrib.grimshot # screenshots wdisplays # graphical output manager + gsettings ]; home.sessionVariables = { diff --git a/modules/sway.nix b/modules/sway.nix index c9c0e5c..b234c37 100644 --- a/modules/sway.nix +++ b/modules/sway.nix @@ -26,7 +26,10 @@ lib.mkIf config.jalr.gui.enable { xdg = { portal = { enable = true; - extraPortals = [ pkgs.xdg-desktop-portal-wlr ]; + extraPortals = with pkgs; [ + xdg-desktop-portal-wlr + xdg-desktop-portal-gtk + ]; }; icons.enable = true; }; From 341b31f04f8b203e54d0fba8bf55aa8f0f17ab19 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 15:01:15 +0000 Subject: [PATCH 152/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/f91fd8b00d47727b3a836e333f6726cafad7938b' (2023-11-20) → 'github:NixOS/nixpkgs/dc78a010f44d71536b7546d2ca0d2088c9dcf02d' (2023-11-22) • Updated input 'nur': 'github:nix-community/NUR/97e1eb951068ac7253c3a62fec2f9f9501367805' (2023-11-19) → 'github:nix-community/NUR/0b44c1ac9ae6105b4c57123913fb2a969305c75a' (2023-11-22) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 5f95345..627a450 100644 --- a/flake.lock +++ b/flake.lock @@ -197,11 +197,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1700440423, - "narHash": "sha256-xm0CNsvnOnYfVThu/1RF+RtUFEa5DZjYocNZzCEOP4E=", + "lastModified": 1700665195, + "narHash": "sha256-vMgCfPZjxfmOrWmqfO7x1fgibztMU6ei0WnyqMeBEWQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f91fd8b00d47727b3a836e333f6726cafad7938b", + "rev": "dc78a010f44d71536b7546d2ca0d2088c9dcf02d", "type": "github" }, "original": { @@ -229,11 +229,11 @@ }, "nur": { "locked": { - "lastModified": 1700426639, - "narHash": "sha256-y49IRE7FlD/n7k3xRY1JMRkg6QA+e9WZjh2rFMqzk7o=", + "lastModified": 1700662260, + "narHash": "sha256-mEqx6EyEhDqgIKFKGgsTcaWLzgOeM2NymOX6E+1Rr18=", "owner": "nix-community", "repo": "NUR", - "rev": "97e1eb951068ac7253c3a62fec2f9f9501367805", + "rev": "0b44c1ac9ae6105b4c57123913fb2a969305c75a", "type": "github" }, "original": { From 0b96be4950e36fdea07d620629d0e8540cc05f21 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 24 Nov 2023 19:47:55 +0000 Subject: [PATCH 153/766] Switch to 23.11 --- flake.lock | 16 ++++++++-------- flake.nix | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/flake.lock b/flake.lock index 627a450..7b2687a 100644 --- a/flake.lock +++ b/flake.lock @@ -85,16 +85,16 @@ ] }, "locked": { - "lastModified": 1700392168, - "narHash": "sha256-v5LprEFx3u4+1vmds9K0/i7sHjT0IYGs7u9v54iz/OA=", + "lastModified": 1700814205, + "narHash": "sha256-lWqDPKHRbQfi+zNIivf031BUeyciVOtwCwTjyrhDB5g=", "owner": "nix-community", "repo": "home-manager", - "rev": "28535c3a34d79071f2ccb68671971ce0c0984d7e", + "rev": "aeb2232d7a32530d3448318790534d196bf9427a", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-23.05", + "ref": "release-23.11", "repo": "home-manager", "type": "github" } @@ -213,16 +213,16 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1700403855, - "narHash": "sha256-Q0Uzjik9kUTN9pd/kp52XJi5kletBhy29ctBlAG+III=", + "lastModified": 1700671922, + "narHash": "sha256-XPh/AHD14O+oaztjSb53c3Gh9K1JQHNBOTdn0dvtJpM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0c5678df521e1407884205fe3ce3cf1d7df297db", + "rev": "4784a12198f7434971d5bb8aa6f111acef662ff4", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-23.05", + "ref": "nixos-23.11", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index b693c5f..f350836 100644 --- a/flake.nix +++ b/flake.nix @@ -1,13 +1,13 @@ { inputs = { flake-utils.url = "github:numtide/flake-utils"; - nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11"; nixpkgsMaster.url = "github:NixOS/nixpkgs/master"; nur.url = "github:nix-community/NUR"; home-manager = { - url = "github:nix-community/home-manager/release-23.05"; + url = "github:nix-community/home-manager/release-23.11"; inputs.nixpkgs.follows = "nixpkgs"; }; From d6da8bfd82aa2beeaeafd799f475fce51e307e76 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 24 Nov 2023 20:18:53 +0000 Subject: [PATCH 154/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/4784a12198f7434971d5bb8aa6f111acef662ff4' (2023-11-22) → 'github:nixos/nixpkgs/7f7851dfc570812c305d89438681b715a4f7beba' (2023-11-24) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/dc78a010f44d71536b7546d2ca0d2088c9dcf02d' (2023-11-22) → 'github:NixOS/nixpkgs/0bd59c54ef06bc34eca01e37d689f5e46b3fe2f1' (2023-11-24) • Updated input 'nur': 'github:nix-community/NUR/0b44c1ac9ae6105b4c57123913fb2a969305c75a' (2023-11-22) → 'github:nix-community/NUR/ebf2c68214f10ee5b9372ae4960a7b54af514bd3' (2023-11-24) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 7b2687a..534bfb9 100644 --- a/flake.lock +++ b/flake.lock @@ -197,11 +197,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1700665195, - "narHash": "sha256-vMgCfPZjxfmOrWmqfO7x1fgibztMU6ei0WnyqMeBEWQ=", + "lastModified": 1700856099, + "narHash": "sha256-RnEA7iJ36Ay9jI0WwP+/y4zjEhmeN6Cjs9VOFBH7eVQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dc78a010f44d71536b7546d2ca0d2088c9dcf02d", + "rev": "0bd59c54ef06bc34eca01e37d689f5e46b3fe2f1", "type": "github" }, "original": { @@ -213,11 +213,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1700671922, - "narHash": "sha256-XPh/AHD14O+oaztjSb53c3Gh9K1JQHNBOTdn0dvtJpM=", + "lastModified": 1700787330, + "narHash": "sha256-4VIBCyfqnEsdVP/SgKZ3rudwzxGdEqpKfgoWETs/I6k=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4784a12198f7434971d5bb8aa6f111acef662ff4", + "rev": "7f7851dfc570812c305d89438681b715a4f7beba", "type": "github" }, "original": { @@ -229,11 +229,11 @@ }, "nur": { "locked": { - "lastModified": 1700662260, - "narHash": "sha256-mEqx6EyEhDqgIKFKGgsTcaWLzgOeM2NymOX6E+1Rr18=", + "lastModified": 1700855055, + "narHash": "sha256-QKjcrEntfghcXBsrenDE46OxaF/4YQVStAQfyDOQcPA=", "owner": "nix-community", "repo": "NUR", - "rev": "0b44c1ac9ae6105b4c57123913fb2a969305c75a", + "rev": "ebf2c68214f10ee5b9372ae4960a7b54af514bd3", "type": "github" }, "original": { From c05322770408ae5644ed9824c9f044c14d58cace Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 24 Nov 2023 19:56:10 +0000 Subject: [PATCH 155/766] Apply autoformatting and improve comment --- home-manager/users/jal.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/home-manager/users/jal.nix b/home-manager/users/jal.nix index 180427c..f25f702 100644 --- a/home-manager/users/jal.nix +++ b/home-manager/users/jal.nix @@ -12,7 +12,8 @@ let #"10.96.8.0/24" # Boomi #"10.96.10.0/24" # Boomi (new) "10.96.0.0/16" - "10.170.254.30/32" "10.170.254.40/32" # core DNS resolver + "10.170.254.30/32" # first core DNS resolver + "10.170.254.40/32" # second core DNS resolver ]; vpnc-script = pkgs.writeShellScript "vpnc-script-tb" '' cisco_split_inc="$CISCO_SPLIT_INC" From 07fd4274711737446ff5a954f5f011dd47c4426a Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 24 Nov 2023 19:57:14 +0000 Subject: [PATCH 156/766] Replace exa with eza eza is a maintained fork of exa --- home-manager/modules/cli.nix | 1 + home-manager/modules/fish.nix | 12 ++++++------ home-manager/users/jal.nix | 1 - home-manager/users/jalr.nix | 1 - 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/home-manager/modules/cli.nix b/home-manager/modules/cli.nix index b4eb6dd..62cc97f 100644 --- a/home-manager/modules/cli.nix +++ b/home-manager/modules/cli.nix @@ -2,6 +2,7 @@ { home.packages = with pkgs; [ cached-nix-shell + eza file htop inetutils diff --git a/home-manager/modules/fish.nix b/home-manager/modules/fish.nix index f14154f..59e209b 100644 --- a/home-manager/modules/fish.nix +++ b/home-manager/modules/fish.nix @@ -80,12 +80,12 @@ hm # fancy tools - if which exa > /dev/null 2>&1 - alias l=exa - alias ll='exa -l --time-style=long-iso --git' - alias la='exa -la --time-style=long-iso --git' - alias tree='exa --tree' - alias llt='exa -s modified -l' + if which eza > /dev/null 2>&1 + alias l=eza + alias ll='eza -l --time-style=long-iso --git' + alias la='eza -la --time-style=long-iso --git' + alias tree='eza --tree' + alias llt='eza -s modified -l' else alias l=ls alias ll='ls -l' diff --git a/home-manager/users/jal.nix b/home-manager/users/jal.nix index f25f702..e824fb6 100644 --- a/home-manager/users/jal.nix +++ b/home-manager/users/jal.nix @@ -200,7 +200,6 @@ in bat docker-compose envsubst - exa gnupg nmap psutils diff --git a/home-manager/users/jalr.nix b/home-manager/users/jalr.nix index 3e3cbe6..204a5d1 100644 --- a/home-manager/users/jalr.nix +++ b/home-manager/users/jalr.nix @@ -57,7 +57,6 @@ bat docker-compose envsubst - exa gnupg nmap psutils From 048d474d3f36fca8ec68f2c093108cb21639b020 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 24 Nov 2023 19:59:21 +0000 Subject: [PATCH 157/766] Remove terraform as it is unfree now --- home-manager/modules/default.nix | 1 - home-manager/modules/terraform.nix | 11 ----------- 2 files changed, 12 deletions(-) delete mode 100644 home-manager/modules/terraform.nix diff --git a/home-manager/modules/default.nix b/home-manager/modules/default.nix index b5f38f0..6ff1047 100644 --- a/home-manager/modules/default.nix +++ b/home-manager/modules/default.nix @@ -29,7 +29,6 @@ ./python.nix ./sound ./sway - ./terraform.nix ./tmux.nix ./tor-browser.nix ./vdirsyncer.nix diff --git a/home-manager/modules/terraform.nix b/home-manager/modules/terraform.nix deleted file mode 100644 index 32bcb73..0000000 --- a/home-manager/modules/terraform.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ config, pkgs, ... }: - -{ - home.packages = with pkgs; [ - terraform - ]; - - home.sessionVariables = { - TF_PLUGIN_CACHE_DIR = "$HOME/.local/share/terraform/plugins"; - }; -} From 0033bdc070621621427fe8d995fadc5cfa01c1f4 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 24 Nov 2023 20:22:47 +0000 Subject: [PATCH 158/766] Fix deprecation `fonts.fonts` -> `fonts.packages` --- modules/fonts.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/fonts.nix b/modules/fonts.nix index 656530b..eb2cee0 100644 --- a/modules/fonts.nix +++ b/modules/fonts.nix @@ -2,7 +2,7 @@ { console.font = "Lat2-Terminus16"; - fonts.fonts = with pkgs; lib.mkIf config.jalr.gui.enable [ + fonts.packages = with pkgs; lib.mkIf config.jalr.gui.enable [ (nerdfonts.override { fonts = [ "Iosevka" ]; }) font-awesome powerline-fonts From 578ed7297c28218bff2eea83f8ec1da1da7f03ef Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 24 Nov 2023 20:23:52 +0000 Subject: [PATCH 159/766] Format file --- hosts/hafnium/configuration.nix | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/hosts/hafnium/configuration.nix b/hosts/hafnium/configuration.nix index e521d81..497a095 100644 --- a/hosts/hafnium/configuration.nix +++ b/hosts/hafnium/configuration.nix @@ -112,12 +112,13 @@ in }; }; - services.dnsmasq.settings.server = lib.lists.flatten ( - map (domain: (map (srv: "/${domain}/${srv}") tradebyteDnsServers)) [ - "vpce-0c1c169d1e33a1c2f-yugtdam1.s3.eu-central-1.vpce.amazonaws.com" - "ccs.tradebyte.com" - "instance.tradebyte.com" - ]) ++ [ + services.dnsmasq.settings.server = lib.lists.flatten + ( + map (domain: (map (srv: "/${domain}/${srv}") tradebyteDnsServers)) [ + "vpce-0c1c169d1e33a1c2f-yugtdam1.s3.eu-central-1.vpce.amazonaws.com" + "ccs.tradebyte.com" + "instance.tradebyte.com" + ]) ++ [ "/internal.production.core.tradebyte.com/10.158.224.2" "/internal.development.core.tradebyte.com/10.170.254.30" "/rds.amazonaws.com/9.9.9.9" From 5085ca8cd16cdfc920524412a87175a224cb4885 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 14:29:19 +0000 Subject: [PATCH 160/766] Add workaround to hide title bar --- home-manager/modules/sway/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/home-manager/modules/sway/default.nix b/home-manager/modules/sway/default.nix index 4370b6d..3b51e61 100644 --- a/home-manager/modules/sway/default.nix +++ b/home-manager/modules/sway/default.nix @@ -297,12 +297,17 @@ in fonts = { names = [ "monospace" ]; style = "Regular"; - size = 10.0; + size = 0.0; }; }; extraConfig = '' include ~/.config/sway/theme + + # Hide title bar, see https://github.com/swaywm/sway/issues/6946 + titlebar_border_thickness 0 + titlebar_padding 1 + # Cursor seat seat0 xcursor_theme Adwaita '' + ( From 3d32df31cf4e7643a20a30e49702d67e54f4bfbd Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 24 Nov 2023 20:24:07 +0000 Subject: [PATCH 161/766] Increment system.stateVersion --- hosts/cadmium/configuration.nix | 2 +- hosts/hafnium/configuration.nix | 2 +- hosts/iron/configuration.nix | 2 +- hosts/jalr-t520/configuration.nix | 2 +- hosts/magnesium/configuration.nix | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/hosts/cadmium/configuration.nix b/hosts/cadmium/configuration.nix index 0024313..eb39348 100644 --- a/hosts/cadmium/configuration.nix +++ b/hosts/cadmium/configuration.nix @@ -64,6 +64,6 @@ # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "22.05"; # Did you read the comment? + system.stateVersion = "23.11"; # Did you read the comment? } diff --git a/hosts/hafnium/configuration.nix b/hosts/hafnium/configuration.nix index 497a095..31afa72 100644 --- a/hosts/hafnium/configuration.nix +++ b/hosts/hafnium/configuration.nix @@ -141,7 +141,7 @@ in # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "22.05"; # Did you read the comment? + system.stateVersion = "23.11"; # Did you read the comment? } diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index 14ba407..f670b0b 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -36,7 +36,7 @@ with lib; { ./services ]; config = { - system.stateVersion = "22.11"; + system.stateVersion = "23.11"; security.sudo.wheelNeedsPassword = false; diff --git a/hosts/jalr-t520/configuration.nix b/hosts/jalr-t520/configuration.nix index 48be9b1..f34a5fc 100644 --- a/hosts/jalr-t520/configuration.nix +++ b/hosts/jalr-t520/configuration.nix @@ -57,6 +57,6 @@ # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "22.05"; # Did you read the comment? + system.stateVersion = "23.11"; # Did you read the comment? } diff --git a/hosts/magnesium/configuration.nix b/hosts/magnesium/configuration.nix index 04e23d4..1bbbf96 100644 --- a/hosts/magnesium/configuration.nix +++ b/hosts/magnesium/configuration.nix @@ -54,7 +54,7 @@ # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "23.05"; # Did you read the comment? + system.stateVersion = "23.11"; # Did you read the comment? } From 32fdc2e948a6701c5308503996bcb0221d68b5cf Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 24 Nov 2023 21:26:54 +0000 Subject: [PATCH 162/766] Enable RTC trimming --- hosts/iron/services/ntp.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/iron/services/ntp.nix b/hosts/iron/services/ntp.nix index da22f86..edf7dbf 100644 --- a/hosts/iron/services/ntp.nix +++ b/hosts/iron/services/ntp.nix @@ -5,9 +5,9 @@ extraConfig = '' allow 192.168.42.0/24 allow 10.20.0.0/22 - rtcsync leapsectz right/UTC ''; + enableRTCTrimming = true; }; networking.firewall.allowedUDPPorts = [ 123 ]; } From 7bdd4652041bf72997532fcea41fd1ee165e2208 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 24 Nov 2023 21:36:01 +0000 Subject: [PATCH 163/766] Don't use a specific python3 version --- home-manager/modules/neovim.nix | 4 ++-- home-manager/modules/python.nix | 6 +++--- home-manager/modules/sway/move-to-output/default.nix | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/home-manager/modules/neovim.nix b/home-manager/modules/neovim.nix index 033b270..09b05a3 100644 --- a/home-manager/modules/neovim.nix +++ b/home-manager/modules/neovim.nix @@ -112,14 +112,14 @@ # Python pylsp = { - cmd = [ "${pkgs.python310Packages.python-lsp-server}/bin/pylsp" ]; + cmd = [ "${pkgs.python3Packages.python-lsp-server}/bin/pylsp" ]; settings = { # https://github.com/python-lsp/python-lsp-server/blob/develop/CONFIGURATION.md pylsp = { plugins = { flake8 = { enabled = true; - executable = "${pkgs.python310Packages.flake8}/bin/flake8"; + executable = "${pkgs.python3Packages.flake8}/bin/flake8"; }; jedi_completion = { enabled = true; }; jedi_definition = { enabled = true; }; diff --git a/home-manager/modules/python.nix b/home-manager/modules/python.nix index 9dbf3e2..9a620b3 100644 --- a/home-manager/modules/python.nix +++ b/home-manager/modules/python.nix @@ -1,8 +1,8 @@ { nixosConfig, lib, pkgs, ... }: lib.mkIf nixosConfig.jalr.workstation.enable { home.packages = with pkgs; [ - python310 - python310Packages.virtualenv - python310Packages.ipython + python3 + python3Packages.virtualenv + python3Packages.ipython ]; } diff --git a/home-manager/modules/sway/move-to-output/default.nix b/home-manager/modules/sway/move-to-output/default.nix index a85a425..4c3fa5e 100644 --- a/home-manager/modules/sway/move-to-output/default.nix +++ b/home-manager/modules/sway/move-to-output/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { chmod +x $out/bin/move-to-output ''; script = '' - #!${pkgs.python310}/bin/python + #!${pkgs.python3}/bin/python import sys import json import subprocess From 5dee814f1ba00c7d1fc08d809b3a501b77f53b33 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 24 Nov 2023 21:40:52 +0000 Subject: [PATCH 164/766] Add filebitch dataset --- hosts/iron/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index f670b0b..75bba3f 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -12,6 +12,7 @@ let devNodes = "/dev/disk/by-id/"; datasets = { "bpool/nixos/root" = "/boot"; + "rpool/filebitch" = "/filebitch"; "rpool/navidrome" = "/var/lib/private/navidrome"; "rpool/navidrome/music" = "/var/lib/private/navidrome/music"; "rpool/nixos/home" = "/home"; From 8e15e71e2fec2aad44e7a87356fcb02c4cef1031 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 25 Nov 2023 03:43:31 +0000 Subject: [PATCH 165/766] Add virtual PDF printer --- modules/printers/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/printers/default.nix b/modules/printers/default.nix index a29723f..8692599 100644 --- a/modules/printers/default.nix +++ b/modules/printers/default.nix @@ -1,7 +1,12 @@ +{ config, lib, ... }: + { imports = [ ./hl3172cdw.nix ./p-touch_p700.nix ]; + config = lib.mkIf config.jalr.gui.enable { + # install virtual pdf printer + services.printing.cups-pdf.enable = true; + }; } - From 58954413642d4355d813b7d9018128413bb07175 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 25 Nov 2023 03:43:51 +0000 Subject: [PATCH 166/766] Add remarkable tools --- home-manager/modules/default.nix | 1 + home-manager/modules/remarkable/default.nix | 8 ++++++ home-manager/modules/remarkable/restream.nix | 7 +++++ home-manager/modules/remarkable/rmview.nix | 28 ++++++++++++++++++++ modules/default.nix | 1 + modules/remarkable.nix | 20 ++++++++++++++ 6 files changed, 65 insertions(+) create mode 100644 home-manager/modules/remarkable/default.nix create mode 100644 home-manager/modules/remarkable/restream.nix create mode 100644 home-manager/modules/remarkable/rmview.nix create mode 100644 modules/remarkable.nix diff --git a/home-manager/modules/default.nix b/home-manager/modules/default.nix index 6ff1047..9c59a4b 100644 --- a/home-manager/modules/default.nix +++ b/home-manager/modules/default.nix @@ -27,6 +27,7 @@ ./pass.nix ./pcmanfm.nix ./python.nix + ./remarkable ./sound ./sway ./tmux.nix diff --git a/home-manager/modules/remarkable/default.nix b/home-manager/modules/remarkable/default.nix new file mode 100644 index 0000000..73bffe8 --- /dev/null +++ b/home-manager/modules/remarkable/default.nix @@ -0,0 +1,8 @@ +{ nixosConfig, lib, ... }: + +{ + imports = lib.optionals nixosConfig.jalr.gui.enable [ + ./restream.nix + ./rmview.nix + ]; +} diff --git a/home-manager/modules/remarkable/restream.nix b/home-manager/modules/remarkable/restream.nix new file mode 100644 index 0000000..f2725f8 --- /dev/null +++ b/home-manager/modules/remarkable/restream.nix @@ -0,0 +1,7 @@ +{ nixosConfig, lib, pkgs, ... }: + +{ + home.packages = with pkgs; [ + restream + ]; +} diff --git a/home-manager/modules/remarkable/rmview.nix b/home-manager/modules/remarkable/rmview.nix new file mode 100644 index 0000000..20dbcad --- /dev/null +++ b/home-manager/modules/remarkable/rmview.nix @@ -0,0 +1,28 @@ +{ nixosConfig, lib, pkgs, ... }: + +let + config = { + ssh = { + address = "remarkable"; + auth_method = "key"; + key = "~/.ssh/id_rsa"; + }; + orientation = "auto"; + pen_size = 15; + pen_color = "red"; + pen_trail = 200; + }; +in +{ + home.packages = with pkgs; [ + ( + pkgs.writeShellScriptBin "rmview" '' + export QT_QPA_PLATFORM=xcb + exec ${pkgs.rmview}/bin/rmview + '' + ) + ]; + xdg.configFile."rmview.json" = { + text = lib.generators.toJSON { } config; + }; +} diff --git a/modules/default.nix b/modules/default.nix index 567bfcb..4943eba 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -29,6 +29,7 @@ ./podman.nix ./printers ./qbittorrent + ./remarkable.nix ./sdr.nix ./sshd.nix ./sudo.nix diff --git a/modules/remarkable.nix b/modules/remarkable.nix new file mode 100644 index 0000000..61845d1 --- /dev/null +++ b/modules/remarkable.nix @@ -0,0 +1,20 @@ +{ config, lib, ... }: +lib.mkIf config.jalr.gui.enable { + # allow port for reMarkable screen sharing + networking.firewall.allowedUDPPorts = [ 5901 ]; + + #services.printing.cups-pdf.instances.remarkable = { + # settings.Out = "socket://remarkable" + #}; + + hardware.printers.ensurePrinters = [ + { + name = "remarkable"; + description = "reMarkable virtual printer"; + deviceUri = "socket://remarkable"; + #location = "/var/spool/cups-pdf-pdf/users/\${USER}"; + model = "CUPS-PDF_opt.ppd"; + ppdOptions = { }; + } + ]; +} From e4cbda4cd965bc7d1d5696b615f3a4439baf2121 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 16 Nov 2023 01:31:09 +0000 Subject: [PATCH 167/766] Add rmfakecloud --- hosts/iron/ports.nix | 1 + hosts/iron/secrets.yaml | 5 ++-- hosts/iron/services/default.nix | 1 + hosts/iron/services/remarkable.nix | 46 ++++++++++++++++++++++++++++++ 4 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 hosts/iron/services/remarkable.nix diff --git a/hosts/iron/ports.nix b/hosts/iron/ports.nix index 64a0a26..4eac1eb 100644 --- a/hosts/iron/ports.nix +++ b/hosts/iron/ports.nix @@ -11,6 +11,7 @@ custom-utils.validatePortAttrset { qbittorrent-torrent.tcp = 59832; qbittorrent-webui.tcp = 8099; radicale.tcp = 5232; + rmfakecloud.tcp = 3000; unifi.tcp = 8443; wireguard-public-ip-tunnel.udp = 51000; } diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index ebac9c7..c0cad33 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -8,6 +8,7 @@ dkim-keys: jalr.de.default: ENC[AES256_GCM,data:mnApsYKXYGtUAHddccmNmU9yZQtekDkTiTXbJ0UJxC0rFxzQCtGsinQslIROJdNUxsxciR1ilNzxawzjJD7AaWJbcAq2TYObGJJOQZBif7t/XEN/rIxEmnAFmdeAyrSONmFb9DiEn59m6DpsU+/9Y+hnc/uwwbzueO34WHJnTqmmsxFVNQZfGR+cbSckHS3wZrfjZSKKzCRt+9DU/xxJ4voyowXLO77w00LHVkyU5liwONi0v2XJ+QeP/jIMmJeKjujZcH+qvUm/kukijqyWKGrZoAYPC2cBlL/UrNECuVdSLMXvr4KBDDTCRZCSMRgUPJ0TAfpQPTPitKJ/0igK7qQl9n/6hckY7VyP8KDS7J7G2Z2XVxfZrAR4X/7ya9B2kneVr2CNx3w954EdTcV1/lD7rcKRjKynyl3ddf8gxJFJ21k1ybo2RLnftGCRVq25qNwhyfjU8x5c7AEs+YTPDrcnmxZ/Ui276eLwpMj61oZzTp8QQhiBVwS/+ruRLC+78pu2gb1gBF/Oo3nuvQD1SOpCRikLVewCYDvfXj/hrjo+oCsjTOj+9tWRcRAEDVlhkXWCMuPXDYrdt3HrIWbQuP8NW1ezd1Ll0r1ujjtPJeSwdd8cVcUSBIoA5gU+eXnYjFaSx9BZ+sIfKqG//W3S+aBYDqAEK/z4N5q66sReb5mtSQYfbZuIZDmox9bwNMG3tJmQX0lJZgEIiuJ5/ef4ra0sj9JsRFldmIn9KUmjW9OlIwzQ42cNNvQSMD/6haNiYsE6TPzVylJ/B2kNu9Qh5FfpCIPtVORv2BAGoNvZlyhjyEiXBEZ4x2hx1l5cBwGOaGhoJ0p+1wqn2zDalIBaEFjbBVdIB6DPC6/lccvpqSwF7HvW2ugyYhW+u92vgic71/BsI4i0OlsJV18gU/zVg0Yj8SK69kEwm4wkJTrkM/I4+kkUIc5OiSAknRfjOFJc0etkh3nO34xpHLOkSv9DrKfXSAGmGZtCLtVL5LGdZeCd/g6EK0JJh6bd9Gu9koSJVq5vjdDJJFf+sgk39TCvHAvk8k1/FgdK5jMJ+pR8heJtP8G96ay3DFVm5hpbjuNKqfBvbf2rkyV6++ywRFnAQGPUiMn9g6Q4F5Ks7CC1D0Ubl7b3dCUk6BDi8rHjxy9QS0/25Yz9cF0bFd6XQDfblnyRLMi9aB36M9Vp38Oh5aB16MyvNUHzcxpaAak0yknE6OuuEMBPQZgFVADCITfy9eUXl2FoXrMWEnBO78GybQ+cV8nhynn5t0U+3koMy2E8ju5kiEofQxXylys3Q76iKRRUbQqFkh/ndWtJVVfGNpi1GrUr1w1YZM0hBY9FqqeBjf7ckj+9BdiwWJ0XauuR70o7odm02mydk1/T3Hfzt3OE5nHIXnVbum9KyPx8wXj9qc6JGFm558pQOcRUgGUi+EzGoGckkoLx4Onl+XeGysW5sXP9dbYgMBug0Tjmdo9xkoBti6znDnN/zh93bbzWITNvxMgVs8zSWEhlM0c7F02UeUXSekbTFue5FOaMdYObMvPeb53jAKBOYLr34GVFvucJhKajIaNzDvfiI6fGCMxcSsWk+P3co7gdbRlWYZELsKDu2scktZsHr/gRwRiDZXAWOLiWZL4jswQ1vXSFXJgdblEV//hr2DwsAtCAsyFcgO/LGq30xi3xNqHTkUZXo6cZYSb6EVaIywMCI5ySEnTLAp/xedySANHuo8yyVqyLxkDPI7CnnSS7JcnQF3K5z+NZ0KnIpc1ewGupOhS0fKj31XxUkoSsHEY/iWJPLNA8+4VsBkADnGdkYXHTvy/yAGV6w1k1qtjiWhDAGcE9/o6NOHctYm3cx8CVsLpve/WFUaCkGgjWJdC8XP92xsUQoE6PENn6ZzFaqGHs7hgQqE1kBcEj8N5WkEqkoMo82giHE33iYoVUdkjOTkV4iDGEqyjg1BoM0GedR2A832LseDkP7u4DjIAQfpIDu7PaeiDh7xWkPRwIMV0oDTakXTdPkPGdgFikzTaxkTzRlpCbQuV769eITqVT04kJDp7+0Rb6dtjeXc0Ennv68wZSiyrlmXbrJntg7g1wrebq28q9NMIZETAPugfK6wNDu/Iw1q1kZn2ELo6xaDlcIxHDcpzK7e2VAYYuP1k3sYnSLU3oeq54j3/yS2z1me5FEqWlPOCrjdnLkE3/GjbeMsYo2YTYJEUEd2ncacSCoXUaUoxpBnjRYcHLRUV+6jy7Amp0/52rAPzSeVlBzc+SdNiKLYA2UQ74WrMU596Gkhw1SD8jSM5QqSBhH9sL+oE4GjhjLhstMUPdkNgiwxXDTZLKcIyjN1cn+RSmvNA2KXMH6MoXrkqSkJ9u2s0QAhla51zR/LZwWbzwGOO0dkh3rwh2x+pcCfuzvlk3lYr/x5XOF2k1n8yvehXY5zIX8nk6djjLbvAzzSr/yalS7R0WYIc6CjzoUl3qz+PlneMfKHcaX00hkOlIub/ZFQf1RE+JzZxi0qQq4M8Nt1XRKGDeS448Z6znDpedStUH29krZcnjMtyLmPX7ETTsjr3HLpCOd7MQ2K1rfhmvh5BtJkn1KSUf94puZbkLH7X+WnWN0hsc+KbSXnYZvqwJ8G0/7ptp/Q+wGljqhjv+HhOeA3NUwANv1xWgbiymVIlxCodXtQwn8mxS+jxSvslGwOnyUkTT76IbFbv/IpW6PNvj/xqwOqey8a/4WCGcqs403Y7TKQ+xCflG6K3tL7U5UbMnMgXTeZvoK+DooS2eIepF2WB5XqTuOZJV2OQ6GHfaBMjXN9iGVNLi6XgkbpmcMLQ4TZq+dVmgleJb14IaTFD3n74OfmbcT9lmRfPRJEpFEMNeL3ghH54P2a91zJFASgE7x+Uv2cGcmKFtMbyc/rrhH1F/Ixlv/R37huFo1T2dPMEZ/1ouuPpbUQ5oz/JlOWw3NOxd0O6oG0x9Xib+9KxSFOusLWcFEgx70jrBQKj8s2Jj+W0gZYv+BJtPMPY0KAkRj1amt4Fd6ZrPOEXJ392EHSAEv5jssO5ba52OHKA+QkYvPPL04rwkxSAQiTl57scnEj2WEIP+Lz0/qsMnwF+3rWuz856doJZcXX+U9iuzBCaYQqA1P3BojAYhEHnXBPeolHOA3BmhT9E2TJsZ6P9SQ+GaqyLm0i4vRXGlArlkLwRBs9EZv/l4DT8q0YHha53O4rhRzGJZKAOO252Dpha1YN7+FubYGAZjaUT5O0R/7xSPrGyBejddtM8asW8+NClAn4Y6xvj1IgUg6VRpEy7ZIpZEQ+UyDWt0A4nsipaz2NyZKZ5Vxza2v1qZDdYODK8nm/zj7fR/JykaNVEVj7ceTSHdaQlajfeEWWTs92msIBcqPUXqlaR005hoVvXm+WCnzIMIXLGiyRKRsAPIDYh2hGCtvfXLSq5TYm3bnGAImL0KW3Yllt1qSqSbOYsvm5QfDmTrrccvtSLGRj0rOU3Z8f4WXjf+1YgxjZ9h8fKL+LKA8x1S6M8fl0JVGBIAU8Xe8c4+r2F1VcygJp7h+0v8o8GudM6in4djAdeMLWBgXid7r0q744joFucP56opwYQp3Lu0oFEo0omS6Rh9yPfOjdGBU2eUdjcCNXXuEJD9yHSyebviSAvDw/KH1AxYSWYnjMWACCfcbOlXf3ej7PuQgq5MdFwF7+QawXm0john4YusUon4/0fqd/IFLd6oHYYesxcFdm1jN6DeS4SAqRgeEPuEWDFERgXjLHBxl5Xdi5n+NOR3Vc7ziJ9j9/CA1DKdwmsFBBDcVKMnr2FibXpN5WsSdlBng0L2zhkL22wRH9xbz8Xk5shN20/EHoxHB5HJvwfOgHIC7ooWKOUUuNTZH43+gVN+wzRzlMfiF4X71Edw+lTnQRp6Lh03M2k9do6JPoX2+UU0h6mOYiAFkhHKzCmK3DY12c4Smx+qLJNbUGhoMgthu/WnXObm0Hr+myCooTYSVNTJx6vVjI3GZtMcat2o8B9k38u/Y5/FxqTYmyXhROwS4v3W5fXwTAaxBqQy6Xj5s4V37omBBh/Z9a43nc2VlT7dKR1wIvNB/gqhiYyYrVMtYMJqGLkeCbu50LUWT4qXyR8uaqbZTVjyJCQRxZd6fd3Zfe9wIeYe3N5qKIXkFD3n1U2Q/EyRfb3TpiA+eYkAtl6JGK0vpeWpN5M2LJ3/V79e3cIG7B7/p6BrRxKxHDnBZcu57KKaN8XM+v2KTz7XdF8bjgeu1V/B9WoBwnpzCM+3s5ffNceuUcb2gJgRAUpZvcSDLYy+9aluGU2Tvsm49fCzr851p3VSEJepgPpnvuq874AX/MbPvqidF8Y21Kss1RUbl5wrlq5IihKdM+xCSq6mjvtSPVHRvw==,iv:2NBiTTW9slOH9BvM+kVbMB/+8EiS/Dc/eaqrtiwn4HY=,tag:0rc2+ZWy9XZYE7RK/oSo3g==,type:str] radicale-htpasswd: ENC[AES256_GCM,data:Q0WnleP9I4xozsL/H+5oV3Ag7khfalV40A6ub+DA07U8UKna3/ju533RmjWOnETzSNa6XK140nfCcfGZCiqGyF9tfuuXcKFu+j4=,iv:87PSvHyKF7QUQZmEuxM+IT0VKSGnS0MjoUmCqJ+6tzI=,tag:yrP3TgxE8aSZf0MrCF9dsQ==,type:str] synapse-turn-shared-secret: ENC[AES256_GCM,data:Q1XRds3Zud1kYkvD6s9WUzP+kNDNsxB5SHd6oCAaLCHhHhYENSAYTZOF+rGjCPNyKFL0e/A=,iv:zScRQrz+pXHNUh/BGOaV+TVnDR3wu1Z/UO1zXarKwtA=,tag:ckpVziE+yb0FjctcT7tAkg==,type:str] +rmfakecloud: ENC[AES256_GCM,data:ktKBKb6cRv1VF8tRvXIpxIy9hPinVPKK05mgvYzz18PEdcrCLpldm5xf7ffHtY5XzDOAMXDCiz6x4xyv7071frrF0spOEPnIzVhxwG8H2Ck=,iv:qJdHjv0RziAs4G9UGeRwGQ4GE5kaObJWpIYWpRKhr9c=,tag:PXgvU1hZK/gvWGyFJaHekg==,type:str] sops: kms: [] gcp_kms: [] @@ -23,8 +24,8 @@ sops: TjdZRldhSzVtMkVoTzY1NjdGbCswRVUK0pi+8UuLqRmytcR2ikxOAM02iccl8P1y ixv0PKPLd+vQ23QeeQy/TfoGx16XttaDUnUrPLZR3TUKtAcld8+m6w== -----END AGE ENCRYPTED FILE----- - lastmodified: "2023-07-10T19:12:08Z" - mac: ENC[AES256_GCM,data:69VwkQHqDho4JMTyqRQSjSFdgKNdo0Vut9xp63FmPi1lD2EuKi78Mzt7tsGnRoilG8CS8LW+FSaSB/ywNJYK4bmkYMB2N0XbgAs3gAf4bzqDsEfR/WRRnhzO5eM7x4dE4hkknzv4R39e2ENzkWzpR5EBf7UUJUGZv9UcXSHGiRo=,iv:vRWo0J0BwTVJCriT0PZyNMTXlOTXnLBLAF0VJnADqcI=,tag:P3C6JaZahUsPG+FqnHmmQg==,type:str] + lastmodified: "2023-11-15T22:26:56Z" + mac: ENC[AES256_GCM,data:cFb5BwiT6WIAuPmYD0wQZLy+DyS7+uZk81aNWDV8stnOdBEBJoiG+jVG585u1Cl3cp2d2TWTlg5lYJSIbk0Rxp3/typg+C31VxTKffTf6iS3r93mAUVsrN51QPn8DIJ7G6Rrf3JCNI+nTJ4LKH472QMd7da6atYb1TmFmLEmWrs=,iv:sqqQz38aThr4M8nxHu/VdvCkbQOZYUzJAtVvnBjNNsU=,tag:HiXOZBjznGrgKo6MjH51FQ==,type:str] pgp: - created_at: "2023-05-02T19:30:42Z" enc: | diff --git a/hosts/iron/services/default.nix b/hosts/iron/services/default.nix index 9a68612..1fb2cfc 100644 --- a/hosts/iron/services/default.nix +++ b/hosts/iron/services/default.nix @@ -10,6 +10,7 @@ ./ntp.nix ./public-ip-tunnel.nix ./radicale.nix + ./remarkable.nix ./sturzbach.nix ./unifi-controller.nix ]; diff --git a/hosts/iron/services/remarkable.nix b/hosts/iron/services/remarkable.nix new file mode 100644 index 0000000..a7b6cad --- /dev/null +++ b/hosts/iron/services/remarkable.nix @@ -0,0 +1,46 @@ +args@{ lib, config, pkgs, custom-utils, ... }: +let + ports = import ../ports.nix args; + domain = "rmfakecloud.jalr.de"; + cfg = config.services.rmfakecloud; + mkEnvironment = (settings: lib.strings.concatLines ( + lib.attrsets.mapAttrsToList (name: value: "export ${name}='${value}'") settings + )); + managementScript = pkgs.writeShellScriptBin "rmfakecloud" '' + [[ $(id -u) == "rmfakecloud" ]] || exec sudo -u rmfakecloud -- "$0" "$@" + set -a + source "${config.sops.secrets.rmfakecloud.path}" + set +a + ${mkEnvironment cfg.extraSettings} + ''; +in +{ + sops.secrets.rmfakecloud = { + sopsFile = ../secrets.yaml; + owner = "root"; + group = "root"; + mode = "0400"; + }; + services.rmfakecloud = { + enable = true; + storageUrl = "https://${domain}"; + port = ports.rmfakecloud.tcp; + # see https://ddvk.github.io/rmfakecloud/install/configuration/ + environmentFile = config.sops.secrets.rmfakecloud.path; + extraSettings = { + RM_TRUST_PROXY = "true"; + DATADIR = "/var/lib/rmfakecloud"; + }; + }; + + services.nginx.virtualHosts."${domain}" = { + enableACME = true; + forceSSL = true; + locations."/" = { + proxyPass = "http://127.0.0.1:${toString cfg.port}/"; + recommendedProxySettings = true; + }; + }; + + environment.systemPackages = [ managementScript ]; +} From 63a2ce64e8bf10277822804dfa986f2fa106303d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Nov 2023 18:05:51 +0000 Subject: [PATCH 168/766] Fix dynamic-colors script fixes UnboundLocalError: local variable 'src' referenced before assignment --- home-manager/modules/dynamic-colors.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/home-manager/modules/dynamic-colors.nix b/home-manager/modules/dynamic-colors.nix index 8526b3a..233497d 100644 --- a/home-manager/modules/dynamic-colors.nix +++ b/home-manager/modules/dynamic-colors.nix @@ -84,10 +84,10 @@ let if target.exists() and target.is_symlink: os.remove(target) - src = { - 'light': entry['light'], - 'dark': entry['dark'], - }[scheme] + src = { + 'light': entry['light'], + 'dark': entry['dark'], + }[scheme] os.symlink(src, target) From 539af9fe5533aaf8c318f2be8dd85a996022faab Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 28 Nov 2023 11:15:51 +0000 Subject: [PATCH 169/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/e558068cba67b23b4fbc5537173dbb43748a17e8' (2023-11-15) → 'github:cachix/pre-commit-hooks.nix/e5ee5c5f3844550c01d2131096c7271cec5e9b78' (2023-11-25) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/7f7851dfc570812c305d89438681b715a4f7beba' (2023-11-24) → 'github:nixos/nixpkgs/070b5cf9f70bc7ef2dfd739a1f7d6c563fe64bd1' (2023-11-27) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/0bd59c54ef06bc34eca01e37d689f5e46b3fe2f1' (2023-11-24) → 'github:NixOS/nixpkgs/dd1493df9538f47a7cc36399c29ec3b5fb5b48f2' (2023-11-28) • Updated input 'nur': 'github:nix-community/NUR/ebf2c68214f10ee5b9372ae4960a7b54af514bd3' (2023-11-24) → 'github:nix-community/NUR/a2f8ce2e744f7d1197118be992caf36f7c39c63f' (2023-11-28) • Updated input 'sops-nix': 'github:Mic92/sops-nix/49a87c6c827ccd21c225531e30745a9a6464775c' (2023-11-19) → 'github:Mic92/sops-nix/b1edbf5c0464b4cced90a3ba6f999e671f0af631' (2023-11-27) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/decdf666c833a325cb4417041a90681499e06a41' (2023-11-18) → 'github:NixOS/nixpkgs/dfb95385d21475da10b63da74ae96d89ab352431' (2023-11-25) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 534bfb9..43ae558 100644 --- a/flake.lock +++ b/flake.lock @@ -133,11 +133,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1700064067, - "narHash": "sha256-1ZWNDzhu8UlVCK7+DUN9dVQfiHX1bv6OQP9VxstY/gs=", + "lastModified": 1700922917, + "narHash": "sha256-ej2fch/T584b5K9sk1UhmZF7W6wEfDHuoUYpFN8dtvM=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "e558068cba67b23b4fbc5537173dbb43748a17e8", + "rev": "e5ee5c5f3844550c01d2131096c7271cec5e9b78", "type": "github" }, "original": { @@ -181,11 +181,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1700342017, - "narHash": "sha256-HaibwlWH5LuqsaibW3sIVjZQtEM/jWtOHX4Nk93abGE=", + "lastModified": 1700905716, + "narHash": "sha256-w1vHn2MbGfdC+CrP3xLZ3scsI06N0iQLU7eTHIVEFGw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "decdf666c833a325cb4417041a90681499e06a41", + "rev": "dfb95385d21475da10b63da74ae96d89ab352431", "type": "github" }, "original": { @@ -197,11 +197,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1700856099, - "narHash": "sha256-RnEA7iJ36Ay9jI0WwP+/y4zjEhmeN6Cjs9VOFBH7eVQ=", + "lastModified": 1701169814, + "narHash": "sha256-JnlK2YhnewouC/zyhVQ60RhmIGgQWWJRaHfZl4wPJ8o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0bd59c54ef06bc34eca01e37d689f5e46b3fe2f1", + "rev": "dd1493df9538f47a7cc36399c29ec3b5fb5b48f2", "type": "github" }, "original": { @@ -213,11 +213,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1700787330, - "narHash": "sha256-4VIBCyfqnEsdVP/SgKZ3rudwzxGdEqpKfgoWETs/I6k=", + "lastModified": 1701058557, + "narHash": "sha256-fux7HlrnoNs93MN0kET4AfiYwg/expoasndRCFeDRyk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7f7851dfc570812c305d89438681b715a4f7beba", + "rev": "070b5cf9f70bc7ef2dfd739a1f7d6c563fe64bd1", "type": "github" }, "original": { @@ -229,11 +229,11 @@ }, "nur": { "locked": { - "lastModified": 1700855055, - "narHash": "sha256-QKjcrEntfghcXBsrenDE46OxaF/4YQVStAQfyDOQcPA=", + "lastModified": 1701163463, + "narHash": "sha256-lDsJkgxKBzUR5+mzv9s19rbGHSxXiBOfGX0lkEdoeZw=", "owner": "nix-community", "repo": "NUR", - "rev": "ebf2c68214f10ee5b9372ae4960a7b54af514bd3", + "rev": "a2f8ce2e744f7d1197118be992caf36f7c39c63f", "type": "github" }, "original": { @@ -263,11 +263,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1700362823, - "narHash": "sha256-/H7XgvrYM0IbkpWkcdfkOH0XyBM5ewSWT1UtaLvOgKY=", + "lastModified": 1701127353, + "narHash": "sha256-qVNX0wOl0b7+I35aRu78xUphOyELh+mtUp1KBx89K1Q=", "owner": "Mic92", "repo": "sops-nix", - "rev": "49a87c6c827ccd21c225531e30745a9a6464775c", + "rev": "b1edbf5c0464b4cced90a3ba6f999e671f0af631", "type": "github" }, "original": { From 6111b2c52083de54b52da9a2c1a45dcdfbfa3382 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 25 Nov 2023 04:14:28 +0000 Subject: [PATCH 170/766] Add comment regarding remarkable_printer --- modules/remarkable.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/remarkable.nix b/modules/remarkable.nix index 61845d1..bce495c 100644 --- a/modules/remarkable.nix +++ b/modules/remarkable.nix @@ -7,6 +7,8 @@ lib.mkIf config.jalr.gui.enable { # settings.Out = "socket://remarkable" #}; + # https://github.com/Evidlo/remarkable_printer needs to be + # installed on the reMarkable hardware.printers.ensurePrinters = [ { name = "remarkable"; From 95f41746aade6e8d37e70980d985972df4097c2b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 25 Nov 2023 05:44:52 +0000 Subject: [PATCH 171/766] Pass arguments to rmview --- home-manager/modules/remarkable/rmview.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/modules/remarkable/rmview.nix b/home-manager/modules/remarkable/rmview.nix index 20dbcad..e87366b 100644 --- a/home-manager/modules/remarkable/rmview.nix +++ b/home-manager/modules/remarkable/rmview.nix @@ -18,7 +18,7 @@ in ( pkgs.writeShellScriptBin "rmview" '' export QT_QPA_PLATFORM=xcb - exec ${pkgs.rmview}/bin/rmview + exec ${pkgs.rmview}/bin/rmview "$@" '' ) ]; From 910a0dd4d384f2c7bcc83b82af7ade02d8bb3ffb Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 30 Nov 2023 16:19:49 +0000 Subject: [PATCH 172/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/070b5cf9f70bc7ef2dfd739a1f7d6c563fe64bd1' (2023-11-27) → 'github:nixos/nixpkgs/50aa30a13c4ab5e7ba282da460a3e3d44e9d0eb3' (2023-11-29) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/dd1493df9538f47a7cc36399c29ec3b5fb5b48f2' (2023-11-28) → 'github:NixOS/nixpkgs/8abf7c04993d786f5561d1c3ce35d0ebbc61ad1d' (2023-11-30) • Updated input 'nur': 'github:nix-community/NUR/a2f8ce2e744f7d1197118be992caf36f7c39c63f' (2023-11-28) → 'github:nix-community/NUR/6b077c8e58ecd06f156a1add6ac0bd88165c9aab' (2023-11-30) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 43ae558..0b7a55d 100644 --- a/flake.lock +++ b/flake.lock @@ -197,11 +197,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1701169814, - "narHash": "sha256-JnlK2YhnewouC/zyhVQ60RhmIGgQWWJRaHfZl4wPJ8o=", + "lastModified": 1701358942, + "narHash": "sha256-WbDNvkhN7YDDXmcYOYKddaD3He9Aj1A8bYTwCanmIFY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dd1493df9538f47a7cc36399c29ec3b5fb5b48f2", + "rev": "8abf7c04993d786f5561d1c3ce35d0ebbc61ad1d", "type": "github" }, "original": { @@ -213,11 +213,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1701058557, - "narHash": "sha256-fux7HlrnoNs93MN0kET4AfiYwg/expoasndRCFeDRyk=", + "lastModified": 1701263465, + "narHash": "sha256-lNXUIlkfyDyp9Ox21hr+wsEf/IBklLvb6bYcyeXbdRc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "070b5cf9f70bc7ef2dfd739a1f7d6c563fe64bd1", + "rev": "50aa30a13c4ab5e7ba282da460a3e3d44e9d0eb3", "type": "github" }, "original": { @@ -229,11 +229,11 @@ }, "nur": { "locked": { - "lastModified": 1701163463, - "narHash": "sha256-lDsJkgxKBzUR5+mzv9s19rbGHSxXiBOfGX0lkEdoeZw=", + "lastModified": 1701359478, + "narHash": "sha256-CsMkvlne20bT1MEBMCupQAasml/ffcjTNp8GO88F1wU=", "owner": "nix-community", "repo": "NUR", - "rev": "a2f8ce2e744f7d1197118be992caf36f7c39c63f", + "rev": "6b077c8e58ecd06f156a1add6ac0bd88165c9aab", "type": "github" }, "original": { From 11a1dc3a2f7ed0fdd19ed811fa7f1e89e7e3c566 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 2 Dec 2023 12:00:01 +0000 Subject: [PATCH 173/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/50aa30a13c4ab5e7ba282da460a3e3d44e9d0eb3' (2023-11-29) → 'github:nixos/nixpkgs/5de0b32be6e85dc1a9404c75131316e4ffbc634c' (2023-12-01) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/8abf7c04993d786f5561d1c3ce35d0ebbc61ad1d' (2023-11-30) → 'github:NixOS/nixpkgs/8626b5c06d264b4d034cb160578b56ea0e09575f' (2023-12-02) • Updated input 'nur': 'github:nix-community/NUR/6b077c8e58ecd06f156a1add6ac0bd88165c9aab' (2023-11-30) → 'github:nix-community/NUR/7f1aa252fe8326024a2c53dcbc044a26e128cd2d' (2023-12-02) • Updated input 'sops-nix': 'github:Mic92/sops-nix/b1edbf5c0464b4cced90a3ba6f999e671f0af631' (2023-11-27) → 'github:Mic92/sops-nix/e19071f9958c8da4f4347d3d78790d97e98ba22f' (2023-12-02) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 0b7a55d..223b0c2 100644 --- a/flake.lock +++ b/flake.lock @@ -197,11 +197,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1701358942, - "narHash": "sha256-WbDNvkhN7YDDXmcYOYKddaD3He9Aj1A8bYTwCanmIFY=", + "lastModified": 1701518281, + "narHash": "sha256-AKG2vXGlxRG8CXyN/vHNFnr9BhcpY7sW9Uw0dseyKqc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8abf7c04993d786f5561d1c3ce35d0ebbc61ad1d", + "rev": "8626b5c06d264b4d034cb160578b56ea0e09575f", "type": "github" }, "original": { @@ -213,11 +213,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1701263465, - "narHash": "sha256-lNXUIlkfyDyp9Ox21hr+wsEf/IBklLvb6bYcyeXbdRc=", + "lastModified": 1701389149, + "narHash": "sha256-rU1suTIEd5DGCaAXKW6yHoCfR1mnYjOXQFOaH7M23js=", "owner": "nixos", "repo": "nixpkgs", - "rev": "50aa30a13c4ab5e7ba282da460a3e3d44e9d0eb3", + "rev": "5de0b32be6e85dc1a9404c75131316e4ffbc634c", "type": "github" }, "original": { @@ -229,11 +229,11 @@ }, "nur": { "locked": { - "lastModified": 1701359478, - "narHash": "sha256-CsMkvlne20bT1MEBMCupQAasml/ffcjTNp8GO88F1wU=", + "lastModified": 1701514473, + "narHash": "sha256-wNITlI7ZVBQRXO7LFe53p9kVltWY21RSukAyjqai1hA=", "owner": "nix-community", "repo": "NUR", - "rev": "6b077c8e58ecd06f156a1add6ac0bd88165c9aab", + "rev": "7f1aa252fe8326024a2c53dcbc044a26e128cd2d", "type": "github" }, "original": { @@ -263,11 +263,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1701127353, - "narHash": "sha256-qVNX0wOl0b7+I35aRu78xUphOyELh+mtUp1KBx89K1Q=", + "lastModified": 1701518298, + "narHash": "sha256-5t8yqKe0oVusV4xgfA+wW58hQJXFMmq0mmaR1gKES+Y=", "owner": "Mic92", "repo": "sops-nix", - "rev": "b1edbf5c0464b4cced90a3ba6f999e671f0af631", + "rev": "e19071f9958c8da4f4347d3d78790d97e98ba22f", "type": "github" }, "original": { From 50322a5f74447bfdac0e8f4e76a1dba8d54c826e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 25 Nov 2023 04:24:00 +0000 Subject: [PATCH 174/766] Remove ipv6 setting The option definition no longer has any effect. --- hosts/aluminium/services/dyndns.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/hosts/aluminium/services/dyndns.nix b/hosts/aluminium/services/dyndns.nix index cfca934..6312727 100644 --- a/hosts/aluminium/services/dyndns.nix +++ b/hosts/aluminium/services/dyndns.nix @@ -11,6 +11,5 @@ username = "nouser"; passwordFile = config.sops.secrets.duckdns-secret.path; domains = [ "jalr-k" ]; - ipv6 = false; }; } From c573c7973644cba3131a8046d07f784d53f9c246 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 25 Nov 2023 04:22:54 +0000 Subject: [PATCH 175/766] Add poetry2nix as it is now maintained out-of-tree --- flake.lock | 83 ++++++++++++++++++++++++++++++++++++++++++++++++ flake.nix | 14 ++++++-- pkgs/default.nix | 1 + 3 files changed, 95 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 223b0c2..1508558 100644 --- a/flake.lock +++ b/flake.lock @@ -122,6 +122,27 @@ "type": "github" } }, + "nix-github-actions": { + "inputs": { + "nixpkgs": [ + "poetry2nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1698974481, + "narHash": "sha256-yPncV9Ohdz1zPZxYHQf47S8S0VrnhV7nNhCawY46hDA=", + "owner": "nix-community", + "repo": "nix-github-actions", + "rev": "4bb5e752616262457bc7ca5882192a564c0472d2", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-github-actions", + "type": "github" + } + }, "nix-pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat", @@ -242,6 +263,32 @@ "type": "github" } }, + "poetry2nix": { + "inputs": { + "flake-utils": [ + "flake-utils" + ], + "nix-github-actions": "nix-github-actions", + "nixpkgs": [ + "nixpkgs" + ], + "systems": "systems_2", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1700836255, + "narHash": "sha256-GMqLhIKOqSG6Rd92d5PjpjGl7f81hHnEcMKc3zhP4nY=", + "owner": "nix-community", + "repo": "poetry2nix", + "rev": "c819fba7902996cac21a27c9090f3f61457e45f3", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "poetry2nix", + "type": "github" + } + }, "root": { "inputs": { "flake-utils": "flake-utils", @@ -252,6 +299,7 @@ "nixpkgs": "nixpkgs_2", "nixpkgsMaster": "nixpkgsMaster", "nur": "nur", + "poetry2nix": "poetry2nix", "sops-nix": "sops-nix" } }, @@ -290,6 +338,41 @@ "repo": "default", "type": "github" } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "id": "systems", + "type": "indirect" + } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "poetry2nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1699786194, + "narHash": "sha256-3h3EH1FXQkIeAuzaWB+nK0XK54uSD46pp+dMD3gAcB4=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "e82f32aa7f06bbbd56d7b12186d555223dc399d1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index f350836..13dd219 100644 --- a/flake.nix +++ b/flake.nix @@ -37,16 +37,24 @@ }; }; + poetry2nix = { + url = "github:nix-community/poetry2nix"; + inputs = { + flake-utils.follows = "flake-utils"; + nixpkgs.follows = "nixpkgs"; + }; + }; }; outputs = { self - , nixpkgs , flake-utils - , krops , gomod2nix , home-manager - , nur + , krops , nix-pre-commit-hooks + , nixpkgs + , nur + , poetry2nix , ... }@inputs: flake-utils.lib.eachSystem [ "x86_64-linux" diff --git a/pkgs/default.nix b/pkgs/default.nix index 1d92bc8..af3d85a 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -3,6 +3,7 @@ final: prev: let inherit (prev) callPackage system; + poetry2nix = callPackage inputs.poetry2nix { }; in { ariang = callPackage ./ariang { }; From feaf2bb53a9ecaebbc893478186e75b789620b0c Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 25 Nov 2023 04:26:20 +0000 Subject: [PATCH 176/766] Fix poetry2nix for myintercom-doorbell --- pkgs/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/default.nix b/pkgs/default.nix index af3d85a..e1b97c1 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -14,7 +14,9 @@ in docker-machine-gitlab = callPackage ./docker-machine-gitlab { }; fpvout = callPackage ./fpvout { }; mute-indicator = callPackage ./mute-indicator { }; - myintercom-doorbell = callPackage ./myintercom-doorbell { }; + myintercom-doorbell = callPackage ./myintercom-doorbell { + inherit poetry2nix; + }; pretix = callPackage ./pretix/pretix.nix { }; pretix-banktool = callPackage ./pretix/pretix-banktool.nix { }; pretix-static = callPackage ./pretix/pretix-static.nix { }; From a83f4f7fd4e947a3eafa511510e13feb52bd2e31 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 25 Nov 2023 04:27:22 +0000 Subject: [PATCH 177/766] Increment system.stateVersion of aluminium --- hosts/aluminium/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/aluminium/configuration.nix b/hosts/aluminium/configuration.nix index 0228b51..f81c9e1 100644 --- a/hosts/aluminium/configuration.nix +++ b/hosts/aluminium/configuration.nix @@ -120,7 +120,7 @@ in # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "22.05"; # Did you read the comment? + system.stateVersion = "23.11"; # Did you read the comment? } From 1c3a6458420b5d03d94eaaa7aa6438a3c1f1f103 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 2 Dec 2023 13:23:47 +0000 Subject: [PATCH 178/766] Fix prefixLength for `heizung` --- hosts/aluminium/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/aluminium/configuration.nix b/hosts/aluminium/configuration.nix index f81c9e1..d5a2d8d 100644 --- a/hosts/aluminium/configuration.nix +++ b/hosts/aluminium/configuration.nix @@ -50,7 +50,7 @@ in }]; heizung.ipv4.addresses = [{ address = "192.168.10.5"; - prefixLength = 24; + prefixLength = 30; }]; enp2s0.useDHCP = false; }; From 34481ab7474a49b177b78b424cb7424d449d7ae6 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 2 Dec 2023 13:24:34 +0000 Subject: [PATCH 179/766] Add network for doorbell --- hosts/aluminium/configuration.nix | 8 ++++++++ hosts/aluminium/services/dnsmasq.nix | 5 +++++ hosts/aluminium/services/doorbell.nix | 2 +- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/hosts/aluminium/configuration.nix b/hosts/aluminium/configuration.nix index d5a2d8d..e95c861 100644 --- a/hosts/aluminium/configuration.nix +++ b/hosts/aluminium/configuration.nix @@ -34,6 +34,10 @@ in id = 11; interface = "enp1s0"; }; + sprechanlage = { + id = 12; + interface = "enp1s0"; + }; }; interfaces = { lechner.ipv4.addresses = [{ @@ -52,6 +56,10 @@ in address = "192.168.10.5"; prefixLength = 30; }]; + sprechanlage.ipv4.addresses = [{ + address = "192.168.10.9"; + prefixLength = 30; + }]; enp2s0.useDHCP = false; }; nat = { diff --git a/hosts/aluminium/services/dnsmasq.nix b/hosts/aluminium/services/dnsmasq.nix index 9040024..7d45fa8 100644 --- a/hosts/aluminium/services/dnsmasq.nix +++ b/hosts/aluminium/services/dnsmasq.nix @@ -10,6 +10,7 @@ in listen-address = [ "192.168.0.1" "192.168.1.1" + "192.168.10.9" ]; interface = "lo"; expand-hosts = true; @@ -17,6 +18,10 @@ in dhcp-range = [ "192.168.0.20,192.168.0.254,4h" "192.168.1.20,192.168.1.254,4h" + "192.168.10.8,static,24h" + ]; + dhcp-host = [ + "AC:CC:8E:40:1C:B9,192.168.10.10,sprechanlage,infinite" ]; cache-size = 10000; dns-forward-max = 1000; diff --git a/hosts/aluminium/services/doorbell.nix b/hosts/aluminium/services/doorbell.nix index 8912a2e..f3fc61a 100644 --- a/hosts/aluminium/services/doorbell.nix +++ b/hosts/aluminium/services/doorbell.nix @@ -10,7 +10,7 @@ in }; services.myintercom-doorbell = { enable = true; - host = "192.168.0.74"; + host = "sprechanlage.lan.kbh.jalr.de"; username = "btxpvt0002"; passwordFile = config.sops.secrets.myintercom-doorbell-password.path; audiosocket = { From 2dfeb3dcaf4bd053334fd1951f796f9829c1f98a Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 2 Dec 2023 17:10:08 +0000 Subject: [PATCH 180/766] Disable audio for doorbell stream --- pkgs/myintercom-doorbell/module.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/myintercom-doorbell/module.nix b/pkgs/myintercom-doorbell/module.nix index 24b09e7..3bb8dc0 100644 --- a/pkgs/myintercom-doorbell/module.nix +++ b/pkgs/myintercom-doorbell/module.nix @@ -5,7 +5,7 @@ let mediamtxConfig = pkgs.writeTextFile { name = "myintercom-doorbell-cam-proxy-config"; text = lib.generators.toJSON { } { - paths.sprechanlage.source = "rtsp://${cfg.username}:__PASSWORD__@${cfg.host}/axis-media/media.amp?videocodec=h264&resolution=1280x720&fps=8"; + paths.sprechanlage.source = "rtsp://${cfg.username}:__PASSWORD__@${cfg.host}/axis-media/media.amp?videocodec=h264&resolution=1280x720&fps=8&audio=0"; protocols = [ "udp" ]; hls = false; rtmp = false; From f0f636d337e18787eef887c8d15094374ce18924 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 2 Dec 2023 17:25:56 +0000 Subject: [PATCH 181/766] Add extra network for doorbell --- hosts/aluminium/ports.nix | 2 +- hosts/aluminium/services/doorbell.nix | 8 +++++--- pkgs/myintercom-doorbell/module.nix | 17 +++++++++-------- .../myintercom_audiosocket.py | 15 +++++++++------ 4 files changed, 24 insertions(+), 18 deletions(-) diff --git a/hosts/aluminium/ports.nix b/hosts/aluminium/ports.nix index baaf25a..a259d6d 100644 --- a/hosts/aluminium/ports.nix +++ b/hosts/aluminium/ports.nix @@ -5,5 +5,5 @@ custom-utils.validatePortAttrset { unifi.tcp = 8443; doorbell-audiosocket.tcp = 9092; doorbell-webrtc.tcp = 8889; - doorbell-webrtc-ice.udp = 8189; + doorbell-webrtc-ice.tcp = 8189; } diff --git a/hosts/aluminium/services/doorbell.nix b/hosts/aluminium/services/doorbell.nix index f3fc61a..e2b7229 100644 --- a/hosts/aluminium/services/doorbell.nix +++ b/hosts/aluminium/services/doorbell.nix @@ -23,9 +23,11 @@ in enable = true; bindAddress = "192.168.0.1"; webrtcPort = ports.doorbell-webrtc.tcp; - webrtcIceUdpPort = ports.doorbell-webrtc-ice.udp; + webrtcIceTcpPort = ports.doorbell-webrtc-ice.tcp; }; }; - networking.firewall.interfaces.lechner.allowedTCPPorts = [ ports.doorbell-webrtc.tcp ]; - networking.firewall.interfaces.lechner.allowedUDPPorts = [ ports.doorbell-webrtc-ice.udp ]; + networking.firewall.interfaces.lechner.allowedTCPPorts = [ + ports.doorbell-webrtc.tcp + ports.doorbell-webrtc-ice.tcp + ]; } diff --git a/pkgs/myintercom-doorbell/module.nix b/pkgs/myintercom-doorbell/module.nix index 3bb8dc0..066b9ca 100644 --- a/pkgs/myintercom-doorbell/module.nix +++ b/pkgs/myintercom-doorbell/module.nix @@ -5,18 +5,18 @@ let mediamtxConfig = pkgs.writeTextFile { name = "myintercom-doorbell-cam-proxy-config"; text = lib.generators.toJSON { } { - paths.sprechanlage.source = "rtsp://${cfg.username}:__PASSWORD__@${cfg.host}/axis-media/media.amp?videocodec=h264&resolution=1280x720&fps=8&audio=0"; - protocols = [ "udp" ]; + paths.sprechanlage = { + source = "rtsp://${cfg.username}:__PASSWORD__@${cfg.host}/axis-media/media.amp?videocodec=h264&resolution=1280x720&fps=8&audio=0"; + rtspTransport = "tcp"; + }; + protocols = [ "tcp" ]; hls = false; rtmp = false; rtsp = false; srt = false; - webrtc = true; - webrtcAddress = "${cfg.cam.bindAddress}:${toString cfg.cam.webrtcPort}"; - - webrtcICEHostNAT1To1IPs = [ cfg.cam.bindAddress ]; - webrtcICEUDPMuxAddress = ":${toString cfg.cam.webrtcIceUdpPort}"; + webrtcAdditionalHosts = [ cfg.cam.bindAddress ]; + webrtcLocalTCPAddress = "${cfg.cam.bindAddress}:${toString cfg.cam.webrtcIceTcpPort}"; }; }; in @@ -35,7 +35,7 @@ in description = "Port the WebRTC service binds to."; default = 8889; }; - webrtcIceUdpPort = mkOption { + webrtcIceTcpPort = mkOption { type = types.port; description = "Port (udp) the WebRTC ICE service binds to."; default = 8189; @@ -128,6 +128,7 @@ in Environment = [ "LISTEN_ADDRESS=${cfg.audiosocket.address}" "LISTEN_PORT=${toString cfg.audiosocket.port}" + "HOST=${cfg.host}" "USERNAME=${cfg.username}" "PASSWORD_FILE=%d/password" ]; diff --git a/pkgs/myintercom-doorbell/myintercom_doorbell/myintercom_audiosocket.py b/pkgs/myintercom-doorbell/myintercom_doorbell/myintercom_audiosocket.py index 6467d24..574dc28 100644 --- a/pkgs/myintercom-doorbell/myintercom_doorbell/myintercom_audiosocket.py +++ b/pkgs/myintercom-doorbell/myintercom_doorbell/myintercom_audiosocket.py @@ -8,7 +8,7 @@ from threading import Thread from .audiosocket import Audiosocket -def open_url(direction, connection, username, password): +def open_url(direction, connection, host, username, password): print(f"start {direction}", flush=True) if direction not in ("transmit", "receive"): raise NotImplementedError @@ -17,7 +17,7 @@ def open_url(direction, connection, username, password): "transmit": ("POST", {"Content-Type": "audio/basic", "Content-Length": "0"}), }[direction] - url = f"http://192.168.0.74/axis-cgi/audio/{direction}.cgi" + url = f"http://{host}/axis-cgi/audio/{direction}.cgi" http = urllib3.PoolManager() @@ -44,18 +44,18 @@ def open_url(direction, connection, username, password): connection.send_bytes(data) -def handle_connection(call, username, password): +def handle_connection(call, host, username, password): print(f"Received connection from {call.peer_addr}") pipe_transmit_in, pipe_transmit_out = Pipe() doorbell_transmit_process = Process( - target=open_url, args=("transmit", pipe_transmit_out, username, password) + target=open_url, args=("transmit", pipe_transmit_out, host, username, password) ) doorbell_transmit_process.start() pipe_receive_in, pipe_receive_out = Pipe() doorbell_receive_process = Process( - target=open_url, args=("receive", pipe_receive_in, username, password) + target=open_url, args=("receive", pipe_receive_in, host, username, password) ) doorbell_receive_process.start() @@ -80,6 +80,7 @@ def main(): audiosocket.prepare_input(inrate=8000, channels=1, ulaw2lin=True) print("Listening for new connections " f"from Asterisk on port {audiosocket.port}") + host = os.environ["HOST"] username = os.environ["USERNAME"] with open(os.environ["PASSWORD_FILE"], "r", encoding="utf-8") as f: @@ -88,7 +89,9 @@ def main(): while True: call = audiosocket.listen() - call_thread = Thread(target=handle_connection, args=(call, username, password)) + call_thread = Thread( + target=handle_connection, args=(call, host, username, password) + ) call_thread.start() call_thread.join() From 673d3d62f1d7413d77302f1d2ff2fe0f51c9996f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 2 Dec 2023 18:22:40 +0000 Subject: [PATCH 182/766] Read IP address from interface --- hosts/aluminium/services/dyndns.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/aluminium/services/dyndns.nix b/hosts/aluminium/services/dyndns.nix index 6312727..ea0e38c 100644 --- a/hosts/aluminium/services/dyndns.nix +++ b/hosts/aluminium/services/dyndns.nix @@ -11,5 +11,6 @@ username = "nouser"; passwordFile = config.sops.secrets.duckdns-secret.path; domains = [ "jalr-k" ]; + use = "if, if=ppp0"; }; } From f1e3b0192205f20b1c6bc0b7bd7375c6b0616bcc Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 4 Dec 2023 20:27:06 +0000 Subject: [PATCH 183/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'flake-utils': 'github:numtide/flake-utils/ff7b65b44d01cf9ba6a71320833626af21126384' (2023-09-12) → 'github:numtide/flake-utils/4022d587cbbfd70fe950c1e2083a02621806a725' (2023-12-04) • Updated input 'gomod2nix': 'github:nix-community/gomod2nix/05c993c9a5bd55a629cd45ed49951557b7e9c61a' (2023-11-14) → 'github:nix-community/gomod2nix/001bbfa22e2adeb87c34c6015e5694e88721cabe' (2023-12-04) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/5de0b32be6e85dc1a9404c75131316e4ffbc634c' (2023-12-01) → 'github:nixos/nixpkgs/933d7dc155096e7575d207be6fb7792bc9f34f6d' (2023-12-02) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/8626b5c06d264b4d034cb160578b56ea0e09575f' (2023-12-02) → 'github:NixOS/nixpkgs/1e72cc2d8af737b3bb4d4af019c5a40b7d4c3b3e' (2023-12-04) • Updated input 'nur': 'github:nix-community/NUR/7f1aa252fe8326024a2c53dcbc044a26e128cd2d' (2023-12-02) → 'github:nix-community/NUR/8ec3b786386a1e76657a3c7409076855e5df5d07' (2023-12-04) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/c819fba7902996cac21a27c9090f3f61457e45f3' (2023-11-24) → 'github:nix-community/poetry2nix/7eaec209686dd2a798fa0a86dc2118f4175abf34' (2023-12-04) • Updated input 'sops-nix': 'github:Mic92/sops-nix/e19071f9958c8da4f4347d3d78790d97e98ba22f' (2023-12-02) → 'github:Mic92/sops-nix/8bca48cb9a12bbd8766f359ad00336924e91b7f7' (2023-12-03) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/dfb95385d21475da10b63da74ae96d89ab352431' (2023-11-25) → 'github:NixOS/nixpkgs/dc01248a9c946953ad4d438b0a626f5c987a93e4' (2023-12-03) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 1508558..c502f69 100644 --- a/flake.lock +++ b/flake.lock @@ -21,11 +21,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1694529238, - "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", "owner": "numtide", "repo": "flake-utils", - "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", "type": "github" }, "original": { @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1699950847, - "narHash": "sha256-xN/yVtqHb7kimHA/WvQFrEG5WS38t0K+A/W+j/WhQWM=", + "lastModified": 1701687253, + "narHash": "sha256-qJCMxIKWXonJODPF2oV7mCd0xu7VYVenTucrY0bizto=", "owner": "nix-community", "repo": "gomod2nix", - "rev": "05c993c9a5bd55a629cd45ed49951557b7e9c61a", + "rev": "001bbfa22e2adeb87c34c6015e5694e88721cabe", "type": "github" }, "original": { @@ -202,11 +202,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1700905716, - "narHash": "sha256-w1vHn2MbGfdC+CrP3xLZ3scsI06N0iQLU7eTHIVEFGw=", + "lastModified": 1701568804, + "narHash": "sha256-iwr1fjOCvlirVL/xNvOTwY9kg3L/F3TC/7yh/QszaPI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dfb95385d21475da10b63da74ae96d89ab352431", + "rev": "dc01248a9c946953ad4d438b0a626f5c987a93e4", "type": "github" }, "original": { @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1701518281, - "narHash": "sha256-AKG2vXGlxRG8CXyN/vHNFnr9BhcpY7sW9Uw0dseyKqc=", + "lastModified": 1701721166, + "narHash": "sha256-3nr3DS/xoUtw4ULu/Dqo2oWqx/HcQHdpwJrVQ+CxYrg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8626b5c06d264b4d034cb160578b56ea0e09575f", + "rev": "1e72cc2d8af737b3bb4d4af019c5a40b7d4c3b3e", "type": "github" }, "original": { @@ -234,11 +234,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1701389149, - "narHash": "sha256-rU1suTIEd5DGCaAXKW6yHoCfR1mnYjOXQFOaH7M23js=", + "lastModified": 1701539137, + "narHash": "sha256-nVO/5QYpf1GwjvtpXhyxx5M3U/WN0MwBro4Lsk+9mL0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5de0b32be6e85dc1a9404c75131316e4ffbc634c", + "rev": "933d7dc155096e7575d207be6fb7792bc9f34f6d", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1701514473, - "narHash": "sha256-wNITlI7ZVBQRXO7LFe53p9kVltWY21RSukAyjqai1hA=", + "lastModified": 1701720980, + "narHash": "sha256-TucjaBbIpbVF/Oyi617hmiShLrsIegmrYLVcNarOCw0=", "owner": "nix-community", "repo": "NUR", - "rev": "7f1aa252fe8326024a2c53dcbc044a26e128cd2d", + "rev": "8ec3b786386a1e76657a3c7409076855e5df5d07", "type": "github" }, "original": { @@ -276,11 +276,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1700836255, - "narHash": "sha256-GMqLhIKOqSG6Rd92d5PjpjGl7f81hHnEcMKc3zhP4nY=", + "lastModified": 1701656099, + "narHash": "sha256-dB4sH2u+6j3B7bOFYrEA2t8L7P5ozw1wdDQbd0DVwmg=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "c819fba7902996cac21a27c9090f3f61457e45f3", + "rev": "7eaec209686dd2a798fa0a86dc2118f4175abf34", "type": "github" }, "original": { @@ -311,11 +311,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1701518298, - "narHash": "sha256-5t8yqKe0oVusV4xgfA+wW58hQJXFMmq0mmaR1gKES+Y=", + "lastModified": 1701572436, + "narHash": "sha256-0anfOQqDend6kSuF8CmOSAZsiAS1nwOsin5VQukh6Q4=", "owner": "Mic92", "repo": "sops-nix", - "rev": "e19071f9958c8da4f4347d3d78790d97e98ba22f", + "rev": "8bca48cb9a12bbd8766f359ad00336924e91b7f7", "type": "github" }, "original": { From 1713c804bc6933845a8661f276536c0a573a5d4c Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 7 Dec 2023 13:51:04 +0000 Subject: [PATCH 184/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/1e72cc2d8af737b3bb4d4af019c5a40b7d4c3b3e' (2023-12-04) → 'github:NixOS/nixpkgs/449c6fb06be60edd4233bb9fe748a0754df185b1' (2023-12-07) • Updated input 'nur': 'github:nix-community/NUR/8ec3b786386a1e76657a3c7409076855e5df5d07' (2023-12-04) → 'github:nix-community/NUR/e84ed059a4145720429f38352b5852b303888733' (2023-12-07) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/7eaec209686dd2a798fa0a86dc2118f4175abf34' (2023-12-04) → 'github:nix-community/poetry2nix/9fc487b32a68473da4bf9573f85b388043c5ecda' (2023-12-06) • Updated input 'sops-nix': 'github:Mic92/sops-nix/8bca48cb9a12bbd8766f359ad00336924e91b7f7' (2023-12-03) → 'github:Mic92/sops-nix/e91ece6d2cf5a0ae729796b8f0dedceab5107c3d' (2023-12-04) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index c502f69..b4ece66 100644 --- a/flake.lock +++ b/flake.lock @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1701721166, - "narHash": "sha256-3nr3DS/xoUtw4ULu/Dqo2oWqx/HcQHdpwJrVQ+CxYrg=", + "lastModified": 1701956834, + "narHash": "sha256-0mdNDnp1yl5rI8IOP8tJSaPzRoOkpExkKS5Mso2QMpk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1e72cc2d8af737b3bb4d4af019c5a40b7d4c3b3e", + "rev": "449c6fb06be60edd4233bb9fe748a0754df185b1", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1701720980, - "narHash": "sha256-TucjaBbIpbVF/Oyi617hmiShLrsIegmrYLVcNarOCw0=", + "lastModified": 1701955519, + "narHash": "sha256-xu2MWIClYrNbXq5rYPEEgVWa7pB64u/KCPMceaZK86c=", "owner": "nix-community", "repo": "NUR", - "rev": "8ec3b786386a1e76657a3c7409076855e5df5d07", + "rev": "e84ed059a4145720429f38352b5852b303888733", "type": "github" }, "original": { @@ -276,11 +276,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1701656099, - "narHash": "sha256-dB4sH2u+6j3B7bOFYrEA2t8L7P5ozw1wdDQbd0DVwmg=", + "lastModified": 1701861752, + "narHash": "sha256-QfrE05P66856b1SMan69NPhjc9e82VtLxBKg3yiQGW8=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "7eaec209686dd2a798fa0a86dc2118f4175abf34", + "rev": "9fc487b32a68473da4bf9573f85b388043c5ecda", "type": "github" }, "original": { @@ -311,11 +311,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1701572436, - "narHash": "sha256-0anfOQqDend6kSuF8CmOSAZsiAS1nwOsin5VQukh6Q4=", + "lastModified": 1701728052, + "narHash": "sha256-7lOMc3PtW5a55vFReBJLLLOnopsoi1W7MkjJ93jPV4E=", "owner": "Mic92", "repo": "sops-nix", - "rev": "8bca48cb9a12bbd8766f359ad00336924e91b7f7", + "rev": "e91ece6d2cf5a0ae729796b8f0dedceab5107c3d", "type": "github" }, "original": { From 303843e3dcb9371e44de56dab7d67fe3fc16a3ac Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 24 Nov 2023 22:59:36 +0000 Subject: [PATCH 185/766] Update pretix and apply fixes for 23.05 Update pretix to v2023.10.0 --- hosts/weinturm-pretix-prod/configuration.nix | 2 +- .../weinturm-pretix-prod/services/pretix.nix | 5 - pkgs/default.nix | 4 +- pkgs/pretix/poetry.lock | 1489 ++++++++--------- .../pretix/pretix-banktool-requirements.patch | 2 +- pkgs/pretix/pretix-banktool.nix | 4 + pkgs/pretix/pretix-static.nix | 4 +- pkgs/pretix/pretix.nix | 5 + pkgs/pretix/pyproject.toml | 6 +- 9 files changed, 721 insertions(+), 800 deletions(-) diff --git a/hosts/weinturm-pretix-prod/configuration.nix b/hosts/weinturm-pretix-prod/configuration.nix index 9a8f0f2..b4c9ba8 100644 --- a/hosts/weinturm-pretix-prod/configuration.nix +++ b/hosts/weinturm-pretix-prod/configuration.nix @@ -51,5 +51,5 @@ uefi.enable = true; }; - system.stateVersion = "22.11"; + system.stateVersion = "23.11"; } diff --git a/hosts/weinturm-pretix-prod/services/pretix.nix b/hosts/weinturm-pretix-prod/services/pretix.nix index dc506f4..191024e 100644 --- a/hosts/weinturm-pretix-prod/services/pretix.nix +++ b/hosts/weinturm-pretix-prod/services/pretix.nix @@ -4,11 +4,6 @@ let ports = import ../ports.nix args; in { - nixpkgs.config.permittedInsecurePackages = [ - "python3.10-requests-2.28.2" - "python3.10-cryptography-40.0.1" - ]; - services.pretix = { enable = true; instanceName = "Weinturm Open Air"; diff --git a/pkgs/default.nix b/pkgs/default.nix index e1b97c1..5384317 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -17,7 +17,9 @@ in myintercom-doorbell = callPackage ./myintercom-doorbell { inherit poetry2nix; }; - pretix = callPackage ./pretix/pretix.nix { }; + pretix = callPackage ./pretix/pretix.nix { + inherit poetry2nix; + }; pretix-banktool = callPackage ./pretix/pretix-banktool.nix { }; pretix-static = callPackage ./pretix/pretix-static.nix { }; tabbed-box-maker = callPackage ./tabbed-box-maker { }; diff --git a/pkgs/pretix/poetry.lock b/pkgs/pretix/poetry.lock index adc5c52..22cd9d9 100644 --- a/pkgs/pretix/poetry.lock +++ b/pkgs/pretix/poetry.lock @@ -1,119 +1,105 @@ -# This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. [[package]] name = "aiohttp" -version = "3.8.6" +version = "3.9.1" description = "Async http client/server framework (asyncio)" -category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "aiohttp-3.8.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:41d55fc043954cddbbd82503d9cc3f4814a40bcef30b3569bc7b5e34130718c1"}, - {file = "aiohttp-3.8.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1d84166673694841d8953f0a8d0c90e1087739d24632fe86b1a08819168b4566"}, - {file = "aiohttp-3.8.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:253bf92b744b3170eb4c4ca2fa58f9c4b87aeb1df42f71d4e78815e6e8b73c9e"}, - {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3fd194939b1f764d6bb05490987bfe104287bbf51b8d862261ccf66f48fb4096"}, - {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c5f938d199a6fdbdc10bbb9447496561c3a9a565b43be564648d81e1102ac22"}, - {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2817b2f66ca82ee699acd90e05c95e79bbf1dc986abb62b61ec8aaf851e81c93"}, - {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0fa375b3d34e71ccccf172cab401cd94a72de7a8cc01847a7b3386204093bb47"}, - {file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9de50a199b7710fa2904be5a4a9b51af587ab24c8e540a7243ab737b45844543"}, - {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e1d8cb0b56b3587c5c01de3bf2f600f186da7e7b5f7353d1bf26a8ddca57f965"}, - {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8e31e9db1bee8b4f407b77fd2507337a0a80665ad7b6c749d08df595d88f1cf5"}, - {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:7bc88fc494b1f0311d67f29fee6fd636606f4697e8cc793a2d912ac5b19aa38d"}, - {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:ec00c3305788e04bf6d29d42e504560e159ccaf0be30c09203b468a6c1ccd3b2"}, - {file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ad1407db8f2f49329729564f71685557157bfa42b48f4b93e53721a16eb813ed"}, - {file = "aiohttp-3.8.6-cp310-cp310-win32.whl", hash = "sha256:ccc360e87341ad47c777f5723f68adbb52b37ab450c8bc3ca9ca1f3e849e5fe2"}, - {file = "aiohttp-3.8.6-cp310-cp310-win_amd64.whl", hash = "sha256:93c15c8e48e5e7b89d5cb4613479d144fda8344e2d886cf694fd36db4cc86865"}, - {file = "aiohttp-3.8.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6e2f9cc8e5328f829f6e1fb74a0a3a939b14e67e80832975e01929e320386b34"}, - {file = "aiohttp-3.8.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e6a00ffcc173e765e200ceefb06399ba09c06db97f401f920513a10c803604ca"}, - {file = "aiohttp-3.8.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:41bdc2ba359032e36c0e9de5a3bd00d6fb7ea558a6ce6b70acedf0da86458321"}, - {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14cd52ccf40006c7a6cd34a0f8663734e5363fd981807173faf3a017e202fec9"}, - {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2d5b785c792802e7b275c420d84f3397668e9d49ab1cb52bd916b3b3ffcf09ad"}, - {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1bed815f3dc3d915c5c1e556c397c8667826fbc1b935d95b0ad680787896a358"}, - {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96603a562b546632441926cd1293cfcb5b69f0b4159e6077f7c7dbdfb686af4d"}, - {file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d76e8b13161a202d14c9584590c4df4d068c9567c99506497bdd67eaedf36403"}, - {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e3f1e3f1a1751bb62b4a1b7f4e435afcdade6c17a4fd9b9d43607cebd242924a"}, - {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:76b36b3124f0223903609944a3c8bf28a599b2cc0ce0be60b45211c8e9be97f8"}, - {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:a2ece4af1f3c967a4390c284797ab595a9f1bc1130ef8b01828915a05a6ae684"}, - {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:16d330b3b9db87c3883e565340d292638a878236418b23cc8b9b11a054aaa887"}, - {file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:42c89579f82e49db436b69c938ab3e1559e5a4409eb8639eb4143989bc390f2f"}, - {file = "aiohttp-3.8.6-cp311-cp311-win32.whl", hash = "sha256:efd2fcf7e7b9d7ab16e6b7d54205beded0a9c8566cb30f09c1abe42b4e22bdcb"}, - {file = "aiohttp-3.8.6-cp311-cp311-win_amd64.whl", hash = "sha256:3b2ab182fc28e7a81f6c70bfbd829045d9480063f5ab06f6e601a3eddbbd49a0"}, - {file = "aiohttp-3.8.6-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:fdee8405931b0615220e5ddf8cd7edd8592c606a8e4ca2a00704883c396e4479"}, - {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d25036d161c4fe2225d1abff2bd52c34ed0b1099f02c208cd34d8c05729882f0"}, - {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d791245a894be071d5ab04bbb4850534261a7d4fd363b094a7b9963e8cdbd31"}, - {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0cccd1de239afa866e4ce5c789b3032442f19c261c7d8a01183fd956b1935349"}, - {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f13f60d78224f0dace220d8ab4ef1dbc37115eeeab8c06804fec11bec2bbd07"}, - {file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a9b5a0606faca4f6cc0d338359d6fa137104c337f489cd135bb7fbdbccb1e39"}, - {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:13da35c9ceb847732bf5c6c5781dcf4780e14392e5d3b3c689f6d22f8e15ae31"}, - {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:4d4cbe4ffa9d05f46a28252efc5941e0462792930caa370a6efaf491f412bc66"}, - {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:229852e147f44da0241954fc6cb910ba074e597f06789c867cb7fb0621e0ba7a"}, - {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:713103a8bdde61d13490adf47171a1039fd880113981e55401a0f7b42c37d071"}, - {file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:45ad816b2c8e3b60b510f30dbd37fe74fd4a772248a52bb021f6fd65dff809b6"}, - {file = "aiohttp-3.8.6-cp36-cp36m-win32.whl", hash = "sha256:2b8d4e166e600dcfbff51919c7a3789ff6ca8b3ecce16e1d9c96d95dd569eb4c"}, - {file = "aiohttp-3.8.6-cp36-cp36m-win_amd64.whl", hash = "sha256:0912ed87fee967940aacc5306d3aa8ba3a459fcd12add0b407081fbefc931e53"}, - {file = "aiohttp-3.8.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e2a988a0c673c2e12084f5e6ba3392d76c75ddb8ebc6c7e9ead68248101cd446"}, - {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebf3fd9f141700b510d4b190094db0ce37ac6361a6806c153c161dc6c041ccda"}, - {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3161ce82ab85acd267c8f4b14aa226047a6bee1e4e6adb74b798bd42c6ae1f80"}, - {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d95fc1bf33a9a81469aa760617b5971331cdd74370d1214f0b3109272c0e1e3c"}, - {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c43ecfef7deaf0617cee936836518e7424ee12cb709883f2c9a1adda63cc460"}, - {file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca80e1b90a05a4f476547f904992ae81eda5c2c85c66ee4195bb8f9c5fb47f28"}, - {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:90c72ebb7cb3a08a7f40061079817133f502a160561d0675b0a6adf231382c92"}, - {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:bb54c54510e47a8c7c8e63454a6acc817519337b2b78606c4e840871a3e15349"}, - {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:de6a1c9f6803b90e20869e6b99c2c18cef5cc691363954c93cb9adeb26d9f3ae"}, - {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:a3628b6c7b880b181a3ae0a0683698513874df63783fd89de99b7b7539e3e8a8"}, - {file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:fc37e9aef10a696a5a4474802930079ccfc14d9f9c10b4662169671ff034b7df"}, - {file = "aiohttp-3.8.6-cp37-cp37m-win32.whl", hash = "sha256:f8ef51e459eb2ad8e7a66c1d6440c808485840ad55ecc3cafefadea47d1b1ba2"}, - {file = "aiohttp-3.8.6-cp37-cp37m-win_amd64.whl", hash = "sha256:b2fe42e523be344124c6c8ef32a011444e869dc5f883c591ed87f84339de5976"}, - {file = "aiohttp-3.8.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:9e2ee0ac5a1f5c7dd3197de309adfb99ac4617ff02b0603fd1e65b07dc772e4b"}, - {file = "aiohttp-3.8.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:01770d8c04bd8db568abb636c1fdd4f7140b284b8b3e0b4584f070180c1e5c62"}, - {file = "aiohttp-3.8.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3c68330a59506254b556b99a91857428cab98b2f84061260a67865f7f52899f5"}, - {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89341b2c19fb5eac30c341133ae2cc3544d40d9b1892749cdd25892bbc6ac951"}, - {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71783b0b6455ac8f34b5ec99d83e686892c50498d5d00b8e56d47f41b38fbe04"}, - {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f628dbf3c91e12f4d6c8b3f092069567d8eb17814aebba3d7d60c149391aee3a"}, - {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b04691bc6601ef47c88f0255043df6f570ada1a9ebef99c34bd0b72866c217ae"}, - {file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ee912f7e78287516df155f69da575a0ba33b02dd7c1d6614dbc9463f43066e3"}, - {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9c19b26acdd08dd239e0d3669a3dddafd600902e37881f13fbd8a53943079dbc"}, - {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:99c5ac4ad492b4a19fc132306cd57075c28446ec2ed970973bbf036bcda1bcc6"}, - {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:f0f03211fd14a6a0aed2997d4b1c013d49fb7b50eeb9ffdf5e51f23cfe2c77fa"}, - {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:8d399dade330c53b4106160f75f55407e9ae7505263ea86f2ccca6bfcbdb4921"}, - {file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ec4fd86658c6a8964d75426517dc01cbf840bbf32d055ce64a9e63a40fd7b771"}, - {file = "aiohttp-3.8.6-cp38-cp38-win32.whl", hash = "sha256:33164093be11fcef3ce2571a0dccd9041c9a93fa3bde86569d7b03120d276c6f"}, - {file = "aiohttp-3.8.6-cp38-cp38-win_amd64.whl", hash = "sha256:bdf70bfe5a1414ba9afb9d49f0c912dc524cf60141102f3a11143ba3d291870f"}, - {file = "aiohttp-3.8.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d52d5dc7c6682b720280f9d9db41d36ebe4791622c842e258c9206232251ab2b"}, - {file = "aiohttp-3.8.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4ac39027011414dbd3d87f7edb31680e1f430834c8cef029f11c66dad0670aa5"}, - {file = "aiohttp-3.8.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3f5c7ce535a1d2429a634310e308fb7d718905487257060e5d4598e29dc17f0b"}, - {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b30e963f9e0d52c28f284d554a9469af073030030cef8693106d918b2ca92f54"}, - {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:918810ef188f84152af6b938254911055a72e0f935b5fbc4c1a4ed0b0584aed1"}, - {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:002f23e6ea8d3dd8d149e569fd580c999232b5fbc601c48d55398fbc2e582e8c"}, - {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4fcf3eabd3fd1a5e6092d1242295fa37d0354b2eb2077e6eb670accad78e40e1"}, - {file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:255ba9d6d5ff1a382bb9a578cd563605aa69bec845680e21c44afc2670607a95"}, - {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d67f8baed00870aa390ea2590798766256f31dc5ed3ecc737debb6e97e2ede78"}, - {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:86f20cee0f0a317c76573b627b954c412ea766d6ada1a9fcf1b805763ae7feeb"}, - {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:39a312d0e991690ccc1a61f1e9e42daa519dcc34ad03eb6f826d94c1190190dd"}, - {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:e827d48cf802de06d9c935088c2924e3c7e7533377d66b6f31ed175c1620e05e"}, - {file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bd111d7fc5591ddf377a408ed9067045259ff2770f37e2d94e6478d0f3fc0c17"}, - {file = "aiohttp-3.8.6-cp39-cp39-win32.whl", hash = "sha256:caf486ac1e689dda3502567eb89ffe02876546599bbf915ec94b1fa424eeffd4"}, - {file = "aiohttp-3.8.6-cp39-cp39-win_amd64.whl", hash = "sha256:3f0e27e5b733803333bb2371249f41cf42bae8884863e8e8965ec69bebe53132"}, - {file = "aiohttp-3.8.6.tar.gz", hash = "sha256:b0cf2a4501bff9330a8a5248b4ce951851e415bdcce9dc158e76cfd55e15085c"}, + {file = "aiohttp-3.9.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e1f80197f8b0b846a8d5cf7b7ec6084493950d0882cc5537fb7b96a69e3c8590"}, + {file = "aiohttp-3.9.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c72444d17777865734aa1a4d167794c34b63e5883abb90356a0364a28904e6c0"}, + {file = "aiohttp-3.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9b05d5cbe9dafcdc733262c3a99ccf63d2f7ce02543620d2bd8db4d4f7a22f83"}, + {file = "aiohttp-3.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c4fa235d534b3547184831c624c0b7c1e262cd1de847d95085ec94c16fddcd5"}, + {file = "aiohttp-3.9.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:289ba9ae8e88d0ba16062ecf02dd730b34186ea3b1e7489046fc338bdc3361c4"}, + {file = "aiohttp-3.9.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bff7e2811814fa2271be95ab6e84c9436d027a0e59665de60edf44e529a42c1f"}, + {file = "aiohttp-3.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81b77f868814346662c96ab36b875d7814ebf82340d3284a31681085c051320f"}, + {file = "aiohttp-3.9.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b9c7426923bb7bd66d409da46c41e3fb40f5caf679da624439b9eba92043fa6"}, + {file = "aiohttp-3.9.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:8d44e7bf06b0c0a70a20f9100af9fcfd7f6d9d3913e37754c12d424179b4e48f"}, + {file = "aiohttp-3.9.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:22698f01ff5653fe66d16ffb7658f582a0ac084d7da1323e39fd9eab326a1f26"}, + {file = "aiohttp-3.9.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:ca7ca5abfbfe8d39e653870fbe8d7710be7a857f8a8386fc9de1aae2e02ce7e4"}, + {file = "aiohttp-3.9.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:8d7f98fde213f74561be1d6d3fa353656197f75d4edfbb3d94c9eb9b0fc47f5d"}, + {file = "aiohttp-3.9.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5216b6082c624b55cfe79af5d538e499cd5f5b976820eac31951fb4325974501"}, + {file = "aiohttp-3.9.1-cp310-cp310-win32.whl", hash = "sha256:0e7ba7ff228c0d9a2cd66194e90f2bca6e0abca810b786901a569c0de082f489"}, + {file = "aiohttp-3.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:c7e939f1ae428a86e4abbb9a7c4732bf4706048818dfd979e5e2839ce0159f23"}, + {file = "aiohttp-3.9.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:df9cf74b9bc03d586fc53ba470828d7b77ce51b0582d1d0b5b2fb673c0baa32d"}, + {file = "aiohttp-3.9.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ecca113f19d5e74048c001934045a2b9368d77b0b17691d905af18bd1c21275e"}, + {file = "aiohttp-3.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8cef8710fb849d97c533f259103f09bac167a008d7131d7b2b0e3a33269185c0"}, + {file = "aiohttp-3.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bea94403a21eb94c93386d559bce297381609153e418a3ffc7d6bf772f59cc35"}, + {file = "aiohttp-3.9.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91c742ca59045dce7ba76cab6e223e41d2c70d79e82c284a96411f8645e2afff"}, + {file = "aiohttp-3.9.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6c93b7c2e52061f0925c3382d5cb8980e40f91c989563d3d32ca280069fd6a87"}, + {file = "aiohttp-3.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee2527134f95e106cc1653e9ac78846f3a2ec1004cf20ef4e02038035a74544d"}, + {file = "aiohttp-3.9.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11ff168d752cb41e8492817e10fb4f85828f6a0142b9726a30c27c35a1835f01"}, + {file = "aiohttp-3.9.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b8c3a67eb87394386847d188996920f33b01b32155f0a94f36ca0e0c635bf3e3"}, + {file = "aiohttp-3.9.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c7b5d5d64e2a14e35a9240b33b89389e0035e6de8dbb7ffa50d10d8b65c57449"}, + {file = "aiohttp-3.9.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:69985d50a2b6f709412d944ffb2e97d0be154ea90600b7a921f95a87d6f108a2"}, + {file = "aiohttp-3.9.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:c9110c06eaaac7e1f5562caf481f18ccf8f6fdf4c3323feab28a93d34cc646bd"}, + {file = "aiohttp-3.9.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d737e69d193dac7296365a6dcb73bbbf53bb760ab25a3727716bbd42022e8d7a"}, + {file = "aiohttp-3.9.1-cp311-cp311-win32.whl", hash = "sha256:4ee8caa925aebc1e64e98432d78ea8de67b2272252b0a931d2ac3bd876ad5544"}, + {file = "aiohttp-3.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:a34086c5cc285be878622e0a6ab897a986a6e8bf5b67ecb377015f06ed316587"}, + {file = "aiohttp-3.9.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f800164276eec54e0af5c99feb9494c295118fc10a11b997bbb1348ba1a52065"}, + {file = "aiohttp-3.9.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:500f1c59906cd142d452074f3811614be04819a38ae2b3239a48b82649c08821"}, + {file = "aiohttp-3.9.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0b0a6a36ed7e164c6df1e18ee47afbd1990ce47cb428739d6c99aaabfaf1b3af"}, + {file = "aiohttp-3.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69da0f3ed3496808e8cbc5123a866c41c12c15baaaead96d256477edf168eb57"}, + {file = "aiohttp-3.9.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:176df045597e674fa950bf5ae536be85699e04cea68fa3a616cf75e413737eb5"}, + {file = "aiohttp-3.9.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b796b44111f0cab6bbf66214186e44734b5baab949cb5fb56154142a92989aeb"}, + {file = "aiohttp-3.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f27fdaadce22f2ef950fc10dcdf8048407c3b42b73779e48a4e76b3c35bca26c"}, + {file = "aiohttp-3.9.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bcb6532b9814ea7c5a6a3299747c49de30e84472fa72821b07f5a9818bce0f66"}, + {file = "aiohttp-3.9.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:54631fb69a6e44b2ba522f7c22a6fb2667a02fd97d636048478db2fd8c4e98fe"}, + {file = "aiohttp-3.9.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:4b4c452d0190c5a820d3f5c0f3cd8a28ace48c54053e24da9d6041bf81113183"}, + {file = "aiohttp-3.9.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:cae4c0c2ca800c793cae07ef3d40794625471040a87e1ba392039639ad61ab5b"}, + {file = "aiohttp-3.9.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:565760d6812b8d78d416c3c7cfdf5362fbe0d0d25b82fed75d0d29e18d7fc30f"}, + {file = "aiohttp-3.9.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:54311eb54f3a0c45efb9ed0d0a8f43d1bc6060d773f6973efd90037a51cd0a3f"}, + {file = "aiohttp-3.9.1-cp312-cp312-win32.whl", hash = "sha256:85c3e3c9cb1d480e0b9a64c658cd66b3cfb8e721636ab8b0e746e2d79a7a9eed"}, + {file = "aiohttp-3.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:11cb254e397a82efb1805d12561e80124928e04e9c4483587ce7390b3866d213"}, + {file = "aiohttp-3.9.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8a22a34bc594d9d24621091d1b91511001a7eea91d6652ea495ce06e27381f70"}, + {file = "aiohttp-3.9.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:598db66eaf2e04aa0c8900a63b0101fdc5e6b8a7ddd805c56d86efb54eb66672"}, + {file = "aiohttp-3.9.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2c9376e2b09895c8ca8b95362283365eb5c03bdc8428ade80a864160605715f1"}, + {file = "aiohttp-3.9.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41473de252e1797c2d2293804e389a6d6986ef37cbb4a25208de537ae32141dd"}, + {file = "aiohttp-3.9.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c5857612c9813796960c00767645cb5da815af16dafb32d70c72a8390bbf690"}, + {file = "aiohttp-3.9.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ffcd828e37dc219a72c9012ec44ad2e7e3066bec6ff3aaa19e7d435dbf4032ca"}, + {file = "aiohttp-3.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:219a16763dc0294842188ac8a12262b5671817042b35d45e44fd0a697d8c8361"}, + {file = "aiohttp-3.9.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f694dc8a6a3112059258a725a4ebe9acac5fe62f11c77ac4dcf896edfa78ca28"}, + {file = "aiohttp-3.9.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:bcc0ea8d5b74a41b621ad4a13d96c36079c81628ccc0b30cfb1603e3dfa3a014"}, + {file = "aiohttp-3.9.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:90ec72d231169b4b8d6085be13023ece8fa9b1bb495e4398d847e25218e0f431"}, + {file = "aiohttp-3.9.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:cf2a0ac0615842b849f40c4d7f304986a242f1e68286dbf3bd7a835e4f83acfd"}, + {file = "aiohttp-3.9.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:0e49b08eafa4f5707ecfb321ab9592717a319e37938e301d462f79b4e860c32a"}, + {file = "aiohttp-3.9.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2c59e0076ea31c08553e868cec02d22191c086f00b44610f8ab7363a11a5d9d8"}, + {file = "aiohttp-3.9.1-cp38-cp38-win32.whl", hash = "sha256:4831df72b053b1eed31eb00a2e1aff6896fb4485301d4ccb208cac264b648db4"}, + {file = "aiohttp-3.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:3135713c5562731ee18f58d3ad1bf41e1d8883eb68b363f2ffde5b2ea4b84cc7"}, + {file = "aiohttp-3.9.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:cfeadf42840c1e870dc2042a232a8748e75a36b52d78968cda6736de55582766"}, + {file = "aiohttp-3.9.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:70907533db712f7aa791effb38efa96f044ce3d4e850e2d7691abd759f4f0ae0"}, + {file = "aiohttp-3.9.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cdefe289681507187e375a5064c7599f52c40343a8701761c802c1853a504558"}, + {file = "aiohttp-3.9.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7481f581251bb5558ba9f635db70908819caa221fc79ee52a7f58392778c636"}, + {file = "aiohttp-3.9.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:49f0c1b3c2842556e5de35f122fc0f0b721334ceb6e78c3719693364d4af8499"}, + {file = "aiohttp-3.9.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0d406b01a9f5a7e232d1b0d161b40c05275ffbcbd772dc18c1d5a570961a1ca4"}, + {file = "aiohttp-3.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d8e4450e7fe24d86e86b23cc209e0023177b6d59502e33807b732d2deb6975f"}, + {file = "aiohttp-3.9.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c0266cd6f005e99f3f51e583012de2778e65af6b73860038b968a0a8888487a"}, + {file = "aiohttp-3.9.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab221850108a4a063c5b8a70f00dd7a1975e5a1713f87f4ab26a46e5feac5a0e"}, + {file = "aiohttp-3.9.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c88a15f272a0ad3d7773cf3a37cc7b7d077cbfc8e331675cf1346e849d97a4e5"}, + {file = "aiohttp-3.9.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:237533179d9747080bcaad4d02083ce295c0d2eab3e9e8ce103411a4312991a0"}, + {file = "aiohttp-3.9.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:02ab6006ec3c3463b528374c4cdce86434e7b89ad355e7bf29e2f16b46c7dd6f"}, + {file = "aiohttp-3.9.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04fa38875e53eb7e354ece1607b1d2fdee2d175ea4e4d745f6ec9f751fe20c7c"}, + {file = "aiohttp-3.9.1-cp39-cp39-win32.whl", hash = "sha256:82eefaf1a996060602f3cc1112d93ba8b201dbf5d8fd9611227de2003dddb3b7"}, + {file = "aiohttp-3.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:9b05d33ff8e6b269e30a7957bd3244ffbce2a7a35a81b81c382629b80af1a8bf"}, + {file = "aiohttp-3.9.1.tar.gz", hash = "sha256:8fc49a87ac269d4529da45871e2ffb6874e87779c3d0e2ccd813c0899221239d"}, ] [package.dependencies] aiosignal = ">=1.1.2" -async-timeout = ">=4.0.0a3,<5.0" +async-timeout = {version = ">=4.0,<5.0", markers = "python_version < \"3.11\""} attrs = ">=17.3.0" -charset-normalizer = ">=2.0,<4.0" frozenlist = ">=1.1.1" multidict = ">=4.5,<7.0" yarl = ">=1.0,<2.0" [package.extras] -speedups = ["Brotli", "aiodns", "cchardet"] +speedups = ["Brotli", "aiodns", "brotlicffi"] [[package]] name = "aiosignal" version = "1.3.1" description = "aiosignal: a list of registered asynchronous callbacks" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -126,24 +112,22 @@ frozenlist = ">=1.1.0" [[package]] name = "amqp" -version = "5.1.1" +version = "5.2.0" description = "Low-level AMQP client for Python (fork of amqplib)." -category = "main" optional = false python-versions = ">=3.6" files = [ - {file = "amqp-5.1.1-py3-none-any.whl", hash = "sha256:6f0956d2c23d8fa6e7691934d8c3930eadb44972cbbd1a7ae3a520f735d43359"}, - {file = "amqp-5.1.1.tar.gz", hash = "sha256:2c1b13fecc0893e946c65cbd5f36427861cffa4ea2201d8f6fca22e2a373b5e2"}, + {file = "amqp-5.2.0-py3-none-any.whl", hash = "sha256:827cb12fb0baa892aad844fd95258143bce4027fdac4fccddbc43330fd281637"}, + {file = "amqp-5.2.0.tar.gz", hash = "sha256:a1ecff425ad063ad42a486c902807d1482311481c8ad95a72694b2975e75f7fd"}, ] [package.dependencies] -vine = ">=5.0.0" +vine = ">=5.0.0,<6.0.0" [[package]] name = "arabic-reshaper" version = "3.0.0" description = "Reconstruct Arabic sentences to be used in applications that do not support Arabic" -category = "main" optional = false python-versions = "*" files = [ @@ -158,7 +142,6 @@ with-fonttools = ["fonttools (>=4.0)"] name = "asgiref" version = "3.7.2" description = "ASGI specs, helper code, and adapters" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -176,7 +159,6 @@ tests = ["mypy (>=0.800)", "pytest", "pytest-asyncio"] name = "async-timeout" version = "4.0.3" description = "Timeout context manager for asyncio programs" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -188,7 +170,6 @@ files = [ name = "attrs" version = "23.1.0" description = "Classes Without Boilerplate" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -207,7 +188,6 @@ tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pyte name = "babel" version = "2.13.1" description = "Internationalization utilities" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -225,7 +205,6 @@ dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] name = "beautifulsoup4" version = "4.12.2" description = "Screen-scraping library" -category = "main" optional = false python-versions = ">=3.6.0" files = [ @@ -242,21 +221,19 @@ lxml = ["lxml"] [[package]] name = "billiard" -version = "4.1.0" +version = "4.2.0" description = "Python multiprocessing fork with improvements and bugfixes" -category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "billiard-4.1.0-py3-none-any.whl", hash = "sha256:0f50d6be051c6b2b75bfbc8bfd85af195c5739c281d3f5b86a5640c65563614a"}, - {file = "billiard-4.1.0.tar.gz", hash = "sha256:1ad2eeae8e28053d729ba3373d34d9d6e210f6e4d8bf0a9c64f92bd053f1edf5"}, + {file = "billiard-4.2.0-py3-none-any.whl", hash = "sha256:07aa978b308f334ff8282bd4a746e681b3513db5c9a514cbdd810cbbdc19714d"}, + {file = "billiard-4.2.0.tar.gz", hash = "sha256:9a3c3184cb275aa17a732f93f65b20c525d3d9f253722d26a82194803ade5a2c"}, ] [[package]] name = "bleach" version = "5.0.1" description = "An easy safelist-based HTML-sanitizing tool." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -274,49 +251,48 @@ dev = ["Sphinx (==4.3.2)", "black (==22.3.0)", "build (==0.8.0)", "flake8 (==4.0 [[package]] name = "cbor2" -version = "5.5.0" +version = "5.5.1" description = "CBOR (de)serializer with extensive tag support" -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "cbor2-5.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1ea9f9ede6b99d9283ddca8aa0114b163fc5f3e7e0bfb20b2c1231ccffe6dfa2"}, - {file = "cbor2-5.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7ed4c8e78cb37ac471499e368cf6e61606b9be6b314e8fd26a2140b1485e7713"}, - {file = "cbor2-5.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9bbc1caf81dda3e0596ab60a9705b72c243c61d42e2f6054c32f68ce24ee7069"}, - {file = "cbor2-5.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b0372dcc81c1a2659713b81f6eaa2664889d298e35f46739b45d579aa1f0324"}, - {file = "cbor2-5.5.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:319d73c7fb22fc27f5f76cca6d22dd5dc924da5e907667421276e4857eb03e97"}, - {file = "cbor2-5.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c7547022c4ab2ba21240a93382f6ee758d9afbb7660625ea82b6fe004de7c344"}, - {file = "cbor2-5.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:3e5b411e483aa4132f59a49549db4862ec6cec8faea5aede796de79e450ca058"}, - {file = "cbor2-5.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e4ef724e6f2b18f1d75a4dc6c136a900ba31928cf96a0a57e8d422fe1d36dc73"}, - {file = "cbor2-5.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6b3e99ad82b4f106e5fcdb270503b040f68c07fce2425a650ec17dafd2e818d0"}, - {file = "cbor2-5.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a48f9e69b8749178340c03933a549eecd0c427df2931f91f3c6d50268980f3c3"}, - {file = "cbor2-5.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0eeb081fdcfd82320ac1d15821ffa8740e91269ac16350ecb81e7c2af532657a"}, - {file = "cbor2-5.5.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:165506e8ad17da248dc519bd3b416aa436ac6d4b0b3b6df413e0cd0e99ebdca6"}, - {file = "cbor2-5.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:56975266e45bc02fe4ed33d4aaa54a755df9d9c52af5b07f3561c257cc71666f"}, - {file = "cbor2-5.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:b1123fd77c6cd34ebc9c96e9739fc65bf9dea4a935733ac106ceff78cd101500"}, - {file = "cbor2-5.5.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:817b951d4454854836deefd968c3b48168ea61bd45aa43985097a641ad64e019"}, - {file = "cbor2-5.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7a0a6abb60c2ee9d2cddbfc8a5964144b7d39ca9fc00fdaf1fde6a36b148fb1c"}, - {file = "cbor2-5.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:98283f372a443e8bd74eb12f609200427a65bc2079bdb53b5b8d290d0e414205"}, - {file = "cbor2-5.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ee5c56a3348747803e88242c170d71a8b37da04d02690298cfc6deb3c835610"}, - {file = "cbor2-5.5.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9911a502a507ee275addbd2b9585767c4b3769b906d76fbdac7f4a6fd0e70cd3"}, - {file = "cbor2-5.5.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5bef8ade50940d7cee2083020685068426c3553f416ff1321ee8b7bc6d3dbb0c"}, - {file = "cbor2-5.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:4da17036611bf8809bc5b20fce6e37ab1e792bca6ada713f9ce84cdef66c6c82"}, - {file = "cbor2-5.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9ccbdcc14056a246b71b2274e6e8d842a54b667c16ad6bf74f889f722b82499b"}, - {file = "cbor2-5.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:dfa2dd19efe994a67b9ffa33cc20ccdaa6b8e8fd5848a4c13701bdbaec86eff1"}, - {file = "cbor2-5.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ae3c8b8fba719fc2c10591ab881ea1642130ecac321d17e195ace5766918c646"}, - {file = "cbor2-5.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:779e2de091ab022fcfc3d2a32489344268e067b852b884ecabfa84a678a7fba0"}, - {file = "cbor2-5.5.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a73b2902f2deac8033d2571025a8430345e0de4326312dd5040a5187f6825fe7"}, - {file = "cbor2-5.5.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2cf21356d1dd9d13ab9997b4134c21d132b85dd6e778f5d602cdc3310cc946e9"}, - {file = "cbor2-5.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:162a4511fda3b71d9257a3356645d162e8e3b707b9fffe052237ee0b933651bc"}, - {file = "cbor2-5.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:16e217cbfc8bf47dfdcd7e4d570efee785cda187150d9b7ab7cfc8202d87fa5f"}, - {file = "cbor2-5.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:44453c1d3289ccd508f43f1cce876a2800659c32ffe4732d6e75f1dc7b6a1efa"}, - {file = "cbor2-5.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4832ab39e037a084ea180d2f8bc746fff84a35bb419ec40edfe6b0e69cad3fed"}, - {file = "cbor2-5.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf50d4961180f0780c185e10a813f9115fd4e8275d65ab767450adbcdf94517a"}, - {file = "cbor2-5.5.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:30798f1c9e65db40e4b323bb34bae2106f10663792864558a470b455776b4439"}, - {file = "cbor2-5.5.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:de98295ef3db971548e44c1c7e745f450778bcbbbf9fff3d1fb4265094a57ce5"}, - {file = "cbor2-5.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:ba1b0f546f47ccd0f55605b8102ca66d4c19dcae42ab6d6a4d2d75526aac5282"}, - {file = "cbor2-5.5.0-py3-none-any.whl", hash = "sha256:d478ef30fa559cdc819c2c9c78e5b20bd69e570c29e1070c537abe28a03c87b8"}, - {file = "cbor2-5.5.0.tar.gz", hash = "sha256:380a427faed0202236dccca6b1dc0491f35c0598bdb6cac983616f6106127bd7"}, + {file = "cbor2-5.5.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:37ba4f719384bd4ea317e92a8763ea343e205f3112c8241778fd9dbc64ae1498"}, + {file = "cbor2-5.5.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:425ae919120b9d05b4794b3e5faf6584fc47a9d61db059d4f00ce16ae93a3f63"}, + {file = "cbor2-5.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c511ff6356d6f4292ced856d5048a24ee61a85634816f29dadf1f089e8cb4f9"}, + {file = "cbor2-5.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d6ab54a9282dd99a3a70d0f64706d3b3592e7920564a93101caa74dec322346c"}, + {file = "cbor2-5.5.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:39d94852dd61bda5b3d2bfe74e7b194a7199937d270f90099beec3e7584f0c9b"}, + {file = "cbor2-5.5.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:65532ba929beebe1c63317ad00c79d4936b60a5c29a3c329d2aa7df4e72ad907"}, + {file = "cbor2-5.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:1206180f66a9ad23e692cf457610c877f186ad303a1264b6c5335015b7bee83e"}, + {file = "cbor2-5.5.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:42155a20be46312fad2ceb85a408e2d90da059c2d36a65e0b99abca57c5357fd"}, + {file = "cbor2-5.5.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6f3827ae14c009df9b37790f1da5cd1f9d64f7ffec472a49ebf865c0af6b77e9"}, + {file = "cbor2-5.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4bfa417dbb8b4581ad3c2312469899518596551cfb0fe5bdaf8a6921cff69d7e"}, + {file = "cbor2-5.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3317e7dfb4f3180be90bcd853204558d89f119b624c2168153b53dea305e79d"}, + {file = "cbor2-5.5.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a5770bdf4340de55679efe6c38fc6d64529fda547e7a85eb0217a82717a8235"}, + {file = "cbor2-5.5.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b5d53826ad0c92fcb004b2a475896610b51e0ca010f6c37d762aae44ab0807b2"}, + {file = "cbor2-5.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:dc77cac985f7f7a20f2d8b1957d1e79393d7df823f61c7c6173d3a0011c1d770"}, + {file = "cbor2-5.5.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:9e45d5aa8e484b4bf57240d8e7949389f1c9d4073758abb30954386321b55c9d"}, + {file = "cbor2-5.5.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:93b949a66bec40dd0ca87a6d026136fea2cf1660120f921199a47ac8027af253"}, + {file = "cbor2-5.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:93d601ca92d917f769370a5e6c3ead62dca6451b2b603915e4fcf300083b9fcd"}, + {file = "cbor2-5.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a11876abd50b9f70d114fcdbb0b5a3249ccd7d321465f0350028fd6d2317e114"}, + {file = "cbor2-5.5.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:fd77c558decdba2a2a7a463e6346d53781d2163bacf205f77b999f561ba4ac73"}, + {file = "cbor2-5.5.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efb81920d80410b8e80a4a6a8b06ec9b766be0ae7f3029af8ae4b30914edcfa3"}, + {file = "cbor2-5.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:4bb35f3b1ebd4b7b37628f0cd5c839f3008dec669194a2a4a33d91bab7f8663b"}, + {file = "cbor2-5.5.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f41e4a439f642954ed728dc18915098b5f2ebec7029eaebe52c06c52b6a9a63a"}, + {file = "cbor2-5.5.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4eae4d56314f22920a28bf7affefdfc918646877ce3b16220dc6cf38a584aa41"}, + {file = "cbor2-5.5.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:559a0c1ec8dcedd6142b81727403e0f5a2e8f4c18e8bb3c548107ec39af4e9cb"}, + {file = "cbor2-5.5.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:537da7bfee97ee44a11b300c034c18e674af6a5dc4718a6fba141037f099c7ec"}, + {file = "cbor2-5.5.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5c99fd8bbc6bbf3bf4d6b2996594ae633b778b27b0531559487950762c4e1e3f"}, + {file = "cbor2-5.5.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4ee46e6dbc8e2cf302a022fec513d57dba65e9d5ec495bcd1ad97a5dbdbab249"}, + {file = "cbor2-5.5.1-cp38-cp38-win_amd64.whl", hash = "sha256:67e2be461320197495fff55f250b111d4125a0a2d02e6256e41f8598adc3ad3f"}, + {file = "cbor2-5.5.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4384a56afef0b908b61c8ea3cca3e257a316427ace3411308f51ee301b23adf9"}, + {file = "cbor2-5.5.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8cc64acc606b7f2a4b673a1d6cde5a9cb1860a6ce27b353e269c9535efbd62c"}, + {file = "cbor2-5.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50019fea3cb07fa9b2b53772a52b4243e87de232591570c4c272b3ebdb419493"}, + {file = "cbor2-5.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a18be0af9241883bc67a036c1f33e3f9956d31337ccd412194bf759bc1095e03"}, + {file = "cbor2-5.5.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:60e7e0073291096605de27de3ce006148cf9a095199160439555f14f93d044d5"}, + {file = "cbor2-5.5.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:41f7501338228b27dac88c1197928cf8985f6fc775f59be89c6fdaddb4e69658"}, + {file = "cbor2-5.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:c85ab7697252af2240e939707c935ea18081ccb580d4b5b9a94b04148ab2c32b"}, + {file = "cbor2-5.5.1-py3-none-any.whl", hash = "sha256:dca639c8ff81b9f0c92faf97324adfdbfb5c2a5bb97f249606c6f5b94c77cc0d"}, + {file = "cbor2-5.5.1.tar.gz", hash = "sha256:f9e192f461a9f8f6082df28c035b006d153904213dc8640bed8a72d72bbc9475"}, ] [package.extras] @@ -326,30 +302,29 @@ test = ["coverage (>=7)", "hypothesis", "pytest"] [[package]] name = "celery" -version = "5.3.4" +version = "5.3.6" description = "Distributed Task Queue." -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "celery-5.3.4-py3-none-any.whl", hash = "sha256:1e6ed40af72695464ce98ca2c201ad0ef8fd192246f6c9eac8bba343b980ad34"}, - {file = "celery-5.3.4.tar.gz", hash = "sha256:9023df6a8962da79eb30c0c84d5f4863d9793a466354cc931d7f72423996de28"}, + {file = "celery-5.3.6-py3-none-any.whl", hash = "sha256:9da4ea0118d232ce97dff5ed4974587fb1c0ff5c10042eb15278487cdd27d1af"}, + {file = "celery-5.3.6.tar.gz", hash = "sha256:870cc71d737c0200c397290d730344cc991d13a057534353d124c9380267aab9"}, ] [package.dependencies] -billiard = ">=4.1.0,<5.0" +billiard = ">=4.2.0,<5.0" click = ">=8.1.2,<9.0" click-didyoumean = ">=0.3.0" click-plugins = ">=1.1.1" click-repl = ">=0.2.0" -kombu = ">=5.3.2,<6.0" +kombu = ">=5.3.4,<6.0" python-dateutil = ">=2.8.2" tzdata = ">=2022.7" -vine = ">=5.0.0,<6.0" +vine = ">=5.1.0,<6.0" [package.extras] arangodb = ["pyArango (>=2.0.2)"] -auth = ["cryptography (==41.0.3)"] +auth = ["cryptography (==41.0.5)"] azureblockblob = ["azure-storage-blob (>=12.15.0)"] brotli = ["brotli (>=1.0.0)", "brotlipy (>=0.7.0)"] cassandra = ["cassandra-driver (>=3.25.0,<4)"] @@ -359,44 +334,42 @@ couchbase = ["couchbase (>=3.0.0)"] couchdb = ["pycouchdb (==1.14.2)"] django = ["Django (>=2.2.28)"] dynamodb = ["boto3 (>=1.26.143)"] -elasticsearch = ["elasticsearch (<8.0)"] +elasticsearch = ["elastic-transport (<=8.10.0)", "elasticsearch (<=8.11.0)"] eventlet = ["eventlet (>=0.32.0)"] gevent = ["gevent (>=1.5.0)"] librabbitmq = ["librabbitmq (>=2.0.0)"] memcache = ["pylibmc (==1.6.3)"] mongodb = ["pymongo[srv] (>=4.0.2)"] -msgpack = ["msgpack (==1.0.5)"] +msgpack = ["msgpack (==1.0.7)"] pymemcache = ["python-memcached (==1.59)"] pyro = ["pyro4 (==4.82)"] pytest = ["pytest-celery (==0.0.0)"] -redis = ["redis (>=4.5.2,!=4.5.5,<5.0.0)"] +redis = ["redis (>=4.5.2,!=4.5.5,<6.0.0)"] s3 = ["boto3 (>=1.26.143)"] slmq = ["softlayer-messaging (>=1.0.3)"] -solar = ["ephem (==4.1.4)"] +solar = ["ephem (==4.1.5)"] sqlalchemy = ["sqlalchemy (>=1.4.48,<2.1)"] sqs = ["boto3 (>=1.26.143)", "kombu[sqs] (>=5.3.0)", "pycurl (>=7.43.0.5)", "urllib3 (>=1.26.16)"] tblib = ["tblib (>=1.3.0)", "tblib (>=1.5.0)"] yaml = ["PyYAML (>=3.10)"] zookeeper = ["kazoo (>=1.3.1)"] -zstd = ["zstandard (==0.21.0)"] +zstd = ["zstandard (==0.22.0)"] [[package]] name = "certifi" -version = "2023.7.22" +version = "2023.11.17" description = "Python package for providing Mozilla's CA Bundle." -category = "main" optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, - {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, + {file = "certifi-2023.11.17-py3-none-any.whl", hash = "sha256:e036ab49d5b79556f99cfc2d9320b34cfbe5be05c5871b51de9329f0603b0474"}, + {file = "certifi-2023.11.17.tar.gz", hash = "sha256:9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1"}, ] [[package]] name = "cffi" version = "1.16.0" description = "Foreign Function Interface for Python calling C code." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -461,7 +434,6 @@ pycparser = "*" name = "chardet" version = "5.1.0" description = "Universal encoding detector for Python 3" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -471,109 +443,107 @@ files = [ [[package]] name = "charset-normalizer" -version = "3.3.1" +version = "3.3.2" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -category = "main" optional = false python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-3.3.1.tar.gz", hash = "sha256:d9137a876020661972ca6eec0766d81aef8a5627df628b664b234b73396e727e"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8aee051c89e13565c6bd366813c386939f8e928af93c29fda4af86d25b73d8f8"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:352a88c3df0d1fa886562384b86f9a9e27563d4704ee0e9d56ec6fcd270ea690"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:223b4d54561c01048f657fa6ce41461d5ad8ff128b9678cfe8b2ecd951e3f8a2"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f861d94c2a450b974b86093c6c027888627b8082f1299dfd5a4bae8e2292821"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1171ef1fc5ab4693c5d151ae0fdad7f7349920eabbaca6271f95969fa0756c2d"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28f512b9a33235545fbbdac6a330a510b63be278a50071a336afc1b78781b147"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0e842112fe3f1a4ffcf64b06dc4c61a88441c2f02f373367f7b4c1aa9be2ad5"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3f9bc2ce123637a60ebe819f9fccc614da1bcc05798bbbaf2dd4ec91f3e08846"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f194cce575e59ffe442c10a360182a986535fd90b57f7debfaa5c845c409ecc3"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:9a74041ba0bfa9bc9b9bb2cd3238a6ab3b7618e759b41bd15b5f6ad958d17605"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b578cbe580e3b41ad17b1c428f382c814b32a6ce90f2d8e39e2e635d49e498d1"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:6db3cfb9b4fcecb4390db154e75b49578c87a3b9979b40cdf90d7e4b945656e1"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:debb633f3f7856f95ad957d9b9c781f8e2c6303ef21724ec94bea2ce2fcbd056"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-win32.whl", hash = "sha256:87071618d3d8ec8b186d53cb6e66955ef2a0e4fa63ccd3709c0c90ac5a43520f"}, - {file = "charset_normalizer-3.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:e372d7dfd154009142631de2d316adad3cc1c36c32a38b16a4751ba78da2a397"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ae4070f741f8d809075ef697877fd350ecf0b7c5837ed68738607ee0a2c572cf"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:58e875eb7016fd014c0eea46c6fa92b87b62c0cb31b9feae25cbbe62c919f54d"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dbd95e300367aa0827496fe75a1766d198d34385a58f97683fe6e07f89ca3e3c"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de0b4caa1c8a21394e8ce971997614a17648f94e1cd0640fbd6b4d14cab13a72"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:985c7965f62f6f32bf432e2681173db41336a9c2611693247069288bcb0c7f8b"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a15c1fe6d26e83fd2e5972425a772cca158eae58b05d4a25a4e474c221053e2d"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae55d592b02c4349525b6ed8f74c692509e5adffa842e582c0f861751701a673"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:be4d9c2770044a59715eb57c1144dedea7c5d5ae80c68fb9959515037cde2008"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:851cf693fb3aaef71031237cd68699dded198657ec1e76a76eb8be58c03a5d1f"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:31bbaba7218904d2eabecf4feec0d07469284e952a27400f23b6628439439fa7"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:871d045d6ccc181fd863a3cd66ee8e395523ebfbc57f85f91f035f50cee8e3d4"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:501adc5eb6cd5f40a6f77fbd90e5ab915c8fd6e8c614af2db5561e16c600d6f3"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f5fb672c396d826ca16a022ac04c9dce74e00a1c344f6ad1a0fdc1ba1f332213"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-win32.whl", hash = "sha256:bb06098d019766ca16fc915ecaa455c1f1cd594204e7f840cd6258237b5079a8"}, - {file = "charset_normalizer-3.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:8af5a8917b8af42295e86b64903156b4f110a30dca5f3b5aedea123fbd638bff"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:7ae8e5142dcc7a49168f4055255dbcced01dc1714a90a21f87448dc8d90617d1"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5b70bab78accbc672f50e878a5b73ca692f45f5b5e25c8066d748c09405e6a55"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5ceca5876032362ae73b83347be8b5dbd2d1faf3358deb38c9c88776779b2e2f"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34d95638ff3613849f473afc33f65c401a89f3b9528d0d213c7037c398a51296"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9edbe6a5bf8b56a4a84533ba2b2f489d0046e755c29616ef8830f9e7d9cf5728"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6a02a3c7950cafaadcd46a226ad9e12fc9744652cc69f9e5534f98b47f3bbcf"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10b8dd31e10f32410751b3430996f9807fc4d1587ca69772e2aa940a82ab571a"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edc0202099ea1d82844316604e17d2b175044f9bcb6b398aab781eba957224bd"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b891a2f68e09c5ef989007fac11476ed33c5c9994449a4e2c3386529d703dc8b"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:71ef3b9be10070360f289aea4838c784f8b851be3ba58cf796262b57775c2f14"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:55602981b2dbf8184c098bc10287e8c245e351cd4fdcad050bd7199d5a8bf514"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:46fb9970aa5eeca547d7aa0de5d4b124a288b42eaefac677bde805013c95725c"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:520b7a142d2524f999447b3a0cf95115df81c4f33003c51a6ab637cbda9d0bf4"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-win32.whl", hash = "sha256:8ec8ef42c6cd5856a7613dcd1eaf21e5573b2185263d87d27c8edcae33b62a61"}, - {file = "charset_normalizer-3.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:baec8148d6b8bd5cee1ae138ba658c71f5b03e0d69d5907703e3e1df96db5e41"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:63a6f59e2d01310f754c270e4a257426fe5a591dc487f1983b3bbe793cf6bac6"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d6bfc32a68bc0933819cfdfe45f9abc3cae3877e1d90aac7259d57e6e0f85b1"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4f3100d86dcd03c03f7e9c3fdb23d92e32abbca07e7c13ebd7ddfbcb06f5991f"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:39b70a6f88eebe239fa775190796d55a33cfb6d36b9ffdd37843f7c4c1b5dc67"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e12f8ee80aa35e746230a2af83e81bd6b52daa92a8afaef4fea4a2ce9b9f4fa"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7b6cefa579e1237ce198619b76eaa148b71894fb0d6bcf9024460f9bf30fd228"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:61f1e3fb621f5420523abb71f5771a204b33c21d31e7d9d86881b2cffe92c47c"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4f6e2a839f83a6a76854d12dbebde50e4b1afa63e27761549d006fa53e9aa80e"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:1ec937546cad86d0dce5396748bf392bb7b62a9eeb8c66efac60e947697f0e58"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:82ca51ff0fc5b641a2d4e1cc8c5ff108699b7a56d7f3ad6f6da9dbb6f0145b48"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:633968254f8d421e70f91c6ebe71ed0ab140220469cf87a9857e21c16687c034"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-win32.whl", hash = "sha256:c0c72d34e7de5604df0fde3644cc079feee5e55464967d10b24b1de268deceb9"}, - {file = "charset_normalizer-3.3.1-cp37-cp37m-win_amd64.whl", hash = "sha256:63accd11149c0f9a99e3bc095bbdb5a464862d77a7e309ad5938fbc8721235ae"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5a3580a4fdc4ac05f9e53c57f965e3594b2f99796231380adb2baaab96e22761"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2465aa50c9299d615d757c1c888bc6fef384b7c4aec81c05a0172b4400f98557"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cb7cd68814308aade9d0c93c5bd2ade9f9441666f8ba5aa9c2d4b389cb5e2a45"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91e43805ccafa0a91831f9cd5443aa34528c0c3f2cc48c4cb3d9a7721053874b"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:854cc74367180beb327ab9d00f964f6d91da06450b0855cbbb09187bcdb02de5"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c15070ebf11b8b7fd1bfff7217e9324963c82dbdf6182ff7050519e350e7ad9f"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c4c99f98fc3a1835af8179dcc9013f93594d0670e2fa80c83aa36346ee763d2"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3fb765362688821404ad6cf86772fc54993ec11577cd5a92ac44b4c2ba52155b"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:dced27917823df984fe0c80a5c4ad75cf58df0fbfae890bc08004cd3888922a2"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a66bcdf19c1a523e41b8e9d53d0cedbfbac2e93c649a2e9502cb26c014d0980c"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ecd26be9f112c4f96718290c10f4caea6cc798459a3a76636b817a0ed7874e42"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:3f70fd716855cd3b855316b226a1ac8bdb3caf4f7ea96edcccc6f484217c9597"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:17a866d61259c7de1bdadef418a37755050ddb4b922df8b356503234fff7932c"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-win32.whl", hash = "sha256:548eefad783ed787b38cb6f9a574bd8664468cc76d1538215d510a3cd41406cb"}, - {file = "charset_normalizer-3.3.1-cp38-cp38-win_amd64.whl", hash = "sha256:45f053a0ece92c734d874861ffe6e3cc92150e32136dd59ab1fb070575189c97"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bc791ec3fd0c4309a753f95bb6c749ef0d8ea3aea91f07ee1cf06b7b02118f2f"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0c8c61fb505c7dad1d251c284e712d4e0372cef3b067f7ddf82a7fa82e1e9a93"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2c092be3885a1b7899cd85ce24acedc1034199d6fca1483fa2c3a35c86e43041"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c2000c54c395d9e5e44c99dc7c20a64dc371f777faf8bae4919ad3e99ce5253e"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4cb50a0335382aac15c31b61d8531bc9bb657cfd848b1d7158009472189f3d62"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c30187840d36d0ba2893bc3271a36a517a717f9fd383a98e2697ee890a37c273"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe81b35c33772e56f4b6cf62cf4aedc1762ef7162a31e6ac7fe5e40d0149eb67"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0bf89afcbcf4d1bb2652f6580e5e55a840fdf87384f6063c4a4f0c95e378656"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:06cf46bdff72f58645434d467bf5228080801298fbba19fe268a01b4534467f5"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:3c66df3f41abee950d6638adc7eac4730a306b022570f71dd0bd6ba53503ab57"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:cd805513198304026bd379d1d516afbf6c3c13f4382134a2c526b8b854da1c2e"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:9505dc359edb6a330efcd2be825fdb73ee3e628d9010597aa1aee5aa63442e97"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:31445f38053476a0c4e6d12b047b08ced81e2c7c712e5a1ad97bc913256f91b2"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-win32.whl", hash = "sha256:bd28b31730f0e982ace8663d108e01199098432a30a4c410d06fe08fdb9e93f4"}, - {file = "charset_normalizer-3.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:555fe186da0068d3354cdf4bbcbc609b0ecae4d04c921cc13e209eece7720727"}, - {file = "charset_normalizer-3.3.1-py3-none-any.whl", hash = "sha256:800561453acdecedaac137bf09cd719c7a440b6800ec182f077bb8e7025fb708"}, + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, ] [[package]] name = "click" version = "8.1.7" description = "Composable command line interface toolkit" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -588,7 +558,6 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "click-didyoumean" version = "0.3.0" description = "Enables git-like *did-you-mean* feature in click" -category = "main" optional = false python-versions = ">=3.6.2,<4.0.0" files = [ @@ -603,7 +572,6 @@ click = ">=7" name = "click-plugins" version = "1.1.1" description = "An extension module for click to enable registering CLI commands via setuptools entry-points." -category = "main" optional = false python-versions = "*" files = [ @@ -621,7 +589,6 @@ dev = ["coveralls", "pytest (>=3.6)", "pytest-cov", "wheel"] name = "click-repl" version = "0.3.0" description = "REPL plugin for Click" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -640,7 +607,6 @@ testing = ["pytest (>=7.2.1)", "pytest-cov (>=4.0.0)", "tox (>=4.4.3)"] name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -650,35 +616,34 @@ files = [ [[package]] name = "cryptography" -version = "41.0.5" +version = "41.0.7" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-41.0.5-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:da6a0ff8f1016ccc7477e6339e1d50ce5f59b88905585f77193ebd5068f1e797"}, - {file = "cryptography-41.0.5-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:b948e09fe5fb18517d99994184854ebd50b57248736fd4c720ad540560174ec5"}, - {file = "cryptography-41.0.5-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d38e6031e113b7421db1de0c1b1f7739564a88f1684c6b89234fbf6c11b75147"}, - {file = "cryptography-41.0.5-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e270c04f4d9b5671ebcc792b3ba5d4488bf7c42c3c241a3748e2599776f29696"}, - {file = "cryptography-41.0.5-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:ec3b055ff8f1dce8e6ef28f626e0972981475173d7973d63f271b29c8a2897da"}, - {file = "cryptography-41.0.5-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:7d208c21e47940369accfc9e85f0de7693d9a5d843c2509b3846b2db170dfd20"}, - {file = "cryptography-41.0.5-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:8254962e6ba1f4d2090c44daf50a547cd5f0bf446dc658a8e5f8156cae0d8548"}, - {file = "cryptography-41.0.5-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:a48e74dad1fb349f3dc1d449ed88e0017d792997a7ad2ec9587ed17405667e6d"}, - {file = "cryptography-41.0.5-cp37-abi3-win32.whl", hash = "sha256:d3977f0e276f6f5bf245c403156673db103283266601405376f075c849a0b936"}, - {file = "cryptography-41.0.5-cp37-abi3-win_amd64.whl", hash = "sha256:73801ac9736741f220e20435f84ecec75ed70eda90f781a148f1bad546963d81"}, - {file = "cryptography-41.0.5-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3be3ca726e1572517d2bef99a818378bbcf7d7799d5372a46c79c29eb8d166c1"}, - {file = "cryptography-41.0.5-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:e886098619d3815e0ad5790c973afeee2c0e6e04b4da90b88e6bd06e2a0b1b72"}, - {file = "cryptography-41.0.5-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:573eb7128cbca75f9157dcde974781209463ce56b5804983e11a1c462f0f4e88"}, - {file = "cryptography-41.0.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0c327cac00f082013c7c9fb6c46b7cc9fa3c288ca702c74773968173bda421bf"}, - {file = "cryptography-41.0.5-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:227ec057cd32a41c6651701abc0328135e472ed450f47c2766f23267b792a88e"}, - {file = "cryptography-41.0.5-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:22892cc830d8b2c89ea60148227631bb96a7da0c1b722f2aac8824b1b7c0b6b8"}, - {file = "cryptography-41.0.5-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:5a70187954ba7292c7876734183e810b728b4f3965fbe571421cb2434d279179"}, - {file = "cryptography-41.0.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:88417bff20162f635f24f849ab182b092697922088b477a7abd6664ddd82291d"}, - {file = "cryptography-41.0.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c707f7afd813478e2019ae32a7c49cd932dd60ab2d2a93e796f68236b7e1fbf1"}, - {file = "cryptography-41.0.5-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:580afc7b7216deeb87a098ef0674d6ee34ab55993140838b14c9b83312b37b86"}, - {file = "cryptography-41.0.5-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:fba1e91467c65fe64a82c689dc6cf58151158993b13eb7a7f3f4b7f395636723"}, - {file = "cryptography-41.0.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0d2a6a598847c46e3e321a7aef8af1436f11c27f1254933746304ff014664d84"}, - {file = "cryptography-41.0.5.tar.gz", hash = "sha256:392cb88b597247177172e02da6b7a63deeff1937fa6fec3bbf902ebd75d97ec7"}, + {file = "cryptography-41.0.7-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:3c78451b78313fa81607fa1b3f1ae0a5ddd8014c38a02d9db0616133987b9cdf"}, + {file = "cryptography-41.0.7-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:928258ba5d6f8ae644e764d0f996d61a8777559f72dfeb2eea7e2fe0ad6e782d"}, + {file = "cryptography-41.0.7-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a1b41bc97f1ad230a41657d9155113c7521953869ae57ac39ac7f1bb471469a"}, + {file = "cryptography-41.0.7-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:841df4caa01008bad253bce2a6f7b47f86dc9f08df4b433c404def869f590a15"}, + {file = "cryptography-41.0.7-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:5429ec739a29df2e29e15d082f1d9ad683701f0ec7709ca479b3ff2708dae65a"}, + {file = "cryptography-41.0.7-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:43f2552a2378b44869fe8827aa19e69512e3245a219104438692385b0ee119d1"}, + {file = "cryptography-41.0.7-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:af03b32695b24d85a75d40e1ba39ffe7db7ffcb099fe507b39fd41a565f1b157"}, + {file = "cryptography-41.0.7-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:49f0805fc0b2ac8d4882dd52f4a3b935b210935d500b6b805f321addc8177406"}, + {file = "cryptography-41.0.7-cp37-abi3-win32.whl", hash = "sha256:f983596065a18a2183e7f79ab3fd4c475205b839e02cbc0efbbf9666c4b3083d"}, + {file = "cryptography-41.0.7-cp37-abi3-win_amd64.whl", hash = "sha256:90452ba79b8788fa380dfb587cca692976ef4e757b194b093d845e8d99f612f2"}, + {file = "cryptography-41.0.7-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:079b85658ea2f59c4f43b70f8119a52414cdb7be34da5d019a77bf96d473b960"}, + {file = "cryptography-41.0.7-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:b640981bf64a3e978a56167594a0e97db71c89a479da8e175d8bb5be5178c003"}, + {file = "cryptography-41.0.7-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e3114da6d7f95d2dee7d3f4eec16dacff819740bbab931aff8648cb13c5ff5e7"}, + {file = "cryptography-41.0.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d5ec85080cce7b0513cfd233914eb8b7bbd0633f1d1703aa28d1dd5a72f678ec"}, + {file = "cryptography-41.0.7-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7a698cb1dac82c35fcf8fe3417a3aaba97de16a01ac914b89a0889d364d2f6be"}, + {file = "cryptography-41.0.7-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:37a138589b12069efb424220bf78eac59ca68b95696fc622b6ccc1c0a197204a"}, + {file = "cryptography-41.0.7-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:68a2dec79deebc5d26d617bfdf6e8aab065a4f34934b22d3b5010df3ba36612c"}, + {file = "cryptography-41.0.7-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:09616eeaef406f99046553b8a40fbf8b1e70795a91885ba4c96a70793de5504a"}, + {file = "cryptography-41.0.7-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:48a0476626da912a44cc078f9893f292f0b3e4c739caf289268168d8f4702a39"}, + {file = "cryptography-41.0.7-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c7f3201ec47d5207841402594f1d7950879ef890c0c495052fa62f58283fde1a"}, + {file = "cryptography-41.0.7-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c5ca78485a255e03c32b513f8c2bc39fedb7f5c5f8535545bdc223a03b24f248"}, + {file = "cryptography-41.0.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:d6c391c021ab1f7a82da5d8d0b3cee2f4b2c455ec86c8aebbc84837a631ff309"}, + {file = "cryptography-41.0.7.tar.gz", hash = "sha256:13f93ce9bea8016c253b34afc6bd6a75993e5c40672ed5405a9c832f0d4a00bc"}, ] [package.dependencies] @@ -698,7 +663,6 @@ test-randomorder = ["pytest-randomly"] name = "css-inline" version = "0.8.7" description = "Fast CSS inlining written in Rust" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -729,7 +693,6 @@ files = [ name = "defusedcsv" version = "2.0.0" description = "Drop-in replacement for Python's CSV library that tries to mitigate CSV injection attacks" -category = "main" optional = false python-versions = "*" files = [ @@ -741,7 +704,6 @@ files = [ name = "deprecated" version = "1.2.14" description = "Python @deprecated decorator to deprecate old python classes, functions or methods." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -759,7 +721,6 @@ dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"] name = "dj-static" version = "0.0.6" description = "Serve production static files with Django." -category = "main" optional = false python-versions = "*" files = [ @@ -771,14 +732,13 @@ static3 = "*" [[package]] name = "django" -version = "4.2.6" +version = "4.2.8" description = "A high-level Python web framework that encourages rapid development and clean, pragmatic design." -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "Django-4.2.6-py3-none-any.whl", hash = "sha256:a64d2487cdb00ad7461434320ccc38e60af9c404773a2f95ab0093b4453a3215"}, - {file = "Django-4.2.6.tar.gz", hash = "sha256:08f41f468b63335aea0d904c5729e0250300f6a1907bf293a65499496cdbc68f"}, + {file = "Django-4.2.8-py3-none-any.whl", hash = "sha256:6cb5dcea9e3d12c47834d32156b8841f533a4493c688e2718cafd51aa430ba6d"}, + {file = "Django-4.2.8.tar.gz", hash = "sha256:d69d5e36cc5d9f4eb4872be36c622878afcdce94062716cf3e25bcedcb168b62"}, ] [package.dependencies] @@ -792,14 +752,13 @@ bcrypt = ["bcrypt"] [[package]] name = "django-appconf" -version = "1.0.5" +version = "1.0.6" description = "A helper class for handling configuration defaults of packaged apps gracefully." -category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "django-appconf-1.0.5.tar.gz", hash = "sha256:be3db0be6c81fa84742000b89a81c016d70ae66a7ccb620cdef592b1f1a6aaa4"}, - {file = "django_appconf-1.0.5-py3-none-any.whl", hash = "sha256:ae9f864ee1958c815a965ed63b3fba4874eec13de10236ba063a788f9a17389d"}, + {file = "django-appconf-1.0.6.tar.gz", hash = "sha256:cfe87ea827c4ee04b9a70fab90b86d704cb02f2981f89da8423cb0fabf88efbf"}, + {file = "django_appconf-1.0.6-py3-none-any.whl", hash = "sha256:c3ae442fba1ff7ec830412c5184b17169a7a1e71cf0864a4c3f93cf4c98a1993"}, ] [package.dependencies] @@ -809,7 +768,6 @@ django = "*" name = "django-bootstrap3" version = "23.1" description = "Bootstrap 3 support for Django projects" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -824,7 +782,6 @@ Django = ">=3.2" name = "django-compressor" version = "4.3.1" description = "('Compresses linked and inline JavaScript or CSS into single cached files.',)" -category = "main" optional = false python-versions = "*" files = [ @@ -841,7 +798,6 @@ rjsmin = "1.2.1" name = "django-countries" version = "7.5.1" description = "Provides a country field for Django models." -category = "main" optional = false python-versions = "*" files = [ @@ -863,7 +819,6 @@ test = ["djangorestframework", "graphene-django", "pytest", "pytest-cov", "pytes name = "django-filter" version = "23.2" description = "Django-filter is a reusable Django application for allowing users to filter querysets dynamically." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -878,7 +833,6 @@ Django = ">=3.2" name = "django-formset-js-improved" version = "0.5.0.3" description = "Extend Django formsets with JavaScript" -category = "main" optional = false python-versions = "*" files = [ @@ -894,7 +848,6 @@ django-jquery-js = "*" name = "django-formtools" version = "2.4.1" description = "A set of high-level abstractions for Django forms" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -909,7 +862,6 @@ Django = ">=3.2" name = "django-hierarkey" version = "1.1.0" description = "Hierarchical key-value store for django" -category = "main" optional = false python-versions = "*" files = [ @@ -924,7 +876,6 @@ python-dateutil = "*" name = "django-hijack" version = "3.3.0" description = "django-hijack allows superusers to hijack (=login as) and work on behalf of another user." -category = "main" optional = false python-versions = "*" files = [ @@ -942,7 +893,6 @@ test = ["pytest", "pytest-cov", "pytest-django"] name = "django-i18nfield" version = "1.9.4" description = "Store internationalized strings in Django models" -category = "main" optional = false python-versions = "*" files = [ @@ -954,7 +904,6 @@ files = [ name = "django-jquery-js" version = "3.1.1" description = "jQuery, bundled up so apps can depend upon it" -category = "main" optional = false python-versions = "*" files = [ @@ -968,7 +917,6 @@ Django = ">=1.4" name = "django-libsass" version = "0.9" description = "A django-compressor filter to compile SASS files using libsass" -category = "main" optional = false python-versions = "*" files = [ @@ -984,7 +932,6 @@ libsass = ">=0.7.0,<1" name = "django-localflavor" version = "4.0" description = "Country-specific Django helpers" -category = "main" optional = false python-versions = "*" files = [ @@ -1000,7 +947,6 @@ python-stdnum = ">=1.6" name = "django-markup" version = "1.8.1" description = "A generic Django application to convert text with specific markup to html." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1019,7 +965,6 @@ all-filter-dependencies = ["bleach (>=3.0)", "docutils (>=0.14)", "markdown (>=2 name = "django-oauth-toolkit" version = "2.2.0" description = "OAuth2 Provider for Django" -category = "main" optional = false python-versions = "*" files = [ @@ -1037,7 +982,6 @@ requests = ">=2.13.0" name = "django-otp" version = "1.2.4" description = "A pluggable framework for adding two-factor authentication to Django using one-time passwords." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1055,7 +999,6 @@ qrcode = ["qrcode"] name = "django-phonenumber-field" version = "7.1.0" description = "An international phone number field for django models." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1074,7 +1017,6 @@ phonenumberslite = ["phonenumberslite (>=7.0.2)"] name = "django-redis" version = "5.2.0" description = "Full featured redis cache backend for Django." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1093,7 +1035,6 @@ hiredis = ["redis[hiredis] (>=3,!=4.0.0,!=4.0.1)"] name = "django-scopes" version = "2.0.0" description = "Scope querys in multi-tenant django applications" -category = "main" optional = false python-versions = "*" files = [ @@ -1108,7 +1049,6 @@ Django = ">=3.2" name = "django-statici18n" version = "2.3.1" description = "A Django app that compiles i18n JavaScript catalogs to static files." -category = "main" optional = false python-versions = "*" files = [ @@ -1124,7 +1064,6 @@ django-appconf = ">=1.0" name = "djangorestframework" version = "3.14.0" description = "Web APIs for Django, made easy." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1140,7 +1079,6 @@ pytz = "*" name = "dnspython" version = "2.3.0" description = "DNS toolkit" -category = "main" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -1161,7 +1099,6 @@ wmi = ["wmi (>=1.5.1,<2.0.0)"] name = "drf-ujson2" version = "1.7.2" description = "Django Rest Framework UJSON Renderer" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1181,7 +1118,6 @@ dev = ["pytest", "pytest-cov", "pytest-django", "pytest-mock", "pytest-runner"] name = "elementpath" version = "4.1.5" description = "XPath 1.0/2.0/3.0/3.1 parsers and selectors for ElementTree and lxml" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1196,7 +1132,6 @@ dev = ["Sphinx", "coverage", "flake8", "lxml", "lxml-stubs", "memory-profiler", name = "enum34" version = "1.1.10" description = "Python 3.4 Enum backported to 3.3, 3.2, 3.1, 2.7, 2.6, 2.5, and 2.4" -category = "main" optional = false python-versions = "*" files = [ @@ -1209,7 +1144,6 @@ files = [ name = "et-xmlfile" version = "1.1.0" description = "An implementation of lxml.xmlfile for the standard library" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1221,7 +1155,6 @@ files = [ name = "frozenlist" version = "1.4.0" description = "A list-like structure which implements collections.abc.MutableSequence" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1292,7 +1225,6 @@ files = [ name = "future" version = "0.18.3" description = "Clean single-source support for Python 3 and 2" -category = "main" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -1301,50 +1233,51 @@ files = [ [[package]] name = "geoip2" -version = "4.7.0" +version = "4.8.0" description = "MaxMind GeoIP2 API" -category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "geoip2-4.7.0-py2.py3-none-any.whl", hash = "sha256:078fcd4cce26ea029b1e3252a0f0ec20a1f42e7ab0f19b7be3864f20f4db2b51"}, - {file = "geoip2-4.7.0.tar.gz", hash = "sha256:3bdde4994f6bc917eafab5b51e772d737b2ae00037a5b85001fb06dc68f779df"}, + {file = "geoip2-4.8.0-py2.py3-none-any.whl", hash = "sha256:39b38ec703575355d10475c0e6aa981827a2b4b5471d308c4ecb5e79cbe366ce"}, + {file = "geoip2-4.8.0.tar.gz", hash = "sha256:dd9cc180b7d41724240ea481d5d539149e65b234f64282b231b9170794a9ac35"}, ] [package.dependencies] aiohttp = ">=3.6.2,<4.0.0" -maxminddb = ">=2.3.0,<3.0.0" +maxminddb = ">=2.5.1,<3.0.0" requests = ">=2.24.0,<3.0.0" +setuptools = ">=60.0.0" + +[package.extras] +test = ["mocket (>=3.11.1)"] [[package]] name = "idna" -version = "3.4" +version = "3.6" description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" optional = false python-versions = ">=3.5" files = [ - {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, - {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, + {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"}, + {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"}, ] [[package]] name = "importlib-metadata" -version = "6.8.0" +version = "6.11.0" description = "Read metadata from Python packages" -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "importlib_metadata-6.8.0-py3-none-any.whl", hash = "sha256:3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb"}, - {file = "importlib_metadata-6.8.0.tar.gz", hash = "sha256:dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743"}, + {file = "importlib_metadata-6.11.0-py3-none-any.whl", hash = "sha256:f0afba6205ad8f8947c7d338b5342d5db2afbfd82f9cbef7879a9539cc12eb9b"}, + {file = "importlib_metadata-6.11.0.tar.gz", hash = "sha256:1231cf92d825c9e03cfc4da076a16de6422c863558229ea0b22b675657463443"}, ] [package.dependencies] zipp = ">=0.5" [package.extras] -docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] perf = ["ipython"] testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"] @@ -1352,7 +1285,6 @@ testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs name = "isodate" version = "0.6.1" description = "An ISO 8601 date/time/duration parser and formatter" -category = "main" optional = false python-versions = "*" files = [ @@ -1367,7 +1299,6 @@ six = "*" name = "isoweek" version = "1.3.3" description = "Objects representing a week" -category = "main" optional = false python-versions = "*" files = [ @@ -1377,14 +1308,13 @@ files = [ [[package]] name = "jsonschema" -version = "4.19.1" +version = "4.20.0" description = "An implementation of JSON Schema validation for Python" -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "jsonschema-4.19.1-py3-none-any.whl", hash = "sha256:cd5f1f9ed9444e554b38ba003af06c0a8c2868131e56bfbef0550fb450c0330e"}, - {file = "jsonschema-4.19.1.tar.gz", hash = "sha256:ec84cc37cfa703ef7cd4928db24f9cb31428a5d0fa77747b8b51a847458e0bbf"}, + {file = "jsonschema-4.20.0-py3-none-any.whl", hash = "sha256:ed6231f0429ecf966f5bc8dfef245998220549cbbcf140f913b7464c52c3b6b3"}, + {file = "jsonschema-4.20.0.tar.gz", hash = "sha256:4f614fd46d8d61258610998997743ec5492a648b33cf478c1ddc23ed4598a5fa"}, ] [package.dependencies] @@ -1399,24 +1329,22 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- [[package]] name = "jsonschema-specifications" -version = "2023.7.1" +version = "2023.11.2" description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "jsonschema_specifications-2023.7.1-py3-none-any.whl", hash = "sha256:05adf340b659828a004220a9613be00fa3f223f2b82002e273dee62fd50524b1"}, - {file = "jsonschema_specifications-2023.7.1.tar.gz", hash = "sha256:c91a50404e88a1f6ba40636778e2ee08f6e24c5613fe4c53ac24578a5a7f72bb"}, + {file = "jsonschema_specifications-2023.11.2-py3-none-any.whl", hash = "sha256:e74ba7c0a65e8cb49dc26837d6cfe576557084a8b423ed16a420984228104f93"}, + {file = "jsonschema_specifications-2023.11.2.tar.gz", hash = "sha256:9472fc4fea474cd74bea4a2b190daeccb5a9e4db2ea80efcf7a1b582fc9a81b8"}, ] [package.dependencies] -referencing = ">=0.28.0" +referencing = ">=0.31.0" [[package]] name = "jwcrypto" version = "1.5.0" description = "Implementation of JOSE Web standards" -category = "main" optional = false python-versions = ">= 3.6" files = [ @@ -1429,14 +1357,13 @@ deprecated = "*" [[package]] name = "kombu" -version = "5.3.2" +version = "5.3.4" description = "Messaging library for Python." -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "kombu-5.3.2-py3-none-any.whl", hash = "sha256:b753c9cfc9b1e976e637a7cbc1a65d446a22e45546cd996ea28f932082b7dc9e"}, - {file = "kombu-5.3.2.tar.gz", hash = "sha256:0ba213f630a2cb2772728aef56ac6883dc3a2f13435e10048f6e97d48506dbbd"}, + {file = "kombu-5.3.4-py3-none-any.whl", hash = "sha256:63bb093fc9bb80cfb3a0972336a5cec1fa7ac5f9ef7e8237c6bf8dda9469313e"}, + {file = "kombu-5.3.4.tar.gz", hash = "sha256:0bb2e278644d11dea6272c17974a3dbb9688a949f3bb60aeb5b791329c44fadc"}, ] [package.dependencies] @@ -1446,14 +1373,14 @@ vine = "*" [package.extras] azureservicebus = ["azure-servicebus (>=7.10.0)"] azurestoragequeues = ["azure-identity (>=1.12.0)", "azure-storage-queue (>=12.6.0)"] -confluentkafka = ["confluent-kafka (==2.1.1)"] +confluentkafka = ["confluent-kafka (>=2.2.0)"] consul = ["python-consul2"] librabbitmq = ["librabbitmq (>=2.0.0)"] mongodb = ["pymongo (>=4.1.1)"] msgpack = ["msgpack"] pyro = ["pyro4"] qpid = ["qpid-python (>=0.26)", "qpid-tools (>=0.26)"] -redis = ["redis (>=4.5.2)"] +redis = ["redis (>=4.5.2,!=4.5.5,<6.0.0)"] slmq = ["softlayer-messaging (>=1.0.3)"] sqlalchemy = ["sqlalchemy (>=1.4.48,<2.1)"] sqs = ["boto3 (>=1.26.143)", "pycurl (>=7.43.0.5)", "urllib3 (>=1.26.16)"] @@ -1464,7 +1391,6 @@ zookeeper = ["kazoo (>=2.8.0)"] name = "libsass" version = "0.22.0" description = "Sass for Python: A straightforward binding of libsass for Python." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1479,7 +1405,6 @@ files = [ name = "lxml" version = "4.9.3" description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*" files = [ @@ -1585,7 +1510,6 @@ source = ["Cython (>=0.29.35)"] name = "markdown" version = "3.4.3" description = "Python implementation of John Gruber's Markdown." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1598,20 +1522,68 @@ testing = ["coverage", "pyyaml"] [[package]] name = "maxminddb" -version = "2.4.0" +version = "2.5.1" description = "Reader for the MaxMind DB format" -category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "maxminddb-2.4.0.tar.gz", hash = "sha256:81e54e53408bd502650e5969ccba16780af659ec1db1c44b2c997e4330a5ed96"}, + {file = "maxminddb-2.5.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:62e93a8e99937bf4307eeece3ca37e1161325ebf9363c4ce195410fb5daf64a0"}, + {file = "maxminddb-2.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea2e27a507b53dfbf2ba2ba85c98682a1ad2dac3f9941a7bffa5cb86150d0c47"}, + {file = "maxminddb-2.5.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a01b0341bd6bee431bb8c07c7ac0ed221250c7390b125c025b7d57578e78e8a3"}, + {file = "maxminddb-2.5.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:607344b1079ea647629bf962dcea7580ec864faaad3f5aae650e2e8652121d89"}, + {file = "maxminddb-2.5.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:2c2901daebd7c8a702302315e7a58cdc38e626406ad4a05b4d48634897d5f5a3"}, + {file = "maxminddb-2.5.1-cp310-cp310-win32.whl", hash = "sha256:7805ae8c9de433c38939ada2e376706a9f6740239f61fd445927b88f5b42c267"}, + {file = "maxminddb-2.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:f1e5bd58b71f322dc6c16a95a129433b1bc229d4b714f870a61c2367425396ee"}, + {file = "maxminddb-2.5.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b0bbbd58b300aaddf985f763720bdebba9f7a73168ff9f57168117f630ad1c06"}, + {file = "maxminddb-2.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a6751e2e89d62d53217870bcc2a8c887dc56ae370ba1b74e52e880761916e54"}, + {file = "maxminddb-2.5.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2ecb1be961f1969be047d07743093f0dcf2f6d4ec3a06a4555587f380a96f6e7"}, + {file = "maxminddb-2.5.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1e091c2b44673c218ee2df23adbc0b6d04fd5c646cfcb6c6fe26fb849434812a"}, + {file = "maxminddb-2.5.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09b295c401c104ae0e30f66c1a3f3c2aa4ba2cbe12a787576499356a5a4d6c1"}, + {file = "maxminddb-2.5.1-cp311-cp311-win32.whl", hash = "sha256:3d52c693baf07bba897d109b0ecb067f21fd0cc0fb266d67db456e85b80d699e"}, + {file = "maxminddb-2.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:4c67621e842c415ce336ab019a9f087305dfcf24c095b68b8e9d27848f6f6d91"}, + {file = "maxminddb-2.5.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:17ea454f61631b9815d420d48d00663f8718fc7de30be53ffcec0f73989475eb"}, + {file = "maxminddb-2.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef4d508c899ce0f37de731340759c68bfd1102a39a873675c71fae2c8d71ad97"}, + {file = "maxminddb-2.5.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c4e5ca423b1e310f0327536f5ed1a2c6e08d83289a7f909e021590b0b477cae2"}, + {file = "maxminddb-2.5.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:0a21abd85e10e5e0f60244b49c3db17e7e48befd4972e62a62833d91e2acbb49"}, + {file = "maxminddb-2.5.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:85a302d79577efe5bc308647394ffdc535dd5f062644c41103604ccf24931a05"}, + {file = "maxminddb-2.5.1-cp312-cp312-win32.whl", hash = "sha256:dd28c434fb44f825dde6a75df2c338d44645791b03480af66a4d993f93801e10"}, + {file = "maxminddb-2.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:b477852cf1741d9187b021e23723e64b063794bbf946a9b5b84cc222f3caf58a"}, + {file = "maxminddb-2.5.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a1e1a19f9740f586362f47862d0095b54d50b9d465babcaa8a563746132fe5be"}, + {file = "maxminddb-2.5.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d654895b546a47e85f2e071b98e377a60bb03cd643b9423017fa66fcd5adedce"}, + {file = "maxminddb-2.5.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0702da59b9670a72761b65cb1a52bc3032d8f6799bdab641cb8350ad5740580b"}, + {file = "maxminddb-2.5.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:2e20a70c1545d6626dcd4ce2d7ecf3d566d978ea64cb37e7952f93baff66b812"}, + {file = "maxminddb-2.5.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0cbd272db3202e948c9088e48dec62add071a47971d84ceb11d2cb2880f83e5a"}, + {file = "maxminddb-2.5.1-cp38-cp38-win32.whl", hash = "sha256:fbd01fc7d7b5b2befe914e8cdb5ed3a1c5476e57b765197cceff8d897f33d012"}, + {file = "maxminddb-2.5.1-cp38-cp38-win_amd64.whl", hash = "sha256:fe0af3ba9e1a78ed5f2ad32fc18d18b78ef233e7d0c627e1a77a525a7eb0c241"}, + {file = "maxminddb-2.5.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5d772be68cce812f7c4b15ae8c68e624c8b88ff83071e3903ca5b5f55e343c25"}, + {file = "maxminddb-2.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:910e7b3ad87d5352ed3f496bd42bffbf9f896245278b0d8e76afa1382e42a7ae"}, + {file = "maxminddb-2.5.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:892c11a8694394e97d3ac0f8d5974ea588c732d14e721f22095c58b4f584c144"}, + {file = "maxminddb-2.5.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:3ce1f42bdfce7b86cb5a56cba730fed611fb879d867e6024f0d520257bef6891"}, + {file = "maxminddb-2.5.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6667948e7501a513caef90edda2d367865097239d4c2381eb3998e9905af7209"}, + {file = "maxminddb-2.5.1-cp39-cp39-win32.whl", hash = "sha256:500d321bdefe4dcd351e4390a79b7786aab49b0536bedfa0788e5ffb0e91e421"}, + {file = "maxminddb-2.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:93f7055779caf7753810f1e2c6444af6d727393fd116ffa0767fbd54fb8c9bbf"}, + {file = "maxminddb-2.5.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:8cee4315da7cdd3f2a18f1ab1418953a7a9eda65e63095b01f03c7d3645d633e"}, + {file = "maxminddb-2.5.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c97eac5af102cede4b5f57cecb25e8f949fa4e4a8d812bed575539951c60ecaf"}, + {file = "maxminddb-2.5.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:526744b12075051fa20979090c111cc3a42a3b55e2714818270c7b84a41a8cfe"}, + {file = "maxminddb-2.5.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:fad45cd2f2e3c5fbebacb8d172a60fb22443222e549bf740a0bc7eeb849e5ce7"}, + {file = "maxminddb-2.5.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:8b98ed5c34955c48e72d35daed713ba4a6833a8a6d1204e79d2c85e644049792"}, + {file = "maxminddb-2.5.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:639aee8abd63a95baa12b94b6f3a842d51877d631879c7d08c98c68dc44a84c3"}, + {file = "maxminddb-2.5.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a7a73ab4bbc16b81983531c99fa102a0c7dae459db958c17fea48c981f5e764"}, + {file = "maxminddb-2.5.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:aae262da1940a67c3ba765c49e2308947ce68ff647f87630002c306433a98ca1"}, + {file = "maxminddb-2.5.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b223c53077a736c304b63cf5afceb928975fbd12ddae5afd6b71370bab7b4700"}, + {file = "maxminddb-2.5.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:969d0057ea5472e0b574c5293c4f3ecf49585362351c543e8ea55dc48b60f1eb"}, + {file = "maxminddb-2.5.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d4d36cf3d390f02d2bdf53d9efefb92be7bd70e07a5a86cdb79020c48c2d81b7"}, + {file = "maxminddb-2.5.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:188173c07dce0692fd5660a6eb7ea8c126d7b3a4b61496c8a8ee9e8b10186ff5"}, + {file = "maxminddb-2.5.1.tar.gz", hash = "sha256:4807d374e645bd68334e4f487ba85a27189dbc1267a98e644aa686a7927e0559"}, ] +[package.dependencies] +setuptools = ">=68.2.2" + [[package]] name = "mt-940" version = "4.30.0" description = "A library to parse MT940 files and returns smart Python collections for statistics and manipulation." -category = "main" optional = false python-versions = "*" files = [ @@ -1627,7 +1599,6 @@ tests = ["flake8", "pytest", "pytest-cache", "pytest-cover", "pytest-flake8", "p name = "multidict" version = "6.0.4" description = "multidict implementation" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1711,7 +1682,6 @@ files = [ name = "oauthlib" version = "3.2.2" description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1728,7 +1698,6 @@ signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] name = "openpyxl" version = "3.1.2" description = "A Python library to read/write Excel 2010 xlsx/xlsm files" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1743,7 +1712,6 @@ et-xmlfile = "*" name = "packaging" version = "23.2" description = "Core utilities for Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1755,7 +1723,6 @@ files = [ name = "paypal-checkout-serversdk" version = "1.0.3" description = "Deprecated" -category = "main" optional = false python-versions = "*" files = [ @@ -1770,7 +1737,6 @@ paypalhttp = "*" name = "paypalhttp" version = "1.0.1" description = "" -category = "main" optional = false python-versions = "*" files = [ @@ -1785,14 +1751,13 @@ six = ">=1.0.0" [[package]] name = "paypalrestsdk" -version = "1.13.2" +version = "1.13.3" description = "Deprecated" -category = "main" optional = false python-versions = "*" files = [ - {file = "paypalrestsdk-1.13.2-py3-none-any.whl", hash = "sha256:5bf1ffccca87354001156441fb6a7ef0ec5d16aae5a1f56eaeb18f3aea3b4624"}, - {file = "paypalrestsdk-1.13.2.tar.gz", hash = "sha256:91951f36db30d685b971e140498491a356cf1df8eff71656603aca4ed72cf35a"}, + {file = "paypalrestsdk-1.13.3-py3-none-any.whl", hash = "sha256:a3f51616ee8f6d975a5a5a8c2049db63653c843479c8fdd71c9d588a31e14560"}, + {file = "paypalrestsdk-1.13.3.tar.gz", hash = "sha256:dac236492a9ac1260a760014a2e56ab38b09d8143295b5e896545359b61fedd6"}, ] [package.dependencies] @@ -1802,21 +1767,19 @@ six = ">=1.0.0" [[package]] name = "phonenumberslite" -version = "8.13.23" +version = "8.13.26" description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers." -category = "main" optional = false python-versions = "*" files = [ - {file = "phonenumberslite-8.13.23-py2.py3-none-any.whl", hash = "sha256:7c719e35ef551a895459382e9faf592f52647312dd90b543b06460aa0e1c49c4"}, - {file = "phonenumberslite-8.13.23.tar.gz", hash = "sha256:cf6cf56c889c6787ec6b30b5791693f6dd678f633358f4aeea1fddf98d4cadcb"}, + {file = "phonenumberslite-8.13.26-py2.py3-none-any.whl", hash = "sha256:305736b1b489e2bc6831710a2f34a9324f2bf96a1e77c8e0b3136dfaf9ca7753"}, + {file = "phonenumberslite-8.13.26.tar.gz", hash = "sha256:6356f2728fa1d2c2bc9e79c3bfcfedc91a36537df7a134f150731a821a469a96"}, ] [[package]] name = "pillow" version = "9.5.0" description = "Python Imaging Library (Fork)" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1894,14 +1857,13 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa [[package]] name = "platformdirs" -version = "3.11.0" +version = "4.1.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "platformdirs-3.11.0-py3-none-any.whl", hash = "sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e"}, - {file = "platformdirs-3.11.0.tar.gz", hash = "sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3"}, + {file = "platformdirs-4.1.0-py3-none-any.whl", hash = "sha256:11c8f37bcca40db96d8144522d925583bdb7a31f7b0e37e3ed4318400a8e2380"}, + {file = "platformdirs-4.1.0.tar.gz", hash = "sha256:906d548203468492d432bcb294d4bc2fff751bf84971fbb2c10918cc206ee420"}, ] [package.extras] @@ -1912,7 +1874,6 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-co name = "ply" version = "3.11" description = "Python Lex & Yacc" -category = "main" optional = false python-versions = "*" files = [ @@ -1922,105 +1883,103 @@ files = [ [[package]] name = "pretix" -version = "2023.9.0" +version = "2023.10.0" description = "Reinventing presales, one ticket at a time" -category = "main" optional = false python-versions = ">=3.9" files = [ - {file = "pretix-2023.9.0-py3-none-any.whl", hash = "sha256:5e1f6ff2d3a32e5b84d30b729c21093cde22a9335d1a510683b1f704fd40235d"}, - {file = "pretix-2023.9.0.tar.gz", hash = "sha256:bcf787871231840ebcb12cffafc7a8d6e3ded5c3ced7dde284a1b19b87ea1221"}, + {file = "pretix-2023.10.0-py3-none-any.whl", hash = "sha256:74dd9742b102db8d71262590d4a75e9fce69861fd25f874cec0c2b8c106478c6"}, + {file = "pretix-2023.10.0.tar.gz", hash = "sha256:d0fe505e2e82841db2b69ebdb80d4d7e165260e232eb8e27c787e499edbd6a9f"}, ] [package.dependencies] arabic-reshaper = "3.0.0" babel = "*" -BeautifulSoup4 = ">=4.12.0,<4.13.0" -bleach = ">=5.0.0,<5.1.0" -celery = ">=5.3.0,<5.4.0" -chardet = ">=5.1.0,<5.2.0" +BeautifulSoup4 = "==4.12.*" +bleach = "==5.0.*" +celery = "==5.3.*" +chardet = "==5.1.*" cryptography = ">=3.4.2" -css-inline = ">=0.8.0,<0.9.0" +css-inline = "==0.8.*" defusedcsv = ">=1.1.0" dj-static = "*" -Django = ">=4.2.0,<4.3.0" -django-bootstrap3 = ">=23.1.0,<23.2.0" -django-compressor = ">=4.3.0,<4.4.0" -django-countries = ">=7.5.0,<7.6.0" +Django = "==4.2.*" +django-bootstrap3 = "==23.1.*" +django-compressor = "==4.3.*" +django-countries = "==7.5.*" django-filter = "23.2" django-formset-js-improved = "0.5.0.3" django-formtools = "2.4.1" -django-hierarkey = ">=1.1.0,<1.2.0" -django-hijack = ">=3.3.0,<3.4.0" -django-i18nfield = ">=1.9.4,<1.10.0" +django-hierarkey = "==1.1.*" +django-hijack = "==3.3.*" +django-i18nfield = ">=1.9.4,<1.10.dev0" django-libsass = "0.9" django-localflavor = "4.0" django-markup = "*" -django-oauth-toolkit = ">=2.2.0,<2.3.0" -django-otp = ">=1.2.0,<1.3.0" -django-phonenumber-field = ">=7.1.0,<7.2.0" -django-redis = ">=5.2.0,<5.3.0" -django-scopes = ">=2.0.0,<2.1.0" -django-statici18n = ">=2.3.0,<2.4.0" -djangorestframework = ">=3.14.0,<3.15.0" -dnspython = ">=2.3.0,<2.4.0" -drf-ujson2 = ">=1.7.0,<1.8.0" -geoip2 = ">=4.0.0,<5.0.0" -importlib-metadata = ">=6.0.0,<7.0.0" +django-oauth-toolkit = "==2.2.*" +django-otp = "==1.2.*" +django-phonenumber-field = "==7.1.*" +django-redis = "==5.2.*" +django-scopes = "==2.0.*" +django-statici18n = "==2.3.*" +djangorestframework = "==3.14.*" +dnspython = "==2.3.*" +drf-ujson2 = "==1.7.*" +geoip2 = "==4.*" +importlib-metadata = "==6.*" isoweek = "*" jsonschema = "*" -kombu = ">=5.3.0,<5.4.0" -libsass = ">=0.22.0,<0.23.0" +kombu = "==5.3.*" +libsass = "==0.22.*" lxml = "*" markdown = "3.4.3" -mt-940 = ">=4.30.0,<4.31.0" -oauthlib = ">=3.2.0,<3.3.0" -openpyxl = ">=3.1.0,<3.2.0" +mt-940 = "==4.30.*" +oauthlib = "==3.2.*" +openpyxl = "==3.1.*" packaging = "*" -paypal-checkout-serversdk = ">=1.0.0,<1.1.0" -paypalrestsdk = ">=1.13.0,<1.14.0" -phonenumberslite = ">=8.13.0,<8.14.0" -Pillow = ">=9.5.0,<9.6.0" +paypal-checkout-serversdk = "==1.0.*" +paypalrestsdk = "==1.13.*" +phonenumberslite = "==8.13.*" +Pillow = "==9.5.*" pretix-plugin-build = "*" -protobuf = ">=4.23.0,<4.24.0" +protobuf = "==4.23.*" psycopg2-binary = "*" pycountry = "*" pycparser = "2.21" -pycryptodome = ">=3.18.0,<3.19.0" -PyJWT = ">=2.7.0,<2.8.0" -pypdf = ">=3.9.0,<3.10.0" -python-bidi = ">=0.4.0,<0.5.0" -python-dateutil = ">=2.8.0,<2.9.0" -python-u2flib-server = ">=4.0.0,<5.0.0" +pycryptodome = "==3.18.*" +PyJWT = "==2.7.*" +pypdf = "==3.9.*" +python-bidi = "==0.4.*" +python-dateutil = "==2.8.*" +python-u2flib-server = "==4.*" pytz = "*" -pytz-deprecation-shim = ">=0.1.0,<0.2.0" +pytz-deprecation-shim = "==0.1.*" pyuca = "*" -qrcode = ">=7.4.0,<7.5.0" -redis = ">=4.6.0,<4.7.0" -reportlab = ">=4.0.0,<4.1.0" -requests = ">=2.31.0,<2.32.0" -sentry-sdk = ">=1.15.0,<1.16.0" -sepaxml = ">=2.6.0,<2.7.0" +qrcode = "==7.4.*" +redis = "==4.6.*" +reportlab = "==4.0.*" +requests = "==2.31.*" +sentry-sdk = "==1.15.*" +sepaxml = "==2.6.*" slimit = "*" -static3 = ">=0.7.0,<0.8.0" -stripe = ">=5.4.0,<5.5.0" -text-unidecode = ">=1.0.0,<2.0.0" +static3 = "==0.7.*" +stripe = "==5.4.*" +text-unidecode = "==1.*" tlds = ">=2020041600" -tqdm = ">=4.0.0,<5.0.0" +tqdm = "==4.*" vat-moss-forked = "2020.3.20.0.11.0" -vobject = ">=0.9.0,<0.10.0" -webauthn = ">=0.4.0,<0.5.0" -zeep = ">=4.2.0,<4.3.0" +vobject = "==0.9.*" +webauthn = "==0.4.*" +zeep = "==4.2.*" [package.extras] -dev = ["aiohttp (>=3.8.0,<3.9.0)", "coverage", "coveralls", "fakeredis (>=2.18.0,<2.19.0)", "flake8 (>=6.0.0,<6.1.0)", "freezegun", "isort (>=5.12.0,<5.13.0)", "pep8-naming (>=0.13.0,<0.14.0)", "potypo", "pycodestyle (>=2.10.0,<2.11.0)", "pyflakes (>=3.0.0,<3.1.0)", "pytest (>=7.3.0,<7.4.0)", "pytest-asyncio", "pytest-cache", "pytest-cov", "pytest-django (>=4.0.0,<5.0.0)", "pytest-mock (>=3.10.0,<3.11.0)", "pytest-rerunfailures (>=11.0.0,<12.0.0)", "pytest-sugar", "pytest-xdist (>=3.3.0,<3.4.0)", "responses"] +dev = ["aiohttp (==3.8.*)", "coverage", "coveralls", "fakeredis (==2.18.*)", "flake8 (==6.0.*)", "freezegun", "isort (==5.12.*)", "pep8-naming (==0.13.*)", "potypo", "pycodestyle (==2.10.*)", "pyflakes (==3.0.*)", "pytest (==7.3.*)", "pytest-asyncio", "pytest-cache", "pytest-cov", "pytest-django (==4.*)", "pytest-mock (==3.10.*)", "pytest-rerunfailures (==11.*)", "pytest-sugar", "pytest-xdist (==3.3.*)", "responses"] memcached = ["pylibmc"] [[package]] name = "pretix-plugin-build" version = "1.0.1" description = "Build toolchain for pretix plugins" -category = "main" optional = false python-versions = "*" files = [ @@ -2033,14 +1992,13 @@ django = "*" [[package]] name = "prompt-toolkit" -version = "3.0.39" +version = "3.0.41" description = "Library for building powerful interactive command lines in Python" -category = "main" optional = false python-versions = ">=3.7.0" files = [ - {file = "prompt_toolkit-3.0.39-py3-none-any.whl", hash = "sha256:9dffbe1d8acf91e3de75f3b544e4842382fc06c6babe903ac9acb74dc6e08d88"}, - {file = "prompt_toolkit-3.0.39.tar.gz", hash = "sha256:04505ade687dc26dc4284b1ad19a83be2f2afe83e7a828ace0c72f3a1df72aac"}, + {file = "prompt_toolkit-3.0.41-py3-none-any.whl", hash = "sha256:f36fe301fafb7470e86aaf90f036eef600a3210be4decf461a5b1ca8403d3cb2"}, + {file = "prompt_toolkit-3.0.41.tar.gz", hash = "sha256:941367d97fc815548822aa26c2a269fdc4eb21e9ec05fc5d447cf09bad5d75f0"}, ] [package.dependencies] @@ -2050,7 +2008,6 @@ wcwidth = "*" name = "protobuf" version = "4.23.4" description = "" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2073,7 +2030,6 @@ files = [ name = "psycopg2-binary" version = "2.9.9" description = "psycopg2 - Python-PostgreSQL Database Adapter" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2154,7 +2110,6 @@ files = [ name = "pycountry" version = "22.3.5" description = "ISO country, subdivision, language, currency and script definitions and their translations" -category = "main" optional = false python-versions = ">=3.6, <4" files = [ @@ -2168,7 +2123,6 @@ setuptools = "*" name = "pycparser" version = "2.21" description = "C parser in Python" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -2180,7 +2134,6 @@ files = [ name = "pycryptodome" version = "3.18.0" description = "Cryptographic library for Python" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -2222,7 +2175,6 @@ files = [ name = "pyjwt" version = "2.7.0" description = "JSON Web Token implementation in Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2240,7 +2192,6 @@ tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] name = "pyopenssl" version = "23.3.0" description = "Python wrapper module around the OpenSSL library" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2259,7 +2210,6 @@ test = ["flaky", "pretend", "pytest (>=3.0.1)"] name = "pypdf" version = "3.9.1" description = "A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -2278,7 +2228,6 @@ image = ["Pillow"] name = "pypng" version = "0.20220715.0" description = "Pure Python library for saving and loading PNG images" -category = "main" optional = false python-versions = "*" files = [ @@ -2290,7 +2239,6 @@ files = [ name = "python-bidi" version = "0.4.2" description = "Pure python implementation of the BiDi layout algorithm" -category = "main" optional = false python-versions = "*" files = [ @@ -2305,7 +2253,6 @@ six = "*" name = "python-dateutil" version = "2.8.2" description = "Extensions to the standard Python datetime module" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ @@ -2320,7 +2267,6 @@ six = ">=1.5" name = "python-stdnum" version = "1.19" description = "Python module to handle standardized numbers and codes" -category = "main" optional = false python-versions = "*" files = [ @@ -2337,7 +2283,6 @@ soap-fallback = ["PySimpleSOAP"] name = "python-u2flib-server" version = "4.0.1" description = "Python based U2F server library" -category = "main" optional = false python-versions = "*" files = [ @@ -2356,7 +2301,6 @@ yubiauth-server = ["WebOb", "yubiauth"] name = "pytz" version = "2023.3.post1" description = "World timezone definitions, modern and historical" -category = "main" optional = false python-versions = "*" files = [ @@ -2368,7 +2312,6 @@ files = [ name = "pytz-deprecation-shim" version = "0.1.0.post0" description = "Shims to make deprecation of pytz easier" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ @@ -2383,7 +2326,6 @@ tzdata = {version = "*", markers = "python_version >= \"3.6\""} name = "pyuca" version = "1.2" description = "a Python implementation of the Unicode Collation Algorithm" -category = "main" optional = false python-versions = "*" files = [ @@ -2395,7 +2337,6 @@ files = [ name = "qrcode" version = "7.4.2" description = "QR Code image generator" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2419,7 +2360,6 @@ test = ["coverage", "pytest"] name = "rcssmin" version = "1.1.1" description = "CSS Minifier" -category = "main" optional = false python-versions = "*" files = [ @@ -2452,7 +2392,6 @@ files = [ name = "redis" version = "4.6.0" description = "Python client for Redis database and key-value store" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2469,14 +2408,13 @@ ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)" [[package]] name = "referencing" -version = "0.30.2" +version = "0.32.0" description = "JSON Referencing + Python" -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "referencing-0.30.2-py3-none-any.whl", hash = "sha256:449b6669b6121a9e96a7f9e410b245d471e8d48964c67113ce9afe50c8dd7bdf"}, - {file = "referencing-0.30.2.tar.gz", hash = "sha256:794ad8003c65938edcdbc027f1933215e0d0ccc0291e3ce20a4d87432b59efc0"}, + {file = "referencing-0.32.0-py3-none-any.whl", hash = "sha256:bdcd3efb936f82ff86f993093f6da7435c7de69a3b3a5a06678a6050184bee99"}, + {file = "referencing-0.32.0.tar.gz", hash = "sha256:689e64fe121843dcfd57b71933318ef1f91188ffb45367332700a86ac8fd6161"}, ] [package.dependencies] @@ -2485,14 +2423,13 @@ rpds-py = ">=0.7.0" [[package]] name = "reportlab" -version = "4.0.6" +version = "4.0.7" description = "The Reportlab Toolkit" -category = "main" optional = false python-versions = ">=3.7,<4" files = [ - {file = "reportlab-4.0.6-py3-none-any.whl", hash = "sha256:ec062675202eb76f6100ed44da64f38ed3c7feb5016cf4fe7f17ce35423ab14a"}, - {file = "reportlab-4.0.6.tar.gz", hash = "sha256:069aa35da7c882921f419f6e26327e14dac1d9d0adeb40b584cdadd974d99fc0"}, + {file = "reportlab-4.0.7-py3-none-any.whl", hash = "sha256:956d5874ee56e88753cf4c49452d6a7fa54a64e049a0382bd0c0b2013a26ef9a"}, + {file = "reportlab-4.0.7.tar.gz", hash = "sha256:967c77f00efd918cc231cf8b6d8f4e477dc973b5c16557e3bd18dfaeb5a70234"}, ] [package.dependencies] @@ -2507,7 +2444,6 @@ renderpm = ["rl-renderPM (>=4.0.3,<4.1)"] name = "requests" version = "2.31.0" description = "Python HTTP for Humans." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2529,7 +2465,6 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] name = "requests-file" version = "1.5.1" description = "File transport adapter for Requests" -category = "main" optional = false python-versions = "*" files = [ @@ -2545,7 +2480,6 @@ six = "*" name = "requests-toolbelt" version = "1.0.0" description = "A utility belt for advanced users of python-requests" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -2560,7 +2494,6 @@ requests = ">=2.0.1,<3.0.0" name = "rjsmin" version = "1.2.1" description = "Javascript Minifier" -category = "main" optional = false python-versions = "*" files = [ @@ -2591,118 +2524,116 @@ files = [ [[package]] name = "rpds-py" -version = "0.10.6" +version = "0.13.2" description = "Python bindings to Rust's persistent data structures (rpds)" -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "rpds_py-0.10.6-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:6bdc11f9623870d75692cc33c59804b5a18d7b8a4b79ef0b00b773a27397d1f6"}, - {file = "rpds_py-0.10.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:26857f0f44f0e791f4a266595a7a09d21f6b589580ee0585f330aaccccb836e3"}, - {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7f5e15c953ace2e8dde9824bdab4bec50adb91a5663df08d7d994240ae6fa31"}, - {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:61fa268da6e2e1cd350739bb61011121fa550aa2545762e3dc02ea177ee4de35"}, - {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c48f3fbc3e92c7dd6681a258d22f23adc2eb183c8cb1557d2fcc5a024e80b094"}, - {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0503c5b681566e8b722fe8c4c47cce5c7a51f6935d5c7012c4aefe952a35eed"}, - {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:734c41f9f57cc28658d98270d3436dba65bed0cfc730d115b290e970150c540d"}, - {file = "rpds_py-0.10.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a5d7ed104d158c0042a6a73799cf0eb576dfd5fc1ace9c47996e52320c37cb7c"}, - {file = "rpds_py-0.10.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e3df0bc35e746cce42579826b89579d13fd27c3d5319a6afca9893a9b784ff1b"}, - {file = "rpds_py-0.10.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:73e0a78a9b843b8c2128028864901f55190401ba38aae685350cf69b98d9f7c9"}, - {file = "rpds_py-0.10.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5ed505ec6305abd2c2c9586a7b04fbd4baf42d4d684a9c12ec6110deefe2a063"}, - {file = "rpds_py-0.10.6-cp310-none-win32.whl", hash = "sha256:d97dd44683802000277bbf142fd9f6b271746b4846d0acaf0cefa6b2eaf2a7ad"}, - {file = "rpds_py-0.10.6-cp310-none-win_amd64.whl", hash = "sha256:b455492cab07107bfe8711e20cd920cc96003e0da3c1f91297235b1603d2aca7"}, - {file = "rpds_py-0.10.6-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:e8cdd52744f680346ff8c1ecdad5f4d11117e1724d4f4e1874f3a67598821069"}, - {file = "rpds_py-0.10.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:66414dafe4326bca200e165c2e789976cab2587ec71beb80f59f4796b786a238"}, - {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc435d059f926fdc5b05822b1be4ff2a3a040f3ae0a7bbbe672babb468944722"}, - {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8e7f2219cb72474571974d29a191714d822e58be1eb171f229732bc6fdedf0ac"}, - {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3953c6926a63f8ea5514644b7afb42659b505ece4183fdaaa8f61d978754349e"}, - {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2bb2e4826be25e72013916eecd3d30f66fd076110de09f0e750163b416500721"}, - {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bf347b495b197992efc81a7408e9a83b931b2f056728529956a4d0858608b80"}, - {file = "rpds_py-0.10.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:102eac53bb0bf0f9a275b438e6cf6904904908562a1463a6fc3323cf47d7a532"}, - {file = "rpds_py-0.10.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:40f93086eef235623aa14dbddef1b9fb4b22b99454cb39a8d2e04c994fb9868c"}, - {file = "rpds_py-0.10.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e22260a4741a0e7a206e175232867b48a16e0401ef5bce3c67ca5b9705879066"}, - {file = "rpds_py-0.10.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f4e56860a5af16a0fcfa070a0a20c42fbb2012eed1eb5ceeddcc7f8079214281"}, - {file = "rpds_py-0.10.6-cp311-none-win32.whl", hash = "sha256:0774a46b38e70fdde0c6ded8d6d73115a7c39d7839a164cc833f170bbf539116"}, - {file = "rpds_py-0.10.6-cp311-none-win_amd64.whl", hash = "sha256:4a5ee600477b918ab345209eddafde9f91c0acd931f3776369585a1c55b04c57"}, - {file = "rpds_py-0.10.6-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:5ee97c683eaface61d38ec9a489e353d36444cdebb128a27fe486a291647aff6"}, - {file = "rpds_py-0.10.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0713631d6e2d6c316c2f7b9320a34f44abb644fc487b77161d1724d883662e31"}, - {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5a53f5998b4bbff1cb2e967e66ab2addc67326a274567697379dd1e326bded7"}, - {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6a555ae3d2e61118a9d3e549737bb4a56ff0cec88a22bd1dfcad5b4e04759175"}, - {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:945eb4b6bb8144909b203a88a35e0a03d22b57aefb06c9b26c6e16d72e5eb0f0"}, - {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:52c215eb46307c25f9fd2771cac8135d14b11a92ae48d17968eda5aa9aaf5071"}, - {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1b3cd23d905589cb205710b3988fc8f46d4a198cf12862887b09d7aaa6bf9b9"}, - {file = "rpds_py-0.10.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:64ccc28683666672d7c166ed465c09cee36e306c156e787acef3c0c62f90da5a"}, - {file = "rpds_py-0.10.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:516a611a2de12fbea70c78271e558f725c660ce38e0006f75139ba337d56b1f6"}, - {file = "rpds_py-0.10.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9ff93d3aedef11f9c4540cf347f8bb135dd9323a2fc705633d83210d464c579d"}, - {file = "rpds_py-0.10.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d858532212f0650be12b6042ff4378dc2efbb7792a286bee4489eaa7ba010586"}, - {file = "rpds_py-0.10.6-cp312-none-win32.whl", hash = "sha256:3c4eff26eddac49d52697a98ea01b0246e44ca82ab09354e94aae8823e8bda02"}, - {file = "rpds_py-0.10.6-cp312-none-win_amd64.whl", hash = "sha256:150eec465dbc9cbca943c8e557a21afdcf9bab8aaabf386c44b794c2f94143d2"}, - {file = "rpds_py-0.10.6-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:cf693eb4a08eccc1a1b636e4392322582db2a47470d52e824b25eca7a3977b53"}, - {file = "rpds_py-0.10.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4134aa2342f9b2ab6c33d5c172e40f9ef802c61bb9ca30d21782f6e035ed0043"}, - {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e782379c2028a3611285a795b89b99a52722946d19fc06f002f8b53e3ea26ea9"}, - {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2f6da6d842195fddc1cd34c3da8a40f6e99e4a113918faa5e60bf132f917c247"}, - {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b4a9fe992887ac68256c930a2011255bae0bf5ec837475bc6f7edd7c8dfa254e"}, - {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b788276a3c114e9f51e257f2a6f544c32c02dab4aa7a5816b96444e3f9ffc336"}, - {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:caa1afc70a02645809c744eefb7d6ee8fef7e2fad170ffdeacca267fd2674f13"}, - {file = "rpds_py-0.10.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bddd4f91eede9ca5275e70479ed3656e76c8cdaaa1b354e544cbcf94c6fc8ac4"}, - {file = "rpds_py-0.10.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:775049dfa63fb58293990fc59473e659fcafd953bba1d00fc5f0631a8fd61977"}, - {file = "rpds_py-0.10.6-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:c6c45a2d2b68c51fe3d9352733fe048291e483376c94f7723458cfd7b473136b"}, - {file = "rpds_py-0.10.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0699ab6b8c98df998c3eacf51a3b25864ca93dab157abe358af46dc95ecd9801"}, - {file = "rpds_py-0.10.6-cp38-none-win32.whl", hash = "sha256:ebdab79f42c5961682654b851f3f0fc68e6cc7cd8727c2ac4ffff955154123c1"}, - {file = "rpds_py-0.10.6-cp38-none-win_amd64.whl", hash = "sha256:24656dc36f866c33856baa3ab309da0b6a60f37d25d14be916bd3e79d9f3afcf"}, - {file = "rpds_py-0.10.6-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:0898173249141ee99ffcd45e3829abe7bcee47d941af7434ccbf97717df020e5"}, - {file = "rpds_py-0.10.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9e9184fa6c52a74a5521e3e87badbf9692549c0fcced47443585876fcc47e469"}, - {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5752b761902cd15073a527b51de76bbae63d938dc7c5c4ad1e7d8df10e765138"}, - {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:99a57006b4ec39dbfb3ed67e5b27192792ffb0553206a107e4aadb39c5004cd5"}, - {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09586f51a215d17efdb3a5f090d7cbf1633b7f3708f60a044757a5d48a83b393"}, - {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e225a6a14ecf44499aadea165299092ab0cba918bb9ccd9304eab1138844490b"}, - {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b2039f8d545f20c4e52713eea51a275e62153ee96c8035a32b2abb772b6fc9e5"}, - {file = "rpds_py-0.10.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:34ad87a831940521d462ac11f1774edf867c34172010f5390b2f06b85dcc6014"}, - {file = "rpds_py-0.10.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dcdc88b6b01015da066da3fb76545e8bb9a6880a5ebf89e0f0b2e3ca557b3ab7"}, - {file = "rpds_py-0.10.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:25860ed5c4e7f5e10c496ea78af46ae8d8468e0be745bd233bab9ca99bfd2647"}, - {file = "rpds_py-0.10.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7854a207ef77319ec457c1eb79c361b48807d252d94348305db4f4b62f40f7f3"}, - {file = "rpds_py-0.10.6-cp39-none-win32.whl", hash = "sha256:e6fcc026a3f27c1282c7ed24b7fcac82cdd70a0e84cc848c0841a3ab1e3dea2d"}, - {file = "rpds_py-0.10.6-cp39-none-win_amd64.whl", hash = "sha256:e98c4c07ee4c4b3acf787e91b27688409d918212dfd34c872201273fdd5a0e18"}, - {file = "rpds_py-0.10.6-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:68fe9199184c18d997d2e4293b34327c0009a78599ce703e15cd9a0f47349bba"}, - {file = "rpds_py-0.10.6-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:3339eca941568ed52d9ad0f1b8eb9fe0958fa245381747cecf2e9a78a5539c42"}, - {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a360cfd0881d36c6dc271992ce1eda65dba5e9368575663de993eeb4523d895f"}, - {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:031f76fc87644a234883b51145e43985aa2d0c19b063e91d44379cd2786144f8"}, - {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f36a9d751f86455dc5278517e8b65580eeee37d61606183897f122c9e51cef3"}, - {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:052a832078943d2b2627aea0d19381f607fe331cc0eb5df01991268253af8417"}, - {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:023574366002bf1bd751ebaf3e580aef4a468b3d3c216d2f3f7e16fdabd885ed"}, - {file = "rpds_py-0.10.6-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:defa2c0c68734f4a82028c26bcc85e6b92cced99866af118cd6a89b734ad8e0d"}, - {file = "rpds_py-0.10.6-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:879fb24304ead6b62dbe5034e7b644b71def53c70e19363f3c3be2705c17a3b4"}, - {file = "rpds_py-0.10.6-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:53c43e10d398e365da2d4cc0bcaf0854b79b4c50ee9689652cdc72948e86f487"}, - {file = "rpds_py-0.10.6-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:3777cc9dea0e6c464e4b24760664bd8831738cc582c1d8aacf1c3f546bef3f65"}, - {file = "rpds_py-0.10.6-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:40578a6469e5d1df71b006936ce95804edb5df47b520c69cf5af264d462f2cbb"}, - {file = "rpds_py-0.10.6-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:cf71343646756a072b85f228d35b1d7407da1669a3de3cf47f8bbafe0c8183a4"}, - {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10f32b53f424fc75ff7b713b2edb286fdbfc94bf16317890260a81c2c00385dc"}, - {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:81de24a1c51cfb32e1fbf018ab0bdbc79c04c035986526f76c33e3f9e0f3356c"}, - {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac17044876e64a8ea20ab132080ddc73b895b4abe9976e263b0e30ee5be7b9c2"}, - {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5e8a78bd4879bff82daef48c14d5d4057f6856149094848c3ed0ecaf49f5aec2"}, - {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78ca33811e1d95cac8c2e49cb86c0fb71f4d8409d8cbea0cb495b6dbddb30a55"}, - {file = "rpds_py-0.10.6-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c63c3ef43f0b3fb00571cff6c3967cc261c0ebd14a0a134a12e83bdb8f49f21f"}, - {file = "rpds_py-0.10.6-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:7fde6d0e00b2fd0dbbb40c0eeec463ef147819f23725eda58105ba9ca48744f4"}, - {file = "rpds_py-0.10.6-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:79edd779cfc46b2e15b0830eecd8b4b93f1a96649bcb502453df471a54ce7977"}, - {file = "rpds_py-0.10.6-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:9164ec8010327ab9af931d7ccd12ab8d8b5dc2f4c6a16cbdd9d087861eaaefa1"}, - {file = "rpds_py-0.10.6-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:d29ddefeab1791e3c751e0189d5f4b3dbc0bbe033b06e9c333dca1f99e1d523e"}, - {file = "rpds_py-0.10.6-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:30adb75ecd7c2a52f5e76af50644b3e0b5ba036321c390b8e7ec1bb2a16dd43c"}, - {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd609fafdcdde6e67a139898196698af37438b035b25ad63704fd9097d9a3482"}, - {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6eef672de005736a6efd565577101277db6057f65640a813de6c2707dc69f396"}, - {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6cf4393c7b41abbf07c88eb83e8af5013606b1cdb7f6bc96b1b3536b53a574b8"}, - {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ad857f42831e5b8d41a32437f88d86ead6c191455a3499c4b6d15e007936d4cf"}, - {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d7360573f1e046cb3b0dceeb8864025aa78d98be4bb69f067ec1c40a9e2d9df"}, - {file = "rpds_py-0.10.6-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d08f63561c8a695afec4975fae445245386d645e3e446e6f260e81663bfd2e38"}, - {file = "rpds_py-0.10.6-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:f0f17f2ce0f3529177a5fff5525204fad7b43dd437d017dd0317f2746773443d"}, - {file = "rpds_py-0.10.6-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:442626328600bde1d09dc3bb00434f5374948838ce75c41a52152615689f9403"}, - {file = "rpds_py-0.10.6-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:e9616f5bd2595f7f4a04b67039d890348ab826e943a9bfdbe4938d0eba606971"}, - {file = "rpds_py-0.10.6.tar.gz", hash = "sha256:4ce5a708d65a8dbf3748d2474b580d606b1b9f91b5c6ab2a316e0b0cf7a4ba50"}, + {file = "rpds_py-0.13.2-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:1ceebd0ae4f3e9b2b6b553b51971921853ae4eebf3f54086be0565d59291e53d"}, + {file = "rpds_py-0.13.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:46e1ed994a0920f350a4547a38471217eb86f57377e9314fbaaa329b71b7dfe3"}, + {file = "rpds_py-0.13.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee353bb51f648924926ed05e0122b6a0b1ae709396a80eb583449d5d477fcdf7"}, + {file = "rpds_py-0.13.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:530190eb0cd778363bbb7596612ded0bb9fef662daa98e9d92a0419ab27ae914"}, + {file = "rpds_py-0.13.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:29d311e44dd16d2434d5506d57ef4d7036544fc3c25c14b6992ef41f541b10fb"}, + {file = "rpds_py-0.13.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e72f750048b32d39e87fc85c225c50b2a6715034848dbb196bf3348aa761fa1"}, + {file = "rpds_py-0.13.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db09b98c7540df69d4b47218da3fbd7cb466db0fb932e971c321f1c76f155266"}, + {file = "rpds_py-0.13.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2ac26f50736324beb0282c819668328d53fc38543fa61eeea2c32ea8ea6eab8d"}, + {file = "rpds_py-0.13.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:12ecf89bd54734c3c2c79898ae2021dca42750c7bcfb67f8fb3315453738ac8f"}, + {file = "rpds_py-0.13.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a44c8440183b43167fd1a0819e8356692bf5db1ad14ce140dbd40a1485f2dea"}, + {file = "rpds_py-0.13.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bcef4f2d3dc603150421de85c916da19471f24d838c3c62a4f04c1eb511642c1"}, + {file = "rpds_py-0.13.2-cp310-none-win32.whl", hash = "sha256:ee6faebb265e28920a6f23a7d4c362414b3f4bb30607141d718b991669e49ddc"}, + {file = "rpds_py-0.13.2-cp310-none-win_amd64.whl", hash = "sha256:ac96d67b37f28e4b6ecf507c3405f52a40658c0a806dffde624a8fcb0314d5fd"}, + {file = "rpds_py-0.13.2-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:b5f6328e8e2ae8238fc767703ab7b95785521c42bb2b8790984e3477d7fa71ad"}, + {file = "rpds_py-0.13.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:729408136ef8d45a28ee9a7411917c9e3459cf266c7e23c2f7d4bb8ef9e0da42"}, + {file = "rpds_py-0.13.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65cfed9c807c27dee76407e8bb29e6f4e391e436774bcc769a037ff25ad8646e"}, + {file = "rpds_py-0.13.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:aefbdc934115d2f9278f153952003ac52cd2650e7313750390b334518c589568"}, + {file = "rpds_py-0.13.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d48db29bd47814671afdd76c7652aefacc25cf96aad6daefa82d738ee87461e2"}, + {file = "rpds_py-0.13.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3c55d7f2d817183d43220738270efd3ce4e7a7b7cbdaefa6d551ed3d6ed89190"}, + {file = "rpds_py-0.13.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6aadae3042f8e6db3376d9e91f194c606c9a45273c170621d46128f35aef7cd0"}, + {file = "rpds_py-0.13.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5feae2f9aa7270e2c071f488fab256d768e88e01b958f123a690f1cc3061a09c"}, + {file = "rpds_py-0.13.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:51967a67ea0d7b9b5cd86036878e2d82c0b6183616961c26d825b8c994d4f2c8"}, + {file = "rpds_py-0.13.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d0c10d803549427f427085ed7aebc39832f6e818a011dcd8785e9c6a1ba9b3e"}, + {file = "rpds_py-0.13.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:603d5868f7419081d616dab7ac3cfa285296735e7350f7b1e4f548f6f953ee7d"}, + {file = "rpds_py-0.13.2-cp311-none-win32.whl", hash = "sha256:b8996ffb60c69f677245f5abdbcc623e9442bcc91ed81b6cd6187129ad1fa3e7"}, + {file = "rpds_py-0.13.2-cp311-none-win_amd64.whl", hash = "sha256:5379e49d7e80dca9811b36894493d1c1ecb4c57de05c36f5d0dd09982af20211"}, + {file = "rpds_py-0.13.2-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:8a776a29b77fe0cc28fedfd87277b0d0f7aa930174b7e504d764e0b43a05f381"}, + {file = "rpds_py-0.13.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2a1472956c5bcc49fb0252b965239bffe801acc9394f8b7c1014ae9258e4572b"}, + {file = "rpds_py-0.13.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f252dfb4852a527987a9156cbcae3022a30f86c9d26f4f17b8c967d7580d65d2"}, + {file = "rpds_py-0.13.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f0d320e70b6b2300ff6029e234e79fe44e9dbbfc7b98597ba28e054bd6606a57"}, + {file = "rpds_py-0.13.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ade2ccb937060c299ab0dfb2dea3d2ddf7e098ed63ee3d651ebfc2c8d1e8632a"}, + {file = "rpds_py-0.13.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b9d121be0217787a7d59a5c6195b0842d3f701007333426e5154bf72346aa658"}, + {file = "rpds_py-0.13.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8fa6bd071ec6d90f6e7baa66ae25820d57a8ab1b0a3c6d3edf1834d4b26fafa2"}, + {file = "rpds_py-0.13.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c918621ee0a3d1fe61c313f2489464f2ae3d13633e60f520a8002a5e910982ee"}, + {file = "rpds_py-0.13.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:25b28b3d33ec0a78e944aaaed7e5e2a94ac811bcd68b557ca48a0c30f87497d2"}, + {file = "rpds_py-0.13.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:31e220a040b89a01505128c2f8a59ee74732f666439a03e65ccbf3824cdddae7"}, + {file = "rpds_py-0.13.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:15253fff410873ebf3cfba1cc686a37711efcd9b8cb30ea21bb14a973e393f60"}, + {file = "rpds_py-0.13.2-cp312-none-win32.whl", hash = "sha256:b981a370f8f41c4024c170b42fbe9e691ae2dbc19d1d99151a69e2c84a0d194d"}, + {file = "rpds_py-0.13.2-cp312-none-win_amd64.whl", hash = "sha256:4c4e314d36d4f31236a545696a480aa04ea170a0b021e9a59ab1ed94d4c3ef27"}, + {file = "rpds_py-0.13.2-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:80e5acb81cb49fd9f2d5c08f8b74ffff14ee73b10ca88297ab4619e946bcb1e1"}, + {file = "rpds_py-0.13.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:efe093acc43e869348f6f2224df7f452eab63a2c60a6c6cd6b50fd35c4e075ba"}, + {file = "rpds_py-0.13.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c2a61c0e4811012b0ba9f6cdcb4437865df5d29eab5d6018ba13cee1c3064a0"}, + {file = "rpds_py-0.13.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:751758d9dd04d548ec679224cc00e3591f5ebf1ff159ed0d4aba6a0746352452"}, + {file = "rpds_py-0.13.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6ba8858933f0c1a979781272a5f65646fca8c18c93c99c6ddb5513ad96fa54b1"}, + {file = "rpds_py-0.13.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bfdfbe6a36bc3059fff845d64c42f2644cf875c65f5005db54f90cdfdf1df815"}, + {file = "rpds_py-0.13.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa0379c1935c44053c98826bc99ac95f3a5355675a297ac9ce0dfad0ce2d50ca"}, + {file = "rpds_py-0.13.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d5593855b5b2b73dd8413c3fdfa5d95b99d657658f947ba2c4318591e745d083"}, + {file = "rpds_py-0.13.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2a7bef6977043673750a88da064fd513f89505111014b4e00fbdd13329cd4e9a"}, + {file = "rpds_py-0.13.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:3ab96754d23372009638a402a1ed12a27711598dd49d8316a22597141962fe66"}, + {file = "rpds_py-0.13.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:e06cfea0ece444571d24c18ed465bc93afb8c8d8d74422eb7026662f3d3f779b"}, + {file = "rpds_py-0.13.2-cp38-none-win32.whl", hash = "sha256:5493569f861fb7b05af6d048d00d773c6162415ae521b7010197c98810a14cab"}, + {file = "rpds_py-0.13.2-cp38-none-win_amd64.whl", hash = "sha256:b07501b720cf060c5856f7b5626e75b8e353b5f98b9b354a21eb4bfa47e421b1"}, + {file = "rpds_py-0.13.2-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:881df98f0a8404d32b6de0fd33e91c1b90ed1516a80d4d6dc69d414b8850474c"}, + {file = "rpds_py-0.13.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d79c159adea0f1f4617f54aa156568ac69968f9ef4d1e5fefffc0a180830308e"}, + {file = "rpds_py-0.13.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38d4f822ee2f338febcc85aaa2547eb5ba31ba6ff68d10b8ec988929d23bb6b4"}, + {file = "rpds_py-0.13.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5d75d6d220d55cdced2f32cc22f599475dbe881229aeddba6c79c2e9df35a2b3"}, + {file = "rpds_py-0.13.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d97e9ae94fb96df1ee3cb09ca376c34e8a122f36927230f4c8a97f469994bff"}, + {file = "rpds_py-0.13.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:67a429520e97621a763cf9b3ba27574779c4e96e49a27ff8a1aa99ee70beb28a"}, + {file = "rpds_py-0.13.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:188435794405c7f0573311747c85a96b63c954a5f2111b1df8018979eca0f2f0"}, + {file = "rpds_py-0.13.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:38f9bf2ad754b4a45b8210a6c732fe876b8a14e14d5992a8c4b7c1ef78740f53"}, + {file = "rpds_py-0.13.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a6ba2cb7d676e9415b9e9ac7e2aae401dc1b1e666943d1f7bc66223d3d73467b"}, + {file = "rpds_py-0.13.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:eaffbd8814bb1b5dc3ea156a4c5928081ba50419f9175f4fc95269e040eff8f0"}, + {file = "rpds_py-0.13.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5a4c1058cdae6237d97af272b326e5f78ee7ee3bbffa6b24b09db4d828810468"}, + {file = "rpds_py-0.13.2-cp39-none-win32.whl", hash = "sha256:b5267feb19070bef34b8dea27e2b504ebd9d31748e3ecacb3a4101da6fcb255c"}, + {file = "rpds_py-0.13.2-cp39-none-win_amd64.whl", hash = "sha256:ddf23960cb42b69bce13045d5bc66f18c7d53774c66c13f24cf1b9c144ba3141"}, + {file = "rpds_py-0.13.2-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:97163a1ab265a1073a6372eca9f4eeb9f8c6327457a0b22ddfc4a17dcd613e74"}, + {file = "rpds_py-0.13.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:25ea41635d22b2eb6326f58e608550e55d01df51b8a580ea7e75396bafbb28e9"}, + {file = "rpds_py-0.13.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76d59d4d451ba77f08cb4cd9268dec07be5bc65f73666302dbb5061989b17198"}, + {file = "rpds_py-0.13.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e7c564c58cf8f248fe859a4f0fe501b050663f3d7fbc342172f259124fb59933"}, + {file = "rpds_py-0.13.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:61dbc1e01dc0c5875da2f7ae36d6e918dc1b8d2ce04e871793976594aad8a57a"}, + {file = "rpds_py-0.13.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fdb82eb60d31b0c033a8e8ee9f3fc7dfbaa042211131c29da29aea8531b4f18f"}, + {file = "rpds_py-0.13.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d204957169f0b3511fb95395a9da7d4490fb361763a9f8b32b345a7fe119cb45"}, + {file = "rpds_py-0.13.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c45008ca79bad237cbc03c72bc5205e8c6f66403773929b1b50f7d84ef9e4d07"}, + {file = "rpds_py-0.13.2-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:79bf58c08f0756adba691d480b5a20e4ad23f33e1ae121584cf3a21717c36dfa"}, + {file = "rpds_py-0.13.2-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:e86593bf8637659e6a6ed58854b6c87ec4e9e45ee8a4adfd936831cef55c2d21"}, + {file = "rpds_py-0.13.2-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:d329896c40d9e1e5c7715c98529e4a188a1f2df51212fd65102b32465612b5dc"}, + {file = "rpds_py-0.13.2-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:4a5375c5fff13f209527cd886dc75394f040c7d1ecad0a2cb0627f13ebe78a12"}, + {file = "rpds_py-0.13.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:06d218e4464d31301e943b65b2c6919318ea6f69703a351961e1baaf60347276"}, + {file = "rpds_py-0.13.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1f41d32a2ddc5a94df4b829b395916a4b7f103350fa76ba6de625fcb9e773ac"}, + {file = "rpds_py-0.13.2-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6bc568b05e02cd612be53900c88aaa55012e744930ba2eeb56279db4c6676eb3"}, + {file = "rpds_py-0.13.2-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9d94d78418203904730585efa71002286ac4c8ac0689d0eb61e3c465f9e608ff"}, + {file = "rpds_py-0.13.2-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bed0252c85e21cf73d2d033643c945b460d6a02fc4a7d644e3b2d6f5f2956c64"}, + {file = "rpds_py-0.13.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:244e173bb6d8f3b2f0c4d7370a1aa341f35da3e57ffd1798e5b2917b91731fd3"}, + {file = "rpds_py-0.13.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7f55cd9cf1564b7b03f238e4c017ca4794c05b01a783e9291065cb2858d86ce4"}, + {file = "rpds_py-0.13.2-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:f03a1b3a4c03e3e0161642ac5367f08479ab29972ea0ffcd4fa18f729cd2be0a"}, + {file = "rpds_py-0.13.2-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:f5f4424cb87a20b016bfdc157ff48757b89d2cc426256961643d443c6c277007"}, + {file = "rpds_py-0.13.2-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:c82bbf7e03748417c3a88c1b0b291288ce3e4887a795a3addaa7a1cfd9e7153e"}, + {file = "rpds_py-0.13.2-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:c0095b8aa3e432e32d372e9a7737e65b58d5ed23b9620fea7cb81f17672f1fa1"}, + {file = "rpds_py-0.13.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:4c2d26aa03d877c9730bf005621c92da263523a1e99247590abbbe252ccb7824"}, + {file = "rpds_py-0.13.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96f2975fb14f39c5fe75203f33dd3010fe37d1c4e33177feef1107b5ced750e3"}, + {file = "rpds_py-0.13.2-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4dcc5ee1d0275cb78d443fdebd0241e58772a354a6d518b1d7af1580bbd2c4e8"}, + {file = "rpds_py-0.13.2-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:61d42d2b08430854485135504f672c14d4fc644dd243a9c17e7c4e0faf5ed07e"}, + {file = "rpds_py-0.13.2-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d3a61e928feddc458a55110f42f626a2a20bea942ccedb6fb4cee70b4830ed41"}, + {file = "rpds_py-0.13.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7de12b69d95072394998c622cfd7e8cea8f560db5fca6a62a148f902a1029f8b"}, + {file = "rpds_py-0.13.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:87a90f5545fd61f6964e65eebde4dc3fa8660bb7d87adb01d4cf17e0a2b484ad"}, + {file = "rpds_py-0.13.2-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:9c95a1a290f9acf7a8f2ebbdd183e99215d491beea52d61aa2a7a7d2c618ddc6"}, + {file = "rpds_py-0.13.2-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:35f53c76a712e323c779ca39b9a81b13f219a8e3bc15f106ed1e1462d56fcfe9"}, + {file = "rpds_py-0.13.2-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:96fb0899bb2ab353f42e5374c8f0789f54e0a94ef2f02b9ac7149c56622eaf31"}, + {file = "rpds_py-0.13.2.tar.gz", hash = "sha256:f8eae66a1304de7368932b42d801c67969fd090ddb1a7a24f27b435ed4bed68f"}, ] [[package]] name = "sentry-sdk" version = "1.15.0" description = "Python client for Sentry (https://sentry.io)" -category = "main" optional = false python-versions = "*" files = [ @@ -2742,7 +2673,6 @@ tornado = ["tornado (>=5)"] name = "sepaxml" version = "2.6.1" description = "Python SEPA XML implementations" -category = "main" optional = false python-versions = "*" files = [ @@ -2756,18 +2686,17 @@ xmlschema = "*" [[package]] name = "setuptools" -version = "68.2.2" +version = "69.0.2" description = "Easily download, build, install, upgrade, and uninstall Python packages" -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-68.2.2-py3-none-any.whl", hash = "sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"}, - {file = "setuptools-68.2.2.tar.gz", hash = "sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87"}, + {file = "setuptools-69.0.2-py3-none-any.whl", hash = "sha256:1e8fdff6797d3865f37397be788a4e3cba233608e9b509382a2777d25ebde7f2"}, + {file = "setuptools-69.0.2.tar.gz", hash = "sha256:735896e78a4742605974de002ac60562d286fa8051a7e2299445e8e8fbb01aa6"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] @@ -2775,7 +2704,6 @@ testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jar name = "six" version = "1.16.0" description = "Python 2 and 3 compatibility utilities" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -2787,7 +2715,6 @@ files = [ name = "slimit" version = "0.8.1" description = "SlimIt - JavaScript minifier" -category = "main" optional = false python-versions = "*" files = [ @@ -2801,7 +2728,6 @@ ply = ">=3.4" name = "soupsieve" version = "2.5" description = "A modern CSS selector implementation for Beautiful Soup." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2813,7 +2739,6 @@ files = [ name = "sqlparse" version = "0.4.4" description = "A non-validating SQL parser." -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -2830,7 +2755,6 @@ test = ["pytest", "pytest-cov"] name = "static3" version = "0.7.0" description = "A really simple WSGI way to serve static (or mixed) content." -category = "main" optional = false python-versions = "*" files = [ @@ -2845,7 +2769,6 @@ kidmagic = ["kid"] name = "stripe" version = "5.4.0" description = "Python bindings for the Stripe API" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -2860,7 +2783,6 @@ requests = {version = ">=2.20", markers = "python_version >= \"3.0\""} name = "text-unidecode" version = "1.3" description = "The most basic Text::Unidecode port" -category = "main" optional = false python-versions = "*" files = [ @@ -2870,21 +2792,19 @@ files = [ [[package]] name = "tlds" -version = "2023102600" +version = "2023112100" description = "Automatically updated list of valid TLDs taken directly from IANA" -category = "main" optional = false python-versions = "*" files = [ - {file = "tlds-2023102600-py2.py3-none-any.whl", hash = "sha256:9916e91777b1c98bdaf466867b6087ba9d70dd611bb1054487c6805ec1afde26"}, - {file = "tlds-2023102600.tar.gz", hash = "sha256:4f43dc58698e6e8063768a13966b3c905a2757b95769b72899d3f70d3b168540"}, + {file = "tlds-2023112100-py2.py3-none-any.whl", hash = "sha256:17341dd4c20efefecc349c3112443d217dcc405df9c33f8bcdd60e56f61b29d0"}, + {file = "tlds-2023112100.tar.gz", hash = "sha256:3adbb9e991e804e160e7b4ff09bcfe61c6a7662f5ba0bb27d78e6a2022ed8d18"}, ] [[package]] name = "tqdm" version = "4.66.1" description = "Fast, Extensible Progress Meter" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2905,7 +2825,6 @@ telegram = ["requests"] name = "typing-extensions" version = "4.8.0" description = "Backported and Experimental Type Hints for Python 3.8+" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2917,7 +2836,6 @@ files = [ name = "tzdata" version = "2023.3" description = "Provider of IANA time zone data" -category = "main" optional = false python-versions = ">=2" files = [ @@ -2929,7 +2847,6 @@ files = [ name = "ujson" version = "5.8.0" description = "Ultra fast JSON encoder and decoder for Python" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2998,19 +2915,17 @@ files = [ [[package]] name = "urllib3" -version = "2.0.7" +version = "2.1.0" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"}, - {file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"}, + {file = "urllib3-2.1.0-py3-none-any.whl", hash = "sha256:55901e917a5896a349ff771be919f8bd99aff50b79fe58fec595eb37bbc56bb3"}, + {file = "urllib3-2.1.0.tar.gz", hash = "sha256:df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54"}, ] [package.extras] brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] -secure = ["certifi", "cryptography (>=1.9)", "idna (>=2.0.0)", "pyopenssl (>=17.1.0)", "urllib3-secure-extra"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] zstd = ["zstandard (>=0.18.0)"] @@ -3018,7 +2933,6 @@ zstd = ["zstandard (>=0.18.0)"] name = "vat-moss-forked" version = "2020.3.20.0.11.0" description = "Tools for VAT MOSS and Norway VAT on digital services." -category = "main" optional = false python-versions = "*" files = [ @@ -3028,21 +2942,19 @@ files = [ [[package]] name = "vine" -version = "5.0.0" -description = "Promises, promises, promises." -category = "main" +version = "5.1.0" +description = "Python promises." optional = false python-versions = ">=3.6" files = [ - {file = "vine-5.0.0-py2.py3-none-any.whl", hash = "sha256:4c9dceab6f76ed92105027c49c823800dd33cacce13bdedc5b914e3514b7fb30"}, - {file = "vine-5.0.0.tar.gz", hash = "sha256:7d3b1624a953da82ef63462013bbd271d3eb75751489f9807598e8f340bd637e"}, + {file = "vine-5.1.0-py3-none-any.whl", hash = "sha256:40fdf3c48b2cfe1c38a49e9ae2da6fda88e4794c810050a728bd7413811fb1dc"}, + {file = "vine-5.1.0.tar.gz", hash = "sha256:8b62e981d35c41049211cf62a0a1242d8c1ee9bd15bb196ce38aefd6799e61e0"}, ] [[package]] name = "vobject" version = "0.9.6.1" description = "A full-featured Python package for parsing and creating iCalendar and vCard files" -category = "main" optional = false python-versions = "*" files = [ @@ -3054,21 +2966,19 @@ python-dateutil = ">=2.4.0" [[package]] name = "wcwidth" -version = "0.2.8" +version = "0.2.12" description = "Measures the displayed width of unicode strings in a terminal" -category = "main" optional = false python-versions = "*" files = [ - {file = "wcwidth-0.2.8-py2.py3-none-any.whl", hash = "sha256:77f719e01648ed600dfa5402c347481c0992263b81a027344f3e1ba25493a704"}, - {file = "wcwidth-0.2.8.tar.gz", hash = "sha256:8705c569999ffbb4f6a87c6d1b80f324bd6db952f5eb0b95bc07517f4c1813d4"}, + {file = "wcwidth-0.2.12-py2.py3-none-any.whl", hash = "sha256:f26ec43d96c8cbfed76a5075dac87680124fa84e0855195a6184da9c187f133c"}, + {file = "wcwidth-0.2.12.tar.gz", hash = "sha256:f01c104efdf57971bcb756f054dd58ddec5204dd15fa31d6503ea57947d97c02"}, ] [[package]] name = "webauthn" version = "0.4.7" description = "A WebAuthn Python module." -category = "main" optional = false python-versions = "*" files = [ @@ -3087,7 +2997,6 @@ six = ">=1.11.0" name = "webencodings" version = "0.5.1" description = "Character encoding aliases for legacy web content" -category = "main" optional = false python-versions = "*" files = [ @@ -3097,94 +3006,87 @@ files = [ [[package]] name = "wrapt" -version = "1.15.0" +version = "1.16.0" description = "Module for decorators, wrappers and monkey patching." -category = "main" optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" +python-versions = ">=3.6" files = [ - {file = "wrapt-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ca1cccf838cd28d5a0883b342474c630ac48cac5df0ee6eacc9c7290f76b11c1"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e826aadda3cae59295b95343db8f3d965fb31059da7de01ee8d1c40a60398b29"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5fc8e02f5984a55d2c653f5fea93531e9836abbd84342c1d1e17abc4a15084c2"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:96e25c8603a155559231c19c0349245eeb4ac0096fe3c1d0be5c47e075bd4f46"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:40737a081d7497efea35ab9304b829b857f21558acfc7b3272f908d33b0d9d4c"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:f87ec75864c37c4c6cb908d282e1969e79763e0d9becdfe9fe5473b7bb1e5f09"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:1286eb30261894e4c70d124d44b7fd07825340869945c79d05bda53a40caa079"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:493d389a2b63c88ad56cdc35d0fa5752daac56ca755805b1b0c530f785767d5e"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:58d7a75d731e8c63614222bcb21dd992b4ab01a399f1f09dd82af17bbfc2368a"}, - {file = "wrapt-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:21f6d9a0d5b3a207cdf7acf8e58d7d13d463e639f0c7e01d82cdb671e6cb7923"}, - {file = "wrapt-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce42618f67741d4697684e501ef02f29e758a123aa2d669e2d964ff734ee00ee"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41d07d029dd4157ae27beab04d22b8e261eddfc6ecd64ff7000b10dc8b3a5727"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54accd4b8bc202966bafafd16e69da9d5640ff92389d33d28555c5fd4f25ccb7"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fbfbca668dd15b744418265a9607baa970c347eefd0db6a518aaf0cfbd153c0"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:76e9c727a874b4856d11a32fb0b389afc61ce8aaf281ada613713ddeadd1cfec"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e20076a211cd6f9b44a6be58f7eeafa7ab5720eb796975d0c03f05b47d89eb90"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a74d56552ddbde46c246b5b89199cb3fd182f9c346c784e1a93e4dc3f5ec9975"}, - {file = "wrapt-1.15.0-cp310-cp310-win32.whl", hash = "sha256:26458da5653aa5b3d8dc8b24192f574a58984c749401f98fff994d41d3f08da1"}, - {file = "wrapt-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:75760a47c06b5974aa5e01949bf7e66d2af4d08cb8c1d6516af5e39595397f5e"}, - {file = "wrapt-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ba1711cda2d30634a7e452fc79eabcadaffedf241ff206db2ee93dd2c89a60e7"}, - {file = "wrapt-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:56374914b132c702aa9aa9959c550004b8847148f95e1b824772d453ac204a72"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a89ce3fd220ff144bd9d54da333ec0de0399b52c9ac3d2ce34b569cf1a5748fb"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3bbe623731d03b186b3d6b0d6f51865bf598587c38d6f7b0be2e27414f7f214e"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3abbe948c3cbde2689370a262a8d04e32ec2dd4f27103669a45c6929bcdbfe7c"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b67b819628e3b748fd3c2192c15fb951f549d0f47c0449af0764d7647302fda3"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7eebcdbe3677e58dd4c0e03b4f2cfa346ed4049687d839adad68cc38bb559c92"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:74934ebd71950e3db69960a7da29204f89624dde411afbfb3b4858c1409b1e98"}, - {file = "wrapt-1.15.0-cp311-cp311-win32.whl", hash = "sha256:bd84395aab8e4d36263cd1b9308cd504f6cf713b7d6d3ce25ea55670baec5416"}, - {file = "wrapt-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:a487f72a25904e2b4bbc0817ce7a8de94363bd7e79890510174da9d901c38705"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:4ff0d20f2e670800d3ed2b220d40984162089a6e2c9646fdb09b85e6f9a8fc29"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9ed6aa0726b9b60911f4aed8ec5b8dd7bf3491476015819f56473ffaef8959bd"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:896689fddba4f23ef7c718279e42f8834041a21342d95e56922e1c10c0cc7afb"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:75669d77bb2c071333417617a235324a1618dba66f82a750362eccbe5b61d248"}, - {file = "wrapt-1.15.0-cp35-cp35m-win32.whl", hash = "sha256:fbec11614dba0424ca72f4e8ba3c420dba07b4a7c206c8c8e4e73f2e98f4c559"}, - {file = "wrapt-1.15.0-cp35-cp35m-win_amd64.whl", hash = "sha256:fd69666217b62fa5d7c6aa88e507493a34dec4fa20c5bd925e4bc12fce586639"}, - {file = "wrapt-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b0724f05c396b0a4c36a3226c31648385deb6a65d8992644c12a4963c70326ba"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbeccb1aa40ab88cd29e6c7d8585582c99548f55f9b2581dfc5ba68c59a85752"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38adf7198f8f154502883242f9fe7333ab05a5b02de7d83aa2d88ea621f13364"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:578383d740457fa790fdf85e6d346fda1416a40549fe8db08e5e9bd281c6a475"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:a4cbb9ff5795cd66f0066bdf5947f170f5d63a9274f99bdbca02fd973adcf2a8"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:af5bd9ccb188f6a5fdda9f1f09d9f4c86cc8a539bd48a0bfdc97723970348418"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b56d5519e470d3f2fe4aa7585f0632b060d532d0696c5bdfb5e8319e1d0f69a2"}, - {file = "wrapt-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:77d4c1b881076c3ba173484dfa53d3582c1c8ff1f914c6461ab70c8428b796c1"}, - {file = "wrapt-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:077ff0d1f9d9e4ce6476c1a924a3332452c1406e59d90a2cf24aeb29eeac9420"}, - {file = "wrapt-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5c5aa28df055697d7c37d2099a7bc09f559d5053c3349b1ad0c39000e611d317"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a8564f283394634a7a7054b7983e47dbf39c07712d7b177b37e03f2467a024e"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780c82a41dc493b62fc5884fb1d3a3b81106642c5c5c78d6a0d4cbe96d62ba7e"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e169e957c33576f47e21864cf3fc9ff47c223a4ebca8960079b8bd36cb014fd0"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b02f21c1e2074943312d03d243ac4388319f2456576b2c6023041c4d57cd7019"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f2e69b3ed24544b0d3dbe2c5c0ba5153ce50dcebb576fdc4696d52aa22db6034"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d787272ed958a05b2c86311d3a4135d3c2aeea4fc655705f074130aa57d71653"}, - {file = "wrapt-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:02fce1852f755f44f95af51f69d22e45080102e9d00258053b79367d07af39c0"}, - {file = "wrapt-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:abd52a09d03adf9c763d706df707c343293d5d106aea53483e0ec8d9e310ad5e"}, - {file = "wrapt-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cdb4f085756c96a3af04e6eca7f08b1345e94b53af8921b25c72f096e704e145"}, - {file = "wrapt-1.15.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:230ae493696a371f1dbffaad3dafbb742a4d27a0afd2b1aecebe52b740167e7f"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63424c681923b9f3bfbc5e3205aafe790904053d42ddcc08542181a30a7a51bd"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6bcbfc99f55655c3d93feb7ef3800bd5bbe963a755687cbf1f490a71fb7794b"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c99f4309f5145b93eca6e35ac1a988f0dc0a7ccf9ccdcd78d3c0adf57224e62f"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b130fe77361d6771ecf5a219d8e0817d61b236b7d8b37cc045172e574ed219e6"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:96177eb5645b1c6985f5c11d03fc2dbda9ad24ec0f3a46dcce91445747e15094"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5fe3e099cf07d0fb5a1e23d399e5d4d1ca3e6dfcbe5c8570ccff3e9208274f7"}, - {file = "wrapt-1.15.0-cp38-cp38-win32.whl", hash = "sha256:abd8f36c99512755b8456047b7be10372fca271bf1467a1caa88db991e7c421b"}, - {file = "wrapt-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:b06fa97478a5f478fb05e1980980a7cdf2712015493b44d0c87606c1513ed5b1"}, - {file = "wrapt-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2e51de54d4fb8fb50d6ee8327f9828306a959ae394d3e01a1ba8b2f937747d86"}, - {file = "wrapt-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0970ddb69bba00670e58955f8019bec4a42d1785db3faa043c33d81de2bf843c"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76407ab327158c510f44ded207e2f76b657303e17cb7a572ffe2f5a8a48aa04d"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd525e0e52a5ff16653a3fc9e3dd827981917d34996600bbc34c05d048ca35cc"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d37ac69edc5614b90516807de32d08cb8e7b12260a285ee330955604ed9dd29"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:078e2a1a86544e644a68422f881c48b84fef6d18f8c7a957ffd3f2e0a74a0d4a"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2cf56d0e237280baed46f0b5316661da892565ff58309d4d2ed7dba763d984b8"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7dc0713bf81287a00516ef43137273b23ee414fe41a3c14be10dd95ed98a2df9"}, - {file = "wrapt-1.15.0-cp39-cp39-win32.whl", hash = "sha256:46ed616d5fb42f98630ed70c3529541408166c22cdfd4540b88d5f21006b0eff"}, - {file = "wrapt-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:eef4d64c650f33347c1f9266fa5ae001440b232ad9b98f1f43dfe7a79435c0a6"}, - {file = "wrapt-1.15.0-py3-none-any.whl", hash = "sha256:64b1df0f83706b4ef4cfb4fb0e4c2669100fd7ecacfb59e091fad300d4e04640"}, - {file = "wrapt-1.15.0.tar.gz", hash = "sha256:d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a"}, + {file = "wrapt-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4"}, + {file = "wrapt-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020"}, + {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440"}, + {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487"}, + {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf"}, + {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72"}, + {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0"}, + {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136"}, + {file = "wrapt-1.16.0-cp310-cp310-win32.whl", hash = "sha256:f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d"}, + {file = "wrapt-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2"}, + {file = "wrapt-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09"}, + {file = "wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d"}, + {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389"}, + {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060"}, + {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1"}, + {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3"}, + {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956"}, + {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d"}, + {file = "wrapt-1.16.0-cp311-cp311-win32.whl", hash = "sha256:66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362"}, + {file = "wrapt-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89"}, + {file = "wrapt-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b"}, + {file = "wrapt-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36"}, + {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73"}, + {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809"}, + {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b"}, + {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81"}, + {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9"}, + {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c"}, + {file = "wrapt-1.16.0-cp312-cp312-win32.whl", hash = "sha256:685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc"}, + {file = "wrapt-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8"}, + {file = "wrapt-1.16.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8"}, + {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39"}, + {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c"}, + {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40"}, + {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc"}, + {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e"}, + {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465"}, + {file = "wrapt-1.16.0-cp36-cp36m-win32.whl", hash = "sha256:da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e"}, + {file = "wrapt-1.16.0-cp36-cp36m-win_amd64.whl", hash = "sha256:6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966"}, + {file = "wrapt-1.16.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593"}, + {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292"}, + {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5"}, + {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf"}, + {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228"}, + {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f"}, + {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c"}, + {file = "wrapt-1.16.0-cp37-cp37m-win32.whl", hash = "sha256:9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c"}, + {file = "wrapt-1.16.0-cp37-cp37m-win_amd64.whl", hash = "sha256:66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00"}, + {file = "wrapt-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0"}, + {file = "wrapt-1.16.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202"}, + {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0"}, + {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e"}, + {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f"}, + {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267"}, + {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca"}, + {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6"}, + {file = "wrapt-1.16.0-cp38-cp38-win32.whl", hash = "sha256:c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b"}, + {file = "wrapt-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41"}, + {file = "wrapt-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2"}, + {file = "wrapt-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb"}, + {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8"}, + {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c"}, + {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a"}, + {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664"}, + {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f"}, + {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537"}, + {file = "wrapt-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3"}, + {file = "wrapt-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35"}, + {file = "wrapt-1.16.0-py3-none-any.whl", hash = "sha256:6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1"}, + {file = "wrapt-1.16.0.tar.gz", hash = "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"}, ] [[package]] name = "xmlschema" version = "2.5.0" description = "An XML Schema validator and decoder" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3202,86 +3104,101 @@ docs = ["Sphinx", "elementpath (>=4.1.5,<5.0.0)", "jinja2", "sphinx-rtd-theme"] [[package]] name = "yarl" -version = "1.9.2" +version = "1.9.4" description = "Yet another URL library" -category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "yarl-1.9.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8c2ad583743d16ddbdf6bb14b5cd76bf43b0d0006e918809d5d4ddf7bde8dd82"}, - {file = "yarl-1.9.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:82aa6264b36c50acfb2424ad5ca537a2060ab6de158a5bd2a72a032cc75b9eb8"}, - {file = "yarl-1.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c0c77533b5ed4bcc38e943178ccae29b9bcf48ffd1063f5821192f23a1bd27b9"}, - {file = "yarl-1.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee4afac41415d52d53a9833ebae7e32b344be72835bbb589018c9e938045a560"}, - {file = "yarl-1.9.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9bf345c3a4f5ba7f766430f97f9cc1320786f19584acc7086491f45524a551ac"}, - {file = "yarl-1.9.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2a96c19c52ff442a808c105901d0bdfd2e28575b3d5f82e2f5fd67e20dc5f4ea"}, - {file = "yarl-1.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:891c0e3ec5ec881541f6c5113d8df0315ce5440e244a716b95f2525b7b9f3608"}, - {file = "yarl-1.9.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c3a53ba34a636a256d767c086ceb111358876e1fb6b50dfc4d3f4951d40133d5"}, - {file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:566185e8ebc0898b11f8026447eacd02e46226716229cea8db37496c8cdd26e0"}, - {file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:2b0738fb871812722a0ac2154be1f049c6223b9f6f22eec352996b69775b36d4"}, - {file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:32f1d071b3f362c80f1a7d322bfd7b2d11e33d2adf395cc1dd4df36c9c243095"}, - {file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:e9fdc7ac0d42bc3ea78818557fab03af6181e076a2944f43c38684b4b6bed8e3"}, - {file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:56ff08ab5df8429901ebdc5d15941b59f6253393cb5da07b4170beefcf1b2528"}, - {file = "yarl-1.9.2-cp310-cp310-win32.whl", hash = "sha256:8ea48e0a2f931064469bdabca50c2f578b565fc446f302a79ba6cc0ee7f384d3"}, - {file = "yarl-1.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:50f33040f3836e912ed16d212f6cc1efb3231a8a60526a407aeb66c1c1956dde"}, - {file = "yarl-1.9.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:646d663eb2232d7909e6601f1a9107e66f9791f290a1b3dc7057818fe44fc2b6"}, - {file = "yarl-1.9.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:aff634b15beff8902d1f918012fc2a42e0dbae6f469fce134c8a0dc51ca423bb"}, - {file = "yarl-1.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a83503934c6273806aed765035716216cc9ab4e0364f7f066227e1aaea90b8d0"}, - {file = "yarl-1.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b25322201585c69abc7b0e89e72790469f7dad90d26754717f3310bfe30331c2"}, - {file = "yarl-1.9.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22a94666751778629f1ec4280b08eb11815783c63f52092a5953faf73be24191"}, - {file = "yarl-1.9.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ec53a0ea2a80c5cd1ab397925f94bff59222aa3cf9c6da938ce05c9ec20428d"}, - {file = "yarl-1.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:159d81f22d7a43e6eabc36d7194cb53f2f15f498dbbfa8edc8a3239350f59fe7"}, - {file = "yarl-1.9.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:832b7e711027c114d79dffb92576acd1bd2decc467dec60e1cac96912602d0e6"}, - {file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:95d2ecefbcf4e744ea952d073c6922e72ee650ffc79028eb1e320e732898d7e8"}, - {file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:d4e2c6d555e77b37288eaf45b8f60f0737c9efa3452c6c44626a5455aeb250b9"}, - {file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:783185c75c12a017cc345015ea359cc801c3b29a2966c2655cd12b233bf5a2be"}, - {file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:b8cc1863402472f16c600e3e93d542b7e7542a540f95c30afd472e8e549fc3f7"}, - {file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:822b30a0f22e588b32d3120f6d41e4ed021806418b4c9f0bc3048b8c8cb3f92a"}, - {file = "yarl-1.9.2-cp311-cp311-win32.whl", hash = "sha256:a60347f234c2212a9f0361955007fcf4033a75bf600a33c88a0a8e91af77c0e8"}, - {file = "yarl-1.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:be6b3fdec5c62f2a67cb3f8c6dbf56bbf3f61c0f046f84645cd1ca73532ea051"}, - {file = "yarl-1.9.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:38a3928ae37558bc1b559f67410df446d1fbfa87318b124bf5032c31e3447b74"}, - {file = "yarl-1.9.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac9bb4c5ce3975aeac288cfcb5061ce60e0d14d92209e780c93954076c7c4367"}, - {file = "yarl-1.9.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3da8a678ca8b96c8606bbb8bfacd99a12ad5dd288bc6f7979baddd62f71c63ef"}, - {file = "yarl-1.9.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:13414591ff516e04fcdee8dc051c13fd3db13b673c7a4cb1350e6b2ad9639ad3"}, - {file = "yarl-1.9.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf74d08542c3a9ea97bb8f343d4fcbd4d8f91bba5ec9d5d7f792dbe727f88938"}, - {file = "yarl-1.9.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e7221580dc1db478464cfeef9b03b95c5852cc22894e418562997df0d074ccc"}, - {file = "yarl-1.9.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:494053246b119b041960ddcd20fd76224149cfea8ed8777b687358727911dd33"}, - {file = "yarl-1.9.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:52a25809fcbecfc63ac9ba0c0fb586f90837f5425edfd1ec9f3372b119585e45"}, - {file = "yarl-1.9.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:e65610c5792870d45d7b68c677681376fcf9cc1c289f23e8e8b39c1485384185"}, - {file = "yarl-1.9.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:1b1bba902cba32cdec51fca038fd53f8beee88b77efc373968d1ed021024cc04"}, - {file = "yarl-1.9.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:662e6016409828ee910f5d9602a2729a8a57d74b163c89a837de3fea050c7582"}, - {file = "yarl-1.9.2-cp37-cp37m-win32.whl", hash = "sha256:f364d3480bffd3aa566e886587eaca7c8c04d74f6e8933f3f2c996b7f09bee1b"}, - {file = "yarl-1.9.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6a5883464143ab3ae9ba68daae8e7c5c95b969462bbe42e2464d60e7e2698368"}, - {file = "yarl-1.9.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5610f80cf43b6202e2c33ba3ec2ee0a2884f8f423c8f4f62906731d876ef4fac"}, - {file = "yarl-1.9.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b9a4e67ad7b646cd6f0938c7ebfd60e481b7410f574c560e455e938d2da8e0f4"}, - {file = "yarl-1.9.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:83fcc480d7549ccebe9415d96d9263e2d4226798c37ebd18c930fce43dfb9574"}, - {file = "yarl-1.9.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5fcd436ea16fee7d4207c045b1e340020e58a2597301cfbcfdbe5abd2356c2fb"}, - {file = "yarl-1.9.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:84e0b1599334b1e1478db01b756e55937d4614f8654311eb26012091be109d59"}, - {file = "yarl-1.9.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3458a24e4ea3fd8930e934c129b676c27452e4ebda80fbe47b56d8c6c7a63a9e"}, - {file = "yarl-1.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:838162460b3a08987546e881a2bfa573960bb559dfa739e7800ceeec92e64417"}, - {file = "yarl-1.9.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4e2d08f07a3d7d3e12549052eb5ad3eab1c349c53ac51c209a0e5991bbada78"}, - {file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:de119f56f3c5f0e2fb4dee508531a32b069a5f2c6e827b272d1e0ff5ac040333"}, - {file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:149ddea5abf329752ea5051b61bd6c1d979e13fbf122d3a1f9f0c8be6cb6f63c"}, - {file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:674ca19cbee4a82c9f54e0d1eee28116e63bc6fd1e96c43031d11cbab8b2afd5"}, - {file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:9b3152f2f5677b997ae6c804b73da05a39daa6a9e85a512e0e6823d81cdad7cc"}, - {file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5415d5a4b080dc9612b1b63cba008db84e908b95848369aa1da3686ae27b6d2b"}, - {file = "yarl-1.9.2-cp38-cp38-win32.whl", hash = "sha256:f7a3d8146575e08c29ed1cd287068e6d02f1c7bdff8970db96683b9591b86ee7"}, - {file = "yarl-1.9.2-cp38-cp38-win_amd64.whl", hash = "sha256:63c48f6cef34e6319a74c727376e95626f84ea091f92c0250a98e53e62c77c72"}, - {file = "yarl-1.9.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:75df5ef94c3fdc393c6b19d80e6ef1ecc9ae2f4263c09cacb178d871c02a5ba9"}, - {file = "yarl-1.9.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c027a6e96ef77d401d8d5a5c8d6bc478e8042f1e448272e8d9752cb0aff8b5c8"}, - {file = "yarl-1.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f3b078dbe227f79be488ffcfc7a9edb3409d018e0952cf13f15fd6512847f3f7"}, - {file = "yarl-1.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59723a029760079b7d991a401386390c4be5bfec1e7dd83e25a6a0881859e716"}, - {file = "yarl-1.9.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b03917871bf859a81ccb180c9a2e6c1e04d2f6a51d953e6a5cdd70c93d4e5a2a"}, - {file = "yarl-1.9.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c1012fa63eb6c032f3ce5d2171c267992ae0c00b9e164efe4d73db818465fac3"}, - {file = "yarl-1.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a74dcbfe780e62f4b5a062714576f16c2f3493a0394e555ab141bf0d746bb955"}, - {file = "yarl-1.9.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8c56986609b057b4839968ba901944af91b8e92f1725d1a2d77cbac6972b9ed1"}, - {file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2c315df3293cd521033533d242d15eab26583360b58f7ee5d9565f15fee1bef4"}, - {file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:b7232f8dfbd225d57340e441d8caf8652a6acd06b389ea2d3222b8bc89cbfca6"}, - {file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:53338749febd28935d55b41bf0bcc79d634881195a39f6b2f767870b72514caf"}, - {file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:066c163aec9d3d073dc9ffe5dd3ad05069bcb03fcaab8d221290ba99f9f69ee3"}, - {file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8288d7cd28f8119b07dd49b7230d6b4562f9b61ee9a4ab02221060d21136be80"}, - {file = "yarl-1.9.2-cp39-cp39-win32.whl", hash = "sha256:b124e2a6d223b65ba8768d5706d103280914d61f5cae3afbc50fc3dfcc016623"}, - {file = "yarl-1.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:61016e7d582bc46a5378ffdd02cd0314fb8ba52f40f9cf4d9a5e7dbef88dee18"}, - {file = "yarl-1.9.2.tar.gz", hash = "sha256:04ab9d4b9f587c06d801c2abfe9317b77cdf996c65a90d5e84ecc45010823571"}, + {file = "yarl-1.9.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a8c1df72eb746f4136fe9a2e72b0c9dc1da1cbd23b5372f94b5820ff8ae30e0e"}, + {file = "yarl-1.9.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a3a6ed1d525bfb91b3fc9b690c5a21bb52de28c018530ad85093cc488bee2dd2"}, + {file = "yarl-1.9.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c38c9ddb6103ceae4e4498f9c08fac9b590c5c71b0370f98714768e22ac6fa66"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d9e09c9d74f4566e905a0b8fa668c58109f7624db96a2171f21747abc7524234"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8477c1ee4bd47c57d49621a062121c3023609f7a13b8a46953eb6c9716ca392"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5ff2c858f5f6a42c2a8e751100f237c5e869cbde669a724f2062d4c4ef93551"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:357495293086c5b6d34ca9616a43d329317feab7917518bc97a08f9e55648455"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54525ae423d7b7a8ee81ba189f131054defdb122cde31ff17477951464c1691c"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:801e9264d19643548651b9db361ce3287176671fb0117f96b5ac0ee1c3530d53"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e516dc8baf7b380e6c1c26792610230f37147bb754d6426462ab115a02944385"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:7d5aaac37d19b2904bb9dfe12cdb08c8443e7ba7d2852894ad448d4b8f442863"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:54beabb809ffcacbd9d28ac57b0db46e42a6e341a030293fb3185c409e626b8b"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bac8d525a8dbc2a1507ec731d2867025d11ceadcb4dd421423a5d42c56818541"}, + {file = "yarl-1.9.4-cp310-cp310-win32.whl", hash = "sha256:7855426dfbddac81896b6e533ebefc0af2f132d4a47340cee6d22cac7190022d"}, + {file = "yarl-1.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:848cd2a1df56ddbffeb375535fb62c9d1645dde33ca4d51341378b3f5954429b"}, + {file = "yarl-1.9.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:35a2b9396879ce32754bd457d31a51ff0a9d426fd9e0e3c33394bf4b9036b099"}, + {file = "yarl-1.9.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c7d56b293cc071e82532f70adcbd8b61909eec973ae9d2d1f9b233f3d943f2c"}, + {file = "yarl-1.9.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d8a1c6c0be645c745a081c192e747c5de06e944a0d21245f4cf7c05e457c36e0"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b3c1ffe10069f655ea2d731808e76e0f452fc6c749bea04781daf18e6039525"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:549d19c84c55d11687ddbd47eeb348a89df9cb30e1993f1b128f4685cd0ebbf8"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7409f968456111140c1c95301cadf071bd30a81cbd7ab829169fb9e3d72eae9"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e23a6d84d9d1738dbc6e38167776107e63307dfc8ad108e580548d1f2c587f42"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d8b889777de69897406c9fb0b76cdf2fd0f31267861ae7501d93003d55f54fbe"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:03caa9507d3d3c83bca08650678e25364e1843b484f19986a527630ca376ecce"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4e9035df8d0880b2f1c7f5031f33f69e071dfe72ee9310cfc76f7b605958ceb9"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:c0ec0ed476f77db9fb29bca17f0a8fcc7bc97ad4c6c1d8959c507decb22e8572"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:ee04010f26d5102399bd17f8df8bc38dc7ccd7701dc77f4a68c5b8d733406958"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:49a180c2e0743d5d6e0b4d1a9e5f633c62eca3f8a86ba5dd3c471060e352ca98"}, + {file = "yarl-1.9.4-cp311-cp311-win32.whl", hash = "sha256:81eb57278deb6098a5b62e88ad8281b2ba09f2f1147c4767522353eaa6260b31"}, + {file = "yarl-1.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:d1d2532b340b692880261c15aee4dc94dd22ca5d61b9db9a8a361953d36410b1"}, + {file = "yarl-1.9.4-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0d2454f0aef65ea81037759be5ca9947539667eecebca092733b2eb43c965a81"}, + {file = "yarl-1.9.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:44d8ffbb9c06e5a7f529f38f53eda23e50d1ed33c6c869e01481d3fafa6b8142"}, + {file = "yarl-1.9.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:aaaea1e536f98754a6e5c56091baa1b6ce2f2700cc4a00b0d49eca8dea471074"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3777ce5536d17989c91696db1d459574e9a9bd37660ea7ee4d3344579bb6f129"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fc5fc1eeb029757349ad26bbc5880557389a03fa6ada41703db5e068881e5f2"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ea65804b5dc88dacd4a40279af0cdadcfe74b3e5b4c897aa0d81cf86927fee78"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa102d6d280a5455ad6a0f9e6d769989638718e938a6a0a2ff3f4a7ff8c62cc4"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09efe4615ada057ba2d30df871d2f668af661e971dfeedf0c159927d48bbeff0"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:008d3e808d03ef28542372d01057fd09168419cdc8f848efe2804f894ae03e51"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6f5cb257bc2ec58f437da2b37a8cd48f666db96d47b8a3115c29f316313654ff"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:992f18e0ea248ee03b5a6e8b3b4738850ae7dbb172cc41c966462801cbf62cf7"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:0e9d124c191d5b881060a9e5060627694c3bdd1fe24c5eecc8d5d7d0eb6faabc"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3986b6f41ad22988e53d5778f91855dc0399b043fc8946d4f2e68af22ee9ff10"}, + {file = "yarl-1.9.4-cp312-cp312-win32.whl", hash = "sha256:4b21516d181cd77ebd06ce160ef8cc2a5e9ad35fb1c5930882baff5ac865eee7"}, + {file = "yarl-1.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:a9bd00dc3bc395a662900f33f74feb3e757429e545d831eef5bb280252631984"}, + {file = "yarl-1.9.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:63b20738b5aac74e239622d2fe30df4fca4942a86e31bf47a81a0e94c14df94f"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7d7f7de27b8944f1fee2c26a88b4dabc2409d2fea7a9ed3df79b67277644e17"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c74018551e31269d56fab81a728f683667e7c28c04e807ba08f8c9e3bba32f14"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ca06675212f94e7a610e85ca36948bb8fc023e458dd6c63ef71abfd482481aa5"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5aef935237d60a51a62b86249839b51345f47564208c6ee615ed2a40878dccdd"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2b134fd795e2322b7684155b7855cc99409d10b2e408056db2b93b51a52accc7"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d25039a474c4c72a5ad4b52495056f843a7ff07b632c1b92ea9043a3d9950f6e"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f7d6b36dd2e029b6bcb8a13cf19664c7b8e19ab3a58e0fefbb5b8461447ed5ec"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:957b4774373cf6f709359e5c8c4a0af9f6d7875db657adb0feaf8d6cb3c3964c"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:d7eeb6d22331e2fd42fce928a81c697c9ee2d51400bd1a28803965883e13cead"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:6a962e04b8f91f8c4e5917e518d17958e3bdee71fd1d8b88cdce74dd0ebbf434"}, + {file = "yarl-1.9.4-cp37-cp37m-win32.whl", hash = "sha256:f3bc6af6e2b8f92eced34ef6a96ffb248e863af20ef4fde9448cc8c9b858b749"}, + {file = "yarl-1.9.4-cp37-cp37m-win_amd64.whl", hash = "sha256:ad4d7a90a92e528aadf4965d685c17dacff3df282db1121136c382dc0b6014d2"}, + {file = "yarl-1.9.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ec61d826d80fc293ed46c9dd26995921e3a82146feacd952ef0757236fc137be"}, + {file = "yarl-1.9.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8be9e837ea9113676e5754b43b940b50cce76d9ed7d2461df1af39a8ee674d9f"}, + {file = "yarl-1.9.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:bef596fdaa8f26e3d66af846bbe77057237cb6e8efff8cd7cc8dff9a62278bbf"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d47552b6e52c3319fede1b60b3de120fe83bde9b7bddad11a69fb0af7db32f1"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:84fc30f71689d7fc9168b92788abc977dc8cefa806909565fc2951d02f6b7d57"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4aa9741085f635934f3a2583e16fcf62ba835719a8b2b28fb2917bb0537c1dfa"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:206a55215e6d05dbc6c98ce598a59e6fbd0c493e2de4ea6cc2f4934d5a18d130"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07574b007ee20e5c375a8fe4a0789fad26db905f9813be0f9fef5a68080de559"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5a2e2433eb9344a163aced6a5f6c9222c0786e5a9e9cac2c89f0b28433f56e23"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6ad6d10ed9b67a382b45f29ea028f92d25bc0bc1daf6c5b801b90b5aa70fb9ec"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:6fe79f998a4052d79e1c30eeb7d6c1c1056ad33300f682465e1b4e9b5a188b78"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:a825ec844298c791fd28ed14ed1bffc56a98d15b8c58a20e0e08c1f5f2bea1be"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8619d6915b3b0b34420cf9b2bb6d81ef59d984cb0fde7544e9ece32b4b3043c3"}, + {file = "yarl-1.9.4-cp38-cp38-win32.whl", hash = "sha256:686a0c2f85f83463272ddffd4deb5e591c98aac1897d65e92319f729c320eece"}, + {file = "yarl-1.9.4-cp38-cp38-win_amd64.whl", hash = "sha256:a00862fb23195b6b8322f7d781b0dc1d82cb3bcac346d1e38689370cc1cc398b"}, + {file = "yarl-1.9.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:604f31d97fa493083ea21bd9b92c419012531c4e17ea6da0f65cacdcf5d0bd27"}, + {file = "yarl-1.9.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8a854227cf581330ffa2c4824d96e52ee621dd571078a252c25e3a3b3d94a1b1"}, + {file = "yarl-1.9.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ba6f52cbc7809cd8d74604cce9c14868306ae4aa0282016b641c661f981a6e91"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a6327976c7c2f4ee6816eff196e25385ccc02cb81427952414a64811037bbc8b"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8397a3817d7dcdd14bb266283cd1d6fc7264a48c186b986f32e86d86d35fbac5"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0381b4ce23ff92f8170080c97678040fc5b08da85e9e292292aba67fdac6c34"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23d32a2594cb5d565d358a92e151315d1b2268bc10f4610d098f96b147370136"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ddb2a5c08a4eaaba605340fdee8fc08e406c56617566d9643ad8bf6852778fc7"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:26a1dc6285e03f3cc9e839a2da83bcbf31dcb0d004c72d0730e755b33466c30e"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:18580f672e44ce1238b82f7fb87d727c4a131f3a9d33a5e0e82b793362bf18b4"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:29e0f83f37610f173eb7e7b5562dd71467993495e568e708d99e9d1944f561ec"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:1f23e4fe1e8794f74b6027d7cf19dc25f8b63af1483d91d595d4a07eca1fb26c"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:db8e58b9d79200c76956cefd14d5c90af54416ff5353c5bfd7cbe58818e26ef0"}, + {file = "yarl-1.9.4-cp39-cp39-win32.whl", hash = "sha256:c7224cab95645c7ab53791022ae77a4509472613e839dab722a72abe5a684575"}, + {file = "yarl-1.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:824d6c50492add5da9374875ce72db7a0733b29c2394890aef23d533106e2b15"}, + {file = "yarl-1.9.4-py3-none-any.whl", hash = "sha256:928cecb0ef9d5a7946eb6ff58417ad2fe9375762382f1bf5c55e61645f2c43ad"}, + {file = "yarl-1.9.4.tar.gz", hash = "sha256:566db86717cf8080b99b58b083b773a908ae40f06681e87e589a976faf8246bf"}, ] [package.dependencies] @@ -3292,7 +3209,6 @@ multidict = ">=4.0" name = "zeep" version = "4.2.1" description = "A Python SOAP client" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3320,7 +3236,6 @@ xmlsec = ["xmlsec (>=0.6.1)"] name = "zipp" version = "3.17.0" description = "Backport of pathlib-compatible object wrapper for zip files" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3335,4 +3250,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "88410be40a3cb74fc8bb75fd8c143e776a5b9712b78ce5e8db361ce43b2fb417" +content-hash = "6f50be70b30ae90c359a54d1847544a3c9156822b917add7008dafc89d3d3b4e" diff --git a/pkgs/pretix/pretix-banktool-requirements.patch b/pkgs/pretix/pretix-banktool-requirements.patch index 4dfe3bd..cb78385 100644 --- a/pkgs/pretix/pretix-banktool-requirements.patch +++ b/pkgs/pretix/pretix-banktool-requirements.patch @@ -12,7 +12,7 @@ index 2eba88a..7041acd 100644 + 'fints>=3,<4.1', 'requests', - 'mt-940>=4.12*', -+ 'mt-940>=4.12,<4.29', ++ 'mt-940==4.30.0', ], -- 2.38.3 diff --git a/pkgs/pretix/pretix-banktool.nix b/pkgs/pretix/pretix-banktool.nix index 74d332d..f53f6f7 100644 --- a/pkgs/pretix/pretix-banktool.nix +++ b/pkgs/pretix/pretix-banktool.nix @@ -14,6 +14,10 @@ python3Packages.buildPythonApplication rec { ./pretix-banktool-requirements.patch ]; + buildInputs = with python3Packages; [ + pip + ]; + propagatedBuildInputs = with python3Packages; [ click fints diff --git a/pkgs/pretix/pretix-static.nix b/pkgs/pretix/pretix-static.nix index 5c0b26b..f97399c 100644 --- a/pkgs/pretix/pretix-static.nix +++ b/pkgs/pretix/pretix-static.nix @@ -7,8 +7,8 @@ let nodeEnv = buildNpmPackage rec { name = "pretix-nodejs"; - src = "${pretix.passthru.pythonModule.pkgs.pretix}/lib/python3.10/site-packages/pretix/static/npm_dir"; - npmDepsHash = "sha256-TWRYNYku+p9w2tiyDFun2HwI69/+g+lqzvfqJqPCwiE="; + src = "${pretix.passthru.pythonModule.pkgs.pretix}/lib/${pretix.python.libPrefix}/site-packages/pretix/static/npm_dir"; + npmDepsHash = "sha256-lf7GTXjvz4df1GeQ6uibwwGm+gKRU/RdNEHiCJ+zF1Y="; dontNpmBuild = true; installPhase = '' mkdir -p $out diff --git a/pkgs/pretix/pretix.nix b/pkgs/pretix/pretix.nix index a5b61f6..697f2c3 100644 --- a/pkgs/pretix/pretix.nix +++ b/pkgs/pretix/pretix.nix @@ -50,6 +50,11 @@ poetry2nix.mkPoetryApplication rec { ''; } ); + reportlab = super.reportlab.overridePythonAttrs ( + old: { + postPatch = ""; + } + ); } ); } diff --git a/pkgs/pretix/pyproject.toml b/pkgs/pretix/pyproject.toml index 250402d..541b36e 100644 --- a/pkgs/pretix/pyproject.toml +++ b/pkgs/pretix/pyproject.toml @@ -7,7 +7,7 @@ license = "MIT" [tool.poetry.dependencies] python = "^3.10" -pretix = "^2023.9.0" +pretix = "^2023.10.0" [tool.poetry.dev-dependencies] @@ -15,5 +15,5 @@ pretix = "^2023.9.0" pretix = "pretix_wrapper.__main__:main" [build-system] -requires = ["poetry>=0.12"] -build-backend = "poetry.masonry.api" +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api" From d27d488dba72e9013e6440a0a38996346af2aef9 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 7 Dec 2023 17:34:22 +0000 Subject: [PATCH 186/766] Fix pretix schema migration issue Fixes django.db.migrations.exceptions.MigrationSchemaMissing --- pkgs/pretix/module.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/pretix/module.nix b/pkgs/pretix/module.nix index 0903eb7..da43907 100644 --- a/pkgs/pretix/module.nix +++ b/pkgs/pretix/module.nix @@ -193,6 +193,7 @@ in CREATE ROLE ${postgresql.user} WITH LOGIN PASSWORD '${postgresql.password}' CREATEDB; CREATE DATABASE ${postgresql.database}; GRANT ALL PRIVILEGES ON DATABASE ${postgresql.database} TO ${postgresql.user}; + ALTER DATABASE ${postgresql.database} OWNER TO ${postgresql.user}; ''; }; From 6db9748194a929c9244ba2bc12721fcca5407cf7 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 12 Dec 2023 10:11:52 +0000 Subject: [PATCH 187/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/aeb2232d7a32530d3448318790534d196bf9427a' (2023-11-24) → 'github:nix-community/home-manager/6761b8188b860f374b457eddfdb05c82eef9752f' (2023-12-10) • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/e5ee5c5f3844550c01d2131096c7271cec5e9b78' (2023-11-25) → 'github:cachix/pre-commit-hooks.nix/e1d203c2fa7e2593c777e490213958ef81f71977' (2023-12-11) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/933d7dc155096e7575d207be6fb7792bc9f34f6d' (2023-12-02) → 'github:nixos/nixpkgs/781e2a9797ecf0f146e81425c822dca69fe4a348' (2023-12-10) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/449c6fb06be60edd4233bb9fe748a0754df185b1' (2023-12-07) → 'github:NixOS/nixpkgs/d92daec27ee4662c8a4a10206d9bfc3d7e557f90' (2023-12-12) • Updated input 'nur': 'github:nix-community/NUR/e84ed059a4145720429f38352b5852b303888733' (2023-12-07) → 'github:nix-community/NUR/afac0dcdeb4bcfd484dee11afa7c9ab0b354d251' (2023-12-12) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/9fc487b32a68473da4bf9573f85b388043c5ecda' (2023-12-06) → 'github:nix-community/poetry2nix/c12ac880114d52a3cad5fa02b00f2e2090e89982' (2023-12-12) • Updated input 'sops-nix': 'github:Mic92/sops-nix/e91ece6d2cf5a0ae729796b8f0dedceab5107c3d' (2023-12-04) → 'github:Mic92/sops-nix/d806e546f96c88cd9f7d91c1c19ebc99ba6277d9' (2023-12-10) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/dc01248a9c946953ad4d438b0a626f5c987a93e4' (2023-12-03) → 'github:NixOS/nixpkgs/b8f33c044e51de6dde3ad80a9676945e0e4e3227' (2023-12-09) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index b4ece66..1b10166 100644 --- a/flake.lock +++ b/flake.lock @@ -85,11 +85,11 @@ ] }, "locked": { - "lastModified": 1700814205, - "narHash": "sha256-lWqDPKHRbQfi+zNIivf031BUeyciVOtwCwTjyrhDB5g=", + "lastModified": 1702195709, + "narHash": "sha256-+zRjWkm5rKqQ57PuLZ3JF3xi3vPMiOJzItb1m/43Cq4=", "owner": "nix-community", "repo": "home-manager", - "rev": "aeb2232d7a32530d3448318790534d196bf9427a", + "rev": "6761b8188b860f374b457eddfdb05c82eef9752f", "type": "github" }, "original": { @@ -154,11 +154,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1700922917, - "narHash": "sha256-ej2fch/T584b5K9sk1UhmZF7W6wEfDHuoUYpFN8dtvM=", + "lastModified": 1702325376, + "narHash": "sha256-biLGx2LzU2+/qPwq+kWwVBgXs3MVYT1gPa0fCwpLplU=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "e5ee5c5f3844550c01d2131096c7271cec5e9b78", + "rev": "e1d203c2fa7e2593c777e490213958ef81f71977", "type": "github" }, "original": { @@ -202,11 +202,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1701568804, - "narHash": "sha256-iwr1fjOCvlirVL/xNvOTwY9kg3L/F3TC/7yh/QszaPI=", + "lastModified": 1702148972, + "narHash": "sha256-h2jODFP6n+ABrUWcGRSVPRFfLOkM9TJ2pO+h+9JcaL0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dc01248a9c946953ad4d438b0a626f5c987a93e4", + "rev": "b8f33c044e51de6dde3ad80a9676945e0e4e3227", "type": "github" }, "original": { @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1701956834, - "narHash": "sha256-0mdNDnp1yl5rI8IOP8tJSaPzRoOkpExkKS5Mso2QMpk=", + "lastModified": 1702374490, + "narHash": "sha256-rxF6lTo6jjtODH0+JyZz6qrbRUlgwE9GKkAzwR4oTEY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "449c6fb06be60edd4233bb9fe748a0754df185b1", + "rev": "d92daec27ee4662c8a4a10206d9bfc3d7e557f90", "type": "github" }, "original": { @@ -234,11 +234,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1701539137, - "narHash": "sha256-nVO/5QYpf1GwjvtpXhyxx5M3U/WN0MwBro4Lsk+9mL0=", + "lastModified": 1702233072, + "narHash": "sha256-H5G2wgbim2Ku6G6w+NSaQaauv6B6DlPhY9fMvArKqRo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "933d7dc155096e7575d207be6fb7792bc9f34f6d", + "rev": "781e2a9797ecf0f146e81425c822dca69fe4a348", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1701955519, - "narHash": "sha256-xu2MWIClYrNbXq5rYPEEgVWa7pB64u/KCPMceaZK86c=", + "lastModified": 1702374333, + "narHash": "sha256-XMTl+mhxt3Gu+gID/ZSuESjs6vRV6YTMZdyQWklZasA=", "owner": "nix-community", "repo": "NUR", - "rev": "e84ed059a4145720429f38352b5852b303888733", + "rev": "afac0dcdeb4bcfd484dee11afa7c9ab0b354d251", "type": "github" }, "original": { @@ -276,11 +276,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1701861752, - "narHash": "sha256-QfrE05P66856b1SMan69NPhjc9e82VtLxBKg3yiQGW8=", + "lastModified": 1702365004, + "narHash": "sha256-IRFvmyP1uk1hchRVxaXTqu6YoZCvMM/NVtUf2hD2Tag=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "9fc487b32a68473da4bf9573f85b388043c5ecda", + "rev": "c12ac880114d52a3cad5fa02b00f2e2090e89982", "type": "github" }, "original": { @@ -311,11 +311,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1701728052, - "narHash": "sha256-7lOMc3PtW5a55vFReBJLLLOnopsoi1W7MkjJ93jPV4E=", + "lastModified": 1702177193, + "narHash": "sha256-J2409SyXROoUHYXVy9h4Pj0VU8ReLuy/mzBc9iK4DBg=", "owner": "Mic92", "repo": "sops-nix", - "rev": "e91ece6d2cf5a0ae729796b8f0dedceab5107c3d", + "rev": "d806e546f96c88cd9f7d91c1c19ebc99ba6277d9", "type": "github" }, "original": { From 5595cea4221f84142522ab44512187b284003be1 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 12 Dec 2023 13:10:36 +0000 Subject: [PATCH 188/766] Remove duplicate package --- home-manager/modules/gui.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home-manager/modules/gui.nix b/home-manager/modules/gui.nix index a133844..1bc0b79 100644 --- a/home-manager/modules/gui.nix +++ b/home-manager/modules/gui.nix @@ -6,7 +6,6 @@ lib.mkIf nixosConfig.jalr.gui.enable { geeqie mpv networkmanagerapplet - networkmanagerapplet pinentry-gnome streamlink vlc From 75dce73f40bf9ff742b90eeb58c1659ee9fdfb12 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 12 Dec 2023 13:11:32 +0000 Subject: [PATCH 189/766] Add supersonic-wayland --- home-manager/modules/gui.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home-manager/modules/gui.nix b/home-manager/modules/gui.nix index 1bc0b79..1ef15d5 100644 --- a/home-manager/modules/gui.nix +++ b/home-manager/modules/gui.nix @@ -8,6 +8,7 @@ lib.mkIf nixosConfig.jalr.gui.enable { networkmanagerapplet pinentry-gnome streamlink + supersonic-wayland vlc xdg_utils ]; From 2d40c6007511a7ce0974910ed3fd9e2f2a1799f2 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 13 Dec 2023 22:02:49 +0000 Subject: [PATCH 190/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/e1d203c2fa7e2593c777e490213958ef81f71977' (2023-12-11) → 'github:cachix/pre-commit-hooks.nix/007a45d064c1c32d04e1b8a0de5ef00984c419bc' (2023-12-13) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/781e2a9797ecf0f146e81425c822dca69fe4a348' (2023-12-10) → 'github:nixos/nixpkgs/cf28ee258fd5f9a52de6b9865cdb93a1f96d09b7' (2023-12-12) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/d92daec27ee4662c8a4a10206d9bfc3d7e557f90' (2023-12-12) → 'github:NixOS/nixpkgs/45bfb4ce9d07be9a3504848b7729c8545e6c38bb' (2023-12-13) • Updated input 'nur': 'github:nix-community/NUR/afac0dcdeb4bcfd484dee11afa7c9ab0b354d251' (2023-12-12) → 'github:nix-community/NUR/0ff0cfc638d7d75b6994d7620fc033ebd6639cd3' (2023-12-13) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 1b10166..f3800bc 100644 --- a/flake.lock +++ b/flake.lock @@ -154,11 +154,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1702325376, - "narHash": "sha256-biLGx2LzU2+/qPwq+kWwVBgXs3MVYT1gPa0fCwpLplU=", + "lastModified": 1702456155, + "narHash": "sha256-I2XhXGAecdGlqi6hPWYT83AQtMgL+aa3ulA85RAEgOk=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "e1d203c2fa7e2593c777e490213958ef81f71977", + "rev": "007a45d064c1c32d04e1b8a0de5ef00984c419bc", "type": "github" }, "original": { @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1702374490, - "narHash": "sha256-rxF6lTo6jjtODH0+JyZz6qrbRUlgwE9GKkAzwR4oTEY=", + "lastModified": 1702504472, + "narHash": "sha256-iGvTSkTElkMgMuN81ivH/F9OXJ0XPMr7F0Ol5873UNk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d92daec27ee4662c8a4a10206d9bfc3d7e557f90", + "rev": "45bfb4ce9d07be9a3504848b7729c8545e6c38bb", "type": "github" }, "original": { @@ -234,11 +234,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1702233072, - "narHash": "sha256-H5G2wgbim2Ku6G6w+NSaQaauv6B6DlPhY9fMvArKqRo=", + "lastModified": 1702346276, + "narHash": "sha256-eAQgwIWApFQ40ipeOjVSoK4TEHVd6nbSd9fApiHIw5A=", "owner": "nixos", "repo": "nixpkgs", - "rev": "781e2a9797ecf0f146e81425c822dca69fe4a348", + "rev": "cf28ee258fd5f9a52de6b9865cdb93a1f96d09b7", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1702374333, - "narHash": "sha256-XMTl+mhxt3Gu+gID/ZSuESjs6vRV6YTMZdyQWklZasA=", + "lastModified": 1702503865, + "narHash": "sha256-zUOGWxCCfDCwnMI8qM3siZn0NpcAalbJtYj6pQs+iOs=", "owner": "nix-community", "repo": "NUR", - "rev": "afac0dcdeb4bcfd484dee11afa7c9ab0b354d251", + "rev": "0ff0cfc638d7d75b6994d7620fc033ebd6639cd3", "type": "github" }, "original": { From ecaeb07fc850897da76cb8a391186428e6489719 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 17 Dec 2023 12:22:46 +0000 Subject: [PATCH 191/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/6761b8188b860f374b457eddfdb05c82eef9752f' (2023-12-10) → 'github:nix-community/home-manager/aa99c2f4e9847cbb7e46fac0844ea1eb164b3b3a' (2023-12-15) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/45bfb4ce9d07be9a3504848b7729c8545e6c38bb' (2023-12-13) → 'github:NixOS/nixpkgs/b77e9f0eccfd52600c5f815615e30cb29815972c' (2023-12-17) • Updated input 'nur': 'github:nix-community/NUR/0ff0cfc638d7d75b6994d7620fc033ebd6639cd3' (2023-12-13) → 'github:nix-community/NUR/47e505f4e877fb5d469764f8e0d48f1bfcdfde55' (2023-12-17) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/c12ac880114d52a3cad5fa02b00f2e2090e89982' (2023-12-12) → 'github:nix-community/poetry2nix/9d9d434528404a22fb0c8283fea1ea3a7410ff80' (2023-12-14) • Updated input 'sops-nix': 'github:Mic92/sops-nix/d806e546f96c88cd9f7d91c1c19ebc99ba6277d9' (2023-12-10) → 'github:Mic92/sops-nix/21f2b8f123a1601fef3cf6bbbdf5171257290a77' (2023-12-17) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/b8f33c044e51de6dde3ad80a9676945e0e4e3227' (2023-12-09) → 'github:NixOS/nixpkgs/a19a71d1ee93226fd71984359552affbc1cd3dc3' (2023-12-17) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index f3800bc..18abe05 100644 --- a/flake.lock +++ b/flake.lock @@ -85,11 +85,11 @@ ] }, "locked": { - "lastModified": 1702195709, - "narHash": "sha256-+zRjWkm5rKqQ57PuLZ3JF3xi3vPMiOJzItb1m/43Cq4=", + "lastModified": 1702676849, + "narHash": "sha256-XqcREaTS38/QOsN8fk8PP325/UXHyF9enbP5ZPw5aiA=", "owner": "nix-community", "repo": "home-manager", - "rev": "6761b8188b860f374b457eddfdb05c82eef9752f", + "rev": "aa99c2f4e9847cbb7e46fac0844ea1eb164b3b3a", "type": "github" }, "original": { @@ -202,11 +202,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1702148972, - "narHash": "sha256-h2jODFP6n+ABrUWcGRSVPRFfLOkM9TJ2pO+h+9JcaL0=", + "lastModified": 1702777222, + "narHash": "sha256-/SYmqgxTYzqZnQEfbOCHCN4GzqB9uAIsR9IWLzo0/8I=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b8f33c044e51de6dde3ad80a9676945e0e4e3227", + "rev": "a19a71d1ee93226fd71984359552affbc1cd3dc3", "type": "github" }, "original": { @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1702504472, - "narHash": "sha256-iGvTSkTElkMgMuN81ivH/F9OXJ0XPMr7F0Ol5873UNk=", + "lastModified": 1702814447, + "narHash": "sha256-RSJu6QIPpFXScS//TwlJMkuprJVpEjfNGna/w6NbZVI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "45bfb4ce9d07be9a3504848b7729c8545e6c38bb", + "rev": "b77e9f0eccfd52600c5f815615e30cb29815972c", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1702503865, - "narHash": "sha256-zUOGWxCCfDCwnMI8qM3siZn0NpcAalbJtYj6pQs+iOs=", + "lastModified": 1702814871, + "narHash": "sha256-b0istFGIKjrhLl7iUdnXLykV26LwQpUA7isR4d+4hSA=", "owner": "nix-community", "repo": "NUR", - "rev": "0ff0cfc638d7d75b6994d7620fc033ebd6639cd3", + "rev": "47e505f4e877fb5d469764f8e0d48f1bfcdfde55", "type": "github" }, "original": { @@ -276,11 +276,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1702365004, - "narHash": "sha256-IRFvmyP1uk1hchRVxaXTqu6YoZCvMM/NVtUf2hD2Tag=", + "lastModified": 1702591455, + "narHash": "sha256-vK54IZysaxuUOe+abJO0wD40bxqwfZ2aBOhUWS/O/oA=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "c12ac880114d52a3cad5fa02b00f2e2090e89982", + "rev": "9d9d434528404a22fb0c8283fea1ea3a7410ff80", "type": "github" }, "original": { @@ -311,11 +311,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1702177193, - "narHash": "sha256-J2409SyXROoUHYXVy9h4Pj0VU8ReLuy/mzBc9iK4DBg=", + "lastModified": 1702812162, + "narHash": "sha256-18cKptpAAfkatdQgjO5SZXZsbc1IVPRoYx2AxaiooL4=", "owner": "Mic92", "repo": "sops-nix", - "rev": "d806e546f96c88cd9f7d91c1c19ebc99ba6277d9", + "rev": "21f2b8f123a1601fef3cf6bbbdf5171257290a77", "type": "github" }, "original": { From 83c75dee75dc0f5dd26f5eb4041438a0031ec906 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 30 Nov 2023 10:13:47 +0000 Subject: [PATCH 192/766] Add home-assistant --- hosts/iron/ports.nix | 2 + hosts/iron/secrets.yaml | 7 +- hosts/iron/services/default.nix | 2 + hosts/iron/services/dnsmasq.nix | 5 +- hosts/iron/services/esphome/default.nix | 70 ++++++++++++ hosts/iron/services/esphome/devices/README.md | 12 +++ .../devices/chinafrickeldeckenleuchte.yaml | 44 ++++++++ .../devices/eingang-deckenleuchte.yaml | 24 +++++ .../devices/led-panel-schreibtisch.yaml | 59 ++++++++++ .../esphome/devices/yeelight-meteorite.yaml | 96 +++++++++++++++++ hosts/iron/services/home-assistant.nix | 102 ++++++++++++++++++ pkgs/default.nix | 3 + .../circadian_lighting.nix | 19 ++++ 13 files changed, 441 insertions(+), 4 deletions(-) create mode 100644 hosts/iron/services/esphome/default.nix create mode 100644 hosts/iron/services/esphome/devices/README.md create mode 100644 hosts/iron/services/esphome/devices/chinafrickeldeckenleuchte.yaml create mode 100644 hosts/iron/services/esphome/devices/eingang-deckenleuchte.yaml create mode 100644 hosts/iron/services/esphome/devices/led-panel-schreibtisch.yaml create mode 100644 hosts/iron/services/esphome/devices/yeelight-meteorite.yaml create mode 100644 hosts/iron/services/home-assistant.nix create mode 100644 pkgs/home-assistant-custom-components/circadian_lighting.nix diff --git a/hosts/iron/ports.nix b/hosts/iron/ports.nix index 4eac1eb..b9fe77b 100644 --- a/hosts/iron/ports.nix +++ b/hosts/iron/ports.nix @@ -1,6 +1,8 @@ { lib, custom-utils, ... }: custom-utils.validatePortAttrset { + esphome.tcp = 6052; + home-assistant.tcp = 8123; jellyfin.tcp = 8096; matrix-synapse.tcp = 8008; navidrome.tcp = 4533; diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index c0cad33..2b1706b 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -9,6 +9,7 @@ dkim-keys: radicale-htpasswd: ENC[AES256_GCM,data:Q0WnleP9I4xozsL/H+5oV3Ag7khfalV40A6ub+DA07U8UKna3/ju533RmjWOnETzSNa6XK140nfCcfGZCiqGyF9tfuuXcKFu+j4=,iv:87PSvHyKF7QUQZmEuxM+IT0VKSGnS0MjoUmCqJ+6tzI=,tag:yrP3TgxE8aSZf0MrCF9dsQ==,type:str] synapse-turn-shared-secret: ENC[AES256_GCM,data:Q1XRds3Zud1kYkvD6s9WUzP+kNDNsxB5SHd6oCAaLCHhHhYENSAYTZOF+rGjCPNyKFL0e/A=,iv:zScRQrz+pXHNUh/BGOaV+TVnDR3wu1Z/UO1zXarKwtA=,tag:ckpVziE+yb0FjctcT7tAkg==,type:str] rmfakecloud: ENC[AES256_GCM,data:ktKBKb6cRv1VF8tRvXIpxIy9hPinVPKK05mgvYzz18PEdcrCLpldm5xf7ffHtY5XzDOAMXDCiz6x4xyv7071frrF0spOEPnIzVhxwG8H2Ck=,iv:qJdHjv0RziAs4G9UGeRwGQ4GE5kaObJWpIYWpRKhr9c=,tag:PXgvU1hZK/gvWGyFJaHekg==,type:str] +esphome: ENC[AES256_GCM,data:RykNTaLwXD9pvCepexxPv0TY5Hk1c1JQWerehuaTSfYIPJ8/tXWQ8XJWoHs7+wJZCV+7nXY9ZpWDlWdWUqDfKcHnv62BdwnuW5L9baY1PLq4WISpRKsND99euDLuicvbpej5GBwMhxr7XFKVkAlbEpAEj1c+qAv27gEg0tC4Jkn8nl4+qi+f9TeRXv1miijAFgxqZ+C+9nQ2NM6zeMXgD5NS0PqzgP43NhTrC8s0QYOb9Gry78jEbzEfvquFJ+CmqEwoL3NZ/ynQQlO3IUfOwmJlMyhEVmetPs8sMyMIbmHrLlfCKb9KFUjZCJAsJhSq2QgByPB6mHotd4Nu9P/1xkzuy+hQImrlIK7Sz4bo1tp9CM5czRwU6GOmG7haC2UebSSGzhp8cHnhDtMbKbyqDLdTBsn9ilI/lvzNbuvyvygcaos5a8o3nO9MtVrgvUKowIb5wOHxvUrr8fXIAyrLEAdMVNl0UtPlJSBCRe8WFulhqGrgGECzt/seBoRZvzsgwXnSZgbYGTjIA7UR//0J4p877HFQTdEiUVEudK9vp3u8/GoDKThIy3A=,iv:mVL86y99wQ2M8kum2IotrYQbqswcTgcglCQSegoYzFI=,tag:ZhW1eCd6B59eNhipTb/2Mg==,type:str] sops: kms: [] gcp_kms: [] @@ -24,8 +25,8 @@ sops: TjdZRldhSzVtMkVoTzY1NjdGbCswRVUK0pi+8UuLqRmytcR2ikxOAM02iccl8P1y ixv0PKPLd+vQ23QeeQy/TfoGx16XttaDUnUrPLZR3TUKtAcld8+m6w== -----END AGE ENCRYPTED FILE----- - lastmodified: "2023-11-15T22:26:56Z" - mac: ENC[AES256_GCM,data:cFb5BwiT6WIAuPmYD0wQZLy+DyS7+uZk81aNWDV8stnOdBEBJoiG+jVG585u1Cl3cp2d2TWTlg5lYJSIbk0Rxp3/typg+C31VxTKffTf6iS3r93mAUVsrN51QPn8DIJ7G6Rrf3JCNI+nTJ4LKH472QMd7da6atYb1TmFmLEmWrs=,iv:sqqQz38aThr4M8nxHu/VdvCkbQOZYUzJAtVvnBjNNsU=,tag:HiXOZBjznGrgKo6MjH51FQ==,type:str] + lastmodified: "2023-12-13T21:51:59Z" + mac: ENC[AES256_GCM,data:EIJ8A537IFnubCKL1QCZbhnsPG1qCDt2jGiYCaOolTvxzuB30xxSpqaUE++9wZopQbKn8MAayaO06zaj4D0ix+CrYokPqpI73/XC+rO33YZMQzb72fbRoy9oPQdb3LSlqNyNP7Gu7/Q/ByfEacLlg+wD+e6mmueHmnmF7wt1lZ8=,iv:vhF/KmogG7jJgl1jflvdlRwuA569xL0DEjjozXrqQRI=,tag:NyYvcbqFWwq89IJ0NeF3oA==,type:str] pgp: - created_at: "2023-05-02T19:30:42Z" enc: | @@ -39,4 +40,4 @@ sops: -----END PGP MESSAGE----- fp: 66FB54F6081375106EEBF651A222365EB448F934 unencrypted_suffix: _unencrypted - version: 3.7.3 + version: 3.8.1 diff --git a/hosts/iron/services/default.nix b/hosts/iron/services/default.nix index 1fb2cfc..1e4c1dd 100644 --- a/hosts/iron/services/default.nix +++ b/hosts/iron/services/default.nix @@ -2,6 +2,8 @@ imports = [ ./dnsmasq.nix ./dyndns.nix + ./home-assistant.nix + ./esphome ./jellyfin.nix ./mail.nix ./matrix diff --git a/hosts/iron/services/dnsmasq.nix b/hosts/iron/services/dnsmasq.nix index 94a148e..3233865 100644 --- a/hosts/iron/services/dnsmasq.nix +++ b/hosts/iron/services/dnsmasq.nix @@ -13,7 +13,10 @@ in ]; interface = "lo"; expand-hosts = true; - domain = "lan.bw.jalr.de"; + domain = [ + "lan.bw.jalr.de,192.168.42.0/24" + "iot.bw.jalr.de,10.20.0.0/22" + ]; dhcp-range = [ "192.168.42.20,192.168.42.254,4h" "10.20.0.20,10.20.3.254,12h" diff --git a/hosts/iron/services/esphome/default.nix b/hosts/iron/services/esphome/default.nix new file mode 100644 index 0000000..03599a9 --- /dev/null +++ b/hosts/iron/services/esphome/default.nix @@ -0,0 +1,70 @@ +args@{ lib, pkgs, config, custom-utils, ... }: +let + ports = import ../../ports.nix args; + cfg = config.services.esphome; + stateDir = "/var/lib/esphome"; + devices = [ + ./yeelight-meteorite.yaml + ]; + cfgdir = pkgs.stdenvNoCC.mkDerivation { + name = "esphome-config"; + src = ./devices; + dontBuild = true; + installPhase = '' + mkdir $out + cp -r * $out + ln -snf "${config.sops.secrets.esphome.path}" "$out/secrets.yaml" + ln -snf "${stateDir}/.esphome" "$out/.esphome" + ln -snf "${stateDir}/.gitignore" "$out/.gitignore" + ''; + }; + esphomeParams = + if cfg.enableUnixSocket + then "--socket /run/esphome/esphome.sock" + else "--address ${cfg.address} --port ${toString cfg.port}"; +in +{ + sops.secrets.esphome = { + sopsFile = ../../secrets.yaml; + owner = "esphome"; + group = "esphome"; + mode = "0400"; + }; + + services.esphome = { + enable = true; + address = "127.0.0.1"; + port = ports.esphome.tcp; + /* + package = pkgs.esphome.overrideAttrs (o: o // { + propagatedBuildInputs = (o.propagatedBuildInputs or []) ++ [ + pkgs.gcc + ]; + makeWrapperArgs = [ + # platformio is used in esphomeyaml/platformio_api.py + # esptool is used in esphomeyaml/__main__.py + # git is used in esphomeyaml/writer.py + "--prefix PATH : ${lib.makeBinPath (with pkgs; [ platformio esptool_3 git gcc])}" + "--set ESPHOME_USE_SUBPROCESS ''" + ]; + }); + */ + }; + + systemd.services.esphome.serviceConfig = { + WorkingDirectory = lib.mkForce cfgdir; + ExecStart = lib.mkForce "${cfg.package}/bin/esphome dashboard ${esphomeParams} ${cfgdir}"; + /* + Environment = [ + "NIX_LD=/nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib/ld-linux-x86-64.so.2" + "NIX_LD_LIBRARY_PATH=/nix/store/myw67gkgayf3s2mniij7zwd79lxy8v0k-gcc-12.3.0-lib/lib" + ]; + */ + }; + + system.activationScripts.esphome-custom.text = '' + mkdir -p "${stateDir}/.esphome" + touch "${stateDir}/.gitignore" + chown esphome:esphome "${stateDir}/.esphome" "${stateDir}/.gitignore" + ''; +} diff --git a/hosts/iron/services/esphome/devices/README.md b/hosts/iron/services/esphome/devices/README.md new file mode 100644 index 0000000..4b38621 --- /dev/null +++ b/hosts/iron/services/esphome/devices/README.md @@ -0,0 +1,12 @@ +## Generating passwords + + +Generate home-assistant API key +```sh +dd if=/dev/random bs=32 count=1 | base64 +``` + +Generate OTA secret +```sh +pwgen 14 1 +``` diff --git a/hosts/iron/services/esphome/devices/chinafrickeldeckenleuchte.yaml b/hosts/iron/services/esphome/devices/chinafrickeldeckenleuchte.yaml new file mode 100644 index 0000000..371d9fe --- /dev/null +++ b/hosts/iron/services/esphome/devices/chinafrickeldeckenleuchte.yaml @@ -0,0 +1,44 @@ +esp8266: + board: d1_mini + framework: + version: recommended + +logger: + +bp5758d: + data_pin: GPIO4 + clock_pin: GPIO5 + +output: + - platform: bp5758d + id: output_ch1 + channel: 1 + current: 20 + - platform: bp5758d + id: output_ch2 + channel: 2 + current: 20 + - platform: bp5758d + id: output_ch3 + channel: 3 + current: 20 + - platform: bp5758d + id: output_ch4 + channel: 4 + current: 20 + - platform: bp5758d + id: output_ch5 + channel: 5 + current: 20 + +light: + - platform: rgbww + name: Deckenleuchte + id: ceiling_light + red: output_ch1 + green: output_ch2 + blue: output_ch3 + warm_white: output_ch4 + cold_white: output_ch5 + warm_white_color_temperature: 2700 K + cold_white_color_temperature: 6500 K diff --git a/hosts/iron/services/esphome/devices/eingang-deckenleuchte.yaml b/hosts/iron/services/esphome/devices/eingang-deckenleuchte.yaml new file mode 100644 index 0000000..b752069 --- /dev/null +++ b/hosts/iron/services/esphome/devices/eingang-deckenleuchte.yaml @@ -0,0 +1,24 @@ +<<: !include chinafrickeldeckenleuchte.yaml + +esphome: + name: "eingang-deckenleuchte" + friendly_name: "Eingang Deckenleuchte" + on_boot: + then: + - light.turn_on: + id: ceiling_light + brightness: 50% + color_brightness: 0% + color_temperature: 2700 K + +api: + encryption: + key: !secret apikey_eingang_deckenleuchte + +ota: + password: !secret otapass_eingang_deckenleuchte + +wifi: + ssid: !secret wifi_ssid_bw + password: !secret wifi_password_bw + domain: .iot.bw.jalr.de diff --git a/hosts/iron/services/esphome/devices/led-panel-schreibtisch.yaml b/hosts/iron/services/esphome/devices/led-panel-schreibtisch.yaml new file mode 100644 index 0000000..a58e7e5 --- /dev/null +++ b/hosts/iron/services/esphome/devices/led-panel-schreibtisch.yaml @@ -0,0 +1,59 @@ +esphome: + name: "led-panel-schreibtisch" + friendly_name: "LED Panel Schreibtisch" + on_boot: + then: + - light.turn_on: + id: panel + brightness: 50% + color_brightness: 0% + color_temperature: 2700 K + +api: + encryption: + key: !secret apikey_panel_schreibtisch + +ota: + password: !secret otapass_panel_schreibtisch + +wifi: + ssid: !secret wifi_ssid_bw + password: !secret wifi_password_bw + domain: .iot.bw.jalr.de + +esp32: + board: wemos_d1_uno32 + framework: + type: arduino + version: recommended + platform_version: 5.4.0 + +logger: + +output: + - platform: ledc + pin: GPIO16 + id: output_warm + power_supply: power + frequency: 2kHz + - platform: ledc + pin: GPIO17 + id: output_cold + power_supply: power + frequency: 2kHz + +power_supply: + - id: power + pin: GPIO25 + enable_time: 0s + keep_on_time: 0s + +light: + - platform: cwww + name: "panel" + id: panel + cold_white: output_cold + warm_white: output_warm + cold_white_color_temperature: 6500 K + warm_white_color_temperature: 2700 K + gamma_correct: 0 diff --git a/hosts/iron/services/esphome/devices/yeelight-meteorite.yaml b/hosts/iron/services/esphome/devices/yeelight-meteorite.yaml new file mode 100644 index 0000000..617aae1 --- /dev/null +++ b/hosts/iron/services/esphome/devices/yeelight-meteorite.yaml @@ -0,0 +1,96 @@ +esphome: + name: "yeelight-meteorite" + friendly_name: "Yeelight Meteorite" + on_boot: + then: + - light.turn_on: + id: ceiling_light + brightness: 50% + color_temperature: 2700 K + +esp32: + board: esp32dev + framework: + type: esp-idf + sdkconfig_options: + CONFIG_FREERTOS_UNICORE: y + advanced: + ignore_efuse_mac_crc: true + +logger: + +api: + encryption: + key: !secret apikey_yeelight_meteorite + +ota: + password: !secret otapass_yeelight_meteorite + +wifi: + ssid: !secret wifi_ssid_bw + password: !secret wifi_password_bw + domain: .iot.bw.jalr.de + +output: + - platform: ledc + pin: GPIO19 + id: output_warm + power_supply: power +# min_power: 0.13 + max_power: 0.82 + - platform: ledc + pin: GPIO21 + id: output_cold + power_supply: power +# min_power: 0.13 + max_power: 0.82 + + - platform: ledc + pin: GPIO23 + id: output_nightlight + power_supply: power + + - platform: ledc + pin: GPIO33 + id: output_red + power_supply: power + - platform: ledc + pin: GPIO26 + id: output_green + power_supply: power + - platform: ledc + pin: GPIO27 + id: output_blue + power_supply: power + +power_supply: + - id: power + pin: GPIO22 + enable_time: 0s + keep_on_time: 0s + +light: + - platform: monochromatic + name: "night light" + id: night_light + output: output_nightlight + gamma_correct: 0 + on_turn_on: + - light.turn_off: ceiling_light + - platform: cwww + name: "ceiling light" + id: ceiling_light + cold_white: output_cold + warm_white: output_warm + cold_white_color_temperature: 6500 K + warm_white_color_temperature: 2700 K + constant_brightness: true + gamma_correct: 0 + on_turn_on: + - light.turn_off: night_light + - platform: rgb + name: "ambient light" + red: output_red + green: output_green + blue: output_blue + gamma_correct: 0 diff --git a/hosts/iron/services/home-assistant.nix b/hosts/iron/services/home-assistant.nix new file mode 100644 index 0000000..a3d1633 --- /dev/null +++ b/hosts/iron/services/home-assistant.nix @@ -0,0 +1,102 @@ +args@{ lib, pkgs, config, custom-utils, ... }: +let + ports = import ../ports.nix args; +in +{ + services.home-assistant = { + enable = true; + lovelaceConfig = { + title = "Home"; + views = [ + { + path = "default_view"; + title = "Home"; + cards = [ + { + type = "entities"; + entities = [ + "switch.circadian_lighting_circadian_lighting" + ]; + } + { + title = "Eingang"; + type = "entities"; + entities = [ + { + entity = "light.eingang_deckenleuchte_deckenleuchte"; + name = "Deckenleuchte"; + } + ]; + } + { + name = "Esstisch"; + type = "entities"; + entities = [ + { + entity = "light.yeelight_meteorite_ambient_light"; + name = "Ambient light"; + } + { + entity = "light.yeelight_meteorite_ceiling_light"; + name = "Ceiling light"; + } + { + entity = "light.yeelight_meteorite_night_light"; + name = "Night light"; + } + ]; + } + ]; + } + ]; + }; + extraComponents = [ + # See https://www.home-assistant.io/integrations + "esphome" + ]; + customComponents = [ + pkgs.home-assistant-custom-components.circadian_lighting + ]; + lovelaceConfigWritable = false; + configWritable = false; + config = { + http = { + server_host = [ "127.0.0.1" ]; + server_port = ports.home-assistant.tcp; + use_x_forwarded_for = true; + trusted_proxies = [ "127.0.0.1" ]; + }; + homeassistant = { + unit_system = "metric"; + time_zone = "Europe/Berlin"; + temperature_unit = "C"; + longitude = config.location.longitude; + latitude = config.location.latitude; + }; + default_config = { }; + circadian_lighting = { }; + switch = [ + { + platform = "circadian_lighting"; + lights_ct = [ + "light.yeelight_meteorite_ceiling_light" + "light.eingang_deckenleuchte_deckenleuchte" + "light.led_panel_schreibtisch_panel" + ]; + min_brightness = 20; + } + ]; + }; + }; + + services.nginx.virtualHosts."hass.jalr.de" = { + enableACME = true; + forceSSL = true; + kTLS = true; + locations."/" = { + proxyPass = "http://127.0.0.1:${toString ports.home-assistant.tcp}/"; + recommendedProxySettings = true; + proxyWebsockets = true; + }; + }; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index 5384317..1322ca8 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -29,4 +29,7 @@ in contact = callPackage ./contact-page { }; }; wofi-bluetooth = callPackage ./wofi-bluetooth/wofi-bluetooth.nix { }; + home-assistant-custom-components = prev.recurseIntoAttrs { + circadian_lighting = callPackage ./home-assistant-custom-components/circadian_lighting.nix { }; + }; } diff --git a/pkgs/home-assistant-custom-components/circadian_lighting.nix b/pkgs/home-assistant-custom-components/circadian_lighting.nix new file mode 100644 index 0000000..54316f7 --- /dev/null +++ b/pkgs/home-assistant-custom-components/circadian_lighting.nix @@ -0,0 +1,19 @@ +{ lib +, fetchFromGitHub +, buildHomeAssistantComponent +}: + +buildHomeAssistantComponent rec { + owner = "claytonjn"; + domain = "circadian_lighting"; + version = "2.1.4"; + + src = fetchFromGitHub { + owner = "claytonjn"; + repo = "hass-circadian_lighting"; + rev = "refs/tags/${version}"; + hash = "sha256-F67JP5PzMblWpI4CvrHyutPenzVd9KyKeHcHx8rcezA="; + }; + + dontBuild = true; +} From 697f5208f94ec8c121d16f07a71abefcb3d0686e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 17 Dec 2023 23:42:26 +0000 Subject: [PATCH 193/766] Fix dependencies --- hosts/iron/services/esphome/default.nix | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/hosts/iron/services/esphome/default.nix b/hosts/iron/services/esphome/default.nix index 03599a9..05b07d5 100644 --- a/hosts/iron/services/esphome/default.nix +++ b/hosts/iron/services/esphome/default.nix @@ -62,9 +62,12 @@ in */ }; - system.activationScripts.esphome-custom.text = '' - mkdir -p "${stateDir}/.esphome" - touch "${stateDir}/.gitignore" - chown esphome:esphome "${stateDir}/.esphome" "${stateDir}/.gitignore" - ''; + system.activationScripts.esphome-custom = { + deps = [ "users" "groups" ]; + text = '' + mkdir -p "${stateDir}/.esphome" + touch "${stateDir}/.gitignore" + chown esphome:esphome "${stateDir}/.esphome" "${stateDir}/.gitignore" + ''; + }; } From 28c41482c5abc3e025669ccc06c01e8a1b5ee5e7 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 17 Dec 2023 23:44:41 +0000 Subject: [PATCH 194/766] Add matrix module --- hosts/iron/services/default.nix | 2 +- hosts/iron/services/matrix.nix | 23 ++++++++++ hosts/iron/services/matrix/default.nix | 5 --- modules/default.nix | 1 + modules/matrix/default.nix | 45 +++++++++++++++++++ .../services => modules}/matrix/synapse.nix | 41 +++++++---------- 6 files changed, 85 insertions(+), 32 deletions(-) create mode 100644 hosts/iron/services/matrix.nix delete mode 100644 hosts/iron/services/matrix/default.nix create mode 100644 modules/matrix/default.nix rename {hosts/iron/services => modules}/matrix/synapse.nix (69%) diff --git a/hosts/iron/services/default.nix b/hosts/iron/services/default.nix index 1e4c1dd..d2507e6 100644 --- a/hosts/iron/services/default.nix +++ b/hosts/iron/services/default.nix @@ -6,7 +6,7 @@ ./esphome ./jellyfin.nix ./mail.nix - ./matrix + ./matrix.nix ./navidrome.nix ./nginx.nix ./ntp.nix diff --git a/hosts/iron/services/matrix.nix b/hosts/iron/services/matrix.nix new file mode 100644 index 0000000..36aeae1 --- /dev/null +++ b/hosts/iron/services/matrix.nix @@ -0,0 +1,23 @@ +args@{ config, pkgs, custom-utils, ... }: + +let + ports = import ../ports.nix args; +in +{ + sops.secrets = { + synapse-turn-shared-secret = { + owner = "matrix-synapse"; + sopsFile = ../secrets.yaml; + }; + }; + jalr.matrix = { + enable = true; + fqdn = "matrix.jalr.de"; + domain = "jalr.de"; + synapse.port = ports.matrix-synapse.tcp; + turn = { + host = "turn.jalr.de"; + sharedSecretFile = config.sops.secrets.synapse-turn-shared-secret.path; + }; + }; +} diff --git a/hosts/iron/services/matrix/default.nix b/hosts/iron/services/matrix/default.nix deleted file mode 100644 index f342253..0000000 --- a/hosts/iron/services/matrix/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - imports = [ - ./synapse.nix - ]; -} diff --git a/modules/default.nix b/modules/default.nix index 4943eba..f623dcb 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -22,6 +22,7 @@ ./libvirt.nix ./localization.nix ./mailserver + ./matrix ./mute-indicator.nix ./nix.nix ./obs.nix diff --git a/modules/matrix/default.nix b/modules/matrix/default.nix new file mode 100644 index 0000000..1c34c17 --- /dev/null +++ b/modules/matrix/default.nix @@ -0,0 +1,45 @@ +{ config, lib, pkgs, ... }: +let + cfg = config.jalr.matrix; +in +{ + options.jalr.matrix = with lib; with lib.types; { + enable = mkEnableOption "simple matrix server"; + synapse = { + port = mkOption { + description = "TCP port for synapse service."; + type = port; + }; + }; + fqdn = mkOption { + type = str; + description = '' + FQDN of the matrix server + ''; + example = "matrix.example.com"; + }; + domain = mkOption { + type = str; + description = '' + Domain of the matrix server + ''; + example = "example.com"; + }; + turn = { + host = mkOption { + type = str; + description = '' + Hostname of TURN service + ''; + example = "turn.example.com"; + }; + sharedSecretFile = mkOption { + type = path; + description = "Location of the shared secret file for the TURN service"; + }; + }; + }; + imports = [ + ./synapse.nix + ]; +} diff --git a/hosts/iron/services/matrix/synapse.nix b/modules/matrix/synapse.nix similarity index 69% rename from hosts/iron/services/matrix/synapse.nix rename to modules/matrix/synapse.nix index 18d5eaf..9b0c09b 100644 --- a/hosts/iron/services/matrix/synapse.nix +++ b/modules/matrix/synapse.nix @@ -1,31 +1,20 @@ -args@{ config, lib, pkgs, custom-utils, ... }: +{ config, lib, pkgs, ... }: let - cfg = config.services.matrix-synapse.settings; - fqdn = "matrix.jalr.de"; - domain = "jalr.de"; - turnHost = "turn.jalr.de"; - ports = import ../../ports.nix args; + cfg = config.jalr.matrix; in -{ - sops.secrets = { - synapse-turn-shared-secret = { - owner = "matrix-synapse"; - sopsFile = ../../secrets.yaml; - }; - }; - +lib.mkIf cfg.enable { services.matrix-synapse = { enable = true; settings = { - server_name = domain; - public_baseurl = "https://${fqdn}"; + server_name = cfg.domain; + public_baseurl = "https://${cfg.fqdn}"; database.name = "sqlite3"; listeners = lib.singleton { - port = ports.matrix-synapse.tcp; + port = cfg.synapse.port; bind_addresses = [ "127.0.0.1" "::1" ]; type = "http"; tls = false; @@ -37,10 +26,10 @@ in }; turn_uris = [ - "turns:${turnHost}:5349?transport=udp" - "turns:${turnHost}:5349?transport=tcp" - "turn:${turnHost}:3478?transport=udp" - "turn:${turnHost}:3478?transport=tcp" + "turns:${cfg.turn.host}:5349?transport=udp" + "turns:${cfg.turn.host}:5349?transport=tcp" + "turn:${cfg.turn.host}:3478?transport=udp" + "turn:${cfg.turn.host}:3478?transport=tcp" ]; turn_user_lifetime = "1h"; @@ -82,25 +71,25 @@ in experimental_features.msc2716_enabled = true; }; - extraConfigFiles = with config.sops.secrets; [ - synapse-turn-shared-secret.path + extraConfigFiles = [ + cfg.turn.sharedSecretFile ]; }; services.nginx.virtualHosts = { - "${fqdn}" = { + "${cfg.fqdn}" = { enableACME = true; forceSSL = true; locations."/_matrix" = let - listenerCfg = (lib.elemAt cfg.listeners 0); + listenerCfg = (lib.elemAt config.services.matrix-synapse.settings.listeners 0); in { proxyPass = "http://${lib.elemAt listenerCfg.bind_addresses 0}:${toString listenerCfg.port}"; extraConfig = '' - client_max_body_size ${cfg.max_upload_size}; + client_max_body_size ${config.services.matrix-synapse.settings.max_upload_size}; ''; }; }; From 655beac2f7084305dc3049bd4a7c3dbdfd9e4755 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 19 Dec 2023 01:45:56 +0000 Subject: [PATCH 195/766] Add washing machine --- hosts/iron/secrets.yaml | 6 +- .../devices/components/miele_w433/__init__.py | 1 + .../components/miele_w433/miele_w433.cpp | 155 ++++++++++++++++++ .../components/miele_w433/miele_w433.h | 62 +++++++ .../devices/components/miele_w433/sensor.py | 88 ++++++++++ .../esphome/devices/waschmaschine.yaml | 41 +++++ 6 files changed, 350 insertions(+), 3 deletions(-) create mode 100644 hosts/iron/services/esphome/devices/components/miele_w433/__init__.py create mode 100644 hosts/iron/services/esphome/devices/components/miele_w433/miele_w433.cpp create mode 100644 hosts/iron/services/esphome/devices/components/miele_w433/miele_w433.h create mode 100644 hosts/iron/services/esphome/devices/components/miele_w433/sensor.py create mode 100644 hosts/iron/services/esphome/devices/waschmaschine.yaml diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index 2b1706b..5c12373 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -9,7 +9,7 @@ dkim-keys: radicale-htpasswd: ENC[AES256_GCM,data:Q0WnleP9I4xozsL/H+5oV3Ag7khfalV40A6ub+DA07U8UKna3/ju533RmjWOnETzSNa6XK140nfCcfGZCiqGyF9tfuuXcKFu+j4=,iv:87PSvHyKF7QUQZmEuxM+IT0VKSGnS0MjoUmCqJ+6tzI=,tag:yrP3TgxE8aSZf0MrCF9dsQ==,type:str] synapse-turn-shared-secret: ENC[AES256_GCM,data:Q1XRds3Zud1kYkvD6s9WUzP+kNDNsxB5SHd6oCAaLCHhHhYENSAYTZOF+rGjCPNyKFL0e/A=,iv:zScRQrz+pXHNUh/BGOaV+TVnDR3wu1Z/UO1zXarKwtA=,tag:ckpVziE+yb0FjctcT7tAkg==,type:str] rmfakecloud: ENC[AES256_GCM,data:ktKBKb6cRv1VF8tRvXIpxIy9hPinVPKK05mgvYzz18PEdcrCLpldm5xf7ffHtY5XzDOAMXDCiz6x4xyv7071frrF0spOEPnIzVhxwG8H2Ck=,iv:qJdHjv0RziAs4G9UGeRwGQ4GE5kaObJWpIYWpRKhr9c=,tag:PXgvU1hZK/gvWGyFJaHekg==,type:str] -esphome: ENC[AES256_GCM,data:RykNTaLwXD9pvCepexxPv0TY5Hk1c1JQWerehuaTSfYIPJ8/tXWQ8XJWoHs7+wJZCV+7nXY9ZpWDlWdWUqDfKcHnv62BdwnuW5L9baY1PLq4WISpRKsND99euDLuicvbpej5GBwMhxr7XFKVkAlbEpAEj1c+qAv27gEg0tC4Jkn8nl4+qi+f9TeRXv1miijAFgxqZ+C+9nQ2NM6zeMXgD5NS0PqzgP43NhTrC8s0QYOb9Gry78jEbzEfvquFJ+CmqEwoL3NZ/ynQQlO3IUfOwmJlMyhEVmetPs8sMyMIbmHrLlfCKb9KFUjZCJAsJhSq2QgByPB6mHotd4Nu9P/1xkzuy+hQImrlIK7Sz4bo1tp9CM5czRwU6GOmG7haC2UebSSGzhp8cHnhDtMbKbyqDLdTBsn9ilI/lvzNbuvyvygcaos5a8o3nO9MtVrgvUKowIb5wOHxvUrr8fXIAyrLEAdMVNl0UtPlJSBCRe8WFulhqGrgGECzt/seBoRZvzsgwXnSZgbYGTjIA7UR//0J4p877HFQTdEiUVEudK9vp3u8/GoDKThIy3A=,iv:mVL86y99wQ2M8kum2IotrYQbqswcTgcglCQSegoYzFI=,tag:ZhW1eCd6B59eNhipTb/2Mg==,type:str] +esphome: ENC[AES256_GCM,data:8mXqZnGaiWTO3pNozXCG/NmPEb9fTWBIs/2gX4xLPQwoUg8rw18pVfm0GbEQG1e/crV8ykeYcbKvvZdvVIrc4M/khoO7iuqJHURTcoQh/q/9pH1K2Tg+f7w6V24BozP3GnHXGo+zfo4gX8TgQzx7kktMIiWWnP5gyc1KOw5mQlGmOwfe/Ny6ziCWuGOCPIzd4qtMGOn2lie9HztJ5h0HR9NMJar007grRUS/DXtgw4Z6/PQ80bQJPJF3qsCuJuW9YiI1ImqherYiGaS+ptdZI/nkj9RZFrDBf1NOt1ZizROoeKKO0uJ134Rh+YeuAtWeT+NcQMnj20YdJ75aBHGd+Kx/fICOmO/yXKyuwk1ZyvIvnlauG0bgi2nMrAQJdgO7FRBflmZd6IIFv6a2kOHkS8sigBi2Movq/mZTEF13XBsFxgEZugEqh5MvEd10iaLusYNCa5pc3z5DoeAcbsOGfmcgy4RdHurtVImfLSvPyelRAsWXceOPzU+zLVyAGZ4MeqP5cO2oK1qC9sntMz3s5sjl7BsT9SieiaScK4Tdadh0ZjlzVYzh+XIDTvbgUu6EFmU3t4UeAanPywJIdnnJVMCvgN6FLHk098h9PL2DgKWfS8aiywKXctXUA78WYpYInqS531liF8Jc5HM91Azp1q+ImpzmZjfm0kgD7wLiGzZaPeKsQaB7ykMpvWpTSq+QHW4=,iv:qLn56QxmWFaYtz3MwZyCP7NEfypmWRW4HxQiZmn27fE=,tag:9bHVx5NDf3nZG0alxb4p1w==,type:str] sops: kms: [] gcp_kms: [] @@ -25,8 +25,8 @@ sops: TjdZRldhSzVtMkVoTzY1NjdGbCswRVUK0pi+8UuLqRmytcR2ikxOAM02iccl8P1y ixv0PKPLd+vQ23QeeQy/TfoGx16XttaDUnUrPLZR3TUKtAcld8+m6w== -----END AGE ENCRYPTED FILE----- - lastmodified: "2023-12-13T21:51:59Z" - mac: ENC[AES256_GCM,data:EIJ8A537IFnubCKL1QCZbhnsPG1qCDt2jGiYCaOolTvxzuB30xxSpqaUE++9wZopQbKn8MAayaO06zaj4D0ix+CrYokPqpI73/XC+rO33YZMQzb72fbRoy9oPQdb3LSlqNyNP7Gu7/Q/ByfEacLlg+wD+e6mmueHmnmF7wt1lZ8=,iv:vhF/KmogG7jJgl1jflvdlRwuA569xL0DEjjozXrqQRI=,tag:NyYvcbqFWwq89IJ0NeF3oA==,type:str] + lastmodified: "2023-12-18T16:45:32Z" + mac: ENC[AES256_GCM,data:ZsC4C+VpUnHuMyqHa3/TIursyWDPV1+we/cBrUhyeqeNdeDveJ4a26jmIzNxWWHbJU7uMPy6BF6iHpS91YK4m+KKSqoXZiTjB8b9p3y9ietT9XQOLXdt8pxVFBEOSH7g9DeVbrJUHTOhzYpugMqC/QXcDLE1GQwa0eGUq3JIDh8=,iv:vbDpVJAXvYw1qQ5Or6CxOs8OO4yhtlVF4zh07bkkFJw=,tag:IqVAItuv23AbbGQsPh5dsg==,type:str] pgp: - created_at: "2023-05-02T19:30:42Z" enc: | diff --git a/hosts/iron/services/esphome/devices/components/miele_w433/__init__.py b/hosts/iron/services/esphome/devices/components/miele_w433/__init__.py new file mode 100644 index 0000000..6610048 --- /dev/null +++ b/hosts/iron/services/esphome/devices/components/miele_w433/__init__.py @@ -0,0 +1 @@ +CODEOWNERS = ["@jalr"] diff --git a/hosts/iron/services/esphome/devices/components/miele_w433/miele_w433.cpp b/hosts/iron/services/esphome/devices/components/miele_w433/miele_w433.cpp new file mode 100644 index 0000000..9dd06da --- /dev/null +++ b/hosts/iron/services/esphome/devices/components/miele_w433/miele_w433.cpp @@ -0,0 +1,155 @@ +#include "miele_w433.h" +#include "esphome/core/log.h" +#include + +namespace esphome { +namespace miele_w433 { + +static const char *const TAG = "miele_w433"; + +static const std::string OPERATION_STATES[] = {"inaktiv", "Einw./Vorwäsche", "Waschen", "Spülen", "Spülstop", "Pumpen", "Endschleudern", "Knitterschutz/Ende"}; + +void MieleW433Sensor::setup() { + this->pin_clock_->setup(); + this->store_.pin_clock = this->pin_clock_->to_isr(); + this->pin_clock_->attach_interrupt(MieleW433SensorStore::gpio_intr_clock, &this->store_, gpio::INTERRUPT_RISING_EDGE); + + this->pin_data_->setup(); + this->store_.pin_data = this->pin_data_; + + if (this->pin_en_lamps_ != nullptr) { + this->pin_en_lamps_->setup(); + this->store_.pin_en_lamps = this->pin_en_lamps_->to_isr(); + this->pin_en_lamps_->attach_interrupt(MieleW433SensorStore::gpio_intr_en_lamps, &this->store_, gpio::INTERRUPT_RISING_EDGE); + } + if (this->pin_en_7seg_ != nullptr) { + this->pin_en_7seg_->setup(); + this->store_.pin_en_7seg = this->pin_en_7seg_->to_isr(); + this->pin_en_7seg_->attach_interrupt(MieleW433SensorStore::gpio_intr_en_7seg, &this->store_, gpio::INTERRUPT_RISING_EDGE); + } +} + +void MieleW433Sensor::loop() { + if (millis() - this->last_update_ > 1000) { + uint32_t dpy_7seg; + uint32_t dpy_lamps; + { + InterruptLock lock; + dpy_7seg = this->store_.dpy_7seg; + dpy_lamps = this->store_.dpy_lamps; + } + uint8_t minutes = (dpy_7seg & 0xf) * 60; + minutes += ((dpy_7seg>>8) &0xf); + minutes += ((dpy_7seg>>4) & 0xf) * 10; + if (this->time_remaining_sensor_ != nullptr) { + this->time_remaining_sensor_->publish_state(minutes); + } + + uint8_t state = 0; + bool is_active = false; + + switch(dpy_lamps & 0x1f007) { + case 1<<0: + // Pumpen + state = 5; + is_active = true; + break; + case 1<<1: + // Endschleudern + state = 6; + is_active = true; + break; + case 1<<2: + // Knitterschutz/Ende + state = 7; + break; + case 1<<12: + // Einw./Vorwäsche + state = 1; + is_active = true; + break; + case 1<<13: + // Waschen + state = 2; + is_active = true; + break; + case 1<<14: + // Spülen + state = 3; + is_active = true; + break; + case 1<<15: + // Spülstop + state = 4; + is_active = true; + break; + } + + if (this->current_operation_sensor_ != nullptr) { + this->current_operation_sensor_->publish_state(OPERATION_STATES[state]); + } + + if (this->active_sensor_ != nullptr) { + this->active_sensor_->publish_state(is_active); + } + + this->last_update_ = millis(); + } +} + +void MieleW433Sensor::dump_config() { + LOG_SENSOR("", "Miele W433", this); + LOG_PIN(" Pin Clock: ", this->pin_clock_); + LOG_PIN(" Pin Data: ", this->pin_data_); + LOG_PIN(" Pin Enable 7-Segment: ", this->pin_en_7seg_); + LOG_PIN(" Pin Enable Lamps: ", this->pin_en_lamps_); +}; + +void IRAM_ATTR HOT MieleW433SensorStore::gpio_intr_clock(MieleW433SensorStore *arg) { + if (!arg->pin_en_7seg.digital_read()) { + if (arg->count_cycles_7seg <= 31) { + if (arg->pin_data->digital_read()) { + arg->tmp_7seg |= (1<<(31-arg->count_cycles_7seg)); + } + else { + arg->tmp_7seg &= ~(1<<(31-arg->count_cycles_7seg)); + } + arg->count_cycles_7seg++; + } + } + if (!arg->pin_en_lamps.digital_read()) { + if (arg->count_cycles_lamps <= 31) { + if (arg->pin_data->digital_read()) { + arg->tmp_lamps |= (1<<(31-arg->count_cycles_lamps)); + } + else { + arg->tmp_lamps &= ~(1<<(31-arg->count_cycles_lamps)); + } + arg->count_cycles_lamps++; + } + } +} + +void IRAM_ATTR HOT MieleW433SensorStore::gpio_intr_en_lamps(MieleW433SensorStore *arg) { + if (arg->count_cycles_lamps == 8) { + arg->ctrl_lamps = arg->tmp_lamps>>24; + } + else if (arg->count_cycles_lamps == 24) { + arg->dpy_lamps = arg->tmp_lamps>>8; + } + + arg->count_cycles_lamps = 0; +} + +void IRAM_ATTR HOT MieleW433SensorStore::gpio_intr_en_7seg(MieleW433SensorStore *arg) { + if (arg->count_cycles_7seg == 8) { + arg->ctrl_7seg = arg->tmp_7seg>>24; + } + else if (arg->count_cycles_7seg == 24) { + arg->dpy_7seg = arg->tmp_7seg>>8; + } + arg->count_cycles_7seg = 0; +} + +} // namespace miele_w433 +} // namespace esphome diff --git a/hosts/iron/services/esphome/devices/components/miele_w433/miele_w433.h b/hosts/iron/services/esphome/devices/components/miele_w433/miele_w433.h new file mode 100644 index 0000000..55c1f38 --- /dev/null +++ b/hosts/iron/services/esphome/devices/components/miele_w433/miele_w433.h @@ -0,0 +1,62 @@ +#pragma once + +#include "esphome/core/component.h" +#include "esphome/core/hal.h" +#include "esphome/core/automation.h" +#include "esphome/components/sensor/sensor.h" +#include "esphome/components/text_sensor/text_sensor.h" +#include "esphome/components/binary_sensor/binary_sensor.h" + +namespace esphome { +namespace miele_w433 { + + struct MieleW433SensorStore { + ISRInternalGPIOPin pin_clock; + InternalGPIOPin *pin_data; + ISRInternalGPIOPin pin_en_7seg; + ISRInternalGPIOPin pin_en_lamps; + + static void gpio_intr_clock(MieleW433SensorStore *arg); + static void gpio_intr_en_7seg(MieleW433SensorStore *arg); + static void gpio_intr_en_lamps(MieleW433SensorStore *arg); + + volatile int count_cycles_lamps = 0; + volatile int count_cycles_7seg = 0; + volatile uint32_t tmp_lamps; + volatile uint32_t tmp_7seg; + volatile uint32_t dpy_lamps; + volatile uint8_t ctrl_lamps; + volatile uint32_t dpy_7seg; + volatile uint8_t ctrl_7seg; + }; + + class MieleW433Sensor : public sensor::Sensor, public Component { + public: + void set_pin_clock(InternalGPIOPin *pin_clock) { pin_clock_ = pin_clock; } + void set_pin_data(InternalGPIOPin *pin_data) { pin_data_ = pin_data; } + void set_pin_en_7seg(InternalGPIOPin *pin_en_7seg) { pin_en_7seg_ = pin_en_7seg; } + void set_pin_en_lamps(InternalGPIOPin *pin_en_lamps) { pin_en_lamps_ = pin_en_lamps; } + void setup() override; + void loop() override; + void dump_config() override; + + void set_time_remaining_sensor(sensor::Sensor *sensor) { this->time_remaining_sensor_ = sensor; } + void set_active_sensor(binary_sensor::BinarySensor *sensor) { this->active_sensor_ = sensor; } + void set_current_operation_sensor(text_sensor::TextSensor *sensor) { this->current_operation_sensor_ = sensor; } + + protected: + InternalGPIOPin *pin_clock_; + InternalGPIOPin *pin_data_; + InternalGPIOPin *pin_en_7seg_{nullptr}; + InternalGPIOPin *pin_en_lamps_{nullptr}; + MieleW433SensorStore store_{}; + uint32_t last_update_ = 0; + sensor::Sensor *time_remaining_sensor_{nullptr}; + binary_sensor::BinarySensor *active_sensor_{nullptr}; + text_sensor::TextSensor *current_operation_sensor_{nullptr}; + + //enum ErrorCode { NONE = 0, COMMUNICATION_FAILED, CRC_CHECK_FAILED } error_code_{NONE}; + }; + +} // namespace miele_w433 +} // namespace esphome diff --git a/hosts/iron/services/esphome/devices/components/miele_w433/sensor.py b/hosts/iron/services/esphome/devices/components/miele_w433/sensor.py new file mode 100644 index 0000000..2881286 --- /dev/null +++ b/hosts/iron/services/esphome/devices/components/miele_w433/sensor.py @@ -0,0 +1,88 @@ +import esphome.codegen as cg +import esphome.config_validation as cv +from esphome import pins +from esphome.components import binary_sensor, sensor, text_sensor +from esphome.const import ( + CONF_ACTIVE, + CONF_BEEPER, + CONF_CLOCK_PIN, + CONF_CURRENT_OPERATION, + CONF_DATA_PIN, + CONF_DURATION, + CONF_ID, + CONF_STATUS, + DEVICE_CLASS_LOCK, + DEVICE_CLASS_PROBLEM, + DEVICE_CLASS_RUNNING, + DEVICE_CLASS_SWITCH, + ICON_ROTATE_RIGHT, + ICON_TIMELAPSE, + UNIT_MINUTE, +) + +CONF_EN_7SEG_PIN = "enable_7segment_pin" +CONF_EN_LAMPS_PIN = "enable_lamps_pin" +CONF_TIME_REMAINING = "time_remaining" +CONF_WATER_INLET = "water_inlet" +CONF_WATER_OUTLET = "water_outlet" +ICON_PLAY = "mdi:play" +ICON_PLAYLIST_PLAY = "mdi:playlist-play" +ICON_WATER_OFF = "mdi:water-off" + +AUTO_LOAD = ["text_sensor", "binary_sensor"] +DEPENDENCIES = [] + +miele_w433_ns = cg.esphome_ns.namespace("miele_w433") +MieleW433Sensor = miele_w433_ns.class_("MieleW433Sensor", sensor.Sensor, cg.Component) + +CONFIG_SCHEMA = cv.Schema( + { + cv.GenerateID(): cv.declare_id(MieleW433Sensor), + cv.Required(CONF_CLOCK_PIN): cv.All(pins.internal_gpio_input_pin_schema), + cv.Required(CONF_DATA_PIN): cv.All(pins.internal_gpio_input_pin_schema), + cv.Optional(CONF_EN_7SEG_PIN): pins.internal_gpio_input_pin_schema, + cv.Optional(CONF_EN_LAMPS_PIN): pins.internal_gpio_input_pin_schema, + cv.Optional(CONF_TIME_REMAINING): sensor.sensor_schema( + unit_of_measurement=UNIT_MINUTE, + icon=ICON_TIMELAPSE, + accuracy_decimals=0, + ), + cv.Optional(CONF_ACTIVE): binary_sensor.binary_sensor_schema( + device_class=DEVICE_CLASS_RUNNING, icon=ICON_PLAY + ), + cv.Optional(CONF_CURRENT_OPERATION): text_sensor.text_sensor_schema( + icon=ICON_PLAYLIST_PLAY + ), + # cv.Optional(CONF_WATER_INLET): binary_sensor.binary_sensor_schema( + # device_class=DEVICE_CLASS_PROBLEM, + # icon=ICON_WATER_OFF + # ), + } +).extend(cv.COMPONENT_SCHEMA) + + +async def to_code(config): + var = cg.new_Pvariable( + config[CONF_ID], + ) + await cg.register_component(var, config) + + pin_clock = await cg.gpio_pin_expression(config[CONF_CLOCK_PIN]) + cg.add(var.set_pin_clock(pin_clock)) + pin_data = await cg.gpio_pin_expression(config[CONF_DATA_PIN]) + cg.add(var.set_pin_data(pin_data)) + if CONF_EN_7SEG_PIN in config: + pin_en_7seg = await cg.gpio_pin_expression(config[CONF_EN_7SEG_PIN]) + cg.add(var.set_pin_en_7seg(pin_en_7seg)) + if CONF_TIME_REMAINING in config: + sens = await sensor.new_sensor(config[CONF_TIME_REMAINING]) + cg.add(var.set_time_remaining_sensor(sens)) + if CONF_EN_LAMPS_PIN in config: + pin_en_lamps = await cg.gpio_pin_expression(config[CONF_EN_LAMPS_PIN]) + cg.add(var.set_pin_en_lamps(pin_en_lamps)) + if CONF_ACTIVE in config: + sens = await binary_sensor.new_binary_sensor(config[CONF_ACTIVE]) + cg.add(var.set_active_sensor(sens)) + if CONF_CURRENT_OPERATION in config: + sens = await text_sensor.new_text_sensor(config[CONF_CURRENT_OPERATION]) + cg.add(var.set_current_operation_sensor(sens)) diff --git a/hosts/iron/services/esphome/devices/waschmaschine.yaml b/hosts/iron/services/esphome/devices/waschmaschine.yaml new file mode 100644 index 0000000..8e4f376 --- /dev/null +++ b/hosts/iron/services/esphome/devices/waschmaschine.yaml @@ -0,0 +1,41 @@ +esphome: + name: "waschmaschine" + friendly_name: "Waschmaschine" + +api: + encryption: + key: !secret apikey_waschmaschine + +ota: + password: !secret otapass_waschmaschine + +wifi: + ssid: !secret wifi_ssid_bw + password: !secret wifi_password_bw + domain: .iot.bw.jalr.de + +esp32: + board: esp32doit-devkit-v1 + framework: + type: arduino + version: recommended + +logger: + +external_components: + - source: components + components: [ miele_w433 ] + +sensor: + - platform: miele_w433 + enable_7segment_pin: 27 + clock_pin: 14 + enable_lamps_pin: 26 + data_pin: 13 + time_remaining: + name: "verbleibende Zeit" + active: + name: "in Betrieb" + current_operation: + name: "aktueller Vorgang" + From 4335d95baf9468626439be4abdb6abd45e74dd53 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 22 Dec 2023 02:23:04 +0000 Subject: [PATCH 196/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/aa99c2f4e9847cbb7e46fac0844ea1eb164b3b3a' (2023-12-15) → 'github:nix-community/home-manager/0c2353d5d930c3d93724df6858aef064a31b3c00' (2023-12-20) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/cf28ee258fd5f9a52de6b9865cdb93a1f96d09b7' (2023-12-12) → 'github:nixos/nixpkgs/d65bceaee0fb1e64363f7871bc43dc1c6ecad99f' (2023-12-20) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/b77e9f0eccfd52600c5f815615e30cb29815972c' (2023-12-17) → 'github:NixOS/nixpkgs/bfbfb344598544058481e254b9f0f174d05b5e6a' (2023-12-22) • Updated input 'nur': 'github:nix-community/NUR/47e505f4e877fb5d469764f8e0d48f1bfcdfde55' (2023-12-17) → 'github:nix-community/NUR/0856012664025f0362a8d25bdf0463702b0c9e82' (2023-12-22) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/9d9d434528404a22fb0c8283fea1ea3a7410ff80' (2023-12-14) → 'github:nix-community/poetry2nix/b76e91da74ad7af0bc397561a59a19fcbc2ad488' (2023-12-20) • Updated input 'sops-nix': 'github:Mic92/sops-nix/21f2b8f123a1601fef3cf6bbbdf5171257290a77' (2023-12-17) → 'github:Mic92/sops-nix/f7db64b88dabc95e4f7bee20455f418e7ab805d4' (2023-12-18) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 18abe05..c56b562 100644 --- a/flake.lock +++ b/flake.lock @@ -85,11 +85,11 @@ ] }, "locked": { - "lastModified": 1702676849, - "narHash": "sha256-XqcREaTS38/QOsN8fk8PP325/UXHyF9enbP5ZPw5aiA=", + "lastModified": 1703113038, + "narHash": "sha256-oxkyzjpD+mNT7arzU/zHrkNHLuY9tKwmnD2MNaZiSDw=", "owner": "nix-community", "repo": "home-manager", - "rev": "aa99c2f4e9847cbb7e46fac0844ea1eb164b3b3a", + "rev": "0c2353d5d930c3d93724df6858aef064a31b3c00", "type": "github" }, "original": { @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1702814447, - "narHash": "sha256-RSJu6QIPpFXScS//TwlJMkuprJVpEjfNGna/w6NbZVI=", + "lastModified": 1703206931, + "narHash": "sha256-GHJl3HHdH4jWjRVBuyDRIaUoNNMTuVbw0i9+EaYzcBU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b77e9f0eccfd52600c5f815615e30cb29815972c", + "rev": "bfbfb344598544058481e254b9f0f174d05b5e6a", "type": "github" }, "original": { @@ -234,11 +234,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1702346276, - "narHash": "sha256-eAQgwIWApFQ40ipeOjVSoK4TEHVd6nbSd9fApiHIw5A=", + "lastModified": 1703068421, + "narHash": "sha256-WSw5Faqlw75McIflnl5v7qVD/B3S2sLh+968bpOGrWA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "cf28ee258fd5f9a52de6b9865cdb93a1f96d09b7", + "rev": "d65bceaee0fb1e64363f7871bc43dc1c6ecad99f", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1702814871, - "narHash": "sha256-b0istFGIKjrhLl7iUdnXLykV26LwQpUA7isR4d+4hSA=", + "lastModified": 1703209706, + "narHash": "sha256-KTb2pZR20R4l4Vhj844TYUTKFrLrT27pEi2aIWd+73w=", "owner": "nix-community", "repo": "NUR", - "rev": "47e505f4e877fb5d469764f8e0d48f1bfcdfde55", + "rev": "0856012664025f0362a8d25bdf0463702b0c9e82", "type": "github" }, "original": { @@ -276,11 +276,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1702591455, - "narHash": "sha256-vK54IZysaxuUOe+abJO0wD40bxqwfZ2aBOhUWS/O/oA=", + "lastModified": 1703076010, + "narHash": "sha256-VaoDgib09zqtF0rREUvD2inmE9N4ECT1i02DVAhmOPk=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "9d9d434528404a22fb0c8283fea1ea3a7410ff80", + "rev": "b76e91da74ad7af0bc397561a59a19fcbc2ad488", "type": "github" }, "original": { @@ -311,11 +311,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1702812162, - "narHash": "sha256-18cKptpAAfkatdQgjO5SZXZsbc1IVPRoYx2AxaiooL4=", + "lastModified": 1702937567, + "narHash": "sha256-bUNl3GPqRgTGp13+oV1DrYa1/NHuGHo5SKmr+RqC/2g=", "owner": "Mic92", "repo": "sops-nix", - "rev": "21f2b8f123a1601fef3cf6bbbdf5171257290a77", + "rev": "f7db64b88dabc95e4f7bee20455f418e7ab805d4", "type": "github" }, "original": { From 3b34f2d519293829b635c3c366d5aded2ad16fa5 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 18 Dec 2023 16:07:24 +0000 Subject: [PATCH 197/766] Add mautrix bridges --- hosts/iron/ports.nix | 2 + hosts/iron/services/matrix.nix | 23 +++++ modules/matrix/default.nix | 42 +++++++++ modules/matrix/mautrix-signal.nix | 136 ++++++++++++++++++++++++++++ modules/matrix/mautrix-whatsapp.nix | 55 +++++++++++ modules/matrix/synapse.nix | 30 ++++++ 6 files changed, 288 insertions(+) create mode 100644 modules/matrix/mautrix-signal.nix create mode 100644 modules/matrix/mautrix-whatsapp.nix diff --git a/hosts/iron/ports.nix b/hosts/iron/ports.nix index b9fe77b..80a74ea 100644 --- a/hosts/iron/ports.nix +++ b/hosts/iron/ports.nix @@ -5,6 +5,8 @@ custom-utils.validatePortAttrset { home-assistant.tcp = 8123; jellyfin.tcp = 8096; matrix-synapse.tcp = 8008; + mautrix-signal.tcp = 29319; + mautrix-whatsapp.tcp = 29318; navidrome.tcp = 4533; nginx-http.tcp = 80; nginx-https.tcp = 443; diff --git a/hosts/iron/services/matrix.nix b/hosts/iron/services/matrix.nix index 36aeae1..02984ad 100644 --- a/hosts/iron/services/matrix.nix +++ b/hosts/iron/services/matrix.nix @@ -19,5 +19,28 @@ in host = "turn.jalr.de"; sharedSecretFile = config.sops.secrets.synapse-turn-shared-secret.path; }; + mautrix-whatsapp = { + enable = true; + port = ports.mautrix-whatsapp.tcp; + settings.bridge.permissions = { + # Only one user since using the name from the address book does not + # work with multiple users + #"@jalr:jalr.de" = 100; + "@jalr:jalr.de" = "admin"; + "jalr.de" = "user"; + }; + }; + mautrix-signal = { + enable = true; + port = ports.mautrix-signal.tcp; + settings.bridge = { + permissions = { + "@jalr:jalr.de" = "admin"; + "jalr.de" = "user"; + }; + default_bridge_presence = false; + send_presence_on_typing = false; + }; + }; }; } diff --git a/modules/matrix/default.nix b/modules/matrix/default.nix index 1c34c17..4c0d8bf 100644 --- a/modules/matrix/default.nix +++ b/modules/matrix/default.nix @@ -10,6 +10,16 @@ in description = "TCP port for synapse service."; type = port; }; + app_service_config = mkOption { + type = attrsOf path; + description = '' + An attribute set of app_service_config_files + ''; + default = { }; + example = { + "my-service-alias" = "/path/to/appservice.yaml"; + }; + }; }; fqdn = mkOption { type = str; @@ -38,8 +48,40 @@ in description = "Location of the shared secret file for the TURN service"; }; }; + mautrix-signal = { + enable = mkEnableOption "signal bridge"; + serviceDependencies = mkOption { + type = with types; listOf str; + default = optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit; + defaultText = literalExpression '' + optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit + ''; + description = lib.mdDoc '' + List of Systemd services to require and wait for when starting the application service. + ''; + }; + port = mkOption { + description = "TCP port for mautrix-signal."; + type = port; + }; + settings = mkOption { + type = (pkgs.formats.json { }).type; + }; + }; + mautrix-whatsapp = { + enable = mkEnableOption "whatsapp bridge"; + port = mkOption { + description = "TCP port for mautrix-whatsapp."; + type = port; + }; + settings = mkOption { + type = (pkgs.formats.json { }).type; + }; + }; }; imports = [ + ./mautrix-signal.nix + ./mautrix-whatsapp.nix ./synapse.nix ]; } diff --git a/modules/matrix/mautrix-signal.nix b/modules/matrix/mautrix-signal.nix new file mode 100644 index 0000000..a470546 --- /dev/null +++ b/modules/matrix/mautrix-signal.nix @@ -0,0 +1,136 @@ +{ config, lib, pkgs, ... }: + +let + cfg = config.jalr.matrix; + synapseCfg = config.services.matrix-synapse.settings; + dataDir = "/var/lib/mautrix-signal"; + registrationFile = "${dataDir}/signal-registration.yaml"; + settings = { + homeserver = { + address = synapseCfg.public_baseurl; + domain = synapseCfg.server_name; + }; + appservice = rec { + hostname = "127.0.0.1"; + port = cfg.mautrix-signal.port; + address = "http://${hostname}:${toString port}"; + provisioning.shared_secret = "disable"; + database = "sqlite:///${dataDir}/mautrix-signal.db"; + }; + bridge = { + encryption = { + allow = true; + default = true; + }; + verification_levels = { + receive = "cross-signed-tofu"; + send = "cross-signed-tofu"; + share = "cross-signed-tofu"; + }; + }; + logging = { + version = 1; + min_level = "info"; + writers = lib.singleton { + type = "stdout"; + format = "pretty-colored"; + time_format = " "; + }; + }; + } // cfg.mautrix-signal.settings; + settingsFormat = pkgs.formats.json { }; + settingsFile = "${dataDir}/config.json"; + settingsFileUnsubstituted = + settingsFormat.generate "mautrix-signal-config.json" settings; +in +lib.mkIf cfg.mautrix-signal.enable { + systemd.services.mautrix-signal = { + description = "mautrix-signal, A Matrix-Signal puppeting bridge."; + wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ] ++ cfg.mautrix-signal.serviceDependencies; + after = [ "network-online.target" ] ++ cfg.mautrix-signal.serviceDependencies; + + environment.HOME = dataDir; + preStart = '' + # substitute the settings file by environment variables + # in this case read from EnvironmentFile + test -f '${settingsFile}' && rm -f '${settingsFile}' + old_umask=$(umask) + umask 0177 + ${pkgs.envsubst}/bin/envsubst \ + -o '${settingsFile}' \ + -i '${settingsFileUnsubstituted}' + + cp '${settingsFile}' '${settingsFile}.tmp' + umask $old_umask + + # generate the appservice's registration file if absent + if [ ! -f '${registrationFile}' ]; then + ${pkgs.mautrix-signal}/bin/mautrix-signal \ + --generate-registration \ + --config='${settingsFile}.tmp' \ + --registration='${registrationFile}' + fi + + umask 0177 + ${pkgs.yq}/bin/yq -s '.[0].appservice.as_token = .[1].as_token + | .[0].appservice.hs_token = .[1].hs_token + | .[0]' '${settingsFile}' '${registrationFile}' \ + > '${settingsFile}.tmp' + mv '${settingsFile}.tmp' '${settingsFile}' + umask $old_umask + ''; + serviceConfig = { + Type = "exec"; + User = "mautrix-signal"; + #EnvironmentFile = cfg.environmentFile; + WorkingDirectory = dataDir; + StateDirectory = lib.mkIf (dataDir == "/var/lib/mautrix-signal") "mautrix-signal"; + ExecStart = '' + ${pkgs.mautrix-signal}/bin/mautrix-signal \ + --config='${settingsFile}' \ + --no-update + ''; + Restart = "on-failure"; + RestartSec = "30s"; + + ReadWritePaths = dataDir; + NoNewPrivileges = true; + MemoryDenyWriteExecute = true; + PrivateDevices = true; + PrivateTmp = true; + #ProtectHome = true; + ProtectSystem = "strict"; + ProtectControlGroups = true; + RestrictSUIDSGID = true; + RestrictRealtime = true; + LockPersonality = true; + ProtectKernelLogs = true; + ProtectKernelTunables = true; + ProtectHostname = true; + ProtectKernelModules = true; + PrivateUsers = true; + ProtectClock = true; + SystemCallArchitectures = "native"; + SystemCallErrorNumber = "EPERM"; + SystemCallFilter = "@system-service"; + }; + restartTriggers = [ settingsFileUnsubstituted ]; + }; + + users.users.mautrix-signal = { + isSystemUser = true; + group = "mautrix-signal"; + home = dataDir; + description = "mautrix-signal bridge user"; + }; + + users.groups.mautrix-signal = { }; + + services.signald = { + enable = true; + group = "mautrix-signal"; + }; + + jalr.matrix.synapse.app_service_config."mautrix-signal" = "/var/lib/mautrix-signal/signal-registration.yaml"; +} diff --git a/modules/matrix/mautrix-whatsapp.nix b/modules/matrix/mautrix-whatsapp.nix new file mode 100644 index 0000000..c4f851d --- /dev/null +++ b/modules/matrix/mautrix-whatsapp.nix @@ -0,0 +1,55 @@ +{ config, lib, pkgs, ... }: + +let + cfg = config.jalr.matrix; + synapseCfg = config.services.matrix-synapse.settings; +in +lib.mkIf cfg.mautrix-whatsapp.enable { + services.mautrix-whatsapp = { + enable = true; + settings = { + homeserver = { + address = synapseCfg.public_baseurl; + domain = synapseCfg.server_name; + }; + appservice = rec { + hostname = "127.0.0.1"; + port = cfg.mautrix-whatsapp.port; + address = "http://${hostname}:${toString port}"; + provisioning.shared_secret = "disable"; + database = { + type = "sqlite3"; + uri = "/var/lib/mautrix-whatsapp/mautrix-whatsapp.db"; + }; + id = "whatsapp"; + bot = { + username = "whatsappbot"; + displayname = "WhatsApp bridge bot"; + avatar = "mxc://maunium.net/NeXNQarUbrlYBiPCpprYsRqr"; + }; + }; + whatsapp = { + browser_name = "mx-wa"; + os_name = "Mautrix-WhatsApp bridge"; + }; + bridge = { + command_prefix = "!wa"; + delivery_receipts = true; + displayname_template = "{{if .FullName}}{{.FullName}}{{else if .Notify}}{{.Notify}}{{else}}{{.Jid}}{{end}} (WA)"; + history_sync = { + backfill = true; + }; + identity_change_notices = true; + private_chat_portal_meta = true; + reaction_notices = true; + relay.enable = false; + }; + logging = { + print_level = "info"; + file_name_format = null; + }; + } // cfg.mautrix-whatsapp.settings; + }; + + jalr.matrix.synapse.app_service_config."mautrix-whatsapp" = "/var/lib/mautrix-whatsapp/whatsapp-registration.yaml"; +} diff --git a/modules/matrix/synapse.nix b/modules/matrix/synapse.nix index 9b0c09b..11eed82 100644 --- a/modules/matrix/synapse.nix +++ b/modules/matrix/synapse.nix @@ -76,6 +76,36 @@ lib.mkIf cfg.enable { ]; }; + services.matrix-synapse.settings.app_service_config_files = lib.attrsets.mapAttrsToList + ( + name: value: + "/run/matrix-synapse/app_service_config/${name}.yaml" + ) + cfg.synapse.app_service_config; + systemd.services.matrix-synapse = { + restartTriggers = lib.attrsets.mapAttrsToList + ( + name: value: + "${value}" + ) + cfg.synapse.app_service_config; + serviceConfig = { + RuntimeDirectory = "matrix-synapse/app_service_config"; + ExecStartPre = lib.attrsets.mapAttrsToList + (name: value: + let + script = pkgs.writeShellScript "app_service_config-${name}" + '' + cp "${value}" "$RUNTIME_DIRECTORY/${name}.yaml" + chown matrix-synapse: "$RUNTIME_DIRECTORY/${name}.yaml" + ''; + in + "+${script}" + ) + cfg.synapse.app_service_config; + }; + }; + services.nginx.virtualHosts = { "${cfg.fqdn}" = { enableACME = true; From da0a9dad55fb7f17a80f6980cf699a3d17e25347 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 24 Dec 2023 14:02:54 +0000 Subject: [PATCH 198/766] Add adb --- home-manager/users/jalr.nix | 1 + modules/adb.nix | 5 +++++ modules/default.nix | 1 + 3 files changed, 7 insertions(+) create mode 100644 modules/adb.nix diff --git a/home-manager/users/jalr.nix b/home-manager/users/jalr.nix index 204a5d1..89ae988 100644 --- a/home-manager/users/jalr.nix +++ b/home-manager/users/jalr.nix @@ -19,6 +19,7 @@ users.users.jalr = { isNormalUser = true; extraGroups = [ + "adbusers" "audio" "dialout" "docker" diff --git a/modules/adb.nix b/modules/adb.nix new file mode 100644 index 0000000..1aae96c --- /dev/null +++ b/modules/adb.nix @@ -0,0 +1,5 @@ +{ config, lib, pkgs, ... }: + +lib.mkIf config.jalr.gui.enable { + programs.adb.enable = true; +} diff --git a/modules/default.nix b/modules/default.nix index f623dcb..c93f674 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -8,6 +8,7 @@ imports = [ ../pkgs/modules.nix + ./adb.nix ./autologin.nix ./aws.nix ./bluetooth.nix From 50576ea41f22d2b6293ca0e4d6f308d106637a94 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 24 Dec 2023 16:14:42 +0000 Subject: [PATCH 199/766] Remove print of `.` character as it does not work well with journald. --- pkgs/myintercom-doorbell/myintercom_doorbell/service.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/myintercom-doorbell/myintercom_doorbell/service.py b/pkgs/myintercom-doorbell/myintercom_doorbell/service.py index d7abd14..c671dac 100644 --- a/pkgs/myintercom-doorbell/myintercom_doorbell/service.py +++ b/pkgs/myintercom-doorbell/myintercom_doorbell/service.py @@ -94,5 +94,3 @@ def poll(): f.name, os.path.join(outgoing_dir, os.path.basename(f.name)) ) time.sleep(config["dialTime"]) - else: - print(".", end="", flush=True) From 8b1bb04197d2624580088f1ec0936cc0996de909 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 24 Dec 2023 16:16:24 +0000 Subject: [PATCH 200/766] Catch MaxRetryError --- .../myintercom_doorbell/service.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/pkgs/myintercom-doorbell/myintercom_doorbell/service.py b/pkgs/myintercom-doorbell/myintercom_doorbell/service.py index c671dac..641c3f6 100644 --- a/pkgs/myintercom-doorbell/myintercom_doorbell/service.py +++ b/pkgs/myintercom-doorbell/myintercom_doorbell/service.py @@ -16,13 +16,16 @@ def send_open_door_request(host, username, password): def get_ring_status(host, username, password): - response = urllib3.PoolManager().request( - "GET", - f"http://{host}/local/Doorcom/monitor.cgi?ring=1", - headers=urllib3.make_headers(basic_auth=f"{username}:{password}"), - preload_content=False, - decode_content=True, - ) + try: + response = urllib3.PoolManager().request( + "GET", + f"http://{host}/local/Doorcom/monitor.cgi?ring=1", + headers=urllib3.make_headers(basic_auth=f"{username}:{password}"), + preload_content=False, + decode_content=True, + ) + except urllib3.exceptions.MaxRetryError: + return while True: line = response.readline() From 6ac1a099fd5c1047f083244990a3b2a3dc3c2fb2 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 26 Dec 2023 00:05:03 +0000 Subject: [PATCH 201/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/0c2353d5d930c3d93724df6858aef064a31b3c00' (2023-12-20) → 'github:nix-community/home-manager/d5824a76bc6bb93d1dce9ebbbcb09a9b6abcc224' (2023-12-23) • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/007a45d064c1c32d04e1b8a0de5ef00984c419bc' (2023-12-13) → 'github:cachix/pre-commit-hooks.nix/7f35ec30d16b38fe0eed8005933f418d1a4693ee' (2023-12-24) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/d65bceaee0fb1e64363f7871bc43dc1c6ecad99f' (2023-12-20) → 'github:nixos/nixpkgs/0b3d618173114c64ab666f557504d6982665d328' (2023-12-21) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/bfbfb344598544058481e254b9f0f174d05b5e6a' (2023-12-22) → 'github:NixOS/nixpkgs/904b22f4024a67b196eda237e8b7cdd2fd4fe7ee' (2023-12-25) • Updated input 'nur': 'github:nix-community/NUR/0856012664025f0362a8d25bdf0463702b0c9e82' (2023-12-22) → 'github:nix-community/NUR/5942503289336c3f00348f16dea95e54e4b43b42' (2023-12-25) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/b76e91da74ad7af0bc397561a59a19fcbc2ad488' (2023-12-20) → 'github:nix-community/poetry2nix/528d500ea826383cc126a9be1e633fc92b19ce5d' (2023-12-25) • Updated input 'sops-nix': 'github:Mic92/sops-nix/f7db64b88dabc95e4f7bee20455f418e7ab805d4' (2023-12-18) → 'github:Mic92/sops-nix/e523e89763ff45f0a6cf15bcb1092636b1da9ed3' (2023-12-24) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/a19a71d1ee93226fd71984359552affbc1cd3dc3' (2023-12-17) → 'github:NixOS/nixpkgs/7790e078f8979a9fcd543f9a47427eeaba38f268' (2023-12-23) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index c56b562..9ae8c99 100644 --- a/flake.lock +++ b/flake.lock @@ -85,11 +85,11 @@ ] }, "locked": { - "lastModified": 1703113038, - "narHash": "sha256-oxkyzjpD+mNT7arzU/zHrkNHLuY9tKwmnD2MNaZiSDw=", + "lastModified": 1703367386, + "narHash": "sha256-FMbm48UGrBfOWGt8+opuS+uLBLQlRfhiYXhHNcYMS5k=", "owner": "nix-community", "repo": "home-manager", - "rev": "0c2353d5d930c3d93724df6858aef064a31b3c00", + "rev": "d5824a76bc6bb93d1dce9ebbbcb09a9b6abcc224", "type": "github" }, "original": { @@ -154,11 +154,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1702456155, - "narHash": "sha256-I2XhXGAecdGlqi6hPWYT83AQtMgL+aa3ulA85RAEgOk=", + "lastModified": 1703426812, + "narHash": "sha256-aODSOH8Og8ne4JylPJn+hZ6lyv6K7vE5jFo4KAGIebM=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "007a45d064c1c32d04e1b8a0de5ef00984c419bc", + "rev": "7f35ec30d16b38fe0eed8005933f418d1a4693ee", "type": "github" }, "original": { @@ -202,11 +202,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1702777222, - "narHash": "sha256-/SYmqgxTYzqZnQEfbOCHCN4GzqB9uAIsR9IWLzo0/8I=", + "lastModified": 1703351344, + "narHash": "sha256-9FEelzftkE9UaJ5nqxidaJJPEhe9TPhbypLHmc2Mysc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a19a71d1ee93226fd71984359552affbc1cd3dc3", + "rev": "7790e078f8979a9fcd543f9a47427eeaba38f268", "type": "github" }, "original": { @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1703206931, - "narHash": "sha256-GHJl3HHdH4jWjRVBuyDRIaUoNNMTuVbw0i9+EaYzcBU=", + "lastModified": 1703547242, + "narHash": "sha256-huIqSS810+Z1lDVAatrn0Tptp5XYZXDPBBPI9PG/bI4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bfbfb344598544058481e254b9f0f174d05b5e6a", + "rev": "904b22f4024a67b196eda237e8b7cdd2fd4fe7ee", "type": "github" }, "original": { @@ -234,11 +234,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1703068421, - "narHash": "sha256-WSw5Faqlw75McIflnl5v7qVD/B3S2sLh+968bpOGrWA=", + "lastModified": 1703200384, + "narHash": "sha256-q5j06XOsy0qHOarsYPfZYJPWbTbc8sryRxianlEPJN0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d65bceaee0fb1e64363f7871bc43dc1c6ecad99f", + "rev": "0b3d618173114c64ab666f557504d6982665d328", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1703209706, - "narHash": "sha256-KTb2pZR20R4l4Vhj844TYUTKFrLrT27pEi2aIWd+73w=", + "lastModified": 1703548790, + "narHash": "sha256-YYZ9vYZDSjID013xM8ztXbxl3Y6JrkQPT4Pux2qj9nk=", "owner": "nix-community", "repo": "NUR", - "rev": "0856012664025f0362a8d25bdf0463702b0c9e82", + "rev": "5942503289336c3f00348f16dea95e54e4b43b42", "type": "github" }, "original": { @@ -276,11 +276,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1703076010, - "narHash": "sha256-VaoDgib09zqtF0rREUvD2inmE9N4ECT1i02DVAhmOPk=", + "lastModified": 1703546497, + "narHash": "sha256-CN/7HaEmHz+akXKejkRVhsxAm6HPGOmYBWMtgMkuROA=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "b76e91da74ad7af0bc397561a59a19fcbc2ad488", + "rev": "528d500ea826383cc126a9be1e633fc92b19ce5d", "type": "github" }, "original": { @@ -311,11 +311,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1702937567, - "narHash": "sha256-bUNl3GPqRgTGp13+oV1DrYa1/NHuGHo5SKmr+RqC/2g=", + "lastModified": 1703387502, + "narHash": "sha256-JnWuQmyanPtF8c5yAEFXVWzaIlMxA3EAZCh8XNvnVqE=", "owner": "Mic92", "repo": "sops-nix", - "rev": "f7db64b88dabc95e4f7bee20455f418e7ab805d4", + "rev": "e523e89763ff45f0a6cf15bcb1092636b1da9ed3", "type": "github" }, "original": { From 789415718f02a239189504da9738aa832a0fc42f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 27 Dec 2023 15:23:15 +0000 Subject: [PATCH 202/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/0b3d618173114c64ab666f557504d6982665d328' (2023-12-21) → 'github:nixos/nixpkgs/d02d818f22c777aa4e854efc3242ec451e5d462a' (2023-12-25) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/904b22f4024a67b196eda237e8b7cdd2fd4fe7ee' (2023-12-25) → 'github:NixOS/nixpkgs/52a9e17b781aeae9bde6e5936b1f126b646c5189' (2023-12-27) • Updated input 'nur': 'github:nix-community/NUR/5942503289336c3f00348f16dea95e54e4b43b42' (2023-12-25) → 'github:nix-community/NUR/544f12dfd015f630784a654d31f2dcbad6af3d0d' (2023-12-27) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 9ae8c99..ee32e87 100644 --- a/flake.lock +++ b/flake.lock @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1703547242, - "narHash": "sha256-huIqSS810+Z1lDVAatrn0Tptp5XYZXDPBBPI9PG/bI4=", + "lastModified": 1703688050, + "narHash": "sha256-dOYKebEO/jkmbZvMzSfWPmlwAubxVYb6GomsB9EPUl8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "904b22f4024a67b196eda237e8b7cdd2fd4fe7ee", + "rev": "52a9e17b781aeae9bde6e5936b1f126b646c5189", "type": "github" }, "original": { @@ -234,11 +234,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1703200384, - "narHash": "sha256-q5j06XOsy0qHOarsYPfZYJPWbTbc8sryRxianlEPJN0=", + "lastModified": 1703467016, + "narHash": "sha256-/5A/dNPhbQx/Oa2d+Get174eNI3LERQ7u6WTWOlR1eQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0b3d618173114c64ab666f557504d6982665d328", + "rev": "d02d818f22c777aa4e854efc3242ec451e5d462a", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1703548790, - "narHash": "sha256-YYZ9vYZDSjID013xM8ztXbxl3Y6JrkQPT4Pux2qj9nk=", + "lastModified": 1703689692, + "narHash": "sha256-fsDHwbDe5aU8VVcdGytVWHtgHyqhBx1UoEHza9eWDYQ=", "owner": "nix-community", "repo": "NUR", - "rev": "5942503289336c3f00348f16dea95e54e4b43b42", + "rev": "544f12dfd015f630784a654d31f2dcbad6af3d0d", "type": "github" }, "original": { From 58f64d8dcbcd3c8503e7a099b180c3bddc0e6960 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 27 Dec 2023 19:27:11 +0000 Subject: [PATCH 203/766] Add Network Manager applet --- modules/default.nix | 1 + modules/network-manager.nix | 8 ++++++++ 2 files changed, 9 insertions(+) create mode 100644 modules/network-manager.nix diff --git a/modules/default.nix b/modules/default.nix index c93f674..d43da52 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -25,6 +25,7 @@ ./mailserver ./matrix ./mute-indicator.nix + ./network-manager.nix ./nix.nix ./obs.nix ./pipewire.nix diff --git a/modules/network-manager.nix b/modules/network-manager.nix new file mode 100644 index 0000000..2c75c57 --- /dev/null +++ b/modules/network-manager.nix @@ -0,0 +1,8 @@ +{ config, lib, pkgs, ... }: + +lib.mkIf config.jalr.gui.enable { + programs.nm-applet = { + enable = true; + indicator = true; + }; +} From e12c2944e89a376c8d565ed54e58a0b648e3b6e5 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 27 Dec 2023 20:34:52 +0000 Subject: [PATCH 204/766] Add thunderbird --- home-manager/modules/default.nix | 1 + home-manager/modules/thunderbird.nix | 7 +++++++ home-manager/users/jalr.nix | 27 +++++++++++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 home-manager/modules/thunderbird.nix diff --git a/home-manager/modules/default.nix b/home-manager/modules/default.nix index 9c59a4b..c8c85d8 100644 --- a/home-manager/modules/default.nix +++ b/home-manager/modules/default.nix @@ -30,6 +30,7 @@ ./remarkable ./sound ./sway + ./thunderbird.nix ./tmux.nix ./tor-browser.nix ./vdirsyncer.nix diff --git a/home-manager/modules/thunderbird.nix b/home-manager/modules/thunderbird.nix new file mode 100644 index 0000000..dfe8769 --- /dev/null +++ b/home-manager/modules/thunderbird.nix @@ -0,0 +1,7 @@ +{ nixosConfig, pkgs, ... }: +{ + programs.thunderbird = { + enable = nixosConfig.jalr.gui.enable; + profiles."default".isDefault = true; + }; +} diff --git a/home-manager/users/jalr.nix b/home-manager/users/jalr.nix index 89ae988..51bd39b 100644 --- a/home-manager/users/jalr.nix +++ b/home-manager/users/jalr.nix @@ -64,6 +64,33 @@ pwgen tig ]; + + accounts.email.accounts."jalr" = { + primary = true; + userName = "jalr@jalr.de"; + address = "jalr@jalr.de"; + realName = "Jakob Lechner"; + imap = { + host = "hha.jalr.de"; + port = 143; + tls = { + enable = true; + useStartTls = true; + }; + }; + smtp = { + host = "hha.jalr.de"; + port = 587; + tls = { + enable = true; + useStartTls = true; + }; + }; + thunderbird = { + enable = true; + profiles = [ "default" ]; + }; + }; }; }; }; From 6b84983030eaca91a0eda95f9f536cf2b8329e36 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 29 Dec 2023 14:38:41 +0000 Subject: [PATCH 205/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/52a9e17b781aeae9bde6e5936b1f126b646c5189' (2023-12-27) → 'github:NixOS/nixpkgs/aaa62ee7585283898629e5a309e3357ebe72663d' (2023-12-29) • Updated input 'nur': 'github:nix-community/NUR/544f12dfd015f630784a654d31f2dcbad6af3d0d' (2023-12-27) → 'github:nix-community/NUR/cbadac330a86378a6329db095e8117b7a1caee74' (2023-12-29) --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index ee32e87..621210f 100644 --- a/flake.lock +++ b/flake.lock @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1703688050, - "narHash": "sha256-dOYKebEO/jkmbZvMzSfWPmlwAubxVYb6GomsB9EPUl8=", + "lastModified": 1703860432, + "narHash": "sha256-tTcPsPZyKBySeiIDT0goB6XxW5hcIZGg2kVvAx1jIns=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "52a9e17b781aeae9bde6e5936b1f126b646c5189", + "rev": "aaa62ee7585283898629e5a309e3357ebe72663d", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1703689692, - "narHash": "sha256-fsDHwbDe5aU8VVcdGytVWHtgHyqhBx1UoEHza9eWDYQ=", + "lastModified": 1703860250, + "narHash": "sha256-AdEG1BkFyJn6wFVPORDElqrh89qkmRHCTo6SfqvzbeI=", "owner": "nix-community", "repo": "NUR", - "rev": "544f12dfd015f630784a654d31f2dcbad6af3d0d", + "rev": "cbadac330a86378a6329db095e8117b7a1caee74", "type": "github" }, "original": { From eee977cd9e00168c47f306fc57ec04bf9bf90ae7 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 29 Dec 2023 15:28:20 +0000 Subject: [PATCH 206/766] Add unzip --- home-manager/modules/cli.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home-manager/modules/cli.nix b/home-manager/modules/cli.nix index 62cc97f..f07297b 100644 --- a/home-manager/modules/cli.nix +++ b/home-manager/modules/cli.nix @@ -10,6 +10,7 @@ lsof ncdu ripgrep + unzip ] ++ (if ! nixosConfig.jalr.workstation.enable then [ ] else [ direnv dnsutils From 462d78ef1f5608515bd4b45a6effb326f944449d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 31 Dec 2023 13:39:11 +0000 Subject: [PATCH 207/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/7f35ec30d16b38fe0eed8005933f418d1a4693ee' (2023-12-24) → 'github:cachix/pre-commit-hooks.nix/9d3d7e18c6bc4473d7520200d4ddab12f8402d38' (2023-12-30) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/d02d818f22c777aa4e854efc3242ec451e5d462a' (2023-12-25) → 'github:nixos/nixpkgs/9dd7699928e26c3c00d5d46811f1358524081062' (2023-12-30) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/aaa62ee7585283898629e5a309e3357ebe72663d' (2023-12-29) → 'github:NixOS/nixpkgs/bab500a21ac81b122bc9b573429b724eb74225e1' (2023-12-31) • Updated input 'nur': 'github:nix-community/NUR/cbadac330a86378a6329db095e8117b7a1caee74' (2023-12-29) → 'github:nix-community/NUR/c1a78c7eeacb194aef527a7f41910f3866e2f14b' (2023-12-31) • Updated input 'sops-nix': 'github:Mic92/sops-nix/e523e89763ff45f0a6cf15bcb1092636b1da9ed3' (2023-12-24) → 'github:Mic92/sops-nix/cfdbaf68d00bc2f9e071f17ae77be4b27ff72fa6' (2023-12-31) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/7790e078f8979a9fcd543f9a47427eeaba38f268' (2023-12-23) → 'github:NixOS/nixpkgs/0aad9113182747452dbfc68b93c86e168811fa6c' (2023-12-30) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 621210f..b208caa 100644 --- a/flake.lock +++ b/flake.lock @@ -154,11 +154,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1703426812, - "narHash": "sha256-aODSOH8Og8ne4JylPJn+hZ6lyv6K7vE5jFo4KAGIebM=", + "lastModified": 1703939133, + "narHash": "sha256-Gxe+mfOT6bL7wLC/tuT2F+V+Sb44jNr8YsJ3cyIl4Mo=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "7f35ec30d16b38fe0eed8005933f418d1a4693ee", + "rev": "9d3d7e18c6bc4473d7520200d4ddab12f8402d38", "type": "github" }, "original": { @@ -202,11 +202,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1703351344, - "narHash": "sha256-9FEelzftkE9UaJ5nqxidaJJPEhe9TPhbypLHmc2Mysc=", + "lastModified": 1703950681, + "narHash": "sha256-veU5bE4eLOmi7aOzhE7LfZXcSOONRMay0BKv01WHojo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7790e078f8979a9fcd543f9a47427eeaba38f268", + "rev": "0aad9113182747452dbfc68b93c86e168811fa6c", "type": "github" }, "original": { @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1703860432, - "narHash": "sha256-tTcPsPZyKBySeiIDT0goB6XxW5hcIZGg2kVvAx1jIns=", + "lastModified": 1704028587, + "narHash": "sha256-gvnPImYfQkcb1ZQXKHUfec7f+XRxRMCg++TWhAYp/XQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "aaa62ee7585283898629e5a309e3357ebe72663d", + "rev": "bab500a21ac81b122bc9b573429b724eb74225e1", "type": "github" }, "original": { @@ -234,11 +234,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1703467016, - "narHash": "sha256-/5A/dNPhbQx/Oa2d+Get174eNI3LERQ7u6WTWOlR1eQ=", + "lastModified": 1703900474, + "narHash": "sha256-Zu+chYVYG2cQ4FCbhyo6rc5Lu0ktZCjRbSPE0fDgukI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d02d818f22c777aa4e854efc3242ec451e5d462a", + "rev": "9dd7699928e26c3c00d5d46811f1358524081062", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1703860250, - "narHash": "sha256-AdEG1BkFyJn6wFVPORDElqrh89qkmRHCTo6SfqvzbeI=", + "lastModified": 1704028639, + "narHash": "sha256-fDN/0YA5EUCu1ic6NyWoie5W+VzrX0aHVvFkrY0np18=", "owner": "nix-community", "repo": "NUR", - "rev": "cbadac330a86378a6329db095e8117b7a1caee74", + "rev": "c1a78c7eeacb194aef527a7f41910f3866e2f14b", "type": "github" }, "original": { @@ -311,11 +311,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1703387502, - "narHash": "sha256-JnWuQmyanPtF8c5yAEFXVWzaIlMxA3EAZCh8XNvnVqE=", + "lastModified": 1703991717, + "narHash": "sha256-XfBg2dmDJXPQEB8EdNBnzybvnhswaiAkUeeDj7fa/hQ=", "owner": "Mic92", "repo": "sops-nix", - "rev": "e523e89763ff45f0a6cf15bcb1092636b1da9ed3", + "rev": "cfdbaf68d00bc2f9e071f17ae77be4b27ff72fa6", "type": "github" }, "original": { From c7ef9fb1e81faf05f9c069784593c5af22b6751b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 30 Jan 2024 20:02:36 +0000 Subject: [PATCH 208/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'flake-utils': 'github:numtide/flake-utils/4022d587cbbfd70fe950c1e2083a02621806a725' (2023-12-04) → 'github:numtide/flake-utils/1ef2e671c3b0c19053962c07dbda38332dcebf26' (2024-01-15) • Updated input 'gomod2nix': 'github:nix-community/gomod2nix/001bbfa22e2adeb87c34c6015e5694e88721cabe' (2023-12-04) → 'github:nix-community/gomod2nix/30e3c3a9ec4ac8453282ca7f67fca9e1da12c3e6' (2024-01-15) • Updated input 'home-manager': 'github:nix-community/home-manager/d5824a76bc6bb93d1dce9ebbbcb09a9b6abcc224' (2023-12-23) → 'github:nix-community/home-manager/10cd9c53115061aa6a0a90aad0b0dde6a999cdb9' (2024-01-19) • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/9d3d7e18c6bc4473d7520200d4ddab12f8402d38' (2023-12-30) → 'github:cachix/pre-commit-hooks.nix/7c54e08a689b53c8a1e5d70169f2ec9e2a68ffaf' (2024-01-28) • Updated input 'nix-pre-commit-hooks/flake-compat': 'github:edolstra/flake-compat/35bb57c0c8d8b62bbfd284272c928ceb64ddbde9' (2023-01-17) → 'github:edolstra/flake-compat/0f9255e01c2351cc7d116c072cb317785dd33b33' (2023-10-04) • Updated input 'nix-pre-commit-hooks/gitignore': 'github:hercules-ci/gitignore.nix/a20de23b925fd8264fd7fad6454652e142fd7f73' (2022-08-14) → 'github:hercules-ci/gitignore.nix/43e1aa1308018f37118e34d3a9cb4f5e75dc11d5' (2023-12-29) • Updated input 'nix-pre-commit-hooks/nixpkgs': 'github:NixOS/nixpkgs/df1eee2aa65052a18121ed4971081576b25d6b5c' (2023-07-13) → 'github:NixOS/nixpkgs/eabe8d3eface69f5bb16c18f8662a702f50c20d5' (2024-01-09) • Updated input 'nix-pre-commit-hooks/nixpkgs-stable': 'github:NixOS/nixpkgs/c37ca420157f4abc31e26f436c1145f8951ff373' (2023-06-03) → 'github:NixOS/nixpkgs/3dc440faeee9e889fe2d1b4d25ad0f430d449356' (2024-01-10) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/9dd7699928e26c3c00d5d46811f1358524081062' (2023-12-30) → 'github:nixos/nixpkgs/f4a8d6d5324c327dcc2d863eb7f3cc06ad630df4' (2024-01-29) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/bab500a21ac81b122bc9b573429b724eb74225e1' (2023-12-31) → 'github:NixOS/nixpkgs/996d064488f4bf9e61f9980790d35d5a79f64b40' (2024-01-30) • Updated input 'nur': 'github:nix-community/NUR/c1a78c7eeacb194aef527a7f41910f3866e2f14b' (2023-12-31) → 'github:nix-community/NUR/68b210c7240de86b3639cf9542df9dcb9c504914' (2024-01-30) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/528d500ea826383cc126a9be1e633fc92b19ce5d' (2023-12-25) → 'github:nix-community/poetry2nix/e0b44e9e2d3aa855d1dd77b06f067cd0e0c3860d' (2024-01-12) • Updated input 'sops-nix': 'github:Mic92/sops-nix/cfdbaf68d00bc2f9e071f17ae77be4b27ff72fa6' (2023-12-31) → 'github:Mic92/sops-nix/73bf36912e31a6b21af6e0f39218e067283c67ef' (2024-01-28) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/0aad9113182747452dbfc68b93c86e168811fa6c' (2023-12-30) → 'github:NixOS/nixpkgs/9a333eaa80901efe01df07eade2c16d183761fa3' (2024-01-22) --- flake.lock | 86 +++++++++++++++++++++++++++--------------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/flake.lock b/flake.lock index b208caa..7a06b9a 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "owner": "edolstra", "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "type": "github" }, "original": { @@ -21,11 +21,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", "owner": "numtide", "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", "type": "github" }, "original": { @@ -42,11 +42,11 @@ ] }, "locked": { - "lastModified": 1660459072, - "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=", + "lastModified": 1703887061, + "narHash": "sha256-gGPa9qWNc6eCXT/+Z5/zMkyYOuRZqeFZBDbopNZQkuY=", "owner": "hercules-ci", "repo": "gitignore.nix", - "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73", + "rev": "43e1aa1308018f37118e34d3a9cb4f5e75dc11d5", "type": "github" }, "original": { @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1701687253, - "narHash": "sha256-qJCMxIKWXonJODPF2oV7mCd0xu7VYVenTucrY0bizto=", + "lastModified": 1705314449, + "narHash": "sha256-yfQQ67dLejP0FLK76LKHbkzcQqNIrux6MFe32MMFGNQ=", "owner": "nix-community", "repo": "gomod2nix", - "rev": "001bbfa22e2adeb87c34c6015e5694e88721cabe", + "rev": "30e3c3a9ec4ac8453282ca7f67fca9e1da12c3e6", "type": "github" }, "original": { @@ -85,11 +85,11 @@ ] }, "locked": { - "lastModified": 1703367386, - "narHash": "sha256-FMbm48UGrBfOWGt8+opuS+uLBLQlRfhiYXhHNcYMS5k=", + "lastModified": 1705659542, + "narHash": "sha256-WA3xVfAk1AYmFdwghT7mt/erYpsU6JPu9mdTEP/e9HQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "d5824a76bc6bb93d1dce9ebbbcb09a9b6abcc224", + "rev": "10cd9c53115061aa6a0a90aad0b0dde6a999cdb9", "type": "github" }, "original": { @@ -154,11 +154,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1703939133, - "narHash": "sha256-Gxe+mfOT6bL7wLC/tuT2F+V+Sb44jNr8YsJ3cyIl4Mo=", + "lastModified": 1706424699, + "narHash": "sha256-Q3RBuOpZNH2eFA1e+IHgZLAOqDD9SKhJ/sszrL8bQD4=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "9d3d7e18c6bc4473d7520200d4ddab12f8402d38", + "rev": "7c54e08a689b53c8a1e5d70169f2ec9e2a68ffaf", "type": "github" }, "original": { @@ -170,11 +170,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1689261696, - "narHash": "sha256-LzfUtFs9MQRvIoQ3MfgSuipBVMXslMPH/vZ+nM40LkA=", + "lastModified": 1704842529, + "narHash": "sha256-OTeQA+F8d/Evad33JMfuXC89VMetQbsU4qcaePchGr4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "df1eee2aa65052a18121ed4971081576b25d6b5c", + "rev": "eabe8d3eface69f5bb16c18f8662a702f50c20d5", "type": "github" }, "original": { @@ -186,27 +186,27 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1685801374, - "narHash": "sha256-otaSUoFEMM+LjBI1XL/xGB5ao6IwnZOXc47qhIgJe8U=", + "lastModified": 1704874635, + "narHash": "sha256-YWuCrtsty5vVZvu+7BchAxmcYzTMfolSPP5io8+WYCg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c37ca420157f4abc31e26f436c1145f8951ff373", + "rev": "3dc440faeee9e889fe2d1b4d25ad0f430d449356", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-23.05", + "ref": "nixos-23.11", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1703950681, - "narHash": "sha256-veU5bE4eLOmi7aOzhE7LfZXcSOONRMay0BKv01WHojo=", + "lastModified": 1705957679, + "narHash": "sha256-Q8LJaVZGJ9wo33wBafvZSzapYsjOaNjP/pOnSiKVGHY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0aad9113182747452dbfc68b93c86e168811fa6c", + "rev": "9a333eaa80901efe01df07eade2c16d183761fa3", "type": "github" }, "original": { @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1704028587, - "narHash": "sha256-gvnPImYfQkcb1ZQXKHUfec7f+XRxRMCg++TWhAYp/XQ=", + "lastModified": 1706644812, + "narHash": "sha256-OFP4nLyzvikvdbsAxQurqdhSK79lEjlyg3VtnSsmzbw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bab500a21ac81b122bc9b573429b724eb74225e1", + "rev": "996d064488f4bf9e61f9980790d35d5a79f64b40", "type": "github" }, "original": { @@ -234,11 +234,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1703900474, - "narHash": "sha256-Zu+chYVYG2cQ4FCbhyo6rc5Lu0ktZCjRbSPE0fDgukI=", + "lastModified": 1706515015, + "narHash": "sha256-eFfY5A7wlYy3jD/75lx6IJRueg4noE+jowl0a8lIlVo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9dd7699928e26c3c00d5d46811f1358524081062", + "rev": "f4a8d6d5324c327dcc2d863eb7f3cc06ad630df4", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1704028639, - "narHash": "sha256-fDN/0YA5EUCu1ic6NyWoie5W+VzrX0aHVvFkrY0np18=", + "lastModified": 1706643926, + "narHash": "sha256-GOBRsUCZ3a9GgaLvbm2wpmsnZGY41IvEp9C3rQLXaTI=", "owner": "nix-community", "repo": "NUR", - "rev": "c1a78c7eeacb194aef527a7f41910f3866e2f14b", + "rev": "68b210c7240de86b3639cf9542df9dcb9c504914", "type": "github" }, "original": { @@ -276,11 +276,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1703546497, - "narHash": "sha256-CN/7HaEmHz+akXKejkRVhsxAm6HPGOmYBWMtgMkuROA=", + "lastModified": 1705060653, + "narHash": "sha256-puYyylgrBS4AFAHeyVRTjTUVD8DZdecJfymWJe7H438=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "528d500ea826383cc126a9be1e633fc92b19ce5d", + "rev": "e0b44e9e2d3aa855d1dd77b06f067cd0e0c3860d", "type": "github" }, "original": { @@ -311,11 +311,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1703991717, - "narHash": "sha256-XfBg2dmDJXPQEB8EdNBnzybvnhswaiAkUeeDj7fa/hQ=", + "lastModified": 1706410821, + "narHash": "sha256-iCfXspqUOPLwRobqQNAQeKzprEyVowLMn17QaRPQc+M=", "owner": "Mic92", "repo": "sops-nix", - "rev": "cfdbaf68d00bc2f9e071f17ae77be4b27ff72fa6", + "rev": "73bf36912e31a6b21af6e0f39218e067283c67ef", "type": "github" }, "original": { From 920fdb5955cc8180cd42faf337d3ec31eceb54f9 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 30 Jan 2024 20:10:51 +0000 Subject: [PATCH 209/766] Add request timeout --- pkgs/myintercom-doorbell/myintercom_doorbell/service.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/myintercom-doorbell/myintercom_doorbell/service.py b/pkgs/myintercom-doorbell/myintercom_doorbell/service.py index 641c3f6..e19625c 100644 --- a/pkgs/myintercom-doorbell/myintercom_doorbell/service.py +++ b/pkgs/myintercom-doorbell/myintercom_doorbell/service.py @@ -8,7 +8,12 @@ import time def send_open_door_request(host, username, password): - urllib3.PoolManager().request( + urllib3.PoolManager( + timeout=urllib3.Timeout( + connect=3.0, + read=300, + ) + ).request( "GET", f"http://{host}/local/Doorcom/door.cgi?r=1", headers=urllib3.make_headers(basic_auth=f"{username}:{password}"), From 91b720e26bfb30ca452ee021c19c0dde91f60732 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 30 Jan 2024 20:11:08 +0000 Subject: [PATCH 210/766] Add some logging --- pkgs/myintercom-doorbell/myintercom_doorbell/service.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/myintercom-doorbell/myintercom_doorbell/service.py b/pkgs/myintercom-doorbell/myintercom_doorbell/service.py index e19625c..3def826 100644 --- a/pkgs/myintercom-doorbell/myintercom_doorbell/service.py +++ b/pkgs/myintercom-doorbell/myintercom_doorbell/service.py @@ -21,10 +21,12 @@ def send_open_door_request(host, username, password): def get_ring_status(host, username, password): + url = f"http://{host}/local/Doorcom/monitor.cgi?ring=1" + print(f"sending request to {url}", flush=True) try: response = urllib3.PoolManager().request( "GET", - f"http://{host}/local/Doorcom/monitor.cgi?ring=1", + url, headers=urllib3.make_headers(basic_auth=f"{username}:{password}"), preload_content=False, decode_content=True, @@ -48,6 +50,7 @@ def get_ring_status(host, username, password): data.append(line.decode().rstrip()) else: if data: + print(f"received: {data}", flush=True) yield data break From af3b469f54b1364e9d0f45a4ba681cb1bec068ff Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 13 Jan 2024 17:38:30 +0000 Subject: [PATCH 211/766] Add kitchen light --- hosts/iron/secrets.yaml | 6 +-- .../esphome/devices/kueche-leiste.yaml | 54 +++++++++++++++++++ hosts/iron/services/home-assistant.nix | 1 + 3 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 hosts/iron/services/esphome/devices/kueche-leiste.yaml diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index 5c12373..a8cddef 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -9,7 +9,7 @@ dkim-keys: radicale-htpasswd: ENC[AES256_GCM,data:Q0WnleP9I4xozsL/H+5oV3Ag7khfalV40A6ub+DA07U8UKna3/ju533RmjWOnETzSNa6XK140nfCcfGZCiqGyF9tfuuXcKFu+j4=,iv:87PSvHyKF7QUQZmEuxM+IT0VKSGnS0MjoUmCqJ+6tzI=,tag:yrP3TgxE8aSZf0MrCF9dsQ==,type:str] synapse-turn-shared-secret: ENC[AES256_GCM,data:Q1XRds3Zud1kYkvD6s9WUzP+kNDNsxB5SHd6oCAaLCHhHhYENSAYTZOF+rGjCPNyKFL0e/A=,iv:zScRQrz+pXHNUh/BGOaV+TVnDR3wu1Z/UO1zXarKwtA=,tag:ckpVziE+yb0FjctcT7tAkg==,type:str] rmfakecloud: ENC[AES256_GCM,data:ktKBKb6cRv1VF8tRvXIpxIy9hPinVPKK05mgvYzz18PEdcrCLpldm5xf7ffHtY5XzDOAMXDCiz6x4xyv7071frrF0spOEPnIzVhxwG8H2Ck=,iv:qJdHjv0RziAs4G9UGeRwGQ4GE5kaObJWpIYWpRKhr9c=,tag:PXgvU1hZK/gvWGyFJaHekg==,type:str] -esphome: ENC[AES256_GCM,data:8mXqZnGaiWTO3pNozXCG/NmPEb9fTWBIs/2gX4xLPQwoUg8rw18pVfm0GbEQG1e/crV8ykeYcbKvvZdvVIrc4M/khoO7iuqJHURTcoQh/q/9pH1K2Tg+f7w6V24BozP3GnHXGo+zfo4gX8TgQzx7kktMIiWWnP5gyc1KOw5mQlGmOwfe/Ny6ziCWuGOCPIzd4qtMGOn2lie9HztJ5h0HR9NMJar007grRUS/DXtgw4Z6/PQ80bQJPJF3qsCuJuW9YiI1ImqherYiGaS+ptdZI/nkj9RZFrDBf1NOt1ZizROoeKKO0uJ134Rh+YeuAtWeT+NcQMnj20YdJ75aBHGd+Kx/fICOmO/yXKyuwk1ZyvIvnlauG0bgi2nMrAQJdgO7FRBflmZd6IIFv6a2kOHkS8sigBi2Movq/mZTEF13XBsFxgEZugEqh5MvEd10iaLusYNCa5pc3z5DoeAcbsOGfmcgy4RdHurtVImfLSvPyelRAsWXceOPzU+zLVyAGZ4MeqP5cO2oK1qC9sntMz3s5sjl7BsT9SieiaScK4Tdadh0ZjlzVYzh+XIDTvbgUu6EFmU3t4UeAanPywJIdnnJVMCvgN6FLHk098h9PL2DgKWfS8aiywKXctXUA78WYpYInqS531liF8Jc5HM91Azp1q+ImpzmZjfm0kgD7wLiGzZaPeKsQaB7ykMpvWpTSq+QHW4=,iv:qLn56QxmWFaYtz3MwZyCP7NEfypmWRW4HxQiZmn27fE=,tag:9bHVx5NDf3nZG0alxb4p1w==,type:str] +esphome: ENC[AES256_GCM,data:u8fNhi3J2wEJ6uxYT5LfYzktnmhTuHX4Tundu8iPxstFHkk7eF4HjlZi7KWmSZSFNqZqCRQ/Kksmtylc5LxGvVUAgwr4fUu9qBns3UbwwdrOrenefrcDZDq2Z2VjNtIHK2CbmqmDoodZy7JWgezY8ZzEjqcpv+btZ/91+ApM/5Q81gxcbFWMmurOp/yl0LSaCVu4sE7L60IstZisJMtmJ/YTY6KYop6TMuwUUDwVa5kgqzxLJWc0MEDt7rSutqVd7ryGzacvcaC4HcOcbVHVNc5tCqELBxExV4zd56rK2RLfBtDJVX7S3h+deWmNg6IMnPkAtgaer0QT8x4BIhbj8r7S2lcWDF1r1V2aZQ33mXbiuMlDVdmHliMnKpY+QIVLLtC0xNofRKixD+S1zmsjqQTJaMZO76dk8dRrZ+mnDPjDdLjT6687YPOeRuIAzLYhJrgyvQdE+SBgx0B71L/Q0Jp2joO4esx0iWwa8A6h8WZMulO1CGQpRfhI5GABz/sJtSm1pkZbxHJnhKXxAV3KiAP3RH673xkdo3Wmn1Q7RsOVsogXodYd4klmSgAszvF0eBl/pazCgfErI6ReNIr7cUGYd82Ub0gveSvPzqCPGJMkxwZ51QOUKI/pvw4pywolpH1JN5edPfoepVvbrrk/TD8X0Dd6YKOWuzjZ8LsuM1znqywwGh5BGvWzSpK1JZcYJG4Na5LFHgniyOuL6y6aANXSW6TBuehNwNEHkbm2GOjpxy3Ml5nWwQLkkD2wEdSU0/MW23rr6cOVUOrYiZvxip8l5Nf5Cl/JTLGaepRJaMBkTZj4G5x+r4zqOTBsbcEG8eiPAZG5uIxxVYo=,iv:U1srWrPW11lz/UYFW7Z9apla+ShH7W/QzDiw+evfcXg=,tag:1dxPp+m2O6xSyAZEsSf0dw==,type:str] sops: kms: [] gcp_kms: [] @@ -25,8 +25,8 @@ sops: TjdZRldhSzVtMkVoTzY1NjdGbCswRVUK0pi+8UuLqRmytcR2ikxOAM02iccl8P1y ixv0PKPLd+vQ23QeeQy/TfoGx16XttaDUnUrPLZR3TUKtAcld8+m6w== -----END AGE ENCRYPTED FILE----- - lastmodified: "2023-12-18T16:45:32Z" - mac: ENC[AES256_GCM,data:ZsC4C+VpUnHuMyqHa3/TIursyWDPV1+we/cBrUhyeqeNdeDveJ4a26jmIzNxWWHbJU7uMPy6BF6iHpS91YK4m+KKSqoXZiTjB8b9p3y9ietT9XQOLXdt8pxVFBEOSH7g9DeVbrJUHTOhzYpugMqC/QXcDLE1GQwa0eGUq3JIDh8=,iv:vbDpVJAXvYw1qQ5Or6CxOs8OO4yhtlVF4zh07bkkFJw=,tag:IqVAItuv23AbbGQsPh5dsg==,type:str] + lastmodified: "2024-01-12T02:04:19Z" + mac: ENC[AES256_GCM,data:pXHs+ucPNr+v/x3R2Jb+1zxnHdAeSneT+6lt20eLhjvcMQIFckYXFxc0eOMnV00jTWb+vyz6g5zHsg9+kv+xm/xBHozw9sRJi01Ni+AR/ZLSbVDa6NiMyu536MrA1TeD3iZrxgmpDTuxsChdETz0mmPyEPOMT29seWYlhzI/++o=,iv:2guaerRyQj6qz9Dyo2HbC/dXUA6cuAA+yuDwbUDCcK8=,tag:HcVT4KdLCyjwtWP24JVfhg==,type:str] pgp: - created_at: "2023-05-02T19:30:42Z" enc: | diff --git a/hosts/iron/services/esphome/devices/kueche-leiste.yaml b/hosts/iron/services/esphome/devices/kueche-leiste.yaml new file mode 100644 index 0000000..deaf92d --- /dev/null +++ b/hosts/iron/services/esphome/devices/kueche-leiste.yaml @@ -0,0 +1,54 @@ +esphome: + name: "kueche-leiste" + friendly_name: "Küche Leiste" + platformio_options: + board_build.flash_mode: dio + on_boot: + then: + - light.turn_on: + id: led_light + brightness: 50% + color_temperature: 2700 K + +esp32: + board: esp32-c3-devkitm-1 + variant: ESP32C3 + framework: + type: esp-idf + +logger: + +api: + encryption: + key: !secret apikey_kueche_leiste + +ota: + password: !secret otapass_kueche_leiste + +wifi: + ssid: !secret wifi_ssid_bw + password: !secret wifi_password_bw + domain: .iot.bw.jalr.de + power_save_mode: none + enable_on_boot: True + fast_connect: On + output_power: 8.5 + +output: + - platform: ledc + pin: GPIO0 + id: output_warm + - platform: ledc + pin: GPIO1 + id: output_cold + +light: + - platform: cwww + name: "LED light" + id: led_light + cold_white: output_cold + warm_white: output_warm + cold_white_color_temperature: 6500 K + warm_white_color_temperature: 2700 K + constant_brightness: true + gamma_correct: 0 diff --git a/hosts/iron/services/home-assistant.nix b/hosts/iron/services/home-assistant.nix index a3d1633..6be4d5f 100644 --- a/hosts/iron/services/home-assistant.nix +++ b/hosts/iron/services/home-assistant.nix @@ -82,6 +82,7 @@ in "light.yeelight_meteorite_ceiling_light" "light.eingang_deckenleuchte_deckenleuchte" "light.led_panel_schreibtisch_panel" + "light.kueche_leiste_led_light" ]; min_brightness = 20; } From 0b2e5071ab9335586104eebf07f440d9772341bb Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 13 Jan 2024 17:40:56 +0000 Subject: [PATCH 212/766] Add washing machine notification --- hosts/iron/services/home-assistant.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/hosts/iron/services/home-assistant.nix b/hosts/iron/services/home-assistant.nix index 6be4d5f..27d40ac 100644 --- a/hosts/iron/services/home-assistant.nix +++ b/hosts/iron/services/home-assistant.nix @@ -87,6 +87,25 @@ in min_brightness = 20; } ]; + automation = [ + { + alias = "Waschmaschine fertig Benachrichtigung"; + trigger = { + platform = "state"; + entity_id = "sensor.waschmaschine_aktueller_vorgang"; + to = "Knitterschutz/Ende"; + }; + action = [ + { + service = "notify.mobile_app_shift6mq"; + data = { + message = "Die Waschmaschine hat das Programm beendet."; + title = "Wäsche fertig"; + }; + } + ]; + } + ]; }; }; From 355efbc9f41329e1a1e492bd57d3d47fd1506855 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 21 Jan 2024 23:06:33 +0000 Subject: [PATCH 213/766] Add temperature/humidity sensor --- hosts/iron/services/esphome/devices/kueche-leiste.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hosts/iron/services/esphome/devices/kueche-leiste.yaml b/hosts/iron/services/esphome/devices/kueche-leiste.yaml index deaf92d..cffa6b8 100644 --- a/hosts/iron/services/esphome/devices/kueche-leiste.yaml +++ b/hosts/iron/services/esphome/devices/kueche-leiste.yaml @@ -52,3 +52,12 @@ light: warm_white_color_temperature: 2700 K constant_brightness: true gamma_correct: 0 + +sensor: + - platform: dht + pin: GPIO5 + temperature: + name: "Living Room Temperature" + humidity: + name: "Living Room Humidity" + update_interval: 60s From 2070072d0d81586d003275129401e5615e13093f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 31 Jan 2024 01:30:05 +0000 Subject: [PATCH 214/766] Rotate git-crypt key --- .../3044E71E3DEFF49B586CF5809BF4FCCB90854DA9.gpg | Bin 0 -> 294 bytes .../66FB54F6081375106EEBF651A222365EB448F934.gpg | Bin 294 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 .git-crypt/keys/default/0/3044E71E3DEFF49B586CF5809BF4FCCB90854DA9.gpg delete mode 100644 .git-crypt/keys/default/0/66FB54F6081375106EEBF651A222365EB448F934.gpg diff --git a/.git-crypt/keys/default/0/3044E71E3DEFF49B586CF5809BF4FCCB90854DA9.gpg b/.git-crypt/keys/default/0/3044E71E3DEFF49B586CF5809BF4FCCB90854DA9.gpg new file mode 100644 index 0000000000000000000000000000000000000000..469ad364c1220f1f737889fec48f2e0ca3af59aa GIT binary patch literal 294 zcmZpPV^02)Y1$XoA}hqm?r>t(`gN=ipIj7Txh!nH$^948U2${qZ6#B08m5aX*PatG znD*e7wTD=-qe1|?b@j6vugJLc%mZ@QOn1#sEIW|2@=r&ll(px!?)=n#ozP4rrlXe* zFf)E@bq2jHf)~v>f8;jv{OfwZWO+lRnu;E_rR63&EH=B&kqgvSn`?OSZr@YiMPsY zZfo_E|KG-TvZ{Q(5g5@BUE`%g%-YFTXPKn DPGgOe literal 0 HcmV?d00001 diff --git a/.git-crypt/keys/default/0/66FB54F6081375106EEBF651A222365EB448F934.gpg b/.git-crypt/keys/default/0/66FB54F6081375106EEBF651A222365EB448F934.gpg deleted file mode 100644 index 8dcb496bb0095edc68b7cd7f124169a6d87dfb71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 294 zcmZpPW4^EHop5=L^;;oEc89*yk19KFhXlGey=7`$v-7v~#BOHQ;H1_il1(?lCn@9@ zNTkF#-?(db%!8+W;W4YgV1>&Q7H8hJ@b|2eoYPXGx!K?+%eQ|TCWnO1bYIKZW1N5K z05jwLrYo`L3`(yIi~LV4`{jS}eb3CoCA(Fw-ntukoP8&M$RQKY+cP)KS#9L~*8TIX zkdq&47S^hE=(O(Va_n;IjdcuO6P5H!R#IIwL%Jt)X5gw{->z3C^j}{2@>81RM;pzb zth-9BLw<_bD@=^u@9#I|bH;J~KN=y7(>^i%{4?W3k4Hk(uPrueKRm2o7kIGz|8%?a z3ghYfA(;~mL@wUtYvlXS8LGabsR~q2O`H7LnvTjRMPJXX|tT E0HPs}SpWb4 From bdba2e358685f838dd216717ff4b46c3812824ad Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 31 Jan 2024 01:42:56 +0000 Subject: [PATCH 215/766] Rotate sops gpg key --- .sops.yaml | 2 +- hosts/aluminium/secrets.yaml | 24 +++++++++++------------ hosts/iron/secrets.yaml | 26 ++++++++++++------------- hosts/magnesium/secrets.yaml | 26 ++++++++++++------------- hosts/weinturm-pretix-prod/secrets.yaml | 26 ++++++++++++------------- 5 files changed, 52 insertions(+), 52 deletions(-) diff --git a/.sops.yaml b/.sops.yaml index c264349..8284cc4 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -1,5 +1,5 @@ keys: - - &admin_jalr 66FB54F6081375106EEBF651A222365EB448F934 + - &admin_jalr 3044E71E3DEFF49B586CF5809BF4FCCB90854DA9 - &admin_jalr_tb FE170812543DF81393EA56BA5042B8317A10617E - &host_aluminium age1ne08hny30vrkejqhh7dcx4ql6dmkx6jw9dqkf3cz7mzvt53njy0qh59w44 - &host_hafnium age1ahnfjspcpwxxk7getcxkj3fypwt37rr6p3xsmp8n2tqqqz8jtg7q2am0et diff --git a/hosts/aluminium/secrets.yaml b/hosts/aluminium/secrets.yaml index a920ae9..01b9197 100644 --- a/hosts/aluminium/secrets.yaml +++ b/hosts/aluminium/secrets.yaml @@ -13,25 +13,25 @@ sops: - recipient: age1ne08hny30vrkejqhh7dcx4ql6dmkx6jw9dqkf3cz7mzvt53njy0qh59w44 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBodUx5V25ETmJLTi9EZlRU - ZnYweXliTDl4ZUlvcmliTjhQRkpzU0pkNXlZCjFtYU5ySWFxOGlNL29SR2RJZHNu - UHJ4YWE4UWJVeEJBUXJwaHJBd292REkKLS0tIDV2WlppeUxIOWFPTHlRYTBaMzA0 - MU41eU8zeTRRUlZyUXV0U1N6U0NRNnMKZK3vfyRRr7Iu6HfpdpmDTKzUbEnCnW9l - rGjFmY9VX2q9w3j/4E5uUToQfeGMqqBTOFUB3hNgU8K5ZT7wMbOXAg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEZmNOcVlKNmZCdWN5NVBy + U3VRbXl3OUljWCtITXZCQTdrVkIxOEtDZHg4CktBNjVKRmVucjRpYXo3WXFWd1VV + MFpGdWIvTmNHRlJ4akxUQkZzWUtXVUkKLS0tIGs3NlNXREVkT1Nta2prSXk4QkV0 + NEtzRXY1Q1Njelc1YXNWVE9Jd2NnOFEKjOWHaxO5fF5l+c1Hv6QLBQajrvu1VimZ + Hqk0GYrFpfpFtbhBRyrYgmNuX/qIRMHemdXcNKDYcj0WXgsdVqH7Qw== -----END AGE ENCRYPTED FILE----- lastmodified: "2023-11-06T23:32:51Z" mac: ENC[AES256_GCM,data:7lW6i4ULus4348NwnV/ovcWebspBcEBzYqLtl+8xFOfe3erIFnC3iRo0ibZJ8yishZpIUxoVu08yxQoa1qEriC57WETMaR+iGUPaY75tHraBJGY26Etk7Hy2QhQ7D+srBY+CogHhHAD8HUwT4/ZiPqKe1eQAvNg/6HWnjbQkG/Q=,iv:r43odkYgQsyK5uJJ5V98kTx7enP7TRuFoTnYfHmD/8o=,tag:hR+1zCniHs1l3qSkhQhtFw==,type:str] pgp: - - created_at: "2022-11-02T22:14:19Z" + - created_at: "2024-01-31T01:19:14Z" enc: |- -----BEGIN PGP MESSAGE----- - wV4D3ylLYNOsO+0SAQdASri/Ozm8ibaE1PN8ItRanuAGU4jRQL1g4U8GbsiXWzcw - u7trrk6foY98pfVAP4Z78X4Dp79UagorlDCT6F6yWtfFODFdTVJdbzJsD5QtZ1vK - 0lEBMmTyLDw4lzTpedDhvgkWpNd33TC3WgAfRb/2LCSPmoVp83O7ja6BfuBQDkWY - gP7g815fKYigaihDH8HlNzvRoOOcGC9+6lyQkHTJyRjKsrg= - =WfhH + hF4DY/xpNY5WhB0SAQdAkeQx8NatnRtZUJa/G0zaw+NL5twonTayNH8mmNBXOWgw + EWaC9Yq6yWntxxfkVaJHN5BEzxVVumrKmpKSIkvCkJqFZ5SuYH/DyE9oZZSr7iC/ + 0l4BTKZ8SdxQL8usQPSQVbs9skr7KsYfhtjTeTi823RwZLD1+wZKwqe43AJTE0Hl + b2jIihfXa7wKTfi9jXI/mpxLRpGH8kZnPoQuldkz1zWIU14YKoTKq55My8qwR4uW + =RazZ -----END PGP MESSAGE----- - fp: 66FB54F6081375106EEBF651A222365EB448F934 + fp: 3044E71E3DEFF49B586CF5809BF4FCCB90854DA9 unencrypted_suffix: _unencrypted version: 3.7.3 diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index a8cddef..f5dfd67 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -19,25 +19,25 @@ sops: - recipient: age1hx7fdu4mcha7kkxe7yevtvs6xgzgaafgenm3drhvr609wlj94sgqm497je enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsdnRlZktJNHQwSWdlb2l6 - aFNRS3U0UHM5UFVkTUtqMHU1Y093ZjdNMUhrCmZVMlBNSTlwYjlQaklzZENnR013 - UXFNaWp3WXhQOC81dGFFQXNwVHVYajAKLS0tIGh5ek95NnNRbWFsVkRncFJ3VUdE - TjdZRldhSzVtMkVoTzY1NjdGbCswRVUK0pi+8UuLqRmytcR2ikxOAM02iccl8P1y - ixv0PKPLd+vQ23QeeQy/TfoGx16XttaDUnUrPLZR3TUKtAcld8+m6w== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZSnhmN0RTMDcxR3hWMWFq + TjZNNHEzM214Tm9hK2RENm9hSlRFUy9aNW5FCm1paEx2TEEzcEd6cVIzaDk1Sk92 + NXNORGlONHQ1Uk9ocGlScXFIWmlwUDAKLS0tIDhTeDQ1KzhreEpMVFVvbFdiRjVR + SU1USkxFUUY2NVhmUHBhZkdrNDR1Q0kKiXIicInELRjDR3tuyA+lnXeCcd9lYvbV + GnBRGPM7BNO/6AA7HhAei48Kt+XE6+jQX66yTXyviKhK7Lpjrlb2YQ== -----END AGE ENCRYPTED FILE----- lastmodified: "2024-01-12T02:04:19Z" mac: ENC[AES256_GCM,data:pXHs+ucPNr+v/x3R2Jb+1zxnHdAeSneT+6lt20eLhjvcMQIFckYXFxc0eOMnV00jTWb+vyz6g5zHsg9+kv+xm/xBHozw9sRJi01Ni+AR/ZLSbVDa6NiMyu536MrA1TeD3iZrxgmpDTuxsChdETz0mmPyEPOMT29seWYlhzI/++o=,iv:2guaerRyQj6qz9Dyo2HbC/dXUA6cuAA+yuDwbUDCcK8=,tag:HcVT4KdLCyjwtWP24JVfhg==,type:str] pgp: - - created_at: "2023-05-02T19:30:42Z" - enc: | + - created_at: "2024-01-31T01:20:30Z" + enc: |- -----BEGIN PGP MESSAGE----- - hF4D3ylLYNOsO+0SAQdA16evFPF5J4wB4iw3y6rQbjpyVKiU/M7qZmdsKOBpLQgw - CccmnhDpRDvQ2pTlHh674o0flfXTvFQ2H2a7KuVDLerdUuw+aBGD1RB+Ob0Vvfoi - 0l4BKpYchtdJQpQuL2Gy5LToty9EZUVVRvhyIfSasWCdDH9ajNWHFcKn6MX9wj46 - ly6CeFgZKAyyeQ6qWQnft7inEQk7krl53NBrbzDN3Rfz71zmpO97h/av7y7ilffa - =DpnU + hF4DY/xpNY5WhB0SAQdAVIYE8wlQqo3HcaT37fSDHQ5i0CxUv9kyPT9BiDgwxA4w + hJlT2XPeSK6Ob1P++oGUrVhkZCuFEnV+6ZtNjwIu9EfU6azyPZEcmffmi3PdlSvW + 0l4BHCRW14iBbixIlZxloBUEEMCg5n5HNQ5vB4jRyq4af0uYxOgE3doZbb5gaVe2 + sODYeeb0u1DdJRlvfyPgqPvit4tkovzLKsO/RUpHqTuh8cXHA8ibLIXlIUbS7FoN + =aGjt -----END PGP MESSAGE----- - fp: 66FB54F6081375106EEBF651A222365EB448F934 + fp: 3044E71E3DEFF49B586CF5809BF4FCCB90854DA9 unencrypted_suffix: _unencrypted version: 3.8.1 diff --git a/hosts/magnesium/secrets.yaml b/hosts/magnesium/secrets.yaml index 32a9318..cd7f526 100644 --- a/hosts/magnesium/secrets.yaml +++ b/hosts/magnesium/secrets.yaml @@ -10,25 +10,25 @@ sops: - recipient: age1swv42gad884z2v75kateem6k2za6ltkq6wu90ewqp6dp7gxprawslwz0w0 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwa0ZIdE9lc2lNZlN0UFBU - RWdxQm1oR01GemJOSE9ZU1RYc3crRGg5REF3ClUzaEhyelZNTVUxeEwvc1V3eDBt - SUx0UXU0aTdnTGlTaWJvd2R6ajZmNVkKLS0tICszejE3WVNOTHR6Rms2bjQrbzEz - Vlk3Y1luTTg3bkpqNTNPUGlNYmNtMW8K9dEUwAuzvDZZoVi8FPZQ7/h75EV0L+VM - MlTGfEt38Hi7EOw+yfXvXYHse/OKypwcrPiJDT6IT/E+O9BJCjPKCA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNS0svemgzNTVsOEo3cDI5 + QVJ1dDVpK0Zyb3UwTUhWR29RalNPTENiQm1rCjdPbkZBd0hwQ3VvUmRTT2hlZEhp + Snk3cC9OTWZFSFhzMFBoSENMTHB4Qk0KLS0tIEltSEpUWkVmclRKdTA5b09RcGpT + QTBqZDZLeDFLK0k2MHF4Uk1mQTIxRHcKeLHz+lSnHLyTgw2Aq+IVGpIi9X8SQx+Q + bCSPPMPIZsL4VLInuZmcd2n/kEr80fQM2P3/ktW8RnViQjTU+kKbMg== -----END AGE ENCRYPTED FILE----- lastmodified: "2023-10-13T18:27:53Z" mac: ENC[AES256_GCM,data:8DPq0aGtoiMOdFyD+0NKGZ9OrDi1VXXS/6y3tH4DwlkLDpDqb2QsxunTDwoHlILQBu300nB2lUeGuGlp4/0FimFdiddlu2Ljq8vLh3wt+sz660RgfeaIcgWLSHtulyNIIQJ91wzzgbRADafFRCavVFvJALnIgeE+QDQa4ybLus0=,iv:T3xwELbHbqDszIkGs8BeJn9WV0LjagF1T+HLxCR/Aeo=,tag:NAIBPTRcnRtkGKhpWpe5Pw==,type:str] pgp: - - created_at: "2023-06-22T12:44:23Z" - enc: | + - created_at: "2024-01-31T01:20:03Z" + enc: |- -----BEGIN PGP MESSAGE----- - hF4D3ylLYNOsO+0SAQdAD/wwGspjkzL/xlqVxl8pixtRQGAlyuEJdTwja6e4bkAw - I+xwPhJH9FpkwArRKErtW9u6e9lM8zJOvgteseTRmQFkQ9fyTtXAx2lLg5JOFdYn - 0l4BkaozbVKjx1XEJBoBUF1YMfREKyrORk/kU2UTluQKkEp7xaojZkuhWEqEMC7N - tKVpPhef7M5escwcpQCpoI5+DCepJQDfoxyiAWx8P0a6tbV2F+X9y6kgb6iuWpf2 - =WNKv + hF4DY/xpNY5WhB0SAQdAKi5BqRHyG+CaeCKH8KuQWVWS8TbO/Kj38hTzbkBuyF8w + lxCni2VsyI4GDdBwy1jzJpqaqkqCwlzUXh7quHKNjZksHSsb8UTy6aZhDt+sz8Xk + 0l4BM0Dv37SESplctQ4hj8Go48nu3KaYfiE7pyP+HfsZksGn7KTeOWoqC+ET3HX0 + k/w1905xtcxInOalYgCpl2NzowAvKKy1mhzN8+bHW9xJq3ca5nYv0qfT0eFDJE1O + =pqvJ -----END PGP MESSAGE----- - fp: 66FB54F6081375106EEBF651A222365EB448F934 + fp: 3044E71E3DEFF49B586CF5809BF4FCCB90854DA9 unencrypted_suffix: _unencrypted version: 3.7.3 diff --git a/hosts/weinturm-pretix-prod/secrets.yaml b/hosts/weinturm-pretix-prod/secrets.yaml index bfd0f7e..27523d8 100644 --- a/hosts/weinturm-pretix-prod/secrets.yaml +++ b/hosts/weinturm-pretix-prod/secrets.yaml @@ -9,25 +9,25 @@ sops: - recipient: age1djjxl3lcvzs85nj0met6w8ujsz8pvr6ngmmdwlxfh0k9d5lkrpdqlzzehf enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0RXR4RnVQNjFvZ2NSZVhj - QVZva0lKS1RxM09sYmJjZE12NTBMd3NrUlNjCkV0aklndEZDM1BaWFhxYUJ5TDBG - T24zODBSdFVWV2VCNVZoM2s3RHJ4WHMKLS0tIC9LdDFMRW13YTBHNlVOdUY0b1NX - U3pyTDB4c1FWdHBPVjVjV3VpTjFWamsKDtc9C3xy/3Zu83+jQYCnHk8vatWANt4M - +Zo5kZ5yfYVSnvMvgpWoAHk/quXSLNg2YhKUDrYP5y57Q/jZTX3YbA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3MjRZRzI5WDNSYXNNOXBE + enNUdi9aWjRzMlU3THVMcGd2eC9zb0wwMFFZCnRQbUh6L3lxS1FKS2pqdUQ0aHg1 + K3dlNDhSK2VvYjdjRGppNTV5SE8zbUUKLS0tIHN0QldlNXJtRmRLL2c3SEU3eWkr + MGh3UVh2R05WWDU3SDVFKzdvODRGQVUKo1u58Ra1dhAfBmv3xwLk/6+6/mFPJn0Z + FyL7yjU6JMWzR/8FUv5lJAubudiZ8MnuH+10deGvQnT5AxG9fNzi5w== -----END AGE ENCRYPTED FILE----- lastmodified: "2023-09-25T15:21:49Z" mac: ENC[AES256_GCM,data:R3uP3tH4faLEtga0E2Gh4WrLrpV7dYvxWDEJkD5ycUc2vglY3MeswMEhNEhkD7cpYiWKB8TaBeBe/mP3hOmgs3WY1sDURZSqKKFT1FfTTL86e1BAOq7S4rG2lRQyNxxDjeJCqFQbEV3feggqPFnV8x8kBObAd29akAK5jQn1TK8=,iv:4F83RXiyLDlzlDVgMWKAOc7BTGSi4F0so9Ub/uzl+VM=,tag:2Q2BRBRR9yC6Uli5TcZhEg==,type:str] pgp: - - created_at: "2023-07-08T09:50:21Z" - enc: | + - created_at: "2024-01-31T01:20:41Z" + enc: |- -----BEGIN PGP MESSAGE----- - hF4D3ylLYNOsO+0SAQdAMH1wIM+ENgeWlLsj7qUEorj8O1L5NlW9ABKB/Whmz3Ew - xm1SbZeFPPBPcT1dfVCF+W1CYDjrFau4DXhkcz5Z6x3ENg9rZujtRAZY9c+53aqD - 0l4B4zxls8vy0K/kipHn010WKhHEPMmABJf+d0rAkT6tbVzcxU3TKlZ2BWxwifM+ - BYDGZ2A6opgV8G4Q68n6CInyhMROIIzJJpWkP0YZCIzzVQ+9yelq9jZvuuxR7v9+ - =Lkul + hF4DY/xpNY5WhB0SAQdAj+5TReNbi6wBP+ftlrJK9jfrHor2FveQMlmHsfHGkjMw + lGlhoHuDnRbVCWC4ruHGFtOclvw2Kjja7ZWbc+7CX34KREAETN89Jic2tGmQKY9q + 0l4B2gqyXsnrpD/n+gOJlnpZcxlUX0iriO5POEf9czTsFKRFnTdZcAX+7Dgv7Iqn + TkJJLYo64mpV3TPvcj2UlejcANcNV82gDWwIbLdKs2UPdFVJqfpP2z6V5bQCML/y + =4iJS -----END PGP MESSAGE----- - fp: 66FB54F6081375106EEBF651A222365EB448F934 + fp: 3044E71E3DEFF49B586CF5809BF4FCCB90854DA9 unencrypted_suffix: _unencrypted version: 3.7.3 From c0e59799307c5e51f87982d473320bb0358b78dc Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 31 Jan 2024 02:02:22 +0000 Subject: [PATCH 216/766] Add new gpg key to user's ssh authorized keys --- home-manager/users/jalr.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/home-manager/users/jalr.nix b/home-manager/users/jalr.nix index 51bd39b..a749b61 100644 --- a/home-manager/users/jalr.nix +++ b/home-manager/users/jalr.nix @@ -32,6 +32,9 @@ "wireshark" ]; # Enable ‘sudo’ for the user. shell = pkgs.fish; + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH3l+Yixrsjhze20CSjvUK4Qj/BNqbTNitgk20vuzPej cardno:25_750_479" + ]; }; home-manager = { From 1436e4091c4eeee5651685f5de11fab37ea6c43b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 31 Jan 2024 02:02:08 +0000 Subject: [PATCH 217/766] Update default GPG key --- home-manager/users/jalr.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/users/jalr.nix b/home-manager/users/jalr.nix index a749b61..dca1e9a 100644 --- a/home-manager/users/jalr.nix +++ b/home-manager/users/jalr.nix @@ -13,7 +13,7 @@ }; signByDefault = true; }; - gpg.defaultKey = "66FB54F6081375106EEBF651A222365EB448F934"; + gpg.defaultKey = "3044E71E3DEFF49B586CF5809BF4FCCB90854DA9"; }; users.users.jalr = { From d783abcfbc67f159e15619f763173b4138289ce2 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 31 Jan 2024 02:12:18 +0000 Subject: [PATCH 218/766] Update pretix version Bump pretix version from 2023.10.0 to 2024.1.0 --- pkgs/pretix/poetry.lock | 1231 +++++++++++++++++---------------- pkgs/pretix/pretix-static.nix | 2 +- pkgs/pretix/pyproject.toml | 2 +- 3 files changed, 627 insertions(+), 608 deletions(-) diff --git a/pkgs/pretix/poetry.lock b/pkgs/pretix/poetry.lock index 22cd9d9..e94e1b7 100644 --- a/pkgs/pretix/poetry.lock +++ b/pkgs/pretix/poetry.lock @@ -2,87 +2,87 @@ [[package]] name = "aiohttp" -version = "3.9.1" +version = "3.9.3" description = "Async http client/server framework (asyncio)" optional = false python-versions = ">=3.8" files = [ - {file = "aiohttp-3.9.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e1f80197f8b0b846a8d5cf7b7ec6084493950d0882cc5537fb7b96a69e3c8590"}, - {file = "aiohttp-3.9.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c72444d17777865734aa1a4d167794c34b63e5883abb90356a0364a28904e6c0"}, - {file = "aiohttp-3.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9b05d5cbe9dafcdc733262c3a99ccf63d2f7ce02543620d2bd8db4d4f7a22f83"}, - {file = "aiohttp-3.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c4fa235d534b3547184831c624c0b7c1e262cd1de847d95085ec94c16fddcd5"}, - {file = "aiohttp-3.9.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:289ba9ae8e88d0ba16062ecf02dd730b34186ea3b1e7489046fc338bdc3361c4"}, - {file = "aiohttp-3.9.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bff7e2811814fa2271be95ab6e84c9436d027a0e59665de60edf44e529a42c1f"}, - {file = "aiohttp-3.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81b77f868814346662c96ab36b875d7814ebf82340d3284a31681085c051320f"}, - {file = "aiohttp-3.9.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3b9c7426923bb7bd66d409da46c41e3fb40f5caf679da624439b9eba92043fa6"}, - {file = "aiohttp-3.9.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:8d44e7bf06b0c0a70a20f9100af9fcfd7f6d9d3913e37754c12d424179b4e48f"}, - {file = "aiohttp-3.9.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:22698f01ff5653fe66d16ffb7658f582a0ac084d7da1323e39fd9eab326a1f26"}, - {file = "aiohttp-3.9.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:ca7ca5abfbfe8d39e653870fbe8d7710be7a857f8a8386fc9de1aae2e02ce7e4"}, - {file = "aiohttp-3.9.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:8d7f98fde213f74561be1d6d3fa353656197f75d4edfbb3d94c9eb9b0fc47f5d"}, - {file = "aiohttp-3.9.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5216b6082c624b55cfe79af5d538e499cd5f5b976820eac31951fb4325974501"}, - {file = "aiohttp-3.9.1-cp310-cp310-win32.whl", hash = "sha256:0e7ba7ff228c0d9a2cd66194e90f2bca6e0abca810b786901a569c0de082f489"}, - {file = "aiohttp-3.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:c7e939f1ae428a86e4abbb9a7c4732bf4706048818dfd979e5e2839ce0159f23"}, - {file = "aiohttp-3.9.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:df9cf74b9bc03d586fc53ba470828d7b77ce51b0582d1d0b5b2fb673c0baa32d"}, - {file = "aiohttp-3.9.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ecca113f19d5e74048c001934045a2b9368d77b0b17691d905af18bd1c21275e"}, - {file = "aiohttp-3.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8cef8710fb849d97c533f259103f09bac167a008d7131d7b2b0e3a33269185c0"}, - {file = "aiohttp-3.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bea94403a21eb94c93386d559bce297381609153e418a3ffc7d6bf772f59cc35"}, - {file = "aiohttp-3.9.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91c742ca59045dce7ba76cab6e223e41d2c70d79e82c284a96411f8645e2afff"}, - {file = "aiohttp-3.9.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6c93b7c2e52061f0925c3382d5cb8980e40f91c989563d3d32ca280069fd6a87"}, - {file = "aiohttp-3.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee2527134f95e106cc1653e9ac78846f3a2ec1004cf20ef4e02038035a74544d"}, - {file = "aiohttp-3.9.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11ff168d752cb41e8492817e10fb4f85828f6a0142b9726a30c27c35a1835f01"}, - {file = "aiohttp-3.9.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b8c3a67eb87394386847d188996920f33b01b32155f0a94f36ca0e0c635bf3e3"}, - {file = "aiohttp-3.9.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c7b5d5d64e2a14e35a9240b33b89389e0035e6de8dbb7ffa50d10d8b65c57449"}, - {file = "aiohttp-3.9.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:69985d50a2b6f709412d944ffb2e97d0be154ea90600b7a921f95a87d6f108a2"}, - {file = "aiohttp-3.9.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:c9110c06eaaac7e1f5562caf481f18ccf8f6fdf4c3323feab28a93d34cc646bd"}, - {file = "aiohttp-3.9.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d737e69d193dac7296365a6dcb73bbbf53bb760ab25a3727716bbd42022e8d7a"}, - {file = "aiohttp-3.9.1-cp311-cp311-win32.whl", hash = "sha256:4ee8caa925aebc1e64e98432d78ea8de67b2272252b0a931d2ac3bd876ad5544"}, - {file = "aiohttp-3.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:a34086c5cc285be878622e0a6ab897a986a6e8bf5b67ecb377015f06ed316587"}, - {file = "aiohttp-3.9.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f800164276eec54e0af5c99feb9494c295118fc10a11b997bbb1348ba1a52065"}, - {file = "aiohttp-3.9.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:500f1c59906cd142d452074f3811614be04819a38ae2b3239a48b82649c08821"}, - {file = "aiohttp-3.9.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0b0a6a36ed7e164c6df1e18ee47afbd1990ce47cb428739d6c99aaabfaf1b3af"}, - {file = "aiohttp-3.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69da0f3ed3496808e8cbc5123a866c41c12c15baaaead96d256477edf168eb57"}, - {file = "aiohttp-3.9.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:176df045597e674fa950bf5ae536be85699e04cea68fa3a616cf75e413737eb5"}, - {file = "aiohttp-3.9.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b796b44111f0cab6bbf66214186e44734b5baab949cb5fb56154142a92989aeb"}, - {file = "aiohttp-3.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f27fdaadce22f2ef950fc10dcdf8048407c3b42b73779e48a4e76b3c35bca26c"}, - {file = "aiohttp-3.9.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bcb6532b9814ea7c5a6a3299747c49de30e84472fa72821b07f5a9818bce0f66"}, - {file = "aiohttp-3.9.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:54631fb69a6e44b2ba522f7c22a6fb2667a02fd97d636048478db2fd8c4e98fe"}, - {file = "aiohttp-3.9.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:4b4c452d0190c5a820d3f5c0f3cd8a28ace48c54053e24da9d6041bf81113183"}, - {file = "aiohttp-3.9.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:cae4c0c2ca800c793cae07ef3d40794625471040a87e1ba392039639ad61ab5b"}, - {file = "aiohttp-3.9.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:565760d6812b8d78d416c3c7cfdf5362fbe0d0d25b82fed75d0d29e18d7fc30f"}, - {file = "aiohttp-3.9.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:54311eb54f3a0c45efb9ed0d0a8f43d1bc6060d773f6973efd90037a51cd0a3f"}, - {file = "aiohttp-3.9.1-cp312-cp312-win32.whl", hash = "sha256:85c3e3c9cb1d480e0b9a64c658cd66b3cfb8e721636ab8b0e746e2d79a7a9eed"}, - {file = "aiohttp-3.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:11cb254e397a82efb1805d12561e80124928e04e9c4483587ce7390b3866d213"}, - {file = "aiohttp-3.9.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8a22a34bc594d9d24621091d1b91511001a7eea91d6652ea495ce06e27381f70"}, - {file = "aiohttp-3.9.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:598db66eaf2e04aa0c8900a63b0101fdc5e6b8a7ddd805c56d86efb54eb66672"}, - {file = "aiohttp-3.9.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2c9376e2b09895c8ca8b95362283365eb5c03bdc8428ade80a864160605715f1"}, - {file = "aiohttp-3.9.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41473de252e1797c2d2293804e389a6d6986ef37cbb4a25208de537ae32141dd"}, - {file = "aiohttp-3.9.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c5857612c9813796960c00767645cb5da815af16dafb32d70c72a8390bbf690"}, - {file = "aiohttp-3.9.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ffcd828e37dc219a72c9012ec44ad2e7e3066bec6ff3aaa19e7d435dbf4032ca"}, - {file = "aiohttp-3.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:219a16763dc0294842188ac8a12262b5671817042b35d45e44fd0a697d8c8361"}, - {file = "aiohttp-3.9.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f694dc8a6a3112059258a725a4ebe9acac5fe62f11c77ac4dcf896edfa78ca28"}, - {file = "aiohttp-3.9.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:bcc0ea8d5b74a41b621ad4a13d96c36079c81628ccc0b30cfb1603e3dfa3a014"}, - {file = "aiohttp-3.9.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:90ec72d231169b4b8d6085be13023ece8fa9b1bb495e4398d847e25218e0f431"}, - {file = "aiohttp-3.9.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:cf2a0ac0615842b849f40c4d7f304986a242f1e68286dbf3bd7a835e4f83acfd"}, - {file = "aiohttp-3.9.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:0e49b08eafa4f5707ecfb321ab9592717a319e37938e301d462f79b4e860c32a"}, - {file = "aiohttp-3.9.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2c59e0076ea31c08553e868cec02d22191c086f00b44610f8ab7363a11a5d9d8"}, - {file = "aiohttp-3.9.1-cp38-cp38-win32.whl", hash = "sha256:4831df72b053b1eed31eb00a2e1aff6896fb4485301d4ccb208cac264b648db4"}, - {file = "aiohttp-3.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:3135713c5562731ee18f58d3ad1bf41e1d8883eb68b363f2ffde5b2ea4b84cc7"}, - {file = "aiohttp-3.9.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:cfeadf42840c1e870dc2042a232a8748e75a36b52d78968cda6736de55582766"}, - {file = "aiohttp-3.9.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:70907533db712f7aa791effb38efa96f044ce3d4e850e2d7691abd759f4f0ae0"}, - {file = "aiohttp-3.9.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cdefe289681507187e375a5064c7599f52c40343a8701761c802c1853a504558"}, - {file = "aiohttp-3.9.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7481f581251bb5558ba9f635db70908819caa221fc79ee52a7f58392778c636"}, - {file = "aiohttp-3.9.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:49f0c1b3c2842556e5de35f122fc0f0b721334ceb6e78c3719693364d4af8499"}, - {file = "aiohttp-3.9.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0d406b01a9f5a7e232d1b0d161b40c05275ffbcbd772dc18c1d5a570961a1ca4"}, - {file = "aiohttp-3.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d8e4450e7fe24d86e86b23cc209e0023177b6d59502e33807b732d2deb6975f"}, - {file = "aiohttp-3.9.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c0266cd6f005e99f3f51e583012de2778e65af6b73860038b968a0a8888487a"}, - {file = "aiohttp-3.9.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab221850108a4a063c5b8a70f00dd7a1975e5a1713f87f4ab26a46e5feac5a0e"}, - {file = "aiohttp-3.9.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c88a15f272a0ad3d7773cf3a37cc7b7d077cbfc8e331675cf1346e849d97a4e5"}, - {file = "aiohttp-3.9.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:237533179d9747080bcaad4d02083ce295c0d2eab3e9e8ce103411a4312991a0"}, - {file = "aiohttp-3.9.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:02ab6006ec3c3463b528374c4cdce86434e7b89ad355e7bf29e2f16b46c7dd6f"}, - {file = "aiohttp-3.9.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04fa38875e53eb7e354ece1607b1d2fdee2d175ea4e4d745f6ec9f751fe20c7c"}, - {file = "aiohttp-3.9.1-cp39-cp39-win32.whl", hash = "sha256:82eefaf1a996060602f3cc1112d93ba8b201dbf5d8fd9611227de2003dddb3b7"}, - {file = "aiohttp-3.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:9b05d33ff8e6b269e30a7957bd3244ffbce2a7a35a81b81c382629b80af1a8bf"}, - {file = "aiohttp-3.9.1.tar.gz", hash = "sha256:8fc49a87ac269d4529da45871e2ffb6874e87779c3d0e2ccd813c0899221239d"}, + {file = "aiohttp-3.9.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:939677b61f9d72a4fa2a042a5eee2a99a24001a67c13da113b2e30396567db54"}, + {file = "aiohttp-3.9.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1f5cd333fcf7590a18334c90f8c9147c837a6ec8a178e88d90a9b96ea03194cc"}, + {file = "aiohttp-3.9.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:82e6aa28dd46374f72093eda8bcd142f7771ee1eb9d1e223ff0fa7177a96b4a5"}, + {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f56455b0c2c7cc3b0c584815264461d07b177f903a04481dfc33e08a89f0c26b"}, + {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bca77a198bb6e69795ef2f09a5f4c12758487f83f33d63acde5f0d4919815768"}, + {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e083c285857b78ee21a96ba1eb1b5339733c3563f72980728ca2b08b53826ca5"}, + {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab40e6251c3873d86ea9b30a1ac6d7478c09277b32e14745d0d3c6e76e3c7e29"}, + {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:df822ee7feaaeffb99c1a9e5e608800bd8eda6e5f18f5cfb0dc7eeb2eaa6bbec"}, + {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:acef0899fea7492145d2bbaaaec7b345c87753168589cc7faf0afec9afe9b747"}, + {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:cd73265a9e5ea618014802ab01babf1940cecb90c9762d8b9e7d2cc1e1969ec6"}, + {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:a78ed8a53a1221393d9637c01870248a6f4ea5b214a59a92a36f18151739452c"}, + {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:6b0e029353361f1746bac2e4cc19b32f972ec03f0f943b390c4ab3371840aabf"}, + {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7cf5c9458e1e90e3c390c2639f1017a0379a99a94fdfad3a1fd966a2874bba52"}, + {file = "aiohttp-3.9.3-cp310-cp310-win32.whl", hash = "sha256:3e59c23c52765951b69ec45ddbbc9403a8761ee6f57253250c6e1536cacc758b"}, + {file = "aiohttp-3.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:055ce4f74b82551678291473f66dc9fb9048a50d8324278751926ff0ae7715e5"}, + {file = "aiohttp-3.9.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6b88f9386ff1ad91ace19d2a1c0225896e28815ee09fc6a8932fded8cda97c3d"}, + {file = "aiohttp-3.9.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c46956ed82961e31557b6857a5ca153c67e5476972e5f7190015018760938da2"}, + {file = "aiohttp-3.9.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:07b837ef0d2f252f96009e9b8435ec1fef68ef8b1461933253d318748ec1acdc"}, + {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad46e6f620574b3b4801c68255492e0159d1712271cc99d8bdf35f2043ec266"}, + {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ed3e046ea7b14938112ccd53d91c1539af3e6679b222f9469981e3dac7ba1ce"}, + {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:039df344b45ae0b34ac885ab5b53940b174530d4dd8a14ed8b0e2155b9dddccb"}, + {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7943c414d3a8d9235f5f15c22ace69787c140c80b718dcd57caaade95f7cd93b"}, + {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84871a243359bb42c12728f04d181a389718710129b36b6aad0fc4655a7647d4"}, + {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:5eafe2c065df5401ba06821b9a054d9cb2848867f3c59801b5d07a0be3a380ae"}, + {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:9d3c9b50f19704552f23b4eaea1fc082fdd82c63429a6506446cbd8737823da3"}, + {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:f033d80bc6283092613882dfe40419c6a6a1527e04fc69350e87a9df02bbc283"}, + {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:2c895a656dd7e061b2fd6bb77d971cc38f2afc277229ce7dd3552de8313a483e"}, + {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1f5a71d25cd8106eab05f8704cd9167b6e5187bcdf8f090a66c6d88b634802b4"}, + {file = "aiohttp-3.9.3-cp311-cp311-win32.whl", hash = "sha256:50fca156d718f8ced687a373f9e140c1bb765ca16e3d6f4fe116e3df7c05b2c5"}, + {file = "aiohttp-3.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:5fe9ce6c09668063b8447f85d43b8d1c4e5d3d7e92c63173e6180b2ac5d46dd8"}, + {file = "aiohttp-3.9.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:38a19bc3b686ad55804ae931012f78f7a534cce165d089a2059f658f6c91fa60"}, + {file = "aiohttp-3.9.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:770d015888c2a598b377bd2f663adfd947d78c0124cfe7b959e1ef39f5b13869"}, + {file = "aiohttp-3.9.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ee43080e75fc92bf36219926c8e6de497f9b247301bbf88c5c7593d931426679"}, + {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52df73f14ed99cee84865b95a3d9e044f226320a87af208f068ecc33e0c35b96"}, + {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dc9b311743a78043b26ffaeeb9715dc360335e5517832f5a8e339f8a43581e4d"}, + {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b955ed993491f1a5da7f92e98d5dad3c1e14dc175f74517c4e610b1f2456fb11"}, + {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:504b6981675ace64c28bf4a05a508af5cde526e36492c98916127f5a02354d53"}, + {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a6fe5571784af92b6bc2fda8d1925cccdf24642d49546d3144948a6a1ed58ca5"}, + {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ba39e9c8627edc56544c8628cc180d88605df3892beeb2b94c9bc857774848ca"}, + {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:e5e46b578c0e9db71d04c4b506a2121c0cb371dd89af17a0586ff6769d4c58c1"}, + {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:938a9653e1e0c592053f815f7028e41a3062e902095e5a7dc84617c87267ebd5"}, + {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:c3452ea726c76e92f3b9fae4b34a151981a9ec0a4847a627c43d71a15ac32aa6"}, + {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ff30218887e62209942f91ac1be902cc80cddb86bf00fbc6783b7a43b2bea26f"}, + {file = "aiohttp-3.9.3-cp312-cp312-win32.whl", hash = "sha256:38f307b41e0bea3294a9a2a87833191e4bcf89bb0365e83a8be3a58b31fb7f38"}, + {file = "aiohttp-3.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:b791a3143681a520c0a17e26ae7465f1b6f99461a28019d1a2f425236e6eedb5"}, + {file = "aiohttp-3.9.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:0ed621426d961df79aa3b963ac7af0d40392956ffa9be022024cd16297b30c8c"}, + {file = "aiohttp-3.9.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7f46acd6a194287b7e41e87957bfe2ad1ad88318d447caf5b090012f2c5bb528"}, + {file = "aiohttp-3.9.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:feeb18a801aacb098220e2c3eea59a512362eb408d4afd0c242044c33ad6d542"}, + {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f734e38fd8666f53da904c52a23ce517f1b07722118d750405af7e4123933511"}, + {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b40670ec7e2156d8e57f70aec34a7216407848dfe6c693ef131ddf6e76feb672"}, + {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fdd215b7b7fd4a53994f238d0f46b7ba4ac4c0adb12452beee724ddd0743ae5d"}, + {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:017a21b0df49039c8f46ca0971b3a7fdc1f56741ab1240cb90ca408049766168"}, + {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e99abf0bba688259a496f966211c49a514e65afa9b3073a1fcee08856e04425b"}, + {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:648056db9a9fa565d3fa851880f99f45e3f9a771dd3ff3bb0c048ea83fb28194"}, + {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8aacb477dc26797ee089721536a292a664846489c49d3ef9725f992449eda5a8"}, + {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:522a11c934ea660ff8953eda090dcd2154d367dec1ae3c540aff9f8a5c109ab4"}, + {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:5bce0dc147ca85caa5d33debc4f4d65e8e8b5c97c7f9f660f215fa74fc49a321"}, + {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4b4af9f25b49a7be47c0972139e59ec0e8285c371049df1a63b6ca81fdd216a2"}, + {file = "aiohttp-3.9.3-cp38-cp38-win32.whl", hash = "sha256:298abd678033b8571995650ccee753d9458dfa0377be4dba91e4491da3f2be63"}, + {file = "aiohttp-3.9.3-cp38-cp38-win_amd64.whl", hash = "sha256:69361bfdca5468c0488d7017b9b1e5ce769d40b46a9f4a2eed26b78619e9396c"}, + {file = "aiohttp-3.9.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:0fa43c32d1643f518491d9d3a730f85f5bbaedcbd7fbcae27435bb8b7a061b29"}, + {file = "aiohttp-3.9.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:835a55b7ca49468aaaac0b217092dfdff370e6c215c9224c52f30daaa735c1c1"}, + {file = "aiohttp-3.9.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:06a9b2c8837d9a94fae16c6223acc14b4dfdff216ab9b7202e07a9a09541168f"}, + {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abf151955990d23f84205286938796c55ff11bbfb4ccfada8c9c83ae6b3c89a3"}, + {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59c26c95975f26e662ca78fdf543d4eeaef70e533a672b4113dd888bd2423caa"}, + {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f95511dd5d0e05fd9728bac4096319f80615aaef4acbecb35a990afebe953b0e"}, + {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:595f105710293e76b9dc09f52e0dd896bd064a79346234b521f6b968ffdd8e58"}, + {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7c8b816c2b5af5c8a436df44ca08258fc1a13b449393a91484225fcb7545533"}, + {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f1088fa100bf46e7b398ffd9904f4808a0612e1d966b4aa43baa535d1b6341eb"}, + {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f59dfe57bb1ec82ac0698ebfcdb7bcd0e99c255bd637ff613760d5f33e7c81b3"}, + {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:361a1026c9dd4aba0109e4040e2aecf9884f5cfe1b1b1bd3d09419c205e2e53d"}, + {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:363afe77cfcbe3a36353d8ea133e904b108feea505aa4792dad6585a8192c55a"}, + {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8e2c45c208c62e955e8256949eb225bd8b66a4c9b6865729a786f2aa79b72e9d"}, + {file = "aiohttp-3.9.3-cp39-cp39-win32.whl", hash = "sha256:f7217af2e14da0856e082e96ff637f14ae45c10a5714b63c77f26d8884cf1051"}, + {file = "aiohttp-3.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:27468897f628c627230dba07ec65dc8d0db566923c48f29e084ce382119802bc"}, + {file = "aiohttp-3.9.3.tar.gz", hash = "sha256:90842933e5d1ff760fae6caca4b2b3edba53ba8f4b71e95dacf2818a2aca06f7"}, ] [package.dependencies] @@ -168,54 +168,55 @@ files = [ [[package]] name = "attrs" -version = "23.1.0" +version = "23.2.0" description = "Classes Without Boilerplate" optional = false python-versions = ">=3.7" files = [ - {file = "attrs-23.1.0-py3-none-any.whl", hash = "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"}, - {file = "attrs-23.1.0.tar.gz", hash = "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015"}, + {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"}, + {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"}, ] [package.extras] cov = ["attrs[tests]", "coverage[toml] (>=5.3)"] -dev = ["attrs[docs,tests]", "pre-commit"] +dev = ["attrs[tests]", "pre-commit"] docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"] tests = ["attrs[tests-no-zope]", "zope-interface"] -tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"] +tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"] [[package]] name = "babel" -version = "2.13.1" +version = "2.14.0" description = "Internationalization utilities" optional = false python-versions = ">=3.7" files = [ - {file = "Babel-2.13.1-py3-none-any.whl", hash = "sha256:7077a4984b02b6727ac10f1f7294484f737443d7e2e66c5e4380e41a3ae0b4ed"}, - {file = "Babel-2.13.1.tar.gz", hash = "sha256:33e0952d7dd6374af8dbf6768cc4ddf3ccfefc244f9986d4074704f2fbd18900"}, + {file = "Babel-2.14.0-py3-none-any.whl", hash = "sha256:efb1a25b7118e67ce3a259bed20545c29cb68be8ad2c784c83689981b7a57287"}, + {file = "Babel-2.14.0.tar.gz", hash = "sha256:6919867db036398ba21eb5c7a0f6b28ab8cbc3ae7a73a44ebe34ae74a4e7d363"}, ] -[package.dependencies] -setuptools = {version = "*", markers = "python_version >= \"3.12\""} - [package.extras] dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] [[package]] name = "beautifulsoup4" -version = "4.12.2" +version = "4.12.3" description = "Screen-scraping library" optional = false python-versions = ">=3.6.0" files = [ - {file = "beautifulsoup4-4.12.2-py3-none-any.whl", hash = "sha256:bd2520ca0d9d7d12694a53d44ac482d181b4ec1888909b035a3dbf40d0f57d4a"}, - {file = "beautifulsoup4-4.12.2.tar.gz", hash = "sha256:492bbc69dca35d12daac71c4db1bfff0c876c00ef4a2ffacce226d4638eb72da"}, + {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"}, + {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"}, ] [package.dependencies] soupsieve = ">1.2" [package.extras] +cchardet = ["cchardet"] +chardet = ["chardet"] +charset-normalizer = ["charset-normalizer"] html5lib = ["html5lib"] lxml = ["lxml"] @@ -251,48 +252,48 @@ dev = ["Sphinx (==4.3.2)", "black (==22.3.0)", "build (==0.8.0)", "flake8 (==4.0 [[package]] name = "cbor2" -version = "5.5.1" +version = "5.6.0" description = "CBOR (de)serializer with extensive tag support" optional = false python-versions = ">=3.8" files = [ - {file = "cbor2-5.5.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:37ba4f719384bd4ea317e92a8763ea343e205f3112c8241778fd9dbc64ae1498"}, - {file = "cbor2-5.5.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:425ae919120b9d05b4794b3e5faf6584fc47a9d61db059d4f00ce16ae93a3f63"}, - {file = "cbor2-5.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c511ff6356d6f4292ced856d5048a24ee61a85634816f29dadf1f089e8cb4f9"}, - {file = "cbor2-5.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d6ab54a9282dd99a3a70d0f64706d3b3592e7920564a93101caa74dec322346c"}, - {file = "cbor2-5.5.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:39d94852dd61bda5b3d2bfe74e7b194a7199937d270f90099beec3e7584f0c9b"}, - {file = "cbor2-5.5.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:65532ba929beebe1c63317ad00c79d4936b60a5c29a3c329d2aa7df4e72ad907"}, - {file = "cbor2-5.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:1206180f66a9ad23e692cf457610c877f186ad303a1264b6c5335015b7bee83e"}, - {file = "cbor2-5.5.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:42155a20be46312fad2ceb85a408e2d90da059c2d36a65e0b99abca57c5357fd"}, - {file = "cbor2-5.5.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6f3827ae14c009df9b37790f1da5cd1f9d64f7ffec472a49ebf865c0af6b77e9"}, - {file = "cbor2-5.5.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4bfa417dbb8b4581ad3c2312469899518596551cfb0fe5bdaf8a6921cff69d7e"}, - {file = "cbor2-5.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3317e7dfb4f3180be90bcd853204558d89f119b624c2168153b53dea305e79d"}, - {file = "cbor2-5.5.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a5770bdf4340de55679efe6c38fc6d64529fda547e7a85eb0217a82717a8235"}, - {file = "cbor2-5.5.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b5d53826ad0c92fcb004b2a475896610b51e0ca010f6c37d762aae44ab0807b2"}, - {file = "cbor2-5.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:dc77cac985f7f7a20f2d8b1957d1e79393d7df823f61c7c6173d3a0011c1d770"}, - {file = "cbor2-5.5.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:9e45d5aa8e484b4bf57240d8e7949389f1c9d4073758abb30954386321b55c9d"}, - {file = "cbor2-5.5.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:93b949a66bec40dd0ca87a6d026136fea2cf1660120f921199a47ac8027af253"}, - {file = "cbor2-5.5.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:93d601ca92d917f769370a5e6c3ead62dca6451b2b603915e4fcf300083b9fcd"}, - {file = "cbor2-5.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a11876abd50b9f70d114fcdbb0b5a3249ccd7d321465f0350028fd6d2317e114"}, - {file = "cbor2-5.5.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:fd77c558decdba2a2a7a463e6346d53781d2163bacf205f77b999f561ba4ac73"}, - {file = "cbor2-5.5.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efb81920d80410b8e80a4a6a8b06ec9b766be0ae7f3029af8ae4b30914edcfa3"}, - {file = "cbor2-5.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:4bb35f3b1ebd4b7b37628f0cd5c839f3008dec669194a2a4a33d91bab7f8663b"}, - {file = "cbor2-5.5.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f41e4a439f642954ed728dc18915098b5f2ebec7029eaebe52c06c52b6a9a63a"}, - {file = "cbor2-5.5.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4eae4d56314f22920a28bf7affefdfc918646877ce3b16220dc6cf38a584aa41"}, - {file = "cbor2-5.5.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:559a0c1ec8dcedd6142b81727403e0f5a2e8f4c18e8bb3c548107ec39af4e9cb"}, - {file = "cbor2-5.5.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:537da7bfee97ee44a11b300c034c18e674af6a5dc4718a6fba141037f099c7ec"}, - {file = "cbor2-5.5.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5c99fd8bbc6bbf3bf4d6b2996594ae633b778b27b0531559487950762c4e1e3f"}, - {file = "cbor2-5.5.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4ee46e6dbc8e2cf302a022fec513d57dba65e9d5ec495bcd1ad97a5dbdbab249"}, - {file = "cbor2-5.5.1-cp38-cp38-win_amd64.whl", hash = "sha256:67e2be461320197495fff55f250b111d4125a0a2d02e6256e41f8598adc3ad3f"}, - {file = "cbor2-5.5.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4384a56afef0b908b61c8ea3cca3e257a316427ace3411308f51ee301b23adf9"}, - {file = "cbor2-5.5.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8cc64acc606b7f2a4b673a1d6cde5a9cb1860a6ce27b353e269c9535efbd62c"}, - {file = "cbor2-5.5.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50019fea3cb07fa9b2b53772a52b4243e87de232591570c4c272b3ebdb419493"}, - {file = "cbor2-5.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a18be0af9241883bc67a036c1f33e3f9956d31337ccd412194bf759bc1095e03"}, - {file = "cbor2-5.5.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:60e7e0073291096605de27de3ce006148cf9a095199160439555f14f93d044d5"}, - {file = "cbor2-5.5.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:41f7501338228b27dac88c1197928cf8985f6fc775f59be89c6fdaddb4e69658"}, - {file = "cbor2-5.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:c85ab7697252af2240e939707c935ea18081ccb580d4b5b9a94b04148ab2c32b"}, - {file = "cbor2-5.5.1-py3-none-any.whl", hash = "sha256:dca639c8ff81b9f0c92faf97324adfdbfb5c2a5bb97f249606c6f5b94c77cc0d"}, - {file = "cbor2-5.5.1.tar.gz", hash = "sha256:f9e192f461a9f8f6082df28c035b006d153904213dc8640bed8a72d72bbc9475"}, + {file = "cbor2-5.6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7569627514699b10d903795e344e5520cd758f7db968e46e667b6875c409610b"}, + {file = "cbor2-5.6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e6d5c5b5cb25450561c92c9ac7d72912027cfa8807aab77ea6f5549e2157335"}, + {file = "cbor2-5.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19403d65c32709c4940ae729470dd77ed88ebbd4972355d0ec23ff4dbe34faa3"}, + {file = "cbor2-5.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:329196be76fbba0ad63926913eb225dddcfc4891ff6760484fdcf071cebc7188"}, + {file = "cbor2-5.6.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:ac835523af0e37086b5f6aac9283e45cffdf6fa0f1be5eecf967014e7184d948"}, + {file = "cbor2-5.6.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:63ab6734098c494687b26531ed4d44c06f287a44061ae1bc16b3fa65563d80b0"}, + {file = "cbor2-5.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:777897d46e31bc2683ed9e015a9c97fc97929bf78d620fc3361fe39a86912eba"}, + {file = "cbor2-5.6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5d3932c3f0637439f121a54b9e6020e62e9f2620751b2e850a6f09f1c1ee299e"}, + {file = "cbor2-5.6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7f017d451b9b7e45759e9ffbfae8a2b1bda3f6a547d6451f7761655a8438f956"}, + {file = "cbor2-5.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c66cf65766195c310b2134ceeb20927fce85373d13483e97d2211dd499739f9b"}, + {file = "cbor2-5.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2411ad0fc8817ff38076523bfc43d193188eedcb0d3a1c52428672636f3760d4"}, + {file = "cbor2-5.6.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b5ce2c7c9172c401db047202029f96a5799c68ff0c936874c596e3718cd383e4"}, + {file = "cbor2-5.6.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1a4e1bb41ac5dc27bd4737c92934e9daf38440ce849eaf3e25da24f9d1fd2195"}, + {file = "cbor2-5.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:83736e076e878f3679ef2dd6cfce5ebcb71f65f9eeada1d14b16b5b87dbc2250"}, + {file = "cbor2-5.6.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:8724f172b581414444801bd7e4974a1512822231e30162c7d5a6374a3c89ddbf"}, + {file = "cbor2-5.6.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ae83ca762a60b43c83c23edf487e41dc90ba7cc98e25134cde2bf09e99ec1fa3"}, + {file = "cbor2-5.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0da8f4aed346ff0ce667254331d341ad27d8d62c8813536f019d8a68aef40eba"}, + {file = "cbor2-5.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99780a5fe8e23a467eb1084feb74b9bdc6598f0eb6c09821b00bb65ddd834d67"}, + {file = "cbor2-5.6.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:f0167b4fd537db4925ee8c2890fb950493280628d9c18034625fa5c8a96db689"}, + {file = "cbor2-5.6.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8a073761d9148e4ffbfb0e4125643c059a4d5d5c5c5448cd56759765e1113487"}, + {file = "cbor2-5.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:62ced11efb37729e1a2a5f04fb8c2661d46ae6adbdddc23cb31ffad2ec75ff7a"}, + {file = "cbor2-5.6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0130d50aa1cd0ba8ce65eda5bbbb57bda3f2c9cd86bba7d8be5e3c9b19f88f93"}, + {file = "cbor2-5.6.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:29ba57a33fcffd5d70fd6ac1182520e887918f9d2b6225a06eaae029f070e18f"}, + {file = "cbor2-5.6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe7a459aae6ca4abdc490fdf89463cbeea3449569eca853af7c2672286edcea0"}, + {file = "cbor2-5.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0c098a2802ec1df0a6e96c415203c8a52c42158e1e07d8074c9acf19bcc146f"}, + {file = "cbor2-5.6.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d3184d91a855aedb6f0e76e5ac548a1e43a7fcd3d5ba2deb0894b81c77c2c461"}, + {file = "cbor2-5.6.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:622b4fe945ecdd93df8c21169c8f1a85dcf21d78ecb1e8b7f9f2795520480010"}, + {file = "cbor2-5.6.0-cp38-cp38-win_amd64.whl", hash = "sha256:aaf6a424742f55e2991c7013df02a629d24c64e5730c3fd3aebcbbebc580bfab"}, + {file = "cbor2-5.6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e1ff25fb1b6bafbdb192037860471962f59ce9c1f584611572360e15725abbb1"}, + {file = "cbor2-5.6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4143152579ff9e0668688d6d41e2f6a20161f8dc5af97b1b92f400d3112888af"}, + {file = "cbor2-5.6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df7b7cf96e9027138129edbfa0e2024d6f4beb7db42c2a992ab867eff3c04d46"}, + {file = "cbor2-5.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:789496ece76712c298f1fd4681d074f6828ed0d788076c5949c4474c11291f68"}, + {file = "cbor2-5.6.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:3d8525d4f525add7971b75b7ff947eed085405d9db7ad6fad456909cbffd18c1"}, + {file = "cbor2-5.6.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c9423aaf110ce7c3e856f2d5dc6ece7358de48bad7a88d2633f5943d5cd20676"}, + {file = "cbor2-5.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:52fa913133b82578244e6b86b8dff9d88c9d13acf84955b6942650689f302c01"}, + {file = "cbor2-5.6.0-py3-none-any.whl", hash = "sha256:7ba2d0abbb199dd08b7ea59038dbf6524277f124d836b66744cfdd49d31fd012"}, + {file = "cbor2-5.6.0.tar.gz", hash = "sha256:9d94e2226f8f5792fdba5ab20e07b9bfe02e76c10c3ca126418cd4310439d002"}, ] [package.extras] @@ -616,47 +617,56 @@ files = [ [[package]] name = "cryptography" -version = "41.0.7" +version = "42.0.2" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-41.0.7-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:3c78451b78313fa81607fa1b3f1ae0a5ddd8014c38a02d9db0616133987b9cdf"}, - {file = "cryptography-41.0.7-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:928258ba5d6f8ae644e764d0f996d61a8777559f72dfeb2eea7e2fe0ad6e782d"}, - {file = "cryptography-41.0.7-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a1b41bc97f1ad230a41657d9155113c7521953869ae57ac39ac7f1bb471469a"}, - {file = "cryptography-41.0.7-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:841df4caa01008bad253bce2a6f7b47f86dc9f08df4b433c404def869f590a15"}, - {file = "cryptography-41.0.7-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:5429ec739a29df2e29e15d082f1d9ad683701f0ec7709ca479b3ff2708dae65a"}, - {file = "cryptography-41.0.7-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:43f2552a2378b44869fe8827aa19e69512e3245a219104438692385b0ee119d1"}, - {file = "cryptography-41.0.7-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:af03b32695b24d85a75d40e1ba39ffe7db7ffcb099fe507b39fd41a565f1b157"}, - {file = "cryptography-41.0.7-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:49f0805fc0b2ac8d4882dd52f4a3b935b210935d500b6b805f321addc8177406"}, - {file = "cryptography-41.0.7-cp37-abi3-win32.whl", hash = "sha256:f983596065a18a2183e7f79ab3fd4c475205b839e02cbc0efbbf9666c4b3083d"}, - {file = "cryptography-41.0.7-cp37-abi3-win_amd64.whl", hash = "sha256:90452ba79b8788fa380dfb587cca692976ef4e757b194b093d845e8d99f612f2"}, - {file = "cryptography-41.0.7-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:079b85658ea2f59c4f43b70f8119a52414cdb7be34da5d019a77bf96d473b960"}, - {file = "cryptography-41.0.7-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:b640981bf64a3e978a56167594a0e97db71c89a479da8e175d8bb5be5178c003"}, - {file = "cryptography-41.0.7-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e3114da6d7f95d2dee7d3f4eec16dacff819740bbab931aff8648cb13c5ff5e7"}, - {file = "cryptography-41.0.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d5ec85080cce7b0513cfd233914eb8b7bbd0633f1d1703aa28d1dd5a72f678ec"}, - {file = "cryptography-41.0.7-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7a698cb1dac82c35fcf8fe3417a3aaba97de16a01ac914b89a0889d364d2f6be"}, - {file = "cryptography-41.0.7-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:37a138589b12069efb424220bf78eac59ca68b95696fc622b6ccc1c0a197204a"}, - {file = "cryptography-41.0.7-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:68a2dec79deebc5d26d617bfdf6e8aab065a4f34934b22d3b5010df3ba36612c"}, - {file = "cryptography-41.0.7-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:09616eeaef406f99046553b8a40fbf8b1e70795a91885ba4c96a70793de5504a"}, - {file = "cryptography-41.0.7-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:48a0476626da912a44cc078f9893f292f0b3e4c739caf289268168d8f4702a39"}, - {file = "cryptography-41.0.7-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c7f3201ec47d5207841402594f1d7950879ef890c0c495052fa62f58283fde1a"}, - {file = "cryptography-41.0.7-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c5ca78485a255e03c32b513f8c2bc39fedb7f5c5f8535545bdc223a03b24f248"}, - {file = "cryptography-41.0.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:d6c391c021ab1f7a82da5d8d0b3cee2f4b2c455ec86c8aebbc84837a631ff309"}, - {file = "cryptography-41.0.7.tar.gz", hash = "sha256:13f93ce9bea8016c253b34afc6bd6a75993e5c40672ed5405a9c832f0d4a00bc"}, + {file = "cryptography-42.0.2-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:701171f825dcab90969596ce2af253143b93b08f1a716d4b2a9d2db5084ef7be"}, + {file = "cryptography-42.0.2-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:61321672b3ac7aade25c40449ccedbc6db72c7f5f0fdf34def5e2f8b51ca530d"}, + {file = "cryptography-42.0.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea2c3ffb662fec8bbbfce5602e2c159ff097a4631d96235fcf0fb00e59e3ece4"}, + {file = "cryptography-42.0.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b15c678f27d66d247132cbf13df2f75255627bcc9b6a570f7d2fd08e8c081d2"}, + {file = "cryptography-42.0.2-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:8e88bb9eafbf6a4014d55fb222e7360eef53e613215085e65a13290577394529"}, + {file = "cryptography-42.0.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:a047682d324ba56e61b7ea7c7299d51e61fd3bca7dad2ccc39b72bd0118d60a1"}, + {file = "cryptography-42.0.2-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:36d4b7c4be6411f58f60d9ce555a73df8406d484ba12a63549c88bd64f7967f1"}, + {file = "cryptography-42.0.2-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:a00aee5d1b6c20620161984f8ab2ab69134466c51f58c052c11b076715e72929"}, + {file = "cryptography-42.0.2-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:b97fe7d7991c25e6a31e5d5e795986b18fbbb3107b873d5f3ae6dc9a103278e9"}, + {file = "cryptography-42.0.2-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:5fa82a26f92871eca593b53359c12ad7949772462f887c35edaf36f87953c0e2"}, + {file = "cryptography-42.0.2-cp37-abi3-win32.whl", hash = "sha256:4b063d3413f853e056161eb0c7724822a9740ad3caa24b8424d776cebf98e7ee"}, + {file = "cryptography-42.0.2-cp37-abi3-win_amd64.whl", hash = "sha256:841ec8af7a8491ac76ec5a9522226e287187a3107e12b7d686ad354bb78facee"}, + {file = "cryptography-42.0.2-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:55d1580e2d7e17f45d19d3b12098e352f3a37fe86d380bf45846ef257054b242"}, + {file = "cryptography-42.0.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28cb2c41f131a5758d6ba6a0504150d644054fd9f3203a1e8e8d7ac3aea7f73a"}, + {file = "cryptography-42.0.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b9097a208875fc7bbeb1286d0125d90bdfed961f61f214d3f5be62cd4ed8a446"}, + {file = "cryptography-42.0.2-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:44c95c0e96b3cb628e8452ec060413a49002a247b2b9938989e23a2c8291fc90"}, + {file = "cryptography-42.0.2-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:2f9f14185962e6a04ab32d1abe34eae8a9001569ee4edb64d2304bf0d65c53f3"}, + {file = "cryptography-42.0.2-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:09a77e5b2e8ca732a19a90c5bca2d124621a1edb5438c5daa2d2738bfeb02589"}, + {file = "cryptography-42.0.2-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:ad28cff53f60d99a928dfcf1e861e0b2ceb2bc1f08a074fdd601b314e1cc9e0a"}, + {file = "cryptography-42.0.2-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:130c0f77022b2b9c99d8cebcdd834d81705f61c68e91ddd614ce74c657f8b3ea"}, + {file = "cryptography-42.0.2-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:fa3dec4ba8fb6e662770b74f62f1a0c7d4e37e25b58b2bf2c1be4c95372b4a33"}, + {file = "cryptography-42.0.2-cp39-abi3-win32.whl", hash = "sha256:3dbd37e14ce795b4af61b89b037d4bc157f2cb23e676fa16932185a04dfbf635"}, + {file = "cryptography-42.0.2-cp39-abi3-win_amd64.whl", hash = "sha256:8a06641fb07d4e8f6c7dda4fc3f8871d327803ab6542e33831c7ccfdcb4d0ad6"}, + {file = "cryptography-42.0.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:087887e55e0b9c8724cf05361357875adb5c20dec27e5816b653492980d20380"}, + {file = "cryptography-42.0.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:a7ef8dd0bf2e1d0a27042b231a3baac6883cdd5557036f5e8df7139255feaac6"}, + {file = "cryptography-42.0.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:4383b47f45b14459cab66048d384614019965ba6c1a1a141f11b5a551cace1b2"}, + {file = "cryptography-42.0.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:fbeb725c9dc799a574518109336acccaf1303c30d45c075c665c0793c2f79a7f"}, + {file = "cryptography-42.0.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:320948ab49883557a256eab46149df79435a22d2fefd6a66fe6946f1b9d9d008"}, + {file = "cryptography-42.0.2-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5ef9bc3d046ce83c4bbf4c25e1e0547b9c441c01d30922d812e887dc5f125c12"}, + {file = "cryptography-42.0.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:52ed9ebf8ac602385126c9a2fe951db36f2cb0c2538d22971487f89d0de4065a"}, + {file = "cryptography-42.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:141e2aa5ba100d3788c0ad7919b288f89d1fe015878b9659b307c9ef867d3a65"}, + {file = "cryptography-42.0.2.tar.gz", hash = "sha256:e0ec52ba3c7f1b7d813cd52649a5b3ef1fc0d433219dc8c93827c57eab6cf888"}, ] [package.dependencies] -cffi = ">=1.12" +cffi = {version = ">=1.12", markers = "platform_python_implementation != \"PyPy\""} [package.extras] docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"] -docstest = ["pyenchant (>=1.6.11)", "sphinxcontrib-spelling (>=4.0.1)", "twine (>=1.12.0)"] +docstest = ["pyenchant (>=1.6.11)", "readme-renderer", "sphinxcontrib-spelling (>=4.0.1)"] nox = ["nox"] -pep8test = ["black", "check-sdist", "mypy", "ruff"] +pep8test = ["check-sdist", "click", "mypy", "ruff"] sdist = ["build"] ssh = ["bcrypt (>=3.1.5)"] -test = ["pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] +test = ["certifi", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] test-randomorder = ["pytest-randomly"] [[package]] @@ -732,13 +742,13 @@ static3 = "*" [[package]] name = "django" -version = "4.2.8" +version = "4.2.9" description = "A high-level Python web framework that encourages rapid development and clean, pragmatic design." optional = false python-versions = ">=3.8" files = [ - {file = "Django-4.2.8-py3-none-any.whl", hash = "sha256:6cb5dcea9e3d12c47834d32156b8841f533a4493c688e2718cafd51aa430ba6d"}, - {file = "Django-4.2.8.tar.gz", hash = "sha256:d69d5e36cc5d9f4eb4872be36c622878afcdce94062716cf3e25bcedcb168b62"}, + {file = "Django-4.2.9-py3-none-any.whl", hash = "sha256:2cc2fc7d1708ada170ddd6c99f35cc25db664f165d3794bc7723f46b2f8c8984"}, + {file = "Django-4.2.9.tar.gz", hash = "sha256:12498cc3cb8bc8038539fef9e90e95f507502436c1f0c3a673411324fa675d14"}, ] [package.dependencies] @@ -1153,72 +1163,88 @@ files = [ [[package]] name = "frozenlist" -version = "1.4.0" +version = "1.4.1" description = "A list-like structure which implements collections.abc.MutableSequence" optional = false python-versions = ">=3.8" files = [ - {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:764226ceef3125e53ea2cb275000e309c0aa5464d43bd72abd661e27fffc26ab"}, - {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d6484756b12f40003c6128bfcc3fa9f0d49a687e171186c2d85ec82e3758c559"}, - {file = "frozenlist-1.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9ac08e601308e41eb533f232dbf6b7e4cea762f9f84f6357136eed926c15d12c"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d081f13b095d74b67d550de04df1c756831f3b83dc9881c38985834387487f1b"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71932b597f9895f011f47f17d6428252fc728ba2ae6024e13c3398a087c2cdea"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:981b9ab5a0a3178ff413bca62526bb784249421c24ad7381e39d67981be2c326"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e41f3de4df3e80de75845d3e743b3f1c4c8613c3997a912dbf0229fc61a8b963"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6918d49b1f90821e93069682c06ffde41829c346c66b721e65a5c62b4bab0300"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0e5c8764c7829343d919cc2dfc587a8db01c4f70a4ebbc49abde5d4b158b007b"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8d0edd6b1c7fb94922bf569c9b092ee187a83f03fb1a63076e7774b60f9481a8"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e29cda763f752553fa14c68fb2195150bfab22b352572cb36c43c47bedba70eb"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:0c7c1b47859ee2cac3846fde1c1dc0f15da6cec5a0e5c72d101e0f83dcb67ff9"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:901289d524fdd571be1c7be054f48b1f88ce8dddcbdf1ec698b27d4b8b9e5d62"}, - {file = "frozenlist-1.4.0-cp310-cp310-win32.whl", hash = "sha256:1a0848b52815006ea6596c395f87449f693dc419061cc21e970f139d466dc0a0"}, - {file = "frozenlist-1.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:b206646d176a007466358aa21d85cd8600a415c67c9bd15403336c331a10d956"}, - {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:de343e75f40e972bae1ef6090267f8260c1446a1695e77096db6cfa25e759a95"}, - {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ad2a9eb6d9839ae241701d0918f54c51365a51407fd80f6b8289e2dfca977cc3"}, - {file = "frozenlist-1.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bd7bd3b3830247580de99c99ea2a01416dfc3c34471ca1298bccabf86d0ff4dc"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bdf1847068c362f16b353163391210269e4f0569a3c166bc6a9f74ccbfc7e839"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:38461d02d66de17455072c9ba981d35f1d2a73024bee7790ac2f9e361ef1cd0c"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5a32087d720c608f42caed0ef36d2b3ea61a9d09ee59a5142d6070da9041b8f"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dd65632acaf0d47608190a71bfe46b209719bf2beb59507db08ccdbe712f969b"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:261b9f5d17cac914531331ff1b1d452125bf5daa05faf73b71d935485b0c510b"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b89ac9768b82205936771f8d2eb3ce88503b1556324c9f903e7156669f521472"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:008eb8b31b3ea6896da16c38c1b136cb9fec9e249e77f6211d479db79a4eaf01"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e74b0506fa5aa5598ac6a975a12aa8928cbb58e1f5ac8360792ef15de1aa848f"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:490132667476f6781b4c9458298b0c1cddf237488abd228b0b3650e5ecba7467"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:76d4711f6f6d08551a7e9ef28c722f4a50dd0fc204c56b4bcd95c6cc05ce6fbb"}, - {file = "frozenlist-1.4.0-cp311-cp311-win32.whl", hash = "sha256:a02eb8ab2b8f200179b5f62b59757685ae9987996ae549ccf30f983f40602431"}, - {file = "frozenlist-1.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:515e1abc578dd3b275d6a5114030b1330ba044ffba03f94091842852f806f1c1"}, - {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f0ed05f5079c708fe74bf9027e95125334b6978bf07fd5ab923e9e55e5fbb9d3"}, - {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ca265542ca427bf97aed183c1676e2a9c66942e822b14dc6e5f42e038f92a503"}, - {file = "frozenlist-1.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:491e014f5c43656da08958808588cc6c016847b4360e327a62cb308c791bd2d9"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17ae5cd0f333f94f2e03aaf140bb762c64783935cc764ff9c82dff626089bebf"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e78fb68cf9c1a6aa4a9a12e960a5c9dfbdb89b3695197aa7064705662515de2"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5655a942f5f5d2c9ed93d72148226d75369b4f6952680211972a33e59b1dfdc"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c11b0746f5d946fecf750428a95f3e9ebe792c1ee3b1e96eeba145dc631a9672"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e66d2a64d44d50d2543405fb183a21f76b3b5fd16f130f5c99187c3fb4e64919"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:88f7bc0fcca81f985f78dd0fa68d2c75abf8272b1f5c323ea4a01a4d7a614efc"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5833593c25ac59ede40ed4de6d67eb42928cca97f26feea219f21d0ed0959b79"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:fec520865f42e5c7f050c2a79038897b1c7d1595e907a9e08e3353293ffc948e"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:b826d97e4276750beca7c8f0f1a4938892697a6bcd8ec8217b3312dad6982781"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ceb6ec0a10c65540421e20ebd29083c50e6d1143278746a4ef6bcf6153171eb8"}, - {file = "frozenlist-1.4.0-cp38-cp38-win32.whl", hash = "sha256:2b8bcf994563466db019fab287ff390fffbfdb4f905fc77bc1c1d604b1c689cc"}, - {file = "frozenlist-1.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:a6c8097e01886188e5be3e6b14e94ab365f384736aa1fca6a0b9e35bd4a30bc7"}, - {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6c38721585f285203e4b4132a352eb3daa19121a035f3182e08e437cface44bf"}, - {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a0c6da9aee33ff0b1a451e867da0c1f47408112b3391dd43133838339e410963"}, - {file = "frozenlist-1.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:93ea75c050c5bb3d98016b4ba2497851eadf0ac154d88a67d7a6816206f6fa7f"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f61e2dc5ad442c52b4887f1fdc112f97caeff4d9e6ebe78879364ac59f1663e1"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa384489fefeb62321b238e64c07ef48398fe80f9e1e6afeff22e140e0850eef"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:10ff5faaa22786315ef57097a279b833ecab1a0bfb07d604c9cbb1c4cdc2ed87"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:007df07a6e3eb3e33e9a1fe6a9db7af152bbd8a185f9aaa6ece10a3529e3e1c6"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f4f399d28478d1f604c2ff9119907af9726aed73680e5ed1ca634d377abb087"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c5374b80521d3d3f2ec5572e05adc94601985cc526fb276d0c8574a6d749f1b3"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ce31ae3e19f3c902de379cf1323d90c649425b86de7bbdf82871b8a2a0615f3d"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7211ef110a9194b6042449431e08c4d80c0481e5891e58d429df5899690511c2"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:556de4430ce324c836789fa4560ca62d1591d2538b8ceb0b4f68fb7b2384a27a"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7645a8e814a3ee34a89c4a372011dcd817964ce8cb273c8ed6119d706e9613e3"}, - {file = "frozenlist-1.4.0-cp39-cp39-win32.whl", hash = "sha256:19488c57c12d4e8095a922f328df3f179c820c212940a498623ed39160bc3c2f"}, - {file = "frozenlist-1.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:6221d84d463fb110bdd7619b69cb43878a11d51cbb9394ae3105d082d5199167"}, - {file = "frozenlist-1.4.0.tar.gz", hash = "sha256:09163bdf0b2907454042edb19f887c6d33806adc71fbd54afc14908bfdc22251"}, + {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f9aa1878d1083b276b0196f2dfbe00c9b7e752475ed3b682025ff20c1c1f51ac"}, + {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:29acab3f66f0f24674b7dc4736477bcd4bc3ad4b896f5f45379a67bce8b96868"}, + {file = "frozenlist-1.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:74fb4bee6880b529a0c6560885fce4dc95936920f9f20f53d99a213f7bf66776"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:590344787a90ae57d62511dd7c736ed56b428f04cd8c161fcc5e7232c130c69a"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:068b63f23b17df8569b7fdca5517edef76171cf3897eb68beb01341131fbd2ad"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c849d495bf5154cd8da18a9eb15db127d4dba2968d88831aff6f0331ea9bd4c"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9750cc7fe1ae3b1611bb8cfc3f9ec11d532244235d75901fb6b8e42ce9229dfe"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9b2de4cf0cdd5bd2dee4c4f63a653c61d2408055ab77b151c1957f221cabf2a"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0633c8d5337cb5c77acbccc6357ac49a1770b8c487e5b3505c57b949b4b82e98"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:27657df69e8801be6c3638054e202a135c7f299267f1a55ed3a598934f6c0d75"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:f9a3ea26252bd92f570600098783d1371354d89d5f6b7dfd87359d669f2109b5"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:4f57dab5fe3407b6c0c1cc907ac98e8a189f9e418f3b6e54d65a718aaafe3950"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e02a0e11cf6597299b9f3bbd3f93d79217cb90cfd1411aec33848b13f5c656cc"}, + {file = "frozenlist-1.4.1-cp310-cp310-win32.whl", hash = "sha256:a828c57f00f729620a442881cc60e57cfcec6842ba38e1b19fd3e47ac0ff8dc1"}, + {file = "frozenlist-1.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:f56e2333dda1fe0f909e7cc59f021eba0d2307bc6f012a1ccf2beca6ba362439"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a0cb6f11204443f27a1628b0e460f37fb30f624be6051d490fa7d7e26d4af3d0"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b46c8ae3a8f1f41a0d2ef350c0b6e65822d80772fe46b653ab6b6274f61d4a49"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fde5bd59ab5357e3853313127f4d3565fc7dad314a74d7b5d43c22c6a5ed2ced"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:722e1124aec435320ae01ee3ac7bec11a5d47f25d0ed6328f2273d287bc3abb0"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2471c201b70d58a0f0c1f91261542a03d9a5e088ed3dc6c160d614c01649c106"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c757a9dd70d72b076d6f68efdbb9bc943665ae954dad2801b874c8c69e185068"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f146e0911cb2f1da549fc58fc7bcd2b836a44b79ef871980d605ec392ff6b0d2"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f9c515e7914626b2a2e1e311794b4c35720a0be87af52b79ff8e1429fc25f19"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c302220494f5c1ebeb0912ea782bcd5e2f8308037b3c7553fad0e48ebad6ad82"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:442acde1e068288a4ba7acfe05f5f343e19fac87bfc96d89eb886b0363e977ec"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:1b280e6507ea8a4fa0c0a7150b4e526a8d113989e28eaaef946cc77ffd7efc0a"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:fe1a06da377e3a1062ae5fe0926e12b84eceb8a50b350ddca72dc85015873f74"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:db9e724bebd621d9beca794f2a4ff1d26eed5965b004a97f1f1685a173b869c2"}, + {file = "frozenlist-1.4.1-cp311-cp311-win32.whl", hash = "sha256:e774d53b1a477a67838a904131c4b0eef6b3d8a651f8b138b04f748fccfefe17"}, + {file = "frozenlist-1.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:fb3c2db03683b5767dedb5769b8a40ebb47d6f7f45b1b3e3b4b51ec8ad9d9825"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:1979bc0aeb89b33b588c51c54ab0161791149f2461ea7c7c946d95d5f93b56ae"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cc7b01b3754ea68a62bd77ce6020afaffb44a590c2289089289363472d13aedb"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c9c92be9fd329ac801cc420e08452b70e7aeab94ea4233a4804f0915c14eba9b"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c3894db91f5a489fc8fa6a9991820f368f0b3cbdb9cd8849547ccfab3392d86"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ba60bb19387e13597fb059f32cd4d59445d7b18b69a745b8f8e5db0346f33480"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8aefbba5f69d42246543407ed2461db31006b0f76c4e32dfd6f42215a2c41d09"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780d3a35680ced9ce682fbcf4cb9c2bad3136eeff760ab33707b71db84664e3a"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9acbb16f06fe7f52f441bb6f413ebae6c37baa6ef9edd49cdd567216da8600cd"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:23b701e65c7b36e4bf15546a89279bd4d8675faabc287d06bbcfac7d3c33e1e6"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:3e0153a805a98f5ada7e09826255ba99fb4f7524bb81bf6b47fb702666484ae1"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:dd9b1baec094d91bf36ec729445f7769d0d0cf6b64d04d86e45baf89e2b9059b"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:1a4471094e146b6790f61b98616ab8e44f72661879cc63fa1049d13ef711e71e"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5667ed53d68d91920defdf4035d1cdaa3c3121dc0b113255124bcfada1cfa1b8"}, + {file = "frozenlist-1.4.1-cp312-cp312-win32.whl", hash = "sha256:beee944ae828747fd7cb216a70f120767fc9f4f00bacae8543c14a6831673f89"}, + {file = "frozenlist-1.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:64536573d0a2cb6e625cf309984e2d873979709f2cf22839bf2d61790b448ad5"}, + {file = "frozenlist-1.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:20b51fa3f588ff2fe658663db52a41a4f7aa6c04f6201449c6c7c476bd255c0d"}, + {file = "frozenlist-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:410478a0c562d1a5bcc2f7ea448359fcb050ed48b3c6f6f4f18c313a9bdb1826"}, + {file = "frozenlist-1.4.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c6321c9efe29975232da3bd0af0ad216800a47e93d763ce64f291917a381b8eb"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48f6a4533887e189dae092f1cf981f2e3885175f7a0f33c91fb5b7b682b6bab6"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6eb73fa5426ea69ee0e012fb59cdc76a15b1283d6e32e4f8dc4482ec67d1194d"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fbeb989b5cc29e8daf7f976b421c220f1b8c731cbf22b9130d8815418ea45887"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:32453c1de775c889eb4e22f1197fe3bdfe457d16476ea407472b9442e6295f7a"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693945278a31f2086d9bf3df0fe8254bbeaef1fe71e1351c3bd730aa7d31c41b"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1d0ce09d36d53bbbe566fe296965b23b961764c0bcf3ce2fa45f463745c04701"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3a670dc61eb0d0eb7080890c13de3066790f9049b47b0de04007090807c776b0"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:dca69045298ce5c11fd539682cff879cc1e664c245d1c64da929813e54241d11"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:a06339f38e9ed3a64e4c4e43aec7f59084033647f908e4259d279a52d3757d09"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b7f2f9f912dca3934c1baec2e4585a674ef16fe00218d833856408c48d5beee7"}, + {file = "frozenlist-1.4.1-cp38-cp38-win32.whl", hash = "sha256:e7004be74cbb7d9f34553a5ce5fb08be14fb33bc86f332fb71cbe5216362a497"}, + {file = "frozenlist-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:5a7d70357e7cee13f470c7883a063aae5fe209a493c57d86eb7f5a6f910fae09"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bfa4a17e17ce9abf47a74ae02f32d014c5e9404b6d9ac7f729e01562bbee601e"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b7e3ed87d4138356775346e6845cccbe66cd9e207f3cd11d2f0b9fd13681359d"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c99169d4ff810155ca50b4da3b075cbde79752443117d89429595c2e8e37fed8"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edb678da49d9f72c9f6c609fbe41a5dfb9a9282f9e6a2253d5a91e0fc382d7c0"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6db4667b187a6742b33afbbaf05a7bc551ffcf1ced0000a571aedbb4aa42fc7b"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55fdc093b5a3cb41d420884cdaf37a1e74c3c37a31f46e66286d9145d2063bd0"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82e8211d69a4f4bc360ea22cd6555f8e61a1bd211d1d5d39d3d228b48c83a897"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89aa2c2eeb20957be2d950b85974b30a01a762f3308cd02bb15e1ad632e22dc7"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d3e0c25a2350080e9319724dede4f31f43a6c9779be48021a7f4ebde8b2d742"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7268252af60904bf52c26173cbadc3a071cece75f873705419c8681f24d3edea"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:0c250a29735d4f15321007fb02865f0e6b6a41a6b88f1f523ca1596ab5f50bd5"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:96ec70beabbd3b10e8bfe52616a13561e58fe84c0101dd031dc78f250d5128b9"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:23b2d7679b73fe0e5a4560b672a39f98dfc6f60df63823b0a9970525325b95f6"}, + {file = "frozenlist-1.4.1-cp39-cp39-win32.whl", hash = "sha256:a7496bfe1da7fb1a4e1cc23bb67c58fab69311cc7d32b5a99c2007b4b2a0e932"}, + {file = "frozenlist-1.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:e6a20a581f9ce92d389a8c7d7c3dd47c81fd5d6e655c8dddf341e14aa48659d0"}, + {file = "frozenlist-1.4.1-py3-none-any.whl", hash = "sha256:04ced3e6a46b4cfffe20f9ae482818e34eba9b5fb0ce4056e4cc9b6e212d09b7"}, + {file = "frozenlist-1.4.1.tar.gz", hash = "sha256:c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b"}, ] [[package]] @@ -1264,13 +1290,13 @@ files = [ [[package]] name = "importlib-metadata" -version = "6.11.0" +version = "7.0.1" description = "Read metadata from Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "importlib_metadata-6.11.0-py3-none-any.whl", hash = "sha256:f0afba6205ad8f8947c7d338b5342d5db2afbfd82f9cbef7879a9539cc12eb9b"}, - {file = "importlib_metadata-6.11.0.tar.gz", hash = "sha256:1231cf92d825c9e03cfc4da076a16de6422c863558229ea0b22b675657463443"}, + {file = "importlib_metadata-7.0.1-py3-none-any.whl", hash = "sha256:4805911c3a4ec7c3966410053e9ec6a1fecd629117df5adee56dfc9432a1081e"}, + {file = "importlib_metadata-7.0.1.tar.gz", hash = "sha256:f238736bb06590ae52ac1fab06a3a9ef1d8dce2b7a35b5ab329371d6c8f5d2cc"}, ] [package.dependencies] @@ -1308,13 +1334,13 @@ files = [ [[package]] name = "jsonschema" -version = "4.20.0" +version = "4.21.1" description = "An implementation of JSON Schema validation for Python" optional = false python-versions = ">=3.8" files = [ - {file = "jsonschema-4.20.0-py3-none-any.whl", hash = "sha256:ed6231f0429ecf966f5bc8dfef245998220549cbbcf140f913b7464c52c3b6b3"}, - {file = "jsonschema-4.20.0.tar.gz", hash = "sha256:4f614fd46d8d61258610998997743ec5492a648b33cf478c1ddc23ed4598a5fa"}, + {file = "jsonschema-4.21.1-py3-none-any.whl", hash = "sha256:7996507afae316306f9e2290407761157c6f78002dcf7419acb99822143d1c6f"}, + {file = "jsonschema-4.21.1.tar.gz", hash = "sha256:85727c00279f5fa6bedbe6238d2aa6403bedd8b4864ab11207d07df3cc1b2ee5"}, ] [package.dependencies] @@ -1329,13 +1355,13 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- [[package]] name = "jsonschema-specifications" -version = "2023.11.2" +version = "2023.12.1" description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" optional = false python-versions = ">=3.8" files = [ - {file = "jsonschema_specifications-2023.11.2-py3-none-any.whl", hash = "sha256:e74ba7c0a65e8cb49dc26837d6cfe576557084a8b423ed16a420984228104f93"}, - {file = "jsonschema_specifications-2023.11.2.tar.gz", hash = "sha256:9472fc4fea474cd74bea4a2b190daeccb5a9e4db2ea80efcf7a1b582fc9a81b8"}, + {file = "jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c"}, + {file = "jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc"}, ] [package.dependencies] @@ -1343,12 +1369,12 @@ referencing = ">=0.31.0" [[package]] name = "jwcrypto" -version = "1.5.0" +version = "1.5.1" description = "Implementation of JOSE Web standards" optional = false python-versions = ">= 3.6" files = [ - {file = "jwcrypto-1.5.0.tar.gz", hash = "sha256:2c1dc51cf8e38ddf324795dfe9426dee9dd46caf47f535ccbc18781fba810b8d"}, + {file = "jwcrypto-1.5.1.tar.gz", hash = "sha256:48bb9bf433777136253579e52b75ffe0f9a4a721d133d01f45a0b91ed5f4f1ae"}, ] [package.dependencies] @@ -1357,13 +1383,13 @@ deprecated = "*" [[package]] name = "kombu" -version = "5.3.4" +version = "5.3.5" description = "Messaging library for Python." optional = false python-versions = ">=3.8" files = [ - {file = "kombu-5.3.4-py3-none-any.whl", hash = "sha256:63bb093fc9bb80cfb3a0972336a5cec1fa7ac5f9ef7e8237c6bf8dda9469313e"}, - {file = "kombu-5.3.4.tar.gz", hash = "sha256:0bb2e278644d11dea6272c17974a3dbb9688a949f3bb60aeb5b791329c44fadc"}, + {file = "kombu-5.3.5-py3-none-any.whl", hash = "sha256:0eac1bbb464afe6fb0924b21bf79460416d25d8abc52546d4f16cad94f789488"}, + {file = "kombu-5.3.5.tar.gz", hash = "sha256:30e470f1a6b49c70dc6f6d13c3e4cc4e178aa6c469ceb6bcd55645385fc84b93"}, ] [package.dependencies] @@ -1403,108 +1429,96 @@ files = [ [[package]] name = "lxml" -version = "4.9.3" +version = "5.1.0" description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*" +python-versions = ">=3.6" files = [ - {file = "lxml-4.9.3-cp27-cp27m-macosx_11_0_x86_64.whl", hash = "sha256:b0a545b46b526d418eb91754565ba5b63b1c0b12f9bd2f808c852d9b4b2f9b5c"}, - {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:075b731ddd9e7f68ad24c635374211376aa05a281673ede86cbe1d1b3455279d"}, - {file = "lxml-4.9.3-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1e224d5755dba2f4a9498e150c43792392ac9b5380aa1b845f98a1618c94eeef"}, - {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c0781a98ff5e6586926293e59480b64ddd46282953203c76ae15dbbbf302e8bb"}, - {file = "lxml-4.9.3-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cef2502e7e8a96fe5ad686d60b49e1ab03e438bd9123987994528febd569868e"}, - {file = "lxml-4.9.3-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:b86164d2cff4d3aaa1f04a14685cbc072efd0b4f99ca5708b2ad1b9b5988a991"}, - {file = "lxml-4.9.3-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:42871176e7896d5d45138f6d28751053c711ed4d48d8e30b498da155af39aebd"}, - {file = "lxml-4.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:ae8b9c6deb1e634ba4f1930eb67ef6e6bf6a44b6eb5ad605642b2d6d5ed9ce3c"}, - {file = "lxml-4.9.3-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:411007c0d88188d9f621b11d252cce90c4a2d1a49db6c068e3c16422f306eab8"}, - {file = "lxml-4.9.3-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:cd47b4a0d41d2afa3e58e5bf1f62069255aa2fd6ff5ee41604418ca925911d76"}, - {file = "lxml-4.9.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0e2cb47860da1f7e9a5256254b74ae331687b9672dfa780eed355c4c9c3dbd23"}, - {file = "lxml-4.9.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1247694b26342a7bf47c02e513d32225ededd18045264d40758abeb3c838a51f"}, - {file = "lxml-4.9.3-cp310-cp310-win32.whl", hash = "sha256:cdb650fc86227eba20de1a29d4b2c1bfe139dc75a0669270033cb2ea3d391b85"}, - {file = "lxml-4.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:97047f0d25cd4bcae81f9ec9dc290ca3e15927c192df17331b53bebe0e3ff96d"}, - {file = "lxml-4.9.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:1f447ea5429b54f9582d4b955f5f1985f278ce5cf169f72eea8afd9502973dd5"}, - {file = "lxml-4.9.3-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:57d6ba0ca2b0c462f339640d22882acc711de224d769edf29962b09f77129cbf"}, - {file = "lxml-4.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:9767e79108424fb6c3edf8f81e6730666a50feb01a328f4a016464a5893f835a"}, - {file = "lxml-4.9.3-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:71c52db65e4b56b8ddc5bb89fb2e66c558ed9d1a74a45ceb7dcb20c191c3df2f"}, - {file = "lxml-4.9.3-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d73d8ecf8ecf10a3bd007f2192725a34bd62898e8da27eb9d32a58084f93962b"}, - {file = "lxml-4.9.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0a3d3487f07c1d7f150894c238299934a2a074ef590b583103a45002035be120"}, - {file = "lxml-4.9.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e28c51fa0ce5674be9f560c6761c1b441631901993f76700b1b30ca6c8378d6"}, - {file = "lxml-4.9.3-cp311-cp311-win32.whl", hash = "sha256:0bfd0767c5c1de2551a120673b72e5d4b628737cb05414f03c3277bf9bed3305"}, - {file = "lxml-4.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:25f32acefac14ef7bd53e4218fe93b804ef6f6b92ffdb4322bb6d49d94cad2bc"}, - {file = "lxml-4.9.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:d3ff32724f98fbbbfa9f49d82852b159e9784d6094983d9a8b7f2ddaebb063d4"}, - {file = "lxml-4.9.3-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:48d6ed886b343d11493129e019da91d4039826794a3e3027321c56d9e71505be"}, - {file = "lxml-4.9.3-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:9a92d3faef50658dd2c5470af249985782bf754c4e18e15afb67d3ab06233f13"}, - {file = "lxml-4.9.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b4e4bc18382088514ebde9328da057775055940a1f2e18f6ad2d78aa0f3ec5b9"}, - {file = "lxml-4.9.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fc9b106a1bf918db68619fdcd6d5ad4f972fdd19c01d19bdb6bf63f3589a9ec5"}, - {file = "lxml-4.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:d37017287a7adb6ab77e1c5bee9bcf9660f90ff445042b790402a654d2ad81d8"}, - {file = "lxml-4.9.3-cp35-cp35m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:56dc1f1ebccc656d1b3ed288f11e27172a01503fc016bcabdcbc0978b19352b7"}, - {file = "lxml-4.9.3-cp35-cp35m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:578695735c5a3f51569810dfebd05dd6f888147a34f0f98d4bb27e92b76e05c2"}, - {file = "lxml-4.9.3-cp35-cp35m-win32.whl", hash = "sha256:704f61ba8c1283c71b16135caf697557f5ecf3e74d9e453233e4771d68a1f42d"}, - {file = "lxml-4.9.3-cp35-cp35m-win_amd64.whl", hash = "sha256:c41bfca0bd3532d53d16fd34d20806d5c2b1ace22a2f2e4c0008570bf2c58833"}, - {file = "lxml-4.9.3-cp36-cp36m-macosx_11_0_x86_64.whl", hash = "sha256:64f479d719dc9f4c813ad9bb6b28f8390360660b73b2e4beb4cb0ae7104f1c12"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:dd708cf4ee4408cf46a48b108fb9427bfa00b9b85812a9262b5c668af2533ea5"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c31c7462abdf8f2ac0577d9f05279727e698f97ecbb02f17939ea99ae8daa98"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:e3cd95e10c2610c360154afdc2f1480aea394f4a4f1ea0a5eacce49640c9b190"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_28_x86_64.whl", hash = "sha256:4930be26af26ac545c3dffb662521d4e6268352866956672231887d18f0eaab2"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4aec80cde9197340bc353d2768e2a75f5f60bacda2bab72ab1dc499589b3878c"}, - {file = "lxml-4.9.3-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:14e019fd83b831b2e61baed40cab76222139926b1fb5ed0e79225bc0cae14584"}, - {file = "lxml-4.9.3-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0c0850c8b02c298d3c7006b23e98249515ac57430e16a166873fc47a5d549287"}, - {file = "lxml-4.9.3-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:aca086dc5f9ef98c512bac8efea4483eb84abbf926eaeedf7b91479feb092458"}, - {file = "lxml-4.9.3-cp36-cp36m-win32.whl", hash = "sha256:50baa9c1c47efcaef189f31e3d00d697c6d4afda5c3cde0302d063492ff9b477"}, - {file = "lxml-4.9.3-cp36-cp36m-win_amd64.whl", hash = "sha256:bef4e656f7d98aaa3486d2627e7d2df1157d7e88e7efd43a65aa5dd4714916cf"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:46f409a2d60f634fe550f7133ed30ad5321ae2e6630f13657fb9479506b00601"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:4c28a9144688aef80d6ea666c809b4b0e50010a2aca784c97f5e6bf143d9f129"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:141f1d1a9b663c679dc524af3ea1773e618907e96075262726c7612c02b149a4"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:53ace1c1fd5a74ef662f844a0413446c0629d151055340e9893da958a374f70d"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:17a753023436a18e27dd7769e798ce302963c236bc4114ceee5b25c18c52c693"}, - {file = "lxml-4.9.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7d298a1bd60c067ea75d9f684f5f3992c9d6766fadbc0bcedd39750bf344c2f4"}, - {file = "lxml-4.9.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:081d32421db5df44c41b7f08a334a090a545c54ba977e47fd7cc2deece78809a"}, - {file = "lxml-4.9.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:23eed6d7b1a3336ad92d8e39d4bfe09073c31bfe502f20ca5116b2a334f8ec02"}, - {file = "lxml-4.9.3-cp37-cp37m-win32.whl", hash = "sha256:1509dd12b773c02acd154582088820893109f6ca27ef7291b003d0e81666109f"}, - {file = "lxml-4.9.3-cp37-cp37m-win_amd64.whl", hash = "sha256:120fa9349a24c7043854c53cae8cec227e1f79195a7493e09e0c12e29f918e52"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:4d2d1edbca80b510443f51afd8496be95529db04a509bc8faee49c7b0fb6d2cc"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:8d7e43bd40f65f7d97ad8ef5c9b1778943d02f04febef12def25f7583d19baac"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:71d66ee82e7417828af6ecd7db817913cb0cf9d4e61aa0ac1fde0583d84358db"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:6fc3c450eaa0b56f815c7b62f2b7fba7266c4779adcf1cece9e6deb1de7305ce"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:65299ea57d82fb91c7f019300d24050c4ddeb7c5a190e076b5f48a2b43d19c42"}, - {file = "lxml-4.9.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:eadfbbbfb41b44034a4c757fd5d70baccd43296fb894dba0295606a7cf3124aa"}, - {file = "lxml-4.9.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3e9bdd30efde2b9ccfa9cb5768ba04fe71b018a25ea093379c857c9dad262c40"}, - {file = "lxml-4.9.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fcdd00edfd0a3001e0181eab3e63bd5c74ad3e67152c84f93f13769a40e073a7"}, - {file = "lxml-4.9.3-cp38-cp38-win32.whl", hash = "sha256:57aba1bbdf450b726d58b2aea5fe47c7875f5afb2c4a23784ed78f19a0462574"}, - {file = "lxml-4.9.3-cp38-cp38-win_amd64.whl", hash = "sha256:92af161ecbdb2883c4593d5ed4815ea71b31fafd7fd05789b23100d081ecac96"}, - {file = "lxml-4.9.3-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:9bb6ad405121241e99a86efff22d3ef469024ce22875a7ae045896ad23ba2340"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:8ed74706b26ad100433da4b9d807eae371efaa266ffc3e9191ea436087a9d6a7"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:fbf521479bcac1e25a663df882c46a641a9bff6b56dc8b0fafaebd2f66fb231b"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:303bf1edce6ced16bf67a18a1cf8339d0db79577eec5d9a6d4a80f0fb10aa2da"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:5515edd2a6d1a5a70bfcdee23b42ec33425e405c5b351478ab7dc9347228f96e"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:690dafd0b187ed38583a648076865d8c229661ed20e48f2335d68e2cf7dc829d"}, - {file = "lxml-4.9.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:b6420a005548ad52154c8ceab4a1290ff78d757f9e5cbc68f8c77089acd3c432"}, - {file = "lxml-4.9.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bb3bb49c7a6ad9d981d734ef7c7193bc349ac338776a0360cc671eaee89bcf69"}, - {file = "lxml-4.9.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d27be7405547d1f958b60837dc4c1007da90b8b23f54ba1f8b728c78fdb19d50"}, - {file = "lxml-4.9.3-cp39-cp39-win32.whl", hash = "sha256:8df133a2ea5e74eef5e8fc6f19b9e085f758768a16e9877a60aec455ed2609b2"}, - {file = "lxml-4.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:4dd9a263e845a72eacb60d12401e37c616438ea2e5442885f65082c276dfb2b2"}, - {file = "lxml-4.9.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6689a3d7fd13dc687e9102a27e98ef33730ac4fe37795d5036d18b4d527abd35"}, - {file = "lxml-4.9.3-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:f6bdac493b949141b733c5345b6ba8f87a226029cbabc7e9e121a413e49441e0"}, - {file = "lxml-4.9.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:05186a0f1346ae12553d66df1cfce6f251589fea3ad3da4f3ef4e34b2d58c6a3"}, - {file = "lxml-4.9.3-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c2006f5c8d28dee289f7020f721354362fa304acbaaf9745751ac4006650254b"}, - {file = "lxml-4.9.3-pp38-pypy38_pp73-macosx_11_0_x86_64.whl", hash = "sha256:5c245b783db29c4e4fbbbfc9c5a78be496c9fea25517f90606aa1f6b2b3d5f7b"}, - {file = "lxml-4.9.3-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:4fb960a632a49f2f089d522f70496640fdf1218f1243889da3822e0a9f5f3ba7"}, - {file = "lxml-4.9.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:50670615eaf97227d5dc60de2dc99fb134a7130d310d783314e7724bf163f75d"}, - {file = "lxml-4.9.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:9719fe17307a9e814580af1f5c6e05ca593b12fb7e44fe62450a5384dbf61b4b"}, - {file = "lxml-4.9.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:3331bece23c9ee066e0fb3f96c61322b9e0f54d775fccefff4c38ca488de283a"}, - {file = "lxml-4.9.3-pp39-pypy39_pp73-macosx_11_0_x86_64.whl", hash = "sha256:ed667f49b11360951e201453fc3967344d0d0263aa415e1619e85ae7fd17b4e0"}, - {file = "lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_24_i686.whl", hash = "sha256:8b77946fd508cbf0fccd8e400a7f71d4ac0e1595812e66025bac475a8e811694"}, - {file = "lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:e4da8ca0c0c0aea88fd46be8e44bd49716772358d648cce45fe387f7b92374a7"}, - {file = "lxml-4.9.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:fe4bda6bd4340caa6e5cf95e73f8fea5c4bfc55763dd42f1b50a94c1b4a2fbd4"}, - {file = "lxml-4.9.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:f3df3db1d336b9356dd3112eae5f5c2b8b377f3bc826848567f10bfddfee77e9"}, - {file = "lxml-4.9.3.tar.gz", hash = "sha256:48628bd53a426c9eb9bc066a923acaa0878d1e86129fd5359aee99285f4eed9c"}, + {file = "lxml-5.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:704f5572ff473a5f897745abebc6df40f22d4133c1e0a1f124e4f2bd3330ff7e"}, + {file = "lxml-5.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9d3c0f8567ffe7502d969c2c1b809892dc793b5d0665f602aad19895f8d508da"}, + {file = "lxml-5.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5fcfbebdb0c5d8d18b84118842f31965d59ee3e66996ac842e21f957eb76138c"}, + {file = "lxml-5.1.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2f37c6d7106a9d6f0708d4e164b707037b7380fcd0b04c5bd9cae1fb46a856fb"}, + {file = "lxml-5.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2befa20a13f1a75c751f47e00929fb3433d67eb9923c2c0b364de449121f447c"}, + {file = "lxml-5.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22b7ee4c35f374e2c20337a95502057964d7e35b996b1c667b5c65c567d2252a"}, + {file = "lxml-5.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:bf8443781533b8d37b295016a4b53c1494fa9a03573c09ca5104550c138d5c05"}, + {file = "lxml-5.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:82bddf0e72cb2af3cbba7cec1d2fd11fda0de6be8f4492223d4a268713ef2147"}, + {file = "lxml-5.1.0-cp310-cp310-win32.whl", hash = "sha256:b66aa6357b265670bb574f050ffceefb98549c721cf28351b748be1ef9577d93"}, + {file = "lxml-5.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:4946e7f59b7b6a9e27bef34422f645e9a368cb2be11bf1ef3cafc39a1f6ba68d"}, + {file = "lxml-5.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:14deca1460b4b0f6b01f1ddc9557704e8b365f55c63070463f6c18619ebf964f"}, + {file = "lxml-5.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ed8c3d2cd329bf779b7ed38db176738f3f8be637bb395ce9629fc76f78afe3d4"}, + {file = "lxml-5.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:436a943c2900bb98123b06437cdd30580a61340fbdb7b28aaf345a459c19046a"}, + {file = "lxml-5.1.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:acb6b2f96f60f70e7f34efe0c3ea34ca63f19ca63ce90019c6cbca6b676e81fa"}, + {file = "lxml-5.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:af8920ce4a55ff41167ddbc20077f5698c2e710ad3353d32a07d3264f3a2021e"}, + {file = "lxml-5.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7cfced4a069003d8913408e10ca8ed092c49a7f6cefee9bb74b6b3e860683b45"}, + {file = "lxml-5.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9e5ac3437746189a9b4121db2a7b86056ac8786b12e88838696899328fc44bb2"}, + {file = "lxml-5.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f4c9bda132ad108b387c33fabfea47866af87f4ea6ffb79418004f0521e63204"}, + {file = "lxml-5.1.0-cp311-cp311-win32.whl", hash = "sha256:bc64d1b1dab08f679fb89c368f4c05693f58a9faf744c4d390d7ed1d8223869b"}, + {file = "lxml-5.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:a5ab722ae5a873d8dcee1f5f45ddd93c34210aed44ff2dc643b5025981908cda"}, + {file = "lxml-5.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:9aa543980ab1fbf1720969af1d99095a548ea42e00361e727c58a40832439114"}, + {file = "lxml-5.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6f11b77ec0979f7e4dc5ae081325a2946f1fe424148d3945f943ceaede98adb8"}, + {file = "lxml-5.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a36c506e5f8aeb40680491d39ed94670487ce6614b9d27cabe45d94cd5d63e1e"}, + {file = "lxml-5.1.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f643ffd2669ffd4b5a3e9b41c909b72b2a1d5e4915da90a77e119b8d48ce867a"}, + {file = "lxml-5.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16dd953fb719f0ffc5bc067428fc9e88f599e15723a85618c45847c96f11f431"}, + {file = "lxml-5.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:16018f7099245157564d7148165132c70adb272fb5a17c048ba70d9cc542a1a1"}, + {file = "lxml-5.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:82cd34f1081ae4ea2ede3d52f71b7be313756e99b4b5f829f89b12da552d3aa3"}, + {file = "lxml-5.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:19a1bc898ae9f06bccb7c3e1dfd73897ecbbd2c96afe9095a6026016e5ca97b8"}, + {file = "lxml-5.1.0-cp312-cp312-win32.whl", hash = "sha256:13521a321a25c641b9ea127ef478b580b5ec82aa2e9fc076c86169d161798b01"}, + {file = "lxml-5.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:1ad17c20e3666c035db502c78b86e58ff6b5991906e55bdbef94977700c72623"}, + {file = "lxml-5.1.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:24ef5a4631c0b6cceaf2dbca21687e29725b7c4e171f33a8f8ce23c12558ded1"}, + {file = "lxml-5.1.0-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8d2900b7f5318bc7ad8631d3d40190b95ef2aa8cc59473b73b294e4a55e9f30f"}, + {file = "lxml-5.1.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:601f4a75797d7a770daed8b42b97cd1bb1ba18bd51a9382077a6a247a12aa38d"}, + {file = "lxml-5.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4b68c961b5cc402cbd99cca5eb2547e46ce77260eb705f4d117fd9c3f932b95"}, + {file = "lxml-5.1.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:afd825e30f8d1f521713a5669b63657bcfe5980a916c95855060048b88e1adb7"}, + {file = "lxml-5.1.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:262bc5f512a66b527d026518507e78c2f9c2bd9eb5c8aeeb9f0eb43fcb69dc67"}, + {file = "lxml-5.1.0-cp36-cp36m-win32.whl", hash = "sha256:e856c1c7255c739434489ec9c8aa9cdf5179785d10ff20add308b5d673bed5cd"}, + {file = "lxml-5.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:c7257171bb8d4432fe9d6fdde4d55fdbe663a63636a17f7f9aaba9bcb3153ad7"}, + {file = "lxml-5.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b9e240ae0ba96477682aa87899d94ddec1cc7926f9df29b1dd57b39e797d5ab5"}, + {file = "lxml-5.1.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a96f02ba1bcd330807fc060ed91d1f7a20853da6dd449e5da4b09bfcc08fdcf5"}, + {file = "lxml-5.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e3898ae2b58eeafedfe99e542a17859017d72d7f6a63de0f04f99c2cb125936"}, + {file = "lxml-5.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61c5a7edbd7c695e54fca029ceb351fc45cd8860119a0f83e48be44e1c464862"}, + {file = "lxml-5.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:3aeca824b38ca78d9ee2ab82bd9883083d0492d9d17df065ba3b94e88e4d7ee6"}, + {file = "lxml-5.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8f52fe6859b9db71ee609b0c0a70fea5f1e71c3462ecf144ca800d3f434f0764"}, + {file = "lxml-5.1.0-cp37-cp37m-win32.whl", hash = "sha256:d42e3a3fc18acc88b838efded0e6ec3edf3e328a58c68fbd36a7263a874906c8"}, + {file = "lxml-5.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:eac68f96539b32fce2c9b47eb7c25bb2582bdaf1bbb360d25f564ee9e04c542b"}, + {file = "lxml-5.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ae15347a88cf8af0949a9872b57a320d2605ae069bcdf047677318bc0bba45b1"}, + {file = "lxml-5.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c26aab6ea9c54d3bed716b8851c8bfc40cb249b8e9880e250d1eddde9f709bf5"}, + {file = "lxml-5.1.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:342e95bddec3a698ac24378d61996b3ee5ba9acfeb253986002ac53c9a5f6f84"}, + {file = "lxml-5.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:725e171e0b99a66ec8605ac77fa12239dbe061482ac854d25720e2294652eeaa"}, + {file = "lxml-5.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d184e0d5c918cff04cdde9dbdf9600e960161d773666958c9d7b565ccc60c45"}, + {file = "lxml-5.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:98f3f020a2b736566c707c8e034945c02aa94e124c24f77ca097c446f81b01f1"}, + {file = "lxml-5.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6d48fc57e7c1e3df57be5ae8614bab6d4e7b60f65c5457915c26892c41afc59e"}, + {file = "lxml-5.1.0-cp38-cp38-win32.whl", hash = "sha256:7ec465e6549ed97e9f1e5ed51c657c9ede767bc1c11552f7f4d022c4df4a977a"}, + {file = "lxml-5.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:b21b4031b53d25b0858d4e124f2f9131ffc1530431c6d1321805c90da78388d1"}, + {file = "lxml-5.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:52427a7eadc98f9e62cb1368a5079ae826f94f05755d2d567d93ee1bc3ceb354"}, + {file = "lxml-5.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6a2a2c724d97c1eb8cf966b16ca2915566a4904b9aad2ed9a09c748ffe14f969"}, + {file = "lxml-5.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:843b9c835580d52828d8f69ea4302537337a21e6b4f1ec711a52241ba4a824f3"}, + {file = "lxml-5.1.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9b99f564659cfa704a2dd82d0684207b1aadf7d02d33e54845f9fc78e06b7581"}, + {file = "lxml-5.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f8b0c78e7aac24979ef09b7f50da871c2de2def043d468c4b41f512d831e912"}, + {file = "lxml-5.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9bcf86dfc8ff3e992fed847c077bd875d9e0ba2fa25d859c3a0f0f76f07f0c8d"}, + {file = "lxml-5.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:49a9b4af45e8b925e1cd6f3b15bbba2c81e7dba6dce170c677c9cda547411e14"}, + {file = "lxml-5.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:280f3edf15c2a967d923bcfb1f8f15337ad36f93525828b40a0f9d6c2ad24890"}, + {file = "lxml-5.1.0-cp39-cp39-win32.whl", hash = "sha256:ed7326563024b6e91fef6b6c7a1a2ff0a71b97793ac33dbbcf38f6005e51ff6e"}, + {file = "lxml-5.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:8d7b4beebb178e9183138f552238f7e6613162a42164233e2bda00cb3afac58f"}, + {file = "lxml-5.1.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9bd0ae7cc2b85320abd5e0abad5ccee5564ed5f0cc90245d2f9a8ef330a8deae"}, + {file = "lxml-5.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8c1d679df4361408b628f42b26a5d62bd3e9ba7f0c0e7969f925021554755aa"}, + {file = "lxml-5.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:2ad3a8ce9e8a767131061a22cd28fdffa3cd2dc193f399ff7b81777f3520e372"}, + {file = "lxml-5.1.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:304128394c9c22b6569eba2a6d98392b56fbdfbad58f83ea702530be80d0f9df"}, + {file = "lxml-5.1.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d74fcaf87132ffc0447b3c685a9f862ffb5b43e70ea6beec2fb8057d5d2a1fea"}, + {file = "lxml-5.1.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:8cf5877f7ed384dabfdcc37922c3191bf27e55b498fecece9fd5c2c7aaa34c33"}, + {file = "lxml-5.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:877efb968c3d7eb2dad540b6cabf2f1d3c0fbf4b2d309a3c141f79c7e0061324"}, + {file = "lxml-5.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f14a4fb1c1c402a22e6a341a24c1341b4a3def81b41cd354386dcb795f83897"}, + {file = "lxml-5.1.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:25663d6e99659544ee8fe1b89b1a8c0aaa5e34b103fab124b17fa958c4a324a6"}, + {file = "lxml-5.1.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:8b9f19df998761babaa7f09e6bc169294eefafd6149aaa272081cbddc7ba4ca3"}, + {file = "lxml-5.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e53d7e6a98b64fe54775d23a7c669763451340c3d44ad5e3a3b48a1efbdc96f"}, + {file = "lxml-5.1.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c3cd1fc1dc7c376c54440aeaaa0dcc803d2126732ff5c6b68ccd619f2e64be4f"}, + {file = "lxml-5.1.0.tar.gz", hash = "sha256:3eea6ed6e6c918e468e693c41ef07f3c3acc310b70ddd9cc72d9ef84bc9564ca"}, ] [package.extras] cssselect = ["cssselect (>=0.7)"] html5 = ["html5lib"] htmlsoup = ["BeautifulSoup4"] -source = ["Cython (>=0.29.35)"] +source = ["Cython (>=3.0.7)"] [[package]] name = "markdown" @@ -1522,59 +1536,59 @@ testing = ["coverage", "pyyaml"] [[package]] name = "maxminddb" -version = "2.5.1" +version = "2.5.2" description = "Reader for the MaxMind DB format" optional = false python-versions = ">=3.8" files = [ - {file = "maxminddb-2.5.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:62e93a8e99937bf4307eeece3ca37e1161325ebf9363c4ce195410fb5daf64a0"}, - {file = "maxminddb-2.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea2e27a507b53dfbf2ba2ba85c98682a1ad2dac3f9941a7bffa5cb86150d0c47"}, - {file = "maxminddb-2.5.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a01b0341bd6bee431bb8c07c7ac0ed221250c7390b125c025b7d57578e78e8a3"}, - {file = "maxminddb-2.5.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:607344b1079ea647629bf962dcea7580ec864faaad3f5aae650e2e8652121d89"}, - {file = "maxminddb-2.5.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:2c2901daebd7c8a702302315e7a58cdc38e626406ad4a05b4d48634897d5f5a3"}, - {file = "maxminddb-2.5.1-cp310-cp310-win32.whl", hash = "sha256:7805ae8c9de433c38939ada2e376706a9f6740239f61fd445927b88f5b42c267"}, - {file = "maxminddb-2.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:f1e5bd58b71f322dc6c16a95a129433b1bc229d4b714f870a61c2367425396ee"}, - {file = "maxminddb-2.5.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b0bbbd58b300aaddf985f763720bdebba9f7a73168ff9f57168117f630ad1c06"}, - {file = "maxminddb-2.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a6751e2e89d62d53217870bcc2a8c887dc56ae370ba1b74e52e880761916e54"}, - {file = "maxminddb-2.5.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2ecb1be961f1969be047d07743093f0dcf2f6d4ec3a06a4555587f380a96f6e7"}, - {file = "maxminddb-2.5.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1e091c2b44673c218ee2df23adbc0b6d04fd5c646cfcb6c6fe26fb849434812a"}, - {file = "maxminddb-2.5.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09b295c401c104ae0e30f66c1a3f3c2aa4ba2cbe12a787576499356a5a4d6c1"}, - {file = "maxminddb-2.5.1-cp311-cp311-win32.whl", hash = "sha256:3d52c693baf07bba897d109b0ecb067f21fd0cc0fb266d67db456e85b80d699e"}, - {file = "maxminddb-2.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:4c67621e842c415ce336ab019a9f087305dfcf24c095b68b8e9d27848f6f6d91"}, - {file = "maxminddb-2.5.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:17ea454f61631b9815d420d48d00663f8718fc7de30be53ffcec0f73989475eb"}, - {file = "maxminddb-2.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef4d508c899ce0f37de731340759c68bfd1102a39a873675c71fae2c8d71ad97"}, - {file = "maxminddb-2.5.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c4e5ca423b1e310f0327536f5ed1a2c6e08d83289a7f909e021590b0b477cae2"}, - {file = "maxminddb-2.5.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:0a21abd85e10e5e0f60244b49c3db17e7e48befd4972e62a62833d91e2acbb49"}, - {file = "maxminddb-2.5.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:85a302d79577efe5bc308647394ffdc535dd5f062644c41103604ccf24931a05"}, - {file = "maxminddb-2.5.1-cp312-cp312-win32.whl", hash = "sha256:dd28c434fb44f825dde6a75df2c338d44645791b03480af66a4d993f93801e10"}, - {file = "maxminddb-2.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:b477852cf1741d9187b021e23723e64b063794bbf946a9b5b84cc222f3caf58a"}, - {file = "maxminddb-2.5.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a1e1a19f9740f586362f47862d0095b54d50b9d465babcaa8a563746132fe5be"}, - {file = "maxminddb-2.5.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d654895b546a47e85f2e071b98e377a60bb03cd643b9423017fa66fcd5adedce"}, - {file = "maxminddb-2.5.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0702da59b9670a72761b65cb1a52bc3032d8f6799bdab641cb8350ad5740580b"}, - {file = "maxminddb-2.5.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:2e20a70c1545d6626dcd4ce2d7ecf3d566d978ea64cb37e7952f93baff66b812"}, - {file = "maxminddb-2.5.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0cbd272db3202e948c9088e48dec62add071a47971d84ceb11d2cb2880f83e5a"}, - {file = "maxminddb-2.5.1-cp38-cp38-win32.whl", hash = "sha256:fbd01fc7d7b5b2befe914e8cdb5ed3a1c5476e57b765197cceff8d897f33d012"}, - {file = "maxminddb-2.5.1-cp38-cp38-win_amd64.whl", hash = "sha256:fe0af3ba9e1a78ed5f2ad32fc18d18b78ef233e7d0c627e1a77a525a7eb0c241"}, - {file = "maxminddb-2.5.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5d772be68cce812f7c4b15ae8c68e624c8b88ff83071e3903ca5b5f55e343c25"}, - {file = "maxminddb-2.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:910e7b3ad87d5352ed3f496bd42bffbf9f896245278b0d8e76afa1382e42a7ae"}, - {file = "maxminddb-2.5.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:892c11a8694394e97d3ac0f8d5974ea588c732d14e721f22095c58b4f584c144"}, - {file = "maxminddb-2.5.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:3ce1f42bdfce7b86cb5a56cba730fed611fb879d867e6024f0d520257bef6891"}, - {file = "maxminddb-2.5.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6667948e7501a513caef90edda2d367865097239d4c2381eb3998e9905af7209"}, - {file = "maxminddb-2.5.1-cp39-cp39-win32.whl", hash = "sha256:500d321bdefe4dcd351e4390a79b7786aab49b0536bedfa0788e5ffb0e91e421"}, - {file = "maxminddb-2.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:93f7055779caf7753810f1e2c6444af6d727393fd116ffa0767fbd54fb8c9bbf"}, - {file = "maxminddb-2.5.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:8cee4315da7cdd3f2a18f1ab1418953a7a9eda65e63095b01f03c7d3645d633e"}, - {file = "maxminddb-2.5.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c97eac5af102cede4b5f57cecb25e8f949fa4e4a8d812bed575539951c60ecaf"}, - {file = "maxminddb-2.5.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:526744b12075051fa20979090c111cc3a42a3b55e2714818270c7b84a41a8cfe"}, - {file = "maxminddb-2.5.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:fad45cd2f2e3c5fbebacb8d172a60fb22443222e549bf740a0bc7eeb849e5ce7"}, - {file = "maxminddb-2.5.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:8b98ed5c34955c48e72d35daed713ba4a6833a8a6d1204e79d2c85e644049792"}, - {file = "maxminddb-2.5.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:639aee8abd63a95baa12b94b6f3a842d51877d631879c7d08c98c68dc44a84c3"}, - {file = "maxminddb-2.5.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a7a73ab4bbc16b81983531c99fa102a0c7dae459db958c17fea48c981f5e764"}, - {file = "maxminddb-2.5.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:aae262da1940a67c3ba765c49e2308947ce68ff647f87630002c306433a98ca1"}, - {file = "maxminddb-2.5.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b223c53077a736c304b63cf5afceb928975fbd12ddae5afd6b71370bab7b4700"}, - {file = "maxminddb-2.5.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:969d0057ea5472e0b574c5293c4f3ecf49585362351c543e8ea55dc48b60f1eb"}, - {file = "maxminddb-2.5.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d4d36cf3d390f02d2bdf53d9efefb92be7bd70e07a5a86cdb79020c48c2d81b7"}, - {file = "maxminddb-2.5.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:188173c07dce0692fd5660a6eb7ea8c126d7b3a4b61496c8a8ee9e8b10186ff5"}, - {file = "maxminddb-2.5.1.tar.gz", hash = "sha256:4807d374e645bd68334e4f487ba85a27189dbc1267a98e644aa686a7927e0559"}, + {file = "maxminddb-2.5.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f5682963a5817066db50f219c33aaa7eb969888211a289a444c42b5dfa0c0f78"}, + {file = "maxminddb-2.5.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3fe6bb1b5ea132fcd9fd7b16c80247f0ba667018d5f9f98cd645b297e3b02fbf"}, + {file = "maxminddb-2.5.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:955a3ec4b161e872cc615b7a09ae9770049e9794e7b3832e3d78905a65c5049d"}, + {file = "maxminddb-2.5.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:29d63e7711e5f95c7c190010e57dca9e262aee8ac300aaf75c3f7ede0b5a5863"}, + {file = "maxminddb-2.5.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:08a540ec3661f6ca40499c86028e96dca5780e9d471b485dc797859b0b22dd22"}, + {file = "maxminddb-2.5.2-cp310-cp310-win32.whl", hash = "sha256:17fdb691c389a0e956410d5baef9ad082a0aa67dd6aa231d193499e71a104c19"}, + {file = "maxminddb-2.5.2-cp310-cp310-win_amd64.whl", hash = "sha256:d71b48d3dff9150a44e949b28fa5e7251a7a6895a3a77e200ce08410f096f12f"}, + {file = "maxminddb-2.5.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1409a045eb04cebb297221eab1020c4f05434d02c0961410f6996ef474482998"}, + {file = "maxminddb-2.5.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d839c480e4b93bb37bb1cc2777d77e6b2127c006e60b56f748f10571d8b0e471"}, + {file = "maxminddb-2.5.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bca70905515fe50684974a9afaa7db4a4e9fbfdebcb0c2cde9db8e048e0d8145"}, + {file = "maxminddb-2.5.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:67f97cd0c6aac39a51294b04a1e922532125285c24b18a58e2a9c92c7691fa9f"}, + {file = "maxminddb-2.5.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1a3fab6bea6cc59444e6bad2a4fbf91228f6f51dcb29d09ed091930a475bd8cb"}, + {file = "maxminddb-2.5.2-cp311-cp311-win32.whl", hash = "sha256:a99e3125528ea31e807f80e8c5b65118dc5cc122d0a435f1691a3cc1df55840c"}, + {file = "maxminddb-2.5.2-cp311-cp311-win_amd64.whl", hash = "sha256:b6adf63695fa5e3d2549f7c2c9d82c6d252edd5c6ba67074637d2cb944143673"}, + {file = "maxminddb-2.5.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ed504ca9f3c42e8e71bdbe21f5b818139a1448ac15d7bb6ce12cf41e3b7e2067"}, + {file = "maxminddb-2.5.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a5053231228d7cbf57d98a741b3cbee9efa9e689348dbb56c414e5a4c7f6f1c"}, + {file = "maxminddb-2.5.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7e8688342bab592647313cd2054779bcd35ad85933424ceae9f07e3a9779986"}, + {file = "maxminddb-2.5.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:335ee3140b41d4e751c14f8fae297aa064c7d3f184c9fbb2790336123187c440"}, + {file = "maxminddb-2.5.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b0203fa2731da45e5461f6e8a0768e85bba8e02137a1598b3fcadf7cbfe8e6f2"}, + {file = "maxminddb-2.5.2-cp312-cp312-win32.whl", hash = "sha256:8b89129de70e1629f200df9dfda4e4f477c26b05c29e0836604a00209c9466d5"}, + {file = "maxminddb-2.5.2-cp312-cp312-win_amd64.whl", hash = "sha256:099f4e27feec4bb9658034a3eb853e746721fc15709030bee4f2f889f4a34185"}, + {file = "maxminddb-2.5.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:19d8d1e9bbc5281fb4c8112d541d2bd350fd8b5ddfbb43a6951e46df7cd27b9d"}, + {file = "maxminddb-2.5.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94183a78628cad257183a88ce12a3bb9ffbfe0544bd0c1aafc1f9dc55629dd1b"}, + {file = "maxminddb-2.5.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:17de49660372dcccaa23958eccdd1c2464f92f594d027045ad76788db14a5da4"}, + {file = "maxminddb-2.5.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ae05c4f87b1dd9a21d430c52451eef5f3bd5af609d093408db91fe0dc4d8d7d1"}, + {file = "maxminddb-2.5.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2cb718908b9dffa10e02361094158ae68ded5a82c750de89737437999a81bafe"}, + {file = "maxminddb-2.5.2-cp38-cp38-win32.whl", hash = "sha256:e0faa0c4c458eb0eb2f267daa7b106baef72c3c7ebcbece00b9e974fc8321412"}, + {file = "maxminddb-2.5.2-cp38-cp38-win_amd64.whl", hash = "sha256:bac5a29fdc5df9222f7baecbcc4a88b309a66a7d147b34160940c0850ee4b9c5"}, + {file = "maxminddb-2.5.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c204f53ef7c1d77e9fb0dba415dbb56419f2b08ccaca66cd772e29b3a793c3e7"}, + {file = "maxminddb-2.5.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae98508a200db6f7ae5985a53039aba8eef7ed71d34b0a0e9c9145c3e6139fc3"}, + {file = "maxminddb-2.5.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3e9198d25e252b27d4e9526d5fcd4b78341c23153363a94f1246de5afcd39f6d"}, + {file = "maxminddb-2.5.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:b85b008f8e2cf3abfabdc24041549c51c97ea9a8bc46eeeadac8cec7acf9fbf0"}, + {file = "maxminddb-2.5.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6f50210506e9818162ef6706d3127efb0575dfe2cc98a7236ca2011f1cc3effe"}, + {file = "maxminddb-2.5.2-cp39-cp39-win32.whl", hash = "sha256:2bba43d370a57785f5ef61c10d0b4bf8de58d431da3c4c2ed78bb2ff3d07edbf"}, + {file = "maxminddb-2.5.2-cp39-cp39-win_amd64.whl", hash = "sha256:2e01b09480b97d2ebe6765618fb12a0f52caa17368d6cf1f42481d6740428de7"}, + {file = "maxminddb-2.5.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:dd47d13376eaee2e8d1a1fb55d3d6ccdcc995bc931699967f7d5670ec6a454a3"}, + {file = "maxminddb-2.5.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:abd626efaba4f0bc867462337f846796da0bb97b82125dbdbc63067947e353b0"}, + {file = "maxminddb-2.5.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3ddbe547d83a2e28e81d9f59fd9708d3044ffb2398ee0f8df2e2a2e9cdea6646"}, + {file = "maxminddb-2.5.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:22184fa2514c15f5b39e4e2522f4f73d00afcf5eb7102c473f9376f3c3a03b81"}, + {file = "maxminddb-2.5.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5cb6702fbcc5b209ac3cffacd9cf0a5155feabbeb6fdcf497038be7cb6e52da6"}, + {file = "maxminddb-2.5.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0c3ebfc0af00445089629faffa4c5a1fcc42a1ca5d7dffc42bba314fde20c6d"}, + {file = "maxminddb-2.5.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:461dcf0a4f67aa1c9faea6d52c4060d39559bf68e99a514cf8c1e01af383f90b"}, + {file = "maxminddb-2.5.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e012e889639aab411f5483990188da51c968377f665dcb90584971dbf314d50a"}, + {file = "maxminddb-2.5.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:20596e452d03071db37a72c8ef9236126c04ed342864f68db0adf0d1bc9f642e"}, + {file = "maxminddb-2.5.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ec51b66774b102824c9a3dd4916356283f6a61db1868d4ebcb98bf26486718e"}, + {file = "maxminddb-2.5.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6fda0dd512f345cc92492f96c61a0df47efc2e2064c15e8053ab2114b362d64d"}, + {file = "maxminddb-2.5.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:862fcfe226ebda29a537cdce678dc8dc71ca6540ad2483099f80c6a1ee4cdbdd"}, + {file = "maxminddb-2.5.2.tar.gz", hash = "sha256:b3c33e4fc7821ee6c9f40837116e16ab6175863d4a64eee024c5bec686690a87"}, ] [package.dependencies] @@ -1767,13 +1781,13 @@ six = ">=1.0.0" [[package]] name = "phonenumberslite" -version = "8.13.26" +version = "8.13.29" description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers." optional = false python-versions = "*" files = [ - {file = "phonenumberslite-8.13.26-py2.py3-none-any.whl", hash = "sha256:305736b1b489e2bc6831710a2f34a9324f2bf96a1e77c8e0b3136dfaf9ca7753"}, - {file = "phonenumberslite-8.13.26.tar.gz", hash = "sha256:6356f2728fa1d2c2bc9e79c3bfcfedc91a36537df7a134f150731a821a469a96"}, + {file = "phonenumberslite-8.13.29-py2.py3-none-any.whl", hash = "sha256:74e3ee63dfa2bb562ce2e6ce74ce76ae74a2f81472005b80343235fb43426db4"}, + {file = "phonenumberslite-8.13.29.tar.gz", hash = "sha256:2b04a53401d01ab42564c1abc762fc9808ad398e71dacfa3b38d4321e112ecb3"}, ] [[package]] @@ -1857,18 +1871,18 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa [[package]] name = "platformdirs" -version = "4.1.0" +version = "4.2.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." optional = false python-versions = ">=3.8" files = [ - {file = "platformdirs-4.1.0-py3-none-any.whl", hash = "sha256:11c8f37bcca40db96d8144522d925583bdb7a31f7b0e37e3ed4318400a8e2380"}, - {file = "platformdirs-4.1.0.tar.gz", hash = "sha256:906d548203468492d432bcb294d4bc2fff751bf84971fbb2c10918cc206ee420"}, + {file = "platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068"}, + {file = "platformdirs-4.2.0.tar.gz", hash = "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"}, ] [package.extras] -docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.1)", "sphinx-autodoc-typehints (>=1.24)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)"] +docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] [[package]] name = "ply" @@ -1883,13 +1897,13 @@ files = [ [[package]] name = "pretix" -version = "2023.10.0" +version = "2024.1.0" description = "Reinventing presales, one ticket at a time" optional = false python-versions = ">=3.9" files = [ - {file = "pretix-2023.10.0-py3-none-any.whl", hash = "sha256:74dd9742b102db8d71262590d4a75e9fce69861fd25f874cec0c2b8c106478c6"}, - {file = "pretix-2023.10.0.tar.gz", hash = "sha256:d0fe505e2e82841db2b69ebdb80d4d7e165260e232eb8e27c787e499edbd6a9f"}, + {file = "pretix-2024.1.0-py3-none-any.whl", hash = "sha256:8c4f4e9a8a3011831aae4574049bcd185e5e2df1a04fe8dd6b63a5d4fde18741"}, + {file = "pretix-2024.1.0.tar.gz", hash = "sha256:94982a415acc76367dc88c0a73b74a1b24c423eadf321de50584d0c5ff363ce6"}, ] [package.dependencies] @@ -1926,7 +1940,7 @@ djangorestframework = "==3.14.*" dnspython = "==2.3.*" drf-ujson2 = "==1.7.*" geoip2 = "==4.*" -importlib-metadata = "==6.*" +importlib-metadata = "==7.*" isoweek = "*" jsonschema = "*" kombu = "==5.3.*" @@ -1963,7 +1977,7 @@ sentry-sdk = "==1.15.*" sepaxml = "==2.6.*" slimit = "*" static3 = "==0.7.*" -stripe = "==5.4.*" +stripe = "==7.9.*" text-unidecode = "==1.*" tlds = ">=2020041600" tqdm = "==4.*" @@ -1992,13 +2006,13 @@ django = "*" [[package]] name = "prompt-toolkit" -version = "3.0.41" +version = "3.0.43" description = "Library for building powerful interactive command lines in Python" optional = false python-versions = ">=3.7.0" files = [ - {file = "prompt_toolkit-3.0.41-py3-none-any.whl", hash = "sha256:f36fe301fafb7470e86aaf90f036eef600a3210be4decf461a5b1ca8403d3cb2"}, - {file = "prompt_toolkit-3.0.41.tar.gz", hash = "sha256:941367d97fc815548822aa26c2a269fdc4eb21e9ec05fc5d447cf09bad5d75f0"}, + {file = "prompt_toolkit-3.0.43-py3-none-any.whl", hash = "sha256:a11a29cb3bf0a28a387fe5122cdb649816a957cd9261dcedf8c9f1fef33eacf6"}, + {file = "prompt_toolkit-3.0.43.tar.gz", hash = "sha256:3527b7af26106cbc65a040bcc84839a3566ec1b051bb0bfe953631e704b0ff7d"}, ] [package.dependencies] @@ -2059,6 +2073,7 @@ files = [ {file = "psycopg2_binary-2.9.9-cp311-cp311-win32.whl", hash = "sha256:dc4926288b2a3e9fd7b50dc6a1909a13bbdadfc67d93f3374d984e56f885579d"}, {file = "psycopg2_binary-2.9.9-cp311-cp311-win_amd64.whl", hash = "sha256:b76bedd166805480ab069612119ea636f5ab8f8771e640ae103e05a4aae3e417"}, {file = "psycopg2_binary-2.9.9-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:8532fd6e6e2dc57bcb3bc90b079c60de896d2128c5d9d6f24a63875a95a088cf"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b0605eaed3eb239e87df0d5e3c6489daae3f7388d455d0c0b4df899519c6a38d"}, {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f8544b092a29a6ddd72f3556a9fcf249ec412e10ad28be6a0c0d948924f2212"}, {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2d423c8d8a3c82d08fe8af900ad5b613ce3632a1249fd6a223941d0735fce493"}, {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e5afae772c00980525f6d6ecf7cbca55676296b580c0e6abb407f15f3706996"}, @@ -2108,17 +2123,15 @@ files = [ [[package]] name = "pycountry" -version = "22.3.5" +version = "23.12.11" description = "ISO country, subdivision, language, currency and script definitions and their translations" optional = false -python-versions = ">=3.6, <4" +python-versions = ">=3.8" files = [ - {file = "pycountry-22.3.5.tar.gz", hash = "sha256:b2163a246c585894d808f18783e19137cb70a0c18fb36748dc01fc6f109c1646"}, + {file = "pycountry-23.12.11-py3-none-any.whl", hash = "sha256:2ff91cff4f40ff61086e773d61e72005fe95de4a57bfc765509db05695dc50ab"}, + {file = "pycountry-23.12.11.tar.gz", hash = "sha256:00569d82eaefbc6a490a311bfa84a9c571cff9ddbf8b0a4f4e7b4f868b4ad925"}, ] -[package.dependencies] -setuptools = "*" - [[package]] name = "pycparser" version = "2.21" @@ -2190,17 +2203,17 @@ tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] [[package]] name = "pyopenssl" -version = "23.3.0" +version = "24.0.0" description = "Python wrapper module around the OpenSSL library" optional = false python-versions = ">=3.7" files = [ - {file = "pyOpenSSL-23.3.0-py3-none-any.whl", hash = "sha256:6756834481d9ed5470f4a9393455154bc92fe7a64b7bc6ee2c804e78c52099b2"}, - {file = "pyOpenSSL-23.3.0.tar.gz", hash = "sha256:6b2cba5cc46e822750ec3e5a81ee12819850b11303630d575e98108a079c2b12"}, + {file = "pyOpenSSL-24.0.0-py3-none-any.whl", hash = "sha256:ba07553fb6fd6a7a2259adb9b84e12302a9a8a75c44046e8bb5d3e5ee887e3c3"}, + {file = "pyOpenSSL-24.0.0.tar.gz", hash = "sha256:6aa33039a93fffa4563e655b61d11364d01264be8ccb49906101e02a334530bf"}, ] [package.dependencies] -cryptography = ">=41.0.5,<42" +cryptography = ">=41.0.5,<43" [package.extras] docs = ["sphinx (!=5.2.0,!=5.2.0.post0,!=7.2.5)", "sphinx-rtd-theme"] @@ -2299,13 +2312,13 @@ yubiauth-server = ["WebOb", "yubiauth"] [[package]] name = "pytz" -version = "2023.3.post1" +version = "2023.4" description = "World timezone definitions, modern and historical" optional = false python-versions = "*" files = [ - {file = "pytz-2023.3.post1-py2.py3-none-any.whl", hash = "sha256:ce42d816b81b68506614c11e8937d3aa9e41007ceb50bfdcb0749b921bf646c7"}, - {file = "pytz-2023.3.post1.tar.gz", hash = "sha256:7b4fddbeb94a1eba4b557da24f19fdf9db575192544270a9101d8509f9f43d7b"}, + {file = "pytz-2023.4-py2.py3-none-any.whl", hash = "sha256:f90ef520d95e7c46951105338d918664ebfd6f1d995bd7d153127ce90efafa6a"}, + {file = "pytz-2023.4.tar.gz", hash = "sha256:31d4583c4ed539cd037956140d695e42c033a19e984bfce9964a3f7d59bc2b40"}, ] [[package]] @@ -2408,13 +2421,13 @@ ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)" [[package]] name = "referencing" -version = "0.32.0" +version = "0.33.0" description = "JSON Referencing + Python" optional = false python-versions = ">=3.8" files = [ - {file = "referencing-0.32.0-py3-none-any.whl", hash = "sha256:bdcd3efb936f82ff86f993093f6da7435c7de69a3b3a5a06678a6050184bee99"}, - {file = "referencing-0.32.0.tar.gz", hash = "sha256:689e64fe121843dcfd57b71933318ef1f91188ffb45367332700a86ac8fd6161"}, + {file = "referencing-0.33.0-py3-none-any.whl", hash = "sha256:39240f2ecc770258f28b642dd47fd74bc8b02484de54e1882b74b35ebd779bd5"}, + {file = "referencing-0.33.0.tar.gz", hash = "sha256:c775fedf74bc0f9189c2a3be1c12fd03e8c23f4d371dce795df44e06c5b412f7"}, ] [package.dependencies] @@ -2423,16 +2436,17 @@ rpds-py = ">=0.7.0" [[package]] name = "reportlab" -version = "4.0.7" +version = "4.0.9" description = "The Reportlab Toolkit" optional = false python-versions = ">=3.7,<4" files = [ - {file = "reportlab-4.0.7-py3-none-any.whl", hash = "sha256:956d5874ee56e88753cf4c49452d6a7fa54a64e049a0382bd0c0b2013a26ef9a"}, - {file = "reportlab-4.0.7.tar.gz", hash = "sha256:967c77f00efd918cc231cf8b6d8f4e477dc973b5c16557e3bd18dfaeb5a70234"}, + {file = "reportlab-4.0.9-py3-none-any.whl", hash = "sha256:c9656216321897486e323be138f7aea67851cedc116b8cc35f8ec7f8cc763538"}, + {file = "reportlab-4.0.9.tar.gz", hash = "sha256:f32bff66a0fda234202e1e33eaf77f25008871a61cb01cd91584a521a04c0047"}, ] [package.dependencies] +chardet = "*" pillow = ">=9.0.0" [package.extras] @@ -2463,18 +2477,17 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "requests-file" -version = "1.5.1" +version = "2.0.0" description = "File transport adapter for Requests" optional = false python-versions = "*" files = [ - {file = "requests-file-1.5.1.tar.gz", hash = "sha256:07d74208d3389d01c38ab89ef403af0cfec63957d53a0081d8eca738d0247d8e"}, - {file = "requests_file-1.5.1-py2.py3-none-any.whl", hash = "sha256:dfe5dae75c12481f68ba353183c53a65e6044c923e64c24b2209f6c7570ca953"}, + {file = "requests-file-2.0.0.tar.gz", hash = "sha256:20c5931629c558fda566cacc10cfe2cd502433e628f568c34c80d96a0cc95972"}, + {file = "requests_file-2.0.0-py2.py3-none-any.whl", hash = "sha256:3e493d390adb44aa102ebea827a48717336d5268968c370eaf19abaf5cae13bf"}, ] [package.dependencies] requests = ">=1.0.0" -six = "*" [[package]] name = "requests-toolbelt" @@ -2524,110 +2537,110 @@ files = [ [[package]] name = "rpds-py" -version = "0.13.2" +version = "0.17.1" description = "Python bindings to Rust's persistent data structures (rpds)" optional = false python-versions = ">=3.8" files = [ - {file = "rpds_py-0.13.2-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:1ceebd0ae4f3e9b2b6b553b51971921853ae4eebf3f54086be0565d59291e53d"}, - {file = "rpds_py-0.13.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:46e1ed994a0920f350a4547a38471217eb86f57377e9314fbaaa329b71b7dfe3"}, - {file = "rpds_py-0.13.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee353bb51f648924926ed05e0122b6a0b1ae709396a80eb583449d5d477fcdf7"}, - {file = "rpds_py-0.13.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:530190eb0cd778363bbb7596612ded0bb9fef662daa98e9d92a0419ab27ae914"}, - {file = "rpds_py-0.13.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:29d311e44dd16d2434d5506d57ef4d7036544fc3c25c14b6992ef41f541b10fb"}, - {file = "rpds_py-0.13.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e72f750048b32d39e87fc85c225c50b2a6715034848dbb196bf3348aa761fa1"}, - {file = "rpds_py-0.13.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db09b98c7540df69d4b47218da3fbd7cb466db0fb932e971c321f1c76f155266"}, - {file = "rpds_py-0.13.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2ac26f50736324beb0282c819668328d53fc38543fa61eeea2c32ea8ea6eab8d"}, - {file = "rpds_py-0.13.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:12ecf89bd54734c3c2c79898ae2021dca42750c7bcfb67f8fb3315453738ac8f"}, - {file = "rpds_py-0.13.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a44c8440183b43167fd1a0819e8356692bf5db1ad14ce140dbd40a1485f2dea"}, - {file = "rpds_py-0.13.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bcef4f2d3dc603150421de85c916da19471f24d838c3c62a4f04c1eb511642c1"}, - {file = "rpds_py-0.13.2-cp310-none-win32.whl", hash = "sha256:ee6faebb265e28920a6f23a7d4c362414b3f4bb30607141d718b991669e49ddc"}, - {file = "rpds_py-0.13.2-cp310-none-win_amd64.whl", hash = "sha256:ac96d67b37f28e4b6ecf507c3405f52a40658c0a806dffde624a8fcb0314d5fd"}, - {file = "rpds_py-0.13.2-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:b5f6328e8e2ae8238fc767703ab7b95785521c42bb2b8790984e3477d7fa71ad"}, - {file = "rpds_py-0.13.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:729408136ef8d45a28ee9a7411917c9e3459cf266c7e23c2f7d4bb8ef9e0da42"}, - {file = "rpds_py-0.13.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65cfed9c807c27dee76407e8bb29e6f4e391e436774bcc769a037ff25ad8646e"}, - {file = "rpds_py-0.13.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:aefbdc934115d2f9278f153952003ac52cd2650e7313750390b334518c589568"}, - {file = "rpds_py-0.13.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d48db29bd47814671afdd76c7652aefacc25cf96aad6daefa82d738ee87461e2"}, - {file = "rpds_py-0.13.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3c55d7f2d817183d43220738270efd3ce4e7a7b7cbdaefa6d551ed3d6ed89190"}, - {file = "rpds_py-0.13.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6aadae3042f8e6db3376d9e91f194c606c9a45273c170621d46128f35aef7cd0"}, - {file = "rpds_py-0.13.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5feae2f9aa7270e2c071f488fab256d768e88e01b958f123a690f1cc3061a09c"}, - {file = "rpds_py-0.13.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:51967a67ea0d7b9b5cd86036878e2d82c0b6183616961c26d825b8c994d4f2c8"}, - {file = "rpds_py-0.13.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d0c10d803549427f427085ed7aebc39832f6e818a011dcd8785e9c6a1ba9b3e"}, - {file = "rpds_py-0.13.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:603d5868f7419081d616dab7ac3cfa285296735e7350f7b1e4f548f6f953ee7d"}, - {file = "rpds_py-0.13.2-cp311-none-win32.whl", hash = "sha256:b8996ffb60c69f677245f5abdbcc623e9442bcc91ed81b6cd6187129ad1fa3e7"}, - {file = "rpds_py-0.13.2-cp311-none-win_amd64.whl", hash = "sha256:5379e49d7e80dca9811b36894493d1c1ecb4c57de05c36f5d0dd09982af20211"}, - {file = "rpds_py-0.13.2-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:8a776a29b77fe0cc28fedfd87277b0d0f7aa930174b7e504d764e0b43a05f381"}, - {file = "rpds_py-0.13.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2a1472956c5bcc49fb0252b965239bffe801acc9394f8b7c1014ae9258e4572b"}, - {file = "rpds_py-0.13.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f252dfb4852a527987a9156cbcae3022a30f86c9d26f4f17b8c967d7580d65d2"}, - {file = "rpds_py-0.13.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f0d320e70b6b2300ff6029e234e79fe44e9dbbfc7b98597ba28e054bd6606a57"}, - {file = "rpds_py-0.13.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ade2ccb937060c299ab0dfb2dea3d2ddf7e098ed63ee3d651ebfc2c8d1e8632a"}, - {file = "rpds_py-0.13.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b9d121be0217787a7d59a5c6195b0842d3f701007333426e5154bf72346aa658"}, - {file = "rpds_py-0.13.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8fa6bd071ec6d90f6e7baa66ae25820d57a8ab1b0a3c6d3edf1834d4b26fafa2"}, - {file = "rpds_py-0.13.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c918621ee0a3d1fe61c313f2489464f2ae3d13633e60f520a8002a5e910982ee"}, - {file = "rpds_py-0.13.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:25b28b3d33ec0a78e944aaaed7e5e2a94ac811bcd68b557ca48a0c30f87497d2"}, - {file = "rpds_py-0.13.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:31e220a040b89a01505128c2f8a59ee74732f666439a03e65ccbf3824cdddae7"}, - {file = "rpds_py-0.13.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:15253fff410873ebf3cfba1cc686a37711efcd9b8cb30ea21bb14a973e393f60"}, - {file = "rpds_py-0.13.2-cp312-none-win32.whl", hash = "sha256:b981a370f8f41c4024c170b42fbe9e691ae2dbc19d1d99151a69e2c84a0d194d"}, - {file = "rpds_py-0.13.2-cp312-none-win_amd64.whl", hash = "sha256:4c4e314d36d4f31236a545696a480aa04ea170a0b021e9a59ab1ed94d4c3ef27"}, - {file = "rpds_py-0.13.2-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:80e5acb81cb49fd9f2d5c08f8b74ffff14ee73b10ca88297ab4619e946bcb1e1"}, - {file = "rpds_py-0.13.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:efe093acc43e869348f6f2224df7f452eab63a2c60a6c6cd6b50fd35c4e075ba"}, - {file = "rpds_py-0.13.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c2a61c0e4811012b0ba9f6cdcb4437865df5d29eab5d6018ba13cee1c3064a0"}, - {file = "rpds_py-0.13.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:751758d9dd04d548ec679224cc00e3591f5ebf1ff159ed0d4aba6a0746352452"}, - {file = "rpds_py-0.13.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6ba8858933f0c1a979781272a5f65646fca8c18c93c99c6ddb5513ad96fa54b1"}, - {file = "rpds_py-0.13.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bfdfbe6a36bc3059fff845d64c42f2644cf875c65f5005db54f90cdfdf1df815"}, - {file = "rpds_py-0.13.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa0379c1935c44053c98826bc99ac95f3a5355675a297ac9ce0dfad0ce2d50ca"}, - {file = "rpds_py-0.13.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d5593855b5b2b73dd8413c3fdfa5d95b99d657658f947ba2c4318591e745d083"}, - {file = "rpds_py-0.13.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2a7bef6977043673750a88da064fd513f89505111014b4e00fbdd13329cd4e9a"}, - {file = "rpds_py-0.13.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:3ab96754d23372009638a402a1ed12a27711598dd49d8316a22597141962fe66"}, - {file = "rpds_py-0.13.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:e06cfea0ece444571d24c18ed465bc93afb8c8d8d74422eb7026662f3d3f779b"}, - {file = "rpds_py-0.13.2-cp38-none-win32.whl", hash = "sha256:5493569f861fb7b05af6d048d00d773c6162415ae521b7010197c98810a14cab"}, - {file = "rpds_py-0.13.2-cp38-none-win_amd64.whl", hash = "sha256:b07501b720cf060c5856f7b5626e75b8e353b5f98b9b354a21eb4bfa47e421b1"}, - {file = "rpds_py-0.13.2-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:881df98f0a8404d32b6de0fd33e91c1b90ed1516a80d4d6dc69d414b8850474c"}, - {file = "rpds_py-0.13.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d79c159adea0f1f4617f54aa156568ac69968f9ef4d1e5fefffc0a180830308e"}, - {file = "rpds_py-0.13.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38d4f822ee2f338febcc85aaa2547eb5ba31ba6ff68d10b8ec988929d23bb6b4"}, - {file = "rpds_py-0.13.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5d75d6d220d55cdced2f32cc22f599475dbe881229aeddba6c79c2e9df35a2b3"}, - {file = "rpds_py-0.13.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d97e9ae94fb96df1ee3cb09ca376c34e8a122f36927230f4c8a97f469994bff"}, - {file = "rpds_py-0.13.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:67a429520e97621a763cf9b3ba27574779c4e96e49a27ff8a1aa99ee70beb28a"}, - {file = "rpds_py-0.13.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:188435794405c7f0573311747c85a96b63c954a5f2111b1df8018979eca0f2f0"}, - {file = "rpds_py-0.13.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:38f9bf2ad754b4a45b8210a6c732fe876b8a14e14d5992a8c4b7c1ef78740f53"}, - {file = "rpds_py-0.13.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a6ba2cb7d676e9415b9e9ac7e2aae401dc1b1e666943d1f7bc66223d3d73467b"}, - {file = "rpds_py-0.13.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:eaffbd8814bb1b5dc3ea156a4c5928081ba50419f9175f4fc95269e040eff8f0"}, - {file = "rpds_py-0.13.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5a4c1058cdae6237d97af272b326e5f78ee7ee3bbffa6b24b09db4d828810468"}, - {file = "rpds_py-0.13.2-cp39-none-win32.whl", hash = "sha256:b5267feb19070bef34b8dea27e2b504ebd9d31748e3ecacb3a4101da6fcb255c"}, - {file = "rpds_py-0.13.2-cp39-none-win_amd64.whl", hash = "sha256:ddf23960cb42b69bce13045d5bc66f18c7d53774c66c13f24cf1b9c144ba3141"}, - {file = "rpds_py-0.13.2-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:97163a1ab265a1073a6372eca9f4eeb9f8c6327457a0b22ddfc4a17dcd613e74"}, - {file = "rpds_py-0.13.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:25ea41635d22b2eb6326f58e608550e55d01df51b8a580ea7e75396bafbb28e9"}, - {file = "rpds_py-0.13.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76d59d4d451ba77f08cb4cd9268dec07be5bc65f73666302dbb5061989b17198"}, - {file = "rpds_py-0.13.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e7c564c58cf8f248fe859a4f0fe501b050663f3d7fbc342172f259124fb59933"}, - {file = "rpds_py-0.13.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:61dbc1e01dc0c5875da2f7ae36d6e918dc1b8d2ce04e871793976594aad8a57a"}, - {file = "rpds_py-0.13.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fdb82eb60d31b0c033a8e8ee9f3fc7dfbaa042211131c29da29aea8531b4f18f"}, - {file = "rpds_py-0.13.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d204957169f0b3511fb95395a9da7d4490fb361763a9f8b32b345a7fe119cb45"}, - {file = "rpds_py-0.13.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c45008ca79bad237cbc03c72bc5205e8c6f66403773929b1b50f7d84ef9e4d07"}, - {file = "rpds_py-0.13.2-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:79bf58c08f0756adba691d480b5a20e4ad23f33e1ae121584cf3a21717c36dfa"}, - {file = "rpds_py-0.13.2-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:e86593bf8637659e6a6ed58854b6c87ec4e9e45ee8a4adfd936831cef55c2d21"}, - {file = "rpds_py-0.13.2-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:d329896c40d9e1e5c7715c98529e4a188a1f2df51212fd65102b32465612b5dc"}, - {file = "rpds_py-0.13.2-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:4a5375c5fff13f209527cd886dc75394f040c7d1ecad0a2cb0627f13ebe78a12"}, - {file = "rpds_py-0.13.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:06d218e4464d31301e943b65b2c6919318ea6f69703a351961e1baaf60347276"}, - {file = "rpds_py-0.13.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1f41d32a2ddc5a94df4b829b395916a4b7f103350fa76ba6de625fcb9e773ac"}, - {file = "rpds_py-0.13.2-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6bc568b05e02cd612be53900c88aaa55012e744930ba2eeb56279db4c6676eb3"}, - {file = "rpds_py-0.13.2-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9d94d78418203904730585efa71002286ac4c8ac0689d0eb61e3c465f9e608ff"}, - {file = "rpds_py-0.13.2-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bed0252c85e21cf73d2d033643c945b460d6a02fc4a7d644e3b2d6f5f2956c64"}, - {file = "rpds_py-0.13.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:244e173bb6d8f3b2f0c4d7370a1aa341f35da3e57ffd1798e5b2917b91731fd3"}, - {file = "rpds_py-0.13.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7f55cd9cf1564b7b03f238e4c017ca4794c05b01a783e9291065cb2858d86ce4"}, - {file = "rpds_py-0.13.2-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:f03a1b3a4c03e3e0161642ac5367f08479ab29972ea0ffcd4fa18f729cd2be0a"}, - {file = "rpds_py-0.13.2-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:f5f4424cb87a20b016bfdc157ff48757b89d2cc426256961643d443c6c277007"}, - {file = "rpds_py-0.13.2-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:c82bbf7e03748417c3a88c1b0b291288ce3e4887a795a3addaa7a1cfd9e7153e"}, - {file = "rpds_py-0.13.2-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:c0095b8aa3e432e32d372e9a7737e65b58d5ed23b9620fea7cb81f17672f1fa1"}, - {file = "rpds_py-0.13.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:4c2d26aa03d877c9730bf005621c92da263523a1e99247590abbbe252ccb7824"}, - {file = "rpds_py-0.13.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96f2975fb14f39c5fe75203f33dd3010fe37d1c4e33177feef1107b5ced750e3"}, - {file = "rpds_py-0.13.2-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4dcc5ee1d0275cb78d443fdebd0241e58772a354a6d518b1d7af1580bbd2c4e8"}, - {file = "rpds_py-0.13.2-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:61d42d2b08430854485135504f672c14d4fc644dd243a9c17e7c4e0faf5ed07e"}, - {file = "rpds_py-0.13.2-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d3a61e928feddc458a55110f42f626a2a20bea942ccedb6fb4cee70b4830ed41"}, - {file = "rpds_py-0.13.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7de12b69d95072394998c622cfd7e8cea8f560db5fca6a62a148f902a1029f8b"}, - {file = "rpds_py-0.13.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:87a90f5545fd61f6964e65eebde4dc3fa8660bb7d87adb01d4cf17e0a2b484ad"}, - {file = "rpds_py-0.13.2-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:9c95a1a290f9acf7a8f2ebbdd183e99215d491beea52d61aa2a7a7d2c618ddc6"}, - {file = "rpds_py-0.13.2-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:35f53c76a712e323c779ca39b9a81b13f219a8e3bc15f106ed1e1462d56fcfe9"}, - {file = "rpds_py-0.13.2-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:96fb0899bb2ab353f42e5374c8f0789f54e0a94ef2f02b9ac7149c56622eaf31"}, - {file = "rpds_py-0.13.2.tar.gz", hash = "sha256:f8eae66a1304de7368932b42d801c67969fd090ddb1a7a24f27b435ed4bed68f"}, + {file = "rpds_py-0.17.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:4128980a14ed805e1b91a7ed551250282a8ddf8201a4e9f8f5b7e6225f54170d"}, + {file = "rpds_py-0.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ff1dcb8e8bc2261a088821b2595ef031c91d499a0c1b031c152d43fe0a6ecec8"}, + {file = "rpds_py-0.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d65e6b4f1443048eb7e833c2accb4fa7ee67cc7d54f31b4f0555b474758bee55"}, + {file = "rpds_py-0.17.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a71169d505af63bb4d20d23a8fbd4c6ce272e7bce6cc31f617152aa784436f29"}, + {file = "rpds_py-0.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:436474f17733c7dca0fbf096d36ae65277e8645039df12a0fa52445ca494729d"}, + {file = "rpds_py-0.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:10162fe3f5f47c37ebf6d8ff5a2368508fe22007e3077bf25b9c7d803454d921"}, + {file = "rpds_py-0.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:720215373a280f78a1814becb1312d4e4d1077b1202a56d2b0815e95ccb99ce9"}, + {file = "rpds_py-0.17.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:70fcc6c2906cfa5c6a552ba7ae2ce64b6c32f437d8f3f8eea49925b278a61453"}, + {file = "rpds_py-0.17.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:91e5a8200e65aaac342a791272c564dffcf1281abd635d304d6c4e6b495f29dc"}, + {file = "rpds_py-0.17.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:99f567dae93e10be2daaa896e07513dd4bf9c2ecf0576e0533ac36ba3b1d5394"}, + {file = "rpds_py-0.17.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:24e4900a6643f87058a27320f81336d527ccfe503984528edde4bb660c8c8d59"}, + {file = "rpds_py-0.17.1-cp310-none-win32.whl", hash = "sha256:0bfb09bf41fe7c51413f563373e5f537eaa653d7adc4830399d4e9bdc199959d"}, + {file = "rpds_py-0.17.1-cp310-none-win_amd64.whl", hash = "sha256:20de7b7179e2031a04042e85dc463a93a82bc177eeba5ddd13ff746325558aa6"}, + {file = "rpds_py-0.17.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:65dcf105c1943cba45d19207ef51b8bc46d232a381e94dd38719d52d3980015b"}, + {file = "rpds_py-0.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:01f58a7306b64e0a4fe042047dd2b7d411ee82e54240284bab63e325762c1147"}, + {file = "rpds_py-0.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:071bc28c589b86bc6351a339114fb7a029f5cddbaca34103aa573eba7b482382"}, + {file = "rpds_py-0.17.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ae35e8e6801c5ab071b992cb2da958eee76340e6926ec693b5ff7d6381441745"}, + {file = "rpds_py-0.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:149c5cd24f729e3567b56e1795f74577aa3126c14c11e457bec1b1c90d212e38"}, + {file = "rpds_py-0.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e796051f2070f47230c745d0a77a91088fbee2cc0502e9b796b9c6471983718c"}, + {file = "rpds_py-0.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60e820ee1004327609b28db8307acc27f5f2e9a0b185b2064c5f23e815f248f8"}, + {file = "rpds_py-0.17.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1957a2ab607f9added64478a6982742eb29f109d89d065fa44e01691a20fc20a"}, + {file = "rpds_py-0.17.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8587fd64c2a91c33cdc39d0cebdaf30e79491cc029a37fcd458ba863f8815383"}, + {file = "rpds_py-0.17.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4dc889a9d8a34758d0fcc9ac86adb97bab3fb7f0c4d29794357eb147536483fd"}, + {file = "rpds_py-0.17.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:2953937f83820376b5979318840f3ee47477d94c17b940fe31d9458d79ae7eea"}, + {file = "rpds_py-0.17.1-cp311-none-win32.whl", hash = "sha256:1bfcad3109c1e5ba3cbe2f421614e70439f72897515a96c462ea657261b96518"}, + {file = "rpds_py-0.17.1-cp311-none-win_amd64.whl", hash = "sha256:99da0a4686ada4ed0f778120a0ea8d066de1a0a92ab0d13ae68492a437db78bf"}, + {file = "rpds_py-0.17.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1dc29db3900cb1bb40353772417800f29c3d078dbc8024fd64655a04ee3c4bdf"}, + {file = "rpds_py-0.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:82ada4a8ed9e82e443fcef87e22a3eed3654dd3adf6e3b3a0deb70f03e86142a"}, + {file = "rpds_py-0.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d36b2b59e8cc6e576f8f7b671e32f2ff43153f0ad6d0201250a7c07f25d570e"}, + {file = "rpds_py-0.17.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3677fcca7fb728c86a78660c7fb1b07b69b281964673f486ae72860e13f512ad"}, + {file = "rpds_py-0.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:516fb8c77805159e97a689e2f1c80655c7658f5af601c34ffdb916605598cda2"}, + {file = "rpds_py-0.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:df3b6f45ba4515632c5064e35ca7f31d51d13d1479673185ba8f9fefbbed58b9"}, + {file = "rpds_py-0.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a967dd6afda7715d911c25a6ba1517975acd8d1092b2f326718725461a3d33f9"}, + {file = "rpds_py-0.17.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dbbb95e6fc91ea3102505d111b327004d1c4ce98d56a4a02e82cd451f9f57140"}, + {file = "rpds_py-0.17.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:02866e060219514940342a1f84303a1ef7a1dad0ac311792fbbe19b521b489d2"}, + {file = "rpds_py-0.17.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:2528ff96d09f12e638695f3a2e0c609c7b84c6df7c5ae9bfeb9252b6fa686253"}, + {file = "rpds_py-0.17.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:bd345a13ce06e94c753dab52f8e71e5252aec1e4f8022d24d56decd31e1b9b23"}, + {file = "rpds_py-0.17.1-cp312-none-win32.whl", hash = "sha256:2a792b2e1d3038daa83fa474d559acfd6dc1e3650ee93b2662ddc17dbff20ad1"}, + {file = "rpds_py-0.17.1-cp312-none-win_amd64.whl", hash = "sha256:292f7344a3301802e7c25c53792fae7d1593cb0e50964e7bcdcc5cf533d634e3"}, + {file = "rpds_py-0.17.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:8ffe53e1d8ef2520ebcf0c9fec15bb721da59e8ef283b6ff3079613b1e30513d"}, + {file = "rpds_py-0.17.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4341bd7579611cf50e7b20bb8c2e23512a3dc79de987a1f411cb458ab670eb90"}, + {file = "rpds_py-0.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f4eb548daf4836e3b2c662033bfbfc551db58d30fd8fe660314f86bf8510b93"}, + {file = "rpds_py-0.17.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b686f25377f9c006acbac63f61614416a6317133ab7fafe5de5f7dc8a06d42eb"}, + {file = "rpds_py-0.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4e21b76075c01d65d0f0f34302b5a7457d95721d5e0667aea65e5bb3ab415c25"}, + {file = "rpds_py-0.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b86b21b348f7e5485fae740d845c65a880f5d1eda1e063bc59bef92d1f7d0c55"}, + {file = "rpds_py-0.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f175e95a197f6a4059b50757a3dca33b32b61691bdbd22c29e8a8d21d3914cae"}, + {file = "rpds_py-0.17.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1701fc54460ae2e5efc1dd6350eafd7a760f516df8dbe51d4a1c79d69472fbd4"}, + {file = "rpds_py-0.17.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:9051e3d2af8f55b42061603e29e744724cb5f65b128a491446cc029b3e2ea896"}, + {file = "rpds_py-0.17.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:7450dbd659fed6dd41d1a7d47ed767e893ba402af8ae664c157c255ec6067fde"}, + {file = "rpds_py-0.17.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:5a024fa96d541fd7edaa0e9d904601c6445e95a729a2900c5aec6555fe921ed6"}, + {file = "rpds_py-0.17.1-cp38-none-win32.whl", hash = "sha256:da1ead63368c04a9bded7904757dfcae01eba0e0f9bc41d3d7f57ebf1c04015a"}, + {file = "rpds_py-0.17.1-cp38-none-win_amd64.whl", hash = "sha256:841320e1841bb53fada91c9725e766bb25009cfd4144e92298db296fb6c894fb"}, + {file = "rpds_py-0.17.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:f6c43b6f97209e370124baf2bf40bb1e8edc25311a158867eb1c3a5d449ebc7a"}, + {file = "rpds_py-0.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7d63ec01fe7c76c2dbb7e972fece45acbb8836e72682bde138e7e039906e2c"}, + {file = "rpds_py-0.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81038ff87a4e04c22e1d81f947c6ac46f122e0c80460b9006e6517c4d842a6ec"}, + {file = "rpds_py-0.17.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:810685321f4a304b2b55577c915bece4c4a06dfe38f6e62d9cc1d6ca8ee86b99"}, + {file = "rpds_py-0.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:25f071737dae674ca8937a73d0f43f5a52e92c2d178330b4c0bb6ab05586ffa6"}, + {file = "rpds_py-0.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aa5bfb13f1e89151ade0eb812f7b0d7a4d643406caaad65ce1cbabe0a66d695f"}, + {file = "rpds_py-0.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dfe07308b311a8293a0d5ef4e61411c5c20f682db6b5e73de6c7c8824272c256"}, + {file = "rpds_py-0.17.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a000133a90eea274a6f28adc3084643263b1e7c1a5a66eb0a0a7a36aa757ed74"}, + {file = "rpds_py-0.17.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d0e8a6434a3fbf77d11448c9c25b2f25244226cfbec1a5159947cac5b8c5fa4"}, + {file = "rpds_py-0.17.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:efa767c220d94aa4ac3a6dd3aeb986e9f229eaf5bce92d8b1b3018d06bed3772"}, + {file = "rpds_py-0.17.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:dbc56680ecf585a384fbd93cd42bc82668b77cb525343170a2d86dafaed2a84b"}, + {file = "rpds_py-0.17.1-cp39-none-win32.whl", hash = "sha256:270987bc22e7e5a962b1094953ae901395e8c1e1e83ad016c5cfcfff75a15a3f"}, + {file = "rpds_py-0.17.1-cp39-none-win_amd64.whl", hash = "sha256:2a7b2f2f56a16a6d62e55354dd329d929560442bd92e87397b7a9586a32e3e76"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a3264e3e858de4fc601741498215835ff324ff2482fd4e4af61b46512dd7fc83"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:f2f3b28b40fddcb6c1f1f6c88c6f3769cd933fa493ceb79da45968a21dccc920"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9584f8f52010295a4a417221861df9bea4c72d9632562b6e59b3c7b87a1522b7"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c64602e8be701c6cfe42064b71c84ce62ce66ddc6422c15463fd8127db3d8066"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:060f412230d5f19fc8c8b75f315931b408d8ebf56aec33ef4168d1b9e54200b1"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b9412abdf0ba70faa6e2ee6c0cc62a8defb772e78860cef419865917d86c7342"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9737bdaa0ad33d34c0efc718741abaafce62fadae72c8b251df9b0c823c63b22"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9f0e4dc0f17dcea4ab9d13ac5c666b6b5337042b4d8f27e01b70fae41dd65c57"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:1db228102ab9d1ff4c64148c96320d0be7044fa28bd865a9ce628ce98da5973d"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:d8bbd8e56f3ba25a7d0cf980fc42b34028848a53a0e36c9918550e0280b9d0b6"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:be22ae34d68544df293152b7e50895ba70d2a833ad9566932d750d3625918b82"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bf046179d011e6114daf12a534d874958b039342b347348a78b7cdf0dd9d6041"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:1a746a6d49665058a5896000e8d9d2f1a6acba8a03b389c1e4c06e11e0b7f40d"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0b8bf5b8db49d8fd40f54772a1dcf262e8be0ad2ab0206b5a2ec109c176c0a4"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f7f4cb1f173385e8a39c29510dd11a78bf44e360fb75610594973f5ea141028b"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7fbd70cb8b54fe745301921b0816c08b6d917593429dfc437fd024b5ba713c58"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9bdf1303df671179eaf2cb41e8515a07fc78d9d00f111eadbe3e14262f59c3d0"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fad059a4bd14c45776600d223ec194e77db6c20255578bb5bcdd7c18fd169361"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3664d126d3388a887db44c2e293f87d500c4184ec43d5d14d2d2babdb4c64cad"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:698ea95a60c8b16b58be9d854c9f993c639f5c214cf9ba782eca53a8789d6b19"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:c3d2010656999b63e628a3c694f23020322b4178c450dc478558a2b6ef3cb9bb"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:938eab7323a736533f015e6069a7d53ef2dcc841e4e533b782c2bfb9fb12d84b"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:1e626b365293a2142a62b9a614e1f8e331b28f3ca57b9f05ebbf4cf2a0f0bdc5"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:380e0df2e9d5d5d339803cfc6d183a5442ad7ab3c63c2a0982e8c824566c5ccc"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b760a56e080a826c2e5af09002c1a037382ed21d03134eb6294812dda268c811"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5576ee2f3a309d2bb403ec292d5958ce03953b0e57a11d224c1f134feaf8c40f"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f3c3461ebb4c4f1bbc70b15d20b565759f97a5aaf13af811fcefc892e9197ba"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:637b802f3f069a64436d432117a7e58fab414b4e27a7e81049817ae94de45d8d"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffee088ea9b593cc6160518ba9bd319b5475e5f3e578e4552d63818773c6f56a"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3ac732390d529d8469b831949c78085b034bff67f584559340008d0f6041a049"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:93432e747fb07fa567ad9cc7aaadd6e29710e515aabf939dfbed8046041346c6"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:7b7d9ca34542099b4e185b3c2a2b2eda2e318a7dbde0b0d83357a6d4421b5296"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:0387ce69ba06e43df54e43968090f3626e231e4bc9150e4c3246947567695f68"}, + {file = "rpds_py-0.17.1.tar.gz", hash = "sha256:0210b2668f24c078307260bf88bdac9d6f1093635df5123789bfee4d8d7fc8e7"}, ] [[package]] @@ -2686,13 +2699,13 @@ xmlschema = "*" [[package]] name = "setuptools" -version = "69.0.2" +version = "69.0.3" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-69.0.2-py3-none-any.whl", hash = "sha256:1e8fdff6797d3865f37397be788a4e3cba233608e9b509382a2777d25ebde7f2"}, - {file = "setuptools-69.0.2.tar.gz", hash = "sha256:735896e78a4742605974de002ac60562d286fa8051a7e2299445e8e8fbb01aa6"}, + {file = "setuptools-69.0.3-py3-none-any.whl", hash = "sha256:385eb4edd9c9d5c17540511303e39a147ce2fc04bc55289c322b9e5904fe2c05"}, + {file = "setuptools-69.0.3.tar.gz", hash = "sha256:be1af57fc409f93647f2e8e4573a142ed38724b8cdd389706a867bb4efcf1e78"}, ] [package.extras] @@ -2767,17 +2780,18 @@ kidmagic = ["kid"] [[package]] name = "stripe" -version = "5.4.0" +version = "7.9.0" description = "Python bindings for the Stripe API" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=3.6" files = [ - {file = "stripe-5.4.0-py2.py3-none-any.whl", hash = "sha256:57c0da7e3b889b69ff1dbf23ac1ec5e00f665cfba069fdf0f328b83ddf4225df"}, - {file = "stripe-5.4.0.tar.gz", hash = "sha256:72bda7bf9be7528e1b97a5bbacb0716cdf6a0c9597b13fdbfa364cec3c130713"}, + {file = "stripe-7.9.0-py2.py3-none-any.whl", hash = "sha256:42b4aa5162e45f889afaa40fc1eccfb9ec551c616e1620f700c19a11ae8e62eb"}, + {file = "stripe-7.9.0.tar.gz", hash = "sha256:84e5e430835a4b0cd4fd2a57ce3853269d1db3439111cda6b6ed752e349cf4a1"}, ] [package.dependencies] requests = {version = ">=2.20", markers = "python_version >= \"3.0\""} +typing-extensions = {version = ">=4.5.0", markers = "python_version >= \"3.7\""} [[package]] name = "text-unidecode" @@ -2792,13 +2806,13 @@ files = [ [[package]] name = "tlds" -version = "2023112100" +version = "2024012300" description = "Automatically updated list of valid TLDs taken directly from IANA" optional = false python-versions = "*" files = [ - {file = "tlds-2023112100-py2.py3-none-any.whl", hash = "sha256:17341dd4c20efefecc349c3112443d217dcc405df9c33f8bcdd60e56f61b29d0"}, - {file = "tlds-2023112100.tar.gz", hash = "sha256:3adbb9e991e804e160e7b4ff09bcfe61c6a7662f5ba0bb27d78e6a2022ed8d18"}, + {file = "tlds-2024012300-py2.py3-none-any.whl", hash = "sha256:7d46a7bb9ff741e14c72d554f7945b5b3244694ee87fada69db3941afed09d14"}, + {file = "tlds-2024012300.tar.gz", hash = "sha256:521d97a4fdb8ad58c7daf68cc3a3901d5052a402ae0ac2caca06932d275bad5f"}, ] [[package]] @@ -2823,109 +2837,114 @@ telegram = ["requests"] [[package]] name = "typing-extensions" -version = "4.8.0" +version = "4.9.0" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.8.0-py3-none-any.whl", hash = "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0"}, - {file = "typing_extensions-4.8.0.tar.gz", hash = "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"}, + {file = "typing_extensions-4.9.0-py3-none-any.whl", hash = "sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd"}, + {file = "typing_extensions-4.9.0.tar.gz", hash = "sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783"}, ] [[package]] name = "tzdata" -version = "2023.3" +version = "2023.4" description = "Provider of IANA time zone data" optional = false python-versions = ">=2" files = [ - {file = "tzdata-2023.3-py2.py3-none-any.whl", hash = "sha256:7e65763eef3120314099b6939b5546db7adce1e7d6f2e179e3df563c70511eda"}, - {file = "tzdata-2023.3.tar.gz", hash = "sha256:11ef1e08e54acb0d4f95bdb1be05da659673de4acbd21bf9c69e94cc5e907a3a"}, + {file = "tzdata-2023.4-py2.py3-none-any.whl", hash = "sha256:aa3ace4329eeacda5b7beb7ea08ece826c28d761cda36e747cfbf97996d39bf3"}, + {file = "tzdata-2023.4.tar.gz", hash = "sha256:dd54c94f294765522c77399649b4fefd95522479a664a0cec87f41bebc6148c9"}, ] [[package]] name = "ujson" -version = "5.8.0" +version = "5.9.0" description = "Ultra fast JSON encoder and decoder for Python" optional = false python-versions = ">=3.8" files = [ - {file = "ujson-5.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f4511560d75b15ecb367eef561554959b9d49b6ec3b8d5634212f9fed74a6df1"}, - {file = "ujson-5.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9399eaa5d1931a0ead49dce3ffacbea63f3177978588b956036bfe53cdf6af75"}, - {file = "ujson-5.8.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4e7bb7eba0e1963f8b768f9c458ecb193e5bf6977090182e2b4f4408f35ac76"}, - {file = "ujson-5.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40931d7c08c4ce99adc4b409ddb1bbb01635a950e81239c2382cfe24251b127a"}, - {file = "ujson-5.8.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d53039d39de65360e924b511c7ca1a67b0975c34c015dd468fca492b11caa8f7"}, - {file = "ujson-5.8.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:bdf04c6af3852161be9613e458a1fb67327910391de8ffedb8332e60800147a2"}, - {file = "ujson-5.8.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:a70f776bda2e5072a086c02792c7863ba5833d565189e09fabbd04c8b4c3abba"}, - {file = "ujson-5.8.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f26629ac531d712f93192c233a74888bc8b8212558bd7d04c349125f10199fcf"}, - {file = "ujson-5.8.0-cp310-cp310-win32.whl", hash = "sha256:7ecc33b107ae88405aebdb8d82c13d6944be2331ebb04399134c03171509371a"}, - {file = "ujson-5.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:3b27a8da7a080add559a3b73ec9ebd52e82cc4419f7c6fb7266e62439a055ed0"}, - {file = "ujson-5.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:193349a998cd821483a25f5df30b44e8f495423840ee11b3b28df092ddfd0f7f"}, - {file = "ujson-5.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4ddeabbc78b2aed531f167d1e70387b151900bc856d61e9325fcdfefb2a51ad8"}, - {file = "ujson-5.8.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ce24909a9c25062e60653073dd6d5e6ec9d6ad7ed6e0069450d5b673c854405"}, - {file = "ujson-5.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:27a2a3c7620ebe43641e926a1062bc04e92dbe90d3501687957d71b4bdddaec4"}, - {file = "ujson-5.8.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2b852bdf920fe9f84e2a2c210cc45f1b64f763b4f7d01468b33f7791698e455e"}, - {file = "ujson-5.8.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:20768961a6a706170497129960762ded9c89fb1c10db2989c56956b162e2a8a3"}, - {file = "ujson-5.8.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:e0147d41e9fb5cd174207c4a2895c5e24813204499fd0839951d4c8784a23bf5"}, - {file = "ujson-5.8.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e3673053b036fd161ae7a5a33358ccae6793ee89fd499000204676baafd7b3aa"}, - {file = "ujson-5.8.0-cp311-cp311-win32.whl", hash = "sha256:a89cf3cd8bf33a37600431b7024a7ccf499db25f9f0b332947fbc79043aad879"}, - {file = "ujson-5.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:3659deec9ab9eb19e8646932bfe6fe22730757c4addbe9d7d5544e879dc1b721"}, - {file = "ujson-5.8.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:102bf31c56f59538cccdfec45649780ae00657e86247c07edac434cb14d5388c"}, - {file = "ujson-5.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:299a312c3e85edee1178cb6453645217ba23b4e3186412677fa48e9a7f986de6"}, - {file = "ujson-5.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2e385a7679b9088d7bc43a64811a7713cc7c33d032d020f757c54e7d41931ae"}, - {file = "ujson-5.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad24ec130855d4430a682c7a60ca0bc158f8253ec81feed4073801f6b6cb681b"}, - {file = "ujson-5.8.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:16fde596d5e45bdf0d7de615346a102510ac8c405098e5595625015b0d4b5296"}, - {file = "ujson-5.8.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:6d230d870d1ce03df915e694dcfa3f4e8714369cce2346686dbe0bc8e3f135e7"}, - {file = "ujson-5.8.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:9571de0c53db5cbc265945e08f093f093af2c5a11e14772c72d8e37fceeedd08"}, - {file = "ujson-5.8.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:7cba16b26efe774c096a5e822e4f27097b7c81ed6fb5264a2b3f5fd8784bab30"}, - {file = "ujson-5.8.0-cp312-cp312-win32.whl", hash = "sha256:48c7d373ff22366eecfa36a52b9b55b0ee5bd44c2b50e16084aa88b9de038916"}, - {file = "ujson-5.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:5ac97b1e182d81cf395ded620528c59f4177eee024b4b39a50cdd7b720fdeec6"}, - {file = "ujson-5.8.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2a64cc32bb4a436e5813b83f5aab0889927e5ea1788bf99b930fad853c5625cb"}, - {file = "ujson-5.8.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e54578fa8838ddc722539a752adfce9372474114f8c127bb316db5392d942f8b"}, - {file = "ujson-5.8.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9721cd112b5e4687cb4ade12a7b8af8b048d4991227ae8066d9c4b3a6642a582"}, - {file = "ujson-5.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d9707e5aacf63fb919f6237d6490c4e0244c7f8d3dc2a0f84d7dec5db7cb54c"}, - {file = "ujson-5.8.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0be81bae295f65a6896b0c9030b55a106fb2dec69ef877253a87bc7c9c5308f7"}, - {file = "ujson-5.8.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:ae7f4725c344bf437e9b881019c558416fe84ad9c6b67426416c131ad577df67"}, - {file = "ujson-5.8.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:9ab282d67ef3097105552bf151438b551cc4bedb3f24d80fada830f2e132aeb9"}, - {file = "ujson-5.8.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:94c7bd9880fa33fcf7f6d7f4cc032e2371adee3c5dba2922b918987141d1bf07"}, - {file = "ujson-5.8.0-cp38-cp38-win32.whl", hash = "sha256:bf5737dbcfe0fa0ac8fa599eceafae86b376492c8f1e4b84e3adf765f03fb564"}, - {file = "ujson-5.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:11da6bed916f9bfacf13f4fc6a9594abd62b2bb115acfb17a77b0f03bee4cfd5"}, - {file = "ujson-5.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:69b3104a2603bab510497ceabc186ba40fef38ec731c0ccaa662e01ff94a985c"}, - {file = "ujson-5.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9249fdefeb021e00b46025e77feed89cd91ffe9b3a49415239103fc1d5d9c29a"}, - {file = "ujson-5.8.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2873d196725a8193f56dde527b322c4bc79ed97cd60f1d087826ac3290cf9207"}, - {file = "ujson-5.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a4dafa9010c366589f55afb0fd67084acd8added1a51251008f9ff2c3e44042"}, - {file = "ujson-5.8.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7a42baa647a50fa8bed53d4e242be61023bd37b93577f27f90ffe521ac9dc7a3"}, - {file = "ujson-5.8.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f3554eaadffe416c6f543af442066afa6549edbc34fe6a7719818c3e72ebfe95"}, - {file = "ujson-5.8.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:fb87decf38cc82bcdea1d7511e73629e651bdec3a43ab40985167ab8449b769c"}, - {file = "ujson-5.8.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:407d60eb942c318482bbfb1e66be093308bb11617d41c613e33b4ce5be789adc"}, - {file = "ujson-5.8.0-cp39-cp39-win32.whl", hash = "sha256:0fe1b7edaf560ca6ab023f81cbeaf9946a240876a993b8c5a21a1c539171d903"}, - {file = "ujson-5.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:3f9b63530a5392eb687baff3989d0fb5f45194ae5b1ca8276282fb647f8dcdb3"}, - {file = "ujson-5.8.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:efeddf950fb15a832376c0c01d8d7713479fbeceaed1eaecb2665aa62c305aec"}, - {file = "ujson-5.8.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7d8283ac5d03e65f488530c43d6610134309085b71db4f675e9cf5dff96a8282"}, - {file = "ujson-5.8.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb0142f6f10f57598655340a3b2c70ed4646cbe674191da195eb0985a9813b83"}, - {file = "ujson-5.8.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07d459aca895eb17eb463b00441986b021b9312c6c8cc1d06880925c7f51009c"}, - {file = "ujson-5.8.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:d524a8c15cfc863705991d70bbec998456a42c405c291d0f84a74ad7f35c5109"}, - {file = "ujson-5.8.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d6f84a7a175c75beecde53a624881ff618e9433045a69fcfb5e154b73cdaa377"}, - {file = "ujson-5.8.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b748797131ac7b29826d1524db1cc366d2722ab7afacc2ce1287cdafccddbf1f"}, - {file = "ujson-5.8.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e72ba76313d48a1a3a42e7dc9d1db32ea93fac782ad8dde6f8b13e35c229130"}, - {file = "ujson-5.8.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f504117a39cb98abba4153bf0b46b4954cc5d62f6351a14660201500ba31fe7f"}, - {file = "ujson-5.8.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a8c91b6f4bf23f274af9002b128d133b735141e867109487d17e344d38b87d94"}, - {file = "ujson-5.8.0.tar.gz", hash = "sha256:78e318def4ade898a461b3d92a79f9441e7e0e4d2ad5419abed4336d702c7425"}, + {file = "ujson-5.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ab71bf27b002eaf7d047c54a68e60230fbd5cd9da60de7ca0aa87d0bccead8fa"}, + {file = "ujson-5.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7a365eac66f5aa7a7fdf57e5066ada6226700884fc7dce2ba5483538bc16c8c5"}, + {file = "ujson-5.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e015122b337858dba5a3dc3533af2a8fc0410ee9e2374092f6a5b88b182e9fcc"}, + {file = "ujson-5.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:779a2a88c53039bebfbccca934430dabb5c62cc179e09a9c27a322023f363e0d"}, + {file = "ujson-5.9.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10ca3c41e80509fd9805f7c149068fa8dbee18872bbdc03d7cca928926a358d5"}, + {file = "ujson-5.9.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4a566e465cb2fcfdf040c2447b7dd9718799d0d90134b37a20dff1e27c0e9096"}, + {file = "ujson-5.9.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:f833c529e922577226a05bc25b6a8b3eb6c4fb155b72dd88d33de99d53113124"}, + {file = "ujson-5.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b68a0caab33f359b4cbbc10065c88e3758c9f73a11a65a91f024b2e7a1257106"}, + {file = "ujson-5.9.0-cp310-cp310-win32.whl", hash = "sha256:7cc7e605d2aa6ae6b7321c3ae250d2e050f06082e71ab1a4200b4ae64d25863c"}, + {file = "ujson-5.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:a6d3f10eb8ccba4316a6b5465b705ed70a06011c6f82418b59278fbc919bef6f"}, + {file = "ujson-5.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3b23bbb46334ce51ddb5dded60c662fbf7bb74a37b8f87221c5b0fec1ec6454b"}, + {file = "ujson-5.9.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6974b3a7c17bbf829e6c3bfdc5823c67922e44ff169851a755eab79a3dd31ec0"}, + {file = "ujson-5.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5964ea916edfe24af1f4cc68488448fbb1ec27a3ddcddc2b236da575c12c8ae"}, + {file = "ujson-5.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ba7cac47dd65ff88571eceeff48bf30ed5eb9c67b34b88cb22869b7aa19600d"}, + {file = "ujson-5.9.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6bbd91a151a8f3358c29355a491e915eb203f607267a25e6ab10531b3b157c5e"}, + {file = "ujson-5.9.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:829a69d451a49c0de14a9fecb2a2d544a9b2c884c2b542adb243b683a6f15908"}, + {file = "ujson-5.9.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:a807ae73c46ad5db161a7e883eec0fbe1bebc6a54890152ccc63072c4884823b"}, + {file = "ujson-5.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8fc2aa18b13d97b3c8ccecdf1a3c405f411a6e96adeee94233058c44ff92617d"}, + {file = "ujson-5.9.0-cp311-cp311-win32.whl", hash = "sha256:70e06849dfeb2548be48fdd3ceb53300640bc8100c379d6e19d78045e9c26120"}, + {file = "ujson-5.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:7309d063cd392811acc49b5016728a5e1b46ab9907d321ebbe1c2156bc3c0b99"}, + {file = "ujson-5.9.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:20509a8c9f775b3a511e308bbe0b72897ba6b800767a7c90c5cca59d20d7c42c"}, + {file = "ujson-5.9.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b28407cfe315bd1b34f1ebe65d3bd735d6b36d409b334100be8cdffae2177b2f"}, + {file = "ujson-5.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9d302bd17989b6bd90d49bade66943c78f9e3670407dbc53ebcf61271cadc399"}, + {file = "ujson-5.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f21315f51e0db8ee245e33a649dd2d9dce0594522de6f278d62f15f998e050e"}, + {file = "ujson-5.9.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5635b78b636a54a86fdbf6f027e461aa6c6b948363bdf8d4fbb56a42b7388320"}, + {file = "ujson-5.9.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:82b5a56609f1235d72835ee109163c7041b30920d70fe7dac9176c64df87c164"}, + {file = "ujson-5.9.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:5ca35f484622fd208f55041b042d9d94f3b2c9c5add4e9af5ee9946d2d30db01"}, + {file = "ujson-5.9.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:829b824953ebad76d46e4ae709e940bb229e8999e40881338b3cc94c771b876c"}, + {file = "ujson-5.9.0-cp312-cp312-win32.whl", hash = "sha256:25fa46e4ff0a2deecbcf7100af3a5d70090b461906f2299506485ff31d9ec437"}, + {file = "ujson-5.9.0-cp312-cp312-win_amd64.whl", hash = "sha256:60718f1720a61560618eff3b56fd517d107518d3c0160ca7a5a66ac949c6cf1c"}, + {file = "ujson-5.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d581db9db9e41d8ea0b2705c90518ba623cbdc74f8d644d7eb0d107be0d85d9c"}, + {file = "ujson-5.9.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ff741a5b4be2d08fceaab681c9d4bc89abf3c9db600ab435e20b9b6d4dfef12e"}, + {file = "ujson-5.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cdcb02cabcb1e44381221840a7af04433c1dc3297af76fde924a50c3054c708c"}, + {file = "ujson-5.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e208d3bf02c6963e6ef7324dadf1d73239fb7008491fdf523208f60be6437402"}, + {file = "ujson-5.9.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4b3917296630a075e04d3d07601ce2a176479c23af838b6cf90a2d6b39b0d95"}, + {file = "ujson-5.9.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0c4d6adb2c7bb9eb7c71ad6f6f612e13b264942e841f8cc3314a21a289a76c4e"}, + {file = "ujson-5.9.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0b159efece9ab5c01f70b9d10bbb77241ce111a45bc8d21a44c219a2aec8ddfd"}, + {file = "ujson-5.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f0cb4a7814940ddd6619bdce6be637a4b37a8c4760de9373bac54bb7b229698b"}, + {file = "ujson-5.9.0-cp38-cp38-win32.whl", hash = "sha256:dc80f0f5abf33bd7099f7ac94ab1206730a3c0a2d17549911ed2cb6b7aa36d2d"}, + {file = "ujson-5.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:506a45e5fcbb2d46f1a51fead991c39529fc3737c0f5d47c9b4a1d762578fc30"}, + {file = "ujson-5.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d0fd2eba664a22447102062814bd13e63c6130540222c0aa620701dd01f4be81"}, + {file = "ujson-5.9.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bdf7fc21a03bafe4ba208dafa84ae38e04e5d36c0e1c746726edf5392e9f9f36"}, + {file = "ujson-5.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2f909bc08ce01f122fd9c24bc6f9876aa087188dfaf3c4116fe6e4daf7e194f"}, + {file = "ujson-5.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd4ea86c2afd41429751d22a3ccd03311c067bd6aeee2d054f83f97e41e11d8f"}, + {file = "ujson-5.9.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:63fb2e6599d96fdffdb553af0ed3f76b85fda63281063f1cb5b1141a6fcd0617"}, + {file = "ujson-5.9.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:32bba5870c8fa2a97f4a68f6401038d3f1922e66c34280d710af00b14a3ca562"}, + {file = "ujson-5.9.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:37ef92e42535a81bf72179d0e252c9af42a4ed966dc6be6967ebfb929a87bc60"}, + {file = "ujson-5.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f69f16b8f1c69da00e38dc5f2d08a86b0e781d0ad3e4cc6a13ea033a439c4844"}, + {file = "ujson-5.9.0-cp39-cp39-win32.whl", hash = "sha256:3382a3ce0ccc0558b1c1668950008cece9bf463ebb17463ebf6a8bfc060dae34"}, + {file = "ujson-5.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:6adef377ed583477cf005b58c3025051b5faa6b8cc25876e594afbb772578f21"}, + {file = "ujson-5.9.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ffdfebd819f492e48e4f31c97cb593b9c1a8251933d8f8972e81697f00326ff1"}, + {file = "ujson-5.9.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4eec2ddc046360d087cf35659c7ba0cbd101f32035e19047013162274e71fcf"}, + {file = "ujson-5.9.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fbb90aa5c23cb3d4b803c12aa220d26778c31b6e4b7a13a1f49971f6c7d088e"}, + {file = "ujson-5.9.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba0823cb70866f0d6a4ad48d998dd338dce7314598721bc1b7986d054d782dfd"}, + {file = "ujson-5.9.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:4e35d7885ed612feb6b3dd1b7de28e89baaba4011ecdf995e88be9ac614765e9"}, + {file = "ujson-5.9.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b048aa93eace8571eedbd67b3766623e7f0acbf08ee291bef7d8106210432427"}, + {file = "ujson-5.9.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:323279e68c195110ef85cbe5edce885219e3d4a48705448720ad925d88c9f851"}, + {file = "ujson-5.9.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9ac92d86ff34296f881e12aa955f7014d276895e0e4e868ba7fddebbde38e378"}, + {file = "ujson-5.9.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:6eecbd09b316cea1fd929b1e25f70382917542ab11b692cb46ec9b0a26c7427f"}, + {file = "ujson-5.9.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:473fb8dff1d58f49912323d7cb0859df5585cfc932e4b9c053bf8cf7f2d7c5c4"}, + {file = "ujson-5.9.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f91719c6abafe429c1a144cfe27883eace9fb1c09a9c5ef1bcb3ae80a3076a4e"}, + {file = "ujson-5.9.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b1c0991c4fe256f5fdb19758f7eac7f47caac29a6c57d0de16a19048eb86bad"}, + {file = "ujson-5.9.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a8ea0f55a1396708e564595aaa6696c0d8af532340f477162ff6927ecc46e21"}, + {file = "ujson-5.9.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:07e0cfdde5fd91f54cd2d7ffb3482c8ff1bf558abf32a8b953a5d169575ae1cd"}, + {file = "ujson-5.9.0.tar.gz", hash = "sha256:89cc92e73d5501b8a7f48575eeb14ad27156ad092c2e9fc7e3cf949f07e75532"}, ] [[package]] name = "urllib3" -version = "2.1.0" +version = "2.2.0" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.8" files = [ - {file = "urllib3-2.1.0-py3-none-any.whl", hash = "sha256:55901e917a5896a349ff771be919f8bd99aff50b79fe58fec595eb37bbc56bb3"}, - {file = "urllib3-2.1.0.tar.gz", hash = "sha256:df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54"}, + {file = "urllib3-2.2.0-py3-none-any.whl", hash = "sha256:ce3711610ddce217e6d113a2732fafad960a03fd0318c91faa79481e35c11224"}, + {file = "urllib3-2.2.0.tar.gz", hash = "sha256:051d961ad0c62a94e50ecf1af379c3aba230c66c710493493560c0c223c49f20"}, ] [package.extras] brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +h2 = ["h2 (>=4,<5)"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] zstd = ["zstandard (>=0.18.0)"] @@ -2966,13 +2985,13 @@ python-dateutil = ">=2.4.0" [[package]] name = "wcwidth" -version = "0.2.12" +version = "0.2.13" description = "Measures the displayed width of unicode strings in a terminal" optional = false python-versions = "*" files = [ - {file = "wcwidth-0.2.12-py2.py3-none-any.whl", hash = "sha256:f26ec43d96c8cbfed76a5075dac87680124fa84e0855195a6184da9c187f133c"}, - {file = "wcwidth-0.2.12.tar.gz", hash = "sha256:f01c104efdf57971bcb756f054dd58ddec5204dd15fa31d6503ea57947d97c02"}, + {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"}, + {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, ] [[package]] @@ -3085,13 +3104,13 @@ files = [ [[package]] name = "xmlschema" -version = "2.5.0" +version = "3.0.1" description = "An XML Schema validator and decoder" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "xmlschema-2.5.0-py3-none-any.whl", hash = "sha256:f2b29c45485fac414cc1fdb38d18a220c5987d7d3aa996e6df6ff35ee94d5a63"}, - {file = "xmlschema-2.5.0.tar.gz", hash = "sha256:276a03e0fd3c94c148d528bff4d9482f9b99bf8c7b4056a2e8e703d28149d454"}, + {file = "xmlschema-3.0.1-py3-none-any.whl", hash = "sha256:116243b2ad38cd2df9ee0606d4e4e898a6f156736b39ab0017e6f49862c0809e"}, + {file = "xmlschema-3.0.1.tar.gz", hash = "sha256:bb24a5f4738e49d85d9eb03a2b5af26bbbbfdb055517ad953d98925094b8c026"}, ] [package.dependencies] @@ -3250,4 +3269,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "6f50be70b30ae90c359a54d1847544a3c9156822b917add7008dafc89d3d3b4e" +content-hash = "962d1184c48af00a191965cca13e241e8c2377f16bf32b568df6c791ef0af834" diff --git a/pkgs/pretix/pretix-static.nix b/pkgs/pretix/pretix-static.nix index f97399c..984ea71 100644 --- a/pkgs/pretix/pretix-static.nix +++ b/pkgs/pretix/pretix-static.nix @@ -8,7 +8,7 @@ let nodeEnv = buildNpmPackage rec { name = "pretix-nodejs"; src = "${pretix.passthru.pythonModule.pkgs.pretix}/lib/${pretix.python.libPrefix}/site-packages/pretix/static/npm_dir"; - npmDepsHash = "sha256-lf7GTXjvz4df1GeQ6uibwwGm+gKRU/RdNEHiCJ+zF1Y="; + npmDepsHash = "sha256-J+HsQijfE+L/sa28+ISyMDgjjKvSHe3J2bOe/QYHbnc="; dontNpmBuild = true; installPhase = '' mkdir -p $out diff --git a/pkgs/pretix/pyproject.toml b/pkgs/pretix/pyproject.toml index 541b36e..2a6d6a5 100644 --- a/pkgs/pretix/pyproject.toml +++ b/pkgs/pretix/pyproject.toml @@ -7,7 +7,7 @@ license = "MIT" [tool.poetry.dependencies] python = "^3.10" -pretix = "^2023.10.0" +pretix = "^2024.1.0" [tool.poetry.dev-dependencies] From 39d5076ee618fc8ec8b5c4fdb5910bd095f0f769 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 1 Feb 2024 00:19:56 +0000 Subject: [PATCH 219/766] Add new gpg public key --- pkgs/contact-page/src/gpg/3044E71E.txt | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 pkgs/contact-page/src/gpg/3044E71E.txt diff --git a/pkgs/contact-page/src/gpg/3044E71E.txt b/pkgs/contact-page/src/gpg/3044E71E.txt new file mode 100644 index 0000000..329f049 --- /dev/null +++ b/pkgs/contact-page/src/gpg/3044E71E.txt @@ -0,0 +1,23 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mDMEZbmOERYJKwYBBAHaRw8BAQdAarCLR2RvxBnRODJY8WM98gCRbsHzXFTYTIoR +ZlmbOQe0HEpha29iIExlY2huZXIgPGphbHJAamFsci5kZT6IjgQTFgoANhYhBDBE +5x497/SbWGz1gJv0/MuQhU2pBQJluY4RAhsBBAsJCAcEFQoJCAUWAgMBAAIeBQIX +gAAKCRCb9PzLkIVNqbmFAQDG8xNgbZsZx6N2ssVC9k98IUvuKuMZQ6Gju86EsnNY +dgD/eSVRfAKCtIPSGtoLvE5zL80hk117R4f8rbMEvrmt9gm4MwRluY53FgkrBgEE +AdpHDwEBB0DRonRUQIQSfkqX7yHFHewbEYnc/spaPufL6EnSPVLvZ4j1BBgWCgAm +FiEEMETnHj3v9JtYbPWAm/T8y5CFTakFAmW5jncCGwIFCQHhM4AAgQkQm/T8y5CF +Tal2IAQZFgoAHRYhBDp0/wfiMHs2RqSZ6EYNR7hAgU8/BQJluY53AAoJEEYNR7hA +gU8/HikBAPOziBknk+WcsKODsdViFedagVgtnjW8J6mJZRKNcD2fAP4/42g9wU2i +KHKHypLlGdmgOVOpSGNcubkcPFcOOHH7AZevAQDUU/UNpIHe7R3rYq4sFT2iYa9T +ZKpmOostoAzyYOViZwD/RA2suqGyrSe96JLnxwzy3LccYgV3VwEbHDWeUTvOCAy4 +OARluY6pEgorBgEEAZdVAQUBAQdAAXZvPoXdFpBhYS8KgCeXweUMlSwsCnXmgiDh +neSFMwsDAQgHiH4EGBYKACYWIQQwROcePe/0m1hs9YCb9PzLkIVNqQUCZbmOqQIb +DAUJAeEzgAAKCRCb9PzLkIVNqbmEAQDSBggKtjGkLuYtIHBBCfBF4Dx7odOapasa +tYqZTU7twwD/VhDvRGPbTl7X7DYQ36bmyjTe6cZAj3/M0ueQhlTrJAW4MwRluY7E +FgkrBgEEAdpHDwEBB0B95fmIsa7I4c3ttAko71CuEI/wTam0zYrYJNtL7sz3o4h+ +BBgWCgAmFiEEMETnHj3v9JtYbPWAm/T8y5CFTakFAmW5jsQCGyAFCQHhM4AACgkQ +m/T8y5CFTamxRwD6A9TAs2Ac2VUQDCGgIEgUeULB2fZ1i0s0zydXctKJf7wBAL64 +utFE0ryrkFHMGY4xHMwZfvWosYH/qfLlKadnb3cK +=WgEZ +-----END PGP PUBLIC KEY BLOCK----- From 739e2b064d707d6683d6441be829a40cd3c7db10 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 4 Feb 2024 15:57:10 +0000 Subject: [PATCH 220/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/10cd9c53115061aa6a0a90aad0b0dde6a999cdb9' (2024-01-19) → 'github:nix-community/home-manager/652fda4ca6dafeb090943422c34ae9145787af37' (2024-02-03) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/f4a8d6d5324c327dcc2d863eb7f3cc06ad630df4' (2024-01-29) → 'github:nixos/nixpkgs/25e3d4c0d3591c99929b1ec07883177f6ea70c9d' (2024-02-01) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/996d064488f4bf9e61f9980790d35d5a79f64b40' (2024-01-30) → 'github:NixOS/nixpkgs/863faaacc38cd9047a1bf890033e35dd54c649e0' (2024-02-04) • Updated input 'nur': 'github:nix-community/NUR/68b210c7240de86b3639cf9542df9dcb9c504914' (2024-01-30) → 'github:nix-community/NUR/f66ad1a3a3aedd1862bc5dc1885ec348fa23f897' (2024-02-04) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/e0b44e9e2d3aa855d1dd77b06f067cd0e0c3860d' (2024-01-12) → 'github:nix-community/poetry2nix/658dc2595a7c1d269d096f43c0eb86f1708bc72b' (2024-02-04) • Updated input 'sops-nix': 'github:Mic92/sops-nix/73bf36912e31a6b21af6e0f39218e067283c67ef' (2024-01-28) → 'github:Mic92/sops-nix/23f61b897c00b66855074db471ba016e0cda20dd' (2024-02-04) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 7a06b9a..2732893 100644 --- a/flake.lock +++ b/flake.lock @@ -85,11 +85,11 @@ ] }, "locked": { - "lastModified": 1705659542, - "narHash": "sha256-WA3xVfAk1AYmFdwghT7mt/erYpsU6JPu9mdTEP/e9HQ=", + "lastModified": 1706981411, + "narHash": "sha256-cLbLPTL1CDmETVh4p0nQtvoF+FSEjsnJTFpTxhXywhQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "10cd9c53115061aa6a0a90aad0b0dde6a999cdb9", + "rev": "652fda4ca6dafeb090943422c34ae9145787af37", "type": "github" }, "original": { @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1706644812, - "narHash": "sha256-OFP4nLyzvikvdbsAxQurqdhSK79lEjlyg3VtnSsmzbw=", + "lastModified": 1707061033, + "narHash": "sha256-4c0pDEoRNzlvGEk0nUJPUVX6NCqMB1YCkw7B5GYHLTo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "996d064488f4bf9e61f9980790d35d5a79f64b40", + "rev": "863faaacc38cd9047a1bf890033e35dd54c649e0", "type": "github" }, "original": { @@ -234,11 +234,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1706515015, - "narHash": "sha256-eFfY5A7wlYy3jD/75lx6IJRueg4noE+jowl0a8lIlVo=", + "lastModified": 1706826059, + "narHash": "sha256-N69Oab+cbt3flLvYv8fYnEHlBsWwdKciNZHUbynVEOA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f4a8d6d5324c327dcc2d863eb7f3cc06ad630df4", + "rev": "25e3d4c0d3591c99929b1ec07883177f6ea70c9d", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1706643926, - "narHash": "sha256-GOBRsUCZ3a9GgaLvbm2wpmsnZGY41IvEp9C3rQLXaTI=", + "lastModified": 1707060527, + "narHash": "sha256-85kLh6Pu3DHsZCSZTb4tXSNa36nrRBA63T/2CxGBmdo=", "owner": "nix-community", "repo": "NUR", - "rev": "68b210c7240de86b3639cf9542df9dcb9c504914", + "rev": "f66ad1a3a3aedd1862bc5dc1885ec348fa23f897", "type": "github" }, "original": { @@ -276,11 +276,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1705060653, - "narHash": "sha256-puYyylgrBS4AFAHeyVRTjTUVD8DZdecJfymWJe7H438=", + "lastModified": 1707047877, + "narHash": "sha256-5v8oizzm8iGl+6yTejn70CmWfR+JPGsbPdzUw2hd6gk=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "e0b44e9e2d3aa855d1dd77b06f067cd0e0c3860d", + "rev": "658dc2595a7c1d269d096f43c0eb86f1708bc72b", "type": "github" }, "original": { @@ -311,11 +311,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1706410821, - "narHash": "sha256-iCfXspqUOPLwRobqQNAQeKzprEyVowLMn17QaRPQc+M=", + "lastModified": 1707015547, + "narHash": "sha256-YZr0OrqWPdbwBhxpBu69D32ngJZw8AMgZtJeaJn0e94=", "owner": "Mic92", "repo": "sops-nix", - "rev": "73bf36912e31a6b21af6e0f39218e067283c67ef", + "rev": "23f61b897c00b66855074db471ba016e0cda20dd", "type": "github" }, "original": { From 44b6af06b93aafef8d137de996a36c1e07d866f0 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 4 Feb 2024 17:00:08 +0000 Subject: [PATCH 221/766] Fix invalid default scheme assignment --- home-manager/modules/dynamic-colors.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/modules/dynamic-colors.nix b/home-manager/modules/dynamic-colors.nix index 233497d..2b2fc27 100644 --- a/home-manager/modules/dynamic-colors.nix +++ b/home-manager/modules/dynamic-colors.nix @@ -79,7 +79,7 @@ let if scheme is None: if target.exists(): continue - scheme = entry[DEFAULT_SCHEME] + scheme = DEFAULT_SCHEME else: if target.exists() and target.is_symlink: os.remove(target) From f18126b6afce9ac40f7a0e88602544ef911b49b6 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 4 Feb 2024 17:00:35 +0000 Subject: [PATCH 222/766] Ignore configs that don't exist --- home-manager/modules/dynamic-colors.nix | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/home-manager/modules/dynamic-colors.nix b/home-manager/modules/dynamic-colors.nix index 2b2fc27..1aa2c47 100644 --- a/home-manager/modules/dynamic-colors.nix +++ b/home-manager/modules/dynamic-colors.nix @@ -89,7 +89,10 @@ let 'dark': entry['dark'], }[scheme] - os.symlink(src, target) + try: + os.symlink(src, target) + except FileNotFoundError: + pass if entry.get('exec') is not None: command, *args = entry["exec"] @@ -102,10 +105,13 @@ let for arg in args ] print(command, *args) - subprocess.run( - (command, *args), - cwd=directory - ) + try: + subprocess.run( + (command, *args), + cwd=directory + ) + except FileNotFoundError: + pass if __name__ == '__main__': From d8da8bd96f51404945d395514629e120137512da Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 10 Feb 2024 14:23:08 +0000 Subject: [PATCH 223/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/7c54e08a689b53c8a1e5d70169f2ec9e2a68ffaf' (2024-01-28) → 'github:cachix/pre-commit-hooks.nix/0db2e67ee49910adfa13010e7f012149660af7f0' (2024-02-07) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/25e3d4c0d3591c99929b1ec07883177f6ea70c9d' (2024-02-01) → 'github:nixos/nixpkgs/6832d0d99649db3d65a0e15fa51471537b2c56a6' (2024-02-07) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/863faaacc38cd9047a1bf890033e35dd54c649e0' (2024-02-04) → 'github:NixOS/nixpkgs/2253eb356824637e3aa49bb399f546336efeaad1' (2024-02-10) • Updated input 'nur': 'github:nix-community/NUR/f66ad1a3a3aedd1862bc5dc1885ec348fa23f897' (2024-02-04) → 'github:nix-community/NUR/d52b9e3d55a8ec67a0fd08dce7a511a670d5d99a' (2024-02-10) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/658dc2595a7c1d269d096f43c0eb86f1708bc72b' (2024-02-04) → 'github:nix-community/poetry2nix/4eb2ac54029af42a001c9901194e9ce19cbd8a40' (2024-02-06) • Updated input 'sops-nix': 'github:Mic92/sops-nix/23f61b897c00b66855074db471ba016e0cda20dd' (2024-02-04) → 'github:Mic92/sops-nix/2168851d58595431ee11ebfc3a49d60d318b7312' (2024-02-08) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/9a333eaa80901efe01df07eade2c16d183761fa3' (2024-01-22) → 'github:NixOS/nixpkgs/bc6cb3d59b7aab88e967264254f8c1aa4c0284e9' (2024-02-08) --- flake.lock | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/flake.lock b/flake.lock index 2732893..1089237 100644 --- a/flake.lock +++ b/flake.lock @@ -154,11 +154,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1706424699, - "narHash": "sha256-Q3RBuOpZNH2eFA1e+IHgZLAOqDD9SKhJ/sszrL8bQD4=", + "lastModified": 1707297608, + "narHash": "sha256-ADjo/5VySGlvtCW3qR+vdFF4xM9kJFlRDqcC9ZGI8EA=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "7c54e08a689b53c8a1e5d70169f2ec9e2a68ffaf", + "rev": "0db2e67ee49910adfa13010e7f012149660af7f0", "type": "github" }, "original": { @@ -202,27 +202,27 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1705957679, - "narHash": "sha256-Q8LJaVZGJ9wo33wBafvZSzapYsjOaNjP/pOnSiKVGHY=", + "lastModified": 1707391491, + "narHash": "sha256-TyDXcq8Z3slMNeyeF+ke0BzISWuM6NrBklr7XyiRbZA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9a333eaa80901efe01df07eade2c16d183761fa3", + "rev": "bc6cb3d59b7aab88e967264254f8c1aa4c0284e9", "type": "github" }, "original": { "owner": "NixOS", - "ref": "release-23.05", + "ref": "release-23.11", "repo": "nixpkgs", "type": "github" } }, "nixpkgsMaster": { "locked": { - "lastModified": 1707061033, - "narHash": "sha256-4c0pDEoRNzlvGEk0nUJPUVX6NCqMB1YCkw7B5GYHLTo=", + "lastModified": 1707574216, + "narHash": "sha256-jPz3FmuVF5XVqDkOucyJ78KB6cwsQyR0kKzT+po+x4c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "863faaacc38cd9047a1bf890033e35dd54c649e0", + "rev": "2253eb356824637e3aa49bb399f546336efeaad1", "type": "github" }, "original": { @@ -234,11 +234,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1706826059, - "narHash": "sha256-N69Oab+cbt3flLvYv8fYnEHlBsWwdKciNZHUbynVEOA=", + "lastModified": 1707347730, + "narHash": "sha256-0etC/exQIaqC9vliKhc3eZE2Mm2wgLa0tj93ZF/egvM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "25e3d4c0d3591c99929b1ec07883177f6ea70c9d", + "rev": "6832d0d99649db3d65a0e15fa51471537b2c56a6", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1707060527, - "narHash": "sha256-85kLh6Pu3DHsZCSZTb4tXSNa36nrRBA63T/2CxGBmdo=", + "lastModified": 1707565398, + "narHash": "sha256-cuNdIPwqo2LaOWxvmCeUb1I0UAGFavT8bvUf2O7eJVo=", "owner": "nix-community", "repo": "NUR", - "rev": "f66ad1a3a3aedd1862bc5dc1885ec348fa23f897", + "rev": "d52b9e3d55a8ec67a0fd08dce7a511a670d5d99a", "type": "github" }, "original": { @@ -276,11 +276,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1707047877, - "narHash": "sha256-5v8oizzm8iGl+6yTejn70CmWfR+JPGsbPdzUw2hd6gk=", + "lastModified": 1707195113, + "narHash": "sha256-xPFxTMe4rKE/ZWLlOWv22qpGwpozpR+U1zhyf1040Zk=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "658dc2595a7c1d269d096f43c0eb86f1708bc72b", + "rev": "4eb2ac54029af42a001c9901194e9ce19cbd8a40", "type": "github" }, "original": { @@ -311,11 +311,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1707015547, - "narHash": "sha256-YZr0OrqWPdbwBhxpBu69D32ngJZw8AMgZtJeaJn0e94=", + "lastModified": 1707397511, + "narHash": "sha256-pYqXcTjcPC/go3FzT1dYtYsbmzAjO1MHhT/xgiI6J7o=", "owner": "Mic92", "repo": "sops-nix", - "rev": "23f61b897c00b66855074db471ba016e0cda20dd", + "rev": "2168851d58595431ee11ebfc3a49d60d318b7312", "type": "github" }, "original": { From bc9e106d8a2fabde8f0bcf982ae935e3d7833dde Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 10 Feb 2024 14:33:08 +0000 Subject: [PATCH 224/766] Disable IPv6 for Postfix smtp My provider does not allow to set reverse DNS and therefore, other mail servers don't accept my mail. Let's just disable IPv6 for now. --- hosts/iron/services/mail.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/hosts/iron/services/mail.nix b/hosts/iron/services/mail.nix index 4ed06b9..9d83681 100644 --- a/hosts/iron/services/mail.nix +++ b/hosts/iron/services/mail.nix @@ -31,11 +31,16 @@ in messageSizeLimit = 50 * 1024 * 1024; }; }; - services.postfix.config = { - smtp_bind_address = "159.69.103.126"; - smtp_bind_address_enforce = true; + services.postfix = { + config = { + smtp_bind_address = "159.69.103.126"; + smtp_bind_address_enforce = true; + }; + masterConfig.smtp_inet.args = [ + "-o" + "inet_protocols=ipv4" + ]; }; - security.acme.certs."hha.jalr.de" = { dnsProvider = "hetzner"; credentialsFile = pkgs.writeText "certbotCredentialsFile" "HETZNER_API_KEY_FILE=${config.sops.secrets.hetzner-api-key.path}"; From 839631035850c690098fe88ce84320da6c47b49f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 16 Feb 2024 21:09:14 +0000 Subject: [PATCH 225/766] Add bathroom mirror --- hosts/iron/secrets.yaml | 6 +- .../services/esphome/devices/badspiegel.yaml | 115 ++++++++++++++++++ hosts/iron/services/home-assistant.nix | 2 + 3 files changed, 120 insertions(+), 3 deletions(-) create mode 100644 hosts/iron/services/esphome/devices/badspiegel.yaml diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index f5dfd67..ca2cb55 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -9,7 +9,7 @@ dkim-keys: radicale-htpasswd: ENC[AES256_GCM,data:Q0WnleP9I4xozsL/H+5oV3Ag7khfalV40A6ub+DA07U8UKna3/ju533RmjWOnETzSNa6XK140nfCcfGZCiqGyF9tfuuXcKFu+j4=,iv:87PSvHyKF7QUQZmEuxM+IT0VKSGnS0MjoUmCqJ+6tzI=,tag:yrP3TgxE8aSZf0MrCF9dsQ==,type:str] synapse-turn-shared-secret: ENC[AES256_GCM,data:Q1XRds3Zud1kYkvD6s9WUzP+kNDNsxB5SHd6oCAaLCHhHhYENSAYTZOF+rGjCPNyKFL0e/A=,iv:zScRQrz+pXHNUh/BGOaV+TVnDR3wu1Z/UO1zXarKwtA=,tag:ckpVziE+yb0FjctcT7tAkg==,type:str] rmfakecloud: ENC[AES256_GCM,data:ktKBKb6cRv1VF8tRvXIpxIy9hPinVPKK05mgvYzz18PEdcrCLpldm5xf7ffHtY5XzDOAMXDCiz6x4xyv7071frrF0spOEPnIzVhxwG8H2Ck=,iv:qJdHjv0RziAs4G9UGeRwGQ4GE5kaObJWpIYWpRKhr9c=,tag:PXgvU1hZK/gvWGyFJaHekg==,type:str] -esphome: ENC[AES256_GCM,data:u8fNhi3J2wEJ6uxYT5LfYzktnmhTuHX4Tundu8iPxstFHkk7eF4HjlZi7KWmSZSFNqZqCRQ/Kksmtylc5LxGvVUAgwr4fUu9qBns3UbwwdrOrenefrcDZDq2Z2VjNtIHK2CbmqmDoodZy7JWgezY8ZzEjqcpv+btZ/91+ApM/5Q81gxcbFWMmurOp/yl0LSaCVu4sE7L60IstZisJMtmJ/YTY6KYop6TMuwUUDwVa5kgqzxLJWc0MEDt7rSutqVd7ryGzacvcaC4HcOcbVHVNc5tCqELBxExV4zd56rK2RLfBtDJVX7S3h+deWmNg6IMnPkAtgaer0QT8x4BIhbj8r7S2lcWDF1r1V2aZQ33mXbiuMlDVdmHliMnKpY+QIVLLtC0xNofRKixD+S1zmsjqQTJaMZO76dk8dRrZ+mnDPjDdLjT6687YPOeRuIAzLYhJrgyvQdE+SBgx0B71L/Q0Jp2joO4esx0iWwa8A6h8WZMulO1CGQpRfhI5GABz/sJtSm1pkZbxHJnhKXxAV3KiAP3RH673xkdo3Wmn1Q7RsOVsogXodYd4klmSgAszvF0eBl/pazCgfErI6ReNIr7cUGYd82Ub0gveSvPzqCPGJMkxwZ51QOUKI/pvw4pywolpH1JN5edPfoepVvbrrk/TD8X0Dd6YKOWuzjZ8LsuM1znqywwGh5BGvWzSpK1JZcYJG4Na5LFHgniyOuL6y6aANXSW6TBuehNwNEHkbm2GOjpxy3Ml5nWwQLkkD2wEdSU0/MW23rr6cOVUOrYiZvxip8l5Nf5Cl/JTLGaepRJaMBkTZj4G5x+r4zqOTBsbcEG8eiPAZG5uIxxVYo=,iv:U1srWrPW11lz/UYFW7Z9apla+ShH7W/QzDiw+evfcXg=,tag:1dxPp+m2O6xSyAZEsSf0dw==,type:str] +esphome: ENC[AES256_GCM,data:deY5RdItnZt7iJzSiHWvduRWqLTPt5ep70k/oLMjSanqYgAdWV/bGvod3I4bF2HdZymZjmeeGYo6lJCxJ7PwEfzhUGG6626wHhJ5VlfVThwqZ3mXkENdl/+aDyMtaxfaLTn3ygPewG/lAMY8Wn9beCTt4J6te5HlmHSp0VcFvLNl/m6F7nMdd1r1oaubvW7TPPe1+1jkpqphfd56bGYeEQArNEUCeCaXdtPCNZA/aEHZIYmmixuECdzTFTOreHBtG0pFMuAFrVsS3EZxMmnoMhAPrkhML2MSQnXLM2FGPd/FfeQzi9AMmiUqv55YGsJkuNXJs9x6ouU+JsjP876owFIKhB5VEEZAw9cqv/OFdjGboW2akjchZ5HROaofLfHjlVKy1PQwzbVwb8igHZE9PIFbk9O0Jb5fawoe9L9xp0jI6XrnHkgOFhv65uxogzYLFnMvTR8ZFJ02HPNGCh+eQECa5iuzTRb3OWCYls6si7RKGZgu1tE3HADVhqk6ViHckJLnlT1YABmnxoQiKovz1UIOE39e5Wl9m0XGC6OME37bJuSM3Sk24BBHQ36t3IverN3W9bhyhIQe4hw7PXuBVDCu4FJi1PDjmJwRWAWf5+BC1SFigSWDzunI55sX8zWCko9b75BKZoFfxKZminhFYwKTdtRdhbKPK8CIa9FcVf2eDmykhMvMmKVIm74d4yEXHjKt8Yww0x8TKEcqWIobMyPqlixpShaa7c73JgPfzkN0LYK4Da1Y+5MpZdUUypCe+R+Jwg/ROXZpGgwK7LFA2JHS71dq7nysHn5WhHFREPdVF558iiiOALCdMnvdUT6fU748Hx+KijYUl2Kax09l9sRkRsuCj7LRJ+ARDY/v8NlQJeXRIsyosg//DvejNJ5F7oMJK+H/sblTfCoY6SLp1WHAhywW6c5uBsGm1xLsdecfWok3sVv2qjQ5l2FPMvlXdp/0/RjxhLnvVYVTWzw=,iv:5Yybvm1eHbdJop6fGRmaW3Tnie3KHv21zVdWBZCUntA=,tag:7WDHLXkzWS8Dfs79u4Ur2A==,type:str] sops: kms: [] gcp_kms: [] @@ -25,8 +25,8 @@ sops: SU1USkxFUUY2NVhmUHBhZkdrNDR1Q0kKiXIicInELRjDR3tuyA+lnXeCcd9lYvbV GnBRGPM7BNO/6AA7HhAei48Kt+XE6+jQX66yTXyviKhK7Lpjrlb2YQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-01-12T02:04:19Z" - mac: ENC[AES256_GCM,data:pXHs+ucPNr+v/x3R2Jb+1zxnHdAeSneT+6lt20eLhjvcMQIFckYXFxc0eOMnV00jTWb+vyz6g5zHsg9+kv+xm/xBHozw9sRJi01Ni+AR/ZLSbVDa6NiMyu536MrA1TeD3iZrxgmpDTuxsChdETz0mmPyEPOMT29seWYlhzI/++o=,iv:2guaerRyQj6qz9Dyo2HbC/dXUA6cuAA+yuDwbUDCcK8=,tag:HcVT4KdLCyjwtWP24JVfhg==,type:str] + lastmodified: "2024-02-12T23:53:31Z" + mac: ENC[AES256_GCM,data:11gj3hKXjXDW27rbLCmIKExJdVnDUJbdPiQxzYGlk4FSxviIbCWdTEQ5VN4r8y/GxehVO757010jxu8u/kKR0MU3BFDkVyxh4Qv7LoUisrj7/8uJawOlmlEdykTxTgW+Q1yxy2mhK3t6D2+f9rNKYCmJhazHXJN9cuhiL1xXwcQ=,iv:OQfy2FQRw+SuXjDn2Woi66BI+cRkv1i0nnTaga4iLH8=,tag:j+fKWVttetoKaHwGRJ8Dmw==,type:str] pgp: - created_at: "2024-01-31T01:20:30Z" enc: |- diff --git a/hosts/iron/services/esphome/devices/badspiegel.yaml b/hosts/iron/services/esphome/devices/badspiegel.yaml new file mode 100644 index 0000000..9f8989c --- /dev/null +++ b/hosts/iron/services/esphome/devices/badspiegel.yaml @@ -0,0 +1,115 @@ +esphome: + name: "badspiegel" + friendly_name: "Badspiegel" + platformio_options: + board_build.flash_mode: dio + on_boot: + then: + - light.turn_on: + id: front_light + brightness: 30% + color_temperature: 2700 K + - light.turn_on: + id: background_light + brightness: 20% + color_temperature: 2700 K + +esp32: + board: wemos_d1_uno32 + framework: + type: arduino + version: recommended + platform_version: 5.4.0 + +logger: + +api: + encryption: + key: !secret apikey_badspiegel + +ota: + password: !secret otapass_badspiegel + +wifi: + ssid: !secret wifi_ssid_bw + password: !secret wifi_password_bw + domain: .iot.bw.jalr.de + power_save_mode: none + enable_on_boot: True + fast_connect: On + output_power: 8.5 + +output: + - platform: ledc + pin: GPIO17 + id: output_background_warm + - platform: ledc + pin: GPIO25 + id: output_background_cold + - platform: ledc + pin: GPIO16 + id: output_front_warm + - platform: ledc + pin: GPIO26 + id: output_front_cold + +light: + - platform: cwww + name: "Background light" + id: background_light + cold_white: output_background_cold + warm_white: output_background_warm + cold_white_color_temperature: 6500 K + warm_white_color_temperature: 2700 K + constant_brightness: true + gamma_correct: 0 + - platform: cwww + name: "Front light" + id: front_light + cold_white: output_front_cold + warm_white: output_front_warm + cold_white_color_temperature: 6500 K + warm_white_color_temperature: 2700 K + constant_brightness: true + gamma_correct: 0 + +switch: + - platform: gpio + name: "Heating" + id: heating + pin: GPIO2 + icon: "mdi:thermometer" + - platform: gpio + name: "Soundsystem" + id: soundsystem + pin: GPIO4 + icon: "mdi:speaker" + +esp32_touch: +# setup_mode: true + +binary_sensor: +# ESP32 touch pins: 4, 13, 27, 32, 33 +# - platform: esp32_touch +# name: "touch pad GPIO13" +# pin: GPIO13 +# threshold: 1000 +# on_press: +# internal: true + - platform: esp32_touch + name: "touch pad GPIO12" + pin: GPIO12 + threshold: 900 + on_press: + then: + - light.toggle: + id: front_light + internal: true + - platform: esp32_touch + name: "touch pad GPIO14" + pin: GPIO14 + threshold: 900 + on_press: + then: + - light.toggle: + id: background_light diff --git a/hosts/iron/services/home-assistant.nix b/hosts/iron/services/home-assistant.nix index 27d40ac..e2c2f0e 100644 --- a/hosts/iron/services/home-assistant.nix +++ b/hosts/iron/services/home-assistant.nix @@ -83,6 +83,8 @@ in "light.eingang_deckenleuchte_deckenleuchte" "light.led_panel_schreibtisch_panel" "light.kueche_leiste_led_light" + "light.badspiegel_background_light" + "light.badspiegel_front_light" ]; min_brightness = 20; } From 5a66fae01b51f4bd93c551457683dca822733440 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 16 Feb 2024 21:09:40 +0000 Subject: [PATCH 226/766] Increase current --- .../esphome/devices/chinafrickeldeckenleuchte.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/hosts/iron/services/esphome/devices/chinafrickeldeckenleuchte.yaml b/hosts/iron/services/esphome/devices/chinafrickeldeckenleuchte.yaml index 371d9fe..f6b783b 100644 --- a/hosts/iron/services/esphome/devices/chinafrickeldeckenleuchte.yaml +++ b/hosts/iron/services/esphome/devices/chinafrickeldeckenleuchte.yaml @@ -13,23 +13,23 @@ output: - platform: bp5758d id: output_ch1 channel: 1 - current: 20 + current: 60 - platform: bp5758d id: output_ch2 channel: 2 - current: 20 + current: 60 - platform: bp5758d id: output_ch3 channel: 3 - current: 20 + current: 60 - platform: bp5758d id: output_ch4 channel: 4 - current: 20 + current: 60 - platform: bp5758d id: output_ch5 channel: 5 - current: 20 + current: 60 light: - platform: rgbww From cc48b41153f52b2e91ee61cc06a4b136b69823d1 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 16 Feb 2024 21:10:07 +0000 Subject: [PATCH 227/766] Add toggle button --- .../services/esphome/devices/kueche-leiste.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/hosts/iron/services/esphome/devices/kueche-leiste.yaml b/hosts/iron/services/esphome/devices/kueche-leiste.yaml index cffa6b8..a5189db 100644 --- a/hosts/iron/services/esphome/devices/kueche-leiste.yaml +++ b/hosts/iron/services/esphome/devices/kueche-leiste.yaml @@ -61,3 +61,18 @@ sensor: humidity: name: "Living Room Humidity" update_interval: 60s + +binary_sensor: + - platform: gpio + pin: + number: GPIO6 + mode: + input: true + pullup: true + inverted: true + name: "Physical Power Button" + on_press: + then: + - light.toggle: + id: led_light + internal: True From a6cdef851890c677df2cf9c74407aa565dd2730a Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 19 Feb 2024 15:20:33 +0000 Subject: [PATCH 228/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/0db2e67ee49910adfa13010e7f012149660af7f0' (2024-02-07) → 'github:cachix/pre-commit-hooks.nix/5df5a70ad7575f6601d91f0efec95dd9bc619431' (2024-02-15) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/6832d0d99649db3d65a0e15fa51471537b2c56a6' (2024-02-07) → 'github:nixos/nixpkgs/84d981bae8b5e783b3b548de505b22880559515f' (2024-02-17) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/2253eb356824637e3aa49bb399f546336efeaad1' (2024-02-10) → 'github:NixOS/nixpkgs/090f90c92fea282f11c9f33624b17a14a6087a28' (2024-02-19) • Updated input 'nur': 'github:nix-community/NUR/d52b9e3d55a8ec67a0fd08dce7a511a670d5d99a' (2024-02-10) → 'github:nix-community/NUR/0746498eec8c0a0b2ac98fe835d6af996b719531' (2024-02-19) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/4eb2ac54029af42a001c9901194e9ce19cbd8a40' (2024-02-06) → 'github:nix-community/poetry2nix/403d923ea8e2e6cedce3a0f04a9394c4244cb806' (2024-02-17) • Updated input 'sops-nix': 'github:Mic92/sops-nix/2168851d58595431ee11ebfc3a49d60d318b7312' (2024-02-08) → 'github:Mic92/sops-nix/ffed177a9d2c685901781c3c6c9024ae0ffc252b' (2024-02-18) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/bc6cb3d59b7aab88e967264254f8c1aa4c0284e9' (2024-02-08) → 'github:NixOS/nixpkgs/69405156cffbdf2be50153f13cbdf9a0bea38e49' (2024-02-17) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 1089237..d732f65 100644 --- a/flake.lock +++ b/flake.lock @@ -154,11 +154,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1707297608, - "narHash": "sha256-ADjo/5VySGlvtCW3qR+vdFF4xM9kJFlRDqcC9ZGI8EA=", + "lastModified": 1708018599, + "narHash": "sha256-M+Ng6+SePmA8g06CmUZWi1AjG2tFBX9WCXElBHEKnyM=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "0db2e67ee49910adfa13010e7f012149660af7f0", + "rev": "5df5a70ad7575f6601d91f0efec95dd9bc619431", "type": "github" }, "original": { @@ -202,11 +202,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1707391491, - "narHash": "sha256-TyDXcq8Z3slMNeyeF+ke0BzISWuM6NrBklr7XyiRbZA=", + "lastModified": 1708210246, + "narHash": "sha256-Q8L9XwrBK53fbuuIFMbjKvoV7ixfLFKLw4yV+SD28Y8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bc6cb3d59b7aab88e967264254f8c1aa4c0284e9", + "rev": "69405156cffbdf2be50153f13cbdf9a0bea38e49", "type": "github" }, "original": { @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1707574216, - "narHash": "sha256-jPz3FmuVF5XVqDkOucyJ78KB6cwsQyR0kKzT+po+x4c=", + "lastModified": 1708355737, + "narHash": "sha256-gnvsgW5EHnpfMhVAGtjZyXOCZVIg3e3kMqGOzZdPkDE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2253eb356824637e3aa49bb399f546336efeaad1", + "rev": "090f90c92fea282f11c9f33624b17a14a6087a28", "type": "github" }, "original": { @@ -234,11 +234,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1707347730, - "narHash": "sha256-0etC/exQIaqC9vliKhc3eZE2Mm2wgLa0tj93ZF/egvM=", + "lastModified": 1708161998, + "narHash": "sha256-6KnemmUorCvlcAvGziFosAVkrlWZGIc6UNT9GUYr0jQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6832d0d99649db3d65a0e15fa51471537b2c56a6", + "rev": "84d981bae8b5e783b3b548de505b22880559515f", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1707565398, - "narHash": "sha256-cuNdIPwqo2LaOWxvmCeUb1I0UAGFavT8bvUf2O7eJVo=", + "lastModified": 1708353184, + "narHash": "sha256-BdSI+j49fZmMD9to0Har0wRvkN14x2Ipzipu6cQfp2A=", "owner": "nix-community", "repo": "NUR", - "rev": "d52b9e3d55a8ec67a0fd08dce7a511a670d5d99a", + "rev": "0746498eec8c0a0b2ac98fe835d6af996b719531", "type": "github" }, "original": { @@ -276,11 +276,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1707195113, - "narHash": "sha256-xPFxTMe4rKE/ZWLlOWv22qpGwpozpR+U1zhyf1040Zk=", + "lastModified": 1708175019, + "narHash": "sha256-B7wY2pNrLc3X9uYRo1LUmVzI6oH6fX8oi+96GdUpayU=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "4eb2ac54029af42a001c9901194e9ce19cbd8a40", + "rev": "403d923ea8e2e6cedce3a0f04a9394c4244cb806", "type": "github" }, "original": { @@ -311,11 +311,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1707397511, - "narHash": "sha256-pYqXcTjcPC/go3FzT1dYtYsbmzAjO1MHhT/xgiI6J7o=", + "lastModified": 1708225343, + "narHash": "sha256-Q0uVUOfumc1DcKsIJIfMCHph08MjkOvZxvPb/Vi8hWw=", "owner": "Mic92", "repo": "sops-nix", - "rev": "2168851d58595431ee11ebfc3a49d60d318b7312", + "rev": "ffed177a9d2c685901781c3c6c9024ae0ffc252b", "type": "github" }, "original": { From 98498cdf77ee79400e31b325657d9b4571a86b89 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 19 Feb 2024 15:25:56 +0000 Subject: [PATCH 229/766] Include automations and scenes --- hosts/iron/services/home-assistant.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/hosts/iron/services/home-assistant.nix b/hosts/iron/services/home-assistant.nix index e2c2f0e..1bce8db 100644 --- a/hosts/iron/services/home-assistant.nix +++ b/hosts/iron/services/home-assistant.nix @@ -89,7 +89,7 @@ in min_brightness = 20; } ]; - automation = [ + "automation nix" = [ { alias = "Waschmaschine fertig Benachrichtigung"; trigger = { @@ -108,9 +108,18 @@ in ]; } ]; + "automation ui" = "!include automations.yaml"; + "scene nix" = [ + ]; + "scene ui" = "!include scenes.yaml"; }; }; + systemd.tmpfiles.rules = [ + "f ${config.services.home-assistant.configDir}/automations.yaml 0755 hass hass" + "f ${config.services.home-assistant.configDir}/scenes.yaml 0755 hass hass" + ]; + services.nginx.virtualHosts."hass.jalr.de" = { enableACME = true; forceSSL = true; From 9bd6400f3957ca1a86630ec848d9daa1f2fc9649 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 19 Feb 2024 15:31:10 +0000 Subject: [PATCH 230/766] Change controller to ESP32C3 --- .../devices/led-panel-schreibtisch.yaml | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/hosts/iron/services/esphome/devices/led-panel-schreibtisch.yaml b/hosts/iron/services/esphome/devices/led-panel-schreibtisch.yaml index a58e7e5..8440bd6 100644 --- a/hosts/iron/services/esphome/devices/led-panel-schreibtisch.yaml +++ b/hosts/iron/services/esphome/devices/led-panel-schreibtisch.yaml @@ -1,6 +1,8 @@ esphome: name: "led-panel-schreibtisch" friendly_name: "LED Panel Schreibtisch" + platformio_options: + board_build.flash_mode: dio on_boot: then: - light.turn_on: @@ -20,31 +22,34 @@ wifi: ssid: !secret wifi_ssid_bw password: !secret wifi_password_bw domain: .iot.bw.jalr.de + power_save_mode: none + enable_on_boot: True + fast_connect: On + output_power: 8.5 esp32: - board: wemos_d1_uno32 + board: esp32-c3-devkitm-1 + variant: ESP32C3 framework: - type: arduino - version: recommended - platform_version: 5.4.0 + type: esp-idf logger: output: - platform: ledc - pin: GPIO16 + pin: GPIO1 id: output_warm power_supply: power frequency: 2kHz - platform: ledc - pin: GPIO17 + pin: GPIO3 id: output_cold power_supply: power frequency: 2kHz power_supply: - id: power - pin: GPIO25 + pin: GPIO0 enable_time: 0s keep_on_time: 0s From 761831fdbed1dd20240c75b53cbf2e0a7cf63fc7 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 19 Feb 2024 15:33:09 +0000 Subject: [PATCH 231/766] Use rsync to manage esphome config directory esphome tries to write build outputs to /nix/store which of course does not work as it is read-only. --- hosts/iron/services/esphome/default.nix | 34 +++++-------------------- 1 file changed, 6 insertions(+), 28 deletions(-) diff --git a/hosts/iron/services/esphome/default.nix b/hosts/iron/services/esphome/default.nix index 05b07d5..3914464 100644 --- a/hosts/iron/services/esphome/default.nix +++ b/hosts/iron/services/esphome/default.nix @@ -14,8 +14,6 @@ let mkdir $out cp -r * $out ln -snf "${config.sops.secrets.esphome.path}" "$out/secrets.yaml" - ln -snf "${stateDir}/.esphome" "$out/.esphome" - ln -snf "${stateDir}/.gitignore" "$out/.gitignore" ''; }; esphomeParams = @@ -35,39 +33,19 @@ in enable = true; address = "127.0.0.1"; port = ports.esphome.tcp; - /* - package = pkgs.esphome.overrideAttrs (o: o // { - propagatedBuildInputs = (o.propagatedBuildInputs or []) ++ [ - pkgs.gcc + package = pkgs.esphome.overrideAttrs (attrs: { + makeWrapperArgs = attrs.makeWrapperArgs ++ [ + "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ pkgs.stdenv.cc.cc.lib ]}" ]; - makeWrapperArgs = [ - # platformio is used in esphomeyaml/platformio_api.py - # esptool is used in esphomeyaml/__main__.py - # git is used in esphomeyaml/writer.py - "--prefix PATH : ${lib.makeBinPath (with pkgs; [ platformio esptool_3 git gcc])}" - "--set ESPHOME_USE_SUBPROCESS ''" - ]; - }); - */ - }; - - systemd.services.esphome.serviceConfig = { - WorkingDirectory = lib.mkForce cfgdir; - ExecStart = lib.mkForce "${cfg.package}/bin/esphome dashboard ${esphomeParams} ${cfgdir}"; - /* - Environment = [ - "NIX_LD=/nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib/ld-linux-x86-64.so.2" - "NIX_LD_LIBRARY_PATH=/nix/store/myw67gkgayf3s2mniij7zwd79lxy8v0k-gcc-12.3.0-lib/lib" - ]; - */ + }); }; system.activationScripts.esphome-custom = { deps = [ "users" "groups" ]; text = '' mkdir -p "${stateDir}/.esphome" - touch "${stateDir}/.gitignore" - chown esphome:esphome "${stateDir}/.esphome" "${stateDir}/.gitignore" + ${pkgs.rsync}/bin/rsync -a --delete "${cfgdir}/" "${stateDir}/" + chown esphome:esphome "${stateDir}/" ''; }; } From 88a53b42b6b13529be9a9fd3fb62977b6813c8bb Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 19 Feb 2024 17:06:15 +0000 Subject: [PATCH 232/766] Add Digitaler Dienst email account --- home-manager/users/jalr.nix | 67 ++++++++++++++++++++++++++----------- 1 file changed, 47 insertions(+), 20 deletions(-) diff --git a/home-manager/users/jalr.nix b/home-manager/users/jalr.nix index dca1e9a..4428902 100644 --- a/home-manager/users/jalr.nix +++ b/home-manager/users/jalr.nix @@ -68,30 +68,57 @@ tig ]; - accounts.email.accounts."jalr" = { - primary = true; - userName = "jalr@jalr.de"; - address = "jalr@jalr.de"; - realName = "Jakob Lechner"; - imap = { - host = "hha.jalr.de"; - port = 143; - tls = { + accounts.email.accounts = { + "jalr" = { + primary = true; + userName = "jalr@jalr.de"; + address = "jalr@jalr.de"; + realName = "Jakob Lechner"; + imap = { + host = "hha.jalr.de"; + port = 143; + tls = { + enable = true; + useStartTls = true; + }; + }; + smtp = { + host = "hha.jalr.de"; + port = 587; + tls = { + enable = true; + useStartTls = true; + }; + }; + thunderbird = { enable = true; - useStartTls = true; + profiles = [ "default" ]; }; }; - smtp = { - host = "hha.jalr.de"; - port = 587; - tls = { - enable = true; - useStartTls = true; + "Digitaler Dienst" = { + userName = "j.lechner@digitaler-dienst.gmbh"; + address = "j.lechner@digitaler-dienst.gmbh"; + realName = "Jakob Lechner"; + imap = { + host = "mail.agenturserver.de"; + port = 143; + tls = { + enable = true; + useStartTls = true; + }; + }; + smtp = { + host = "mail.agenturserver.de"; + port = 587; + tls = { + enable = true; + useStartTls = true; + }; + }; + thunderbird = { + enable = true; + profiles = [ "default" ]; }; - }; - thunderbird = { - enable = true; - profiles = [ "default" ]; }; }; }; From dbc63ae057d951745d08d994ecc5fb946179a908 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 19 Feb 2024 17:06:54 +0000 Subject: [PATCH 233/766] Add .well-known config for radicale --- hosts/iron/services/radicale.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hosts/iron/services/radicale.nix b/hosts/iron/services/radicale.nix index bf5196d..a47cee7 100644 --- a/hosts/iron/services/radicale.nix +++ b/hosts/iron/services/radicale.nix @@ -25,6 +25,8 @@ in # proxy_pass_request_headers = on; # underscores_in_headers = on; }; + locations."/.well-known/caldav".return = "301 $scheme://$host:$server_port/radicale"; + locations."/.well-known/carddav".return = "301 $scheme://$host:$server_port/radicale"; }; }; From 66fe0d953991671fd265e8cc17824483835c84d4 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 21 Feb 2024 17:50:44 +0000 Subject: [PATCH 234/766] Verify ACME certificates using nginx As nginx runs on this host anyway, there is no need to do DNS validation. As the Hetzner API token for DNS access does not allow fine-grained permissions, this also improves security. --- hosts/iron/secrets.yaml | 5 ++--- hosts/iron/services/mail.nix | 10 +++------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index ca2cb55..80ac050 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -2,7 +2,6 @@ duckdns-secret: ENC[AES256_GCM,data:SAf/xZ28tgmvqcVKC2tMNRm838AVMMNCC3fpYLXBEIoT sturzbach-htpasswd: ENC[AES256_GCM,data:qqBwu6mASnRqjy65knU4uIvBNXXgrfcmvWnbmOH4tVQ7vRbpEhe/GQDwAg==,iv:OQnDOzezjajGl35m/u5StQeMRR+1sNDD5u1my1wTngQ=,tag:7zjVRWI1IzZ5iS3sFHLubg==,type:str] navidrome-password-encryption-key: ENC[AES256_GCM,data:ynQsFyGDEBnlWhTlv0mF7mLiXOjijq9ixWWEa1OXsTOYAd74dU0dp3Fo532WtD4fPvIWEf8Y2dYmY7zPVLuydQ==,iv:GJqPVL5OIFPLMcCVOjWvMjyFR4iTXo3uGE8R0keTzG0=,tag:RTERQgYRxBBevlL2H1lIWA==,type:str] wireguard_key_hetzner-ha: ENC[AES256_GCM,data:ak/KpQIHBNRPriJ1IeKYXIp4CcnygRHSj5MzZNnuxQnVunmmtzGu0lBEajA=,iv:aNw3EooT6XE1zC+g37WSJasRCfnNUaKQrYCDBMTxRrg=,tag:KXc70tVFc7xDLlefk1Hzow==,type:str] -hetzner-api-key: ENC[AES256_GCM,data:7eWYncujkEytQzhRdNRItPgpz1eUvcyp2PVLJtHbqd8=,iv:AxoKJUuor32kC3ZdpkDPUEUlPRosY6cKoWx0TIGK9wA=,tag:SVtXMraGxnJnx/j3zMQnQw==,type:str] rspamd-worker-controller: ENC[AES256_GCM,data:7tS8bEr9i5F+YZoj3uPQa6Xd2SCsuC+jE531AbKEmPHNeL3qMyO0pQZ/P1ONaPHTVMOPQHYABihDJcZv0BKW,iv:pFBVi4F661fnYPcCPwuetiGL1H+RAnJiFQhTUqGNwjU=,tag:xQoHIEQpnrMOnXqsH8anxQ==,type:str] dkim-keys: jalr.de.default: ENC[AES256_GCM,data:mnApsYKXYGtUAHddccmNmU9yZQtekDkTiTXbJ0UJxC0rFxzQCtGsinQslIROJdNUxsxciR1ilNzxawzjJD7AaWJbcAq2TYObGJJOQZBif7t/XEN/rIxEmnAFmdeAyrSONmFb9DiEn59m6DpsU+/9Y+hnc/uwwbzueO34WHJnTqmmsxFVNQZfGR+cbSckHS3wZrfjZSKKzCRt+9DU/xxJ4voyowXLO77w00LHVkyU5liwONi0v2XJ+QeP/jIMmJeKjujZcH+qvUm/kukijqyWKGrZoAYPC2cBlL/UrNECuVdSLMXvr4KBDDTCRZCSMRgUPJ0TAfpQPTPitKJ/0igK7qQl9n/6hckY7VyP8KDS7J7G2Z2XVxfZrAR4X/7ya9B2kneVr2CNx3w954EdTcV1/lD7rcKRjKynyl3ddf8gxJFJ21k1ybo2RLnftGCRVq25qNwhyfjU8x5c7AEs+YTPDrcnmxZ/Ui276eLwpMj61oZzTp8QQhiBVwS/+ruRLC+78pu2gb1gBF/Oo3nuvQD1SOpCRikLVewCYDvfXj/hrjo+oCsjTOj+9tWRcRAEDVlhkXWCMuPXDYrdt3HrIWbQuP8NW1ezd1Ll0r1ujjtPJeSwdd8cVcUSBIoA5gU+eXnYjFaSx9BZ+sIfKqG//W3S+aBYDqAEK/z4N5q66sReb5mtSQYfbZuIZDmox9bwNMG3tJmQX0lJZgEIiuJ5/ef4ra0sj9JsRFldmIn9KUmjW9OlIwzQ42cNNvQSMD/6haNiYsE6TPzVylJ/B2kNu9Qh5FfpCIPtVORv2BAGoNvZlyhjyEiXBEZ4x2hx1l5cBwGOaGhoJ0p+1wqn2zDalIBaEFjbBVdIB6DPC6/lccvpqSwF7HvW2ugyYhW+u92vgic71/BsI4i0OlsJV18gU/zVg0Yj8SK69kEwm4wkJTrkM/I4+kkUIc5OiSAknRfjOFJc0etkh3nO34xpHLOkSv9DrKfXSAGmGZtCLtVL5LGdZeCd/g6EK0JJh6bd9Gu9koSJVq5vjdDJJFf+sgk39TCvHAvk8k1/FgdK5jMJ+pR8heJtP8G96ay3DFVm5hpbjuNKqfBvbf2rkyV6++ywRFnAQGPUiMn9g6Q4F5Ks7CC1D0Ubl7b3dCUk6BDi8rHjxy9QS0/25Yz9cF0bFd6XQDfblnyRLMi9aB36M9Vp38Oh5aB16MyvNUHzcxpaAak0yknE6OuuEMBPQZgFVADCITfy9eUXl2FoXrMWEnBO78GybQ+cV8nhynn5t0U+3koMy2E8ju5kiEofQxXylys3Q76iKRRUbQqFkh/ndWtJVVfGNpi1GrUr1w1YZM0hBY9FqqeBjf7ckj+9BdiwWJ0XauuR70o7odm02mydk1/T3Hfzt3OE5nHIXnVbum9KyPx8wXj9qc6JGFm558pQOcRUgGUi+EzGoGckkoLx4Onl+XeGysW5sXP9dbYgMBug0Tjmdo9xkoBti6znDnN/zh93bbzWITNvxMgVs8zSWEhlM0c7F02UeUXSekbTFue5FOaMdYObMvPeb53jAKBOYLr34GVFvucJhKajIaNzDvfiI6fGCMxcSsWk+P3co7gdbRlWYZELsKDu2scktZsHr/gRwRiDZXAWOLiWZL4jswQ1vXSFXJgdblEV//hr2DwsAtCAsyFcgO/LGq30xi3xNqHTkUZXo6cZYSb6EVaIywMCI5ySEnTLAp/xedySANHuo8yyVqyLxkDPI7CnnSS7JcnQF3K5z+NZ0KnIpc1ewGupOhS0fKj31XxUkoSsHEY/iWJPLNA8+4VsBkADnGdkYXHTvy/yAGV6w1k1qtjiWhDAGcE9/o6NOHctYm3cx8CVsLpve/WFUaCkGgjWJdC8XP92xsUQoE6PENn6ZzFaqGHs7hgQqE1kBcEj8N5WkEqkoMo82giHE33iYoVUdkjOTkV4iDGEqyjg1BoM0GedR2A832LseDkP7u4DjIAQfpIDu7PaeiDh7xWkPRwIMV0oDTakXTdPkPGdgFikzTaxkTzRlpCbQuV769eITqVT04kJDp7+0Rb6dtjeXc0Ennv68wZSiyrlmXbrJntg7g1wrebq28q9NMIZETAPugfK6wNDu/Iw1q1kZn2ELo6xaDlcIxHDcpzK7e2VAYYuP1k3sYnSLU3oeq54j3/yS2z1me5FEqWlPOCrjdnLkE3/GjbeMsYo2YTYJEUEd2ncacSCoXUaUoxpBnjRYcHLRUV+6jy7Amp0/52rAPzSeVlBzc+SdNiKLYA2UQ74WrMU596Gkhw1SD8jSM5QqSBhH9sL+oE4GjhjLhstMUPdkNgiwxXDTZLKcIyjN1cn+RSmvNA2KXMH6MoXrkqSkJ9u2s0QAhla51zR/LZwWbzwGOO0dkh3rwh2x+pcCfuzvlk3lYr/x5XOF2k1n8yvehXY5zIX8nk6djjLbvAzzSr/yalS7R0WYIc6CjzoUl3qz+PlneMfKHcaX00hkOlIub/ZFQf1RE+JzZxi0qQq4M8Nt1XRKGDeS448Z6znDpedStUH29krZcnjMtyLmPX7ETTsjr3HLpCOd7MQ2K1rfhmvh5BtJkn1KSUf94puZbkLH7X+WnWN0hsc+KbSXnYZvqwJ8G0/7ptp/Q+wGljqhjv+HhOeA3NUwANv1xWgbiymVIlxCodXtQwn8mxS+jxSvslGwOnyUkTT76IbFbv/IpW6PNvj/xqwOqey8a/4WCGcqs403Y7TKQ+xCflG6K3tL7U5UbMnMgXTeZvoK+DooS2eIepF2WB5XqTuOZJV2OQ6GHfaBMjXN9iGVNLi6XgkbpmcMLQ4TZq+dVmgleJb14IaTFD3n74OfmbcT9lmRfPRJEpFEMNeL3ghH54P2a91zJFASgE7x+Uv2cGcmKFtMbyc/rrhH1F/Ixlv/R37huFo1T2dPMEZ/1ouuPpbUQ5oz/JlOWw3NOxd0O6oG0x9Xib+9KxSFOusLWcFEgx70jrBQKj8s2Jj+W0gZYv+BJtPMPY0KAkRj1amt4Fd6ZrPOEXJ392EHSAEv5jssO5ba52OHKA+QkYvPPL04rwkxSAQiTl57scnEj2WEIP+Lz0/qsMnwF+3rWuz856doJZcXX+U9iuzBCaYQqA1P3BojAYhEHnXBPeolHOA3BmhT9E2TJsZ6P9SQ+GaqyLm0i4vRXGlArlkLwRBs9EZv/l4DT8q0YHha53O4rhRzGJZKAOO252Dpha1YN7+FubYGAZjaUT5O0R/7xSPrGyBejddtM8asW8+NClAn4Y6xvj1IgUg6VRpEy7ZIpZEQ+UyDWt0A4nsipaz2NyZKZ5Vxza2v1qZDdYODK8nm/zj7fR/JykaNVEVj7ceTSHdaQlajfeEWWTs92msIBcqPUXqlaR005hoVvXm+WCnzIMIXLGiyRKRsAPIDYh2hGCtvfXLSq5TYm3bnGAImL0KW3Yllt1qSqSbOYsvm5QfDmTrrccvtSLGRj0rOU3Z8f4WXjf+1YgxjZ9h8fKL+LKA8x1S6M8fl0JVGBIAU8Xe8c4+r2F1VcygJp7h+0v8o8GudM6in4djAdeMLWBgXid7r0q744joFucP56opwYQp3Lu0oFEo0omS6Rh9yPfOjdGBU2eUdjcCNXXuEJD9yHSyebviSAvDw/KH1AxYSWYnjMWACCfcbOlXf3ej7PuQgq5MdFwF7+QawXm0john4YusUon4/0fqd/IFLd6oHYYesxcFdm1jN6DeS4SAqRgeEPuEWDFERgXjLHBxl5Xdi5n+NOR3Vc7ziJ9j9/CA1DKdwmsFBBDcVKMnr2FibXpN5WsSdlBng0L2zhkL22wRH9xbz8Xk5shN20/EHoxHB5HJvwfOgHIC7ooWKOUUuNTZH43+gVN+wzRzlMfiF4X71Edw+lTnQRp6Lh03M2k9do6JPoX2+UU0h6mOYiAFkhHKzCmK3DY12c4Smx+qLJNbUGhoMgthu/WnXObm0Hr+myCooTYSVNTJx6vVjI3GZtMcat2o8B9k38u/Y5/FxqTYmyXhROwS4v3W5fXwTAaxBqQy6Xj5s4V37omBBh/Z9a43nc2VlT7dKR1wIvNB/gqhiYyYrVMtYMJqGLkeCbu50LUWT4qXyR8uaqbZTVjyJCQRxZd6fd3Zfe9wIeYe3N5qKIXkFD3n1U2Q/EyRfb3TpiA+eYkAtl6JGK0vpeWpN5M2LJ3/V79e3cIG7B7/p6BrRxKxHDnBZcu57KKaN8XM+v2KTz7XdF8bjgeu1V/B9WoBwnpzCM+3s5ffNceuUcb2gJgRAUpZvcSDLYy+9aluGU2Tvsm49fCzr851p3VSEJepgPpnvuq874AX/MbPvqidF8Y21Kss1RUbl5wrlq5IihKdM+xCSq6mjvtSPVHRvw==,iv:2NBiTTW9slOH9BvM+kVbMB/+8EiS/Dc/eaqrtiwn4HY=,tag:0rc2+ZWy9XZYE7RK/oSo3g==,type:str] @@ -25,8 +24,8 @@ sops: SU1USkxFUUY2NVhmUHBhZkdrNDR1Q0kKiXIicInELRjDR3tuyA+lnXeCcd9lYvbV GnBRGPM7BNO/6AA7HhAei48Kt+XE6+jQX66yTXyviKhK7Lpjrlb2YQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-02-12T23:53:31Z" - mac: ENC[AES256_GCM,data:11gj3hKXjXDW27rbLCmIKExJdVnDUJbdPiQxzYGlk4FSxviIbCWdTEQ5VN4r8y/GxehVO757010jxu8u/kKR0MU3BFDkVyxh4Qv7LoUisrj7/8uJawOlmlEdykTxTgW+Q1yxy2mhK3t6D2+f9rNKYCmJhazHXJN9cuhiL1xXwcQ=,iv:OQfy2FQRw+SuXjDn2Woi66BI+cRkv1i0nnTaga4iLH8=,tag:j+fKWVttetoKaHwGRJ8Dmw==,type:str] + lastmodified: "2024-02-21T17:38:25Z" + mac: ENC[AES256_GCM,data:UrmKnVS6JcalkyIW1pdPPbbLK8gkD0FcMBG9HCS22EVllYJQva1e7sEFRXJHL3G/G8Y+jF9bhKybXGgN0qG3pEDOkp000lJSPzDuB4A3YNsJ/ELb/rXPS7P1SsWoyrAYMPsa1rFlzfy8WiJjAZHGovKf2rugkWS8XtyrXjOsySI=,iv:q6HGzyH/3dBeXNG8AWDa7KlhwyLrP4Vp+pGAGFoBw4E=,tag:MhxSjwt4T6yWZIrKSHuiYg==,type:str] pgp: - created_at: "2024-01-31T01:20:30Z" enc: |- diff --git a/hosts/iron/services/mail.nix b/hosts/iron/services/mail.nix index 9d83681..98b4364 100644 --- a/hosts/iron/services/mail.nix +++ b/hosts/iron/services/mail.nix @@ -4,10 +4,6 @@ let ports = import ../ports.nix args; in { - sops.secrets.hetzner-api-key = { - sopsFile = ../secrets.yaml; - owner = "acme"; - }; #sops.secrets."domain_key_jalr.de" = { # sopsFile = ../secrets.yaml; # owner = "rspamd"; @@ -41,8 +37,8 @@ in "inet_protocols=ipv4" ]; }; - security.acme.certs."hha.jalr.de" = { - dnsProvider = "hetzner"; - credentialsFile = pkgs.writeText "certbotCredentialsFile" "HETZNER_API_KEY_FILE=${config.sops.secrets.hetzner-api-key.path}"; + services.nginx.virtualHosts."hha.jalr.de" = { + enableACME = true; + forceSSL = true; }; } From f3383f21a829757ee0fe7d50c79e0920e3bc4b29 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 21 Feb 2024 17:53:52 +0000 Subject: [PATCH 235/766] Retain platformio cache As compiling might take long, it is not a good idea to remove the platformio cache with the `rsync --delete` on every deployment. --- hosts/iron/services/esphome/default.nix | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/hosts/iron/services/esphome/default.nix b/hosts/iron/services/esphome/default.nix index 3914464..73af2f2 100644 --- a/hosts/iron/services/esphome/default.nix +++ b/hosts/iron/services/esphome/default.nix @@ -43,9 +43,21 @@ in system.activationScripts.esphome-custom = { deps = [ "users" "groups" ]; text = '' - mkdir -p "${stateDir}/.esphome" - ${pkgs.rsync}/bin/rsync -a --delete "${cfgdir}/" "${stateDir}/" - chown esphome:esphome "${stateDir}/" + ${pkgs.rsync}/bin/rsync \ + -a \ + --delete \ + --exclude=.esphome \ + --exclude=.platformio \ + --exclude=.gitignore \ + "${cfgdir}/" "${stateDir}/" + mkdir -p \ + "${stateDir}/.esphome" \ + "${stateDir}/.platformio" + touch "${stateDir}/.gitignore" + chown esphome:esphome \ + "${stateDir}/" \ + "${stateDir}/.esphome" \ + "${stateDir}/.platformio" ''; }; } From 3f9114aecb8b5a2ccb325673a760eafbc0364e83 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 21 Feb 2024 17:56:09 +0000 Subject: [PATCH 236/766] Use separate switches for ct and brightness This helps if I want to keep automatic color temperature setting by circadian_lighting but want to manually reduce the brightness at the same time. --- hosts/iron/services/home-assistant.nix | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/hosts/iron/services/home-assistant.nix b/hosts/iron/services/home-assistant.nix index 1bce8db..9289ac7 100644 --- a/hosts/iron/services/home-assistant.nix +++ b/hosts/iron/services/home-assistant.nix @@ -1,6 +1,14 @@ args@{ lib, pkgs, config, custom-utils, ... }: let ports = import ../ports.nix args; + circadian_lighting_lights = [ + "light.yeelight_meteorite_ceiling_light" + "light.eingang_deckenleuchte_deckenleuchte" + "light.led_panel_schreibtisch_panel" + "light.kueche_leiste_led_light" + "light.badspiegel_background_light" + "light.badspiegel_front_light" + ]; in { services.home-assistant = { @@ -78,15 +86,14 @@ in switch = [ { platform = "circadian_lighting"; - lights_ct = [ - "light.yeelight_meteorite_ceiling_light" - "light.eingang_deckenleuchte_deckenleuchte" - "light.led_panel_schreibtisch_panel" - "light.kueche_leiste_led_light" - "light.badspiegel_background_light" - "light.badspiegel_front_light" - ]; - min_brightness = 20; + lights_ct = circadian_lighting_lights; + disable_brightness_adjust = true; + name = "Set color temperature by Circadian Lighting"; + } + { + platform = "circadian_lighting"; + lights_brightness = circadian_lighting_lights; + name = "Set brightness by Circadian Lighting"; } ]; "automation nix" = [ From 961f193643d53d1ff4cfdc3f1a72bcdfd0f70306 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 21 Feb 2024 18:08:43 +0000 Subject: [PATCH 237/766] Add bluetooth proxy For HHCC Flower Care sensors --- hosts/iron/services/esphome/devices/kueche-leiste.yaml | 10 +++++++++- hosts/iron/services/home-assistant.nix | 7 +++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/hosts/iron/services/esphome/devices/kueche-leiste.yaml b/hosts/iron/services/esphome/devices/kueche-leiste.yaml index a5189db..9008e66 100644 --- a/hosts/iron/services/esphome/devices/kueche-leiste.yaml +++ b/hosts/iron/services/esphome/devices/kueche-leiste.yaml @@ -29,11 +29,19 @@ wifi: ssid: !secret wifi_ssid_bw password: !secret wifi_password_bw domain: .iot.bw.jalr.de - power_save_mode: none enable_on_boot: True fast_connect: On output_power: 8.5 +esp32_ble_tracker: + scan_parameters: + active: false + +bluetooth_proxy: + active: true + +xiaomi_ble: + output: - platform: ledc pin: GPIO0 diff --git a/hosts/iron/services/home-assistant.nix b/hosts/iron/services/home-assistant.nix index 9289ac7..f5f3d37 100644 --- a/hosts/iron/services/home-assistant.nix +++ b/hosts/iron/services/home-assistant.nix @@ -61,6 +61,7 @@ in extraComponents = [ # See https://www.home-assistant.io/integrations "esphome" + "xiaomi_ble" ]; customComponents = [ pkgs.home-assistant-custom-components.circadian_lighting @@ -119,6 +120,12 @@ in "scene nix" = [ ]; "scene ui" = "!include scenes.yaml"; + bluetooth = { }; + device_tracker = [ + { + platform = "bluetooth_le_tracker"; + } + ]; }; }; From 9907fa426c94668f24d7a44ebd66a2bff00392cc Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 21 Feb 2024 18:26:08 +0000 Subject: [PATCH 238/766] Do not turn on light on boot This is a always-on device and it should not turn on automatically after a power failure. --- hosts/iron/services/esphome/devices/kueche-leiste.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/iron/services/esphome/devices/kueche-leiste.yaml b/hosts/iron/services/esphome/devices/kueche-leiste.yaml index 9008e66..ea6109d 100644 --- a/hosts/iron/services/esphome/devices/kueche-leiste.yaml +++ b/hosts/iron/services/esphome/devices/kueche-leiste.yaml @@ -5,7 +5,7 @@ esphome: board_build.flash_mode: dio on_boot: then: - - light.turn_on: + - light.control: id: led_light brightness: 50% color_temperature: 2700 K From 9878ddc34be3ef5ccf44c80773e91a2c4678400c Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 21 Feb 2024 18:27:55 +0000 Subject: [PATCH 239/766] Use static IP addresses for not always-on devices This should reduce the time it takes the device to connect to Home Assistant. --- hosts/iron/services/dnsmasq.nix | 4 +++- .../services/esphome/devices/led-panel-schreibtisch.yaml | 6 +++++- hosts/iron/services/esphome/devices/yeelight-meteorite.yaml | 5 +++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/hosts/iron/services/dnsmasq.nix b/hosts/iron/services/dnsmasq.nix index 3233865..1498ca8 100644 --- a/hosts/iron/services/dnsmasq.nix +++ b/hosts/iron/services/dnsmasq.nix @@ -19,13 +19,15 @@ in ]; dhcp-range = [ "192.168.42.20,192.168.42.254,4h" - "10.20.0.20,10.20.3.254,12h" + "10.20.1.1,10.20.3.254,12h" ]; cache-size = 10000; dns-forward-max = 1000; no-hosts = true; addn-hosts = "${pkgs.writeText "hosts.dnsmasq" '' 192.168.42.1 aluminium unifi + 10.20.0.10 yeelight-meteorite.iot.bw.jalr.de + 10.20.0.11 led-panel-schreibtisch.iot.bw.jalr.de ''}"; server = [ "142.250.185.78" # dns.as250.net diff --git a/hosts/iron/services/esphome/devices/led-panel-schreibtisch.yaml b/hosts/iron/services/esphome/devices/led-panel-schreibtisch.yaml index 8440bd6..0141c46 100644 --- a/hosts/iron/services/esphome/devices/led-panel-schreibtisch.yaml +++ b/hosts/iron/services/esphome/devices/led-panel-schreibtisch.yaml @@ -24,7 +24,11 @@ wifi: domain: .iot.bw.jalr.de power_save_mode: none enable_on_boot: True - fast_connect: On + fast_connect: true + manual_ip: + static_ip: 10.20.0.11 + gateway: 10.20.0.1 + subnet: 255.255.240.0 output_power: 8.5 esp32: diff --git a/hosts/iron/services/esphome/devices/yeelight-meteorite.yaml b/hosts/iron/services/esphome/devices/yeelight-meteorite.yaml index 617aae1..258633c 100644 --- a/hosts/iron/services/esphome/devices/yeelight-meteorite.yaml +++ b/hosts/iron/services/esphome/devices/yeelight-meteorite.yaml @@ -30,6 +30,11 @@ wifi: ssid: !secret wifi_ssid_bw password: !secret wifi_password_bw domain: .iot.bw.jalr.de + fast_connect: true + manual_ip: + static_ip: 10.20.0.10 + gateway: 10.20.0.1 + subnet: 255.255.240.0 output: - platform: ledc From b023ea9ff263d4038ebef6ce3abab3d35071a8cd Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 21 Feb 2024 18:49:47 +0000 Subject: [PATCH 240/766] Fix low brightness ct issue --- .../services/esphome/devices/yeelight-meteorite.yaml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/hosts/iron/services/esphome/devices/yeelight-meteorite.yaml b/hosts/iron/services/esphome/devices/yeelight-meteorite.yaml index 258633c..842fceb 100644 --- a/hosts/iron/services/esphome/devices/yeelight-meteorite.yaml +++ b/hosts/iron/services/esphome/devices/yeelight-meteorite.yaml @@ -41,14 +41,18 @@ output: pin: GPIO19 id: output_warm power_supply: power -# min_power: 0.13 - max_power: 0.82 + min_power: 0.13 + max_power: 0.77 + frequency: 1220Hz + zero_means_zero: true - platform: ledc pin: GPIO21 id: output_cold power_supply: power -# min_power: 0.13 - max_power: 0.82 + frequency: 1220Hz + zero_means_zero: true + min_power: 0.13 + max_power: 0.76 - platform: ledc pin: GPIO23 From bb9289fdc0fdb7817ca3a9142f547acd8f6e1d99 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 21 Feb 2024 23:54:12 +0000 Subject: [PATCH 241/766] Add calibre --- hosts/iron/secrets.yaml | 7 +-- hosts/iron/services/calibre.nix | 91 +++++++++++++++++++++++++++++++++ hosts/iron/services/default.nix | 3 +- 3 files changed, 97 insertions(+), 4 deletions(-) create mode 100644 hosts/iron/services/calibre.nix diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index 80ac050..a41b39e 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -1,11 +1,12 @@ duckdns-secret: ENC[AES256_GCM,data:SAf/xZ28tgmvqcVKC2tMNRm838AVMMNCC3fpYLXBEIoTl7E7,iv:+KTEpNMj0+aVCGKB1dRFFslgjpBhSzBZFdee+VIAt4o=,tag:C/eSyoQjAgD7Qv4J4jsp4g==,type:str] +calibre-htpasswd: ENC[AES256_GCM,data:+WW5A3/GZIk0p5CJ8RnK/gcYpJIXXsfrCpqFUWz2PzFZwf5xOlUeTGxqZdNorKq5xip4sT3/brrG4mqGDJ7iXfXJ,iv:D7CqUlbX4XGuUhjRLKytgvLa+jF4zuTZGV1NZCehf8Y=,tag:TAjSyBCIMZC4LBm0Q/2aXQ==,type:str] +radicale-htpasswd: ENC[AES256_GCM,data:Q0WnleP9I4xozsL/H+5oV3Ag7khfalV40A6ub+DA07U8UKna3/ju533RmjWOnETzSNa6XK140nfCcfGZCiqGyF9tfuuXcKFu+j4=,iv:87PSvHyKF7QUQZmEuxM+IT0VKSGnS0MjoUmCqJ+6tzI=,tag:yrP3TgxE8aSZf0MrCF9dsQ==,type:str] sturzbach-htpasswd: ENC[AES256_GCM,data:qqBwu6mASnRqjy65knU4uIvBNXXgrfcmvWnbmOH4tVQ7vRbpEhe/GQDwAg==,iv:OQnDOzezjajGl35m/u5StQeMRR+1sNDD5u1my1wTngQ=,tag:7zjVRWI1IzZ5iS3sFHLubg==,type:str] navidrome-password-encryption-key: ENC[AES256_GCM,data:ynQsFyGDEBnlWhTlv0mF7mLiXOjijq9ixWWEa1OXsTOYAd74dU0dp3Fo532WtD4fPvIWEf8Y2dYmY7zPVLuydQ==,iv:GJqPVL5OIFPLMcCVOjWvMjyFR4iTXo3uGE8R0keTzG0=,tag:RTERQgYRxBBevlL2H1lIWA==,type:str] wireguard_key_hetzner-ha: ENC[AES256_GCM,data:ak/KpQIHBNRPriJ1IeKYXIp4CcnygRHSj5MzZNnuxQnVunmmtzGu0lBEajA=,iv:aNw3EooT6XE1zC+g37WSJasRCfnNUaKQrYCDBMTxRrg=,tag:KXc70tVFc7xDLlefk1Hzow==,type:str] rspamd-worker-controller: ENC[AES256_GCM,data:7tS8bEr9i5F+YZoj3uPQa6Xd2SCsuC+jE531AbKEmPHNeL3qMyO0pQZ/P1ONaPHTVMOPQHYABihDJcZv0BKW,iv:pFBVi4F661fnYPcCPwuetiGL1H+RAnJiFQhTUqGNwjU=,tag:xQoHIEQpnrMOnXqsH8anxQ==,type:str] dkim-keys: jalr.de.default: ENC[AES256_GCM,data:mnApsYKXYGtUAHddccmNmU9yZQtekDkTiTXbJ0UJxC0rFxzQCtGsinQslIROJdNUxsxciR1ilNzxawzjJD7AaWJbcAq2TYObGJJOQZBif7t/XEN/rIxEmnAFmdeAyrSONmFb9DiEn59m6DpsU+/9Y+hnc/uwwbzueO34WHJnTqmmsxFVNQZfGR+cbSckHS3wZrfjZSKKzCRt+9DU/xxJ4voyowXLO77w00LHVkyU5liwONi0v2XJ+QeP/jIMmJeKjujZcH+qvUm/kukijqyWKGrZoAYPC2cBlL/UrNECuVdSLMXvr4KBDDTCRZCSMRgUPJ0TAfpQPTPitKJ/0igK7qQl9n/6hckY7VyP8KDS7J7G2Z2XVxfZrAR4X/7ya9B2kneVr2CNx3w954EdTcV1/lD7rcKRjKynyl3ddf8gxJFJ21k1ybo2RLnftGCRVq25qNwhyfjU8x5c7AEs+YTPDrcnmxZ/Ui276eLwpMj61oZzTp8QQhiBVwS/+ruRLC+78pu2gb1gBF/Oo3nuvQD1SOpCRikLVewCYDvfXj/hrjo+oCsjTOj+9tWRcRAEDVlhkXWCMuPXDYrdt3HrIWbQuP8NW1ezd1Ll0r1ujjtPJeSwdd8cVcUSBIoA5gU+eXnYjFaSx9BZ+sIfKqG//W3S+aBYDqAEK/z4N5q66sReb5mtSQYfbZuIZDmox9bwNMG3tJmQX0lJZgEIiuJ5/ef4ra0sj9JsRFldmIn9KUmjW9OlIwzQ42cNNvQSMD/6haNiYsE6TPzVylJ/B2kNu9Qh5FfpCIPtVORv2BAGoNvZlyhjyEiXBEZ4x2hx1l5cBwGOaGhoJ0p+1wqn2zDalIBaEFjbBVdIB6DPC6/lccvpqSwF7HvW2ugyYhW+u92vgic71/BsI4i0OlsJV18gU/zVg0Yj8SK69kEwm4wkJTrkM/I4+kkUIc5OiSAknRfjOFJc0etkh3nO34xpHLOkSv9DrKfXSAGmGZtCLtVL5LGdZeCd/g6EK0JJh6bd9Gu9koSJVq5vjdDJJFf+sgk39TCvHAvk8k1/FgdK5jMJ+pR8heJtP8G96ay3DFVm5hpbjuNKqfBvbf2rkyV6++ywRFnAQGPUiMn9g6Q4F5Ks7CC1D0Ubl7b3dCUk6BDi8rHjxy9QS0/25Yz9cF0bFd6XQDfblnyRLMi9aB36M9Vp38Oh5aB16MyvNUHzcxpaAak0yknE6OuuEMBPQZgFVADCITfy9eUXl2FoXrMWEnBO78GybQ+cV8nhynn5t0U+3koMy2E8ju5kiEofQxXylys3Q76iKRRUbQqFkh/ndWtJVVfGNpi1GrUr1w1YZM0hBY9FqqeBjf7ckj+9BdiwWJ0XauuR70o7odm02mydk1/T3Hfzt3OE5nHIXnVbum9KyPx8wXj9qc6JGFm558pQOcRUgGUi+EzGoGckkoLx4Onl+XeGysW5sXP9dbYgMBug0Tjmdo9xkoBti6znDnN/zh93bbzWITNvxMgVs8zSWEhlM0c7F02UeUXSekbTFue5FOaMdYObMvPeb53jAKBOYLr34GVFvucJhKajIaNzDvfiI6fGCMxcSsWk+P3co7gdbRlWYZELsKDu2scktZsHr/gRwRiDZXAWOLiWZL4jswQ1vXSFXJgdblEV//hr2DwsAtCAsyFcgO/LGq30xi3xNqHTkUZXo6cZYSb6EVaIywMCI5ySEnTLAp/xedySANHuo8yyVqyLxkDPI7CnnSS7JcnQF3K5z+NZ0KnIpc1ewGupOhS0fKj31XxUkoSsHEY/iWJPLNA8+4VsBkADnGdkYXHTvy/yAGV6w1k1qtjiWhDAGcE9/o6NOHctYm3cx8CVsLpve/WFUaCkGgjWJdC8XP92xsUQoE6PENn6ZzFaqGHs7hgQqE1kBcEj8N5WkEqkoMo82giHE33iYoVUdkjOTkV4iDGEqyjg1BoM0GedR2A832LseDkP7u4DjIAQfpIDu7PaeiDh7xWkPRwIMV0oDTakXTdPkPGdgFikzTaxkTzRlpCbQuV769eITqVT04kJDp7+0Rb6dtjeXc0Ennv68wZSiyrlmXbrJntg7g1wrebq28q9NMIZETAPugfK6wNDu/Iw1q1kZn2ELo6xaDlcIxHDcpzK7e2VAYYuP1k3sYnSLU3oeq54j3/yS2z1me5FEqWlPOCrjdnLkE3/GjbeMsYo2YTYJEUEd2ncacSCoXUaUoxpBnjRYcHLRUV+6jy7Amp0/52rAPzSeVlBzc+SdNiKLYA2UQ74WrMU596Gkhw1SD8jSM5QqSBhH9sL+oE4GjhjLhstMUPdkNgiwxXDTZLKcIyjN1cn+RSmvNA2KXMH6MoXrkqSkJ9u2s0QAhla51zR/LZwWbzwGOO0dkh3rwh2x+pcCfuzvlk3lYr/x5XOF2k1n8yvehXY5zIX8nk6djjLbvAzzSr/yalS7R0WYIc6CjzoUl3qz+PlneMfKHcaX00hkOlIub/ZFQf1RE+JzZxi0qQq4M8Nt1XRKGDeS448Z6znDpedStUH29krZcnjMtyLmPX7ETTsjr3HLpCOd7MQ2K1rfhmvh5BtJkn1KSUf94puZbkLH7X+WnWN0hsc+KbSXnYZvqwJ8G0/7ptp/Q+wGljqhjv+HhOeA3NUwANv1xWgbiymVIlxCodXtQwn8mxS+jxSvslGwOnyUkTT76IbFbv/IpW6PNvj/xqwOqey8a/4WCGcqs403Y7TKQ+xCflG6K3tL7U5UbMnMgXTeZvoK+DooS2eIepF2WB5XqTuOZJV2OQ6GHfaBMjXN9iGVNLi6XgkbpmcMLQ4TZq+dVmgleJb14IaTFD3n74OfmbcT9lmRfPRJEpFEMNeL3ghH54P2a91zJFASgE7x+Uv2cGcmKFtMbyc/rrhH1F/Ixlv/R37huFo1T2dPMEZ/1ouuPpbUQ5oz/JlOWw3NOxd0O6oG0x9Xib+9KxSFOusLWcFEgx70jrBQKj8s2Jj+W0gZYv+BJtPMPY0KAkRj1amt4Fd6ZrPOEXJ392EHSAEv5jssO5ba52OHKA+QkYvPPL04rwkxSAQiTl57scnEj2WEIP+Lz0/qsMnwF+3rWuz856doJZcXX+U9iuzBCaYQqA1P3BojAYhEHnXBPeolHOA3BmhT9E2TJsZ6P9SQ+GaqyLm0i4vRXGlArlkLwRBs9EZv/l4DT8q0YHha53O4rhRzGJZKAOO252Dpha1YN7+FubYGAZjaUT5O0R/7xSPrGyBejddtM8asW8+NClAn4Y6xvj1IgUg6VRpEy7ZIpZEQ+UyDWt0A4nsipaz2NyZKZ5Vxza2v1qZDdYODK8nm/zj7fR/JykaNVEVj7ceTSHdaQlajfeEWWTs92msIBcqPUXqlaR005hoVvXm+WCnzIMIXLGiyRKRsAPIDYh2hGCtvfXLSq5TYm3bnGAImL0KW3Yllt1qSqSbOYsvm5QfDmTrrccvtSLGRj0rOU3Z8f4WXjf+1YgxjZ9h8fKL+LKA8x1S6M8fl0JVGBIAU8Xe8c4+r2F1VcygJp7h+0v8o8GudM6in4djAdeMLWBgXid7r0q744joFucP56opwYQp3Lu0oFEo0omS6Rh9yPfOjdGBU2eUdjcCNXXuEJD9yHSyebviSAvDw/KH1AxYSWYnjMWACCfcbOlXf3ej7PuQgq5MdFwF7+QawXm0john4YusUon4/0fqd/IFLd6oHYYesxcFdm1jN6DeS4SAqRgeEPuEWDFERgXjLHBxl5Xdi5n+NOR3Vc7ziJ9j9/CA1DKdwmsFBBDcVKMnr2FibXpN5WsSdlBng0L2zhkL22wRH9xbz8Xk5shN20/EHoxHB5HJvwfOgHIC7ooWKOUUuNTZH43+gVN+wzRzlMfiF4X71Edw+lTnQRp6Lh03M2k9do6JPoX2+UU0h6mOYiAFkhHKzCmK3DY12c4Smx+qLJNbUGhoMgthu/WnXObm0Hr+myCooTYSVNTJx6vVjI3GZtMcat2o8B9k38u/Y5/FxqTYmyXhROwS4v3W5fXwTAaxBqQy6Xj5s4V37omBBh/Z9a43nc2VlT7dKR1wIvNB/gqhiYyYrVMtYMJqGLkeCbu50LUWT4qXyR8uaqbZTVjyJCQRxZd6fd3Zfe9wIeYe3N5qKIXkFD3n1U2Q/EyRfb3TpiA+eYkAtl6JGK0vpeWpN5M2LJ3/V79e3cIG7B7/p6BrRxKxHDnBZcu57KKaN8XM+v2KTz7XdF8bjgeu1V/B9WoBwnpzCM+3s5ffNceuUcb2gJgRAUpZvcSDLYy+9aluGU2Tvsm49fCzr851p3VSEJepgPpnvuq874AX/MbPvqidF8Y21Kss1RUbl5wrlq5IihKdM+xCSq6mjvtSPVHRvw==,iv:2NBiTTW9slOH9BvM+kVbMB/+8EiS/Dc/eaqrtiwn4HY=,tag:0rc2+ZWy9XZYE7RK/oSo3g==,type:str] -radicale-htpasswd: ENC[AES256_GCM,data:Q0WnleP9I4xozsL/H+5oV3Ag7khfalV40A6ub+DA07U8UKna3/ju533RmjWOnETzSNa6XK140nfCcfGZCiqGyF9tfuuXcKFu+j4=,iv:87PSvHyKF7QUQZmEuxM+IT0VKSGnS0MjoUmCqJ+6tzI=,tag:yrP3TgxE8aSZf0MrCF9dsQ==,type:str] synapse-turn-shared-secret: ENC[AES256_GCM,data:Q1XRds3Zud1kYkvD6s9WUzP+kNDNsxB5SHd6oCAaLCHhHhYENSAYTZOF+rGjCPNyKFL0e/A=,iv:zScRQrz+pXHNUh/BGOaV+TVnDR3wu1Z/UO1zXarKwtA=,tag:ckpVziE+yb0FjctcT7tAkg==,type:str] rmfakecloud: ENC[AES256_GCM,data:ktKBKb6cRv1VF8tRvXIpxIy9hPinVPKK05mgvYzz18PEdcrCLpldm5xf7ffHtY5XzDOAMXDCiz6x4xyv7071frrF0spOEPnIzVhxwG8H2Ck=,iv:qJdHjv0RziAs4G9UGeRwGQ4GE5kaObJWpIYWpRKhr9c=,tag:PXgvU1hZK/gvWGyFJaHekg==,type:str] esphome: ENC[AES256_GCM,data:deY5RdItnZt7iJzSiHWvduRWqLTPt5ep70k/oLMjSanqYgAdWV/bGvod3I4bF2HdZymZjmeeGYo6lJCxJ7PwEfzhUGG6626wHhJ5VlfVThwqZ3mXkENdl/+aDyMtaxfaLTn3ygPewG/lAMY8Wn9beCTt4J6te5HlmHSp0VcFvLNl/m6F7nMdd1r1oaubvW7TPPe1+1jkpqphfd56bGYeEQArNEUCeCaXdtPCNZA/aEHZIYmmixuECdzTFTOreHBtG0pFMuAFrVsS3EZxMmnoMhAPrkhML2MSQnXLM2FGPd/FfeQzi9AMmiUqv55YGsJkuNXJs9x6ouU+JsjP876owFIKhB5VEEZAw9cqv/OFdjGboW2akjchZ5HROaofLfHjlVKy1PQwzbVwb8igHZE9PIFbk9O0Jb5fawoe9L9xp0jI6XrnHkgOFhv65uxogzYLFnMvTR8ZFJ02HPNGCh+eQECa5iuzTRb3OWCYls6si7RKGZgu1tE3HADVhqk6ViHckJLnlT1YABmnxoQiKovz1UIOE39e5Wl9m0XGC6OME37bJuSM3Sk24BBHQ36t3IverN3W9bhyhIQe4hw7PXuBVDCu4FJi1PDjmJwRWAWf5+BC1SFigSWDzunI55sX8zWCko9b75BKZoFfxKZminhFYwKTdtRdhbKPK8CIa9FcVf2eDmykhMvMmKVIm74d4yEXHjKt8Yww0x8TKEcqWIobMyPqlixpShaa7c73JgPfzkN0LYK4Da1Y+5MpZdUUypCe+R+Jwg/ROXZpGgwK7LFA2JHS71dq7nysHn5WhHFREPdVF558iiiOALCdMnvdUT6fU748Hx+KijYUl2Kax09l9sRkRsuCj7LRJ+ARDY/v8NlQJeXRIsyosg//DvejNJ5F7oMJK+H/sblTfCoY6SLp1WHAhywW6c5uBsGm1xLsdecfWok3sVv2qjQ5l2FPMvlXdp/0/RjxhLnvVYVTWzw=,iv:5Yybvm1eHbdJop6fGRmaW3Tnie3KHv21zVdWBZCUntA=,tag:7WDHLXkzWS8Dfs79u4Ur2A==,type:str] @@ -24,8 +25,8 @@ sops: SU1USkxFUUY2NVhmUHBhZkdrNDR1Q0kKiXIicInELRjDR3tuyA+lnXeCcd9lYvbV GnBRGPM7BNO/6AA7HhAei48Kt+XE6+jQX66yTXyviKhK7Lpjrlb2YQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-02-21T17:38:25Z" - mac: ENC[AES256_GCM,data:UrmKnVS6JcalkyIW1pdPPbbLK8gkD0FcMBG9HCS22EVllYJQva1e7sEFRXJHL3G/G8Y+jF9bhKybXGgN0qG3pEDOkp000lJSPzDuB4A3YNsJ/ELb/rXPS7P1SsWoyrAYMPsa1rFlzfy8WiJjAZHGovKf2rugkWS8XtyrXjOsySI=,iv:q6HGzyH/3dBeXNG8AWDa7KlhwyLrP4Vp+pGAGFoBw4E=,tag:MhxSjwt4T6yWZIrKSHuiYg==,type:str] + lastmodified: "2024-02-21T23:52:33Z" + mac: ENC[AES256_GCM,data:9J+48OtEbiDWJr1/+R+i4MhcR11QF6Z6FnmdMjEPl3YbaX9+pLgHwtWZNh3AOwhlUCLBeAMt0MkNvrckcq6D8brU2h9fuEJDk3ygLSUPgLs4WJT/rqNn5ZqnSVVtt70b+XK7WPJXqXE9dydXW/Y+TBADC+Es129wYJnZXMTSdGI=,iv:/7igkG2WhJi97cvBHstr88J8ed+67jnODRHagKghgHM=,tag:GtIKo9mMBXVW3eblglRccw==,type:str] pgp: - created_at: "2024-01-31T01:20:30Z" enc: |- diff --git a/hosts/iron/services/calibre.nix b/hosts/iron/services/calibre.nix new file mode 100644 index 0000000..f738170 --- /dev/null +++ b/hosts/iron/services/calibre.nix @@ -0,0 +1,91 @@ +args@{ lib, config, pkgs, custom-utils, ... }: +let + ports = import ../ports.nix args; +in +{ + sops.secrets.calibre-htpasswd = { + owner = "nginx"; + sopsFile = ../secrets.yaml; + }; + + services.calibre-server = { + enable = true; + port = ports.calibre-server.tcp; + host = "127.0.0.1"; + }; + + services.calibre-web = { + enable = true; + user = config.services.calibre-server.user; + group = config.services.calibre-server.group; + listen = { + ip = "127.0.0.1"; + port = ports.calibre-web.tcp; + }; + options.enableBookUploading = true; + options.reverseProxyAuth.enable = true; + options.reverseProxyAuth.header = "X-Remote-User"; + }; + + systemd.services.calibre-web = { + serviceConfig = { + BindPaths = [ + "/var/lib/calibre-web" + "/var/lib/calibre-server" + ]; + BindReadOnlyPaths = [ + "/nix/store" + ]; + CapabilityBoundingSet = ""; + IPAddressAllow = "localhost"; + IPAddressDeny = "any"; + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateDevices = lib.mkForce true; + PrivateTmp = true; + PrivateUsers = true; + ProcSubset = "pid"; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "noaccess"; + ProtectSystem = "strict"; + ReadWritePaths = ""; + RemoveIPC = true; + RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + RootDirectory = "/run/calibre-web"; + RuntimeDirectory = "calibre-web"; + StateDirectory = "calibre-web"; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; + WorkingDirectory = "/var/lib/calibre-web"; + }; + }; + + + services.nginx.virtualHosts."books.jalr.de" = { + enableACME = true; + forceSSL = true; + kTLS = true; + basicAuthFile = config.sops.secrets.calibre-htpasswd.path; + locations."/" = { + proxyPass = "http://127.0.0.1:${toString ports.calibre-web.tcp}/"; + recommendedProxySettings = true; + extraConfig = '' + client_max_body_size 200M; + proxy_set_header X-Remote-User $remote_user; + ''; + }; + }; +} diff --git a/hosts/iron/services/default.nix b/hosts/iron/services/default.nix index d2507e6..86ff156 100644 --- a/hosts/iron/services/default.nix +++ b/hosts/iron/services/default.nix @@ -1,9 +1,10 @@ { imports = [ + ./calibre.nix ./dnsmasq.nix ./dyndns.nix - ./home-assistant.nix ./esphome + ./home-assistant.nix ./jellyfin.nix ./mail.nix ./matrix.nix From 41768ddb074d96a42aa7bc64415a3fc83ae625f8 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 26 Feb 2024 21:45:35 +0000 Subject: [PATCH 242/766] Add calibre ports --- hosts/iron/ports.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hosts/iron/ports.nix b/hosts/iron/ports.nix index 80a74ea..a01a8b8 100644 --- a/hosts/iron/ports.nix +++ b/hosts/iron/ports.nix @@ -1,6 +1,8 @@ { lib, custom-utils, ... }: custom-utils.validatePortAttrset { + calibre-server.tcp = 8081; + calibre-web.tcp = 8082; esphome.tcp = 6052; home-assistant.tcp = 8123; jellyfin.tcp = 8096; From c92439815c25687a72c1653004635ff99f4fd03f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 26 Feb 2024 22:32:16 +0000 Subject: [PATCH 243/766] Update pretix version Bump pretix version from 2024.1.0 to 2024.1.1 --- pkgs/pretix/poetry.lock | 711 +++++++++++++++++-------------------- pkgs/pretix/pyproject.toml | 2 +- 2 files changed, 317 insertions(+), 396 deletions(-) diff --git a/pkgs/pretix/poetry.lock b/pkgs/pretix/poetry.lock index e94e1b7..ce6d6ba 100644 --- a/pkgs/pretix/poetry.lock +++ b/pkgs/pretix/poetry.lock @@ -252,48 +252,48 @@ dev = ["Sphinx (==4.3.2)", "black (==22.3.0)", "build (==0.8.0)", "flake8 (==4.0 [[package]] name = "cbor2" -version = "5.6.0" +version = "5.6.2" description = "CBOR (de)serializer with extensive tag support" optional = false python-versions = ">=3.8" files = [ - {file = "cbor2-5.6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7569627514699b10d903795e344e5520cd758f7db968e46e667b6875c409610b"}, - {file = "cbor2-5.6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e6d5c5b5cb25450561c92c9ac7d72912027cfa8807aab77ea6f5549e2157335"}, - {file = "cbor2-5.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19403d65c32709c4940ae729470dd77ed88ebbd4972355d0ec23ff4dbe34faa3"}, - {file = "cbor2-5.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:329196be76fbba0ad63926913eb225dddcfc4891ff6760484fdcf071cebc7188"}, - {file = "cbor2-5.6.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:ac835523af0e37086b5f6aac9283e45cffdf6fa0f1be5eecf967014e7184d948"}, - {file = "cbor2-5.6.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:63ab6734098c494687b26531ed4d44c06f287a44061ae1bc16b3fa65563d80b0"}, - {file = "cbor2-5.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:777897d46e31bc2683ed9e015a9c97fc97929bf78d620fc3361fe39a86912eba"}, - {file = "cbor2-5.6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5d3932c3f0637439f121a54b9e6020e62e9f2620751b2e850a6f09f1c1ee299e"}, - {file = "cbor2-5.6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7f017d451b9b7e45759e9ffbfae8a2b1bda3f6a547d6451f7761655a8438f956"}, - {file = "cbor2-5.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c66cf65766195c310b2134ceeb20927fce85373d13483e97d2211dd499739f9b"}, - {file = "cbor2-5.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2411ad0fc8817ff38076523bfc43d193188eedcb0d3a1c52428672636f3760d4"}, - {file = "cbor2-5.6.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b5ce2c7c9172c401db047202029f96a5799c68ff0c936874c596e3718cd383e4"}, - {file = "cbor2-5.6.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1a4e1bb41ac5dc27bd4737c92934e9daf38440ce849eaf3e25da24f9d1fd2195"}, - {file = "cbor2-5.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:83736e076e878f3679ef2dd6cfce5ebcb71f65f9eeada1d14b16b5b87dbc2250"}, - {file = "cbor2-5.6.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:8724f172b581414444801bd7e4974a1512822231e30162c7d5a6374a3c89ddbf"}, - {file = "cbor2-5.6.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ae83ca762a60b43c83c23edf487e41dc90ba7cc98e25134cde2bf09e99ec1fa3"}, - {file = "cbor2-5.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0da8f4aed346ff0ce667254331d341ad27d8d62c8813536f019d8a68aef40eba"}, - {file = "cbor2-5.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99780a5fe8e23a467eb1084feb74b9bdc6598f0eb6c09821b00bb65ddd834d67"}, - {file = "cbor2-5.6.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:f0167b4fd537db4925ee8c2890fb950493280628d9c18034625fa5c8a96db689"}, - {file = "cbor2-5.6.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8a073761d9148e4ffbfb0e4125643c059a4d5d5c5c5448cd56759765e1113487"}, - {file = "cbor2-5.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:62ced11efb37729e1a2a5f04fb8c2661d46ae6adbdddc23cb31ffad2ec75ff7a"}, - {file = "cbor2-5.6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0130d50aa1cd0ba8ce65eda5bbbb57bda3f2c9cd86bba7d8be5e3c9b19f88f93"}, - {file = "cbor2-5.6.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:29ba57a33fcffd5d70fd6ac1182520e887918f9d2b6225a06eaae029f070e18f"}, - {file = "cbor2-5.6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe7a459aae6ca4abdc490fdf89463cbeea3449569eca853af7c2672286edcea0"}, - {file = "cbor2-5.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0c098a2802ec1df0a6e96c415203c8a52c42158e1e07d8074c9acf19bcc146f"}, - {file = "cbor2-5.6.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d3184d91a855aedb6f0e76e5ac548a1e43a7fcd3d5ba2deb0894b81c77c2c461"}, - {file = "cbor2-5.6.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:622b4fe945ecdd93df8c21169c8f1a85dcf21d78ecb1e8b7f9f2795520480010"}, - {file = "cbor2-5.6.0-cp38-cp38-win_amd64.whl", hash = "sha256:aaf6a424742f55e2991c7013df02a629d24c64e5730c3fd3aebcbbebc580bfab"}, - {file = "cbor2-5.6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e1ff25fb1b6bafbdb192037860471962f59ce9c1f584611572360e15725abbb1"}, - {file = "cbor2-5.6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4143152579ff9e0668688d6d41e2f6a20161f8dc5af97b1b92f400d3112888af"}, - {file = "cbor2-5.6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df7b7cf96e9027138129edbfa0e2024d6f4beb7db42c2a992ab867eff3c04d46"}, - {file = "cbor2-5.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:789496ece76712c298f1fd4681d074f6828ed0d788076c5949c4474c11291f68"}, - {file = "cbor2-5.6.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:3d8525d4f525add7971b75b7ff947eed085405d9db7ad6fad456909cbffd18c1"}, - {file = "cbor2-5.6.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c9423aaf110ce7c3e856f2d5dc6ece7358de48bad7a88d2633f5943d5cd20676"}, - {file = "cbor2-5.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:52fa913133b82578244e6b86b8dff9d88c9d13acf84955b6942650689f302c01"}, - {file = "cbor2-5.6.0-py3-none-any.whl", hash = "sha256:7ba2d0abbb199dd08b7ea59038dbf6524277f124d836b66744cfdd49d31fd012"}, - {file = "cbor2-5.6.0.tar.gz", hash = "sha256:9d94e2226f8f5792fdba5ab20e07b9bfe02e76c10c3ca126418cd4310439d002"}, + {file = "cbor2-5.6.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:516b8390936bb172ff18d7b609a452eaa51991513628949b0a9bf25cbe5a7129"}, + {file = "cbor2-5.6.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1b8b504b590367a51fe8c0d9b8cb458a614d782d37b24483097e2b1e93ed0fff"}, + {file = "cbor2-5.6.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f687e6731b1198811223576800258a712ddbfdcfa86c0aee2cc8269193e6b96"}, + {file = "cbor2-5.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e94043d99fe779f62a15a5e156768588a2a7047bb3a127fa312ac1135ff5ecb"}, + {file = "cbor2-5.6.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:8af7162fcf7aa2649f02563bdb18b2fa6478b751eee4df0257bffe19ea8f107a"}, + {file = "cbor2-5.6.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ea7ecd81c5c6e02c2635973f52a0dd1e19c0bf5ef51f813d8cd5e3e7ed072726"}, + {file = "cbor2-5.6.2-cp310-cp310-win_amd64.whl", hash = "sha256:3c7f223f1fedc74d33f363d184cb2bab9e4bdf24998f73b5e3bef366d6c41628"}, + {file = "cbor2-5.6.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7ea9e150029c3976c46ee9870b6dcdb0a5baae21008fe3290564886b11aa2b64"}, + {file = "cbor2-5.6.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:922e06710e5cf6f56b82b0b90d2f356aa229b99e570994534206985f675fd307"}, + {file = "cbor2-5.6.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b01a718e083e6de8b43296c3ccdb3aa8af6641f6bbb3ea1700427c6af73db28a"}, + {file = "cbor2-5.6.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac85eb731c524d148f608b9bdb2069fa79e374a10ed5d10a2405eba9a6561e60"}, + {file = "cbor2-5.6.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:03e5b68867b9d89ff2abd14ef7c6d42fbd991adc3e734a19a294935f22a4d05a"}, + {file = "cbor2-5.6.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7221b83000ee01d674572eec1d1caa366eac109d1d32c14d7af9a4aaaf496563"}, + {file = "cbor2-5.6.2-cp311-cp311-win_amd64.whl", hash = "sha256:9aca73b63bdc6561e1a0d38618e78b9c204c942260d51e663c92c4ba6c961684"}, + {file = "cbor2-5.6.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:377cfe9d5560c682486faef6d856226abf8b2801d95fa29d4e5d75b1615eb091"}, + {file = "cbor2-5.6.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fdc564ef2e9228bcd96ec8c6cdaa431a48ab03b3fb8326ead4b3f986330e5b9e"}, + {file = "cbor2-5.6.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d1c0021d9a1f673066de7c8941f71a59abb11909cc355892dda01e79a2b3045"}, + {file = "cbor2-5.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1fde9e704e96751e0729cc58b912d0e77c34387fb6bcceea0817069e8683df45"}, + {file = "cbor2-5.6.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:30e9ba8f4896726ca61869efacda50b6859aff92162ae5a0e192859664f36c81"}, + {file = "cbor2-5.6.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:211a1e18e65ac71e04434ff5b58bde5c53f85b9c5bc92a3c0e2265089d3034f3"}, + {file = "cbor2-5.6.2-cp312-cp312-win_amd64.whl", hash = "sha256:94981277b4bf448a2754c1f34a9d0055a9d1c5a8d102c933ffe95c80f1085bae"}, + {file = "cbor2-5.6.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f70db0ebcf005c25408e8d5cc4b9558c899f13a3e2f8281fa3d3be4894e0e821"}, + {file = "cbor2-5.6.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:22c24fe9ef1696a84b8fd80ff66eb0e5234505d8b9a9711fc6db57bce10771f3"}, + {file = "cbor2-5.6.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a4a3420f80d6b942874d66eaad07658066370df994ddee4125b48b2cbc61ece"}, + {file = "cbor2-5.6.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5b28d8ff0e726224a7429281700c28afe0e665f83f9ae79648cbae3f1a391cbf"}, + {file = "cbor2-5.6.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c10ede9462458998f1b9c488e25fe3763aa2491119b7af472b72bf538d789e24"}, + {file = "cbor2-5.6.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ea686dfb5e54d690e704ce04993bc8ca0052a7cd2d4b13dd333a41cca8a05a05"}, + {file = "cbor2-5.6.2-cp38-cp38-win_amd64.whl", hash = "sha256:22996159b491d545ecfd489392d3c71e5d0afb9a202dfc0edc8b2cf413a58326"}, + {file = "cbor2-5.6.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9faa0712d414a88cc1244c78cd4b28fced44f1827dbd8c1649e3c40588aa670f"}, + {file = "cbor2-5.6.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6031a284d93fc953fc2a2918f261c4f5100905bd064ca3b46961643e7312a828"}, + {file = "cbor2-5.6.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f30c8a9a9df79f26e72d8d5fa51ef08eb250d9869a711bcf9539f1865916c983"}, + {file = "cbor2-5.6.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44bf7457fca23209e14dab8181dff82466a83b72e55b444dbbfe90fa67659492"}, + {file = "cbor2-5.6.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:cc29c068687aa2e7778f63b653f1346065b858427a2555df4dc2191f4a0de8ce"}, + {file = "cbor2-5.6.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:42eaf0f768bd27afcb38135d5bfc361d3a157f1f5c7dddcd8d391f7fa43d9de8"}, + {file = "cbor2-5.6.2-cp39-cp39-win_amd64.whl", hash = "sha256:8839b73befa010358477736680657b9d08c1ed935fd973decb1909712a41afdc"}, + {file = "cbor2-5.6.2-py3-none-any.whl", hash = "sha256:c0b53a65673550fde483724ff683753f49462d392d45d7b6576364b39e76e54c"}, + {file = "cbor2-5.6.2.tar.gz", hash = "sha256:b7513c2dea8868991fad7ef8899890ebcf8b199b9b4461c3c11d7ad3aef4820d"}, ] [package.extras] @@ -358,13 +358,13 @@ zstd = ["zstandard (==0.22.0)"] [[package]] name = "certifi" -version = "2023.11.17" +version = "2024.2.2" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2023.11.17-py3-none-any.whl", hash = "sha256:e036ab49d5b79556f99cfc2d9320b34cfbe5be05c5871b51de9329f0603b0474"}, - {file = "certifi-2023.11.17.tar.gz", hash = "sha256:9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1"}, + {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"}, + {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, ] [[package]] @@ -617,43 +617,43 @@ files = [ [[package]] name = "cryptography" -version = "42.0.2" +version = "42.0.5" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-42.0.2-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:701171f825dcab90969596ce2af253143b93b08f1a716d4b2a9d2db5084ef7be"}, - {file = "cryptography-42.0.2-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:61321672b3ac7aade25c40449ccedbc6db72c7f5f0fdf34def5e2f8b51ca530d"}, - {file = "cryptography-42.0.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea2c3ffb662fec8bbbfce5602e2c159ff097a4631d96235fcf0fb00e59e3ece4"}, - {file = "cryptography-42.0.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b15c678f27d66d247132cbf13df2f75255627bcc9b6a570f7d2fd08e8c081d2"}, - {file = "cryptography-42.0.2-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:8e88bb9eafbf6a4014d55fb222e7360eef53e613215085e65a13290577394529"}, - {file = "cryptography-42.0.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:a047682d324ba56e61b7ea7c7299d51e61fd3bca7dad2ccc39b72bd0118d60a1"}, - {file = "cryptography-42.0.2-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:36d4b7c4be6411f58f60d9ce555a73df8406d484ba12a63549c88bd64f7967f1"}, - {file = "cryptography-42.0.2-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:a00aee5d1b6c20620161984f8ab2ab69134466c51f58c052c11b076715e72929"}, - {file = "cryptography-42.0.2-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:b97fe7d7991c25e6a31e5d5e795986b18fbbb3107b873d5f3ae6dc9a103278e9"}, - {file = "cryptography-42.0.2-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:5fa82a26f92871eca593b53359c12ad7949772462f887c35edaf36f87953c0e2"}, - {file = "cryptography-42.0.2-cp37-abi3-win32.whl", hash = "sha256:4b063d3413f853e056161eb0c7724822a9740ad3caa24b8424d776cebf98e7ee"}, - {file = "cryptography-42.0.2-cp37-abi3-win_amd64.whl", hash = "sha256:841ec8af7a8491ac76ec5a9522226e287187a3107e12b7d686ad354bb78facee"}, - {file = "cryptography-42.0.2-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:55d1580e2d7e17f45d19d3b12098e352f3a37fe86d380bf45846ef257054b242"}, - {file = "cryptography-42.0.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28cb2c41f131a5758d6ba6a0504150d644054fd9f3203a1e8e8d7ac3aea7f73a"}, - {file = "cryptography-42.0.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b9097a208875fc7bbeb1286d0125d90bdfed961f61f214d3f5be62cd4ed8a446"}, - {file = "cryptography-42.0.2-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:44c95c0e96b3cb628e8452ec060413a49002a247b2b9938989e23a2c8291fc90"}, - {file = "cryptography-42.0.2-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:2f9f14185962e6a04ab32d1abe34eae8a9001569ee4edb64d2304bf0d65c53f3"}, - {file = "cryptography-42.0.2-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:09a77e5b2e8ca732a19a90c5bca2d124621a1edb5438c5daa2d2738bfeb02589"}, - {file = "cryptography-42.0.2-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:ad28cff53f60d99a928dfcf1e861e0b2ceb2bc1f08a074fdd601b314e1cc9e0a"}, - {file = "cryptography-42.0.2-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:130c0f77022b2b9c99d8cebcdd834d81705f61c68e91ddd614ce74c657f8b3ea"}, - {file = "cryptography-42.0.2-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:fa3dec4ba8fb6e662770b74f62f1a0c7d4e37e25b58b2bf2c1be4c95372b4a33"}, - {file = "cryptography-42.0.2-cp39-abi3-win32.whl", hash = "sha256:3dbd37e14ce795b4af61b89b037d4bc157f2cb23e676fa16932185a04dfbf635"}, - {file = "cryptography-42.0.2-cp39-abi3-win_amd64.whl", hash = "sha256:8a06641fb07d4e8f6c7dda4fc3f8871d327803ab6542e33831c7ccfdcb4d0ad6"}, - {file = "cryptography-42.0.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:087887e55e0b9c8724cf05361357875adb5c20dec27e5816b653492980d20380"}, - {file = "cryptography-42.0.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:a7ef8dd0bf2e1d0a27042b231a3baac6883cdd5557036f5e8df7139255feaac6"}, - {file = "cryptography-42.0.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:4383b47f45b14459cab66048d384614019965ba6c1a1a141f11b5a551cace1b2"}, - {file = "cryptography-42.0.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:fbeb725c9dc799a574518109336acccaf1303c30d45c075c665c0793c2f79a7f"}, - {file = "cryptography-42.0.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:320948ab49883557a256eab46149df79435a22d2fefd6a66fe6946f1b9d9d008"}, - {file = "cryptography-42.0.2-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5ef9bc3d046ce83c4bbf4c25e1e0547b9c441c01d30922d812e887dc5f125c12"}, - {file = "cryptography-42.0.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:52ed9ebf8ac602385126c9a2fe951db36f2cb0c2538d22971487f89d0de4065a"}, - {file = "cryptography-42.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:141e2aa5ba100d3788c0ad7919b288f89d1fe015878b9659b307c9ef867d3a65"}, - {file = "cryptography-42.0.2.tar.gz", hash = "sha256:e0ec52ba3c7f1b7d813cd52649a5b3ef1fc0d433219dc8c93827c57eab6cf888"}, + {file = "cryptography-42.0.5-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:a30596bae9403a342c978fb47d9b0ee277699fa53bbafad14706af51fe543d16"}, + {file = "cryptography-42.0.5-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:b7ffe927ee6531c78f81aa17e684e2ff617daeba7f189f911065b2ea2d526dec"}, + {file = "cryptography-42.0.5-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2424ff4c4ac7f6b8177b53c17ed5d8fa74ae5955656867f5a8affaca36a27abb"}, + {file = "cryptography-42.0.5-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:329906dcc7b20ff3cad13c069a78124ed8247adcac44b10bea1130e36caae0b4"}, + {file = "cryptography-42.0.5-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:b03c2ae5d2f0fc05f9a2c0c997e1bc18c8229f392234e8a0194f202169ccd278"}, + {file = "cryptography-42.0.5-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f8837fe1d6ac4a8052a9a8ddab256bc006242696f03368a4009be7ee3075cdb7"}, + {file = "cryptography-42.0.5-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:0270572b8bd2c833c3981724b8ee9747b3ec96f699a9665470018594301439ee"}, + {file = "cryptography-42.0.5-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:b8cac287fafc4ad485b8a9b67d0ee80c66bf3574f655d3b97ef2e1082360faf1"}, + {file = "cryptography-42.0.5-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:16a48c23a62a2f4a285699dba2e4ff2d1cff3115b9df052cdd976a18856d8e3d"}, + {file = "cryptography-42.0.5-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:2bce03af1ce5a5567ab89bd90d11e7bbdff56b8af3acbbec1faded8f44cb06da"}, + {file = "cryptography-42.0.5-cp37-abi3-win32.whl", hash = "sha256:b6cd2203306b63e41acdf39aa93b86fb566049aeb6dc489b70e34bcd07adca74"}, + {file = "cryptography-42.0.5-cp37-abi3-win_amd64.whl", hash = "sha256:98d8dc6d012b82287f2c3d26ce1d2dd130ec200c8679b6213b3c73c08b2b7940"}, + {file = "cryptography-42.0.5-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:5e6275c09d2badf57aea3afa80d975444f4be8d3bc58f7f80d2a484c6f9485c8"}, + {file = "cryptography-42.0.5-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4985a790f921508f36f81831817cbc03b102d643b5fcb81cd33df3fa291a1a1"}, + {file = "cryptography-42.0.5-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7cde5f38e614f55e28d831754e8a3bacf9ace5d1566235e39d91b35502d6936e"}, + {file = "cryptography-42.0.5-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:7367d7b2eca6513681127ebad53b2582911d1736dc2ffc19f2c3ae49997496bc"}, + {file = "cryptography-42.0.5-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:cd2030f6650c089aeb304cf093f3244d34745ce0cfcc39f20c6fbfe030102e2a"}, + {file = "cryptography-42.0.5-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a2913c5375154b6ef2e91c10b5720ea6e21007412f6437504ffea2109b5a33d7"}, + {file = "cryptography-42.0.5-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:c41fb5e6a5fe9ebcd58ca3abfeb51dffb5d83d6775405305bfa8715b76521922"}, + {file = "cryptography-42.0.5-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:3eaafe47ec0d0ffcc9349e1708be2aaea4c6dd4978d76bf6eb0cb2c13636c6fc"}, + {file = "cryptography-42.0.5-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:1b95b98b0d2af784078fa69f637135e3c317091b615cd0905f8b8a087e86fa30"}, + {file = "cryptography-42.0.5-cp39-abi3-win32.whl", hash = "sha256:1f71c10d1e88467126f0efd484bd44bca5e14c664ec2ede64c32f20875c0d413"}, + {file = "cryptography-42.0.5-cp39-abi3-win_amd64.whl", hash = "sha256:a011a644f6d7d03736214d38832e030d8268bcff4a41f728e6030325fea3e400"}, + {file = "cryptography-42.0.5-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:9481ffe3cf013b71b2428b905c4f7a9a4f76ec03065b05ff499bb5682a8d9ad8"}, + {file = "cryptography-42.0.5-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:ba334e6e4b1d92442b75ddacc615c5476d4ad55cc29b15d590cc6b86efa487e2"}, + {file = "cryptography-42.0.5-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ba3e4a42397c25b7ff88cdec6e2a16c2be18720f317506ee25210f6d31925f9c"}, + {file = "cryptography-42.0.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:111a0d8553afcf8eb02a4fea6ca4f59d48ddb34497aa8706a6cf536f1a5ec576"}, + {file = "cryptography-42.0.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:cd65d75953847815962c84a4654a84850b2bb4aed3f26fadcc1c13892e1e29f6"}, + {file = "cryptography-42.0.5-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:e807b3188f9eb0eaa7bbb579b462c5ace579f1cedb28107ce8b48a9f7ad3679e"}, + {file = "cryptography-42.0.5-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f12764b8fffc7a123f641d7d049d382b73f96a34117e0b637b80643169cec8ac"}, + {file = "cryptography-42.0.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:37dd623507659e08be98eec89323469e8c7b4c1407c85112634ae3dbdb926fdd"}, + {file = "cryptography-42.0.5.tar.gz", hash = "sha256:6fe07eec95dfd477eb9530aef5bead34fec819b3aaf6c5bd6d20565da607bfe1"}, ] [package.dependencies] @@ -710,23 +710,6 @@ files = [ {file = "defusedcsv-2.0.0.tar.gz", hash = "sha256:7612228e54ef1690a19f7aef526709010608e987f9998c89588ef05d9ecfe4d6"}, ] -[[package]] -name = "deprecated" -version = "1.2.14" -description = "Python @deprecated decorator to deprecate old python classes, functions or methods." -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "Deprecated-1.2.14-py2.py3-none-any.whl", hash = "sha256:6fac8b097794a90302bdbb17b9b815e732d3c4720583ff1b198499d78470466c"}, - {file = "Deprecated-1.2.14.tar.gz", hash = "sha256:e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3"}, -] - -[package.dependencies] -wrapt = ">=1.10,<2" - -[package.extras] -dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"] - [[package]] name = "dj-static" version = "0.0.6" @@ -742,13 +725,13 @@ static3 = "*" [[package]] name = "django" -version = "4.2.9" +version = "4.2.10" description = "A high-level Python web framework that encourages rapid development and clean, pragmatic design." optional = false python-versions = ">=3.8" files = [ - {file = "Django-4.2.9-py3-none-any.whl", hash = "sha256:2cc2fc7d1708ada170ddd6c99f35cc25db664f165d3794bc7723f46b2f8c8984"}, - {file = "Django-4.2.9.tar.gz", hash = "sha256:12498cc3cb8bc8038539fef9e90e95f507502436c1f0c3a673411324fa675d14"}, + {file = "Django-4.2.10-py3-none-any.whl", hash = "sha256:a2d4c4d4ea0b6f0895acde632071aff6400bfc331228fc978b05452a0ff3e9f1"}, + {file = "Django-4.2.10.tar.gz", hash = "sha256:b1260ed381b10a11753c73444408e19869f3241fc45c985cd55a30177c789d13"}, ] [package.dependencies] @@ -1126,13 +1109,13 @@ dev = ["pytest", "pytest-cov", "pytest-django", "pytest-mock", "pytest-runner"] [[package]] name = "elementpath" -version = "4.1.5" +version = "4.3.0" description = "XPath 1.0/2.0/3.0/3.1 parsers and selectors for ElementTree and lxml" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "elementpath-4.1.5-py3-none-any.whl", hash = "sha256:2ac1a2fb31eb22bbbf817f8cf6752f844513216263f0e3892c8e79782fe4bb55"}, - {file = "elementpath-4.1.5.tar.gz", hash = "sha256:c2d6dc524b29ef751ecfc416b0627668119d8812441c555d7471da41d4bacb8d"}, + {file = "elementpath-4.3.0-py3-none-any.whl", hash = "sha256:ecc885f2bb5bd5322fd68ace071f134a8fabf05f0019d77c638b906b844f6593"}, + {file = "elementpath-4.3.0.tar.gz", hash = "sha256:8d25db9150f5a6aa978c9f58e607fcd5ab6e6e3017140563439a9884ab1eb304"}, ] [package.extras] @@ -1249,12 +1232,13 @@ files = [ [[package]] name = "future" -version = "0.18.3" +version = "1.0.0" description = "Clean single-source support for Python 3 and 2" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" files = [ - {file = "future-0.18.3.tar.gz", hash = "sha256:34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307"}, + {file = "future-1.0.0-py3-none-any.whl", hash = "sha256:929292d34f5872e70396626ef385ec22355a1fae8ad29e1a734c3e43f9fbc216"}, + {file = "future-1.0.0.tar.gz", hash = "sha256:bd2968309307861edae1458a4f8a4f3598c03be43b97521076aebf5d94c07b05"}, ] [[package]] @@ -1369,17 +1353,17 @@ referencing = ">=0.31.0" [[package]] name = "jwcrypto" -version = "1.5.1" +version = "1.5.4" description = "Implementation of JOSE Web standards" optional = false -python-versions = ">= 3.6" +python-versions = ">= 3.8" files = [ - {file = "jwcrypto-1.5.1.tar.gz", hash = "sha256:48bb9bf433777136253579e52b75ffe0f9a4a721d133d01f45a0b91ed5f4f1ae"}, + {file = "jwcrypto-1.5.4.tar.gz", hash = "sha256:0815fbab613db99bad85691da5f136f8860423396667728a264bcfa6e1db36b0"}, ] [package.dependencies] cryptography = ">=3.4" -deprecated = "*" +typing_extensions = ">=4.5.0" [[package]] name = "kombu" @@ -1611,85 +1595,101 @@ tests = ["flake8", "pytest", "pytest-cache", "pytest-cover", "pytest-flake8", "p [[package]] name = "multidict" -version = "6.0.4" +version = "6.0.5" description = "multidict implementation" optional = false python-versions = ">=3.7" files = [ - {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b1a97283e0c85772d613878028fec909f003993e1007eafa715b24b377cb9b8"}, - {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:eeb6dcc05e911516ae3d1f207d4b0520d07f54484c49dfc294d6e7d63b734171"}, - {file = "multidict-6.0.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d6d635d5209b82a3492508cf5b365f3446afb65ae7ebd755e70e18f287b0adf7"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c048099e4c9e9d615545e2001d3d8a4380bd403e1a0578734e0d31703d1b0c0b"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea20853c6dbbb53ed34cb4d080382169b6f4554d394015f1bef35e881bf83547"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16d232d4e5396c2efbbf4f6d4df89bfa905eb0d4dc5b3549d872ab898451f569"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36c63aaa167f6c6b04ef2c85704e93af16c11d20de1d133e39de6a0e84582a93"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:64bdf1086b6043bf519869678f5f2757f473dee970d7abf6da91ec00acb9cb98"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:43644e38f42e3af682690876cff722d301ac585c5b9e1eacc013b7a3f7b696a0"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7582a1d1030e15422262de9f58711774e02fa80df0d1578995c76214f6954988"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:ddff9c4e225a63a5afab9dd15590432c22e8057e1a9a13d28ed128ecf047bbdc"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:ee2a1ece51b9b9e7752e742cfb661d2a29e7bcdba2d27e66e28a99f1890e4fa0"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a2e4369eb3d47d2034032a26c7a80fcb21a2cb22e1173d761a162f11e562caa5"}, - {file = "multidict-6.0.4-cp310-cp310-win32.whl", hash = "sha256:574b7eae1ab267e5f8285f0fe881f17efe4b98c39a40858247720935b893bba8"}, - {file = "multidict-6.0.4-cp310-cp310-win_amd64.whl", hash = "sha256:4dcbb0906e38440fa3e325df2359ac6cb043df8e58c965bb45f4e406ecb162cc"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0dfad7a5a1e39c53ed00d2dd0c2e36aed4650936dc18fd9a1826a5ae1cad6f03"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:64da238a09d6039e3bd39bb3aee9c21a5e34f28bfa5aa22518581f910ff94af3"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ff959bee35038c4624250473988b24f846cbeb2c6639de3602c073f10410ceba"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01a3a55bd90018c9c080fbb0b9f4891db37d148a0a18722b42f94694f8b6d4c9"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c5cb09abb18c1ea940fb99360ea0396f34d46566f157122c92dfa069d3e0e982"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:666daae833559deb2d609afa4490b85830ab0dfca811a98b70a205621a6109fe"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11bdf3f5e1518b24530b8241529d2050014c884cf18b6fc69c0c2b30ca248710"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7d18748f2d30f94f498e852c67d61261c643b349b9d2a581131725595c45ec6c"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:458f37be2d9e4c95e2d8866a851663cbc76e865b78395090786f6cd9b3bbf4f4"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b1a2eeedcead3a41694130495593a559a668f382eee0727352b9a41e1c45759a"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7d6ae9d593ef8641544d6263c7fa6408cc90370c8cb2bbb65f8d43e5b0351d9c"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5979b5632c3e3534e42ca6ff856bb24b2e3071b37861c2c727ce220d80eee9ed"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:dcfe792765fab89c365123c81046ad4103fcabbc4f56d1c1997e6715e8015461"}, - {file = "multidict-6.0.4-cp311-cp311-win32.whl", hash = "sha256:3601a3cece3819534b11d4efc1eb76047488fddd0c85a3948099d5da4d504636"}, - {file = "multidict-6.0.4-cp311-cp311-win_amd64.whl", hash = "sha256:81a4f0b34bd92df3da93315c6a59034df95866014ac08535fc819f043bfd51f0"}, - {file = "multidict-6.0.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:67040058f37a2a51ed8ea8f6b0e6ee5bd78ca67f169ce6122f3e2ec80dfe9b78"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:853888594621e6604c978ce2a0444a1e6e70c8d253ab65ba11657659dcc9100f"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:39ff62e7d0f26c248b15e364517a72932a611a9b75f35b45be078d81bdb86603"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af048912e045a2dc732847d33821a9d84ba553f5c5f028adbd364dd4765092ac"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1e8b901e607795ec06c9e42530788c45ac21ef3aaa11dbd0c69de543bfb79a9"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62501642008a8b9871ddfccbf83e4222cf8ac0d5aeedf73da36153ef2ec222d2"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:99b76c052e9f1bc0721f7541e5e8c05db3941eb9ebe7b8553c625ef88d6eefde"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:509eac6cf09c794aa27bcacfd4d62c885cce62bef7b2c3e8b2e49d365b5003fe"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:21a12c4eb6ddc9952c415f24eef97e3e55ba3af61f67c7bc388dcdec1404a067"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:5cad9430ab3e2e4fa4a2ef4450f548768400a2ac635841bc2a56a2052cdbeb87"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ab55edc2e84460694295f401215f4a58597f8f7c9466faec545093045476327d"}, - {file = "multidict-6.0.4-cp37-cp37m-win32.whl", hash = "sha256:5a4dcf02b908c3b8b17a45fb0f15b695bf117a67b76b7ad18b73cf8e92608775"}, - {file = "multidict-6.0.4-cp37-cp37m-win_amd64.whl", hash = "sha256:6ed5f161328b7df384d71b07317f4d8656434e34591f20552c7bcef27b0ab88e"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5fc1b16f586f049820c5c5b17bb4ee7583092fa0d1c4e28b5239181ff9532e0c"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1502e24330eb681bdaa3eb70d6358e818e8e8f908a22a1851dfd4e15bc2f8161"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b692f419760c0e65d060959df05f2a531945af31fda0c8a3b3195d4efd06de11"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45e1ecb0379bfaab5eef059f50115b54571acfbe422a14f668fc8c27ba410e7e"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ddd3915998d93fbcd2566ddf9cf62cdb35c9e093075f862935573d265cf8f65d"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:59d43b61c59d82f2effb39a93c48b845efe23a3852d201ed2d24ba830d0b4cf2"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc8e1d0c705233c5dd0c5e6460fbad7827d5d36f310a0fadfd45cc3029762258"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6aa0418fcc838522256761b3415822626f866758ee0bc6632c9486b179d0b52"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6748717bb10339c4760c1e63da040f5f29f5ed6e59d76daee30305894069a660"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:4d1a3d7ef5e96b1c9e92f973e43aa5e5b96c659c9bc3124acbbd81b0b9c8a951"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4372381634485bec7e46718edc71528024fcdc6f835baefe517b34a33c731d60"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:fc35cb4676846ef752816d5be2193a1e8367b4c1397b74a565a9d0389c433a1d"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4b9d9e4e2b37daddb5c23ea33a3417901fa7c7b3dee2d855f63ee67a0b21e5b1"}, - {file = "multidict-6.0.4-cp38-cp38-win32.whl", hash = "sha256:e41b7e2b59679edfa309e8db64fdf22399eec4b0b24694e1b2104fb789207779"}, - {file = "multidict-6.0.4-cp38-cp38-win_amd64.whl", hash = "sha256:d6c254ba6e45d8e72739281ebc46ea5eb5f101234f3ce171f0e9f5cc86991480"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:16ab77bbeb596e14212e7bab8429f24c1579234a3a462105cda4a66904998664"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc779e9e6f7fda81b3f9aa58e3a6091d49ad528b11ed19f6621408806204ad35"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4ceef517eca3e03c1cceb22030a3e39cb399ac86bff4e426d4fc6ae49052cc60"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:281af09f488903fde97923c7744bb001a9b23b039a909460d0f14edc7bf59706"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:52f2dffc8acaba9a2f27174c41c9e57f60b907bb9f096b36b1a1f3be71c6284d"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b41156839806aecb3641f3208c0dafd3ac7775b9c4c422d82ee2a45c34ba81ca"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e3fc56f88cc98ef8139255cf8cd63eb2c586531e43310ff859d6bb3a6b51f1"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8316a77808c501004802f9beebde51c9f857054a0c871bd6da8280e718444449"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f70b98cd94886b49d91170ef23ec5c0e8ebb6f242d734ed7ed677b24d50c82cf"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bf6774e60d67a9efe02b3616fee22441d86fab4c6d335f9d2051d19d90a40063"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:e69924bfcdda39b722ef4d9aa762b2dd38e4632b3641b1d9a57ca9cd18f2f83a"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:6b181d8c23da913d4ff585afd1155a0e1194c0b50c54fcfe286f70cdaf2b7176"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:52509b5be062d9eafc8170e53026fbc54cf3b32759a23d07fd935fb04fc22d95"}, - {file = "multidict-6.0.4-cp39-cp39-win32.whl", hash = "sha256:27c523fbfbdfd19c6867af7346332b62b586eed663887392cff78d614f9ec313"}, - {file = "multidict-6.0.4-cp39-cp39-win_amd64.whl", hash = "sha256:33029f5734336aa0d4c0384525da0387ef89148dc7191aae00ca5fb23d7aafc2"}, - {file = "multidict-6.0.4.tar.gz", hash = "sha256:3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49"}, + {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:228b644ae063c10e7f324ab1ab6b548bdf6f8b47f3ec234fef1093bc2735e5f9"}, + {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:896ebdcf62683551312c30e20614305f53125750803b614e9e6ce74a96232604"}, + {file = "multidict-6.0.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:411bf8515f3be9813d06004cac41ccf7d1cd46dfe233705933dd163b60e37600"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d147090048129ce3c453f0292e7697d333db95e52616b3793922945804a433c"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:215ed703caf15f578dca76ee6f6b21b7603791ae090fbf1ef9d865571039ade5"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c6390cf87ff6234643428991b7359b5f59cc15155695deb4eda5c777d2b880f"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fd81c4ebdb4f214161be351eb5bcf385426bf023041da2fd9e60681f3cebae"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3cc2ad10255f903656017363cd59436f2111443a76f996584d1077e43ee51182"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6939c95381e003f54cd4c5516740faba40cf5ad3eeff460c3ad1d3e0ea2549bf"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:220dd781e3f7af2c2c1053da9fa96d9cf3072ca58f057f4c5adaaa1cab8fc442"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:766c8f7511df26d9f11cd3a8be623e59cca73d44643abab3f8c8c07620524e4a"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:fe5d7785250541f7f5019ab9cba2c71169dc7d74d0f45253f8313f436458a4ef"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c1c1496e73051918fcd4f58ff2e0f2f3066d1c76a0c6aeffd9b45d53243702cc"}, + {file = "multidict-6.0.5-cp310-cp310-win32.whl", hash = "sha256:7afcdd1fc07befad18ec4523a782cde4e93e0a2bf71239894b8d61ee578c1319"}, + {file = "multidict-6.0.5-cp310-cp310-win_amd64.whl", hash = "sha256:99f60d34c048c5c2fabc766108c103612344c46e35d4ed9ae0673d33c8fb26e8"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f285e862d2f153a70586579c15c44656f888806ed0e5b56b64489afe4a2dbfba"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:53689bb4e102200a4fafa9de9c7c3c212ab40a7ab2c8e474491914d2305f187e"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:612d1156111ae11d14afaf3a0669ebf6c170dbb735e510a7438ffe2369a847fd"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7be7047bd08accdb7487737631d25735c9a04327911de89ff1b26b81745bd4e3"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de170c7b4fe6859beb8926e84f7d7d6c693dfe8e27372ce3b76f01c46e489fcf"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04bde7a7b3de05732a4eb39c94574db1ec99abb56162d6c520ad26f83267de29"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85f67aed7bb647f93e7520633d8f51d3cbc6ab96957c71272b286b2f30dc70ed"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425bf820055005bfc8aa9a0b99ccb52cc2f4070153e34b701acc98d201693733"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d3eb1ceec286eba8220c26f3b0096cf189aea7057b6e7b7a2e60ed36b373b77f"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7901c05ead4b3fb75113fb1dd33eb1253c6d3ee37ce93305acd9d38e0b5f21a4"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e0e79d91e71b9867c73323a3444724d496c037e578a0e1755ae159ba14f4f3d1"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:29bfeb0dff5cb5fdab2023a7a9947b3b4af63e9c47cae2a10ad58394b517fddc"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e030047e85cbcedbfc073f71836d62dd5dadfbe7531cae27789ff66bc551bd5e"}, + {file = "multidict-6.0.5-cp311-cp311-win32.whl", hash = "sha256:2f4848aa3baa109e6ab81fe2006c77ed4d3cd1e0ac2c1fbddb7b1277c168788c"}, + {file = "multidict-6.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:2faa5ae9376faba05f630d7e5e6be05be22913782b927b19d12b8145968a85ea"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:51d035609b86722963404f711db441cf7134f1889107fb171a970c9701f92e1e"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cbebcd5bcaf1eaf302617c114aa67569dd3f090dd0ce8ba9e35e9985b41ac35b"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2ffc42c922dbfddb4a4c3b438eb056828719f07608af27d163191cb3e3aa6cc5"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ceb3b7e6a0135e092de86110c5a74e46bda4bd4fbfeeb3a3bcec79c0f861e450"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:79660376075cfd4b2c80f295528aa6beb2058fd289f4c9252f986751a4cd0496"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4428b29611e989719874670fd152b6625500ad6c686d464e99f5aaeeaca175a"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d84a5c3a5f7ce6db1f999fb9438f686bc2e09d38143f2d93d8406ed2dd6b9226"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76c0de87358b192de7ea9649beb392f107dcad9ad27276324c24c91774ca5271"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:79a6d2ba910adb2cbafc95dad936f8b9386e77c84c35bc0add315b856d7c3abb"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:92d16a3e275e38293623ebf639c471d3e03bb20b8ebb845237e0d3664914caef"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:fb616be3538599e797a2017cccca78e354c767165e8858ab5116813146041a24"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:14c2976aa9038c2629efa2c148022ed5eb4cb939e15ec7aace7ca932f48f9ba6"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:435a0984199d81ca178b9ae2c26ec3d49692d20ee29bc4c11a2a8d4514c67eda"}, + {file = "multidict-6.0.5-cp312-cp312-win32.whl", hash = "sha256:9fe7b0653ba3d9d65cbe7698cca585bf0f8c83dbbcc710db9c90f478e175f2d5"}, + {file = "multidict-6.0.5-cp312-cp312-win_amd64.whl", hash = "sha256:01265f5e40f5a17f8241d52656ed27192be03bfa8764d88e8220141d1e4b3556"}, + {file = "multidict-6.0.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:19fe01cea168585ba0f678cad6f58133db2aa14eccaf22f88e4a6dccadfad8b3"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bf7a982604375a8d49b6cc1b781c1747f243d91b81035a9b43a2126c04766f5"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:107c0cdefe028703fb5dafe640a409cb146d44a6ae201e55b35a4af8e95457dd"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:403c0911cd5d5791605808b942c88a8155c2592e05332d2bf78f18697a5fa15e"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aeaf541ddbad8311a87dd695ed9642401131ea39ad7bc8cf3ef3967fd093b626"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e4972624066095e52b569e02b5ca97dbd7a7ddd4294bf4e7247d52635630dd83"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d946b0a9eb8aaa590df1fe082cee553ceab173e6cb5b03239716338629c50c7a"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b55358304d7a73d7bdf5de62494aaf70bd33015831ffd98bc498b433dfe5b10c"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:a3145cb08d8625b2d3fee1b2d596a8766352979c9bffe5d7833e0503d0f0b5e5"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:d65f25da8e248202bd47445cec78e0025c0fe7582b23ec69c3b27a640dd7a8e3"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c9bf56195c6bbd293340ea82eafd0071cb3d450c703d2c93afb89f93b8386ccc"}, + {file = "multidict-6.0.5-cp37-cp37m-win32.whl", hash = "sha256:69db76c09796b313331bb7048229e3bee7928eb62bab5e071e9f7fcc4879caee"}, + {file = "multidict-6.0.5-cp37-cp37m-win_amd64.whl", hash = "sha256:fce28b3c8a81b6b36dfac9feb1de115bab619b3c13905b419ec71d03a3fc1423"}, + {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:76f067f5121dcecf0d63a67f29080b26c43c71a98b10c701b0677e4a065fbd54"}, + {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b82cc8ace10ab5bd93235dfaab2021c70637005e1ac787031f4d1da63d493c1d"}, + {file = "multidict-6.0.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5cb241881eefd96b46f89b1a056187ea8e9ba14ab88ba632e68d7a2ecb7aadf7"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8e94e6912639a02ce173341ff62cc1201232ab86b8a8fcc05572741a5dc7d93"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09a892e4a9fb47331da06948690ae38eaa2426de97b4ccbfafbdcbe5c8f37ff8"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55205d03e8a598cfc688c71ca8ea5f66447164efff8869517f175ea632c7cb7b"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37b15024f864916b4951adb95d3a80c9431299080341ab9544ed148091b53f50"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2a1dee728b52b33eebff5072817176c172050d44d67befd681609b4746e1c2e"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:edd08e6f2f1a390bf137080507e44ccc086353c8e98c657e666c017718561b89"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:60d698e8179a42ec85172d12f50b1668254628425a6bd611aba022257cac1386"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:3d25f19500588cbc47dc19081d78131c32637c25804df8414463ec908631e453"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:4cc0ef8b962ac7a5e62b9e826bd0cd5040e7d401bc45a6835910ed699037a461"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:eca2e9d0cc5a889850e9bbd68e98314ada174ff6ccd1129500103df7a94a7a44"}, + {file = "multidict-6.0.5-cp38-cp38-win32.whl", hash = "sha256:4a6a4f196f08c58c59e0b8ef8ec441d12aee4125a7d4f4fef000ccb22f8d7241"}, + {file = "multidict-6.0.5-cp38-cp38-win_amd64.whl", hash = "sha256:0275e35209c27a3f7951e1ce7aaf93ce0d163b28948444bec61dd7badc6d3f8c"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e7be68734bd8c9a513f2b0cfd508802d6609da068f40dc57d4e3494cefc92929"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1d9ea7a7e779d7a3561aade7d596649fbecfa5c08a7674b11b423783217933f9"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ea1456df2a27c73ce51120fa2f519f1bea2f4a03a917f4a43c8707cf4cbbae1a"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf590b134eb70629e350691ecca88eac3e3b8b3c86992042fb82e3cb1830d5e1"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5c0631926c4f58e9a5ccce555ad7747d9a9f8b10619621f22f9635f069f6233e"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dce1c6912ab9ff5f179eaf6efe7365c1f425ed690b03341911bf4939ef2f3046"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0868d64af83169e4d4152ec612637a543f7a336e4a307b119e98042e852ad9c"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:141b43360bfd3bdd75f15ed811850763555a251e38b2405967f8e25fb43f7d40"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7df704ca8cf4a073334e0427ae2345323613e4df18cc224f647f251e5e75a527"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6214c5a5571802c33f80e6c84713b2c79e024995b9c5897f794b43e714daeec9"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:cd6c8fca38178e12c00418de737aef1261576bd1b6e8c6134d3e729a4e858b38"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:e02021f87a5b6932fa6ce916ca004c4d441509d33bbdbeca70d05dff5e9d2479"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ebd8d160f91a764652d3e51ce0d2956b38efe37c9231cd82cfc0bed2e40b581c"}, + {file = "multidict-6.0.5-cp39-cp39-win32.whl", hash = "sha256:04da1bb8c8dbadf2a18a452639771951c662c5ad03aefe4884775454be322c9b"}, + {file = "multidict-6.0.5-cp39-cp39-win_amd64.whl", hash = "sha256:d6f6d4f185481c9669b9447bf9d9cf3b95a0e9df9d169bbc17e363b7d5487755"}, + {file = "multidict-6.0.5-py3-none-any.whl", hash = "sha256:0d63c74e3d7ab26de115c49bffc92cc77ed23395303d496eae515d4204a625e7"}, + {file = "multidict-6.0.5.tar.gz", hash = "sha256:f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da"}, ] [[package]] @@ -1781,13 +1781,13 @@ six = ">=1.0.0" [[package]] name = "phonenumberslite" -version = "8.13.29" +version = "8.13.31" description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers." optional = false python-versions = "*" files = [ - {file = "phonenumberslite-8.13.29-py2.py3-none-any.whl", hash = "sha256:74e3ee63dfa2bb562ce2e6ce74ce76ae74a2f81472005b80343235fb43426db4"}, - {file = "phonenumberslite-8.13.29.tar.gz", hash = "sha256:2b04a53401d01ab42564c1abc762fc9808ad398e71dacfa3b38d4321e112ecb3"}, + {file = "phonenumberslite-8.13.31-py2.py3-none-any.whl", hash = "sha256:137d53d5d78dca30bc2becf81a3e2ac74deb8f0997e9bbe44de515ece4bd92bd"}, + {file = "phonenumberslite-8.13.31.tar.gz", hash = "sha256:e1f4359bff90c86d1b52db0e726d3334df00cc7d9c9c2ef66561d5f7a774d4ba"}, ] [[package]] @@ -1897,13 +1897,13 @@ files = [ [[package]] name = "pretix" -version = "2024.1.0" +version = "2024.1.1" description = "Reinventing presales, one ticket at a time" optional = false python-versions = ">=3.9" files = [ - {file = "pretix-2024.1.0-py3-none-any.whl", hash = "sha256:8c4f4e9a8a3011831aae4574049bcd185e5e2df1a04fe8dd6b63a5d4fde18741"}, - {file = "pretix-2024.1.0.tar.gz", hash = "sha256:94982a415acc76367dc88c0a73b74a1b24c423eadf321de50584d0c5ff363ce6"}, + {file = "pretix-2024.1.1-py3-none-any.whl", hash = "sha256:77bf042a0fd5d9c265c044bdfd7f53375adfc962442b6a24190f606a48daeb0b"}, + {file = "pretix-2024.1.1.tar.gz", hash = "sha256:9e25156c26d435a3a78109b7ae5b9cf45ef2a1d31cb1da2dfd773c44d0c631ad"}, ] [package.dependencies] @@ -2312,13 +2312,13 @@ yubiauth-server = ["WebOb", "yubiauth"] [[package]] name = "pytz" -version = "2023.4" +version = "2024.1" description = "World timezone definitions, modern and historical" optional = false python-versions = "*" files = [ - {file = "pytz-2023.4-py2.py3-none-any.whl", hash = "sha256:f90ef520d95e7c46951105338d918664ebfd6f1d995bd7d153127ce90efafa6a"}, - {file = "pytz-2023.4.tar.gz", hash = "sha256:31d4583c4ed539cd037956140d695e42c033a19e984bfce9964a3f7d59bc2b40"}, + {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"}, + {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, ] [[package]] @@ -2537,110 +2537,110 @@ files = [ [[package]] name = "rpds-py" -version = "0.17.1" +version = "0.18.0" description = "Python bindings to Rust's persistent data structures (rpds)" optional = false python-versions = ">=3.8" files = [ - {file = "rpds_py-0.17.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:4128980a14ed805e1b91a7ed551250282a8ddf8201a4e9f8f5b7e6225f54170d"}, - {file = "rpds_py-0.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ff1dcb8e8bc2261a088821b2595ef031c91d499a0c1b031c152d43fe0a6ecec8"}, - {file = "rpds_py-0.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d65e6b4f1443048eb7e833c2accb4fa7ee67cc7d54f31b4f0555b474758bee55"}, - {file = "rpds_py-0.17.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a71169d505af63bb4d20d23a8fbd4c6ce272e7bce6cc31f617152aa784436f29"}, - {file = "rpds_py-0.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:436474f17733c7dca0fbf096d36ae65277e8645039df12a0fa52445ca494729d"}, - {file = "rpds_py-0.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:10162fe3f5f47c37ebf6d8ff5a2368508fe22007e3077bf25b9c7d803454d921"}, - {file = "rpds_py-0.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:720215373a280f78a1814becb1312d4e4d1077b1202a56d2b0815e95ccb99ce9"}, - {file = "rpds_py-0.17.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:70fcc6c2906cfa5c6a552ba7ae2ce64b6c32f437d8f3f8eea49925b278a61453"}, - {file = "rpds_py-0.17.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:91e5a8200e65aaac342a791272c564dffcf1281abd635d304d6c4e6b495f29dc"}, - {file = "rpds_py-0.17.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:99f567dae93e10be2daaa896e07513dd4bf9c2ecf0576e0533ac36ba3b1d5394"}, - {file = "rpds_py-0.17.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:24e4900a6643f87058a27320f81336d527ccfe503984528edde4bb660c8c8d59"}, - {file = "rpds_py-0.17.1-cp310-none-win32.whl", hash = "sha256:0bfb09bf41fe7c51413f563373e5f537eaa653d7adc4830399d4e9bdc199959d"}, - {file = "rpds_py-0.17.1-cp310-none-win_amd64.whl", hash = "sha256:20de7b7179e2031a04042e85dc463a93a82bc177eeba5ddd13ff746325558aa6"}, - {file = "rpds_py-0.17.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:65dcf105c1943cba45d19207ef51b8bc46d232a381e94dd38719d52d3980015b"}, - {file = "rpds_py-0.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:01f58a7306b64e0a4fe042047dd2b7d411ee82e54240284bab63e325762c1147"}, - {file = "rpds_py-0.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:071bc28c589b86bc6351a339114fb7a029f5cddbaca34103aa573eba7b482382"}, - {file = "rpds_py-0.17.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ae35e8e6801c5ab071b992cb2da958eee76340e6926ec693b5ff7d6381441745"}, - {file = "rpds_py-0.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:149c5cd24f729e3567b56e1795f74577aa3126c14c11e457bec1b1c90d212e38"}, - {file = "rpds_py-0.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e796051f2070f47230c745d0a77a91088fbee2cc0502e9b796b9c6471983718c"}, - {file = "rpds_py-0.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60e820ee1004327609b28db8307acc27f5f2e9a0b185b2064c5f23e815f248f8"}, - {file = "rpds_py-0.17.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1957a2ab607f9added64478a6982742eb29f109d89d065fa44e01691a20fc20a"}, - {file = "rpds_py-0.17.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8587fd64c2a91c33cdc39d0cebdaf30e79491cc029a37fcd458ba863f8815383"}, - {file = "rpds_py-0.17.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4dc889a9d8a34758d0fcc9ac86adb97bab3fb7f0c4d29794357eb147536483fd"}, - {file = "rpds_py-0.17.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:2953937f83820376b5979318840f3ee47477d94c17b940fe31d9458d79ae7eea"}, - {file = "rpds_py-0.17.1-cp311-none-win32.whl", hash = "sha256:1bfcad3109c1e5ba3cbe2f421614e70439f72897515a96c462ea657261b96518"}, - {file = "rpds_py-0.17.1-cp311-none-win_amd64.whl", hash = "sha256:99da0a4686ada4ed0f778120a0ea8d066de1a0a92ab0d13ae68492a437db78bf"}, - {file = "rpds_py-0.17.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1dc29db3900cb1bb40353772417800f29c3d078dbc8024fd64655a04ee3c4bdf"}, - {file = "rpds_py-0.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:82ada4a8ed9e82e443fcef87e22a3eed3654dd3adf6e3b3a0deb70f03e86142a"}, - {file = "rpds_py-0.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d36b2b59e8cc6e576f8f7b671e32f2ff43153f0ad6d0201250a7c07f25d570e"}, - {file = "rpds_py-0.17.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3677fcca7fb728c86a78660c7fb1b07b69b281964673f486ae72860e13f512ad"}, - {file = "rpds_py-0.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:516fb8c77805159e97a689e2f1c80655c7658f5af601c34ffdb916605598cda2"}, - {file = "rpds_py-0.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:df3b6f45ba4515632c5064e35ca7f31d51d13d1479673185ba8f9fefbbed58b9"}, - {file = "rpds_py-0.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a967dd6afda7715d911c25a6ba1517975acd8d1092b2f326718725461a3d33f9"}, - {file = "rpds_py-0.17.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dbbb95e6fc91ea3102505d111b327004d1c4ce98d56a4a02e82cd451f9f57140"}, - {file = "rpds_py-0.17.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:02866e060219514940342a1f84303a1ef7a1dad0ac311792fbbe19b521b489d2"}, - {file = "rpds_py-0.17.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:2528ff96d09f12e638695f3a2e0c609c7b84c6df7c5ae9bfeb9252b6fa686253"}, - {file = "rpds_py-0.17.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:bd345a13ce06e94c753dab52f8e71e5252aec1e4f8022d24d56decd31e1b9b23"}, - {file = "rpds_py-0.17.1-cp312-none-win32.whl", hash = "sha256:2a792b2e1d3038daa83fa474d559acfd6dc1e3650ee93b2662ddc17dbff20ad1"}, - {file = "rpds_py-0.17.1-cp312-none-win_amd64.whl", hash = "sha256:292f7344a3301802e7c25c53792fae7d1593cb0e50964e7bcdcc5cf533d634e3"}, - {file = "rpds_py-0.17.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:8ffe53e1d8ef2520ebcf0c9fec15bb721da59e8ef283b6ff3079613b1e30513d"}, - {file = "rpds_py-0.17.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4341bd7579611cf50e7b20bb8c2e23512a3dc79de987a1f411cb458ab670eb90"}, - {file = "rpds_py-0.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f4eb548daf4836e3b2c662033bfbfc551db58d30fd8fe660314f86bf8510b93"}, - {file = "rpds_py-0.17.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b686f25377f9c006acbac63f61614416a6317133ab7fafe5de5f7dc8a06d42eb"}, - {file = "rpds_py-0.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4e21b76075c01d65d0f0f34302b5a7457d95721d5e0667aea65e5bb3ab415c25"}, - {file = "rpds_py-0.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b86b21b348f7e5485fae740d845c65a880f5d1eda1e063bc59bef92d1f7d0c55"}, - {file = "rpds_py-0.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f175e95a197f6a4059b50757a3dca33b32b61691bdbd22c29e8a8d21d3914cae"}, - {file = "rpds_py-0.17.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1701fc54460ae2e5efc1dd6350eafd7a760f516df8dbe51d4a1c79d69472fbd4"}, - {file = "rpds_py-0.17.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:9051e3d2af8f55b42061603e29e744724cb5f65b128a491446cc029b3e2ea896"}, - {file = "rpds_py-0.17.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:7450dbd659fed6dd41d1a7d47ed767e893ba402af8ae664c157c255ec6067fde"}, - {file = "rpds_py-0.17.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:5a024fa96d541fd7edaa0e9d904601c6445e95a729a2900c5aec6555fe921ed6"}, - {file = "rpds_py-0.17.1-cp38-none-win32.whl", hash = "sha256:da1ead63368c04a9bded7904757dfcae01eba0e0f9bc41d3d7f57ebf1c04015a"}, - {file = "rpds_py-0.17.1-cp38-none-win_amd64.whl", hash = "sha256:841320e1841bb53fada91c9725e766bb25009cfd4144e92298db296fb6c894fb"}, - {file = "rpds_py-0.17.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:f6c43b6f97209e370124baf2bf40bb1e8edc25311a158867eb1c3a5d449ebc7a"}, - {file = "rpds_py-0.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7d63ec01fe7c76c2dbb7e972fece45acbb8836e72682bde138e7e039906e2c"}, - {file = "rpds_py-0.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81038ff87a4e04c22e1d81f947c6ac46f122e0c80460b9006e6517c4d842a6ec"}, - {file = "rpds_py-0.17.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:810685321f4a304b2b55577c915bece4c4a06dfe38f6e62d9cc1d6ca8ee86b99"}, - {file = "rpds_py-0.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:25f071737dae674ca8937a73d0f43f5a52e92c2d178330b4c0bb6ab05586ffa6"}, - {file = "rpds_py-0.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aa5bfb13f1e89151ade0eb812f7b0d7a4d643406caaad65ce1cbabe0a66d695f"}, - {file = "rpds_py-0.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dfe07308b311a8293a0d5ef4e61411c5c20f682db6b5e73de6c7c8824272c256"}, - {file = "rpds_py-0.17.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a000133a90eea274a6f28adc3084643263b1e7c1a5a66eb0a0a7a36aa757ed74"}, - {file = "rpds_py-0.17.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d0e8a6434a3fbf77d11448c9c25b2f25244226cfbec1a5159947cac5b8c5fa4"}, - {file = "rpds_py-0.17.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:efa767c220d94aa4ac3a6dd3aeb986e9f229eaf5bce92d8b1b3018d06bed3772"}, - {file = "rpds_py-0.17.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:dbc56680ecf585a384fbd93cd42bc82668b77cb525343170a2d86dafaed2a84b"}, - {file = "rpds_py-0.17.1-cp39-none-win32.whl", hash = "sha256:270987bc22e7e5a962b1094953ae901395e8c1e1e83ad016c5cfcfff75a15a3f"}, - {file = "rpds_py-0.17.1-cp39-none-win_amd64.whl", hash = "sha256:2a7b2f2f56a16a6d62e55354dd329d929560442bd92e87397b7a9586a32e3e76"}, - {file = "rpds_py-0.17.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a3264e3e858de4fc601741498215835ff324ff2482fd4e4af61b46512dd7fc83"}, - {file = "rpds_py-0.17.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:f2f3b28b40fddcb6c1f1f6c88c6f3769cd933fa493ceb79da45968a21dccc920"}, - {file = "rpds_py-0.17.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9584f8f52010295a4a417221861df9bea4c72d9632562b6e59b3c7b87a1522b7"}, - {file = "rpds_py-0.17.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c64602e8be701c6cfe42064b71c84ce62ce66ddc6422c15463fd8127db3d8066"}, - {file = "rpds_py-0.17.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:060f412230d5f19fc8c8b75f315931b408d8ebf56aec33ef4168d1b9e54200b1"}, - {file = "rpds_py-0.17.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b9412abdf0ba70faa6e2ee6c0cc62a8defb772e78860cef419865917d86c7342"}, - {file = "rpds_py-0.17.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9737bdaa0ad33d34c0efc718741abaafce62fadae72c8b251df9b0c823c63b22"}, - {file = "rpds_py-0.17.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9f0e4dc0f17dcea4ab9d13ac5c666b6b5337042b4d8f27e01b70fae41dd65c57"}, - {file = "rpds_py-0.17.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:1db228102ab9d1ff4c64148c96320d0be7044fa28bd865a9ce628ce98da5973d"}, - {file = "rpds_py-0.17.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:d8bbd8e56f3ba25a7d0cf980fc42b34028848a53a0e36c9918550e0280b9d0b6"}, - {file = "rpds_py-0.17.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:be22ae34d68544df293152b7e50895ba70d2a833ad9566932d750d3625918b82"}, - {file = "rpds_py-0.17.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bf046179d011e6114daf12a534d874958b039342b347348a78b7cdf0dd9d6041"}, - {file = "rpds_py-0.17.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:1a746a6d49665058a5896000e8d9d2f1a6acba8a03b389c1e4c06e11e0b7f40d"}, - {file = "rpds_py-0.17.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0b8bf5b8db49d8fd40f54772a1dcf262e8be0ad2ab0206b5a2ec109c176c0a4"}, - {file = "rpds_py-0.17.1-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f7f4cb1f173385e8a39c29510dd11a78bf44e360fb75610594973f5ea141028b"}, - {file = "rpds_py-0.17.1-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7fbd70cb8b54fe745301921b0816c08b6d917593429dfc437fd024b5ba713c58"}, - {file = "rpds_py-0.17.1-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9bdf1303df671179eaf2cb41e8515a07fc78d9d00f111eadbe3e14262f59c3d0"}, - {file = "rpds_py-0.17.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fad059a4bd14c45776600d223ec194e77db6c20255578bb5bcdd7c18fd169361"}, - {file = "rpds_py-0.17.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3664d126d3388a887db44c2e293f87d500c4184ec43d5d14d2d2babdb4c64cad"}, - {file = "rpds_py-0.17.1-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:698ea95a60c8b16b58be9d854c9f993c639f5c214cf9ba782eca53a8789d6b19"}, - {file = "rpds_py-0.17.1-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:c3d2010656999b63e628a3c694f23020322b4178c450dc478558a2b6ef3cb9bb"}, - {file = "rpds_py-0.17.1-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:938eab7323a736533f015e6069a7d53ef2dcc841e4e533b782c2bfb9fb12d84b"}, - {file = "rpds_py-0.17.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:1e626b365293a2142a62b9a614e1f8e331b28f3ca57b9f05ebbf4cf2a0f0bdc5"}, - {file = "rpds_py-0.17.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:380e0df2e9d5d5d339803cfc6d183a5442ad7ab3c63c2a0982e8c824566c5ccc"}, - {file = "rpds_py-0.17.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b760a56e080a826c2e5af09002c1a037382ed21d03134eb6294812dda268c811"}, - {file = "rpds_py-0.17.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5576ee2f3a309d2bb403ec292d5958ce03953b0e57a11d224c1f134feaf8c40f"}, - {file = "rpds_py-0.17.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f3c3461ebb4c4f1bbc70b15d20b565759f97a5aaf13af811fcefc892e9197ba"}, - {file = "rpds_py-0.17.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:637b802f3f069a64436d432117a7e58fab414b4e27a7e81049817ae94de45d8d"}, - {file = "rpds_py-0.17.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffee088ea9b593cc6160518ba9bd319b5475e5f3e578e4552d63818773c6f56a"}, - {file = "rpds_py-0.17.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3ac732390d529d8469b831949c78085b034bff67f584559340008d0f6041a049"}, - {file = "rpds_py-0.17.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:93432e747fb07fa567ad9cc7aaadd6e29710e515aabf939dfbed8046041346c6"}, - {file = "rpds_py-0.17.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:7b7d9ca34542099b4e185b3c2a2b2eda2e318a7dbde0b0d83357a6d4421b5296"}, - {file = "rpds_py-0.17.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:0387ce69ba06e43df54e43968090f3626e231e4bc9150e4c3246947567695f68"}, - {file = "rpds_py-0.17.1.tar.gz", hash = "sha256:0210b2668f24c078307260bf88bdac9d6f1093635df5123789bfee4d8d7fc8e7"}, + {file = "rpds_py-0.18.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:5b4e7d8d6c9b2e8ee2d55c90b59c707ca59bc30058269b3db7b1f8df5763557e"}, + {file = "rpds_py-0.18.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c463ed05f9dfb9baebef68048aed8dcdc94411e4bf3d33a39ba97e271624f8f7"}, + {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01e36a39af54a30f28b73096dd39b6802eddd04c90dbe161c1b8dbe22353189f"}, + {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d62dec4976954a23d7f91f2f4530852b0c7608116c257833922a896101336c51"}, + {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dd18772815d5f008fa03d2b9a681ae38d5ae9f0e599f7dda233c439fcaa00d40"}, + {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:923d39efa3cfb7279a0327e337a7958bff00cc447fd07a25cddb0a1cc9a6d2da"}, + {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39514da80f971362f9267c600b6d459bfbbc549cffc2cef8e47474fddc9b45b1"}, + {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a34d557a42aa28bd5c48a023c570219ba2593bcbbb8dc1b98d8cf5d529ab1434"}, + {file = "rpds_py-0.18.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:93df1de2f7f7239dc9cc5a4a12408ee1598725036bd2dedadc14d94525192fc3"}, + {file = "rpds_py-0.18.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:34b18ba135c687f4dac449aa5157d36e2cbb7c03cbea4ddbd88604e076aa836e"}, + {file = "rpds_py-0.18.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c0b5dcf9193625afd8ecc92312d6ed78781c46ecbf39af9ad4681fc9f464af88"}, + {file = "rpds_py-0.18.0-cp310-none-win32.whl", hash = "sha256:c4325ff0442a12113a6379af66978c3fe562f846763287ef66bdc1d57925d337"}, + {file = "rpds_py-0.18.0-cp310-none-win_amd64.whl", hash = "sha256:7223a2a5fe0d217e60a60cdae28d6949140dde9c3bcc714063c5b463065e3d66"}, + {file = "rpds_py-0.18.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:3a96e0c6a41dcdba3a0a581bbf6c44bb863f27c541547fb4b9711fd8cf0ffad4"}, + {file = "rpds_py-0.18.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30f43887bbae0d49113cbaab729a112251a940e9b274536613097ab8b4899cf6"}, + {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fcb25daa9219b4cf3a0ab24b0eb9a5cc8949ed4dc72acb8fa16b7e1681aa3c58"}, + {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d68c93e381010662ab873fea609bf6c0f428b6d0bb00f2c6939782e0818d37bf"}, + {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b34b7aa8b261c1dbf7720b5d6f01f38243e9b9daf7e6b8bc1fd4657000062f2c"}, + {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e6d75ab12b0bbab7215e5d40f1e5b738aa539598db27ef83b2ec46747df90e1"}, + {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b8612cd233543a3781bc659c731b9d607de65890085098986dfd573fc2befe5"}, + {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aec493917dd45e3c69d00a8874e7cbed844efd935595ef78a0f25f14312e33c6"}, + {file = "rpds_py-0.18.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:661d25cbffaf8cc42e971dd570d87cb29a665f49f4abe1f9e76be9a5182c4688"}, + {file = "rpds_py-0.18.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1df3659d26f539ac74fb3b0c481cdf9d725386e3552c6fa2974f4d33d78e544b"}, + {file = "rpds_py-0.18.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a1ce3ba137ed54f83e56fb983a5859a27d43a40188ba798993812fed73c70836"}, + {file = "rpds_py-0.18.0-cp311-none-win32.whl", hash = "sha256:69e64831e22a6b377772e7fb337533c365085b31619005802a79242fee620bc1"}, + {file = "rpds_py-0.18.0-cp311-none-win_amd64.whl", hash = "sha256:998e33ad22dc7ec7e030b3df701c43630b5bc0d8fbc2267653577e3fec279afa"}, + {file = "rpds_py-0.18.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:7f2facbd386dd60cbbf1a794181e6aa0bd429bd78bfdf775436020172e2a23f0"}, + {file = "rpds_py-0.18.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1d9a5be316c15ffb2b3c405c4ff14448c36b4435be062a7f578ccd8b01f0c4d8"}, + {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd5bf1af8efe569654bbef5a3e0a56eca45f87cfcffab31dd8dde70da5982475"}, + {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5417558f6887e9b6b65b4527232553c139b57ec42c64570569b155262ac0754f"}, + {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:56a737287efecafc16f6d067c2ea0117abadcd078d58721f967952db329a3e5c"}, + {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8f03bccbd8586e9dd37219bce4d4e0d3ab492e6b3b533e973fa08a112cb2ffc9"}, + {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4457a94da0d5c53dc4b3e4de1158bdab077db23c53232f37a3cb7afdb053a4e3"}, + {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0ab39c1ba9023914297dd88ec3b3b3c3f33671baeb6acf82ad7ce883f6e8e157"}, + {file = "rpds_py-0.18.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9d54553c1136b50fd12cc17e5b11ad07374c316df307e4cfd6441bea5fb68496"}, + {file = "rpds_py-0.18.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0af039631b6de0397ab2ba16eaf2872e9f8fca391b44d3d8cac317860a700a3f"}, + {file = "rpds_py-0.18.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:84ffab12db93b5f6bad84c712c92060a2d321b35c3c9960b43d08d0f639d60d7"}, + {file = "rpds_py-0.18.0-cp312-none-win32.whl", hash = "sha256:685537e07897f173abcf67258bee3c05c374fa6fff89d4c7e42fb391b0605e98"}, + {file = "rpds_py-0.18.0-cp312-none-win_amd64.whl", hash = "sha256:e003b002ec72c8d5a3e3da2989c7d6065b47d9eaa70cd8808b5384fbb970f4ec"}, + {file = "rpds_py-0.18.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:08f9ad53c3f31dfb4baa00da22f1e862900f45908383c062c27628754af2e88e"}, + {file = "rpds_py-0.18.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c0013fe6b46aa496a6749c77e00a3eb07952832ad6166bd481c74bda0dcb6d58"}, + {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e32a92116d4f2a80b629778280103d2a510a5b3f6314ceccd6e38006b5e92dcb"}, + {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e541ec6f2ec456934fd279a3120f856cd0aedd209fc3852eca563f81738f6861"}, + {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bed88b9a458e354014d662d47e7a5baafd7ff81c780fd91584a10d6ec842cb73"}, + {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2644e47de560eb7bd55c20fc59f6daa04682655c58d08185a9b95c1970fa1e07"}, + {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e8916ae4c720529e18afa0b879473049e95949bf97042e938530e072fde061d"}, + {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:465a3eb5659338cf2a9243e50ad9b2296fa15061736d6e26240e713522b6235c"}, + {file = "rpds_py-0.18.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ea7d4a99f3b38c37eac212dbd6ec42b7a5ec51e2c74b5d3223e43c811609e65f"}, + {file = "rpds_py-0.18.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:67071a6171e92b6da534b8ae326505f7c18022c6f19072a81dcf40db2638767c"}, + {file = "rpds_py-0.18.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:41ef53e7c58aa4ef281da975f62c258950f54b76ec8e45941e93a3d1d8580594"}, + {file = "rpds_py-0.18.0-cp38-none-win32.whl", hash = "sha256:fdea4952db2793c4ad0bdccd27c1d8fdd1423a92f04598bc39425bcc2b8ee46e"}, + {file = "rpds_py-0.18.0-cp38-none-win_amd64.whl", hash = "sha256:7cd863afe7336c62ec78d7d1349a2f34c007a3cc6c2369d667c65aeec412a5b1"}, + {file = "rpds_py-0.18.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:5307def11a35f5ae4581a0b658b0af8178c65c530e94893345bebf41cc139d33"}, + {file = "rpds_py-0.18.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:77f195baa60a54ef9d2de16fbbfd3ff8b04edc0c0140a761b56c267ac11aa467"}, + {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39f5441553f1c2aed4de4377178ad8ff8f9d733723d6c66d983d75341de265ab"}, + {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9a00312dea9310d4cb7dbd7787e722d2e86a95c2db92fbd7d0155f97127bcb40"}, + {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8f2fc11e8fe034ee3c34d316d0ad8808f45bc3b9ce5857ff29d513f3ff2923a1"}, + {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:586f8204935b9ec884500498ccc91aa869fc652c40c093bd9e1471fbcc25c022"}, + {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddc2f4dfd396c7bfa18e6ce371cba60e4cf9d2e5cdb71376aa2da264605b60b9"}, + {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5ddcba87675b6d509139d1b521e0c8250e967e63b5909a7e8f8944d0f90ff36f"}, + {file = "rpds_py-0.18.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7bd339195d84439cbe5771546fe8a4e8a7a045417d8f9de9a368c434e42a721e"}, + {file = "rpds_py-0.18.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:d7c36232a90d4755b720fbd76739d8891732b18cf240a9c645d75f00639a9024"}, + {file = "rpds_py-0.18.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6b0817e34942b2ca527b0e9298373e7cc75f429e8da2055607f4931fded23e20"}, + {file = "rpds_py-0.18.0-cp39-none-win32.whl", hash = "sha256:99f70b740dc04d09e6b2699b675874367885217a2e9f782bdf5395632ac663b7"}, + {file = "rpds_py-0.18.0-cp39-none-win_amd64.whl", hash = "sha256:6ef687afab047554a2d366e112dd187b62d261d49eb79b77e386f94644363294"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ad36cfb355e24f1bd37cac88c112cd7730873f20fb0bdaf8ba59eedf8216079f"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:36b3ee798c58ace201289024b52788161e1ea133e4ac93fba7d49da5fec0ef9e"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8a2f084546cc59ea99fda8e070be2fd140c3092dc11524a71aa8f0f3d5a55ca"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e4461d0f003a0aa9be2bdd1b798a041f177189c1a0f7619fe8c95ad08d9a45d7"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8db715ebe3bb7d86d77ac1826f7d67ec11a70dbd2376b7cc214199360517b641"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:793968759cd0d96cac1e367afd70c235867831983f876a53389ad869b043c948"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66e6a3af5a75363d2c9a48b07cb27c4ea542938b1a2e93b15a503cdfa8490795"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6ef0befbb5d79cf32d0266f5cff01545602344eda89480e1dd88aca964260b18"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:1d4acf42190d449d5e89654d5c1ed3a4f17925eec71f05e2a41414689cda02d1"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:a5f446dd5055667aabaee78487f2b5ab72e244f9bc0b2ffebfeec79051679984"}, + {file = "rpds_py-0.18.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:9dbbeb27f4e70bfd9eec1be5477517365afe05a9b2c441a0b21929ee61048124"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:22806714311a69fd0af9b35b7be97c18a0fc2826e6827dbb3a8c94eac6cf7eeb"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:b34ae4636dfc4e76a438ab826a0d1eed2589ca7d9a1b2d5bb546978ac6485461"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c8370641f1a7f0e0669ddccca22f1da893cef7628396431eb445d46d893e5cd"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c8362467a0fdeccd47935f22c256bec5e6abe543bf0d66e3d3d57a8fb5731863"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11a8c85ef4a07a7638180bf04fe189d12757c696eb41f310d2426895356dcf05"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b316144e85316da2723f9d8dc75bada12fa58489a527091fa1d5a612643d1a0e"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf1ea2e34868f6fbf070e1af291c8180480310173de0b0c43fc38a02929fc0e3"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e546e768d08ad55b20b11dbb78a745151acbd938f8f00d0cfbabe8b0199b9880"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:4901165d170a5fde6f589acb90a6b33629ad1ec976d4529e769c6f3d885e3e80"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:618a3d6cae6ef8ec88bb76dd80b83cfe415ad4f1d942ca2a903bf6b6ff97a2da"}, + {file = "rpds_py-0.18.0-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:ed4eb745efbff0a8e9587d22a84be94a5eb7d2d99c02dacf7bd0911713ed14dd"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:6c81e5f372cd0dc5dc4809553d34f832f60a46034a5f187756d9b90586c2c307"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:43fbac5f22e25bee1d482c97474f930a353542855f05c1161fd804c9dc74a09d"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d7faa6f14017c0b1e69f5e2c357b998731ea75a442ab3841c0dbbbfe902d2c4"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:08231ac30a842bd04daabc4d71fddd7e6d26189406d5a69535638e4dcb88fe76"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:044a3e61a7c2dafacae99d1e722cc2d4c05280790ec5a05031b3876809d89a5c"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3f26b5bd1079acdb0c7a5645e350fe54d16b17bfc5e71f371c449383d3342e17"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:482103aed1dfe2f3b71a58eff35ba105289b8d862551ea576bd15479aba01f66"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1374f4129f9bcca53a1bba0bb86bf78325a0374577cf7e9e4cd046b1e6f20e24"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:635dc434ff724b178cb192c70016cc0ad25a275228f749ee0daf0eddbc8183b1"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:bc362ee4e314870a70f4ae88772d72d877246537d9f8cb8f7eacf10884862432"}, + {file = "rpds_py-0.18.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:4832d7d380477521a8c1644bbab6588dfedea5e30a7d967b5fb75977c45fd77f"}, + {file = "rpds_py-0.18.0.tar.gz", hash = "sha256:42821446ee7a76f5d9f71f9e33a4fb2ffd724bb3e7f93386150b61a43115788d"}, ] [[package]] @@ -2699,19 +2699,19 @@ xmlschema = "*" [[package]] name = "setuptools" -version = "69.0.3" +version = "69.1.1" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-69.0.3-py3-none-any.whl", hash = "sha256:385eb4edd9c9d5c17540511303e39a147ce2fc04bc55289c322b9e5904fe2c05"}, - {file = "setuptools-69.0.3.tar.gz", hash = "sha256:be1af57fc409f93647f2e8e4573a142ed38724b8cdd389706a867bb4efcf1e78"}, + {file = "setuptools-69.1.1-py3-none-any.whl", hash = "sha256:02fa291a0471b3a18b2b2481ed902af520c69e8ae0919c13da936542754b4c56"}, + {file = "setuptools-69.1.1.tar.gz", hash = "sha256:5c0806c7d9af348e6dd3777b4f4dbb42c7ad85b190104837488eab9a7c945cf8"}, ] [package.extras] docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] -testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.2)", "pip (>=19.1)", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.2)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] [[package]] name = "six" @@ -2806,24 +2806,24 @@ files = [ [[package]] name = "tlds" -version = "2024012300" +version = "2024020701" description = "Automatically updated list of valid TLDs taken directly from IANA" optional = false python-versions = "*" files = [ - {file = "tlds-2024012300-py2.py3-none-any.whl", hash = "sha256:7d46a7bb9ff741e14c72d554f7945b5b3244694ee87fada69db3941afed09d14"}, - {file = "tlds-2024012300.tar.gz", hash = "sha256:521d97a4fdb8ad58c7daf68cc3a3901d5052a402ae0ac2caca06932d275bad5f"}, + {file = "tlds-2024020701-py2.py3-none-any.whl", hash = "sha256:e061ec51d0ca160ac64b8c228b0cf72b544aeb47249d82dbd1b5681245b4444a"}, + {file = "tlds-2024020701.tar.gz", hash = "sha256:462b5dff89cfa1a3dca4cfd2fb81a53acaadee3fe618b7a018e314d692e0d3a4"}, ] [[package]] name = "tqdm" -version = "4.66.1" +version = "4.66.2" description = "Fast, Extensible Progress Meter" optional = false python-versions = ">=3.7" files = [ - {file = "tqdm-4.66.1-py3-none-any.whl", hash = "sha256:d302b3c5b53d47bce91fea46679d9c3c6508cf6332229aa1e7d8653723793386"}, - {file = "tqdm-4.66.1.tar.gz", hash = "sha256:d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7"}, + {file = "tqdm-4.66.2-py3-none-any.whl", hash = "sha256:1ee4f8a893eb9bef51c6e35730cebf234d5d0b6bd112b0271e10ed7c24a02bd9"}, + {file = "tqdm-4.66.2.tar.gz", hash = "sha256:6cd52cdf0fef0e0f543299cfc96fec90d7b8a7e88745f411ec33eb44d5ed3531"}, ] [package.dependencies] @@ -2837,24 +2837,24 @@ telegram = ["requests"] [[package]] name = "typing-extensions" -version = "4.9.0" +version = "4.10.0" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.9.0-py3-none-any.whl", hash = "sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd"}, - {file = "typing_extensions-4.9.0.tar.gz", hash = "sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783"}, + {file = "typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475"}, + {file = "typing_extensions-4.10.0.tar.gz", hash = "sha256:b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb"}, ] [[package]] name = "tzdata" -version = "2023.4" +version = "2024.1" description = "Provider of IANA time zone data" optional = false python-versions = ">=2" files = [ - {file = "tzdata-2023.4-py2.py3-none-any.whl", hash = "sha256:aa3ace4329eeacda5b7beb7ea08ece826c28d761cda36e747cfbf97996d39bf3"}, - {file = "tzdata-2023.4.tar.gz", hash = "sha256:dd54c94f294765522c77399649b4fefd95522479a664a0cec87f41bebc6148c9"}, + {file = "tzdata-2024.1-py2.py3-none-any.whl", hash = "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252"}, + {file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"}, ] [[package]] @@ -2933,13 +2933,13 @@ files = [ [[package]] name = "urllib3" -version = "2.2.0" +version = "2.2.1" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.8" files = [ - {file = "urllib3-2.2.0-py3-none-any.whl", hash = "sha256:ce3711610ddce217e6d113a2732fafad960a03fd0318c91faa79481e35c11224"}, - {file = "urllib3-2.2.0.tar.gz", hash = "sha256:051d961ad0c62a94e50ecf1af379c3aba230c66c710493493560c0c223c49f20"}, + {file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"}, + {file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"}, ] [package.extras] @@ -3023,103 +3023,24 @@ files = [ {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, ] -[[package]] -name = "wrapt" -version = "1.16.0" -description = "Module for decorators, wrappers and monkey patching." -optional = false -python-versions = ">=3.6" -files = [ - {file = "wrapt-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4"}, - {file = "wrapt-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020"}, - {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440"}, - {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487"}, - {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf"}, - {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72"}, - {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0"}, - {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136"}, - {file = "wrapt-1.16.0-cp310-cp310-win32.whl", hash = "sha256:f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d"}, - {file = "wrapt-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2"}, - {file = "wrapt-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09"}, - {file = "wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d"}, - {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389"}, - {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060"}, - {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1"}, - {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3"}, - {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956"}, - {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d"}, - {file = "wrapt-1.16.0-cp311-cp311-win32.whl", hash = "sha256:66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362"}, - {file = "wrapt-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89"}, - {file = "wrapt-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b"}, - {file = "wrapt-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36"}, - {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73"}, - {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809"}, - {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b"}, - {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81"}, - {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9"}, - {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c"}, - {file = "wrapt-1.16.0-cp312-cp312-win32.whl", hash = "sha256:685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc"}, - {file = "wrapt-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8"}, - {file = "wrapt-1.16.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8"}, - {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39"}, - {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c"}, - {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40"}, - {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc"}, - {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e"}, - {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465"}, - {file = "wrapt-1.16.0-cp36-cp36m-win32.whl", hash = "sha256:da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e"}, - {file = "wrapt-1.16.0-cp36-cp36m-win_amd64.whl", hash = "sha256:6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966"}, - {file = "wrapt-1.16.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593"}, - {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292"}, - {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5"}, - {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf"}, - {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228"}, - {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f"}, - {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c"}, - {file = "wrapt-1.16.0-cp37-cp37m-win32.whl", hash = "sha256:9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c"}, - {file = "wrapt-1.16.0-cp37-cp37m-win_amd64.whl", hash = "sha256:66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00"}, - {file = "wrapt-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0"}, - {file = "wrapt-1.16.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202"}, - {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0"}, - {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e"}, - {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f"}, - {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267"}, - {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca"}, - {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6"}, - {file = "wrapt-1.16.0-cp38-cp38-win32.whl", hash = "sha256:c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b"}, - {file = "wrapt-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41"}, - {file = "wrapt-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2"}, - {file = "wrapt-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb"}, - {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8"}, - {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c"}, - {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a"}, - {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664"}, - {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f"}, - {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537"}, - {file = "wrapt-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3"}, - {file = "wrapt-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35"}, - {file = "wrapt-1.16.0-py3-none-any.whl", hash = "sha256:6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1"}, - {file = "wrapt-1.16.0.tar.gz", hash = "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"}, -] - [[package]] name = "xmlschema" -version = "3.0.1" +version = "3.0.2" description = "An XML Schema validator and decoder" optional = false python-versions = ">=3.8" files = [ - {file = "xmlschema-3.0.1-py3-none-any.whl", hash = "sha256:116243b2ad38cd2df9ee0606d4e4e898a6f156736b39ab0017e6f49862c0809e"}, - {file = "xmlschema-3.0.1.tar.gz", hash = "sha256:bb24a5f4738e49d85d9eb03a2b5af26bbbbfdb055517ad953d98925094b8c026"}, + {file = "xmlschema-3.0.2-py3-none-any.whl", hash = "sha256:c8935f81e1645df3e71136805c7206871268aa8c6e31e3667ea23746f22fea0a"}, + {file = "xmlschema-3.0.2.tar.gz", hash = "sha256:b2526e91695905aa62d4aa2b68349565a168fedf88ada0005f5e0dd21da9734b"}, ] [package.dependencies] -elementpath = ">=4.1.5,<5.0.0" +elementpath = ">=4.3.0,<5.0.0" [package.extras] -codegen = ["elementpath (>=4.1.5,<5.0.0)", "jinja2"] -dev = ["Sphinx", "coverage", "elementpath (>=4.1.5,<5.0.0)", "flake8", "jinja2", "lxml", "lxml-stubs", "memory-profiler", "mypy", "sphinx-rtd-theme", "tox"] -docs = ["Sphinx", "elementpath (>=4.1.5,<5.0.0)", "jinja2", "sphinx-rtd-theme"] +codegen = ["elementpath (>=4.3.0,<5.0.0)", "jinja2"] +dev = ["Sphinx", "coverage", "elementpath (>=4.3.0,<5.0.0)", "flake8", "jinja2", "lxml", "lxml-stubs", "memory-profiler", "mypy", "sphinx-rtd-theme", "tox"] +docs = ["Sphinx", "elementpath (>=4.3.0,<5.0.0)", "jinja2", "sphinx-rtd-theme"] [[package]] name = "yarl" @@ -3269,4 +3190,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "962d1184c48af00a191965cca13e241e8c2377f16bf32b568df6c791ef0af834" +content-hash = "c766a0dcecee2fdceb93eb95222197e196f55120b33bb4a4e41416a46e8bd301" diff --git a/pkgs/pretix/pyproject.toml b/pkgs/pretix/pyproject.toml index 2a6d6a5..18c2b8d 100644 --- a/pkgs/pretix/pyproject.toml +++ b/pkgs/pretix/pyproject.toml @@ -7,7 +7,7 @@ license = "MIT" [tool.poetry.dependencies] python = "^3.10" -pretix = "^2024.1.0" +pretix = "^2024.1.1" [tool.poetry.dev-dependencies] From eb3eb33e3921e9deea15bcdf25d5a6a74ab302a2 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 28 Feb 2024 13:56:38 +0000 Subject: [PATCH 244/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'flake-utils': 'github:numtide/flake-utils/1ef2e671c3b0c19053962c07dbda38332dcebf26' (2024-01-15) → 'github:numtide/flake-utils/d465f4819400de7c8d874d50b982301f28a84605' (2024-02-28) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/84d981bae8b5e783b3b548de505b22880559515f' (2024-02-17) → 'github:nixos/nixpkgs/b7ee09cf5614b02d289cd86fcfa6f24d4e078c2a' (2024-02-26) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/090f90c92fea282f11c9f33624b17a14a6087a28' (2024-02-19) → 'github:NixOS/nixpkgs/916c2eb0082b5c1ce6d9a90c979e281b9bb5e170' (2024-02-28) • Updated input 'nur': 'github:nix-community/NUR/0746498eec8c0a0b2ac98fe835d6af996b719531' (2024-02-19) → 'github:nix-community/NUR/7afc790502560fc0e4897a1fe996865185bcff69' (2024-02-28) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/403d923ea8e2e6cedce3a0f04a9394c4244cb806' (2024-02-17) → 'github:nix-community/poetry2nix/3c92540611f42d3fb2d0d084a6c694cd6544b609' (2024-02-22) • Updated input 'poetry2nix/nix-github-actions': 'github:nix-community/nix-github-actions/4bb5e752616262457bc7ca5882192a564c0472d2' (2023-11-03) → 'github:nix-community/nix-github-actions/5163432afc817cf8bd1f031418d1869e4c9d5547' (2023-12-29) • Updated input 'poetry2nix/treefmt-nix': 'github:numtide/treefmt-nix/e82f32aa7f06bbbd56d7b12186d555223dc399d1' (2023-11-12) → 'github:numtide/treefmt-nix/e504621290a1fd896631ddbc5e9c16f4366c9f65' (2024-02-19) • Updated input 'sops-nix': 'github:Mic92/sops-nix/ffed177a9d2c685901781c3c6c9024ae0ffc252b' (2024-02-18) → 'github:Mic92/sops-nix/a1c8de14f60924fafe13aea66b46157f0150f4cf' (2024-02-26) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/69405156cffbdf2be50153f13cbdf9a0bea38e49' (2024-02-17) → 'github:NixOS/nixpkgs/89a2a12e6c8c6a56c72eb3589982c8e2f89c70ea' (2024-02-25) --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index d732f65..e2f152e 100644 --- a/flake.lock +++ b/flake.lock @@ -21,11 +21,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "lastModified": 1709126324, + "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "rev": "d465f4819400de7c8d874d50b982301f28a84605", "type": "github" }, "original": { @@ -130,11 +130,11 @@ ] }, "locked": { - "lastModified": 1698974481, - "narHash": "sha256-yPncV9Ohdz1zPZxYHQf47S8S0VrnhV7nNhCawY46hDA=", + "lastModified": 1703863825, + "narHash": "sha256-rXwqjtwiGKJheXB43ybM8NwWB8rO2dSRrEqes0S7F5Y=", "owner": "nix-community", "repo": "nix-github-actions", - "rev": "4bb5e752616262457bc7ca5882192a564c0472d2", + "rev": "5163432afc817cf8bd1f031418d1869e4c9d5547", "type": "github" }, "original": { @@ -202,11 +202,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1708210246, - "narHash": "sha256-Q8L9XwrBK53fbuuIFMbjKvoV7ixfLFKLw4yV+SD28Y8=", + "lastModified": 1708819810, + "narHash": "sha256-1KosU+ZFXf31GPeCBNxobZWMgHsSOJcrSFA6F2jhzdE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "69405156cffbdf2be50153f13cbdf9a0bea38e49", + "rev": "89a2a12e6c8c6a56c72eb3589982c8e2f89c70ea", "type": "github" }, "original": { @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1708355737, - "narHash": "sha256-gnvsgW5EHnpfMhVAGtjZyXOCZVIg3e3kMqGOzZdPkDE=", + "lastModified": 1709127906, + "narHash": "sha256-VOwXke+Vn29HZ7nq14nROQYd3xEmyxwWI7NfbKxbqYY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "090f90c92fea282f11c9f33624b17a14a6087a28", + "rev": "916c2eb0082b5c1ce6d9a90c979e281b9bb5e170", "type": "github" }, "original": { @@ -234,11 +234,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1708161998, - "narHash": "sha256-6KnemmUorCvlcAvGziFosAVkrlWZGIc6UNT9GUYr0jQ=", + "lastModified": 1708979614, + "narHash": "sha256-FWLWmYojIg6TeqxSnHkKpHu5SGnFP5um1uUjH+wRV6g=", "owner": "nixos", "repo": "nixpkgs", - "rev": "84d981bae8b5e783b3b548de505b22880559515f", + "rev": "b7ee09cf5614b02d289cd86fcfa6f24d4e078c2a", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1708353184, - "narHash": "sha256-BdSI+j49fZmMD9to0Har0wRvkN14x2Ipzipu6cQfp2A=", + "lastModified": 1709123495, + "narHash": "sha256-+pvD2syrkSCtmX23z3QknBICihICLG6tskPGOFROszM=", "owner": "nix-community", "repo": "NUR", - "rev": "0746498eec8c0a0b2ac98fe835d6af996b719531", + "rev": "7afc790502560fc0e4897a1fe996865185bcff69", "type": "github" }, "original": { @@ -276,11 +276,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1708175019, - "narHash": "sha256-B7wY2pNrLc3X9uYRo1LUmVzI6oH6fX8oi+96GdUpayU=", + "lastModified": 1708589824, + "narHash": "sha256-2GOiFTkvs5MtVF65sC78KNVxQSmsxtk0WmV1wJ9V2ck=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "403d923ea8e2e6cedce3a0f04a9394c4244cb806", + "rev": "3c92540611f42d3fb2d0d084a6c694cd6544b609", "type": "github" }, "original": { @@ -311,11 +311,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1708225343, - "narHash": "sha256-Q0uVUOfumc1DcKsIJIfMCHph08MjkOvZxvPb/Vi8hWw=", + "lastModified": 1708987867, + "narHash": "sha256-k2lDaDWNTU5sBVHanYzjDKVDmk29RHIgdbbXu5sdzBA=", "owner": "Mic92", "repo": "sops-nix", - "rev": "ffed177a9d2c685901781c3c6c9024ae0ffc252b", + "rev": "a1c8de14f60924fafe13aea66b46157f0150f4cf", "type": "github" }, "original": { @@ -361,11 +361,11 @@ ] }, "locked": { - "lastModified": 1699786194, - "narHash": "sha256-3h3EH1FXQkIeAuzaWB+nK0XK54uSD46pp+dMD3gAcB4=", + "lastModified": 1708335038, + "narHash": "sha256-ETLZNFBVCabo7lJrpjD6cAbnE11eDOjaQnznmg/6hAE=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "e82f32aa7f06bbbd56d7b12186d555223dc399d1", + "rev": "e504621290a1fd896631ddbc5e9c16f4366c9f65", "type": "github" }, "original": { From 099f0df91322371afed8b0de78555112c1701019 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 29 Feb 2024 17:35:07 +0000 Subject: [PATCH 245/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/b7ee09cf5614b02d289cd86fcfa6f24d4e078c2a' (2024-02-26) → 'github:nixos/nixpkgs/c8e74c2f83fe12b4e5a8bd1abbc090575b0f7611' (2024-02-28) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/916c2eb0082b5c1ce6d9a90c979e281b9bb5e170' (2024-02-28) → 'github:NixOS/nixpkgs/bf82777340bcb9b01ebfc8e18994a67724ce78bb' (2024-02-29) • Updated input 'nur': 'github:nix-community/NUR/7afc790502560fc0e4897a1fe996865185bcff69' (2024-02-28) → 'github:nix-community/NUR/c52cf9478c981de340151638d76c3c2371eb9ebe' (2024-02-29) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index e2f152e..f9d14cc 100644 --- a/flake.lock +++ b/flake.lock @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1709127906, - "narHash": "sha256-VOwXke+Vn29HZ7nq14nROQYd3xEmyxwWI7NfbKxbqYY=", + "lastModified": 1709227968, + "narHash": "sha256-sH6Kn4cVVns68Q9aozD6njzz1LuyXjSAFlldKa2wBkY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "916c2eb0082b5c1ce6d9a90c979e281b9bb5e170", + "rev": "bf82777340bcb9b01ebfc8e18994a67724ce78bb", "type": "github" }, "original": { @@ -234,11 +234,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1708979614, - "narHash": "sha256-FWLWmYojIg6TeqxSnHkKpHu5SGnFP5um1uUjH+wRV6g=", + "lastModified": 1709128929, + "narHash": "sha256-GWrv9a+AgGhG4/eI/CyVVIIygia7cEy68Huv3P8oyaw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b7ee09cf5614b02d289cd86fcfa6f24d4e078c2a", + "rev": "c8e74c2f83fe12b4e5a8bd1abbc090575b0f7611", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1709123495, - "narHash": "sha256-+pvD2syrkSCtmX23z3QknBICihICLG6tskPGOFROszM=", + "lastModified": 1709225079, + "narHash": "sha256-2bmOKg/aIgmguPZz3OwjG5lCAGaLwM9ubBkXjcp7edU=", "owner": "nix-community", "repo": "NUR", - "rev": "7afc790502560fc0e4897a1fe996865185bcff69", + "rev": "c52cf9478c981de340151638d76c3c2371eb9ebe", "type": "github" }, "original": { From 24fe88e338400a59239b08714754d3cc567d75b6 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 29 Feb 2024 17:48:12 +0000 Subject: [PATCH 246/766] Enable zram otherwise, cryptsetup gets OOM killed when adding a new key --- hosts/iron/configuration.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index 75bba3f..c9b061f 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -205,5 +205,12 @@ with lib; { options.zfs.fsname = "rpool/nixos/podman"; }; }; + + zramSwap = { + enable = true; + algorithm = "zstd"; + memoryPercent = 60; + priority = 1; + }; }; } From b7ddc8fb505f4a5d566c944256ff171d54a30cb8 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 29 Feb 2024 17:49:08 +0000 Subject: [PATCH 247/766] Add luks passfile --- hosts/iron/configuration.nix | 12 +++++++++++- hosts/iron/luks-passfile.gpg | Bin 0 -> 4262 bytes 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 hosts/iron/luks-passfile.gpg diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index c9b061f..df0793e 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -112,7 +112,14 @@ with lib; { "net.ipv6.conf.all.forwarding" = 1; }; initrd = { - availableKernelModules = [ "ahci" ]; + availableKernelModules = [ + "ahci" + "ehci_pci" + "sd_mod" + "sdhci_pci" + "usb_storage" + "xhci_pci" + ]; systemd.enable = true; luks.devices = lib.listToAttrs ( map @@ -121,6 +128,9 @@ with lib; { value = { device = "${devNodes}${dev}${partitionScheme.luksDev}"; allowDiscards = true; + keyFileSize = 4096; + keyFile = "/dev/disk/by-id/usb-jalr_RAM_Mass_Storage_DE6270431F6F342C-0:0"; + keyFileTimeout = 5; }; }) disks diff --git a/hosts/iron/luks-passfile.gpg b/hosts/iron/luks-passfile.gpg new file mode 100644 index 0000000000000000000000000000000000000000..96c99037e5db9fbe22fce05d023542b20c621db6 GIT binary patch literal 4262 zcmZpPV^02)Y1$XoA}hqm?l67s$(To9X8IjJ*=3QcYA(#ErZSszx%QuEx)QyW#&)6 z^or5tXTYUZGbcC-US|?Exe=CB^~8ZuVTn-s^=TWX@iTusUa9I|{HD$)@Lm3~H%s}f zWOrp-u1UGd=y}uM;iRPY_e{%c|Nc#6xW0Ac*O(U<>!uXnxS;8(m2tD+dWn@V_wBoH zo;XUZXUt5Gb?QDd*X!D=Tg{SRy4G>NWwq3vHF0*{q?ea`X5F&9H8fECRu6 zezG16@19w^sw_9ID6Cs?_i9J>7SW3f_VCCF@|})bBC}xY!aspm^R-Jo4}CtslmDcC za_`jkYxP&RPgdis{5iS#fYhvzFPZAAJl5}Ix%V{PR5D`)Q|&Wz=Cpv)yWU@}x@dBm zNgoS6*t$?hL=GpE4sLa!0r1~+KfL&|Gn3aw8h?Hb zH901;Bqb~F=ey;`CB1w74@k}Vcl_uNi@WJt@=rzixLh*6JN?_P_W2JEp1zS;Ter^q z&qW@ANbWKXhsx7SeoMaKh@I0M*E7THmR!dl;f4iIFY)!h+Bm5iY5@3@+<`1IAFAHf<^4VRgl+*c_7;2(GY#izB}*UB@wcYp7&S*_PH zwNJ;JQN7Jfw|%?M*MzwD)%UK;EIv0gBU0<3O7EE~(>QKS@pRxU3=ymBuj^fYV3z-! z)D6;+3aZzw?(DVUKe*JbLaQu0;CXS#>V=b;i*@hZn_BnefV;cS&h?jmeeV^sRbjYw zCI8LkH}_&+w(blJG!}c^$@u^1&3o5RKB{*STz=H2?#88$ZH>(qf8{@GwP{BA#Y7|? z?%e#1`}D8#UYk#Uw|kN@r}tBT{flc=_TI6VPfAbuv^qbl@T$wE^1s}5@`aSR`sS@nG4k7|O*eWQ?%lA{dYXpy*$ua%?oU>>Jset4GSkcQ zp1#}4|JwE!S-X;+3ZLo7-K|+7a6u#Zv6H@%Lzcm-){hrfptpR( z!RsN#4l=V$s*mq1N$5QLCa6{N?8G36LoD2{Lps+xEjMQfn6Y2(h}YUsmH&e0j^B`) z9KDz8w3|iVlai%IfwGxxbN?*b^6*gLzpDZEiOY2hDwb+&&RKa@Z=vP64Bztt;^*y) z1g+I&{bm((uhMv+<9^$D%F?<0Sq*osme((R_P9LI+WZ~YJVPZ#-lkuXN-OSKZPpZ> z*te(o$PSsc^Iq6(oExgTA%R23LH)B9bl@V3_eVto}u; zpKRVs$G;J}<=KKZ+X}0#Ge6aO9Ej7|GIizuc^k!UdX^h%71c>^xTTjqV{2X0@@Aip ze*CFdi*pYiNi+4m6SV1!cWjxm5c_teX`&4in>y5w>3n$LEx)j0mTGZ5pUI_&C*EOS z|L<5lr!nV5aj=7n`K%{z8mt^QX1OZx#;0%CczKPW>z=F6HpN)q5KO80eMI-Q;-!d# zd0Thag5&89BzYjMHxjOqu_jZAoOz+nl?Z+#1!}E!`P9ENoUhonZa;uQ#96&a}Ik?%~CTz9UQOvD+og^?#R<|rUw`FK6KDF>@U}g~hh5Qh%f>Lqm2wkIZ@yf1O77pm zOP@d9Q$FT&@DTT-bz)UEo43q-+x{&t(DzmPa>nE{=h(ERFL2L0^`E;iHmW2mD*g0P z@%;nvDqx5HLy z&E@QK=3J}fbR0IaKh9A(=$dvomP6jwBPcDf%hJbB_oU47pYPI-=V~>SvFK;&sL!;T zU-0o-%JhOuRn92OtyYE?jTPwhG(&GDTE!Qb*9GNfMS|v)Rf35BM-CVHZgZ0H= zt+0UAIlm^qkl*yCB7V=KzDYuN>|0M(i7Q*o)Kn{pc)shwgCAFOLu}9A`_daM|DNm9 z#fixa1-4B19uX`0Orq6$bFZG~JHtwoZw>BV%dP9uZWr*|CvJ8*wsQ}ca@5X{@@aWY zWe#kwzAbW`%BVF%+PQm;((#U(8;=)ePbv2dj5?B19e?HUJK@m7uWid}Rf9f;7i8S5 z_B;G8TFs=LeR=EWg=K%_mUL!F8Tkc&IvG-RNhl|A`k9%#n%`OSt~z`1$J(%PU#Ir9~b-i2&;n!4!3lZ8P^4WVXS_MPyTi)g(i$hmTb@5f0yPgX`3RP~2iZAdoKnO?bk@zh8axuxB) zJML)921q%z%>B~ivaIN_dK<_5HxtXsYB{6PuSweNg*0zGn>^c7>&zyTXLI2K0 z@5U21%Z@hre!N_8YfjXQDVOvar*x+`6bWWX$UoYW)}$?;X>sy9hg^rtp8CK#`IPvj zhZUus+?f+??;x7OU~Rx`d}Piho;nsLF|C!QhusXO{0=+4gnNZd!$+n*!P~Vnm;L?F zRajfOP>26f@oS-Jw_@$T32wg7CAEjOXKT{<#&nH(&By zr|XrjvOUb(LltMIhdkZkn{gugx8;?7qyJxiJ>)cv^|IglocGIm;elBU4l$jwQ@` zd6HOu^{O0&y~j`d4c9DM;>$So-UE+kQo2vp&hERI74bz*a=SwCwYQb~V#Iej-m3C50QoZMm#0#HGwvKD0rW~yAGC1R~^{PX33P;WghW86* zGwi*cS-Z&~_FL5Fu6fgV<>m`Au5;&@@%KSo=}VtjbHC6z4W9-6PT!{#dQ~asbP>yg zR5qRsoC3Og`QGuHZ2xoE`v|Mno=C6iJO;C=>ED?@DeYKzf2*)x?xTj1?A5wa2ft@2 zT-$5%{R?N(bnctGK5ng>DwHhuf5zw2zSa+VW?eCOd}K-0n;9%Jf3%#1UvmFD|8d&s z@CAW)A3pl`$@F3W=BF1tRppffc_-=UoSd>PSNnjqpQnbZ^DIsyiAQrX56k`hSJ1=1 zmtjt)9a~<*qOS9jn;sbDX1$#H^h>M=qt>qp6{q;0J-Fpuq;~D0fy##S8mSzM|1Q}) z`K55|_4tbyLt9h5gVal&2(DIcEiI;m8T0k0bZSgE686PHR@QX;i8H$eA_XOWuDk6L6uLq!p(QBxvA15}?K?+TtE(6N zh`nQ&COYM#I^R|0DW`wmwl|(8BceMYNZLcG?E2Z8$4<6j$ajO#>+X5WWBLZvJc>hFan z&zbaL!UQ*_968BbwJ+bBEi}s69>o^Z^!NJpL%-+OY-dgGt+1C9n&G(n%+U|i(ib)_ zv(TD&V566i|AKd)7>|d9XGE@%JhEW2UDJno``W7}&f<$}b$FB|?GSDJYSx>x(MRqq zSAAshxX^*w^39gT2X&IBtm6y+T(p$UT7dDLq3fLeax3lLoLXij<9H|DyZF4Xw$=iH zjiql(-`XiW-Q1&k^U$TUV(H6nYMk(Vx#ME8+QSJ~zPx{Fq3sxb#ktDzWA*ff;a|^d zv8QcYteYYFzi{Kh{fAFa_;8HJg;ibh-U{w*D+2$#e{>;sa_Y z57$c4uG=+5H5p|k{SQ96ccsOXL((D!>{l9(x_jHXo|sdwg{t46mn4IWp{>F1AK4P6+-@{jd z$_Ji0JQ2v$xjV<9J^So-#nXkG%sd4(m~<8^PxQ$Vdg>A;`9XFQ!;Lw-?`5q{rmlNq zzJGOsWypCwhL!ik9sC#ca2;POen+SGfJW#tlcOnor7POB{#-VeZ~LOHaDQFbTN&l) z{5(sKeEf04v61P9mvvk4w0Bj8m$yH(Ri2!8g-f<-am4z!lf Date: Fri, 1 Mar 2024 09:17:37 +0000 Subject: [PATCH 248/766] Add recommended nginx settings --- hosts/weinturm-pretix-prod/services/pretix.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hosts/weinturm-pretix-prod/services/pretix.nix b/hosts/weinturm-pretix-prod/services/pretix.nix index 191024e..908d469 100644 --- a/hosts/weinturm-pretix-prod/services/pretix.nix +++ b/hosts/weinturm-pretix-prod/services/pretix.nix @@ -32,6 +32,11 @@ in }; }; + services.nginx = { + recommendedOptimisation = true; + recommendedTlsSettings = true; + }; + jalr.mailserver = { enable = true; fqdn = "tickets.weinturm.jalr.de"; From 41b3a31a6c2dd225619c080ed198a65ec7e36c3d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 1 Mar 2024 09:18:03 +0000 Subject: [PATCH 249/766] Increase gunicorn workers --- hosts/weinturm-pretix-prod/services/pretix.nix | 1 + pkgs/pretix/module.nix | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/hosts/weinturm-pretix-prod/services/pretix.nix b/hosts/weinturm-pretix-prod/services/pretix.nix index 908d469..78c7026 100644 --- a/hosts/weinturm-pretix-prod/services/pretix.nix +++ b/hosts/weinturm-pretix-prod/services/pretix.nix @@ -30,6 +30,7 @@ in "mail@jalr.de" ]; }; + gunicornWorkers = 32; }; services.nginx = { diff --git a/pkgs/pretix/module.nix b/pkgs/pretix/module.nix index da43907..c2f851a 100644 --- a/pkgs/pretix/module.nix +++ b/pkgs/pretix/module.nix @@ -106,6 +106,11 @@ in type = types.path; description = "Path to the sops secrets file which stores pretix.cfg settings."; }; + gunicornWorkers = mkOption { + type = types.int; + description = "Number of gunicorn workers. Recommended is roughly two times the number of CPU cores available."; + default = 2; + }; mail = { enable = mkEnableOption "Enables or disables emailing."; from = mkOption { @@ -232,7 +237,7 @@ in set -euo pipefail export PRETIX_CONFIG_FILE="$CREDENTIALS_DIRECTORY/config" exec ${pythonPackages.gunicorn}/bin/gunicorn pretix.wsgi --name ${name} \ - --workers 3 \ + --workers ${toString cfg.gunicornWorkers} \ --log-level=info \ --bind=${bind.host}:${toString bind.port} ''; From c2b11ca20348de7e4e3f8226a5f41dfaab2b74a4 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 2 Mar 2024 00:19:21 +0000 Subject: [PATCH 250/766] Update pretix version Bump pretix version from 2024.1.1 to 2024.2.0 --- pkgs/pretix/poetry.lock | 571 +++++++++++++++++----------------- pkgs/pretix/pretix-static.nix | 2 +- pkgs/pretix/pyproject.toml | 2 +- 3 files changed, 279 insertions(+), 296 deletions(-) diff --git a/pkgs/pretix/poetry.lock b/pkgs/pretix/poetry.lock index ce6d6ba..1e11f88 100644 --- a/pkgs/pretix/poetry.lock +++ b/pkgs/pretix/poetry.lock @@ -155,6 +155,17 @@ typing-extensions = {version = ">=4", markers = "python_version < \"3.11\""} [package.extras] tests = ["mypy (>=0.800)", "pytest", "pytest-asyncio"] +[[package]] +name = "asn1crypto" +version = "1.5.1" +description = "Fast ASN.1 parser and serializer with definitions for private keys, public keys, certificates, CRL, OCSP, CMS, PKCS#3, PKCS#7, PKCS#8, PKCS#12, PKCS#5, X.509 and TSP" +optional = false +python-versions = "*" +files = [ + {file = "asn1crypto-1.5.1-py2.py3-none-any.whl", hash = "sha256:db4e40728b728508912cbb3d44f19ce188f218e9eba635821bb4b68564f8fd67"}, + {file = "asn1crypto-1.5.1.tar.gz", hash = "sha256:13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c"}, +] + [[package]] name = "async-timeout" version = "4.0.3" @@ -433,13 +444,13 @@ pycparser = "*" [[package]] name = "chardet" -version = "5.1.0" +version = "5.2.0" description = "Universal encoding detector for Python 3" optional = false python-versions = ">=3.7" files = [ - {file = "chardet-5.1.0-py3-none-any.whl", hash = "sha256:362777fb014af596ad31334fde1e8c327dfdb076e1960d1694662d46a6917ab9"}, - {file = "chardet-5.1.0.tar.gz", hash = "sha256:0d62712b956bc154f85fb0a266e2a3c5913c2967e00348701b32411d6def31e5"}, + {file = "chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970"}, + {file = "chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7"}, ] [[package]] @@ -671,32 +682,35 @@ test-randomorder = ["pytest-randomly"] [[package]] name = "css-inline" -version = "0.8.7" -description = "Fast CSS inlining written in Rust" +version = "0.13.0" +description = "High-performance library for inlining CSS into HTML 'style' attributes" optional = false python-versions = ">=3.7" files = [ - {file = "css_inline-0.8.7-cp37-abi3-macosx_10_7_x86_64.whl", hash = "sha256:3604d7af3df90681a5a31d2a1438bd237ae1ba171f2ea1cb62824f4909238a63"}, - {file = "css_inline-0.8.7-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:6e0afb35e17888b2ddd8efee738f1f68ae569615cb32b66427381372cab2d6b2"}, - {file = "css_inline-0.8.7-cp37-abi3-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:84e2b2c5c7c16b5ff546f9fae53e7f0d24bc63e9de6a2a655809c3698ad9f9e2"}, - {file = "css_inline-0.8.7-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:773a150ba085d73ea8a4f27f562dcf90a7bc8dcecf0d1867b660f22d036c6a6a"}, - {file = "css_inline-0.8.7-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:39a90bd53272ee68a4d7909dc9b03240b296c50249b964cb253faf361c90e9dd"}, - {file = "css_inline-0.8.7-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20ee0894e7a72434750799fced0c7404fed19f3d0538c7fb3ff61d4efacd473d"}, - {file = "css_inline-0.8.7-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:5b08837acd1fe60a8f8cbd44dfce88dda1676aca47eeb51bf512c02e90803b77"}, - {file = "css_inline-0.8.7-cp37-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:6c0f02ddc5b694520d0fb8db7961e703120a373e516a74cfa6c8303b1c131e42"}, - {file = "css_inline-0.8.7-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:51cc996cfce5fd10aa5e41569c664cded198f30f4706e699e97942893aa9e7f9"}, - {file = "css_inline-0.8.7-cp37-abi3-win32.whl", hash = "sha256:c5910202e7583f0d1b6aea34d63cd378e28808f8bcf210a9c961cb26ccc5ed25"}, - {file = "css_inline-0.8.7-cp37-abi3-win_amd64.whl", hash = "sha256:6803c2fb2064330de1761a44ae86ab6c9b78d1761c36ebdd8919346e595d702d"}, - {file = "css_inline-0.8.7-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:36a392ed87f840621838e63937e151d236a62cfdba2760f503273330691ea3d8"}, - {file = "css_inline-0.8.7-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0757b71ae23d4131d7ca274bb35d41f5faa41b88eed9090df3ab409689d055d"}, - {file = "css_inline-0.8.7-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6579c9ea5e288e644bd78dbfd3d2bae9c33eb11e3f02d2c61cf4b5683c8f97da"}, - {file = "css_inline-0.8.7-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:819bf4c331e59da07d824529027c00ec618c2f0b1d498f43e5281988339ac082"}, - {file = "css_inline-0.8.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e87293717865bca00bbc2046864e33a421468129a8a8fe938abf2397c4a8e26"}, - {file = "css_inline-0.8.7-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea7d4313eed1de7def6d2e9c4780f11e1faed3800f2e2ad4de47dc15ba7a40da"}, - {file = "css_inline-0.8.7-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:7e5d5aebf87bcacc6bd3f548e0648f4e1b26d4b50e7239df234a42cb1374c039"}, - {file = "css_inline-0.8.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3b5dc09f6de78fa9f7152e701fdfa2ed827a7c0543a6746ba9879e8731c6da5"}, - {file = "css_inline-0.8.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bf6053352d053d32a2294510416c704e5b62325a8214dca5c764455e318948c"}, - {file = "css_inline-0.8.7.tar.gz", hash = "sha256:68dac7010c27624627f7df9be12888b9129fd658804f52f8feac25f7d4766050"}, + {file = "css_inline-0.13.0-cp37-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:c06b1cb6e5638328e9f1a62f8a0b760914852834d950b7f6812653231c806ded"}, + {file = "css_inline-0.13.0-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:af66e7dc7e762ab24ebe57f98b7c02ac87cc10457a64b545de923a47694f63f7"}, + {file = "css_inline-0.13.0-cp37-abi3-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:cbe8e5b1379695183a1700a70ad22877731b22e223ad4b7ddbd38b6e3b18b484"}, + {file = "css_inline-0.13.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c4861ed5c62412a7f1db87195cb94cfdb7b2ae1f1b4e10a31df7f6217e49bda"}, + {file = "css_inline-0.13.0-cp37-abi3-manylinux_2_24_aarch64.whl", hash = "sha256:30d7d79b939df4ef14587998ad1be350410b3c19e697d0a445f99c7734fdf15a"}, + {file = "css_inline-0.13.0-cp37-abi3-manylinux_2_24_armv7l.whl", hash = "sha256:0111e8c300676aa47b99f30667583ec0a70914a63377ceefa008f5ba75853df3"}, + {file = "css_inline-0.13.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:c1a8cb1323579bc38e2b9a55fe2ebb9f95dae5774521d1e870a6548069774197"}, + {file = "css_inline-0.13.0-cp37-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:c69ca8e8fca9c4d655de091c126d9d69de82b66e3182abdfb37db54c9532caac"}, + {file = "css_inline-0.13.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:2f843e58e8907614c39f65898ebddb62e893bf49a022f26ac1fa1a7f53591521"}, + {file = "css_inline-0.13.0-cp37-abi3-win32.whl", hash = "sha256:3963e66e20c554798d58759bb282ef763836b4ee2afa2c6e466b2b31d9475f21"}, + {file = "css_inline-0.13.0-cp37-abi3-win_amd64.whl", hash = "sha256:f3403165e511935de3fd702b667fac2b018e080d96ac04918041788ec409f04b"}, + {file = "css_inline-0.13.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:80db07d589361f1ed75c297bd984049918693016c81cf288cc3dc7276653469a"}, + {file = "css_inline-0.13.0-pp310-pypy310_pp73-manylinux_2_24_aarch64.whl", hash = "sha256:00410f5bf5bbc50d6f0aa474750aa2c9ebdc51b37af60e15d1ced7e539608492"}, + {file = "css_inline-0.13.0-pp310-pypy310_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:3814d5060fa874ea88cc7262f0dec79cd83c63d5528fed049434ff4cd725d296"}, + {file = "css_inline-0.13.0-pp37-pypy37_pp73-macosx_10_12_x86_64.whl", hash = "sha256:866dba67fc4065981fc60af72f470e58210eaee59b69ba6ac023f948ee5199b5"}, + {file = "css_inline-0.13.0-pp37-pypy37_pp73-manylinux_2_24_aarch64.whl", hash = "sha256:1fa752b54612e38bfc69083fd77de53df2053bd5f1de2a210e37b3347eb9720d"}, + {file = "css_inline-0.13.0-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:f481d2dfa116c9f1a163c2478b6c4c7d035740a680d19b6cb780677148c595f6"}, + {file = "css_inline-0.13.0-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:206c1cb0700f00a7164d18ce293bdaa4ca6cdfc4640e04ea5724ef1c4937bd64"}, + {file = "css_inline-0.13.0-pp38-pypy38_pp73-manylinux_2_24_aarch64.whl", hash = "sha256:6761771ea8481fdcb00ce25727e08232561a107a8330f012e52276a6fe84e080"}, + {file = "css_inline-0.13.0-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:d7f8399b05d88c4cf48bcea3a9fe4f6cdab9e4def0e608d9c7e9447dd39f2e72"}, + {file = "css_inline-0.13.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:46296fefce679d760cd824cefcdd4f372dbc23232599a99e94612fc46bc0bfbe"}, + {file = "css_inline-0.13.0-pp39-pypy39_pp73-manylinux_2_24_aarch64.whl", hash = "sha256:4c9e4d17a801240e3d23d047f159a997f01c52d441a2529dddb18557068dbf5b"}, + {file = "css_inline-0.13.0-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:551619187c6c2d58442e5b67917e4254cec552e38750be942a871bc118ee56d6"}, + {file = "css_inline-0.13.0.tar.gz", hash = "sha256:d1a8366df670f7db78f5da9f8d4f500b3a5485bc945ec53e43c976b1626853ee"}, ] [[package]] @@ -759,13 +773,13 @@ django = "*" [[package]] name = "django-bootstrap3" -version = "23.1" -description = "Bootstrap 3 support for Django projects" +version = "23.6" +description = "Bootstrap 3 for Django" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "django-bootstrap3-23.1.tar.gz", hash = "sha256:7095b7c66a89f3baeb78ea028799ebd795d29739fc8602460422e7c2a194ad30"}, - {file = "django_bootstrap3-23.1-py3-none-any.whl", hash = "sha256:044ff0d34cd6a3928e0b7dc104a06b2f73e71bea237da5e9a477cc047a5d8e21"}, + {file = "django-bootstrap3-23.6.tar.gz", hash = "sha256:f8563b2641bcad3a8626beda979ff697c8375002cbf906fbd49f4be97b0f8a54"}, + {file = "django_bootstrap3-23.6-py3-none-any.whl", hash = "sha256:ba1334104c390ca9dc5b985a8d8ec45fab2c6401e4abb8d3a47d3b225614c3d9"}, ] [package.dependencies] @@ -773,13 +787,13 @@ Django = ">=3.2" [[package]] name = "django-compressor" -version = "4.3.1" +version = "4.4" description = "('Compresses linked and inline JavaScript or CSS into single cached files.',)" optional = false python-versions = "*" files = [ - {file = "django_compressor-4.3.1-py2.py3-none-any.whl", hash = "sha256:2c451174acb6f083054af7c8089376599b22d6380bd60311f78ec3fed79acc8e"}, - {file = "django_compressor-4.3.1.tar.gz", hash = "sha256:68858c0da6cc099cc29a022d86c3ba8aed114da9d709eeceb0d7b8181b5f8942"}, + {file = "django_compressor-4.4-py2.py3-none-any.whl", hash = "sha256:6e2b0c0becb9607f5099c2546a824c5b84a6918a34bc37a8a622ffa250313596"}, + {file = "django_compressor-4.4.tar.gz", hash = "sha256:1b0acc9cfba9f69bc38e7c41da9b0d70a20bc95587b643ffef9609cf46064f67"}, ] [package.dependencies] @@ -810,13 +824,13 @@ test = ["djangorestframework", "graphene-django", "pytest", "pytest-cov", "pytes [[package]] name = "django-filter" -version = "23.2" +version = "23.5" description = "Django-filter is a reusable Django application for allowing users to filter querysets dynamically." optional = false python-versions = ">=3.7" files = [ - {file = "django-filter-23.2.tar.gz", hash = "sha256:2fe15f78108475eda525692813205fa6f9e8c1caf1ae65daa5862d403c6dbf00"}, - {file = "django_filter-23.2-py3-none-any.whl", hash = "sha256:d12d8e0fc6d3eb26641e553e5d53b191eb8cec611427d4bdce0becb1f7c172b5"}, + {file = "django-filter-23.5.tar.gz", hash = "sha256:67583aa43b91fe8c49f74a832d95f4d8442be628fd4c6d65e9f811f5153a4e5c"}, + {file = "django_filter-23.5-py3-none-any.whl", hash = "sha256:99122a201d83860aef4fe77758b69dda913e874cc5e0eaa50a86b0b18d708400"}, ] [package.dependencies] @@ -839,13 +853,13 @@ django-jquery-js = "*" [[package]] name = "django-formtools" -version = "2.4.1" +version = "2.5.1" description = "A set of high-level abstractions for Django forms" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "django-formtools-2.4.1.tar.gz", hash = "sha256:21f8d5dac737f1e636fa8a0a10969c1c32f525a6dfa27c29592827ba70d9643a"}, - {file = "django_formtools-2.4.1-py3-none-any.whl", hash = "sha256:49ea8a64ddef4728a558bf5f8f622c0f4053b979edcf193bf00dd80432ab2f12"}, + {file = "django-formtools-2.5.1.tar.gz", hash = "sha256:47cb34552c6efca088863d693284d04fc36eaaf350eb21e1a1d935e0df523c93"}, + {file = "django_formtools-2.5.1-py3-none-any.whl", hash = "sha256:bce9b64eda52cc1eef6961cc649cf75aacd1a707c2fff08d6c3efcbc8e7e761a"}, ] [package.dependencies] @@ -867,17 +881,17 @@ python-dateutil = "*" [[package]] name = "django-hijack" -version = "3.3.0" +version = "3.4.5" description = "django-hijack allows superusers to hijack (=login as) and work on behalf of another user." optional = false python-versions = "*" files = [ - {file = "django-hijack-3.3.0.tar.gz", hash = "sha256:795cd0087596a21c9bf641fa5cf1787f4edf144e16a423014afbcf2838e8e124"}, - {file = "django_hijack-3.3.0-py3-none-any.whl", hash = "sha256:976ae3bc7e9db0bcb5f5b85a58fba98f5ff1d7a6e92e1b65854289cc79a351d4"}, + {file = "django-hijack-3.4.5.tar.gz", hash = "sha256:7e45b1de786bdc130628e4230b359dde6d8744ecd3bcd668d2b27c5d614a071c"}, + {file = "django_hijack-3.4.5-py3-none-any.whl", hash = "sha256:129cbe75444b163135871a947d38ffb72181f4f2583544703fc9efe083c9ddad"}, ] [package.dependencies] -django = ">=2.2" +django = ">=3.2" [package.extras] test = ["pytest", "pytest-cov", "pytest-django"] @@ -956,13 +970,13 @@ all-filter-dependencies = ["bleach (>=3.0)", "docutils (>=0.14)", "markdown (>=2 [[package]] name = "django-oauth-toolkit" -version = "2.2.0" +version = "2.3.0" description = "OAuth2 Provider for Django" optional = false python-versions = "*" files = [ - {file = "django-oauth-toolkit-2.2.0.tar.gz", hash = "sha256:46890decb24a34e2a5382debeaf7752e50d90b7a11716cf2a9fd067097ec0963"}, - {file = "django_oauth_toolkit-2.2.0-py3-none-any.whl", hash = "sha256:abd85c74af525a62365ec2049113e73a2ff8b46ef906e7104a7ba968ef02a11d"}, + {file = "django-oauth-toolkit-2.3.0.tar.gz", hash = "sha256:cf1cb1a5744672e6bd7d66b4a110a463bcef9cf5ed4f27e29682cc6a4d0df1ed"}, + {file = "django_oauth_toolkit-2.3.0-py3-none-any.whl", hash = "sha256:47dfeab97ec21496f307c2cf3468e64ca08897fa499bf3104366d32005c9111d"}, ] [package.dependencies] @@ -973,13 +987,13 @@ requests = ">=2.13.0" [[package]] name = "django-otp" -version = "1.2.4" +version = "1.3.0" description = "A pluggable framework for adding two-factor authentication to Django using one-time passwords." optional = false python-versions = ">=3.7" files = [ - {file = "django_otp-1.2.4-py3-none-any.whl", hash = "sha256:5ddd1aaf455db47fac3ce0d8b518e68e9a57db55e30ad68eafad377e4fa741f5"}, - {file = "django_otp-1.2.4.tar.gz", hash = "sha256:7e805cc196cbac93edbbbbf5078d7c5156fec2dba1b2589361ddbf74c4557e39"}, + {file = "django_otp-1.3.0-py3-none-any.whl", hash = "sha256:5277731bc05b6cdbf96aa84ac46018e30ed5fb248086053b0146f925de059060"}, + {file = "django_otp-1.3.0.tar.gz", hash = "sha256:8f4156a3c14ce2aaa31379385eadf388925cd50fc4b5d20a3b944f454c98ff7c"}, ] [package.dependencies] @@ -990,13 +1004,13 @@ qrcode = ["qrcode"] [[package]] name = "django-phonenumber-field" -version = "7.1.0" +version = "7.3.0" description = "An international phone number field for django models." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "django-phonenumber-field-7.1.0.tar.gz", hash = "sha256:63721dbdc7424cd594a08d80f550e790cf6e7c903cbc0fb4dd9d86baac8b8c51"}, - {file = "django_phonenumber_field-7.1.0-py3-none-any.whl", hash = "sha256:4eaab35fe9a163046dc3a47188771385c56a788e0e11b7bbcc662e1e6b7b9104"}, + {file = "django-phonenumber-field-7.3.0.tar.gz", hash = "sha256:f9cdb3de085f99c249328293a3b93d4e5fa440c0c8e3b99eb0d0f54748629797"}, + {file = "django_phonenumber_field-7.3.0-py3-none-any.whl", hash = "sha256:bc6eaa49d1f9d870944f5280258db511e3a1ba5e2fbbed255488dceacae45d06"}, ] [package.dependencies] @@ -1008,17 +1022,17 @@ phonenumberslite = ["phonenumberslite (>=7.0.2)"] [[package]] name = "django-redis" -version = "5.2.0" +version = "5.4.0" description = "Full featured redis cache backend for Django." optional = false python-versions = ">=3.6" files = [ - {file = "django-redis-5.2.0.tar.gz", hash = "sha256:8a99e5582c79f894168f5865c52bd921213253b7fd64d16733ae4591564465de"}, - {file = "django_redis-5.2.0-py3-none-any.whl", hash = "sha256:1d037dc02b11ad7aa11f655d26dac3fb1af32630f61ef4428860a2e29ff92026"}, + {file = "django-redis-5.4.0.tar.gz", hash = "sha256:6a02abaa34b0fea8bf9b707d2c363ab6adc7409950b2db93602e6cb292818c42"}, + {file = "django_redis-5.4.0-py3-none-any.whl", hash = "sha256:ebc88df7da810732e2af9987f7f426c96204bf89319df4c6da6ca9a2942edd5b"}, ] [package.dependencies] -Django = ">=2.2" +Django = ">=3.2" redis = ">=3,<4.0.0 || >4.0.0,<4.0.1 || >4.0.1" [package.extras] @@ -1040,17 +1054,17 @@ Django = ">=3.2" [[package]] name = "django-statici18n" -version = "2.3.1" +version = "2.4.0" description = "A Django app that compiles i18n JavaScript catalogs to static files." optional = false python-versions = "*" files = [ - {file = "django-statici18n-2.3.1.tar.gz", hash = "sha256:00079579035d5b45320830191e2c047f8643b7906307eff9833f0fa95068a603"}, - {file = "django_statici18n-2.3.1-py2.py3-none-any.whl", hash = "sha256:5f4bb3d58670def2df490babe338524927cfb2ebe2e5e20538b98d9424e83d0e"}, + {file = "django-statici18n-2.4.0.tar.gz", hash = "sha256:32660a0d492188751266c800cf4e44005d563bd1e4c91c349e1bd63a6855e270"}, + {file = "django_statici18n-2.4.0-py2.py3-none-any.whl", hash = "sha256:02a96963a8c42aa7a222a2ba0c39d888306e66f375b6c6acc748a3a81035ed52"}, ] [package.dependencies] -Django = ">=2.2" +Django = ">=3.2" django-appconf = ">=1.0" [[package]] @@ -1070,23 +1084,23 @@ pytz = "*" [[package]] name = "dnspython" -version = "2.3.0" +version = "2.5.0" description = "DNS toolkit" optional = false -python-versions = ">=3.7,<4.0" +python-versions = ">=3.8" files = [ - {file = "dnspython-2.3.0-py3-none-any.whl", hash = "sha256:89141536394f909066cabd112e3e1a37e4e654db00a25308b0f130bc3152eb46"}, - {file = "dnspython-2.3.0.tar.gz", hash = "sha256:224e32b03eb46be70e12ef6d64e0be123a64e621ab4c0822ff6d450d52a540b9"}, + {file = "dnspython-2.5.0-py3-none-any.whl", hash = "sha256:6facdf76b73c742ccf2d07add296f178e629da60be23ce4b0a9c927b1e02c3a6"}, + {file = "dnspython-2.5.0.tar.gz", hash = "sha256:a0034815a59ba9ae888946be7ccca8f7c157b286f8455b379c692efb51022a15"}, ] [package.extras] -curio = ["curio (>=1.2,<2.0)", "sniffio (>=1.1,<2.0)"] -dnssec = ["cryptography (>=2.6,<40.0)"] -doh = ["h2 (>=4.1.0)", "httpx (>=0.21.1)", "requests (>=2.23.0,<3.0.0)", "requests-toolbelt (>=0.9.1,<0.11.0)"] +dev = ["black (>=23.1.0)", "coverage (>=7.0)", "flake8 (>=5.0.3)", "mypy (>=1.0.1)", "pylint (>=2.7)", "pytest (>=6.2.5)", "pytest-cov (>=3.0.0)", "sphinx (>=7.0.0)", "twine (>=4.0.0)", "wheel (>=0.41.0)"] +dnssec = ["cryptography (>=41)"] +doh = ["h2 (>=4.1.0)", "httpcore (>=0.17.3)", "httpx (>=0.25.1)"] doq = ["aioquic (>=0.9.20)"] -idna = ["idna (>=2.1,<4.0)"] -trio = ["trio (>=0.14,<0.23)"] -wmi = ["wmi (>=1.5.1,<2.0.0)"] +idna = ["idna (>=2.1)"] +trio = ["trio (>=0.14)"] +wmi = ["wmi (>=1.5.1)"] [[package]] name = "drf-ujson2" @@ -1121,18 +1135,6 @@ files = [ [package.extras] dev = ["Sphinx", "coverage", "flake8", "lxml", "lxml-stubs", "memory-profiler", "memray", "mypy", "tox", "xmlschema (>=2.0.0)"] -[[package]] -name = "enum34" -version = "1.1.10" -description = "Python 3.4 Enum backported to 3.3, 3.2, 3.1, 2.7, 2.6, 2.5, and 2.4" -optional = false -python-versions = "*" -files = [ - {file = "enum34-1.1.10-py2-none-any.whl", hash = "sha256:a98a201d6de3f2ab3db284e70a33b0f896fbf35f8086594e8c9e74b909058d53"}, - {file = "enum34-1.1.10-py3-none-any.whl", hash = "sha256:c3858660960c984d6ab0ebad691265180da2b43f07e061c0f8dca9ef3cffd328"}, - {file = "enum34-1.1.10.tar.gz", hash = "sha256:cce6a7477ed816bd2542d03d53db9f0db935dd013b70f336a95c73979289f248"}, -] - [[package]] name = "et-xmlfile" version = "1.1.0" @@ -1230,17 +1232,6 @@ files = [ {file = "frozenlist-1.4.1.tar.gz", hash = "sha256:c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b"}, ] -[[package]] -name = "future" -version = "1.0.0" -description = "Clean single-source support for Python 3 and 2" -optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" -files = [ - {file = "future-1.0.0-py3-none-any.whl", hash = "sha256:929292d34f5872e70396626ef385ec22355a1fae8ad29e1a734c3e43f9fbc216"}, - {file = "future-1.0.0.tar.gz", hash = "sha256:bd2968309307861edae1458a4f8a4f3598c03be43b97521076aebf5d94c07b05"}, -] - [[package]] name = "geoip2" version = "4.8.0" @@ -1399,16 +1390,17 @@ zookeeper = ["kazoo (>=2.8.0)"] [[package]] name = "libsass" -version = "0.22.0" +version = "0.23.0" description = "Sass for Python: A straightforward binding of libsass for Python." optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "libsass-0.22.0-cp36-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:f1efc1b612299c88aec9e39d6ca0c266d360daa5b19d9430bdeaffffa86993f9"}, - {file = "libsass-0.22.0-cp37-abi3-macosx_10_15_x86_64.whl", hash = "sha256:081e256ab3c5f3f09c7b8dea3bf3bf5e64a97c6995fd9eea880639b3f93a9f9a"}, - {file = "libsass-0.22.0-cp37-abi3-win32.whl", hash = "sha256:89c5ce497fcf3aba1dd1b19aae93b99f68257e5f2026b731b00a872f13324c7f"}, - {file = "libsass-0.22.0-cp37-abi3-win_amd64.whl", hash = "sha256:65455a2728b696b62100eb5932604aa13a29f4ac9a305d95773c14aaa7200aaf"}, - {file = "libsass-0.22.0.tar.gz", hash = "sha256:3ab5ad18e47db560f4f0c09e3d28cf3bb1a44711257488ac2adad69f4f7f8425"}, + {file = "libsass-0.23.0-cp38-abi3-macosx_11_0_x86_64.whl", hash = "sha256:34cae047cbbfc4ffa832a61cbb110f3c95f5471c6170c842d3fed161e40814dc"}, + {file = "libsass-0.23.0-cp38-abi3-macosx_14_0_arm64.whl", hash = "sha256:ea97d1b45cdc2fc3590cb9d7b60f1d8915d3ce17a98c1f2d4dd47ee0d9c68ce6"}, + {file = "libsass-0.23.0-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:4a218406d605f325d234e4678bd57126a66a88841cb95bee2caeafdc6f138306"}, + {file = "libsass-0.23.0-cp38-abi3-win32.whl", hash = "sha256:31e86d92a5c7a551df844b72d83fc2b5e50abc6fbbb31e296f7bebd6489ed1b4"}, + {file = "libsass-0.23.0-cp38-abi3-win_amd64.whl", hash = "sha256:a2ec85d819f353cbe807432d7275d653710d12b08ec7ef61c124a580a8352f3c"}, + {file = "libsass-0.23.0.tar.gz", hash = "sha256:6f209955ede26684e76912caf329f4ccb57e4a043fd77fe0e7348dd9574f1880"}, ] [[package]] @@ -1506,16 +1498,17 @@ source = ["Cython (>=3.0.7)"] [[package]] name = "markdown" -version = "3.4.3" +version = "3.5.2" description = "Python implementation of John Gruber's Markdown." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "Markdown-3.4.3-py3-none-any.whl", hash = "sha256:065fd4df22da73a625f14890dd77eb8040edcbd68794bcd35943be14490608b2"}, - {file = "Markdown-3.4.3.tar.gz", hash = "sha256:8bf101198e004dc93e84a12a7395e31aac6a9c9942848ae1d99b9d72cf9b3520"}, + {file = "Markdown-3.5.2-py3-none-any.whl", hash = "sha256:d43323865d89fc0cb9b20c75fc8ad313af307cc087e84b657d9eec768eddeadd"}, + {file = "Markdown-3.5.2.tar.gz", hash = "sha256:e1ac7b3dc550ee80e602e71c1d168002f062e49f1b11e26a36264dafd4df2ef8"}, ] [package.extras] +docs = ["mdx-gh-links (>=0.2)", "mkdocs (>=1.5)", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-nature (>=0.6)", "mkdocs-section-index", "mkdocstrings[python]"] testing = ["coverage", "pyyaml"] [[package]] @@ -1792,82 +1785,88 @@ files = [ [[package]] name = "pillow" -version = "9.5.0" +version = "10.2.0" description = "Python Imaging Library (Fork)" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "Pillow-9.5.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:ace6ca218308447b9077c14ea4ef381ba0b67ee78d64046b3f19cf4e1139ad16"}, - {file = "Pillow-9.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d3d403753c9d5adc04d4694d35cf0391f0f3d57c8e0030aac09d7678fa8030aa"}, - {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ba1b81ee69573fe7124881762bb4cd2e4b6ed9dd28c9c60a632902fe8db8b38"}, - {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fe7e1c262d3392afcf5071df9afa574544f28eac825284596ac6db56e6d11062"}, - {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f36397bf3f7d7c6a3abdea815ecf6fd14e7fcd4418ab24bae01008d8d8ca15e"}, - {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:252a03f1bdddce077eff2354c3861bf437c892fb1832f75ce813ee94347aa9b5"}, - {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:85ec677246533e27770b0de5cf0f9d6e4ec0c212a1f89dfc941b64b21226009d"}, - {file = "Pillow-9.5.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b416f03d37d27290cb93597335a2f85ed446731200705b22bb927405320de903"}, - {file = "Pillow-9.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1781a624c229cb35a2ac31cc4a77e28cafc8900733a864870c49bfeedacd106a"}, - {file = "Pillow-9.5.0-cp310-cp310-win32.whl", hash = "sha256:8507eda3cd0608a1f94f58c64817e83ec12fa93a9436938b191b80d9e4c0fc44"}, - {file = "Pillow-9.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:d3c6b54e304c60c4181da1c9dadf83e4a54fd266a99c70ba646a9baa626819eb"}, - {file = "Pillow-9.5.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:7ec6f6ce99dab90b52da21cf0dc519e21095e332ff3b399a357c187b1a5eee32"}, - {file = "Pillow-9.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:560737e70cb9c6255d6dcba3de6578a9e2ec4b573659943a5e7e4af13f298f5c"}, - {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96e88745a55b88a7c64fa49bceff363a1a27d9a64e04019c2281049444a571e3"}, - {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d9c206c29b46cfd343ea7cdfe1232443072bbb270d6a46f59c259460db76779a"}, - {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cfcc2c53c06f2ccb8976fb5c71d448bdd0a07d26d8e07e321c103416444c7ad1"}, - {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:a0f9bb6c80e6efcde93ffc51256d5cfb2155ff8f78292f074f60f9e70b942d99"}, - {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:8d935f924bbab8f0a9a28404422da8af4904e36d5c33fc6f677e4c4485515625"}, - {file = "Pillow-9.5.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:fed1e1cf6a42577953abbe8e6cf2fe2f566daebde7c34724ec8803c4c0cda579"}, - {file = "Pillow-9.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c1170d6b195555644f0616fd6ed929dfcf6333b8675fcca044ae5ab110ded296"}, - {file = "Pillow-9.5.0-cp311-cp311-win32.whl", hash = "sha256:54f7102ad31a3de5666827526e248c3530b3a33539dbda27c6843d19d72644ec"}, - {file = "Pillow-9.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:cfa4561277f677ecf651e2b22dc43e8f5368b74a25a8f7d1d4a3a243e573f2d4"}, - {file = "Pillow-9.5.0-cp311-cp311-win_arm64.whl", hash = "sha256:965e4a05ef364e7b973dd17fc765f42233415974d773e82144c9bbaaaea5d089"}, - {file = "Pillow-9.5.0-cp312-cp312-win32.whl", hash = "sha256:22baf0c3cf0c7f26e82d6e1adf118027afb325e703922c8dfc1d5d0156bb2eeb"}, - {file = "Pillow-9.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:432b975c009cf649420615388561c0ce7cc31ce9b2e374db659ee4f7d57a1f8b"}, - {file = "Pillow-9.5.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:5d4ebf8e1db4441a55c509c4baa7a0587a0210f7cd25fcfe74dbbce7a4bd1906"}, - {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:375f6e5ee9620a271acb6820b3d1e94ffa8e741c0601db4c0c4d3cb0a9c224bf"}, - {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99eb6cafb6ba90e436684e08dad8be1637efb71c4f2180ee6b8f940739406e78"}, - {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2dfaaf10b6172697b9bceb9a3bd7b951819d1ca339a5ef294d1f1ac6d7f63270"}, - {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:763782b2e03e45e2c77d7779875f4432e25121ef002a41829d8868700d119392"}, - {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:35f6e77122a0c0762268216315bf239cf52b88865bba522999dc38f1c52b9b47"}, - {file = "Pillow-9.5.0-cp37-cp37m-win32.whl", hash = "sha256:aca1c196f407ec7cf04dcbb15d19a43c507a81f7ffc45b690899d6a76ac9fda7"}, - {file = "Pillow-9.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322724c0032af6692456cd6ed554bb85f8149214d97398bb80613b04e33769f6"}, - {file = "Pillow-9.5.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:a0aa9417994d91301056f3d0038af1199eb7adc86e646a36b9e050b06f526597"}, - {file = "Pillow-9.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f8286396b351785801a976b1e85ea88e937712ee2c3ac653710a4a57a8da5d9c"}, - {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c830a02caeb789633863b466b9de10c015bded434deb3ec87c768e53752ad22a"}, - {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fbd359831c1657d69bb81f0db962905ee05e5e9451913b18b831febfe0519082"}, - {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8fc330c3370a81bbf3f88557097d1ea26cd8b019d6433aa59f71195f5ddebbf"}, - {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:7002d0797a3e4193c7cdee3198d7c14f92c0836d6b4a3f3046a64bd1ce8df2bf"}, - {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:229e2c79c00e85989a34b5981a2b67aa079fd08c903f0aaead522a1d68d79e51"}, - {file = "Pillow-9.5.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9adf58f5d64e474bed00d69bcd86ec4bcaa4123bfa70a65ce72e424bfb88ed96"}, - {file = "Pillow-9.5.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:662da1f3f89a302cc22faa9f14a262c2e3951f9dbc9617609a47521c69dd9f8f"}, - {file = "Pillow-9.5.0-cp38-cp38-win32.whl", hash = "sha256:6608ff3bf781eee0cd14d0901a2b9cc3d3834516532e3bd673a0a204dc8615fc"}, - {file = "Pillow-9.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:e49eb4e95ff6fd7c0c402508894b1ef0e01b99a44320ba7d8ecbabefddcc5569"}, - {file = "Pillow-9.5.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:482877592e927fd263028c105b36272398e3e1be3269efda09f6ba21fd83ec66"}, - {file = "Pillow-9.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3ded42b9ad70e5f1754fb7c2e2d6465a9c842e41d178f262e08b8c85ed8a1d8e"}, - {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c446d2245ba29820d405315083d55299a796695d747efceb5717a8b450324115"}, - {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8aca1152d93dcc27dc55395604dcfc55bed5f25ef4c98716a928bacba90d33a3"}, - {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:608488bdcbdb4ba7837461442b90ea6f3079397ddc968c31265c1e056964f1ef"}, - {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:60037a8db8750e474af7ffc9faa9b5859e6c6d0a50e55c45576bf28be7419705"}, - {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:07999f5834bdc404c442146942a2ecadd1cb6292f5229f4ed3b31e0a108746b1"}, - {file = "Pillow-9.5.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a127ae76092974abfbfa38ca2d12cbeddcdeac0fb71f9627cc1135bedaf9d51a"}, - {file = "Pillow-9.5.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:489f8389261e5ed43ac8ff7b453162af39c3e8abd730af8363587ba64bb2e865"}, - {file = "Pillow-9.5.0-cp39-cp39-win32.whl", hash = "sha256:9b1af95c3a967bf1da94f253e56b6286b50af23392a886720f563c547e48e964"}, - {file = "Pillow-9.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:77165c4a5e7d5a284f10a6efaa39a0ae8ba839da344f20b111d62cc932fa4e5d"}, - {file = "Pillow-9.5.0-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:833b86a98e0ede388fa29363159c9b1a294b0905b5128baf01db683672f230f5"}, - {file = "Pillow-9.5.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aaf305d6d40bd9632198c766fb64f0c1a83ca5b667f16c1e79e1661ab5060140"}, - {file = "Pillow-9.5.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0852ddb76d85f127c135b6dd1f0bb88dbb9ee990d2cd9aa9e28526c93e794fba"}, - {file = "Pillow-9.5.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:91ec6fe47b5eb5a9968c79ad9ed78c342b1f97a091677ba0e012701add857829"}, - {file = "Pillow-9.5.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:cb841572862f629b99725ebaec3287fc6d275be9b14443ea746c1dd325053cbd"}, - {file = "Pillow-9.5.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:c380b27d041209b849ed246b111b7c166ba36d7933ec6e41175fd15ab9eb1572"}, - {file = "Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c9af5a3b406a50e313467e3565fc99929717f780164fe6fbb7704edba0cebbe"}, - {file = "Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5671583eab84af046a397d6d0ba25343c00cd50bce03787948e0fff01d4fd9b1"}, - {file = "Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:84a6f19ce086c1bf894644b43cd129702f781ba5751ca8572f08aa40ef0ab7b7"}, - {file = "Pillow-9.5.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:1e7723bd90ef94eda669a3c2c19d549874dd5badaeefabefd26053304abe5799"}, - {file = "Pillow-9.5.0.tar.gz", hash = "sha256:bf548479d336726d7a0eceb6e767e179fbde37833ae42794602631a070d630f1"}, + {file = "pillow-10.2.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:7823bdd049099efa16e4246bdf15e5a13dbb18a51b68fa06d6c1d4d8b99a796e"}, + {file = "pillow-10.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:83b2021f2ade7d1ed556bc50a399127d7fb245e725aa0113ebd05cfe88aaf588"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fad5ff2f13d69b7e74ce5b4ecd12cc0ec530fcee76356cac6742785ff71c452"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da2b52b37dad6d9ec64e653637a096905b258d2fc2b984c41ae7d08b938a67e4"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:47c0995fc4e7f79b5cfcab1fc437ff2890b770440f7696a3ba065ee0fd496563"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:322bdf3c9b556e9ffb18f93462e5f749d3444ce081290352c6070d014c93feb2"}, + {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:51f1a1bffc50e2e9492e87d8e09a17c5eea8409cda8d3f277eb6edc82813c17c"}, + {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:69ffdd6120a4737710a9eee73e1d2e37db89b620f702754b8f6e62594471dee0"}, + {file = "pillow-10.2.0-cp310-cp310-win32.whl", hash = "sha256:c6dafac9e0f2b3c78df97e79af707cdc5ef8e88208d686a4847bab8266870023"}, + {file = "pillow-10.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:aebb6044806f2e16ecc07b2a2637ee1ef67a11840a66752751714a0d924adf72"}, + {file = "pillow-10.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:7049e301399273a0136ff39b84c3678e314f2158f50f517bc50285fb5ec847ad"}, + {file = "pillow-10.2.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:35bb52c37f256f662abdfa49d2dfa6ce5d93281d323a9af377a120e89a9eafb5"}, + {file = "pillow-10.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9c23f307202661071d94b5e384e1e1dc7dfb972a28a2310e4ee16103e66ddb67"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:773efe0603db30c281521a7c0214cad7836c03b8ccff897beae9b47c0b657d61"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11fa2e5984b949b0dd6d7a94d967743d87c577ff0b83392f17cb3990d0d2fd6e"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:716d30ed977be8b37d3ef185fecb9e5a1d62d110dfbdcd1e2a122ab46fddb03f"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a086c2af425c5f62a65e12fbf385f7c9fcb8f107d0849dba5839461a129cf311"}, + {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c8de2789052ed501dd829e9cae8d3dcce7acb4777ea4a479c14521c942d395b1"}, + {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:609448742444d9290fd687940ac0b57fb35e6fd92bdb65386e08e99af60bf757"}, + {file = "pillow-10.2.0-cp311-cp311-win32.whl", hash = "sha256:823ef7a27cf86df6597fa0671066c1b596f69eba53efa3d1e1cb8b30f3533068"}, + {file = "pillow-10.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:1da3b2703afd040cf65ec97efea81cfba59cdbed9c11d8efc5ab09df9509fc56"}, + {file = "pillow-10.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:edca80cbfb2b68d7b56930b84a0e45ae1694aeba0541f798e908a49d66b837f1"}, + {file = "pillow-10.2.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:1b5e1b74d1bd1b78bc3477528919414874748dd363e6272efd5abf7654e68bef"}, + {file = "pillow-10.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0eae2073305f451d8ecacb5474997c08569fb4eb4ac231ffa4ad7d342fdc25ac"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7c2286c23cd350b80d2fc9d424fc797575fb16f854b831d16fd47ceec078f2c"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e23412b5c41e58cec602f1135c57dfcf15482013ce6e5f093a86db69646a5aa"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:52a50aa3fb3acb9cf7213573ef55d31d6eca37f5709c69e6858fe3bc04a5c2a2"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:127cee571038f252a552760076407f9cff79761c3d436a12af6000cd182a9d04"}, + {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:8d12251f02d69d8310b046e82572ed486685c38f02176bd08baf216746eb947f"}, + {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:54f1852cd531aa981bc0965b7d609f5f6cc8ce8c41b1139f6ed6b3c54ab82bfb"}, + {file = "pillow-10.2.0-cp312-cp312-win32.whl", hash = "sha256:257d8788df5ca62c980314053197f4d46eefedf4e6175bc9412f14412ec4ea2f"}, + {file = "pillow-10.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:154e939c5f0053a383de4fd3d3da48d9427a7e985f58af8e94d0b3c9fcfcf4f9"}, + {file = "pillow-10.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:f379abd2f1e3dddb2b61bc67977a6b5a0a3f7485538bcc6f39ec76163891ee48"}, + {file = "pillow-10.2.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8373c6c251f7ef8bda6675dd6d2b3a0fcc31edf1201266b5cf608b62a37407f9"}, + {file = "pillow-10.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:870ea1ada0899fd0b79643990809323b389d4d1d46c192f97342eeb6ee0b8483"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4b6b1e20608493548b1f32bce8cca185bf0480983890403d3b8753e44077129"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3031709084b6e7852d00479fd1d310b07d0ba82765f973b543c8af5061cf990e"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:3ff074fc97dd4e80543a3e91f69d58889baf2002b6be64347ea8cf5533188213"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:cb4c38abeef13c61d6916f264d4845fab99d7b711be96c326b84df9e3e0ff62d"}, + {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b1b3020d90c2d8e1dae29cf3ce54f8094f7938460fb5ce8bc5c01450b01fbaf6"}, + {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:170aeb00224ab3dc54230c797f8404507240dd868cf52066f66a41b33169bdbe"}, + {file = "pillow-10.2.0-cp38-cp38-win32.whl", hash = "sha256:c4225f5220f46b2fde568c74fca27ae9771536c2e29d7c04f4fb62c83275ac4e"}, + {file = "pillow-10.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:0689b5a8c5288bc0504d9fcee48f61a6a586b9b98514d7d29b840143d6734f39"}, + {file = "pillow-10.2.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:b792a349405fbc0163190fde0dc7b3fef3c9268292586cf5645598b48e63dc67"}, + {file = "pillow-10.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c570f24be1e468e3f0ce7ef56a89a60f0e05b30a3669a459e419c6eac2c35364"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8ecd059fdaf60c1963c58ceb8997b32e9dc1b911f5da5307aab614f1ce5c2fb"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c365fd1703040de1ec284b176d6af5abe21b427cb3a5ff68e0759e1e313a5e7e"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:70c61d4c475835a19b3a5aa42492409878bbca7438554a1f89d20d58a7c75c01"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b6f491cdf80ae540738859d9766783e3b3c8e5bd37f5dfa0b76abdecc5081f13"}, + {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d189550615b4948f45252d7f005e53c2040cea1af5b60d6f79491a6e147eef7"}, + {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:49d9ba1ed0ef3e061088cd1e7538a0759aab559e2e0a80a36f9fd9d8c0c21591"}, + {file = "pillow-10.2.0-cp39-cp39-win32.whl", hash = "sha256:babf5acfede515f176833ed6028754cbcd0d206f7f614ea3447d67c33be12516"}, + {file = "pillow-10.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:0304004f8067386b477d20a518b50f3fa658a28d44e4116970abfcd94fac34a8"}, + {file = "pillow-10.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:0fb3e7fc88a14eacd303e90481ad983fd5b69c761e9e6ef94c983f91025da869"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:322209c642aabdd6207517e9739c704dc9f9db943015535783239022002f054a"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3eedd52442c0a5ff4f887fab0c1c0bb164d8635b32c894bc1faf4c618dd89df2"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb28c753fd5eb3dd859b4ee95de66cc62af91bcff5db5f2571d32a520baf1f04"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:33870dc4653c5017bf4c8873e5488d8f8d5f8935e2f1fb9a2208c47cdd66efd2"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3c31822339516fb3c82d03f30e22b1d038da87ef27b6a78c9549888f8ceda39a"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a2b56ba36e05f973d450582fb015594aaa78834fefe8dfb8fcd79b93e64ba4c6"}, + {file = "pillow-10.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:d8e6aeb9201e655354b3ad049cb77d19813ad4ece0df1249d3c793de3774f8c7"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:2247178effb34a77c11c0e8ac355c7a741ceca0a732b27bf11e747bbc950722f"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15587643b9e5eb26c48e49a7b33659790d28f190fc514a322d55da2fb5c2950e"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753cd8f2086b2b80180d9b3010dd4ed147efc167c90d3bf593fe2af21265e5a5"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7c8f97e8e7a9009bcacbe3766a36175056c12f9a44e6e6f2d5caad06dcfbf03b"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d1b35bcd6c5543b9cb547dee3150c93008f8dd0f1fef78fc0cd2b141c5baf58a"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fe4c15f6c9285dc54ce6553a3ce908ed37c8f3825b5a51a15c91442bb955b868"}, + {file = "pillow-10.2.0.tar.gz", hash = "sha256:e87f0b2c78157e12d7686b27d63c070fd65d994e8ddae6f328e0dcf4a0cd007e"}, ] [package.extras] docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"] +fpx = ["olefile"] +mic = ["olefile"] tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] +typing = ["typing-extensions"] +xmp = ["defusedxml"] [[package]] name = "platformdirs" @@ -1897,13 +1896,13 @@ files = [ [[package]] name = "pretix" -version = "2024.1.1" +version = "2024.2.0" description = "Reinventing presales, one ticket at a time" optional = false python-versions = ">=3.9" files = [ - {file = "pretix-2024.1.1-py3-none-any.whl", hash = "sha256:77bf042a0fd5d9c265c044bdfd7f53375adfc962442b6a24190f606a48daeb0b"}, - {file = "pretix-2024.1.1.tar.gz", hash = "sha256:9e25156c26d435a3a78109b7ae5b9cf45ef2a1d31cb1da2dfd773c44d0c631ad"}, + {file = "pretix-2024.2.0-py3-none-any.whl", hash = "sha256:62cddbb2354728f9a9d695755ed55e88d88d35db2cfe2c94ac5be9e648adb51f"}, + {file = "pretix-2024.2.0.tar.gz", hash = "sha256:a99d095bb2739cf2574770bc940d988f52bd61d2464598f113ab661a596f5fd5"}, ] [package.dependencies] @@ -1912,41 +1911,41 @@ babel = "*" BeautifulSoup4 = "==4.12.*" bleach = "==5.0.*" celery = "==5.3.*" -chardet = "==5.1.*" +chardet = "==5.2.*" cryptography = ">=3.4.2" -css-inline = "==0.8.*" +css-inline = "==0.13.*" defusedcsv = ">=1.1.0" dj-static = "*" Django = "==4.2.*" -django-bootstrap3 = "==23.1.*" -django-compressor = "==4.3.*" +django-bootstrap3 = "==23.6.*" +django-compressor = "4.4" django-countries = "==7.5.*" -django-filter = "23.2" +django-filter = "23.5" django-formset-js-improved = "0.5.0.3" -django-formtools = "2.4.1" +django-formtools = "2.5.1" django-hierarkey = "==1.1.*" -django-hijack = "==3.3.*" +django-hijack = "==3.4.*" django-i18nfield = ">=1.9.4,<1.10.dev0" django-libsass = "0.9" django-localflavor = "4.0" django-markup = "*" -django-oauth-toolkit = "==2.2.*" -django-otp = "==1.2.*" -django-phonenumber-field = "==7.1.*" -django-redis = "==5.2.*" +django-oauth-toolkit = "==2.3.*" +django-otp = "==1.3.*" +django-phonenumber-field = "==7.3.*" +django-redis = "==5.4.*" django-scopes = "==2.0.*" -django-statici18n = "==2.3.*" +django-statici18n = "==2.4.*" djangorestframework = "==3.14.*" -dnspython = "==2.3.*" +dnspython = "==2.5.*" drf-ujson2 = "==1.7.*" geoip2 = "==4.*" importlib-metadata = "==7.*" isoweek = "*" jsonschema = "*" kombu = "==5.3.*" -libsass = "==0.22.*" +libsass = "==0.23.*" lxml = "*" -markdown = "3.4.3" +markdown = "3.5.2" mt-940 = "==4.30.*" oauthlib = "==3.2.*" openpyxl = "==3.1.*" @@ -1954,26 +1953,25 @@ packaging = "*" paypal-checkout-serversdk = "==1.0.*" paypalrestsdk = "==1.13.*" phonenumberslite = "==8.13.*" -Pillow = "==9.5.*" +Pillow = "==10.2.*" pretix-plugin-build = "*" -protobuf = "==4.23.*" +protobuf = "==4.25.*" psycopg2-binary = "*" pycountry = "*" pycparser = "2.21" -pycryptodome = "==3.18.*" -PyJWT = "==2.7.*" +pycryptodome = "==3.20.*" +PyJWT = "==2.8.*" pypdf = "==3.9.*" python-bidi = "==0.4.*" python-dateutil = "==2.8.*" -python-u2flib-server = "==4.*" pytz = "*" pytz-deprecation-shim = "==0.1.*" pyuca = "*" qrcode = "==7.4.*" -redis = "==4.6.*" -reportlab = "==4.0.*" +redis = "==5.0.*" +reportlab = "==4.1.*" requests = "==2.31.*" -sentry-sdk = "==1.15.*" +sentry-sdk = "==1.40.*" sepaxml = "==2.6.*" slimit = "*" static3 = "==0.7.*" @@ -1983,11 +1981,11 @@ tlds = ">=2020041600" tqdm = "==4.*" vat-moss-forked = "2020.3.20.0.11.0" vobject = "==0.9.*" -webauthn = "==0.4.*" +webauthn = "==2.0.*" zeep = "==4.2.*" [package.extras] -dev = ["aiohttp (==3.8.*)", "coverage", "coveralls", "fakeredis (==2.18.*)", "flake8 (==6.0.*)", "freezegun", "isort (==5.12.*)", "pep8-naming (==0.13.*)", "potypo", "pycodestyle (==2.10.*)", "pyflakes (==3.0.*)", "pytest (==7.3.*)", "pytest-asyncio", "pytest-cache", "pytest-cov", "pytest-django (==4.*)", "pytest-mock (==3.10.*)", "pytest-rerunfailures (==11.*)", "pytest-sugar", "pytest-xdist (==3.3.*)", "responses"] +dev = ["aiohttp (==3.9.*)", "coverage", "coveralls", "fakeredis (==2.21.*)", "flake8 (==7.0.*)", "freezegun", "isort (==5.13.*)", "pep8-naming (==0.13.*)", "potypo", "pytest (==8.0.*)", "pytest-asyncio", "pytest-cache", "pytest-cov", "pytest-django (==4.*)", "pytest-mock (==3.12.*)", "pytest-rerunfailures (==13.*)", "pytest-sugar", "pytest-xdist (==3.5.*)", "responses"] memcached = ["pylibmc"] [[package]] @@ -2020,24 +2018,22 @@ wcwidth = "*" [[package]] name = "protobuf" -version = "4.23.4" +version = "4.25.3" description = "" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "protobuf-4.23.4-cp310-abi3-win32.whl", hash = "sha256:5fea3c64d41ea5ecf5697b83e41d09b9589e6f20b677ab3c48e5f242d9b7897b"}, - {file = "protobuf-4.23.4-cp310-abi3-win_amd64.whl", hash = "sha256:7b19b6266d92ca6a2a87effa88ecc4af73ebc5cfde194dc737cf8ef23a9a3b12"}, - {file = "protobuf-4.23.4-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:8547bf44fe8cec3c69e3042f5c4fb3e36eb2a7a013bb0a44c018fc1e427aafbd"}, - {file = "protobuf-4.23.4-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:fee88269a090ada09ca63551bf2f573eb2424035bcf2cb1b121895b01a46594a"}, - {file = "protobuf-4.23.4-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:effeac51ab79332d44fba74660d40ae79985901ac21bca408f8dc335a81aa597"}, - {file = "protobuf-4.23.4-cp37-cp37m-win32.whl", hash = "sha256:c3e0939433c40796ca4cfc0fac08af50b00eb66a40bbbc5dee711998fb0bbc1e"}, - {file = "protobuf-4.23.4-cp37-cp37m-win_amd64.whl", hash = "sha256:9053df6df8e5a76c84339ee4a9f5a2661ceee4a0dab019e8663c50ba324208b0"}, - {file = "protobuf-4.23.4-cp38-cp38-win32.whl", hash = "sha256:e1c915778d8ced71e26fcf43c0866d7499891bca14c4368448a82edc61fdbc70"}, - {file = "protobuf-4.23.4-cp38-cp38-win_amd64.whl", hash = "sha256:351cc90f7d10839c480aeb9b870a211e322bf05f6ab3f55fcb2f51331f80a7d2"}, - {file = "protobuf-4.23.4-cp39-cp39-win32.whl", hash = "sha256:6dd9b9940e3f17077e820b75851126615ee38643c2c5332aa7a359988820c720"}, - {file = "protobuf-4.23.4-cp39-cp39-win_amd64.whl", hash = "sha256:0a5759f5696895de8cc913f084e27fd4125e8fb0914bb729a17816a33819f474"}, - {file = "protobuf-4.23.4-py3-none-any.whl", hash = "sha256:e9d0be5bf34b275b9f87ba7407796556abeeba635455d036c7351f7c183ef8ff"}, - {file = "protobuf-4.23.4.tar.gz", hash = "sha256:ccd9430c0719dce806b93f89c91de7977304729e55377f872a92465d548329a9"}, + {file = "protobuf-4.25.3-cp310-abi3-win32.whl", hash = "sha256:d4198877797a83cbfe9bffa3803602bbe1625dc30d8a097365dbc762e5790faa"}, + {file = "protobuf-4.25.3-cp310-abi3-win_amd64.whl", hash = "sha256:209ba4cc916bab46f64e56b85b090607a676f66b473e6b762e6f1d9d591eb2e8"}, + {file = "protobuf-4.25.3-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:f1279ab38ecbfae7e456a108c5c0681e4956d5b1090027c1de0f934dfdb4b35c"}, + {file = "protobuf-4.25.3-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:e7cb0ae90dd83727f0c0718634ed56837bfeeee29a5f82a7514c03ee1364c019"}, + {file = "protobuf-4.25.3-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:7c8daa26095f82482307bc717364e7c13f4f1c99659be82890dcfc215194554d"}, + {file = "protobuf-4.25.3-cp38-cp38-win32.whl", hash = "sha256:f4f118245c4a087776e0a8408be33cf09f6c547442c00395fbfb116fac2f8ac2"}, + {file = "protobuf-4.25.3-cp38-cp38-win_amd64.whl", hash = "sha256:c053062984e61144385022e53678fbded7aea14ebb3e0305ae3592fb219ccfa4"}, + {file = "protobuf-4.25.3-cp39-cp39-win32.whl", hash = "sha256:19b270aeaa0099f16d3ca02628546b8baefe2955bbe23224aaf856134eccf1e4"}, + {file = "protobuf-4.25.3-cp39-cp39-win_amd64.whl", hash = "sha256:e3c97a1555fd6388f857770ff8b9703083de6bf1f9274a002a332d65fbb56c8c"}, + {file = "protobuf-4.25.3-py3-none-any.whl", hash = "sha256:f0700d54bcf45424477e46a9f0944155b46fb0639d69728739c0e47bab83f2b9"}, + {file = "protobuf-4.25.3.tar.gz", hash = "sha256:25b5d0b42fd000320bd7830b349e3b696435f3b329810427a6bcce6a5492cc5c"}, ] [[package]] @@ -2145,54 +2141,54 @@ files = [ [[package]] name = "pycryptodome" -version = "3.18.0" +version = "3.20.0" description = "Cryptographic library for Python" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ - {file = "pycryptodome-3.18.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:d1497a8cd4728db0e0da3c304856cb37c0c4e3d0b36fcbabcc1600f18504fc54"}, - {file = "pycryptodome-3.18.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:928078c530da78ff08e10eb6cada6e0dff386bf3d9fa9871b4bbc9fbc1efe024"}, - {file = "pycryptodome-3.18.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:157c9b5ba5e21b375f052ca78152dd309a09ed04703fd3721dce3ff8ecced148"}, - {file = "pycryptodome-3.18.0-cp27-cp27m-manylinux2014_aarch64.whl", hash = "sha256:d20082bdac9218649f6abe0b885927be25a917e29ae0502eaf2b53f1233ce0c2"}, - {file = "pycryptodome-3.18.0-cp27-cp27m-musllinux_1_1_aarch64.whl", hash = "sha256:e8ad74044e5f5d2456c11ed4cfd3e34b8d4898c0cb201c4038fe41458a82ea27"}, - {file = "pycryptodome-3.18.0-cp27-cp27m-win32.whl", hash = "sha256:62a1e8847fabb5213ccde38915563140a5b338f0d0a0d363f996b51e4a6165cf"}, - {file = "pycryptodome-3.18.0-cp27-cp27m-win_amd64.whl", hash = "sha256:16bfd98dbe472c263ed2821284118d899c76968db1a6665ade0c46805e6b29a4"}, - {file = "pycryptodome-3.18.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:7a3d22c8ee63de22336679e021c7f2386f7fc465477d59675caa0e5706387944"}, - {file = "pycryptodome-3.18.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:78d863476e6bad2a592645072cc489bb90320972115d8995bcfbee2f8b209918"}, - {file = "pycryptodome-3.18.0-cp27-cp27mu-manylinux2014_aarch64.whl", hash = "sha256:b6a610f8bfe67eab980d6236fdc73bfcdae23c9ed5548192bb2d530e8a92780e"}, - {file = "pycryptodome-3.18.0-cp27-cp27mu-musllinux_1_1_aarch64.whl", hash = "sha256:422c89fd8df8a3bee09fb8d52aaa1e996120eafa565437392b781abec2a56e14"}, - {file = "pycryptodome-3.18.0-cp35-abi3-macosx_10_9_universal2.whl", hash = "sha256:9ad6f09f670c466aac94a40798e0e8d1ef2aa04589c29faa5b9b97566611d1d1"}, - {file = "pycryptodome-3.18.0-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:53aee6be8b9b6da25ccd9028caf17dcdce3604f2c7862f5167777b707fbfb6cb"}, - {file = "pycryptodome-3.18.0-cp35-abi3-manylinux2014_aarch64.whl", hash = "sha256:10da29526a2a927c7d64b8f34592f461d92ae55fc97981aab5bbcde8cb465bb6"}, - {file = "pycryptodome-3.18.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f21efb8438971aa16924790e1c3dba3a33164eb4000106a55baaed522c261acf"}, - {file = "pycryptodome-3.18.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4944defabe2ace4803f99543445c27dd1edbe86d7d4edb87b256476a91e9ffa4"}, - {file = "pycryptodome-3.18.0-cp35-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:51eae079ddb9c5f10376b4131be9589a6554f6fd84f7f655180937f611cd99a2"}, - {file = "pycryptodome-3.18.0-cp35-abi3-musllinux_1_1_i686.whl", hash = "sha256:83c75952dcf4a4cebaa850fa257d7a860644c70a7cd54262c237c9f2be26f76e"}, - {file = "pycryptodome-3.18.0-cp35-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:957b221d062d5752716923d14e0926f47670e95fead9d240fa4d4862214b9b2f"}, - {file = "pycryptodome-3.18.0-cp35-abi3-win32.whl", hash = "sha256:795bd1e4258a2c689c0b1f13ce9684fa0dd4c0e08680dcf597cf9516ed6bc0f3"}, - {file = "pycryptodome-3.18.0-cp35-abi3-win_amd64.whl", hash = "sha256:b1d9701d10303eec8d0bd33fa54d44e67b8be74ab449052a8372f12a66f93fb9"}, - {file = "pycryptodome-3.18.0-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:cb1be4d5af7f355e7d41d36d8eec156ef1382a88638e8032215c215b82a4b8ec"}, - {file = "pycryptodome-3.18.0-pp27-pypy_73-win32.whl", hash = "sha256:fc0a73f4db1e31d4a6d71b672a48f3af458f548059aa05e83022d5f61aac9c08"}, - {file = "pycryptodome-3.18.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:f022a4fd2a5263a5c483a2bb165f9cb27f2be06f2f477113783efe3fe2ad887b"}, - {file = "pycryptodome-3.18.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:363dd6f21f848301c2dcdeb3c8ae5f0dee2286a5e952a0f04954b82076f23825"}, - {file = "pycryptodome-3.18.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:12600268763e6fec3cefe4c2dcdf79bde08d0b6dc1813887e789e495cb9f3403"}, - {file = "pycryptodome-3.18.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4604816adebd4faf8810782f137f8426bf45fee97d8427fa8e1e49ea78a52e2c"}, - {file = "pycryptodome-3.18.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:01489bbdf709d993f3058e2996f8f40fee3f0ea4d995002e5968965fa2fe89fb"}, - {file = "pycryptodome-3.18.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3811e31e1ac3069988f7a1c9ee7331b942e605dfc0f27330a9ea5997e965efb2"}, - {file = "pycryptodome-3.18.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f4b967bb11baea9128ec88c3d02f55a3e338361f5e4934f5240afcb667fdaec"}, - {file = "pycryptodome-3.18.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:9c8eda4f260072f7dbe42f473906c659dcbadd5ae6159dfb49af4da1293ae380"}, - {file = "pycryptodome-3.18.0.tar.gz", hash = "sha256:c9adee653fc882d98956e33ca2c1fb582e23a8af7ac82fee75bd6113c55a0413"}, + {file = "pycryptodome-3.20.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:f0e6d631bae3f231d3634f91ae4da7a960f7ff87f2865b2d2b831af1dfb04e9a"}, + {file = "pycryptodome-3.20.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:baee115a9ba6c5d2709a1e88ffe62b73ecc044852a925dcb67713a288c4ec70f"}, + {file = "pycryptodome-3.20.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:417a276aaa9cb3be91f9014e9d18d10e840a7a9b9a9be64a42f553c5b50b4d1d"}, + {file = "pycryptodome-3.20.0-cp27-cp27m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a1250b7ea809f752b68e3e6f3fd946b5939a52eaeea18c73bdab53e9ba3c2dd"}, + {file = "pycryptodome-3.20.0-cp27-cp27m-musllinux_1_1_aarch64.whl", hash = "sha256:d5954acfe9e00bc83ed9f5cb082ed22c592fbbef86dc48b907238be64ead5c33"}, + {file = "pycryptodome-3.20.0-cp27-cp27m-win32.whl", hash = "sha256:06d6de87c19f967f03b4cf9b34e538ef46e99a337e9a61a77dbe44b2cbcf0690"}, + {file = "pycryptodome-3.20.0-cp27-cp27m-win_amd64.whl", hash = "sha256:ec0bb1188c1d13426039af8ffcb4dbe3aad1d7680c35a62d8eaf2a529b5d3d4f"}, + {file = "pycryptodome-3.20.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:5601c934c498cd267640b57569e73793cb9a83506f7c73a8ec57a516f5b0b091"}, + {file = "pycryptodome-3.20.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d29daa681517f4bc318cd8a23af87e1f2a7bad2fe361e8aa29c77d652a065de4"}, + {file = "pycryptodome-3.20.0-cp27-cp27mu-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3427d9e5310af6680678f4cce149f54e0bb4af60101c7f2c16fdf878b39ccccc"}, + {file = "pycryptodome-3.20.0-cp27-cp27mu-musllinux_1_1_aarch64.whl", hash = "sha256:3cd3ef3aee1079ae44afaeee13393cf68b1058f70576b11439483e34f93cf818"}, + {file = "pycryptodome-3.20.0-cp35-abi3-macosx_10_9_universal2.whl", hash = "sha256:ac1c7c0624a862f2e53438a15c9259d1655325fc2ec4392e66dc46cdae24d044"}, + {file = "pycryptodome-3.20.0-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:76658f0d942051d12a9bd08ca1b6b34fd762a8ee4240984f7c06ddfb55eaf15a"}, + {file = "pycryptodome-3.20.0-cp35-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f35d6cee81fa145333137009d9c8ba90951d7d77b67c79cbe5f03c7eb74d8fe2"}, + {file = "pycryptodome-3.20.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76cb39afede7055127e35a444c1c041d2e8d2f1f9c121ecef573757ba4cd2c3c"}, + {file = "pycryptodome-3.20.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49a4c4dc60b78ec41d2afa392491d788c2e06edf48580fbfb0dd0f828af49d25"}, + {file = "pycryptodome-3.20.0-cp35-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:fb3b87461fa35afa19c971b0a2b7456a7b1db7b4eba9a8424666104925b78128"}, + {file = "pycryptodome-3.20.0-cp35-abi3-musllinux_1_1_i686.whl", hash = "sha256:acc2614e2e5346a4a4eab6e199203034924313626f9620b7b4b38e9ad74b7e0c"}, + {file = "pycryptodome-3.20.0-cp35-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:210ba1b647837bfc42dd5a813cdecb5b86193ae11a3f5d972b9a0ae2c7e9e4b4"}, + {file = "pycryptodome-3.20.0-cp35-abi3-win32.whl", hash = "sha256:8d6b98d0d83d21fb757a182d52940d028564efe8147baa9ce0f38d057104ae72"}, + {file = "pycryptodome-3.20.0-cp35-abi3-win_amd64.whl", hash = "sha256:9b3ae153c89a480a0ec402e23db8d8d84a3833b65fa4b15b81b83be9d637aab9"}, + {file = "pycryptodome-3.20.0-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:4401564ebf37dfde45d096974c7a159b52eeabd9969135f0426907db367a652a"}, + {file = "pycryptodome-3.20.0-pp27-pypy_73-win32.whl", hash = "sha256:ec1f93feb3bb93380ab0ebf8b859e8e5678c0f010d2d78367cf6bc30bfeb148e"}, + {file = "pycryptodome-3.20.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:acae12b9ede49f38eb0ef76fdec2df2e94aad85ae46ec85be3648a57f0a7db04"}, + {file = "pycryptodome-3.20.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f47888542a0633baff535a04726948e876bf1ed880fddb7c10a736fa99146ab3"}, + {file = "pycryptodome-3.20.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e0e4a987d38cfc2e71b4a1b591bae4891eeabe5fa0f56154f576e26287bfdea"}, + {file = "pycryptodome-3.20.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:c18b381553638414b38705f07d1ef0a7cf301bc78a5f9bc17a957eb19446834b"}, + {file = "pycryptodome-3.20.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a60fedd2b37b4cb11ccb5d0399efe26db9e0dd149016c1cc6c8161974ceac2d6"}, + {file = "pycryptodome-3.20.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:405002eafad114a2f9a930f5db65feef7b53c4784495dd8758069b89baf68eab"}, + {file = "pycryptodome-3.20.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2ab6ab0cb755154ad14e507d1df72de9897e99fd2d4922851a276ccc14f4f1a5"}, + {file = "pycryptodome-3.20.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:acf6e43fa75aca2d33e93409f2dafe386fe051818ee79ee8a3e21de9caa2ac9e"}, + {file = "pycryptodome-3.20.0.tar.gz", hash = "sha256:09609209ed7de61c2b560cc5c8c4fbf892f8b15b1faf7e4cbffac97db1fffda7"}, ] [[package]] name = "pyjwt" -version = "2.7.0" +version = "2.8.0" description = "JSON Web Token implementation in Python" optional = false python-versions = ">=3.7" files = [ - {file = "PyJWT-2.7.0-py3-none-any.whl", hash = "sha256:ba2b425b15ad5ef12f200dc67dd56af4e26de2331f965c5439994dad075876e1"}, - {file = "PyJWT-2.7.0.tar.gz", hash = "sha256:bd6ca4a3c4285c1a2d4349e5a035fdf8fb94e04ccd0fcbe6ba289dae9cc3e074"}, + {file = "PyJWT-2.8.0-py3-none-any.whl", hash = "sha256:59127c392cc44c2da5bb3192169a91f429924e17aff6534d70fdc02ab3e04320"}, + {file = "PyJWT-2.8.0.tar.gz", hash = "sha256:57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de"}, ] [package.extras] @@ -2292,24 +2288,6 @@ soap = ["zeep"] soap-alt = ["suds"] soap-fallback = ["PySimpleSOAP"] -[[package]] -name = "python-u2flib-server" -version = "4.0.1" -description = "Python based U2F server library" -optional = false -python-versions = "*" -files = [ - {file = "python-u2flib-server-4.0.1.tar.gz", hash = "sha256:160425fe00407b06ce261a7d3c455a6a529ed73f71cfea1b436b573e1dff000b"}, -] - -[package.dependencies] -cryptography = ">=1.2" -enum34 = "*" - -[package.extras] -u2f-server = ["WebOb", "argparse"] -yubiauth-server = ["WebOb", "yubiauth"] - [[package]] name = "pytz" version = "2024.1" @@ -2403,17 +2381,17 @@ files = [ [[package]] name = "redis" -version = "4.6.0" +version = "5.0.2" description = "Python client for Redis database and key-value store" optional = false python-versions = ">=3.7" files = [ - {file = "redis-4.6.0-py3-none-any.whl", hash = "sha256:e2b03db868160ee4591de3cb90d40ebb50a90dd302138775937f6a42b7ed183c"}, - {file = "redis-4.6.0.tar.gz", hash = "sha256:585dc516b9eb042a619ef0a39c3d7d55fe81bdb4df09a52c9cdde0d07bf1aa7d"}, + {file = "redis-5.0.2-py3-none-any.whl", hash = "sha256:4caa8e1fcb6f3c0ef28dba99535101d80934b7d4cd541bbb47f4a3826ee472d1"}, + {file = "redis-5.0.2.tar.gz", hash = "sha256:3f82cc80d350e93042c8e6e7a5d0596e4dd68715babffba79492733e1f367037"}, ] [package.dependencies] -async-timeout = {version = ">=4.0.2", markers = "python_full_version <= \"3.11.2\""} +async-timeout = ">=4.0.3" [package.extras] hiredis = ["hiredis (>=1.0.0)"] @@ -2436,13 +2414,13 @@ rpds-py = ">=0.7.0" [[package]] name = "reportlab" -version = "4.0.9" +version = "4.1.0" description = "The Reportlab Toolkit" optional = false python-versions = ">=3.7,<4" files = [ - {file = "reportlab-4.0.9-py3-none-any.whl", hash = "sha256:c9656216321897486e323be138f7aea67851cedc116b8cc35f8ec7f8cc763538"}, - {file = "reportlab-4.0.9.tar.gz", hash = "sha256:f32bff66a0fda234202e1e33eaf77f25008871a61cb01cd91584a521a04c0047"}, + {file = "reportlab-4.1.0-py3-none-any.whl", hash = "sha256:28a40d5000afbd8ccae15a47f7abe2841768461354bede1a9d42841132997c98"}, + {file = "reportlab-4.1.0.tar.gz", hash = "sha256:3a99faf412691159c068b3ff01c15307ce2fd2cf6b860199434874e002040a84"}, ] [package.dependencies] @@ -2645,13 +2623,13 @@ files = [ [[package]] name = "sentry-sdk" -version = "1.15.0" +version = "1.40.6" description = "Python client for Sentry (https://sentry.io)" optional = false python-versions = "*" files = [ - {file = "sentry-sdk-1.15.0.tar.gz", hash = "sha256:69ecbb2e1ff4db02a06c4f20f6f69cb5dfe3ebfbc06d023e40d77cf78e9c37e7"}, - {file = "sentry_sdk-1.15.0-py2.py3-none-any.whl", hash = "sha256:7ad4d37dd093f4a7cb5ad804c6efe9e8fab8873f7ffc06042dc3f3fd700a93ec"}, + {file = "sentry-sdk-1.40.6.tar.gz", hash = "sha256:f143f3fb4bb57c90abef6e2ad06b5f6f02b2ca13e4060ec5c0549c7a9ccce3fa"}, + {file = "sentry_sdk-1.40.6-py2.py3-none-any.whl", hash = "sha256:becda09660df63e55f307570e9817c664392655a7328bbc414b507e9cb874c67"}, ] [package.dependencies] @@ -2660,18 +2638,24 @@ urllib3 = {version = ">=1.26.11", markers = "python_version >= \"3.6\""} [package.extras] aiohttp = ["aiohttp (>=3.5)"] +arq = ["arq (>=0.23)"] +asyncpg = ["asyncpg (>=0.23)"] beam = ["apache-beam (>=2.12)"] bottle = ["bottle (>=0.12.13)"] celery = ["celery (>=3)"] chalice = ["chalice (>=1.16.0)"] +clickhouse-driver = ["clickhouse-driver (>=0.2.0)"] django = ["django (>=1.8)"] falcon = ["falcon (>=1.4)"] fastapi = ["fastapi (>=0.79.0)"] -flask = ["blinker (>=1.1)", "flask (>=0.11)"] +flask = ["blinker (>=1.1)", "flask (>=0.11)", "markupsafe"] +grpcio = ["grpcio (>=1.21.1)"] httpx = ["httpx (>=0.16.0)"] huey = ["huey (>=2)"] +loguru = ["loguru (>=0.5)"] opentelemetry = ["opentelemetry-distro (>=0.35b0)"] -pure-eval = ["asttokens", "executing", "pure-eval"] +opentelemetry-experimental = ["opentelemetry-distro (>=0.40b0,<1.0)", "opentelemetry-instrumentation-aiohttp-client (>=0.40b0,<1.0)", "opentelemetry-instrumentation-django (>=0.40b0,<1.0)", "opentelemetry-instrumentation-fastapi (>=0.40b0,<1.0)", "opentelemetry-instrumentation-flask (>=0.40b0,<1.0)", "opentelemetry-instrumentation-requests (>=0.40b0,<1.0)", "opentelemetry-instrumentation-sqlite3 (>=0.40b0,<1.0)", "opentelemetry-instrumentation-urllib (>=0.40b0,<1.0)"] +pure-eval = ["asttokens", "executing", "pure_eval"] pymongo = ["pymongo (>=3.1)"] pyspark = ["pyspark (>=2.4.4)"] quart = ["blinker (>=1.1)", "quart (>=0.16.1)"] @@ -2996,21 +2980,20 @@ files = [ [[package]] name = "webauthn" -version = "0.4.7" -description = "A WebAuthn Python module." +version = "2.0.0" +description = "Pythonic WebAuthn" optional = false python-versions = "*" files = [ - {file = "webauthn-0.4.7-py2.py3-none-any.whl", hash = "sha256:238391b2e2cc60fb51a2cd2d2d6be149920b9af6184651353d9f95856617a9e7"}, - {file = "webauthn-0.4.7.tar.gz", hash = "sha256:8ad9072ff1d6169f3be30d4dc8733ea563dd266962397bc58b40f674a6af74ac"}, + {file = "webauthn-2.0.0-py3-none-any.whl", hash = "sha256:644dc68af5caaade06be6a2a2278775e85116e92dd755ad7a49d992d51c82033"}, + {file = "webauthn-2.0.0.tar.gz", hash = "sha256:12cc1759da98668b8242badc37c4129df300f89d89f5c183fac80e7b33c41dfd"}, ] [package.dependencies] -cbor2 = ">=4.0.1" -cryptography = ">=2.3.1" -future = ">=0.17.1" -pyOpenSSL = ">=16.0.0" -six = ">=1.11.0" +asn1crypto = ">=1.4.0" +cbor2 = ">=5.4.6" +cryptography = ">=41.0.7" +pyOpenSSL = ">=23.3.0" [[package]] name = "webencodings" @@ -3190,4 +3173,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "c766a0dcecee2fdceb93eb95222197e196f55120b33bb4a4e41416a46e8bd301" +content-hash = "e9fc7007f6697e279758c9460ed3ac584b006ff6dae76244fd7790c44bcdd71a" diff --git a/pkgs/pretix/pretix-static.nix b/pkgs/pretix/pretix-static.nix index 984ea71..7ef6129 100644 --- a/pkgs/pretix/pretix-static.nix +++ b/pkgs/pretix/pretix-static.nix @@ -8,7 +8,7 @@ let nodeEnv = buildNpmPackage rec { name = "pretix-nodejs"; src = "${pretix.passthru.pythonModule.pkgs.pretix}/lib/${pretix.python.libPrefix}/site-packages/pretix/static/npm_dir"; - npmDepsHash = "sha256-J+HsQijfE+L/sa28+ISyMDgjjKvSHe3J2bOe/QYHbnc="; + npmDepsHash = "sha256-kE13dcTdWZZNHPMcHEiK0a2dEcu3Z3/q815YhaVkLbQ="; dontNpmBuild = true; installPhase = '' mkdir -p $out diff --git a/pkgs/pretix/pyproject.toml b/pkgs/pretix/pyproject.toml index 18c2b8d..1712267 100644 --- a/pkgs/pretix/pyproject.toml +++ b/pkgs/pretix/pyproject.toml @@ -7,7 +7,7 @@ license = "MIT" [tool.poetry.dependencies] python = "^3.10" -pretix = "^2024.1.1" +pretix = "^2024.2.0" [tool.poetry.dev-dependencies] From 4170e91ab8ef85236fa0e0b39001913b9664cbf6 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 2 Mar 2024 00:20:05 +0000 Subject: [PATCH 251/766] Reduce gunicorn workers as the VM will be scaled down to Hetzner CAX11 (2 Cores, 4GiB RAM) --- hosts/weinturm-pretix-prod/services/pretix.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/weinturm-pretix-prod/services/pretix.nix b/hosts/weinturm-pretix-prod/services/pretix.nix index 78c7026..9c93e6a 100644 --- a/hosts/weinturm-pretix-prod/services/pretix.nix +++ b/hosts/weinturm-pretix-prod/services/pretix.nix @@ -30,7 +30,7 @@ in "mail@jalr.de" ]; }; - gunicornWorkers = 32; + gunicornWorkers = 4; }; services.nginx = { From 6069d6376eb45b8824616bf817939deaa314abf2 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 5 Mar 2024 17:33:11 +0000 Subject: [PATCH 252/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/c8e74c2f83fe12b4e5a8bd1abbc090575b0f7611' (2024-02-28) → 'github:nixos/nixpkgs/617579a787259b9a6419492eaac670a5f7663917' (2024-03-04) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/bf82777340bcb9b01ebfc8e18994a67724ce78bb' (2024-02-29) → 'github:NixOS/nixpkgs/0cfd293af3249b214085553e0ef053141f32099a' (2024-03-05) • Updated input 'nur': 'github:nix-community/NUR/c52cf9478c981de340151638d76c3c2371eb9ebe' (2024-02-29) → 'github:nix-community/NUR/c715d34e7040f934a2edfa7024a1f04e86536b9e' (2024-03-05) • Updated input 'sops-nix': 'github:Mic92/sops-nix/a1c8de14f60924fafe13aea66b46157f0150f4cf' (2024-02-26) → 'github:Mic92/sops-nix/291aad29b59ceda517a06e59809f35cb0bb17c6b' (2024-03-04) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/89a2a12e6c8c6a56c72eb3589982c8e2f89c70ea' (2024-02-25) → 'github:NixOS/nixpkgs/66d65cb00b82ffa04ee03347595aa20e41fe3555' (2024-03-03) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index f9d14cc..fdc15ec 100644 --- a/flake.lock +++ b/flake.lock @@ -202,11 +202,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1708819810, - "narHash": "sha256-1KosU+ZFXf31GPeCBNxobZWMgHsSOJcrSFA6F2jhzdE=", + "lastModified": 1709428628, + "narHash": "sha256-//ZCCnpVai/ShtO2vPjh3AWgo8riXCaret6V9s7Hew4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "89a2a12e6c8c6a56c72eb3589982c8e2f89c70ea", + "rev": "66d65cb00b82ffa04ee03347595aa20e41fe3555", "type": "github" }, "original": { @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1709227968, - "narHash": "sha256-sH6Kn4cVVns68Q9aozD6njzz1LuyXjSAFlldKa2wBkY=", + "lastModified": 1709659624, + "narHash": "sha256-oVFPjAfRFpAXZJDz1Ta4SAbaL73fxctCBdFC5vZF504=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bf82777340bcb9b01ebfc8e18994a67724ce78bb", + "rev": "0cfd293af3249b214085553e0ef053141f32099a", "type": "github" }, "original": { @@ -234,11 +234,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1709128929, - "narHash": "sha256-GWrv9a+AgGhG4/eI/CyVVIIygia7cEy68Huv3P8oyaw=", + "lastModified": 1709569716, + "narHash": "sha256-iOR44RU4jQ+YPGrn+uQeYAp7Xo7Z/+gT+wXJoGxxLTY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c8e74c2f83fe12b4e5a8bd1abbc090575b0f7611", + "rev": "617579a787259b9a6419492eaac670a5f7663917", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1709225079, - "narHash": "sha256-2bmOKg/aIgmguPZz3OwjG5lCAGaLwM9ubBkXjcp7edU=", + "lastModified": 1709649736, + "narHash": "sha256-HRrzvBWIRQlSN4joPI+rroqtEPWEcZK/ETY4cAkDwOs=", "owner": "nix-community", "repo": "NUR", - "rev": "c52cf9478c981de340151638d76c3c2371eb9ebe", + "rev": "c715d34e7040f934a2edfa7024a1f04e86536b9e", "type": "github" }, "original": { @@ -311,11 +311,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1708987867, - "narHash": "sha256-k2lDaDWNTU5sBVHanYzjDKVDmk29RHIgdbbXu5sdzBA=", + "lastModified": 1709591996, + "narHash": "sha256-0sQcalXSgqlO6mnxBTXkSQChBHy2GQsokB1XY8r+LpQ=", "owner": "Mic92", "repo": "sops-nix", - "rev": "a1c8de14f60924fafe13aea66b46157f0150f4cf", + "rev": "291aad29b59ceda517a06e59809f35cb0bb17c6b", "type": "github" }, "original": { From c685c71b8df916d3ce963d0374b57fc9862cc2f1 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 5 Mar 2024 19:40:44 +0000 Subject: [PATCH 253/766] Add PHP language server --- home-manager/modules/neovim.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/home-manager/modules/neovim.nix b/home-manager/modules/neovim.nix index 09b05a3..e187e32 100644 --- a/home-manager/modules/neovim.nix +++ b/home-manager/modules/neovim.nix @@ -110,6 +110,11 @@ cmd = [ "${pkgs.rnix-lsp}/bin/rnix-lsp" ]; }; + # PHP + phpactor = { + cmd = [ "${pkgs.phpactor}/bin/phpactor" "language-server" ]; + }; + # Python pylsp = { cmd = [ "${pkgs.python3Packages.python-lsp-server}/bin/pylsp" ]; From d0ffc383167321ec86c4c3bcd850d70152e06433 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 5 Mar 2024 19:41:00 +0000 Subject: [PATCH 254/766] Add lsp_signature plugin --- home-manager/modules/neovim.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/home-manager/modules/neovim.nix b/home-manager/modules/neovim.nix index e187e32..36cac80 100644 --- a/home-manager/modules/neovim.nix +++ b/home-manager/modules/neovim.nix @@ -79,6 +79,12 @@ vim-nix vim-puppet vim-terraform + ( + lib.mkIf nixosConfig.jalr.workstation.enable { + plugin = lsp_signature-nvim; + config = "lua require('lsp_signature').setup()"; + } + ) ]; }; @@ -133,6 +139,7 @@ jedi_signature_help = { enabled = true; }; jedi_symbols = { enabled = true; }; mccabe = { enabled = true; }; + lsp_signature-nvim = { enabled = true; }; preload = { enabled = true; }; pycodestyle = { enabled = true; }; pyflakes = { enabled = true; }; From 4e52bd17561c1e87b42c89be9047a254a96bd8e9 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 10 Mar 2024 08:54:56 +0000 Subject: [PATCH 255/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/617579a787259b9a6419492eaac670a5f7663917' (2024-03-04) → 'github:nixos/nixpkgs/b94a96839afcc56de3551aa7472b8d9a3e77e05d' (2024-03-09) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/0cfd293af3249b214085553e0ef053141f32099a' (2024-03-05) → 'github:NixOS/nixpkgs/7e0c071ac153adc8a3157042e5f474682c86a991' (2024-03-10) • Updated input 'nur': 'github:nix-community/NUR/c715d34e7040f934a2edfa7024a1f04e86536b9e' (2024-03-05) → 'github:nix-community/NUR/0fc60d25043f9cda4549e6656fea6787cbdd095f' (2024-03-10) • Updated input 'sops-nix': 'github:Mic92/sops-nix/291aad29b59ceda517a06e59809f35cb0bb17c6b' (2024-03-04) → 'github:Mic92/sops-nix/f8d5c8baa83fe620a28c0db633be9db3e34474b4' (2024-03-10) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/66d65cb00b82ffa04ee03347595aa20e41fe3555' (2024-03-03) → 'github:NixOS/nixpkgs/b17375d3bb7c79ffc52f3538028b2ec06eb79ef8' (2024-03-10) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index fdc15ec..f1825d0 100644 --- a/flake.lock +++ b/flake.lock @@ -202,11 +202,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1709428628, - "narHash": "sha256-//ZCCnpVai/ShtO2vPjh3AWgo8riXCaret6V9s7Hew4=", + "lastModified": 1710033658, + "narHash": "sha256-yiZiVKP5Ya813iYLho2+CcFuuHpaqKc/CoxOlANKcqM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "66d65cb00b82ffa04ee03347595aa20e41fe3555", + "rev": "b17375d3bb7c79ffc52f3538028b2ec06eb79ef8", "type": "github" }, "original": { @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1709659624, - "narHash": "sha256-oVFPjAfRFpAXZJDz1Ta4SAbaL73fxctCBdFC5vZF504=", + "lastModified": 1710059092, + "narHash": "sha256-an7XPS5txBKuFQa4MeJ+WbrWusfuY0sb2wx+SbPGnNA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0cfd293af3249b214085553e0ef053141f32099a", + "rev": "7e0c071ac153adc8a3157042e5f474682c86a991", "type": "github" }, "original": { @@ -234,11 +234,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1709569716, - "narHash": "sha256-iOR44RU4jQ+YPGrn+uQeYAp7Xo7Z/+gT+wXJoGxxLTY=", + "lastModified": 1710021367, + "narHash": "sha256-FuMVdWqXMT38u1lcySYyv93A7B8wU0EGzUr4t4jQu8g=", "owner": "nixos", "repo": "nixpkgs", - "rev": "617579a787259b9a6419492eaac670a5f7663917", + "rev": "b94a96839afcc56de3551aa7472b8d9a3e77e05d", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1709649736, - "narHash": "sha256-HRrzvBWIRQlSN4joPI+rroqtEPWEcZK/ETY4cAkDwOs=", + "lastModified": 1710060343, + "narHash": "sha256-63QQVGm3/VoSsnpFeW/zEP//HJ+C1qR9ZOqMguCsqSc=", "owner": "nix-community", "repo": "NUR", - "rev": "c715d34e7040f934a2edfa7024a1f04e86536b9e", + "rev": "0fc60d25043f9cda4549e6656fea6787cbdd095f", "type": "github" }, "original": { @@ -311,11 +311,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1709591996, - "narHash": "sha256-0sQcalXSgqlO6mnxBTXkSQChBHy2GQsokB1XY8r+LpQ=", + "lastModified": 1710039806, + "narHash": "sha256-vC2fo/phnetp6ub/nRv6mgAi5LbhJ6ujGQWrRD2VgNs=", "owner": "Mic92", "repo": "sops-nix", - "rev": "291aad29b59ceda517a06e59809f35cb0bb17c6b", + "rev": "f8d5c8baa83fe620a28c0db633be9db3e34474b4", "type": "github" }, "original": { From 224c9388698045db6f7afc702f09530440fc6271 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 10 Mar 2024 19:03:47 +0000 Subject: [PATCH 256/766] Fix esphome build issues The package from nixpkgs master seems to fix the build issues. --- hosts/iron/services/esphome/default.nix | 62 ++++++++++++++----------- 1 file changed, 36 insertions(+), 26 deletions(-) diff --git a/hosts/iron/services/esphome/default.nix b/hosts/iron/services/esphome/default.nix index 73af2f2..aec1058 100644 --- a/hosts/iron/services/esphome/default.nix +++ b/hosts/iron/services/esphome/default.nix @@ -2,7 +2,6 @@ args@{ lib, pkgs, config, custom-utils, ... }: let ports = import ../../ports.nix args; cfg = config.services.esphome; - stateDir = "/var/lib/esphome"; devices = [ ./yeelight-meteorite.yaml ]; @@ -13,7 +12,6 @@ let installPhase = '' mkdir $out cp -r * $out - ln -snf "${config.sops.secrets.esphome.path}" "$out/secrets.yaml" ''; }; esphomeParams = @@ -33,31 +31,43 @@ in enable = true; address = "127.0.0.1"; port = ports.esphome.tcp; - package = pkgs.esphome.overrideAttrs (attrs: { - makeWrapperArgs = attrs.makeWrapperArgs ++ [ - "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ pkgs.stdenv.cc.cc.lib ]}" - ]; - }); + package = pkgs.master.esphome; + #package = pkgs.esphome.overrideAttrs (attrs: { + # makeWrapperArgs = attrs.makeWrapperArgs ++ [ + # "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ pkgs.stdenv.cc.cc.lib ]}" + # ]; + #}); }; - system.activationScripts.esphome-custom = { - deps = [ "users" "groups" ]; - text = '' - ${pkgs.rsync}/bin/rsync \ - -a \ - --delete \ - --exclude=.esphome \ - --exclude=.platformio \ - --exclude=.gitignore \ - "${cfgdir}/" "${stateDir}/" - mkdir -p \ - "${stateDir}/.esphome" \ - "${stateDir}/.platformio" - touch "${stateDir}/.gitignore" - chown esphome:esphome \ - "${stateDir}/" \ - "${stateDir}/.esphome" \ - "${stateDir}/.platformio" - ''; + systemd.services.esphome = { + environment = { + "PLATFORMIO_CORE_DIR" = lib.mkForce "/tmp/.platformio"; + }; + serviceConfig = { + BindPaths = [ + "/var/lib/esphome" + "/var/lib/private/esphome" + ]; + BindReadOnlyPaths = [ + "/nix/store" + "${cfgdir}" + ]; + DeviceAllow = [ + "char-ttyACM rw" + "char-ttyAMA rw" + "char-ttyUSB rw" + ]; + ExecStartPre = [ + "${pkgs.rsync}/bin/rsync -a --delete --exclude=.esphome --exclude=.platformio --exclude=.gitignore '${cfgdir}/' '/var/lib/esphome/'" + "${pkgs.coreutils}/bin/ln -snf '%d/secrets.yaml' '/var/lib/esphome/secrets.yaml'" + ]; + LoadCredential = "secrets.yaml:${config.sops.secrets.esphome.path}"; + PrivateTmp = true; + RootDirectory = "/run/esphome"; + RuntimeDirectory = "esphome"; + StateDirectory = "esphome"; + SupplementaryGroups = [ "dialout" ]; + WorkingDirectory = lib.mkForce "/tmp"; + }; }; } From 73a900614e10d33f4d0403bc100335bafe4c1541 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 10 Mar 2024 19:04:51 +0000 Subject: [PATCH 257/766] Rename temperature sensors --- hosts/iron/services/esphome/devices/kueche-leiste.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/hosts/iron/services/esphome/devices/kueche-leiste.yaml b/hosts/iron/services/esphome/devices/kueche-leiste.yaml index ea6109d..de9d8cb 100644 --- a/hosts/iron/services/esphome/devices/kueche-leiste.yaml +++ b/hosts/iron/services/esphome/devices/kueche-leiste.yaml @@ -65,9 +65,12 @@ sensor: - platform: dht pin: GPIO5 temperature: - name: "Living Room Temperature" + name: "Temperatur" + id: temperature humidity: - name: "Living Room Humidity" + name: "Feuchtigkeit" + id: humidity + accuracy_decimals: 1 update_interval: 60s binary_sensor: From 23f067e7dfb100a40764095b01a0216bbbf25965 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 10 Mar 2024 19:07:28 +0000 Subject: [PATCH 258/766] Add heating --- hosts/iron/secrets.yaml | 6 +- .../esphome/devices/fussbodenheizung.yaml | 166 ++++++++++++++++++ 2 files changed, 169 insertions(+), 3 deletions(-) create mode 100644 hosts/iron/services/esphome/devices/fussbodenheizung.yaml diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index a41b39e..f863483 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -9,7 +9,7 @@ dkim-keys: jalr.de.default: ENC[AES256_GCM,data:mnApsYKXYGtUAHddccmNmU9yZQtekDkTiTXbJ0UJxC0rFxzQCtGsinQslIROJdNUxsxciR1ilNzxawzjJD7AaWJbcAq2TYObGJJOQZBif7t/XEN/rIxEmnAFmdeAyrSONmFb9DiEn59m6DpsU+/9Y+hnc/uwwbzueO34WHJnTqmmsxFVNQZfGR+cbSckHS3wZrfjZSKKzCRt+9DU/xxJ4voyowXLO77w00LHVkyU5liwONi0v2XJ+QeP/jIMmJeKjujZcH+qvUm/kukijqyWKGrZoAYPC2cBlL/UrNECuVdSLMXvr4KBDDTCRZCSMRgUPJ0TAfpQPTPitKJ/0igK7qQl9n/6hckY7VyP8KDS7J7G2Z2XVxfZrAR4X/7ya9B2kneVr2CNx3w954EdTcV1/lD7rcKRjKynyl3ddf8gxJFJ21k1ybo2RLnftGCRVq25qNwhyfjU8x5c7AEs+YTPDrcnmxZ/Ui276eLwpMj61oZzTp8QQhiBVwS/+ruRLC+78pu2gb1gBF/Oo3nuvQD1SOpCRikLVewCYDvfXj/hrjo+oCsjTOj+9tWRcRAEDVlhkXWCMuPXDYrdt3HrIWbQuP8NW1ezd1Ll0r1ujjtPJeSwdd8cVcUSBIoA5gU+eXnYjFaSx9BZ+sIfKqG//W3S+aBYDqAEK/z4N5q66sReb5mtSQYfbZuIZDmox9bwNMG3tJmQX0lJZgEIiuJ5/ef4ra0sj9JsRFldmIn9KUmjW9OlIwzQ42cNNvQSMD/6haNiYsE6TPzVylJ/B2kNu9Qh5FfpCIPtVORv2BAGoNvZlyhjyEiXBEZ4x2hx1l5cBwGOaGhoJ0p+1wqn2zDalIBaEFjbBVdIB6DPC6/lccvpqSwF7HvW2ugyYhW+u92vgic71/BsI4i0OlsJV18gU/zVg0Yj8SK69kEwm4wkJTrkM/I4+kkUIc5OiSAknRfjOFJc0etkh3nO34xpHLOkSv9DrKfXSAGmGZtCLtVL5LGdZeCd/g6EK0JJh6bd9Gu9koSJVq5vjdDJJFf+sgk39TCvHAvk8k1/FgdK5jMJ+pR8heJtP8G96ay3DFVm5hpbjuNKqfBvbf2rkyV6++ywRFnAQGPUiMn9g6Q4F5Ks7CC1D0Ubl7b3dCUk6BDi8rHjxy9QS0/25Yz9cF0bFd6XQDfblnyRLMi9aB36M9Vp38Oh5aB16MyvNUHzcxpaAak0yknE6OuuEMBPQZgFVADCITfy9eUXl2FoXrMWEnBO78GybQ+cV8nhynn5t0U+3koMy2E8ju5kiEofQxXylys3Q76iKRRUbQqFkh/ndWtJVVfGNpi1GrUr1w1YZM0hBY9FqqeBjf7ckj+9BdiwWJ0XauuR70o7odm02mydk1/T3Hfzt3OE5nHIXnVbum9KyPx8wXj9qc6JGFm558pQOcRUgGUi+EzGoGckkoLx4Onl+XeGysW5sXP9dbYgMBug0Tjmdo9xkoBti6znDnN/zh93bbzWITNvxMgVs8zSWEhlM0c7F02UeUXSekbTFue5FOaMdYObMvPeb53jAKBOYLr34GVFvucJhKajIaNzDvfiI6fGCMxcSsWk+P3co7gdbRlWYZELsKDu2scktZsHr/gRwRiDZXAWOLiWZL4jswQ1vXSFXJgdblEV//hr2DwsAtCAsyFcgO/LGq30xi3xNqHTkUZXo6cZYSb6EVaIywMCI5ySEnTLAp/xedySANHuo8yyVqyLxkDPI7CnnSS7JcnQF3K5z+NZ0KnIpc1ewGupOhS0fKj31XxUkoSsHEY/iWJPLNA8+4VsBkADnGdkYXHTvy/yAGV6w1k1qtjiWhDAGcE9/o6NOHctYm3cx8CVsLpve/WFUaCkGgjWJdC8XP92xsUQoE6PENn6ZzFaqGHs7hgQqE1kBcEj8N5WkEqkoMo82giHE33iYoVUdkjOTkV4iDGEqyjg1BoM0GedR2A832LseDkP7u4DjIAQfpIDu7PaeiDh7xWkPRwIMV0oDTakXTdPkPGdgFikzTaxkTzRlpCbQuV769eITqVT04kJDp7+0Rb6dtjeXc0Ennv68wZSiyrlmXbrJntg7g1wrebq28q9NMIZETAPugfK6wNDu/Iw1q1kZn2ELo6xaDlcIxHDcpzK7e2VAYYuP1k3sYnSLU3oeq54j3/yS2z1me5FEqWlPOCrjdnLkE3/GjbeMsYo2YTYJEUEd2ncacSCoXUaUoxpBnjRYcHLRUV+6jy7Amp0/52rAPzSeVlBzc+SdNiKLYA2UQ74WrMU596Gkhw1SD8jSM5QqSBhH9sL+oE4GjhjLhstMUPdkNgiwxXDTZLKcIyjN1cn+RSmvNA2KXMH6MoXrkqSkJ9u2s0QAhla51zR/LZwWbzwGOO0dkh3rwh2x+pcCfuzvlk3lYr/x5XOF2k1n8yvehXY5zIX8nk6djjLbvAzzSr/yalS7R0WYIc6CjzoUl3qz+PlneMfKHcaX00hkOlIub/ZFQf1RE+JzZxi0qQq4M8Nt1XRKGDeS448Z6znDpedStUH29krZcnjMtyLmPX7ETTsjr3HLpCOd7MQ2K1rfhmvh5BtJkn1KSUf94puZbkLH7X+WnWN0hsc+KbSXnYZvqwJ8G0/7ptp/Q+wGljqhjv+HhOeA3NUwANv1xWgbiymVIlxCodXtQwn8mxS+jxSvslGwOnyUkTT76IbFbv/IpW6PNvj/xqwOqey8a/4WCGcqs403Y7TKQ+xCflG6K3tL7U5UbMnMgXTeZvoK+DooS2eIepF2WB5XqTuOZJV2OQ6GHfaBMjXN9iGVNLi6XgkbpmcMLQ4TZq+dVmgleJb14IaTFD3n74OfmbcT9lmRfPRJEpFEMNeL3ghH54P2a91zJFASgE7x+Uv2cGcmKFtMbyc/rrhH1F/Ixlv/R37huFo1T2dPMEZ/1ouuPpbUQ5oz/JlOWw3NOxd0O6oG0x9Xib+9KxSFOusLWcFEgx70jrBQKj8s2Jj+W0gZYv+BJtPMPY0KAkRj1amt4Fd6ZrPOEXJ392EHSAEv5jssO5ba52OHKA+QkYvPPL04rwkxSAQiTl57scnEj2WEIP+Lz0/qsMnwF+3rWuz856doJZcXX+U9iuzBCaYQqA1P3BojAYhEHnXBPeolHOA3BmhT9E2TJsZ6P9SQ+GaqyLm0i4vRXGlArlkLwRBs9EZv/l4DT8q0YHha53O4rhRzGJZKAOO252Dpha1YN7+FubYGAZjaUT5O0R/7xSPrGyBejddtM8asW8+NClAn4Y6xvj1IgUg6VRpEy7ZIpZEQ+UyDWt0A4nsipaz2NyZKZ5Vxza2v1qZDdYODK8nm/zj7fR/JykaNVEVj7ceTSHdaQlajfeEWWTs92msIBcqPUXqlaR005hoVvXm+WCnzIMIXLGiyRKRsAPIDYh2hGCtvfXLSq5TYm3bnGAImL0KW3Yllt1qSqSbOYsvm5QfDmTrrccvtSLGRj0rOU3Z8f4WXjf+1YgxjZ9h8fKL+LKA8x1S6M8fl0JVGBIAU8Xe8c4+r2F1VcygJp7h+0v8o8GudM6in4djAdeMLWBgXid7r0q744joFucP56opwYQp3Lu0oFEo0omS6Rh9yPfOjdGBU2eUdjcCNXXuEJD9yHSyebviSAvDw/KH1AxYSWYnjMWACCfcbOlXf3ej7PuQgq5MdFwF7+QawXm0john4YusUon4/0fqd/IFLd6oHYYesxcFdm1jN6DeS4SAqRgeEPuEWDFERgXjLHBxl5Xdi5n+NOR3Vc7ziJ9j9/CA1DKdwmsFBBDcVKMnr2FibXpN5WsSdlBng0L2zhkL22wRH9xbz8Xk5shN20/EHoxHB5HJvwfOgHIC7ooWKOUUuNTZH43+gVN+wzRzlMfiF4X71Edw+lTnQRp6Lh03M2k9do6JPoX2+UU0h6mOYiAFkhHKzCmK3DY12c4Smx+qLJNbUGhoMgthu/WnXObm0Hr+myCooTYSVNTJx6vVjI3GZtMcat2o8B9k38u/Y5/FxqTYmyXhROwS4v3W5fXwTAaxBqQy6Xj5s4V37omBBh/Z9a43nc2VlT7dKR1wIvNB/gqhiYyYrVMtYMJqGLkeCbu50LUWT4qXyR8uaqbZTVjyJCQRxZd6fd3Zfe9wIeYe3N5qKIXkFD3n1U2Q/EyRfb3TpiA+eYkAtl6JGK0vpeWpN5M2LJ3/V79e3cIG7B7/p6BrRxKxHDnBZcu57KKaN8XM+v2KTz7XdF8bjgeu1V/B9WoBwnpzCM+3s5ffNceuUcb2gJgRAUpZvcSDLYy+9aluGU2Tvsm49fCzr851p3VSEJepgPpnvuq874AX/MbPvqidF8Y21Kss1RUbl5wrlq5IihKdM+xCSq6mjvtSPVHRvw==,iv:2NBiTTW9slOH9BvM+kVbMB/+8EiS/Dc/eaqrtiwn4HY=,tag:0rc2+ZWy9XZYE7RK/oSo3g==,type:str] synapse-turn-shared-secret: ENC[AES256_GCM,data:Q1XRds3Zud1kYkvD6s9WUzP+kNDNsxB5SHd6oCAaLCHhHhYENSAYTZOF+rGjCPNyKFL0e/A=,iv:zScRQrz+pXHNUh/BGOaV+TVnDR3wu1Z/UO1zXarKwtA=,tag:ckpVziE+yb0FjctcT7tAkg==,type:str] rmfakecloud: ENC[AES256_GCM,data:ktKBKb6cRv1VF8tRvXIpxIy9hPinVPKK05mgvYzz18PEdcrCLpldm5xf7ffHtY5XzDOAMXDCiz6x4xyv7071frrF0spOEPnIzVhxwG8H2Ck=,iv:qJdHjv0RziAs4G9UGeRwGQ4GE5kaObJWpIYWpRKhr9c=,tag:PXgvU1hZK/gvWGyFJaHekg==,type:str] -esphome: ENC[AES256_GCM,data:deY5RdItnZt7iJzSiHWvduRWqLTPt5ep70k/oLMjSanqYgAdWV/bGvod3I4bF2HdZymZjmeeGYo6lJCxJ7PwEfzhUGG6626wHhJ5VlfVThwqZ3mXkENdl/+aDyMtaxfaLTn3ygPewG/lAMY8Wn9beCTt4J6te5HlmHSp0VcFvLNl/m6F7nMdd1r1oaubvW7TPPe1+1jkpqphfd56bGYeEQArNEUCeCaXdtPCNZA/aEHZIYmmixuECdzTFTOreHBtG0pFMuAFrVsS3EZxMmnoMhAPrkhML2MSQnXLM2FGPd/FfeQzi9AMmiUqv55YGsJkuNXJs9x6ouU+JsjP876owFIKhB5VEEZAw9cqv/OFdjGboW2akjchZ5HROaofLfHjlVKy1PQwzbVwb8igHZE9PIFbk9O0Jb5fawoe9L9xp0jI6XrnHkgOFhv65uxogzYLFnMvTR8ZFJ02HPNGCh+eQECa5iuzTRb3OWCYls6si7RKGZgu1tE3HADVhqk6ViHckJLnlT1YABmnxoQiKovz1UIOE39e5Wl9m0XGC6OME37bJuSM3Sk24BBHQ36t3IverN3W9bhyhIQe4hw7PXuBVDCu4FJi1PDjmJwRWAWf5+BC1SFigSWDzunI55sX8zWCko9b75BKZoFfxKZminhFYwKTdtRdhbKPK8CIa9FcVf2eDmykhMvMmKVIm74d4yEXHjKt8Yww0x8TKEcqWIobMyPqlixpShaa7c73JgPfzkN0LYK4Da1Y+5MpZdUUypCe+R+Jwg/ROXZpGgwK7LFA2JHS71dq7nysHn5WhHFREPdVF558iiiOALCdMnvdUT6fU748Hx+KijYUl2Kax09l9sRkRsuCj7LRJ+ARDY/v8NlQJeXRIsyosg//DvejNJ5F7oMJK+H/sblTfCoY6SLp1WHAhywW6c5uBsGm1xLsdecfWok3sVv2qjQ5l2FPMvlXdp/0/RjxhLnvVYVTWzw=,iv:5Yybvm1eHbdJop6fGRmaW3Tnie3KHv21zVdWBZCUntA=,tag:7WDHLXkzWS8Dfs79u4Ur2A==,type:str] +esphome: ENC[AES256_GCM,data:mM7IJLUtLcEZpUDAXGEs5sddcNlcEz59o9LCavP3UPxrIuUrDuMPZ/PiLZfKZLeEDBtUUpGqCzDkki4VFZNNUr0ZDonqpQypQ7U/uedfMZvRei8jdsyMGuJ0V4e2rgNGvLhBI62Wh2wLEC1ct8fz8l8H6qKHvnh7ABV2uaCebKZ7ea6vdgjPmYVd5lyYBWcbIfLK+M4xnLsxHnJTl9S67xcw3lj7K9eGETTh6yzn78IdBMcfbtM5KMRlTr/OFACN3YIpaTp3Va/liSuHu9sljze++5QF/UYR9qayzDen0U64aLoUtkqD2kRKQs9Xb6KJJQID7HGBY7DXS4A1VL3KXN2I06hsp8dttgYT+wb4ZhvLdoGTkEj45wlTx7ZxdAGXBJfikpJveYp0IqboqpPHqGKhg08ZQG4yiDzqZzaODRiAIBDn9t1iwfpcJU4CoBIs2PpBQOyTMPIWQzcx27UZmoFogNEPQ+RV7pBE+pzjKyVnGxOEsp79w4nbXXmoDutIM5eFaGDGSIKpNwTfqXxk5IXIWMCYSZIzZHk0TI56UPlWZpyrBawlCAg0fy+y3oa8Bjg1GXVqhzhVNpeGOEk149wlzPpeEaKhA1lHAQ0k+KFtMKmyVPasMBnN/klZyIEm6/v0SteP3nXpDNgRgum7Pm8BrJkk9FUahluD/LbvgRgwOGaUvao4Yq/pGxR4Oyx0iRf7I9JLU/3UIDfL81QKKgY/U4UIrsWRWLsV3TdCglBs4WU52E/H3X5ZmNAAfzHoKtY149tvqPEKCv8mCfkm7ajb81cj4YFX8vLYKb89hbdGw7G2lhKdzenL2v2JNkOkmZqG0EGp+c9Doe333WWEix1IIE3uHh5SWCgtHUiB19Tc3+A122/9Bgbuvv9v/mb455asAQQLN3954s1x29OqkJvWXMIL7wxf0JA45OOcOPZfLVxzjvISxW1mMMYG21+aBDquj9Y9f95WAXDzXZfcgMKzkR0eUwkoF7dJ85Gl/cGF8fCp7U5WWXZRC9ORwR+W9hmF2Jj2DpCXhuAMy9/aC8F5Oz4fpZ/6NSlP5ywj+6nRhSQvbq7r8xzJO/uBRQtXTXoQmm+VXFeNkUkikh80B0GoKYS/QqtqYrsM,iv:PIJv3Gn7oJuA6BGul1EUKfBa1R9+fHTTMN787YaUMwM=,tag:4wC5yPLsxjRd58zSnoiZlg==,type:str] sops: kms: [] gcp_kms: [] @@ -25,8 +25,8 @@ sops: SU1USkxFUUY2NVhmUHBhZkdrNDR1Q0kKiXIicInELRjDR3tuyA+lnXeCcd9lYvbV GnBRGPM7BNO/6AA7HhAei48Kt+XE6+jQX66yTXyviKhK7Lpjrlb2YQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-02-21T23:52:33Z" - mac: ENC[AES256_GCM,data:9J+48OtEbiDWJr1/+R+i4MhcR11QF6Z6FnmdMjEPl3YbaX9+pLgHwtWZNh3AOwhlUCLBeAMt0MkNvrckcq6D8brU2h9fuEJDk3ygLSUPgLs4WJT/rqNn5ZqnSVVtt70b+XK7WPJXqXE9dydXW/Y+TBADC+Es129wYJnZXMTSdGI=,iv:/7igkG2WhJi97cvBHstr88J8ed+67jnODRHagKghgHM=,tag:GtIKo9mMBXVW3eblglRccw==,type:str] + lastmodified: "2024-03-10T17:10:12Z" + mac: ENC[AES256_GCM,data:cjetZHtcYh+qe72Mv1PtQtK8vtQVRCSdqoXNmtv0Vy/I+gCwzVqxX2/DH+8KAirpfG7ctA9IxCX72uAPw/DEHyjhG/znZHma01XYrfU+sBS4wpguDOvunQDj/hoiAsOtZu/7IjkDfydaaCCtmBaqLcDCF5tps1Co88qqFlaL8iA=,iv:saNQjaI57dmLsnAJY1F7OGYfdocFZErkNtSkRWBW6Mg=,tag:gjkH73xCS30FDSPup4DdXw==,type:str] pgp: - created_at: "2024-01-31T01:20:30Z" enc: |- diff --git a/hosts/iron/services/esphome/devices/fussbodenheizung.yaml b/hosts/iron/services/esphome/devices/fussbodenheizung.yaml new file mode 100644 index 0000000..30ff9ce --- /dev/null +++ b/hosts/iron/services/esphome/devices/fussbodenheizung.yaml @@ -0,0 +1,166 @@ +esphome: + name: "fussbodenheizung" + friendly_name: "Fußbodenheizung" + +esp8266: + board: d1_mini + framework: + version: recommended + +logger: + +api: + encryption: + key: !secret apikey_fussbodenheizung + +ota: + password: !secret otapass_fussbodenheizung + +wifi: + ssid: !secret wifi_ssid_bw + password: !secret wifi_password_bw + domain: .iot.bw.jalr.de + enable_on_boot: True + fast_connect: On + +switch: + - platform: gpio + pin: + number: 16 + inverted: true + id: relay_1 + icon: "mdi:electric-switch" + - platform: gpio + pin: + number: 14 + inverted: true + id: relay_2 + icon: "mdi:electric-switch" + - platform: gpio + pin: + number: 12 + inverted: true + id: relay_3 + icon: "mdi:electric-switch" + - platform: gpio + pin: + number: 13 + inverted: true + id: relay_4 + icon: "mdi:electric-switch" + - platform: gpio + pin: + number: 0 + inverted: true + id: relay_5 + icon: "mdi:electric-switch" + +sensor: + - platform: dht + pin: GPIO2 + temperature: + name: "Temperatur" + id: temperature_local + humidity: + name: "Feuchtigkeit" + id: humidity + accuracy_decimals: 1 + update_interval: 60s + - platform: homeassistant + id: temperature_kitchen + entity_id: sensor.kueche_leiste_temperatur + - platform: homeassistant + id: humidity_kitchen + entity_id: sensor.kueche_leiste_feuchtigkeit + +climate: + #- platform: thermostat + # name: "Bad" + # #sensor: heating_livingroom + # #humidity_sensor: + # min_heating_off_time: 300s + # min_heating_run_time: 300s + # min_idle_time: 30s + # heat_action: + # - switch.turn_on: relay_1 + # idle_action: + # - switch.turn_off: relay_1 + # default_preset: zuhause + # on_boot_restore_from: memory + # preset: + # - name: zuhause + # default_target_temperature_low: 22 °C + # - name: abwesend + # default_target_temperature_low: 16 °C + #- platform: thermostat + # name: "Schlafzimmer" + # #sensor: heating_livingroom + # #humidity_sensor: + # min_heating_off_time: 300s + # min_heating_run_time: 300s + # min_idle_time: 30s + # heat_action: + # - switch.turn_on: relay_2 + # idle_action: + # - switch.turn_off: relay_2 + # default_preset: zuhause + # on_boot_restore_from: memory + # preset: + # - name: zuhause + # default_target_temperature_low: 16 °C + # - name: abwesend + # default_target_temperature_low: 15 °C + - platform: thermostat + name: "West" + sensor: temperature_kitchen + humidity_sensor: humidity_kitchen + min_heating_off_time: 300s + min_heating_run_time: 300s + min_idle_time: 30s + heat_action: + - switch.turn_on: relay_3 + idle_action: + - switch.turn_off: relay_3 + default_preset: zuhause + on_boot_restore_from: memory + preset: + - name: zuhause + default_target_temperature_low: 18 °C + - name: abwesend + default_target_temperature_low: 16 °C + - platform: thermostat + name: "Mitte" + sensor: temperature_local + humidity_sensor: humidity + min_heating_off_time: 300s + min_heating_run_time: 300s + min_idle_time: 30s + heat_action: + - switch.turn_on: relay_4 + idle_action: + - switch.turn_off: relay_4 + default_preset: zuhause + on_boot_restore_from: memory + preset: + - name: zuhause + default_target_temperature_low: 19 °C + - name: abwesend + default_target_temperature_low: 16 °C + - platform: thermostat + name: "Ost" + sensor: temperature_local # FIXME + #humidity_sensor: + min_heating_off_time: 300s + min_heating_run_time: 300s + min_idle_time: 30s + heat_action: + - switch.turn_on: relay_5 + idle_action: + - switch.turn_off: relay_5 + default_preset: zuhause + on_boot_restore_from: memory + preset: + - name: zuhause + default_target_temperature_low: 20 °C + - name: abwesend + default_target_temperature_low: 16 °C From 9f66b86503c4f2cc0b44a290e6ad3a8e71f11ca8 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 15 Mar 2024 12:45:33 +0000 Subject: [PATCH 259/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'flake-utils': 'github:numtide/flake-utils/d465f4819400de7c8d874d50b982301f28a84605' (2024-02-28) → 'github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a' (2024-03-11) • Updated input 'gomod2nix': 'github:nix-community/gomod2nix/30e3c3a9ec4ac8453282ca7f67fca9e1da12c3e6' (2024-01-15) → 'github:nix-community/gomod2nix/872b63ddd28f318489c929d25f1f0a3c6039c971' (2024-03-11) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/b94a96839afcc56de3551aa7472b8d9a3e77e05d' (2024-03-09) → 'github:nixos/nixpkgs/878ef7d9721bee9f81f8a80819f9211ad1f993da' (2024-03-14) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/7e0c071ac153adc8a3157042e5f474682c86a991' (2024-03-10) → 'github:NixOS/nixpkgs/4d1e5a2df3ddd73fdda863bf777824682b29e660' (2024-03-15) • Updated input 'nur': 'github:nix-community/NUR/0fc60d25043f9cda4549e6656fea6787cbdd095f' (2024-03-10) → 'github:nix-community/NUR/90155b2212a941712b74575db564c6afd24492b5' (2024-03-15) • Updated input 'sops-nix': 'github:Mic92/sops-nix/f8d5c8baa83fe620a28c0db633be9db3e34474b4' (2024-03-10) → 'github:Mic92/sops-nix/6c32d3b9c7593f4b466ec5404e59fc09a803a090' (2024-03-14) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index f1825d0..999cc9a 100644 --- a/flake.lock +++ b/flake.lock @@ -21,11 +21,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1709126324, - "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "d465f4819400de7c8d874d50b982301f28a84605", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1705314449, - "narHash": "sha256-yfQQ67dLejP0FLK76LKHbkzcQqNIrux6MFe32MMFGNQ=", + "lastModified": 1710154385, + "narHash": "sha256-4c3zQ2YY4BZOufaBJB4v9VBBeN2dH7iVdoJw8SDNCfI=", "owner": "nix-community", "repo": "gomod2nix", - "rev": "30e3c3a9ec4ac8453282ca7f67fca9e1da12c3e6", + "rev": "872b63ddd28f318489c929d25f1f0a3c6039c971", "type": "github" }, "original": { @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1710059092, - "narHash": "sha256-an7XPS5txBKuFQa4MeJ+WbrWusfuY0sb2wx+SbPGnNA=", + "lastModified": 1710506697, + "narHash": "sha256-blAByi2E1j5GUsViapltMos6X6XNF8HosgLJwUNicCo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7e0c071ac153adc8a3157042e5f474682c86a991", + "rev": "4d1e5a2df3ddd73fdda863bf777824682b29e660", "type": "github" }, "original": { @@ -234,11 +234,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1710021367, - "narHash": "sha256-FuMVdWqXMT38u1lcySYyv93A7B8wU0EGzUr4t4jQu8g=", + "lastModified": 1710420202, + "narHash": "sha256-MvFKESbq4rUWuaf2RKPNYENaSZEw/jaCLo2gU6oREcM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b94a96839afcc56de3551aa7472b8d9a3e77e05d", + "rev": "878ef7d9721bee9f81f8a80819f9211ad1f993da", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1710060343, - "narHash": "sha256-63QQVGm3/VoSsnpFeW/zEP//HJ+C1qR9ZOqMguCsqSc=", + "lastModified": 1710506669, + "narHash": "sha256-9m+oWHbBZi3c7YyiMs5hiOIqCG+WgP1sMA+s60AtWOU=", "owner": "nix-community", "repo": "NUR", - "rev": "0fc60d25043f9cda4549e6656fea6787cbdd095f", + "rev": "90155b2212a941712b74575db564c6afd24492b5", "type": "github" }, "original": { @@ -311,11 +311,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1710039806, - "narHash": "sha256-vC2fo/phnetp6ub/nRv6mgAi5LbhJ6ujGQWrRD2VgNs=", + "lastModified": 1710433464, + "narHash": "sha256-IXlPoWgIRovZ32mYvqqdBgOQln71LouE/HBhbKc1wcw=", "owner": "Mic92", "repo": "sops-nix", - "rev": "f8d5c8baa83fe620a28c0db633be9db3e34474b4", + "rev": "6c32d3b9c7593f4b466ec5404e59fc09a803a090", "type": "github" }, "original": { From 78f4afb0fd1126d398614f72e0463944258f7e57 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 15 Mar 2024 15:47:09 +0000 Subject: [PATCH 260/766] Update fints endpoint --- hosts/weinturm-pretix-prod/secrets.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hosts/weinturm-pretix-prod/secrets.yaml b/hosts/weinturm-pretix-prod/secrets.yaml index 27523d8..2fba100 100644 --- a/hosts/weinturm-pretix-prod/secrets.yaml +++ b/hosts/weinturm-pretix-prod/secrets.yaml @@ -1,5 +1,5 @@ pretix-cfg: ENC[AES256_GCM,data:sfgKDr9aNOdwlumoltRuD7u1ksykFdEKtzt3MldjQnG0b4iAEspEhjcxqaNvPpXYm8EZKtsLBBQgdd1ifyQgs3k69c/GfzQ/jZ/yQ2OUkCO7U9A=,iv:FADYpPbGEEM/pD6EI85s9wVMv8yMrGJa+miE25XQ+t8=,tag:WJ9LHCNFHSr9RmmUi6hxnw==,type:str] -pretix-banktool-cfg: ENC[AES256_GCM,data:6tcaQwnXsA2jZYQD2BdGu7gVzlCE+cF03icOF7VIVY92+xWMw+aivJRocDQAMBslD04EoEAu74tNIcky23swtgJwbtcwSmouDqofzo/HoXrudNyvjECYd6xUzmq/OvSBSQVY3s3OxCcc0TlpPVUipDxcGaALwJdhtCB11ZrVfOoXrycZ3YLAEESK0rC4tc5E550lhxmkyOan1m9q9rI4KVhv4mIlU6nVQbDA7LcljRPAJESFmwuwx75t6uPYKH9CjaYL3XE/MmZIZ6pN3qiNyqEx8dsxWZh1KQI233TfMr6jcIXwamTFK6/yieE2nQJfyM8r8b3E3D4nJ5+nn5Cb+wxwewEPveEmFUsNXYD84fpk2fK0nvYyOi32++gfefObFVE2ejAE7iu3rIrboA/wJoSfPCDGHVtdLVXC//MjLI3JUAU+QMTwRFz53KhE+lxFsbqaX4IdLuUwMoFSW6qRWGe7/SGUChH1Wrj705MMc4dfn2qaGhDbZNkDJA==,iv:Pl8XpuGcFzLlzEVe+JQ02S2rthKz88QMZXkGEywpCTU=,tag:beSgKDPcErhJhoV59YDIsw==,type:str] +pretix-banktool-cfg: ENC[AES256_GCM,data:Dl84Wu/za3wXEGlPmuBKONRKhxr44R6Hd8N+Tumy2x4XU3u4sv4t7qIsMfJAqFnBiBW93Fi6xvyoh2q17Ey2cnuTaF2Ix+OTrLqgdvaREWzlYMv0jnHHCDm8SP30g0yf9QS7P0q79A+JmLKAmPTFCtMxF4iDyQqJe/jNjULDI8lOR47QqSwsOJh0gcZrwqGUPrK+Ru01ZsI1NCyiNO3HDy6IfK9oRm9GcI0qU1kA6RiP8NqngyIt2xLHctXdZhjxE35tTfo55OjlBX/twqSYch5PVMUkBbJlYdZ9TH60zeD+4e641g6c/BSPAYUy1knbtXEZ+RE3QU6IHtFhe72dcvurYFwPIOqqjp7gxsQXuLSH0MH4o5UWqOvRvrm8BdbfLoqk7RD//XYmJMmXE3WEZbZtfHPqg5b2wV0/66DlmVTT9ZODlLOGt4WxMYCfU6YlAZdJQ1OYLSvatdN2pR9GkdNVgwu2glK9nEmCjMBytBXOtSZ+4l8gYg9+lQ==,iv:Od3/+WLCp9ney/ZZDzShkVDvLgmduS/xdTVIs4DJv7Q=,tag:7UnV4YlEuotcEi44r6ZuWA==,type:str] sops: kms: [] gcp_kms: [] @@ -15,8 +15,8 @@ sops: MGh3UVh2R05WWDU3SDVFKzdvODRGQVUKo1u58Ra1dhAfBmv3xwLk/6+6/mFPJn0Z FyL7yjU6JMWzR/8FUv5lJAubudiZ8MnuH+10deGvQnT5AxG9fNzi5w== -----END AGE ENCRYPTED FILE----- - lastmodified: "2023-09-25T15:21:49Z" - mac: ENC[AES256_GCM,data:R3uP3tH4faLEtga0E2Gh4WrLrpV7dYvxWDEJkD5ycUc2vglY3MeswMEhNEhkD7cpYiWKB8TaBeBe/mP3hOmgs3WY1sDURZSqKKFT1FfTTL86e1BAOq7S4rG2lRQyNxxDjeJCqFQbEV3feggqPFnV8x8kBObAd29akAK5jQn1TK8=,iv:4F83RXiyLDlzlDVgMWKAOc7BTGSi4F0so9Ub/uzl+VM=,tag:2Q2BRBRR9yC6Uli5TcZhEg==,type:str] + lastmodified: "2024-03-15T15:46:51Z" + mac: ENC[AES256_GCM,data:W37WHI4w3BgCGuZ+wKtg6lqWxWKxjKuqy8OjpDmz9DTwSyvhVK3zt061Xw+HFDG7kPOKXzEb3Q+C9FjYU1B1V4GbBGHWtrVg0LSLs0KvQ0N+DhLkrbdRwvt/rLinXTgo7j4c/0w/YZQTQBrWEscZ3C2dhuTpFT+htjEFDhQKyhU=,iv:qRaM75MXCSfEfAIf1d2+uN1Sn/nAAHJUtKFAoiIOHBU=,tag:FjxJLH3cIZPLuCQNTlrqJQ==,type:str] pgp: - created_at: "2024-01-31T01:20:41Z" enc: |- @@ -30,4 +30,4 @@ sops: -----END PGP MESSAGE----- fp: 3044E71E3DEFF49B586CF5809BF4FCCB90854DA9 unencrypted_suffix: _unencrypted - version: 3.7.3 + version: 3.8.1 From 40d071ba49dda0b3a0dd350c41733157925f50a7 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 17 Mar 2024 20:01:59 +0000 Subject: [PATCH 261/766] Add iot network --- hosts/aluminium/configuration.nix | 8 ++++++++ hosts/aluminium/services/dnsmasq.nix | 7 ++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/hosts/aluminium/configuration.nix b/hosts/aluminium/configuration.nix index e95c861..5201eee 100644 --- a/hosts/aluminium/configuration.nix +++ b/hosts/aluminium/configuration.nix @@ -26,6 +26,10 @@ in id = 2; interface = "enp1s0"; }; + iot = { + id = 3; + interface = "enp1s0"; + }; pv = { id = 10; interface = "enp1s0"; @@ -48,6 +52,10 @@ in address = "192.168.1.1"; prefixLength = 24; }]; + iot.ipv4.addresses = [{ + address = "192.168.2.1"; + prefixLength = 24; + }]; pv.ipv4.addresses = [{ address = "192.168.10.1"; prefixLength = 30; diff --git a/hosts/aluminium/services/dnsmasq.nix b/hosts/aluminium/services/dnsmasq.nix index 7d45fa8..db84b5a 100644 --- a/hosts/aluminium/services/dnsmasq.nix +++ b/hosts/aluminium/services/dnsmasq.nix @@ -10,14 +10,19 @@ in listen-address = [ "192.168.0.1" "192.168.1.1" + "192.168.2.1" "192.168.10.9" ]; interface = "lo"; expand-hosts = true; - domain = "lan.kbh.jalr.de"; + domain = [ + "lan.kbh.jalr.de,192.168.0.0/24" + "iot.kbh.jalr.de,192.168.2.0/24" + ]; dhcp-range = [ "192.168.0.20,192.168.0.254,4h" "192.168.1.20,192.168.1.254,4h" + "192.168.2.20,192.168.2.254,4h" "192.168.10.8,static,24h" ]; dhcp-host = [ From 7c4a6b263fa0e4d9bad5da1be8cfab6d309a2143 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 17 Mar 2024 20:06:14 +0000 Subject: [PATCH 262/766] Add home-assistant and esphome --- hosts/aluminium/ports.nix | 8 ++- hosts/aluminium/secrets.yaml | 7 ++- hosts/aluminium/services/default.nix | 3 + hosts/aluminium/services/esphome/default.nix | 62 ++++++++++++++++++ .../services/esphome/devices/wasserbett.yaml | 63 +++++++++++++++++++ hosts/aluminium/services/home-assistant.nix | 58 +++++++++++++++++ hosts/aluminium/services/nginx.nix | 20 ++++++ pkgs/default.nix | 1 + .../guntamatic.nix | 19 ++++++ 9 files changed, 236 insertions(+), 5 deletions(-) create mode 100644 hosts/aluminium/services/esphome/default.nix create mode 100644 hosts/aluminium/services/esphome/devices/wasserbett.yaml create mode 100644 hosts/aluminium/services/home-assistant.nix create mode 100644 hosts/aluminium/services/nginx.nix create mode 100644 pkgs/home-assistant-custom-components/guntamatic.nix diff --git a/hosts/aluminium/ports.nix b/hosts/aluminium/ports.nix index a259d6d..f1d126f 100644 --- a/hosts/aluminium/ports.nix +++ b/hosts/aluminium/ports.nix @@ -2,8 +2,12 @@ custom-utils.validatePortAttrset { asterisk-rtp = { udp.range = [ 10000 10200 ]; }; - unifi.tcp = 8443; doorbell-audiosocket.tcp = 9092; - doorbell-webrtc.tcp = 8889; doorbell-webrtc-ice.tcp = 8189; + doorbell-webrtc.tcp = 8889; + esphome.tcp = 6052; + home-assistant.tcp = 8123; + nginx-http.tcp = 80; + nginx-https.tcp = 443; + unifi.tcp = 8443; } diff --git a/hosts/aluminium/secrets.yaml b/hosts/aluminium/secrets.yaml index 01b9197..2ecd5a3 100644 --- a/hosts/aluminium/secrets.yaml +++ b/hosts/aluminium/secrets.yaml @@ -4,6 +4,7 @@ myintercom-doorbell-password: ENC[AES256_GCM,data:waUUvHQ9BZFePQ==,iv:ev21SNOwzd asterisk-pjsip: ENC[AES256_GCM,data:PMgHCdo7K1a9/OitWdUonJ66gr70uwYgylCCWAO9cYOeXdPTIFuFLHlgBIUUxfln3UqhquTzoTluZJW9vaSuzZGe1kLIYrb1hRyrM0HLCCQc8m46jN898le/9ZrEivxonWkxf4FTfpENIf7iEr5KHh4vfd4tr4IbORTFdpcbsy8pd5eyvS8G2z9dynIWS19zqrzfGrW6yZICzAJz28IQCiiHgpN16bqSwlcPm1UdX+qi0+ZJ3TAr16Px1F9VFOXtEsu4EZvJSomecJDuhjo3QzBFffXDL971of8KX05BJgtpP6SzIZXKfSWaOxaguctdFr2tScvze0o3FXpDoOn0cvinOdYQt1P2TzjFnBZ4I3N1turpD4be9xJ92coV/j1hBsZHj2mWE/iCdsrzj2uP/74b4Mo1BJZ6l1gXFg3OgyDXaVoMxAOnutelCEG0lf78hsJXF56aQ1LVSUly6ugZP4rMiPFg5oa7WfrIsVVURUt7WRFrDLCYIQVynpfeUxHshPSB+/jVvYLqie5XeNt8B8mgTJYFo5hFB28sa1beqYEA27QMT3gRvWivqDnuf8soVi/r3WREfnSCBujhzXQF/uJZEwqVEn0OQo9ICfJ8hqtvDiAw6Hb4Wn+0maoYQeKjbPHeL3kr1SUE/kU913FNig4Yn66QKYevLLIkd3uQ0GqTLcgn4Ttwu3qArlXXxrI4US8yA7XGQUutVadN7ayyZBbYnw+vUTlPfhSO+ridK3huGKnQfcPAbD31L11EeQBe2820Nba9Bb4d5QAkiGsNj5y9tZ4Vl6l2JErO63fVPKQ9fPxD3yYyZpP8Hm1e7Wl1eRsNtoWqkTRtno7hIpAYFoMYTUk2x5U/qZOgtRX0JHufi6+GXvPPlBaQNfiGzNlJjdmtTT6MGLPRQjsASGi00pSjKd4psAj9Uf8rttsHhJHvIRDRsiNSjae+JGbVlyyauU1JL44Qf+U+MaJDjkLagNqUZ9xgNFmXzr7st6bRFYCJHkmQC8bgJsdpwRMz3HjNzrKZRvRhHIiwT3d+oyrd9hoSQl3JkxcrD7AfEThrBQL9BpGCDcfr5RzfNv8Fb08tR7rlIzyb6Rw3eKlY1obfZRRNTF+iYlBDz8LLI+BwWqJiefbHB2F9nOC0of5Eqm5gjn+MXSKuSIP5ltDsjfO+m6q7c+t7udKwnJVnePtOnuf4uQpKfxjpld4e8Y1N9hyuKSjqEy83UB4yXJb1OoUAOXENvdPhGFDghmSC+ZVcCZRBG2k6d6MdXY6AkdjUAteDQLsDNMwpW8a8RwOXlDoAtxu7yEYP51BrHu2spagNfXMWHThnkcuR/TvqAPmcPlzVjcX+tnuU0k+JK5e4eWc+diTcvo8fpeaKi7A4uyGWRaZsoaauxsK1dEwIgmAAYyWc0Hl+Z49/dLW8kgr/Qh9N5SRRk/SLk4GvS0uyYYClN7G/7LdMDUwWifr32oqXEINDh0NEyehEJ9dEQsIIH5gR3OdlEAuL1C7/Js3/ZCdBREXRYt4y5y4TAO/kMmGgv7Y/Z2XVD0klXVBMvVnil4LJ0H5KF+RZC4j/C6acRBdrPaI0nlE3bfAbmizQN9D7jOj5BkkRzBaYlMaBuFKRKUA6CUanhUWhIn3ZlF3Z+o4PGB2c7EFXZN+PzOSgkQYUD7KtVW/QV94mxkcqN9mKe6mAbj87neN1IHhEkNOj7KJQP60pqDjx6N+WYFpD3sYvDcJDg2WFumR8F2v+jHx09v5AB1r6AzhPJ3TCwnHN4e1+Nexxlb91iPcoSmLRF3Fimn7307260CtaA70hngWHSRaBcKTXi3WL1v9kKOou2kKs1GMy5bjREtqheBxZ1i4x56VtANF9lo9UT+97qxuAqk08Rc4z9j5M8cJK/d1syRT0z/uAuTWlRgxdE/Fj/OlDNr/SnZw9CLkQ0SVJAuJFFg9EY0ru3PC9PDNt9CJiVy0GoeK0mv7ZkTv2o456kdzMpJPBwpKLIO9tpZBbNZrMn1HpLJrfXIvmuVDFmm3EH6FVhGoI+4yB11Eo/2aEMzUOEtn55KNeESkoVel6GgYiwrg1ZlQS7XhdCTGyCOMbFTOLHgUe4vaUfPBNOyLaLWE3ZiyGCxVb+nBltcPSDHrNtbc2fuPqVom3Z1wfmako1BGcwRzbLdaUPwuu6eRa/KxppPh/PoYTttPxOArql25BWAVTI6BIhlvGgZgqDRwihHBGt1uyXjwv4ufES5zgxhMB8mNqVnCSkcLXXyvpmCiB5kEv5+V4nCJIXSNbmym+V9tEzGh+cx8up24IHrg6gG28fHfMcV7Z+JzN86jogr+sgH9wigrcYcDqTE9lHJhaZlmNraTl8viAwEXkPC/dnQuPSTX5V1qeRtKo1oFkf9xnPhdVLq51GoVU+MhQqZsbnqymgKnPWTQq3Kyiux5go/Li0BqfiV+Wwpn+f3WXJ21aMpU2FfIR26z2DULlJUYDKoewmklq8vzk5iZ/tywPFGR1G0z8IM5jwr+qz0uEccAtulCWsQjtvw0kGLnTsoB2WNL4x0Kti/cE14purKaE65wMrBoG/mxd6R7ZHE7u/Uo1MDAsgqsS8MomCqyxC/1yH9BdhpXc6VZJpborqWQjW/kK8/OBxWFjfQgwvDGeQkgv2ShV0c8U6DgnS545Im9aAxQGvu1sXMhnVNQZdZ2Ta3Gz7bTHqkxB4/X7KGHdGSmw5s/RQfo0BkBBBLLTc49pcmJTxG5LPkRebCM8ANX57qj3u/D9wYumFKclTglNdrjaxSdh3zTb1kEQ0rn/D4z7lVNUsw7srUUZeEadg3xTZSmSustbziXvp51juiJeyPjVY2AlmbVVxU0O245kbyWA8lHcEluo+dfk0Rr9hDNHz35NxQRCslPHiSKswxfuPcqyzlSiBMLsMWrJ5/RyQJgaO/XJ/x3R2o4h+MiHtUKj91epxAIpYD8JqQ4eaUkP6GJRNDSNLK3VNP69Qecc7b6AvV5udzt2up0lp7OuzEZeT88Vg8YcZvOv1UTxmkI6dem1xi4imJs+V4OZrcSt9ZTlc34rc6/lvVxVQZs/1vADB0ZVk3jp24KWuRWFGacJqUIxW8TbI8N1DtmZcf7sqoQU1QPRzkOa/UYmzWablAP4B5M5WOjyr3YSJGOzHxN+GSSs4K4jHUon+LbpKxHL5KJUSsD+kZFTfsDauFhAzpFDhR2wW/XYLr0iTvKQ6+26dIpW65P8Egv+n/CXQE0wuJ1R5z0M4FucpUo+FTUIcww8cfqfHqMlMeKEFeu8/QNdZ0uj06Q8/j6E/OUjpxTIVRQBs4qaLWxMZv3zulCUe9Czr6c28NhewIJlLUxOnCVDo5pT1OmzZPghurNyhTBFP8PfJrRXN1h2uvXfGP46dgt9jgeqqQqP9xlq+fzo9cyEZ/n4nQvY+CBuOW9Cqo41zNB0PQ3tC9SU477gQkDrg0M6/bAk+xsqVg1DpZOSuRUQnOfbTdZ1CXhESy+dcri9BeKKcTCZ6aenvW4W4J6OV8en3L4jPFsgqEWJUk1qr9ggM5NXc7RIrR0eCsiR9V1gi4HWMF1roTZ3wK9NvdATj3HWTGssfdpXht/vjedIp+InNWBWjnBfIf7XWuPgiB/ZW9uew8g8vDLULGVtww==,iv:bFKc8e+3rLAHje8UWwY2elof5xqceTTWX1f7nkE91nM=,tag:NWMiljj8urTDoka5bkF0jg==,type:str] asterisk-ari: ENC[AES256_GCM,data:HnY7d3BdScb0bmsBVlsTHAMv2k8tyyA/,iv:q+NsCHcGGOCe6gdAHbFfjKvO4dyWoW/xI5jtngJmdds=,tag:e8kuEsEokf5lAAgO/coxTQ==,type:str] asterisk-voicemail: ENC[AES256_GCM,data:uyXeBP+9WkfVot4Ot3vwv3OEZfoVDK2I+lvaPpGJTZp16YNtP+uxNiW2ynewQlORCTY59bP1jW3bQdT/ASGsErOrhInYSytTyfdZ51BF9+jz0TH6oWxsSuuawTrkC8jvJOpejt6XuGoYbbqlM/VL1xzgDkq3ztTxaHTfdTonQij2Q4cYddMRHWIEuBCK7FU2TlHAJeIFZvtE0MiyNNT3rEWSs1xcljTGfMjkoMd+FI1uZSQT4r0kAaPPkvCWcAGH6R+F0Ue++i9TuLhu+sDV+X6u3N/garDW74H0bOcLJysImtuPXh1aXuBkHQuC1Liss/IF4NDjtDDhpfc0eePR5MWv/Kj0q+VFJiUPY6XnWh6fG9I2yY22+I7eAAg/xWVZBXPWbFHRz8jm1owp4ln6/hcrJOw6Fzw8tZ6Jd9nciOeOmR1KtjEzklPP5kP1YQPtGio/LnOaAAhTHy16MbWf/Ey4S30+eHB+joD8OM93+YxxrdKNE6XXEcAhkdpHYecrvz4Co1fhY7ZoOnNvA8Juup/7PMyNEU/Fy4Pta34aT/j1s7de2vTpRNBeecWvgFA9Qd7Re/2XPqOAkpduxDniwsUdb52oL39MBoOCY8brmXn2J/mMDeOmoqvjRHsPZsajPTAqF/nqRB8VpwoZAKAx59DYBGgmHz7/7JRX9NXOAus1yLbMfVqDftk6+KTFQ9wCqei3jaI/K5AJrSEwlZG0BLoDefIGXT5f8bNNgSn865j2RP+FLa6W3/u5t+k=,iv:/phktIxMdDO5Nrum7hf3oLDmQO04lrkvFuHNw77aRks=,tag:7OUg0BG9X7nBHWiQNaSOEQ==,type:str] +esphome: ENC[AES256_GCM,data:2pFVokO8YTyKa1F7EePo6wIS3y6prL8SSkxypWZkHl3Ye6Qg0eqZ4du/iwLIXQpJoc6R3uU7D6eIQEVOGbwqYp6+F0CW17F89k9c/VLHQHRpWbA20GgLr7X4fZ8xdbp7HCLpVxRsdzDz8aoARfV8Cn6T7Uo80ah1rMDnTj10WI+Yu6xVqVwPNWrSk9NUGKMK32M2slk=,iv:Xla0c4d9rxn06upy7GTbWBQ8pzl+gLnIw+Rf6hqQlhk=,tag:S+clc2ctuOA6lsInSFm93Q==,type:str] sops: kms: [] gcp_kms: [] @@ -19,8 +20,8 @@ sops: NEtzRXY1Q1Njelc1YXNWVE9Jd2NnOFEKjOWHaxO5fF5l+c1Hv6QLBQajrvu1VimZ Hqk0GYrFpfpFtbhBRyrYgmNuX/qIRMHemdXcNKDYcj0WXgsdVqH7Qw== -----END AGE ENCRYPTED FILE----- - lastmodified: "2023-11-06T23:32:51Z" - mac: ENC[AES256_GCM,data:7lW6i4ULus4348NwnV/ovcWebspBcEBzYqLtl+8xFOfe3erIFnC3iRo0ibZJ8yishZpIUxoVu08yxQoa1qEriC57WETMaR+iGUPaY75tHraBJGY26Etk7Hy2QhQ7D+srBY+CogHhHAD8HUwT4/ZiPqKe1eQAvNg/6HWnjbQkG/Q=,iv:r43odkYgQsyK5uJJ5V98kTx7enP7TRuFoTnYfHmD/8o=,tag:hR+1zCniHs1l3qSkhQhtFw==,type:str] + lastmodified: "2024-03-17T20:41:27Z" + mac: ENC[AES256_GCM,data:f7RdcXpu9CGSZpIF8rwuIkn97EWRxJXxoC7KKbkZg4yxSxZJR/S5UXzEC56eY73IdBHap4op3l+cO7pT7p1rkspHQPH/5D225ihVQ8PQ29u2nlyyrrebB5tM1Mt+rJRlizBPxDDKySJYgdqZCWUwB8f5hQudpb0CGra7NfQreRg=,iv:vwpVqib7fyuV83FiyMT4BOeuqyrcspFyieQGWyZZzcU=,tag:zuJVSA2WqzSvM4MBWrdRlQ==,type:str] pgp: - created_at: "2024-01-31T01:19:14Z" enc: |- @@ -34,4 +35,4 @@ sops: -----END PGP MESSAGE----- fp: 3044E71E3DEFF49B586CF5809BF4FCCB90854DA9 unencrypted_suffix: _unencrypted - version: 3.7.3 + version: 3.8.1 diff --git a/hosts/aluminium/services/default.nix b/hosts/aluminium/services/default.nix index 9539fb7..7ce0f6e 100644 --- a/hosts/aluminium/services/default.nix +++ b/hosts/aluminium/services/default.nix @@ -4,6 +4,9 @@ ./dnsmasq.nix ./doorbell.nix ./dyndns.nix + ./esphome + ./home-assistant.nix + ./nginx.nix ./unifi-controller.nix ]; } diff --git a/hosts/aluminium/services/esphome/default.nix b/hosts/aluminium/services/esphome/default.nix new file mode 100644 index 0000000..b64c343 --- /dev/null +++ b/hosts/aluminium/services/esphome/default.nix @@ -0,0 +1,62 @@ +args@{ lib, pkgs, config, custom-utils, ... }: +let + ports = import ../../ports.nix args; + cfg = config.services.esphome; + cfgdir = pkgs.stdenvNoCC.mkDerivation { + name = "esphome-config"; + src = ./devices; + dontBuild = true; + installPhase = '' + mkdir $out + cp -r * $out + ''; + }; + esphomeParams = + if cfg.enableUnixSocket + then "--socket /run/esphome/esphome.sock" + else "--address ${cfg.address} --port ${toString cfg.port}"; +in +{ + sops.secrets.esphome = { + sopsFile = ../../secrets.yaml; + }; + + services.esphome = { + enable = true; + address = "127.0.0.1"; + port = ports.esphome.tcp; + package = pkgs.master.esphome; + }; + + systemd.services.esphome = { + environment = { + "PLATFORMIO_CORE_DIR" = lib.mkForce "/tmp/.platformio"; + }; + serviceConfig = { + BindPaths = [ + "/var/lib/esphome" + "/var/lib/private/esphome" + ]; + BindReadOnlyPaths = [ + "/nix/store" + "${cfgdir}" + ]; + DeviceAllow = [ + "char-ttyACM rw" + "char-ttyAMA rw" + "char-ttyUSB rw" + ]; + ExecStartPre = [ + "${pkgs.rsync}/bin/rsync -a --delete --exclude=.esphome --exclude=.platformio --exclude=.gitignore '${cfgdir}/' '/var/lib/esphome/'" + "${pkgs.coreutils}/bin/ln -snf '%d/secrets.yaml' '/var/lib/esphome/secrets.yaml'" + ]; + LoadCredential = "secrets.yaml:${config.sops.secrets.esphome.path}"; + PrivateTmp = true; + RootDirectory = "/run/esphome"; + RuntimeDirectory = "esphome"; + StateDirectory = "esphome"; + SupplementaryGroups = [ "dialout" ]; + WorkingDirectory = lib.mkForce "/tmp"; + }; + }; +} diff --git a/hosts/aluminium/services/esphome/devices/wasserbett.yaml b/hosts/aluminium/services/esphome/devices/wasserbett.yaml new file mode 100644 index 0000000..d40b52e --- /dev/null +++ b/hosts/aluminium/services/esphome/devices/wasserbett.yaml @@ -0,0 +1,63 @@ +esphome: + name: "waterbed" + friendly_name: "Wasserbett" + +esp8266: + board: d1_mini + framework: + version: recommended + +logger: + +api: + encryption: + key: !secret apikey_waterbed + +ota: + password: !secret otapass_waterbed + +wifi: + ssid: !secret wifi_ssid_kbh + password: !secret wifi_password_kbh + domain: .iot.kbh.jalr.de + enable_on_boot: true + fast_connect: true + +switch: + - platform: gpio + pin: + number: 13 + id: pump + icon: "mdi:electric-switch" + +dallas: + - pin: 12 + +sensor: + - platform: dallas + #address: 0xb7000802397ccc10 + index: 0 + name: "Temperatur" + id: temperature_waterbed + +climate: + - platform: thermostat + name: "Temperatur" + id: temperature + sensor: temperature_waterbed + heat_deadband: 0.2 + heat_overrun: 0.2 + min_heating_off_time: 300s + min_heating_run_time: 300s + min_idle_time: 30s + heat_action: + - switch.turn_on: pump + idle_action: + - switch.turn_off: pump + default_preset: heizen + on_boot_restore_from: memory + preset: + - name: heizen + default_target_temperature_low: 28.5 °C + - name: abwesend + default_target_temperature_low: 24 °C diff --git a/hosts/aluminium/services/home-assistant.nix b/hosts/aluminium/services/home-assistant.nix new file mode 100644 index 0000000..1a741d7 --- /dev/null +++ b/hosts/aluminium/services/home-assistant.nix @@ -0,0 +1,58 @@ +args@{ lib, pkgs, config, custom-utils, ... }: +let + ports = import ../ports.nix args; +in +{ + services.home-assistant = { + enable = true; + lovelaceConfig = { }; + extraComponents = [ + # See https://www.home-assistant.io/integrations + "esphome" + ]; + customComponents = [ + # https://github.com/a529987659852/GuntamaticBiostar + pkgs.home-assistant-custom-components.guntamatic + ]; + lovelaceConfigWritable = false; + configWritable = false; + config = { + http = { + server_host = [ "127.0.0.1" ]; + server_port = ports.home-assistant.tcp; + use_x_forwarded_for = true; + trusted_proxies = [ "127.0.0.1" ]; + }; + homeassistant = { + unit_system = "metric"; + time_zone = "Europe/Berlin"; + temperature_unit = "C"; + longitude = config.location.longitude; + latitude = config.location.latitude; + }; + default_config = { }; + "automation nix" = [ + ]; + "automation ui" = "!include automations.yaml"; + "scene nix" = [ + ]; + "scene ui" = "!include scenes.yaml"; + }; + }; + + systemd.tmpfiles.rules = [ + "f ${config.services.home-assistant.configDir}/automations.yaml 0755 hass hass" + "f ${config.services.home-assistant.configDir}/scenes.yaml 0755 hass hass" + ]; + + services.nginx.virtualHosts."hass.kbh.jalr.de" = { + enableACME = true; + forceSSL = true; + kTLS = true; + locations."/" = { + proxyPass = "http://127.0.0.1:${toString ports.home-assistant.tcp}/"; + recommendedProxySettings = true; + proxyWebsockets = true; + }; + }; +} diff --git a/hosts/aluminium/services/nginx.nix b/hosts/aluminium/services/nginx.nix new file mode 100644 index 0000000..71bdff2 --- /dev/null +++ b/hosts/aluminium/services/nginx.nix @@ -0,0 +1,20 @@ +args@{ pkgs, custom-utils, ... }: + +let + ports = import ../ports.nix args; +in +{ + services.nginx = { + enable = true; + defaultHTTPListenPort = ports.nginx-http.tcp; + defaultSSLListenPort = ports.nginx-https.tcp; + recommendedGzipSettings = true; + recommendedOptimisation = true; + recommendedProxySettings = true; + recommendedTlsSettings = true; + }; + networking.firewall.allowedTCPPorts = [ + 80 + 443 + ]; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index 1322ca8..5c352fe 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -31,5 +31,6 @@ in wofi-bluetooth = callPackage ./wofi-bluetooth/wofi-bluetooth.nix { }; home-assistant-custom-components = prev.recurseIntoAttrs { circadian_lighting = callPackage ./home-assistant-custom-components/circadian_lighting.nix { }; + guntamatic = callPackage ./home-assistant-custom-components/guntamatic.nix { }; }; } diff --git a/pkgs/home-assistant-custom-components/guntamatic.nix b/pkgs/home-assistant-custom-components/guntamatic.nix new file mode 100644 index 0000000..b7f86bb --- /dev/null +++ b/pkgs/home-assistant-custom-components/guntamatic.nix @@ -0,0 +1,19 @@ +{ lib +, fetchFromGitHub +, buildHomeAssistantComponent +}: + +buildHomeAssistantComponent rec { + owner = "a529987659852"; + domain = "GuntamaticBiostar"; + version = "0.2.8"; + + src = fetchFromGitHub { + owner = "a529987659852"; + repo = "GuntamaticBiostar"; + rev = "refs/tags/v${version}"; + hash = "sha256-edKt2LQzxaMXAIeJcBag85ksKPXOfgCENO4jBw9hkCQ="; + }; + + dontBuild = true; +} From 3d01b5c461634d63ab9c899a7d29f1fe4dcc57b8 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 18 Mar 2024 09:32:14 +0000 Subject: [PATCH 263/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/878ef7d9721bee9f81f8a80819f9211ad1f993da' (2024-03-14) → 'github:nixos/nixpkgs/614b4613980a522ba49f0d194531beddbb7220d3' (2024-03-17) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/4d1e5a2df3ddd73fdda863bf777824682b29e660' (2024-03-15) → 'github:NixOS/nixpkgs/a1c4f0a754752ad00277eeeb7b712e2eb05b9b3c' (2024-03-18) • Updated input 'nur': 'github:nix-community/NUR/90155b2212a941712b74575db564c6afd24492b5' (2024-03-15) → 'github:nix-community/NUR/05351320d5ece2eb43cbd991edd4d1f56f5ca17f' (2024-03-18) • Updated input 'sops-nix': 'github:Mic92/sops-nix/6c32d3b9c7593f4b466ec5404e59fc09a803a090' (2024-03-14) → 'github:Mic92/sops-nix/83b68a0e8c94b72cdd0a6e547a14ca7eb1c03616' (2024-03-17) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/b17375d3bb7c79ffc52f3538028b2ec06eb79ef8' (2024-03-10) → 'github:NixOS/nixpkgs/6dc11d9859d6a18ab0c5e5829a5b8e4810658de3' (2024-03-16) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 999cc9a..2e198ca 100644 --- a/flake.lock +++ b/flake.lock @@ -202,11 +202,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1710033658, - "narHash": "sha256-yiZiVKP5Ya813iYLho2+CcFuuHpaqKc/CoxOlANKcqM=", + "lastModified": 1710628718, + "narHash": "sha256-y+l3eH53UlENaYa1lmnCBHusZb1kxBEFd2/c7lDsGpw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b17375d3bb7c79ffc52f3538028b2ec06eb79ef8", + "rev": "6dc11d9859d6a18ab0c5e5829a5b8e4810658de3", "type": "github" }, "original": { @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1710506697, - "narHash": "sha256-blAByi2E1j5GUsViapltMos6X6XNF8HosgLJwUNicCo=", + "lastModified": 1710754042, + "narHash": "sha256-Sq0AVqsrczN1VZCdtmtBxHNA5Kb3ecRK9Wow3EwlXQE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4d1e5a2df3ddd73fdda863bf777824682b29e660", + "rev": "a1c4f0a754752ad00277eeeb7b712e2eb05b9b3c", "type": "github" }, "original": { @@ -234,11 +234,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1710420202, - "narHash": "sha256-MvFKESbq4rUWuaf2RKPNYENaSZEw/jaCLo2gU6oREcM=", + "lastModified": 1710695816, + "narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=", "owner": "nixos", "repo": "nixpkgs", - "rev": "878ef7d9721bee9f81f8a80819f9211ad1f993da", + "rev": "614b4613980a522ba49f0d194531beddbb7220d3", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1710506669, - "narHash": "sha256-9m+oWHbBZi3c7YyiMs5hiOIqCG+WgP1sMA+s60AtWOU=", + "lastModified": 1710750753, + "narHash": "sha256-MQ5haKyTNKAFTw3oDaShLHiECiD5DVV4HfmzN3l77Yk=", "owner": "nix-community", "repo": "NUR", - "rev": "90155b2212a941712b74575db564c6afd24492b5", + "rev": "05351320d5ece2eb43cbd991edd4d1f56f5ca17f", "type": "github" }, "original": { @@ -311,11 +311,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1710433464, - "narHash": "sha256-IXlPoWgIRovZ32mYvqqdBgOQln71LouE/HBhbKc1wcw=", + "lastModified": 1710644594, + "narHash": "sha256-RquCuzxfy4Nr8DPbdp3D/AsbYep21JgQzG8aMH9jJ4A=", "owner": "Mic92", "repo": "sops-nix", - "rev": "6c32d3b9c7593f4b466ec5404e59fc09a803a090", + "rev": "83b68a0e8c94b72cdd0a6e547a14ca7eb1c03616", "type": "github" }, "original": { From 2bf323bc657249140a286716fb81e44ad0564ebb Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 22 Mar 2024 08:59:40 +0000 Subject: [PATCH 264/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/652fda4ca6dafeb090943422c34ae9145787af37' (2024-02-03) → 'github:nix-community/home-manager/f33900124c23c4eca5831b9b5eb32ea5894375ce' (2024-03-19) • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/5df5a70ad7575f6601d91f0efec95dd9bc619431' (2024-02-15) → 'github:cachix/pre-commit-hooks.nix/e611897ddfdde3ed3eaac4758635d7177ff78673' (2024-03-20) • Updated input 'nix-pre-commit-hooks/gitignore': 'github:hercules-ci/gitignore.nix/43e1aa1308018f37118e34d3a9cb4f5e75dc11d5' (2023-12-29) → 'github:hercules-ci/gitignore.nix/637db329424fd7e46cf4185293b9cc8c88c95394' (2024-02-28) • Updated input 'nix-pre-commit-hooks/nixpkgs': 'github:NixOS/nixpkgs/eabe8d3eface69f5bb16c18f8662a702f50c20d5' (2024-01-09) → 'github:NixOS/nixpkgs/e367f7a1fb93137af22a3908f00b9a35e2d286a7' (2024-03-18) • Updated input 'nix-pre-commit-hooks/nixpkgs-stable': 'github:NixOS/nixpkgs/3dc440faeee9e889fe2d1b4d25ad0f430d449356' (2024-01-10) → 'github:NixOS/nixpkgs/614b4613980a522ba49f0d194531beddbb7220d3' (2024-03-17) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/614b4613980a522ba49f0d194531beddbb7220d3' (2024-03-17) → 'github:nixos/nixpkgs/f091af045dff8347d66d186a62d42aceff159456' (2024-03-20) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/a1c4f0a754752ad00277eeeb7b712e2eb05b9b3c' (2024-03-18) → 'github:NixOS/nixpkgs/5d0418785750709a7fa3139224de4965e87ae17b' (2024-03-22) • Updated input 'nur': 'github:nix-community/NUR/05351320d5ece2eb43cbd991edd4d1f56f5ca17f' (2024-03-18) → 'github:nix-community/NUR/c03e4bfa0dbd731210226d2b406c6b512107ed9e' (2024-03-22) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 2e198ca..8aa7838 100644 --- a/flake.lock +++ b/flake.lock @@ -42,11 +42,11 @@ ] }, "locked": { - "lastModified": 1703887061, - "narHash": "sha256-gGPa9qWNc6eCXT/+Z5/zMkyYOuRZqeFZBDbopNZQkuY=", + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", "owner": "hercules-ci", "repo": "gitignore.nix", - "rev": "43e1aa1308018f37118e34d3a9cb4f5e75dc11d5", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", "type": "github" }, "original": { @@ -85,11 +85,11 @@ ] }, "locked": { - "lastModified": 1706981411, - "narHash": "sha256-cLbLPTL1CDmETVh4p0nQtvoF+FSEjsnJTFpTxhXywhQ=", + "lastModified": 1710888565, + "narHash": "sha256-s9Hi4RHhc6yut4EcYD50sZWRDKsugBJHSbON8KFwoTw=", "owner": "nix-community", "repo": "home-manager", - "rev": "652fda4ca6dafeb090943422c34ae9145787af37", + "rev": "f33900124c23c4eca5831b9b5eb32ea5894375ce", "type": "github" }, "original": { @@ -154,11 +154,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1708018599, - "narHash": "sha256-M+Ng6+SePmA8g06CmUZWi1AjG2tFBX9WCXElBHEKnyM=", + "lastModified": 1710923068, + "narHash": "sha256-6hOpUiuxuwpXXc/xfJsBUJeqqgGI+JMJuLo45aG3cKc=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "5df5a70ad7575f6601d91f0efec95dd9bc619431", + "rev": "e611897ddfdde3ed3eaac4758635d7177ff78673", "type": "github" }, "original": { @@ -170,11 +170,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1704842529, - "narHash": "sha256-OTeQA+F8d/Evad33JMfuXC89VMetQbsU4qcaePchGr4=", + "lastModified": 1710765496, + "narHash": "sha256-p7ryWEeQfMwTB6E0wIUd5V2cFTgq+DRRBz2hYGnJZyA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eabe8d3eface69f5bb16c18f8662a702f50c20d5", + "rev": "e367f7a1fb93137af22a3908f00b9a35e2d286a7", "type": "github" }, "original": { @@ -186,11 +186,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1704874635, - "narHash": "sha256-YWuCrtsty5vVZvu+7BchAxmcYzTMfolSPP5io8+WYCg=", + "lastModified": 1710695816, + "narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3dc440faeee9e889fe2d1b4d25ad0f430d449356", + "rev": "614b4613980a522ba49f0d194531beddbb7220d3", "type": "github" }, "original": { @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1710754042, - "narHash": "sha256-Sq0AVqsrczN1VZCdtmtBxHNA5Kb3ecRK9Wow3EwlXQE=", + "lastModified": 1711097850, + "narHash": "sha256-O7m2Qtp7by283tXt1m/vwPum5nKpE5srlalmLvGyZeU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a1c4f0a754752ad00277eeeb7b712e2eb05b9b3c", + "rev": "5d0418785750709a7fa3139224de4965e87ae17b", "type": "github" }, "original": { @@ -234,11 +234,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1710695816, - "narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=", + "lastModified": 1710951922, + "narHash": "sha256-FOOBJ3DQenLpTNdxMHR2CpGZmYuctb92gF0lpiirZ30=", "owner": "nixos", "repo": "nixpkgs", - "rev": "614b4613980a522ba49f0d194531beddbb7220d3", + "rev": "f091af045dff8347d66d186a62d42aceff159456", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1710750753, - "narHash": "sha256-MQ5haKyTNKAFTw3oDaShLHiECiD5DVV4HfmzN3l77Yk=", + "lastModified": 1711095683, + "narHash": "sha256-mLxazCxRu18EUFAAgQroruM83rdPH1mQvIaCAUtv/DQ=", "owner": "nix-community", "repo": "NUR", - "rev": "05351320d5ece2eb43cbd991edd4d1f56f5ca17f", + "rev": "c03e4bfa0dbd731210226d2b406c6b512107ed9e", "type": "github" }, "original": { From c9ea023a9ed1d60908e4c2ee9e9b08ebdba89b0f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 22 Mar 2024 16:58:04 +0000 Subject: [PATCH 265/766] Set default domain The default domain should be used for all networks, unless a specific domain is defined. --- hosts/aluminium/services/dnsmasq.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/aluminium/services/dnsmasq.nix b/hosts/aluminium/services/dnsmasq.nix index db84b5a..98e4056 100644 --- a/hosts/aluminium/services/dnsmasq.nix +++ b/hosts/aluminium/services/dnsmasq.nix @@ -16,7 +16,7 @@ in interface = "lo"; expand-hosts = true; domain = [ - "lan.kbh.jalr.de,192.168.0.0/24" + "lan.kbh.jalr.de" "iot.kbh.jalr.de,192.168.2.0/24" ]; dhcp-range = [ From 9c14761fac838e925c992a48d581423cb4ddd069 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 22 Mar 2024 16:59:10 +0000 Subject: [PATCH 266/766] Change ownership of secrets file since the secret is now passed via systemd credentials, it can still be read out if owned by root. --- hosts/iron/services/esphome/default.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/hosts/iron/services/esphome/default.nix b/hosts/iron/services/esphome/default.nix index aec1058..53a3c0f 100644 --- a/hosts/iron/services/esphome/default.nix +++ b/hosts/iron/services/esphome/default.nix @@ -22,9 +22,6 @@ in { sops.secrets.esphome = { sopsFile = ../../secrets.yaml; - owner = "esphome"; - group = "esphome"; - mode = "0400"; }; services.esphome = { From 8a9616fdea3156aaa11f19040d48c23e8620a206 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 28 Mar 2024 16:36:09 +0000 Subject: [PATCH 267/766] Enable experimental to enable reporting of devices' battery state --- modules/bluetooth.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/bluetooth.nix b/modules/bluetooth.nix index dc12711..4b3cf33 100644 --- a/modules/bluetooth.nix +++ b/modules/bluetooth.nix @@ -12,6 +12,7 @@ in services.blueman.enable = true; services.ofono.enable = true; services.upower.enable = true; + hardware.bluetooth.settings.General.Experimental = true; # to show battery state }; } From cb05c905ac338f6c8af8d112dff989483c7a98fc Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 28 Mar 2024 16:40:29 +0000 Subject: [PATCH 268/766] Add exiftool --- home-manager/modules/gui.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home-manager/modules/gui.nix b/home-manager/modules/gui.nix index 1ef15d5..35eb065 100644 --- a/home-manager/modules/gui.nix +++ b/home-manager/modules/gui.nix @@ -2,6 +2,7 @@ lib.mkIf nixosConfig.jalr.gui.enable { home.packages = with pkgs; [ evince + exiftool gcr # required for pinentry-gnome geeqie mpv From a4ac79709c77fc465c3c16daedaa8226a7f03961 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 28 Mar 2024 16:41:02 +0000 Subject: [PATCH 269/766] Remove workaround for stateVersion --- home-manager/users/jalr.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/users/jalr.nix b/home-manager/users/jalr.nix index 4428902..d8a735b 100644 --- a/home-manager/users/jalr.nix +++ b/home-manager/users/jalr.nix @@ -43,7 +43,7 @@ users.jalr = { lib, pkgs, ... }: { imports = [ ../modules ]; config = { - home.stateVersion = if config.system.stateVersion == "22.11" then "22.05" else config.system.stateVersion; + home.stateVersion = config.system.stateVersion; home.packages = with pkgs; [ cutecom From c1780f98775a97a9498ba9657592e3f4ed922723 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 28 Mar 2024 16:42:27 +0000 Subject: [PATCH 270/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/e611897ddfdde3ed3eaac4758635d7177ff78673' (2024-03-20) → 'github:cachix/pre-commit-hooks.nix/7d47a32e5cd1ea481fab33c516356ce27c8cef4a' (2024-03-27) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/f091af045dff8347d66d186a62d42aceff159456' (2024-03-20) → 'github:nixos/nixpkgs/44733514b72e732bd49f5511bd0203dea9b9a434' (2024-03-26) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/5d0418785750709a7fa3139224de4965e87ae17b' (2024-03-22) → 'github:NixOS/nixpkgs/b2245daba6d9b667166b54921d370f937ca60902' (2024-03-28) • Updated input 'nur': 'github:nix-community/NUR/c03e4bfa0dbd731210226d2b406c6b512107ed9e' (2024-03-22) → 'github:nix-community/NUR/0ccb18994cca45444b862482fe4197717ea2cff4' (2024-03-28) • Updated input 'sops-nix': 'github:Mic92/sops-nix/83b68a0e8c94b72cdd0a6e547a14ca7eb1c03616' (2024-03-17) → 'github:Mic92/sops-nix/405987a66cce9a4a82f321f11b205982a7127c88' (2024-03-24) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/6dc11d9859d6a18ab0c5e5829a5b8e4810658de3' (2024-03-16) → 'github:NixOS/nixpkgs/ac6bdf6181666ebb4f90dd20f31e2fa66ede6b68' (2024-03-23) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 8aa7838..748f863 100644 --- a/flake.lock +++ b/flake.lock @@ -154,11 +154,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1710923068, - "narHash": "sha256-6hOpUiuxuwpXXc/xfJsBUJeqqgGI+JMJuLo45aG3cKc=", + "lastModified": 1711519547, + "narHash": "sha256-Q7YmSCUJmDl71fJv/zD9lrOCJ1/SE/okZ2DsrmRjzhY=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "e611897ddfdde3ed3eaac4758635d7177ff78673", + "rev": "7d47a32e5cd1ea481fab33c516356ce27c8cef4a", "type": "github" }, "original": { @@ -202,11 +202,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1710628718, - "narHash": "sha256-y+l3eH53UlENaYa1lmnCBHusZb1kxBEFd2/c7lDsGpw=", + "lastModified": 1711233294, + "narHash": "sha256-eEu5y4J145BYDw9o/YEmeJyqh8blgnZwuz9k234zuWc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6dc11d9859d6a18ab0c5e5829a5b8e4810658de3", + "rev": "ac6bdf6181666ebb4f90dd20f31e2fa66ede6b68", "type": "github" }, "original": { @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1711097850, - "narHash": "sha256-O7m2Qtp7by283tXt1m/vwPum5nKpE5srlalmLvGyZeU=", + "lastModified": 1711643963, + "narHash": "sha256-Uv2+rRDTg+olOJ6k8cjlcag24BDMMDrHFJn2alauOZI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5d0418785750709a7fa3139224de4965e87ae17b", + "rev": "b2245daba6d9b667166b54921d370f937ca60902", "type": "github" }, "original": { @@ -234,11 +234,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1710951922, - "narHash": "sha256-FOOBJ3DQenLpTNdxMHR2CpGZmYuctb92gF0lpiirZ30=", + "lastModified": 1711460390, + "narHash": "sha256-akSgjDZL6pVHEfSE6sz1DNSXuYX6hq+P/1Z5IoYWs7E=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f091af045dff8347d66d186a62d42aceff159456", + "rev": "44733514b72e732bd49f5511bd0203dea9b9a434", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1711095683, - "narHash": "sha256-mLxazCxRu18EUFAAgQroruM83rdPH1mQvIaCAUtv/DQ=", + "lastModified": 1711635893, + "narHash": "sha256-ULay7PLILr2BEdySdctFKTsfV4fmI1/hNiZPKEVuvWo=", "owner": "nix-community", "repo": "NUR", - "rev": "c03e4bfa0dbd731210226d2b406c6b512107ed9e", + "rev": "0ccb18994cca45444b862482fe4197717ea2cff4", "type": "github" }, "original": { @@ -311,11 +311,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1710644594, - "narHash": "sha256-RquCuzxfy4Nr8DPbdp3D/AsbYep21JgQzG8aMH9jJ4A=", + "lastModified": 1711249319, + "narHash": "sha256-N+Pp3/8H+rd7cO71VNV/ovV/Kwt+XNeUHNhsmyTabdM=", "owner": "Mic92", "repo": "sops-nix", - "rev": "83b68a0e8c94b72cdd0a6e547a14ca7eb1c03616", + "rev": "405987a66cce9a4a82f321f11b205982a7127c88", "type": "github" }, "original": { From 6ef922e9dbfc3231bd47241c957aeeff1ab86edb Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 28 Mar 2024 16:50:18 +0000 Subject: [PATCH 271/766] Update pretix version Bump pretix version from 2024.2.0 to 2024.3.0 --- pkgs/pretix/poetry.lock | 330 +++++++++++++++++----------------- pkgs/pretix/pretix-static.nix | 2 +- pkgs/pretix/pyproject.toml | 2 +- 3 files changed, 167 insertions(+), 167 deletions(-) diff --git a/pkgs/pretix/poetry.lock b/pkgs/pretix/poetry.lock index 1e11f88..9a93f4d 100644 --- a/pkgs/pretix/poetry.lock +++ b/pkgs/pretix/poetry.lock @@ -140,13 +140,13 @@ with-fonttools = ["fonttools (>=4.0)"] [[package]] name = "asgiref" -version = "3.7.2" +version = "3.8.1" description = "ASGI specs, helper code, and adapters" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "asgiref-3.7.2-py3-none-any.whl", hash = "sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e"}, - {file = "asgiref-3.7.2.tar.gz", hash = "sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed"}, + {file = "asgiref-3.8.1-py3-none-any.whl", hash = "sha256:3e1e3ecc849832fe52ccf2cb6686b7a55f82bb1d6aee72a58826471390335e47"}, + {file = "asgiref-3.8.1.tar.gz", hash = "sha256:c343bd80a0bec947a9860adb4c432ffa7db769836c64238fc34bdc3fec84d590"}, ] [package.dependencies] @@ -568,13 +568,13 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} [[package]] name = "click-didyoumean" -version = "0.3.0" +version = "0.3.1" description = "Enables git-like *did-you-mean* feature in click" optional = false -python-versions = ">=3.6.2,<4.0.0" +python-versions = ">=3.6.2" files = [ - {file = "click-didyoumean-0.3.0.tar.gz", hash = "sha256:f184f0d851d96b6d29297354ed981b7dd71df7ff500d82fa6d11f0856bee8035"}, - {file = "click_didyoumean-0.3.0-py3-none-any.whl", hash = "sha256:a0713dc7a1de3f06bc0df5a9567ad19ead2d3d5689b434768a6145bff77c0667"}, + {file = "click_didyoumean-0.3.1-py3-none-any.whl", hash = "sha256:5c4bb6007cfea5f2fd6583a2fb6701a22a41eb98957e63d0fac41c10e7c3117c"}, + {file = "click_didyoumean-0.3.1.tar.gz", hash = "sha256:4f82fdff0dbe64ef8ab2279bd6aa3f6a99c3b28c05aa09cbfc07c9d7fbb5a463"}, ] [package.dependencies] @@ -739,13 +739,13 @@ static3 = "*" [[package]] name = "django" -version = "4.2.10" +version = "4.2.11" description = "A high-level Python web framework that encourages rapid development and clean, pragmatic design." optional = false python-versions = ">=3.8" files = [ - {file = "Django-4.2.10-py3-none-any.whl", hash = "sha256:a2d4c4d4ea0b6f0895acde632071aff6400bfc331228fc978b05452a0ff3e9f1"}, - {file = "Django-4.2.10.tar.gz", hash = "sha256:b1260ed381b10a11753c73444408e19869f3241fc45c985cd55a30177c789d13"}, + {file = "Django-4.2.11-py3-none-any.whl", hash = "sha256:ddc24a0a8280a0430baa37aff11f28574720af05888c62b7cfe71d219f4599d3"}, + {file = "Django-4.2.11.tar.gz", hash = "sha256:6e6ff3db2d8dd0c986b4eec8554c8e4f919b5c1ff62a5b4390c17aff2ed6e5c4"}, ] [package.dependencies] @@ -824,17 +824,17 @@ test = ["djangorestframework", "graphene-django", "pytest", "pytest-cov", "pytes [[package]] name = "django-filter" -version = "23.5" +version = "24.1" description = "Django-filter is a reusable Django application for allowing users to filter querysets dynamically." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "django-filter-23.5.tar.gz", hash = "sha256:67583aa43b91fe8c49f74a832d95f4d8442be628fd4c6d65e9f811f5153a4e5c"}, - {file = "django_filter-23.5-py3-none-any.whl", hash = "sha256:99122a201d83860aef4fe77758b69dda913e874cc5e0eaa50a86b0b18d708400"}, + {file = "django-filter-24.1.tar.gz", hash = "sha256:65cb43ce272077e5ac6aae1054d76c121cd6b552e296a82a13921e9371baf8c1"}, + {file = "django_filter-24.1-py3-none-any.whl", hash = "sha256:335bcae6cbd3e984b024841070f567b22faea57594f27d37c52f8f131f8d8621"}, ] [package.dependencies] -Django = ">=3.2" +Django = ">=4.2" [[package]] name = "django-formset-js-improved" @@ -1084,22 +1084,22 @@ pytz = "*" [[package]] name = "dnspython" -version = "2.5.0" +version = "2.6.1" description = "DNS toolkit" optional = false python-versions = ">=3.8" files = [ - {file = "dnspython-2.5.0-py3-none-any.whl", hash = "sha256:6facdf76b73c742ccf2d07add296f178e629da60be23ce4b0a9c927b1e02c3a6"}, - {file = "dnspython-2.5.0.tar.gz", hash = "sha256:a0034815a59ba9ae888946be7ccca8f7c157b286f8455b379c692efb51022a15"}, + {file = "dnspython-2.6.1-py3-none-any.whl", hash = "sha256:5ef3b9680161f6fa89daf8ad451b5f1a33b18ae8a1c6778cdf4b43f08c0a6e50"}, + {file = "dnspython-2.6.1.tar.gz", hash = "sha256:e8f0f9c23a7b7cb99ded64e6c3a6f3e701d78f50c55e002b839dea7225cff7cc"}, ] [package.extras] -dev = ["black (>=23.1.0)", "coverage (>=7.0)", "flake8 (>=5.0.3)", "mypy (>=1.0.1)", "pylint (>=2.7)", "pytest (>=6.2.5)", "pytest-cov (>=3.0.0)", "sphinx (>=7.0.0)", "twine (>=4.0.0)", "wheel (>=0.41.0)"] +dev = ["black (>=23.1.0)", "coverage (>=7.0)", "flake8 (>=7)", "mypy (>=1.8)", "pylint (>=3)", "pytest (>=7.4)", "pytest-cov (>=4.1.0)", "sphinx (>=7.2.0)", "twine (>=4.0.0)", "wheel (>=0.42.0)"] dnssec = ["cryptography (>=41)"] -doh = ["h2 (>=4.1.0)", "httpcore (>=0.17.3)", "httpx (>=0.25.1)"] -doq = ["aioquic (>=0.9.20)"] -idna = ["idna (>=2.1)"] -trio = ["trio (>=0.14)"] +doh = ["h2 (>=4.1.0)", "httpcore (>=1.0.0)", "httpx (>=0.26.0)"] +doq = ["aioquic (>=0.9.25)"] +idna = ["idna (>=3.6)"] +trio = ["trio (>=0.23)"] wmi = ["wmi (>=1.5.1)"] [[package]] @@ -1123,13 +1123,13 @@ dev = ["pytest", "pytest-cov", "pytest-django", "pytest-mock", "pytest-runner"] [[package]] name = "elementpath" -version = "4.3.0" +version = "4.4.0" description = "XPath 1.0/2.0/3.0/3.1 parsers and selectors for ElementTree and lxml" optional = false python-versions = ">=3.8" files = [ - {file = "elementpath-4.3.0-py3-none-any.whl", hash = "sha256:ecc885f2bb5bd5322fd68ace071f134a8fabf05f0019d77c638b906b844f6593"}, - {file = "elementpath-4.3.0.tar.gz", hash = "sha256:8d25db9150f5a6aa978c9f58e607fcd5ab6e6e3017140563439a9884ab1eb304"}, + {file = "elementpath-4.4.0-py3-none-any.whl", hash = "sha256:cda092281afe508ece1bf65373905b30196c9426f3730cfea46059e103a131bd"}, + {file = "elementpath-4.4.0.tar.gz", hash = "sha256:dfc4b8ca3d87966dcb0df40b5b6d04a98f053683271930fad9e7fa000924dfb2"}, ] [package.extras] @@ -1265,22 +1265,22 @@ files = [ [[package]] name = "importlib-metadata" -version = "7.0.1" +version = "7.1.0" description = "Read metadata from Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "importlib_metadata-7.0.1-py3-none-any.whl", hash = "sha256:4805911c3a4ec7c3966410053e9ec6a1fecd629117df5adee56dfc9432a1081e"}, - {file = "importlib_metadata-7.0.1.tar.gz", hash = "sha256:f238736bb06590ae52ac1fab06a3a9ef1d8dce2b7a35b5ab329371d6c8f5d2cc"}, + {file = "importlib_metadata-7.1.0-py3-none-any.whl", hash = "sha256:30962b96c0c223483ed6cc7280e7f0199feb01a0e40cfae4d4450fc6fab1f570"}, + {file = "importlib_metadata-7.1.0.tar.gz", hash = "sha256:b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2"}, ] [package.dependencies] zipp = ">=0.5" [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] perf = ["ipython"] -testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"] +testing = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"] [[package]] name = "isodate" @@ -1344,27 +1344,28 @@ referencing = ">=0.31.0" [[package]] name = "jwcrypto" -version = "1.5.4" +version = "1.5.6" description = "Implementation of JOSE Web standards" optional = false python-versions = ">= 3.8" files = [ - {file = "jwcrypto-1.5.4.tar.gz", hash = "sha256:0815fbab613db99bad85691da5f136f8860423396667728a264bcfa6e1db36b0"}, + {file = "jwcrypto-1.5.6-py3-none-any.whl", hash = "sha256:150d2b0ebbdb8f40b77f543fb44ffd2baeff48788be71f67f03566692fd55789"}, + {file = "jwcrypto-1.5.6.tar.gz", hash = "sha256:771a87762a0c081ae6166958a954f80848820b2ab066937dc8b8379d65b1b039"}, ] [package.dependencies] cryptography = ">=3.4" -typing_extensions = ">=4.5.0" +typing-extensions = ">=4.5.0" [[package]] name = "kombu" -version = "5.3.5" +version = "5.3.6" description = "Messaging library for Python." optional = false python-versions = ">=3.8" files = [ - {file = "kombu-5.3.5-py3-none-any.whl", hash = "sha256:0eac1bbb464afe6fb0924b21bf79460416d25d8abc52546d4f16cad94f789488"}, - {file = "kombu-5.3.5.tar.gz", hash = "sha256:30e470f1a6b49c70dc6f6d13c3e4cc4e178aa6c469ceb6bcd55645385fc84b93"}, + {file = "kombu-5.3.6-py3-none-any.whl", hash = "sha256:49f1e62b12369045de2662f62cc584e7df83481a513db83b01f87b5b9785e378"}, + {file = "kombu-5.3.6.tar.gz", hash = "sha256:f3da5b570a147a5da8280180aa80b03807283d63ea5081fcdb510d18242431d9"}, ] [package.dependencies] @@ -1381,7 +1382,7 @@ mongodb = ["pymongo (>=4.1.1)"] msgpack = ["msgpack"] pyro = ["pyro4"] qpid = ["qpid-python (>=0.26)", "qpid-tools (>=0.26)"] -redis = ["redis (>=4.5.2,!=4.5.5,<6.0.0)"] +redis = ["redis (>=4.5.2,!=4.5.5,!=5.0.2)"] slmq = ["softlayer-messaging (>=1.0.3)"] sqlalchemy = ["sqlalchemy (>=1.4.48,<2.1)"] sqs = ["boto3 (>=1.26.143)", "pycurl (>=7.43.0.5)", "urllib3 (>=1.26.16)"] @@ -1498,13 +1499,13 @@ source = ["Cython (>=3.0.7)"] [[package]] name = "markdown" -version = "3.5.2" +version = "3.6" description = "Python implementation of John Gruber's Markdown." optional = false python-versions = ">=3.8" files = [ - {file = "Markdown-3.5.2-py3-none-any.whl", hash = "sha256:d43323865d89fc0cb9b20c75fc8ad313af307cc087e84b657d9eec768eddeadd"}, - {file = "Markdown-3.5.2.tar.gz", hash = "sha256:e1ac7b3dc550ee80e602e71c1d168002f062e49f1b11e26a36264dafd4df2ef8"}, + {file = "Markdown-3.6-py3-none-any.whl", hash = "sha256:48f276f4d8cfb8ce6527c8f79e2ee29708508bf4d40aa410fbc3b4ee832c850f"}, + {file = "Markdown-3.6.tar.gz", hash = "sha256:ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224"}, ] [package.extras] @@ -1513,64 +1514,61 @@ testing = ["coverage", "pyyaml"] [[package]] name = "maxminddb" -version = "2.5.2" +version = "2.6.0" description = "Reader for the MaxMind DB format" optional = false python-versions = ">=3.8" files = [ - {file = "maxminddb-2.5.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f5682963a5817066db50f219c33aaa7eb969888211a289a444c42b5dfa0c0f78"}, - {file = "maxminddb-2.5.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3fe6bb1b5ea132fcd9fd7b16c80247f0ba667018d5f9f98cd645b297e3b02fbf"}, - {file = "maxminddb-2.5.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:955a3ec4b161e872cc615b7a09ae9770049e9794e7b3832e3d78905a65c5049d"}, - {file = "maxminddb-2.5.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:29d63e7711e5f95c7c190010e57dca9e262aee8ac300aaf75c3f7ede0b5a5863"}, - {file = "maxminddb-2.5.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:08a540ec3661f6ca40499c86028e96dca5780e9d471b485dc797859b0b22dd22"}, - {file = "maxminddb-2.5.2-cp310-cp310-win32.whl", hash = "sha256:17fdb691c389a0e956410d5baef9ad082a0aa67dd6aa231d193499e71a104c19"}, - {file = "maxminddb-2.5.2-cp310-cp310-win_amd64.whl", hash = "sha256:d71b48d3dff9150a44e949b28fa5e7251a7a6895a3a77e200ce08410f096f12f"}, - {file = "maxminddb-2.5.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1409a045eb04cebb297221eab1020c4f05434d02c0961410f6996ef474482998"}, - {file = "maxminddb-2.5.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d839c480e4b93bb37bb1cc2777d77e6b2127c006e60b56f748f10571d8b0e471"}, - {file = "maxminddb-2.5.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bca70905515fe50684974a9afaa7db4a4e9fbfdebcb0c2cde9db8e048e0d8145"}, - {file = "maxminddb-2.5.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:67f97cd0c6aac39a51294b04a1e922532125285c24b18a58e2a9c92c7691fa9f"}, - {file = "maxminddb-2.5.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1a3fab6bea6cc59444e6bad2a4fbf91228f6f51dcb29d09ed091930a475bd8cb"}, - {file = "maxminddb-2.5.2-cp311-cp311-win32.whl", hash = "sha256:a99e3125528ea31e807f80e8c5b65118dc5cc122d0a435f1691a3cc1df55840c"}, - {file = "maxminddb-2.5.2-cp311-cp311-win_amd64.whl", hash = "sha256:b6adf63695fa5e3d2549f7c2c9d82c6d252edd5c6ba67074637d2cb944143673"}, - {file = "maxminddb-2.5.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ed504ca9f3c42e8e71bdbe21f5b818139a1448ac15d7bb6ce12cf41e3b7e2067"}, - {file = "maxminddb-2.5.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a5053231228d7cbf57d98a741b3cbee9efa9e689348dbb56c414e5a4c7f6f1c"}, - {file = "maxminddb-2.5.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7e8688342bab592647313cd2054779bcd35ad85933424ceae9f07e3a9779986"}, - {file = "maxminddb-2.5.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:335ee3140b41d4e751c14f8fae297aa064c7d3f184c9fbb2790336123187c440"}, - {file = "maxminddb-2.5.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b0203fa2731da45e5461f6e8a0768e85bba8e02137a1598b3fcadf7cbfe8e6f2"}, - {file = "maxminddb-2.5.2-cp312-cp312-win32.whl", hash = "sha256:8b89129de70e1629f200df9dfda4e4f477c26b05c29e0836604a00209c9466d5"}, - {file = "maxminddb-2.5.2-cp312-cp312-win_amd64.whl", hash = "sha256:099f4e27feec4bb9658034a3eb853e746721fc15709030bee4f2f889f4a34185"}, - {file = "maxminddb-2.5.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:19d8d1e9bbc5281fb4c8112d541d2bd350fd8b5ddfbb43a6951e46df7cd27b9d"}, - {file = "maxminddb-2.5.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94183a78628cad257183a88ce12a3bb9ffbfe0544bd0c1aafc1f9dc55629dd1b"}, - {file = "maxminddb-2.5.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:17de49660372dcccaa23958eccdd1c2464f92f594d027045ad76788db14a5da4"}, - {file = "maxminddb-2.5.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ae05c4f87b1dd9a21d430c52451eef5f3bd5af609d093408db91fe0dc4d8d7d1"}, - {file = "maxminddb-2.5.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2cb718908b9dffa10e02361094158ae68ded5a82c750de89737437999a81bafe"}, - {file = "maxminddb-2.5.2-cp38-cp38-win32.whl", hash = "sha256:e0faa0c4c458eb0eb2f267daa7b106baef72c3c7ebcbece00b9e974fc8321412"}, - {file = "maxminddb-2.5.2-cp38-cp38-win_amd64.whl", hash = "sha256:bac5a29fdc5df9222f7baecbcc4a88b309a66a7d147b34160940c0850ee4b9c5"}, - {file = "maxminddb-2.5.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c204f53ef7c1d77e9fb0dba415dbb56419f2b08ccaca66cd772e29b3a793c3e7"}, - {file = "maxminddb-2.5.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae98508a200db6f7ae5985a53039aba8eef7ed71d34b0a0e9c9145c3e6139fc3"}, - {file = "maxminddb-2.5.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3e9198d25e252b27d4e9526d5fcd4b78341c23153363a94f1246de5afcd39f6d"}, - {file = "maxminddb-2.5.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:b85b008f8e2cf3abfabdc24041549c51c97ea9a8bc46eeeadac8cec7acf9fbf0"}, - {file = "maxminddb-2.5.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6f50210506e9818162ef6706d3127efb0575dfe2cc98a7236ca2011f1cc3effe"}, - {file = "maxminddb-2.5.2-cp39-cp39-win32.whl", hash = "sha256:2bba43d370a57785f5ef61c10d0b4bf8de58d431da3c4c2ed78bb2ff3d07edbf"}, - {file = "maxminddb-2.5.2-cp39-cp39-win_amd64.whl", hash = "sha256:2e01b09480b97d2ebe6765618fb12a0f52caa17368d6cf1f42481d6740428de7"}, - {file = "maxminddb-2.5.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:dd47d13376eaee2e8d1a1fb55d3d6ccdcc995bc931699967f7d5670ec6a454a3"}, - {file = "maxminddb-2.5.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:abd626efaba4f0bc867462337f846796da0bb97b82125dbdbc63067947e353b0"}, - {file = "maxminddb-2.5.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3ddbe547d83a2e28e81d9f59fd9708d3044ffb2398ee0f8df2e2a2e9cdea6646"}, - {file = "maxminddb-2.5.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:22184fa2514c15f5b39e4e2522f4f73d00afcf5eb7102c473f9376f3c3a03b81"}, - {file = "maxminddb-2.5.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5cb6702fbcc5b209ac3cffacd9cf0a5155feabbeb6fdcf497038be7cb6e52da6"}, - {file = "maxminddb-2.5.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0c3ebfc0af00445089629faffa4c5a1fcc42a1ca5d7dffc42bba314fde20c6d"}, - {file = "maxminddb-2.5.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:461dcf0a4f67aa1c9faea6d52c4060d39559bf68e99a514cf8c1e01af383f90b"}, - {file = "maxminddb-2.5.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e012e889639aab411f5483990188da51c968377f665dcb90584971dbf314d50a"}, - {file = "maxminddb-2.5.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:20596e452d03071db37a72c8ef9236126c04ed342864f68db0adf0d1bc9f642e"}, - {file = "maxminddb-2.5.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ec51b66774b102824c9a3dd4916356283f6a61db1868d4ebcb98bf26486718e"}, - {file = "maxminddb-2.5.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6fda0dd512f345cc92492f96c61a0df47efc2e2064c15e8053ab2114b362d64d"}, - {file = "maxminddb-2.5.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:862fcfe226ebda29a537cdce678dc8dc71ca6540ad2483099f80c6a1ee4cdbdd"}, - {file = "maxminddb-2.5.2.tar.gz", hash = "sha256:b3c33e4fc7821ee6c9f40837116e16ab6175863d4a64eee024c5bec686690a87"}, + {file = "maxminddb-2.6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4ec0e12623b53b3548239f0082bc2417e71543e2e5b7b4f49c56545f52013f7f"}, + {file = "maxminddb-2.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:568ad9f34ec4118e7e1b9b583c086576ac68add40232ae57a2b1d4bd4834705e"}, + {file = "maxminddb-2.6.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0626df312d92e8b34ab1bf12921ac44a05a82a70f611f3bb6ed5b55668344849"}, + {file = "maxminddb-2.6.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:f1b5149c8064e9d47d98d382ed54037f0ba25ca9c1e2b1d1cd9958c3808ced44"}, + {file = "maxminddb-2.6.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:dfa11a83c615a7cfd407e47cc6b8576aad2322bc6ce4af2b6a916fb634a5556e"}, + {file = "maxminddb-2.6.0-cp310-cp310-win32.whl", hash = "sha256:d1fcf83866b77faf501eba458cc59760d8945a310ba53a8d47d9bb04592cb1cb"}, + {file = "maxminddb-2.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:2ba1c6cc68316dec14b1251741d5b5c7538ccebc6aadddc61fd870e090adfdff"}, + {file = "maxminddb-2.6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:695466fe8933430d53894f91ce3a468383a6c1a2f89eeddd05dad21377ea94d9"}, + {file = "maxminddb-2.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e02868d8081e6cadfe0cd8e7dc577c172a7dd78b65bbafff89b8b2bec41e493"}, + {file = "maxminddb-2.6.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:31f6819ed566668e890937aadc79373cf9de20378ac76f323628863d8f3d1383"}, + {file = "maxminddb-2.6.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:725b01b6cb4b744b846041168b02dcf05908ce02e544aa35d64dbcf2448efd05"}, + {file = "maxminddb-2.6.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:af8c4792272f85b0f9da70f3c3670bc3163590d5c9964412ed47ab3f31138c21"}, + {file = "maxminddb-2.6.0-cp311-cp311-win32.whl", hash = "sha256:50b0318222b99b27cb3abff3f85983e36a33fb785445402930b28d2c3fe320d0"}, + {file = "maxminddb-2.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:db4919488de1215650316284fe079f07b463d4c5f96ce01b338adaac8f35936d"}, + {file = "maxminddb-2.6.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cda00948032969affce349588ee8638eae97f47b8b10b4064e7e9bf6bda3410d"}, + {file = "maxminddb-2.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:16c2619779abe6baa722e6d65500393a6ea8fe5a3ce24bb02564defb020f51cd"}, + {file = "maxminddb-2.6.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eee0250b6cfc30eca89f06fc4d455aad51f657da05612dfe6207aa9be870edb7"}, + {file = "maxminddb-2.6.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:61f7f6b12264d52eba5235580edecd0bad0aac7c1c5ba0a0970373c5d19b81d7"}, + {file = "maxminddb-2.6.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f223183a9e5c8e2044f6347c07b71deab4dac36d44de46163ff3358cb4f909c8"}, + {file = "maxminddb-2.6.0-cp312-cp312-win32.whl", hash = "sha256:42c58ad0e5c70bbaedd3b681b172000256f4710c6c2180221c9f43f826381c00"}, + {file = "maxminddb-2.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:c9168f0251bbb6806fd85dea7e145b53163f3e74626bf65b8b62b24121bbb038"}, + {file = "maxminddb-2.6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:fa897a9ae335559d26d63656d4d34f4a9a0e63be3cb67624fdcd448b7d010536"}, + {file = "maxminddb-2.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6508bd089be94174608c0d95f95983b891daa07181eef4aaae2ff55930a3022b"}, + {file = "maxminddb-2.6.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c9ebcd1603ace5768934668e940bc3f7a23973b06c833031bb3ef1ff6d5193bf"}, + {file = "maxminddb-2.6.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:541650f00ecaff32b486ca0a89fd74a2493e35e0cfe1142b4a66b852de6e00c4"}, + {file = "maxminddb-2.6.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b15df0645f067c229cafdbc5160c3a0512b3ec16f3c77252dc83341312329fc9"}, + {file = "maxminddb-2.6.0-cp38-cp38-win32.whl", hash = "sha256:0dfe9b4af5870a60b9abaaa898b458d2af2338cabe2f8fa6c7d74bf473f1d01a"}, + {file = "maxminddb-2.6.0-cp38-cp38-win_amd64.whl", hash = "sha256:fa1f45ca2b2b60bd3c88cea33bb8ca948f3dd44795049477248c804e2c02b726"}, + {file = "maxminddb-2.6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f50300386c030a1152c1c97a02f880bc80bc8ddff500b782fd41334382f0dbda"}, + {file = "maxminddb-2.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e5647563d11f57df239988371db2eeed8246ad4673eb3d798892d1812e5d653"}, + {file = "maxminddb-2.6.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9df22644fe0b022f8dbdd56bc066ce02d29a67e5d7a543949f1bd43638234ce9"}, + {file = "maxminddb-2.6.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:74eb211e4a755d6f8b9704239c42d06cdcb42beb2030a707d629e8db092faf72"}, + {file = "maxminddb-2.6.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:313afcdaeda32e5249093a0672bd1276261511ddc93e52fb2dda87061f1ba154"}, + {file = "maxminddb-2.6.0-cp39-cp39-win32.whl", hash = "sha256:6883311bdd673d27781cbb8e06cc623aef497aa970e5e532cb79a13460955d09"}, + {file = "maxminddb-2.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:2e9c672952c5ed22bf7aae69830116a9d0747d9abd9ebcfe375d31432fdea2e8"}, + {file = "maxminddb-2.6.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c79c1892e0b582660f1d821b0b68bb6100ca60dc13cfc2553e3c12939907fa75"}, + {file = "maxminddb-2.6.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8a06f0f16bb502887fada29b2d9f3cec4c6e44e230fdf0cc67452fa0232f7c"}, + {file = "maxminddb-2.6.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2f036479418ed91ec019c7ef6e3e6757797a16891dbf8829d9c1b74e2a5feb5b"}, + {file = "maxminddb-2.6.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:6ec791c115dbfa20d0a4d4f0a2c336886f6abb30025a6ac2eb42b94c581bdd67"}, + {file = "maxminddb-2.6.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a6e028be4c38d9c11a408a2fbd89626d0bbf1eb89996bf0beaf1e11453937bd6"}, + {file = "maxminddb-2.6.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:048e85e74828d1c7327df4ca452a4b859dd2ca2b9746c978fe613138cae65b97"}, + {file = "maxminddb-2.6.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8d126f0d2784d53aa613c009b89677bbf88defb3bf7a66e9b8e60e0859f23aa4"}, + {file = "maxminddb-2.6.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:fb8d69564a3b682d8f1dd79a97b52f6525a2a4939ef9a23c7b108ec2f973a42a"}, + {file = "maxminddb-2.6.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a2864cb9093d89b5ccfcdd124da6b8feb3cc3ac7891ab5b43b7131a8a0050bd9"}, + {file = "maxminddb-2.6.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e90b8be14ded4f01f71c23034600b088594417e42a7bbdd132e87d923246db0e"}, + {file = "maxminddb-2.6.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4e7a0735a04545386df64eb8bc9aea9971b172584066e0d88af8404ba6ccbbd9"}, + {file = "maxminddb-2.6.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:5ee2e5138ef28b7cf920fedb313b0e605bc66bd2d46c9abcd9656d18ed4eb660"}, + {file = "maxminddb-2.6.0.tar.gz", hash = "sha256:c5b91c62bc274d0a83ac88088a6db2dac1301acb8aa7bf80a901a07120361e1d"}, ] -[package.dependencies] -setuptools = ">=68.2.2" - [[package]] name = "mt-940" version = "4.30.0" @@ -1717,13 +1715,13 @@ et-xmlfile = "*" [[package]] name = "packaging" -version = "23.2" +version = "24.0" description = "Core utilities for Python packages" optional = false python-versions = ">=3.7" files = [ - {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, - {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, + {file = "packaging-24.0-py3-none-any.whl", hash = "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5"}, + {file = "packaging-24.0.tar.gz", hash = "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"}, ] [[package]] @@ -1774,13 +1772,13 @@ six = ">=1.0.0" [[package]] name = "phonenumberslite" -version = "8.13.31" +version = "8.13.33" description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers." optional = false python-versions = "*" files = [ - {file = "phonenumberslite-8.13.31-py2.py3-none-any.whl", hash = "sha256:137d53d5d78dca30bc2becf81a3e2ac74deb8f0997e9bbe44de515ece4bd92bd"}, - {file = "phonenumberslite-8.13.31.tar.gz", hash = "sha256:e1f4359bff90c86d1b52db0e726d3334df00cc7d9c9c2ef66561d5f7a774d4ba"}, + {file = "phonenumberslite-8.13.33-py2.py3-none-any.whl", hash = "sha256:4d92f4f9079bb83588dde45fd8a414bc13e4962886aa4d23576984196f4d83c2"}, + {file = "phonenumberslite-8.13.33.tar.gz", hash = "sha256:7426bc46af3de5a800a4c8f33ab13e33225d2c8ed4fc52aa3c0380dadd8d7381"}, ] [[package]] @@ -1896,13 +1894,13 @@ files = [ [[package]] name = "pretix" -version = "2024.2.0" +version = "2024.3.0" description = "Reinventing presales, one ticket at a time" optional = false python-versions = ">=3.9" files = [ - {file = "pretix-2024.2.0-py3-none-any.whl", hash = "sha256:62cddbb2354728f9a9d695755ed55e88d88d35db2cfe2c94ac5be9e648adb51f"}, - {file = "pretix-2024.2.0.tar.gz", hash = "sha256:a99d095bb2739cf2574770bc940d988f52bd61d2464598f113ab661a596f5fd5"}, + {file = "pretix-2024.3.0-py3-none-any.whl", hash = "sha256:b3155aaa8ef46797effd7f948b8dd6a68cca6bef397fb53be7859f5d178828b5"}, + {file = "pretix-2024.3.0.tar.gz", hash = "sha256:e3e4aaf48bdb2871b12bc4bdd7429dd5689f91b68422aaadb933a0c0de73fe4b"}, ] [package.dependencies] @@ -1920,7 +1918,7 @@ Django = "==4.2.*" django-bootstrap3 = "==23.6.*" django-compressor = "4.4" django-countries = "==7.5.*" -django-filter = "23.5" +django-filter = "24.1" django-formset-js-improved = "0.5.0.3" django-formtools = "2.5.1" django-hierarkey = "==1.1.*" @@ -1936,7 +1934,7 @@ django-redis = "==5.4.*" django-scopes = "==2.0.*" django-statici18n = "==2.4.*" djangorestframework = "==3.14.*" -dnspython = "==2.5.*" +dnspython = "==2.6.*" drf-ujson2 = "==1.7.*" geoip2 = "==4.*" importlib-metadata = "==7.*" @@ -1945,7 +1943,7 @@ jsonschema = "*" kombu = "==5.3.*" libsass = "==0.23.*" lxml = "*" -markdown = "3.5.2" +markdown = "3.6" mt-940 = "==4.30.*" oauthlib = "==3.2.*" openpyxl = "==3.1.*" @@ -1955,7 +1953,7 @@ paypalrestsdk = "==1.13.*" phonenumberslite = "==8.13.*" Pillow = "==10.2.*" pretix-plugin-build = "*" -protobuf = "==4.25.*" +protobuf = "==5.26.*" psycopg2-binary = "*" pycountry = "*" pycparser = "2.21" @@ -1963,7 +1961,7 @@ pycryptodome = "==3.20.*" PyJWT = "==2.8.*" pypdf = "==3.9.*" python-bidi = "==0.4.*" -python-dateutil = "==2.8.*" +python-dateutil = "==2.9.*" pytz = "*" pytz-deprecation-shim = "==0.1.*" pyuca = "*" @@ -1971,7 +1969,7 @@ qrcode = "==7.4.*" redis = "==5.0.*" reportlab = "==4.1.*" requests = "==2.31.*" -sentry-sdk = "==1.40.*" +sentry-sdk = "==1.42.*" sepaxml = "==2.6.*" slimit = "*" static3 = "==0.7.*" @@ -1985,7 +1983,7 @@ webauthn = "==2.0.*" zeep = "==4.2.*" [package.extras] -dev = ["aiohttp (==3.9.*)", "coverage", "coveralls", "fakeredis (==2.21.*)", "flake8 (==7.0.*)", "freezegun", "isort (==5.13.*)", "pep8-naming (==0.13.*)", "potypo", "pytest (==8.0.*)", "pytest-asyncio", "pytest-cache", "pytest-cov", "pytest-django (==4.*)", "pytest-mock (==3.12.*)", "pytest-rerunfailures (==13.*)", "pytest-sugar", "pytest-xdist (==3.5.*)", "responses"] +dev = ["aiohttp (==3.9.*)", "coverage", "coveralls", "fakeredis (==2.21.*)", "flake8 (==7.0.*)", "freezegun", "isort (==5.13.*)", "pep8-naming (==0.13.*)", "potypo", "pytest (==8.1.*)", "pytest-asyncio", "pytest-cache", "pytest-cov", "pytest-django (==4.*)", "pytest-mock (==3.12.*)", "pytest-rerunfailures (==14.*)", "pytest-sugar", "pytest-xdist (==3.5.*)", "responses"] memcached = ["pylibmc"] [[package]] @@ -2018,22 +2016,22 @@ wcwidth = "*" [[package]] name = "protobuf" -version = "4.25.3" +version = "5.26.1" description = "" optional = false python-versions = ">=3.8" files = [ - {file = "protobuf-4.25.3-cp310-abi3-win32.whl", hash = "sha256:d4198877797a83cbfe9bffa3803602bbe1625dc30d8a097365dbc762e5790faa"}, - {file = "protobuf-4.25.3-cp310-abi3-win_amd64.whl", hash = "sha256:209ba4cc916bab46f64e56b85b090607a676f66b473e6b762e6f1d9d591eb2e8"}, - {file = "protobuf-4.25.3-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:f1279ab38ecbfae7e456a108c5c0681e4956d5b1090027c1de0f934dfdb4b35c"}, - {file = "protobuf-4.25.3-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:e7cb0ae90dd83727f0c0718634ed56837bfeeee29a5f82a7514c03ee1364c019"}, - {file = "protobuf-4.25.3-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:7c8daa26095f82482307bc717364e7c13f4f1c99659be82890dcfc215194554d"}, - {file = "protobuf-4.25.3-cp38-cp38-win32.whl", hash = "sha256:f4f118245c4a087776e0a8408be33cf09f6c547442c00395fbfb116fac2f8ac2"}, - {file = "protobuf-4.25.3-cp38-cp38-win_amd64.whl", hash = "sha256:c053062984e61144385022e53678fbded7aea14ebb3e0305ae3592fb219ccfa4"}, - {file = "protobuf-4.25.3-cp39-cp39-win32.whl", hash = "sha256:19b270aeaa0099f16d3ca02628546b8baefe2955bbe23224aaf856134eccf1e4"}, - {file = "protobuf-4.25.3-cp39-cp39-win_amd64.whl", hash = "sha256:e3c97a1555fd6388f857770ff8b9703083de6bf1f9274a002a332d65fbb56c8c"}, - {file = "protobuf-4.25.3-py3-none-any.whl", hash = "sha256:f0700d54bcf45424477e46a9f0944155b46fb0639d69728739c0e47bab83f2b9"}, - {file = "protobuf-4.25.3.tar.gz", hash = "sha256:25b5d0b42fd000320bd7830b349e3b696435f3b329810427a6bcce6a5492cc5c"}, + {file = "protobuf-5.26.1-cp310-abi3-win32.whl", hash = "sha256:3c388ea6ddfe735f8cf69e3f7dc7611e73107b60bdfcf5d0f024c3ccd3794e23"}, + {file = "protobuf-5.26.1-cp310-abi3-win_amd64.whl", hash = "sha256:e6039957449cb918f331d32ffafa8eb9255769c96aa0560d9a5bf0b4e00a2a33"}, + {file = "protobuf-5.26.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:38aa5f535721d5bb99861166c445c4105c4e285c765fbb2ac10f116e32dcd46d"}, + {file = "protobuf-5.26.1-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:fbfe61e7ee8c1860855696e3ac6cfd1b01af5498facc6834fcc345c9684fb2ca"}, + {file = "protobuf-5.26.1-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:f7417703f841167e5a27d48be13389d52ad705ec09eade63dfc3180a959215d7"}, + {file = "protobuf-5.26.1-cp38-cp38-win32.whl", hash = "sha256:d693d2504ca96750d92d9de8a103102dd648fda04540495535f0fec7577ed8fc"}, + {file = "protobuf-5.26.1-cp38-cp38-win_amd64.whl", hash = "sha256:9b557c317ebe6836835ec4ef74ec3e994ad0894ea424314ad3552bc6e8835b4e"}, + {file = "protobuf-5.26.1-cp39-cp39-win32.whl", hash = "sha256:b9ba3ca83c2e31219ffbeb9d76b63aad35a3eb1544170c55336993d7a18ae72c"}, + {file = "protobuf-5.26.1-cp39-cp39-win_amd64.whl", hash = "sha256:7ee014c2c87582e101d6b54260af03b6596728505c79f17c8586e7523aaa8f8c"}, + {file = "protobuf-5.26.1-py3-none-any.whl", hash = "sha256:da612f2720c0183417194eeaa2523215c4fcc1a1949772dc65f05047e08d5932"}, + {file = "protobuf-5.26.1.tar.gz", hash = "sha256:8ca2a1d97c290ec7b16e4e5dff2e5ae150cc1582f55b5ab300d45cb0dfa90e51"}, ] [[package]] @@ -2199,13 +2197,13 @@ tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] [[package]] name = "pyopenssl" -version = "24.0.0" +version = "24.1.0" description = "Python wrapper module around the OpenSSL library" optional = false python-versions = ">=3.7" files = [ - {file = "pyOpenSSL-24.0.0-py3-none-any.whl", hash = "sha256:ba07553fb6fd6a7a2259adb9b84e12302a9a8a75c44046e8bb5d3e5ee887e3c3"}, - {file = "pyOpenSSL-24.0.0.tar.gz", hash = "sha256:6aa33039a93fffa4563e655b61d11364d01264be8ccb49906101e02a334530bf"}, + {file = "pyOpenSSL-24.1.0-py3-none-any.whl", hash = "sha256:17ed5be5936449c5418d1cd269a1a9e9081bc54c17aed272b45856a3d3dc86ad"}, + {file = "pyOpenSSL-24.1.0.tar.gz", hash = "sha256:cabed4bfaa5df9f1a16c0ef64a0cb65318b5cd077a7eda7d6970131ca2f41a6f"}, ] [package.dependencies] @@ -2213,7 +2211,7 @@ cryptography = ">=41.0.5,<43" [package.extras] docs = ["sphinx (!=5.2.0,!=5.2.0.post0,!=7.2.5)", "sphinx-rtd-theme"] -test = ["flaky", "pretend", "pytest (>=3.0.1)"] +test = ["pretend", "pytest (>=3.0.1)", "pytest-rerunfailures"] [[package]] name = "pypdf" @@ -2260,13 +2258,13 @@ six = "*" [[package]] name = "python-dateutil" -version = "2.8.2" +version = "2.9.0.post0" description = "Extensions to the standard Python datetime module" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ - {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, - {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, + {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, ] [package.dependencies] @@ -2274,13 +2272,13 @@ six = ">=1.5" [[package]] name = "python-stdnum" -version = "1.19" +version = "1.20" description = "Python module to handle standardized numbers and codes" optional = false python-versions = "*" files = [ - {file = "python-stdnum-1.19.tar.gz", hash = "sha256:133ec82f56390ea74c190569e98f2fb14b869808b1d54785708f22d0fead8b3f"}, - {file = "python_stdnum-1.19-py2.py3-none-any.whl", hash = "sha256:1b5b401ad3f45b798b0317313b781a433f5d7a5ff2c9feb8054664f76f78644e"}, + {file = "python-stdnum-1.20.tar.gz", hash = "sha256:ad2a2cf2eb025de408210235f36b4ae31252de3186240ccaa8126e117cb82690"}, + {file = "python_stdnum-1.20-py2.py3-none-any.whl", hash = "sha256:111008e10391d54fb2afad2a10df70d5cb0c6c0a7ec82fec6f022cb8712961d3"}, ] [package.extras] @@ -2381,17 +2379,17 @@ files = [ [[package]] name = "redis" -version = "5.0.2" +version = "5.0.3" description = "Python client for Redis database and key-value store" optional = false python-versions = ">=3.7" files = [ - {file = "redis-5.0.2-py3-none-any.whl", hash = "sha256:4caa8e1fcb6f3c0ef28dba99535101d80934b7d4cd541bbb47f4a3826ee472d1"}, - {file = "redis-5.0.2.tar.gz", hash = "sha256:3f82cc80d350e93042c8e6e7a5d0596e4dd68715babffba79492733e1f367037"}, + {file = "redis-5.0.3-py3-none-any.whl", hash = "sha256:5da9b8fe9e1254293756c16c008e8620b3d15fcc6dde6babde9541850e72a32d"}, + {file = "redis-5.0.3.tar.gz", hash = "sha256:4973bae7444c0fbed64a06b87446f79361cb7e4ec1538c022d696ed7a5015580"}, ] [package.dependencies] -async-timeout = ">=4.0.3" +async-timeout = {version = ">=4.0.3", markers = "python_full_version < \"3.11.3\""} [package.extras] hiredis = ["hiredis (>=1.0.0)"] @@ -2399,13 +2397,13 @@ ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)" [[package]] name = "referencing" -version = "0.33.0" +version = "0.34.0" description = "JSON Referencing + Python" optional = false python-versions = ">=3.8" files = [ - {file = "referencing-0.33.0-py3-none-any.whl", hash = "sha256:39240f2ecc770258f28b642dd47fd74bc8b02484de54e1882b74b35ebd779bd5"}, - {file = "referencing-0.33.0.tar.gz", hash = "sha256:c775fedf74bc0f9189c2a3be1c12fd03e8c23f4d371dce795df44e06c5b412f7"}, + {file = "referencing-0.34.0-py3-none-any.whl", hash = "sha256:d53ae300ceddd3169f1ffa9caf2cb7b769e92657e4fafb23d34b93679116dfd4"}, + {file = "referencing-0.34.0.tar.gz", hash = "sha256:5773bd84ef41799a5a8ca72dc34590c041eb01bf9aa02632b4a973fb0181a844"}, ] [package.dependencies] @@ -2623,13 +2621,13 @@ files = [ [[package]] name = "sentry-sdk" -version = "1.40.6" +version = "1.42.0" description = "Python client for Sentry (https://sentry.io)" optional = false python-versions = "*" files = [ - {file = "sentry-sdk-1.40.6.tar.gz", hash = "sha256:f143f3fb4bb57c90abef6e2ad06b5f6f02b2ca13e4060ec5c0549c7a9ccce3fa"}, - {file = "sentry_sdk-1.40.6-py2.py3-none-any.whl", hash = "sha256:becda09660df63e55f307570e9817c664392655a7328bbc414b507e9cb874c67"}, + {file = "sentry-sdk-1.42.0.tar.gz", hash = "sha256:4a8364b8f7edbf47f95f7163e48334c96100d9c098f0ae6606e2e18183c223e6"}, + {file = "sentry_sdk-1.42.0-py2.py3-none-any.whl", hash = "sha256:a654ee7e497a3f5f6368b36d4f04baeab1fe92b3105f7f6965d6ef0de35a9ba4"}, ] [package.dependencies] @@ -2653,9 +2651,10 @@ grpcio = ["grpcio (>=1.21.1)"] httpx = ["httpx (>=0.16.0)"] huey = ["huey (>=2)"] loguru = ["loguru (>=0.5)"] +openai = ["openai (>=1.0.0)", "tiktoken (>=0.3.0)"] opentelemetry = ["opentelemetry-distro (>=0.35b0)"] opentelemetry-experimental = ["opentelemetry-distro (>=0.40b0,<1.0)", "opentelemetry-instrumentation-aiohttp-client (>=0.40b0,<1.0)", "opentelemetry-instrumentation-django (>=0.40b0,<1.0)", "opentelemetry-instrumentation-fastapi (>=0.40b0,<1.0)", "opentelemetry-instrumentation-flask (>=0.40b0,<1.0)", "opentelemetry-instrumentation-requests (>=0.40b0,<1.0)", "opentelemetry-instrumentation-sqlite3 (>=0.40b0,<1.0)", "opentelemetry-instrumentation-urllib (>=0.40b0,<1.0)"] -pure-eval = ["asttokens", "executing", "pure_eval"] +pure-eval = ["asttokens", "executing", "pure-eval"] pymongo = ["pymongo (>=3.1)"] pyspark = ["pyspark (>=2.4.4)"] quart = ["blinker (>=1.1)", "quart (>=0.16.1)"] @@ -2683,18 +2682,18 @@ xmlschema = "*" [[package]] name = "setuptools" -version = "69.1.1" +version = "69.2.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-69.1.1-py3-none-any.whl", hash = "sha256:02fa291a0471b3a18b2b2481ed902af520c69e8ae0919c13da936542754b4c56"}, - {file = "setuptools-69.1.1.tar.gz", hash = "sha256:5c0806c7d9af348e6dd3777b4f4dbb42c7ad85b190104837488eab9a7c945cf8"}, + {file = "setuptools-69.2.0-py3-none-any.whl", hash = "sha256:c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c"}, + {file = "setuptools-69.2.0.tar.gz", hash = "sha256:0ff4183f8f42cd8fa3acea16c45205521a4ef28f73c6391d8a25e92893134f2e"}, ] [package.extras] docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.2)", "pip (>=19.1)", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mypy (==1.9)", "packaging (>=23.2)", "pip (>=19.1)", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.2)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] [[package]] @@ -2790,13 +2789,13 @@ files = [ [[package]] name = "tlds" -version = "2024020701" +version = "2024030600" description = "Automatically updated list of valid TLDs taken directly from IANA" optional = false python-versions = "*" files = [ - {file = "tlds-2024020701-py2.py3-none-any.whl", hash = "sha256:e061ec51d0ca160ac64b8c228b0cf72b544aeb47249d82dbd1b5681245b4444a"}, - {file = "tlds-2024020701.tar.gz", hash = "sha256:462b5dff89cfa1a3dca4cfd2fb81a53acaadee3fe618b7a018e314d692e0d3a4"}, + {file = "tlds-2024030600-py2.py3-none-any.whl", hash = "sha256:e4eafaad17a8eb19064d46eda0ca8abc366cf67ba01c71861a7dbfc7003c0708"}, + {file = "tlds-2024030600.tar.gz", hash = "sha256:e39e7c8e931a2e90710594622e4737ed336e0da335fbc7aca015b200b6279cb1"}, ] [[package]] @@ -2956,12 +2955,13 @@ files = [ [[package]] name = "vobject" -version = "0.9.6.1" +version = "0.9.7" description = "A full-featured Python package for parsing and creating iCalendar and vCard files" optional = false python-versions = "*" files = [ - {file = "vobject-0.9.6.1.tar.gz", hash = "sha256:96512aec74b90abb71f6b53898dd7fe47300cc940104c4f79148f0671f790101"}, + {file = "vobject-0.9.7-py2.py3-none-any.whl", hash = "sha256:67ebec81ee39fc60b7355ce077f850d5f13d99d08b110fa1abcfdbb516205e20"}, + {file = "vobject-0.9.7.tar.gz", hash = "sha256:ab727bf81de88984ada5c11f066f1e1649903d3e3d7ec91f1ce968172afd5256"}, ] [package.dependencies] @@ -3008,22 +3008,22 @@ files = [ [[package]] name = "xmlschema" -version = "3.0.2" +version = "3.2.0" description = "An XML Schema validator and decoder" optional = false python-versions = ">=3.8" files = [ - {file = "xmlschema-3.0.2-py3-none-any.whl", hash = "sha256:c8935f81e1645df3e71136805c7206871268aa8c6e31e3667ea23746f22fea0a"}, - {file = "xmlschema-3.0.2.tar.gz", hash = "sha256:b2526e91695905aa62d4aa2b68349565a168fedf88ada0005f5e0dd21da9734b"}, + {file = "xmlschema-3.2.0-py3-none-any.whl", hash = "sha256:7ad8b4838fee0cfbfc3a5c7d38e33964cf5ebd2c20e2aa23ea813b6793438f9c"}, + {file = "xmlschema-3.2.0.tar.gz", hash = "sha256:541d96893691aae3cb93ea36a85dde18327012e26e0c51d610f4f79e7fc86f7b"}, ] [package.dependencies] -elementpath = ">=4.3.0,<5.0.0" +elementpath = ">=4.4.0,<5.0.0" [package.extras] -codegen = ["elementpath (>=4.3.0,<5.0.0)", "jinja2"] -dev = ["Sphinx", "coverage", "elementpath (>=4.3.0,<5.0.0)", "flake8", "jinja2", "lxml", "lxml-stubs", "memory-profiler", "mypy", "sphinx-rtd-theme", "tox"] -docs = ["Sphinx", "elementpath (>=4.3.0,<5.0.0)", "jinja2", "sphinx-rtd-theme"] +codegen = ["elementpath (>=4.4.0,<5.0.0)", "jinja2"] +dev = ["Sphinx", "coverage", "elementpath (>=4.4.0,<5.0.0)", "flake8", "jinja2", "lxml", "lxml-stubs", "memory-profiler", "mypy", "sphinx-rtd-theme", "tox"] +docs = ["Sphinx", "elementpath (>=4.4.0,<5.0.0)", "jinja2", "sphinx-rtd-theme"] [[package]] name = "yarl" @@ -3157,20 +3157,20 @@ xmlsec = ["xmlsec (>=0.6.1)"] [[package]] name = "zipp" -version = "3.17.0" +version = "3.18.1" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.8" files = [ - {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"}, - {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"}, + {file = "zipp-3.18.1-py3-none-any.whl", hash = "sha256:206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b"}, + {file = "zipp-3.18.1.tar.gz", hash = "sha256:2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "e9fc7007f6697e279758c9460ed3ac584b006ff6dae76244fd7790c44bcdd71a" +content-hash = "77a24f59f28158ab613d4477d810b12c3ef99154ff4969e5132221f1a24d209f" diff --git a/pkgs/pretix/pretix-static.nix b/pkgs/pretix/pretix-static.nix index 7ef6129..25861b3 100644 --- a/pkgs/pretix/pretix-static.nix +++ b/pkgs/pretix/pretix-static.nix @@ -8,7 +8,7 @@ let nodeEnv = buildNpmPackage rec { name = "pretix-nodejs"; src = "${pretix.passthru.pythonModule.pkgs.pretix}/lib/${pretix.python.libPrefix}/site-packages/pretix/static/npm_dir"; - npmDepsHash = "sha256-kE13dcTdWZZNHPMcHEiK0a2dEcu3Z3/q815YhaVkLbQ="; + npmDepsHash = "sha256-2fHlEEmYzpF3SyvF7+FbwCt+zQVGF0/kslDFnJ+DQGE="; dontNpmBuild = true; installPhase = '' mkdir -p $out diff --git a/pkgs/pretix/pyproject.toml b/pkgs/pretix/pyproject.toml index 1712267..9a2815d 100644 --- a/pkgs/pretix/pyproject.toml +++ b/pkgs/pretix/pyproject.toml @@ -7,7 +7,7 @@ license = "MIT" [tool.poetry.dependencies] python = "^3.10" -pretix = "^2024.2.0" +pretix = "^2024.3.0" [tool.poetry.dev-dependencies] From 8930bdd6f5b131476d27c98dd435ad444aeb4deb Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 7 Apr 2024 01:32:29 +0000 Subject: [PATCH 272/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/f33900124c23c4eca5831b9b5eb32ea5894375ce' (2024-03-19) → 'github:nix-community/home-manager/d6bb9f934f2870e5cbc5b94c79e9db22246141ff' (2024-04-06) • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/7d47a32e5cd1ea481fab33c516356ce27c8cef4a' (2024-03-27) → 'github:cachix/pre-commit-hooks.nix/e35aed5fda3cc79f88ed7f1795021e559582093a' (2024-04-02) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/44733514b72e732bd49f5511bd0203dea9b9a434' (2024-03-26) → 'github:nixos/nixpkgs/72da83d9515b43550436891f538ff41d68eecc7f' (2024-04-05) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/b2245daba6d9b667166b54921d370f937ca60902' (2024-03-28) → 'github:NixOS/nixpkgs/092bd1b943ff26449b95a6e74c14185119bbc4f1' (2024-04-07) • Updated input 'nur': 'github:nix-community/NUR/0ccb18994cca45444b862482fe4197717ea2cff4' (2024-03-28) → 'github:nix-community/NUR/ef7e3ecaf9f58150db1e00d01ea9985b0f8d9756' (2024-04-06) • Updated input 'sops-nix': 'github:Mic92/sops-nix/405987a66cce9a4a82f321f11b205982a7127c88' (2024-03-24) → 'github:Mic92/sops-nix/99b1e37f9fc0960d064a7862eb7adfb92e64fa10' (2024-03-31) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/ac6bdf6181666ebb4f90dd20f31e2fa66ede6b68' (2024-03-23) → 'github:NixOS/nixpkgs/2b4e3ca0091049c6fbb4908c66b05b77eaef9f0c' (2024-03-30) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 748f863..f259512 100644 --- a/flake.lock +++ b/flake.lock @@ -85,11 +85,11 @@ ] }, "locked": { - "lastModified": 1710888565, - "narHash": "sha256-s9Hi4RHhc6yut4EcYD50sZWRDKsugBJHSbON8KFwoTw=", + "lastModified": 1712386041, + "narHash": "sha256-dA82pOMQNnCJMAsPG7AXG35VmCSMZsJHTFlTHizpKWQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "f33900124c23c4eca5831b9b5eb32ea5894375ce", + "rev": "d6bb9f934f2870e5cbc5b94c79e9db22246141ff", "type": "github" }, "original": { @@ -154,11 +154,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1711519547, - "narHash": "sha256-Q7YmSCUJmDl71fJv/zD9lrOCJ1/SE/okZ2DsrmRjzhY=", + "lastModified": 1712055707, + "narHash": "sha256-4XLvuSIDZJGS17xEwSrNuJLL7UjDYKGJSbK1WWX2AK8=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "7d47a32e5cd1ea481fab33c516356ce27c8cef4a", + "rev": "e35aed5fda3cc79f88ed7f1795021e559582093a", "type": "github" }, "original": { @@ -202,11 +202,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1711233294, - "narHash": "sha256-eEu5y4J145BYDw9o/YEmeJyqh8blgnZwuz9k234zuWc=", + "lastModified": 1711819797, + "narHash": "sha256-tNeB6emxj74Y6ctwmsjtMlzUMn458sBmwnD35U5KIM4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ac6bdf6181666ebb4f90dd20f31e2fa66ede6b68", + "rev": "2b4e3ca0091049c6fbb4908c66b05b77eaef9f0c", "type": "github" }, "original": { @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1711643963, - "narHash": "sha256-Uv2+rRDTg+olOJ6k8cjlcag24BDMMDrHFJn2alauOZI=", + "lastModified": 1712453419, + "narHash": "sha256-lanMHRPtuW7v/5J3QsRQ5ZzWEYXomVRqzPBw45XF/Ys=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b2245daba6d9b667166b54921d370f937ca60902", + "rev": "092bd1b943ff26449b95a6e74c14185119bbc4f1", "type": "github" }, "original": { @@ -234,11 +234,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1711460390, - "narHash": "sha256-akSgjDZL6pVHEfSE6sz1DNSXuYX6hq+P/1Z5IoYWs7E=", + "lastModified": 1712310679, + "narHash": "sha256-XgC/a/giEeNkhme/AV1ToipoZ/IVm1MV2ntiK4Tm+pw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "44733514b72e732bd49f5511bd0203dea9b9a434", + "rev": "72da83d9515b43550436891f538ff41d68eecc7f", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1711635893, - "narHash": "sha256-ULay7PLILr2BEdySdctFKTsfV4fmI1/hNiZPKEVuvWo=", + "lastModified": 1712439993, + "narHash": "sha256-dwtJxHYg6EJg5LVfcpRcwlUOxqCGLGlndB7YrbNqcC4=", "owner": "nix-community", "repo": "NUR", - "rev": "0ccb18994cca45444b862482fe4197717ea2cff4", + "rev": "ef7e3ecaf9f58150db1e00d01ea9985b0f8d9756", "type": "github" }, "original": { @@ -311,11 +311,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1711249319, - "narHash": "sha256-N+Pp3/8H+rd7cO71VNV/ovV/Kwt+XNeUHNhsmyTabdM=", + "lastModified": 1711855048, + "narHash": "sha256-HxegAPnQJSC4cbEbF4Iq3YTlFHZKLiNTk8147EbLdGg=", "owner": "Mic92", "repo": "sops-nix", - "rev": "405987a66cce9a4a82f321f11b205982a7127c88", + "rev": "99b1e37f9fc0960d064a7862eb7adfb92e64fa10", "type": "github" }, "original": { From 5c1a7d069f54fe3e6397bf0f8010beb9befd554e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 10 Apr 2024 07:11:24 +0000 Subject: [PATCH 273/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/e35aed5fda3cc79f88ed7f1795021e559582093a' (2024-04-02) → 'github:cachix/pre-commit-hooks.nix/70f504012f0a132ac33e56988e1028d88a48855c' (2024-04-08) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/72da83d9515b43550436891f538ff41d68eecc7f' (2024-04-05) → 'github:nixos/nixpkgs/d272ca50d1f7424fbfcd1e6f1c9e01d92f6da167' (2024-04-08) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/092bd1b943ff26449b95a6e74c14185119bbc4f1' (2024-04-07) → 'github:NixOS/nixpkgs/949fe90552a65bb7c03d72dd03e3e1383c5f9122' (2024-04-10) • Updated input 'nur': 'github:nix-community/NUR/ef7e3ecaf9f58150db1e00d01ea9985b0f8d9756' (2024-04-06) → 'github:nix-community/NUR/f8e01e52fb1c4007d66d178f0205a9eec9bf54f5' (2024-04-10) • Updated input 'sops-nix': 'github:Mic92/sops-nix/99b1e37f9fc0960d064a7862eb7adfb92e64fa10' (2024-03-31) → 'github:Mic92/sops-nix/538c114cfdf1f0458f507087b1dcf018ce1c0c4c' (2024-04-08) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/2b4e3ca0091049c6fbb4908c66b05b77eaef9f0c' (2024-03-30) → 'github:NixOS/nixpkgs/e38d7cb66ea4f7a0eb6681920615dfcc30fc2920' (2024-04-06) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index f259512..d2fdfa6 100644 --- a/flake.lock +++ b/flake.lock @@ -154,11 +154,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1712055707, - "narHash": "sha256-4XLvuSIDZJGS17xEwSrNuJLL7UjDYKGJSbK1WWX2AK8=", + "lastModified": 1712579741, + "narHash": "sha256-igpsH+pa6yFwYOdah3cFciCk8gw+ytniG9quf5f/q84=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "e35aed5fda3cc79f88ed7f1795021e559582093a", + "rev": "70f504012f0a132ac33e56988e1028d88a48855c", "type": "github" }, "original": { @@ -202,11 +202,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1711819797, - "narHash": "sha256-tNeB6emxj74Y6ctwmsjtMlzUMn458sBmwnD35U5KIM4=", + "lastModified": 1712437997, + "narHash": "sha256-g0whLLwRvgO2FsyhY8fNk+TWenS3jg5UdlWL4uqgFeo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2b4e3ca0091049c6fbb4908c66b05b77eaef9f0c", + "rev": "e38d7cb66ea4f7a0eb6681920615dfcc30fc2920", "type": "github" }, "original": { @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1712453419, - "narHash": "sha256-lanMHRPtuW7v/5J3QsRQ5ZzWEYXomVRqzPBw45XF/Ys=", + "lastModified": 1712732900, + "narHash": "sha256-3WatyifPmxpCeADFwLsGnHzAOyY86T+O/ZZrkDnL8Hk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "092bd1b943ff26449b95a6e74c14185119bbc4f1", + "rev": "949fe90552a65bb7c03d72dd03e3e1383c5f9122", "type": "github" }, "original": { @@ -234,11 +234,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1712310679, - "narHash": "sha256-XgC/a/giEeNkhme/AV1ToipoZ/IVm1MV2ntiK4Tm+pw=", + "lastModified": 1712588820, + "narHash": "sha256-y31s5idk3jMJMAVE4Ud9AdI7HT3CgTAeMTJ0StqKN7Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "72da83d9515b43550436891f538ff41d68eecc7f", + "rev": "d272ca50d1f7424fbfcd1e6f1c9e01d92f6da167", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1712439993, - "narHash": "sha256-dwtJxHYg6EJg5LVfcpRcwlUOxqCGLGlndB7YrbNqcC4=", + "lastModified": 1712732516, + "narHash": "sha256-2kR592l8VvcZ3QHBEvRmJmjS6FF9aHowLBXS5uXvKBA=", "owner": "nix-community", "repo": "NUR", - "rev": "ef7e3ecaf9f58150db1e00d01ea9985b0f8d9756", + "rev": "f8e01e52fb1c4007d66d178f0205a9eec9bf54f5", "type": "github" }, "original": { @@ -311,11 +311,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1711855048, - "narHash": "sha256-HxegAPnQJSC4cbEbF4Iq3YTlFHZKLiNTk8147EbLdGg=", + "lastModified": 1712617241, + "narHash": "sha256-a4hbls4vlLRMciv62YrYT/Xs/3Cubce8WFHPUDWwzf8=", "owner": "Mic92", "repo": "sops-nix", - "rev": "99b1e37f9fc0960d064a7862eb7adfb92e64fa10", + "rev": "538c114cfdf1f0458f507087b1dcf018ce1c0c4c", "type": "github" }, "original": { From 421cb222e45ebd0b24255dc3781ccc4814a38dfe Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 10 Apr 2024 18:50:52 +0000 Subject: [PATCH 274/766] Change instance name The responsibility shifted to Digitaler Dienst GmbH --- hosts/weinturm-pretix-prod/services/pretix.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hosts/weinturm-pretix-prod/services/pretix.nix b/hosts/weinturm-pretix-prod/services/pretix.nix index 9c93e6a..d1ce2f6 100644 --- a/hosts/weinturm-pretix-prod/services/pretix.nix +++ b/hosts/weinturm-pretix-prod/services/pretix.nix @@ -6,7 +6,7 @@ in { services.pretix = { enable = true; - instanceName = "Weinturm Open Air"; + instanceName = "Digitaler Dienst GmbH"; domain = "tickets.weinturm-open-air.de"; extraDomains = [ "tickets.weinturm.jalr.de" @@ -28,6 +28,7 @@ in from = "no-reply@tickets.weinturm-open-air.de"; admins = [ "mail@jalr.de" + "pretix@digitaler-dienst.gmbh" ]; }; gunicornWorkers = 4; From a5249410bb7838ba41655bee83dc5bfbfb86bb4f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 10 Apr 2024 19:08:59 +0000 Subject: [PATCH 275/766] Add domain `tickets.buendnis-gegen-rechts-nea.de` --- hosts/weinturm-pretix-prod/services/pretix.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/weinturm-pretix-prod/services/pretix.nix b/hosts/weinturm-pretix-prod/services/pretix.nix index d1ce2f6..895e166 100644 --- a/hosts/weinturm-pretix-prod/services/pretix.nix +++ b/hosts/weinturm-pretix-prod/services/pretix.nix @@ -12,6 +12,7 @@ in "tickets.weinturm.jalr.de" "tickets.wasted-openair.de" "oel.wasted-openair.de" + "tickets.buendnis-gegen-rechts-nea.de" ]; enableTls = true; enableRegistration = false; From a1d4520510a382ae6df873858182af5340c57768 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 19 Apr 2024 15:38:46 +0000 Subject: [PATCH 276/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/70f504012f0a132ac33e56988e1028d88a48855c' (2024-04-08) → 'github:cachix/pre-commit-hooks.nix/40e6053ecb65fcbf12863338a6dcefb3f55f1bf8' (2024-04-12) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/d272ca50d1f7424fbfcd1e6f1c9e01d92f6da167' (2024-04-08) → 'github:nixos/nixpkgs/e402c3eb6d88384ca6c52ef1c53e61bdc9b84ddd' (2024-04-17) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/949fe90552a65bb7c03d72dd03e3e1383c5f9122' (2024-04-10) → 'github:NixOS/nixpkgs/cc5b30542b0202032f2ad5792cfa3955446fdfdf' (2024-04-19) • Updated input 'nur': 'github:nix-community/NUR/f8e01e52fb1c4007d66d178f0205a9eec9bf54f5' (2024-04-10) → 'github:nix-community/NUR/e16ee8a64f1ab6bfbd54f24985141a0bd1243c29' (2024-04-19) • Updated input 'sops-nix': 'github:Mic92/sops-nix/538c114cfdf1f0458f507087b1dcf018ce1c0c4c' (2024-04-08) → 'github:Mic92/sops-nix/a929a011a09db735abc45a8a45d1ff7fdee62755' (2024-04-19) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/e38d7cb66ea4f7a0eb6681920615dfcc30fc2920' (2024-04-06) → 'github:NixOS/nixpkgs/8494ae076b7878d61a7d2d25e89a847fe8f8364c' (2024-04-18) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index d2fdfa6..c9f07a6 100644 --- a/flake.lock +++ b/flake.lock @@ -154,11 +154,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1712579741, - "narHash": "sha256-igpsH+pa6yFwYOdah3cFciCk8gw+ytniG9quf5f/q84=", + "lastModified": 1712897695, + "narHash": "sha256-nMirxrGteNAl9sWiOhoN5tIHyjBbVi5e2tgZUgZlK3Y=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "70f504012f0a132ac33e56988e1028d88a48855c", + "rev": "40e6053ecb65fcbf12863338a6dcefb3f55f1bf8", "type": "github" }, "original": { @@ -202,11 +202,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1712437997, - "narHash": "sha256-g0whLLwRvgO2FsyhY8fNk+TWenS3jg5UdlWL4uqgFeo=", + "lastModified": 1713434076, + "narHash": "sha256-+/p5edwlkqKZc6GDAQl+92Hoe1f3NNbUF9uj+X9H3pU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e38d7cb66ea4f7a0eb6681920615dfcc30fc2920", + "rev": "8494ae076b7878d61a7d2d25e89a847fe8f8364c", "type": "github" }, "original": { @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1712732900, - "narHash": "sha256-3WatyifPmxpCeADFwLsGnHzAOyY86T+O/ZZrkDnL8Hk=", + "lastModified": 1713540478, + "narHash": "sha256-biYsnIjsOvc4mNfcAv/bpHGJ2eHBaNpukUzmf1YFcRU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "949fe90552a65bb7c03d72dd03e3e1383c5f9122", + "rev": "cc5b30542b0202032f2ad5792cfa3955446fdfdf", "type": "github" }, "original": { @@ -234,11 +234,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1712588820, - "narHash": "sha256-y31s5idk3jMJMAVE4Ud9AdI7HT3CgTAeMTJ0StqKN7Y=", + "lastModified": 1713344939, + "narHash": "sha256-jpHkAt0sG2/J7ueKnG7VvLLkBYUMQbXQ2L8OBpVG53s=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d272ca50d1f7424fbfcd1e6f1c9e01d92f6da167", + "rev": "e402c3eb6d88384ca6c52ef1c53e61bdc9b84ddd", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1712732516, - "narHash": "sha256-2kR592l8VvcZ3QHBEvRmJmjS6FF9aHowLBXS5uXvKBA=", + "lastModified": 1713540396, + "narHash": "sha256-mc9hP0I2K2I23fx0py4bp6k28liXgBRilVQRc5hb3LU=", "owner": "nix-community", "repo": "NUR", - "rev": "f8e01e52fb1c4007d66d178f0205a9eec9bf54f5", + "rev": "e16ee8a64f1ab6bfbd54f24985141a0bd1243c29", "type": "github" }, "original": { @@ -311,11 +311,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1712617241, - "narHash": "sha256-a4hbls4vlLRMciv62YrYT/Xs/3Cubce8WFHPUDWwzf8=", + "lastModified": 1713532771, + "narHash": "sha256-vfKxhYVMzG2tg48/1rewBoSLCrKIjQsG1j7Nm/Y2gf4=", "owner": "Mic92", "repo": "sops-nix", - "rev": "538c114cfdf1f0458f507087b1dcf018ce1c0c4c", + "rev": "a929a011a09db735abc45a8a45d1ff7fdee62755", "type": "github" }, "original": { From 52e05f138e25e0379e978f3543874c45d9197f96 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 21 Apr 2024 23:19:22 +0000 Subject: [PATCH 277/766] Add plant light --- hosts/iron/secrets.yaml | 6 +-- .../esphome/devices/pflanzenleuchte.yaml | 54 +++++++++++++++++++ 2 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 hosts/iron/services/esphome/devices/pflanzenleuchte.yaml diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index f863483..81dc763 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -9,7 +9,7 @@ dkim-keys: jalr.de.default: ENC[AES256_GCM,data:mnApsYKXYGtUAHddccmNmU9yZQtekDkTiTXbJ0UJxC0rFxzQCtGsinQslIROJdNUxsxciR1ilNzxawzjJD7AaWJbcAq2TYObGJJOQZBif7t/XEN/rIxEmnAFmdeAyrSONmFb9DiEn59m6DpsU+/9Y+hnc/uwwbzueO34WHJnTqmmsxFVNQZfGR+cbSckHS3wZrfjZSKKzCRt+9DU/xxJ4voyowXLO77w00LHVkyU5liwONi0v2XJ+QeP/jIMmJeKjujZcH+qvUm/kukijqyWKGrZoAYPC2cBlL/UrNECuVdSLMXvr4KBDDTCRZCSMRgUPJ0TAfpQPTPitKJ/0igK7qQl9n/6hckY7VyP8KDS7J7G2Z2XVxfZrAR4X/7ya9B2kneVr2CNx3w954EdTcV1/lD7rcKRjKynyl3ddf8gxJFJ21k1ybo2RLnftGCRVq25qNwhyfjU8x5c7AEs+YTPDrcnmxZ/Ui276eLwpMj61oZzTp8QQhiBVwS/+ruRLC+78pu2gb1gBF/Oo3nuvQD1SOpCRikLVewCYDvfXj/hrjo+oCsjTOj+9tWRcRAEDVlhkXWCMuPXDYrdt3HrIWbQuP8NW1ezd1Ll0r1ujjtPJeSwdd8cVcUSBIoA5gU+eXnYjFaSx9BZ+sIfKqG//W3S+aBYDqAEK/z4N5q66sReb5mtSQYfbZuIZDmox9bwNMG3tJmQX0lJZgEIiuJ5/ef4ra0sj9JsRFldmIn9KUmjW9OlIwzQ42cNNvQSMD/6haNiYsE6TPzVylJ/B2kNu9Qh5FfpCIPtVORv2BAGoNvZlyhjyEiXBEZ4x2hx1l5cBwGOaGhoJ0p+1wqn2zDalIBaEFjbBVdIB6DPC6/lccvpqSwF7HvW2ugyYhW+u92vgic71/BsI4i0OlsJV18gU/zVg0Yj8SK69kEwm4wkJTrkM/I4+kkUIc5OiSAknRfjOFJc0etkh3nO34xpHLOkSv9DrKfXSAGmGZtCLtVL5LGdZeCd/g6EK0JJh6bd9Gu9koSJVq5vjdDJJFf+sgk39TCvHAvk8k1/FgdK5jMJ+pR8heJtP8G96ay3DFVm5hpbjuNKqfBvbf2rkyV6++ywRFnAQGPUiMn9g6Q4F5Ks7CC1D0Ubl7b3dCUk6BDi8rHjxy9QS0/25Yz9cF0bFd6XQDfblnyRLMi9aB36M9Vp38Oh5aB16MyvNUHzcxpaAak0yknE6OuuEMBPQZgFVADCITfy9eUXl2FoXrMWEnBO78GybQ+cV8nhynn5t0U+3koMy2E8ju5kiEofQxXylys3Q76iKRRUbQqFkh/ndWtJVVfGNpi1GrUr1w1YZM0hBY9FqqeBjf7ckj+9BdiwWJ0XauuR70o7odm02mydk1/T3Hfzt3OE5nHIXnVbum9KyPx8wXj9qc6JGFm558pQOcRUgGUi+EzGoGckkoLx4Onl+XeGysW5sXP9dbYgMBug0Tjmdo9xkoBti6znDnN/zh93bbzWITNvxMgVs8zSWEhlM0c7F02UeUXSekbTFue5FOaMdYObMvPeb53jAKBOYLr34GVFvucJhKajIaNzDvfiI6fGCMxcSsWk+P3co7gdbRlWYZELsKDu2scktZsHr/gRwRiDZXAWOLiWZL4jswQ1vXSFXJgdblEV//hr2DwsAtCAsyFcgO/LGq30xi3xNqHTkUZXo6cZYSb6EVaIywMCI5ySEnTLAp/xedySANHuo8yyVqyLxkDPI7CnnSS7JcnQF3K5z+NZ0KnIpc1ewGupOhS0fKj31XxUkoSsHEY/iWJPLNA8+4VsBkADnGdkYXHTvy/yAGV6w1k1qtjiWhDAGcE9/o6NOHctYm3cx8CVsLpve/WFUaCkGgjWJdC8XP92xsUQoE6PENn6ZzFaqGHs7hgQqE1kBcEj8N5WkEqkoMo82giHE33iYoVUdkjOTkV4iDGEqyjg1BoM0GedR2A832LseDkP7u4DjIAQfpIDu7PaeiDh7xWkPRwIMV0oDTakXTdPkPGdgFikzTaxkTzRlpCbQuV769eITqVT04kJDp7+0Rb6dtjeXc0Ennv68wZSiyrlmXbrJntg7g1wrebq28q9NMIZETAPugfK6wNDu/Iw1q1kZn2ELo6xaDlcIxHDcpzK7e2VAYYuP1k3sYnSLU3oeq54j3/yS2z1me5FEqWlPOCrjdnLkE3/GjbeMsYo2YTYJEUEd2ncacSCoXUaUoxpBnjRYcHLRUV+6jy7Amp0/52rAPzSeVlBzc+SdNiKLYA2UQ74WrMU596Gkhw1SD8jSM5QqSBhH9sL+oE4GjhjLhstMUPdkNgiwxXDTZLKcIyjN1cn+RSmvNA2KXMH6MoXrkqSkJ9u2s0QAhla51zR/LZwWbzwGOO0dkh3rwh2x+pcCfuzvlk3lYr/x5XOF2k1n8yvehXY5zIX8nk6djjLbvAzzSr/yalS7R0WYIc6CjzoUl3qz+PlneMfKHcaX00hkOlIub/ZFQf1RE+JzZxi0qQq4M8Nt1XRKGDeS448Z6znDpedStUH29krZcnjMtyLmPX7ETTsjr3HLpCOd7MQ2K1rfhmvh5BtJkn1KSUf94puZbkLH7X+WnWN0hsc+KbSXnYZvqwJ8G0/7ptp/Q+wGljqhjv+HhOeA3NUwANv1xWgbiymVIlxCodXtQwn8mxS+jxSvslGwOnyUkTT76IbFbv/IpW6PNvj/xqwOqey8a/4WCGcqs403Y7TKQ+xCflG6K3tL7U5UbMnMgXTeZvoK+DooS2eIepF2WB5XqTuOZJV2OQ6GHfaBMjXN9iGVNLi6XgkbpmcMLQ4TZq+dVmgleJb14IaTFD3n74OfmbcT9lmRfPRJEpFEMNeL3ghH54P2a91zJFASgE7x+Uv2cGcmKFtMbyc/rrhH1F/Ixlv/R37huFo1T2dPMEZ/1ouuPpbUQ5oz/JlOWw3NOxd0O6oG0x9Xib+9KxSFOusLWcFEgx70jrBQKj8s2Jj+W0gZYv+BJtPMPY0KAkRj1amt4Fd6ZrPOEXJ392EHSAEv5jssO5ba52OHKA+QkYvPPL04rwkxSAQiTl57scnEj2WEIP+Lz0/qsMnwF+3rWuz856doJZcXX+U9iuzBCaYQqA1P3BojAYhEHnXBPeolHOA3BmhT9E2TJsZ6P9SQ+GaqyLm0i4vRXGlArlkLwRBs9EZv/l4DT8q0YHha53O4rhRzGJZKAOO252Dpha1YN7+FubYGAZjaUT5O0R/7xSPrGyBejddtM8asW8+NClAn4Y6xvj1IgUg6VRpEy7ZIpZEQ+UyDWt0A4nsipaz2NyZKZ5Vxza2v1qZDdYODK8nm/zj7fR/JykaNVEVj7ceTSHdaQlajfeEWWTs92msIBcqPUXqlaR005hoVvXm+WCnzIMIXLGiyRKRsAPIDYh2hGCtvfXLSq5TYm3bnGAImL0KW3Yllt1qSqSbOYsvm5QfDmTrrccvtSLGRj0rOU3Z8f4WXjf+1YgxjZ9h8fKL+LKA8x1S6M8fl0JVGBIAU8Xe8c4+r2F1VcygJp7h+0v8o8GudM6in4djAdeMLWBgXid7r0q744joFucP56opwYQp3Lu0oFEo0omS6Rh9yPfOjdGBU2eUdjcCNXXuEJD9yHSyebviSAvDw/KH1AxYSWYnjMWACCfcbOlXf3ej7PuQgq5MdFwF7+QawXm0john4YusUon4/0fqd/IFLd6oHYYesxcFdm1jN6DeS4SAqRgeEPuEWDFERgXjLHBxl5Xdi5n+NOR3Vc7ziJ9j9/CA1DKdwmsFBBDcVKMnr2FibXpN5WsSdlBng0L2zhkL22wRH9xbz8Xk5shN20/EHoxHB5HJvwfOgHIC7ooWKOUUuNTZH43+gVN+wzRzlMfiF4X71Edw+lTnQRp6Lh03M2k9do6JPoX2+UU0h6mOYiAFkhHKzCmK3DY12c4Smx+qLJNbUGhoMgthu/WnXObm0Hr+myCooTYSVNTJx6vVjI3GZtMcat2o8B9k38u/Y5/FxqTYmyXhROwS4v3W5fXwTAaxBqQy6Xj5s4V37omBBh/Z9a43nc2VlT7dKR1wIvNB/gqhiYyYrVMtYMJqGLkeCbu50LUWT4qXyR8uaqbZTVjyJCQRxZd6fd3Zfe9wIeYe3N5qKIXkFD3n1U2Q/EyRfb3TpiA+eYkAtl6JGK0vpeWpN5M2LJ3/V79e3cIG7B7/p6BrRxKxHDnBZcu57KKaN8XM+v2KTz7XdF8bjgeu1V/B9WoBwnpzCM+3s5ffNceuUcb2gJgRAUpZvcSDLYy+9aluGU2Tvsm49fCzr851p3VSEJepgPpnvuq874AX/MbPvqidF8Y21Kss1RUbl5wrlq5IihKdM+xCSq6mjvtSPVHRvw==,iv:2NBiTTW9slOH9BvM+kVbMB/+8EiS/Dc/eaqrtiwn4HY=,tag:0rc2+ZWy9XZYE7RK/oSo3g==,type:str] synapse-turn-shared-secret: ENC[AES256_GCM,data:Q1XRds3Zud1kYkvD6s9WUzP+kNDNsxB5SHd6oCAaLCHhHhYENSAYTZOF+rGjCPNyKFL0e/A=,iv:zScRQrz+pXHNUh/BGOaV+TVnDR3wu1Z/UO1zXarKwtA=,tag:ckpVziE+yb0FjctcT7tAkg==,type:str] rmfakecloud: ENC[AES256_GCM,data:ktKBKb6cRv1VF8tRvXIpxIy9hPinVPKK05mgvYzz18PEdcrCLpldm5xf7ffHtY5XzDOAMXDCiz6x4xyv7071frrF0spOEPnIzVhxwG8H2Ck=,iv:qJdHjv0RziAs4G9UGeRwGQ4GE5kaObJWpIYWpRKhr9c=,tag:PXgvU1hZK/gvWGyFJaHekg==,type:str] -esphome: ENC[AES256_GCM,data:mM7IJLUtLcEZpUDAXGEs5sddcNlcEz59o9LCavP3UPxrIuUrDuMPZ/PiLZfKZLeEDBtUUpGqCzDkki4VFZNNUr0ZDonqpQypQ7U/uedfMZvRei8jdsyMGuJ0V4e2rgNGvLhBI62Wh2wLEC1ct8fz8l8H6qKHvnh7ABV2uaCebKZ7ea6vdgjPmYVd5lyYBWcbIfLK+M4xnLsxHnJTl9S67xcw3lj7K9eGETTh6yzn78IdBMcfbtM5KMRlTr/OFACN3YIpaTp3Va/liSuHu9sljze++5QF/UYR9qayzDen0U64aLoUtkqD2kRKQs9Xb6KJJQID7HGBY7DXS4A1VL3KXN2I06hsp8dttgYT+wb4ZhvLdoGTkEj45wlTx7ZxdAGXBJfikpJveYp0IqboqpPHqGKhg08ZQG4yiDzqZzaODRiAIBDn9t1iwfpcJU4CoBIs2PpBQOyTMPIWQzcx27UZmoFogNEPQ+RV7pBE+pzjKyVnGxOEsp79w4nbXXmoDutIM5eFaGDGSIKpNwTfqXxk5IXIWMCYSZIzZHk0TI56UPlWZpyrBawlCAg0fy+y3oa8Bjg1GXVqhzhVNpeGOEk149wlzPpeEaKhA1lHAQ0k+KFtMKmyVPasMBnN/klZyIEm6/v0SteP3nXpDNgRgum7Pm8BrJkk9FUahluD/LbvgRgwOGaUvao4Yq/pGxR4Oyx0iRf7I9JLU/3UIDfL81QKKgY/U4UIrsWRWLsV3TdCglBs4WU52E/H3X5ZmNAAfzHoKtY149tvqPEKCv8mCfkm7ajb81cj4YFX8vLYKb89hbdGw7G2lhKdzenL2v2JNkOkmZqG0EGp+c9Doe333WWEix1IIE3uHh5SWCgtHUiB19Tc3+A122/9Bgbuvv9v/mb455asAQQLN3954s1x29OqkJvWXMIL7wxf0JA45OOcOPZfLVxzjvISxW1mMMYG21+aBDquj9Y9f95WAXDzXZfcgMKzkR0eUwkoF7dJ85Gl/cGF8fCp7U5WWXZRC9ORwR+W9hmF2Jj2DpCXhuAMy9/aC8F5Oz4fpZ/6NSlP5ywj+6nRhSQvbq7r8xzJO/uBRQtXTXoQmm+VXFeNkUkikh80B0GoKYS/QqtqYrsM,iv:PIJv3Gn7oJuA6BGul1EUKfBa1R9+fHTTMN787YaUMwM=,tag:4wC5yPLsxjRd58zSnoiZlg==,type:str] +esphome: ENC[AES256_GCM,data:tUZeokkcOM15CVw/4Zjrvwm+Q/MDylf5syeWVmPJcwYjzhDwm5SjOdcswTurz8imZwRdUfmgkPDicdQucEAiV4ml69IDo5YZNIoYZreE524wVTHkBT3kie67qANIHjMdt0ldwaplQcseYzRXvSC7AO457TjfNqA7o54IknAKGLxN2KCBr2KHDNxXG7zcpdT4eAo1soLL9tBfiiXa8TWZ7DGNQDV4o+FSc6GTIlHlNCJjqKyrKLwBsbdcuzgqCkhZEIwAUuHw4pSrcHZrojjIx7TXjdkMX8pOYQTsxHzXyURUbrZHHIFxankEIRAkrb0RJCuz3lkskmL9kRpdtlyfm/uJRwvvwpl7gGjbAHltTEkZ/0W12GpN1f7YDKO/uJVWhttaNbE9d/94H6QiGTCGJRpUtUfxsR0UgHdrEWJG3QF3mksLHzdRdaa8j/mBgE6bNuXZdDo8Xz4igxlhGdGqSWvo9NwMGCtz2UydTiVdFG3P4gTYMXdvQ6DdAIZwNQmGoCIP+GeOuen4cBuZjqqQB5kkGyLiYh6Pg2U0cC3w6XW6eR6rgeiDpsNiYEhQISpVGWCTjjr3r9EbWotjC0n1IowJ8LlV7pBSgU91rMsSvFeJNVztQweLZC/+HcoGPmtUatOYNgfbX7xEUPtM7IgMv8OJXwefJoisdfPMXy7CtKaiYdNhDev1MwOzbUfmCLwumGvQmEr9C1ROGN0J8mc6h6jMNFYj+wZS8vUuYUkQXmAmIr09vRUGip3MieSfhJSMgGZlXT3AtohbJHgV1TBCKgIDSuI5/1H0v4z7pP3WXGP5EqCJKDcQrCyAL/r8xItIWVmVzfv2XG1r6R+77Zc5YETQXIZfPzb8GsnO/1/JIY05cZapj8SLnfXZz1zU4t8/Hd5lRElNgU2GlFOkObsMqxlYfbxu64gTj/ixQicz5c4CP22SZ8lw/5cqn6JeDF6l5c9OPHBGw5bh8kLINGWkO0UbFn//OR9ZG9nob6XreGSsIiJyLCYRaOagqemp38vJ+byvk2EF8vw3K73pZ48O3jWHye8fKKQWTLvsQ3G3bmXIsF7Dh+/X57m33hvC0NsRuy5oQR9reHIHHisWOVQH7tF0tcXHd4m1kXsSGy4SCe9pIdH/BxF+MOTKFO2qw57xjzf1ST5cqwKPnm8WxrX462uwsLtupkx+uuyPyX+oiCUAJCpsrZrqZSN3U+IyEibK5dTLVM+9b48m3QpK/TojWEfOo0/Y0YYmqO+vVL7qtX3SL0j/SR4=,iv:dUgjOLQZYQm80z8VO1ZTuiTnKiI7hPqzeWduoE2YIL8=,tag:pswxnVwAu3WkCYVHjCuIjQ==,type:str] sops: kms: [] gcp_kms: [] @@ -25,8 +25,8 @@ sops: SU1USkxFUUY2NVhmUHBhZkdrNDR1Q0kKiXIicInELRjDR3tuyA+lnXeCcd9lYvbV GnBRGPM7BNO/6AA7HhAei48Kt+XE6+jQX66yTXyviKhK7Lpjrlb2YQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-03-10T17:10:12Z" - mac: ENC[AES256_GCM,data:cjetZHtcYh+qe72Mv1PtQtK8vtQVRCSdqoXNmtv0Vy/I+gCwzVqxX2/DH+8KAirpfG7ctA9IxCX72uAPw/DEHyjhG/znZHma01XYrfU+sBS4wpguDOvunQDj/hoiAsOtZu/7IjkDfydaaCCtmBaqLcDCF5tps1Co88qqFlaL8iA=,iv:saNQjaI57dmLsnAJY1F7OGYfdocFZErkNtSkRWBW6Mg=,tag:gjkH73xCS30FDSPup4DdXw==,type:str] + lastmodified: "2024-04-21T19:55:48Z" + mac: ENC[AES256_GCM,data:oIdVZu3nsl14zJouYv0BXjMv5ytR+8Y3u0fQ6/J0uKdXwBiulBapKeji7c5TWrxkimcQlbkutg/BtRTEUaFzq9IzdgQKrBJqpzvXtF15qZLIK809UQZgLRTMUVpskZw0qJt+DEmv32/3RRvWiERcs0P6umzV45vOvHqJOsU0Hbk=,iv:xqzn+XaGVLeeFm0uc8zrWflUpB76npS3qCZ6IiFbDwo=,tag:fsrcAVGsGTVG2qc1OX+4qg==,type:str] pgp: - created_at: "2024-01-31T01:20:30Z" enc: |- diff --git a/hosts/iron/services/esphome/devices/pflanzenleuchte.yaml b/hosts/iron/services/esphome/devices/pflanzenleuchte.yaml new file mode 100644 index 0000000..d961943 --- /dev/null +++ b/hosts/iron/services/esphome/devices/pflanzenleuchte.yaml @@ -0,0 +1,54 @@ +esphome: + name: "pflanzenleuchte" + friendly_name: "Pflanzenleuchte" + platformio_options: + board_build.flash_mode: dio + +esp32: + board: esp32-c3-devkitm-1 + variant: ESP32C3 + framework: + type: esp-idf + +logger: + +api: + encryption: + key: !secret apikey_pflanzenleuchte + +ota: + password: !secret otapass_pflanzenleuchte + +wifi: + ssid: !secret wifi_ssid_bw + password: !secret wifi_password_bw + domain: .iot.bw.jalr.de + enable_on_boot: True + fast_connect: On + output_power: 8.5 + +output: + - platform: ledc + pin: GPIO0 + id: output_royal_blue + inverted: true + min_power: 0.25 + zero_means_zero: true + - platform: ledc + pin: GPIO1 + id: output_deep_red + inverted: true + min_power: 0.25 + zero_means_zero: true + +light: + - platform: monochromatic + name: "Royalblau" + id: royal_blue + output: output_royal_blue + gamma_correct: false + - platform: monochromatic + name: "Tiefrot" + id: deep_red + output: output_deep_red + gamma_correct: false From 8441cfdbe36f7760db1d5ad419adc6fc0bd51eef Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 28 Apr 2024 23:10:17 +0000 Subject: [PATCH 278/766] Add doorlock --- hosts/iron/secrets.yaml | 6 +- .../services/esphome/devices/tuerschloss.yaml | 63 +++++++++++++++++++ 2 files changed, 66 insertions(+), 3 deletions(-) create mode 100644 hosts/iron/services/esphome/devices/tuerschloss.yaml diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index 81dc763..cbc2b03 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -9,7 +9,7 @@ dkim-keys: jalr.de.default: ENC[AES256_GCM,data:mnApsYKXYGtUAHddccmNmU9yZQtekDkTiTXbJ0UJxC0rFxzQCtGsinQslIROJdNUxsxciR1ilNzxawzjJD7AaWJbcAq2TYObGJJOQZBif7t/XEN/rIxEmnAFmdeAyrSONmFb9DiEn59m6DpsU+/9Y+hnc/uwwbzueO34WHJnTqmmsxFVNQZfGR+cbSckHS3wZrfjZSKKzCRt+9DU/xxJ4voyowXLO77w00LHVkyU5liwONi0v2XJ+QeP/jIMmJeKjujZcH+qvUm/kukijqyWKGrZoAYPC2cBlL/UrNECuVdSLMXvr4KBDDTCRZCSMRgUPJ0TAfpQPTPitKJ/0igK7qQl9n/6hckY7VyP8KDS7J7G2Z2XVxfZrAR4X/7ya9B2kneVr2CNx3w954EdTcV1/lD7rcKRjKynyl3ddf8gxJFJ21k1ybo2RLnftGCRVq25qNwhyfjU8x5c7AEs+YTPDrcnmxZ/Ui276eLwpMj61oZzTp8QQhiBVwS/+ruRLC+78pu2gb1gBF/Oo3nuvQD1SOpCRikLVewCYDvfXj/hrjo+oCsjTOj+9tWRcRAEDVlhkXWCMuPXDYrdt3HrIWbQuP8NW1ezd1Ll0r1ujjtPJeSwdd8cVcUSBIoA5gU+eXnYjFaSx9BZ+sIfKqG//W3S+aBYDqAEK/z4N5q66sReb5mtSQYfbZuIZDmox9bwNMG3tJmQX0lJZgEIiuJ5/ef4ra0sj9JsRFldmIn9KUmjW9OlIwzQ42cNNvQSMD/6haNiYsE6TPzVylJ/B2kNu9Qh5FfpCIPtVORv2BAGoNvZlyhjyEiXBEZ4x2hx1l5cBwGOaGhoJ0p+1wqn2zDalIBaEFjbBVdIB6DPC6/lccvpqSwF7HvW2ugyYhW+u92vgic71/BsI4i0OlsJV18gU/zVg0Yj8SK69kEwm4wkJTrkM/I4+kkUIc5OiSAknRfjOFJc0etkh3nO34xpHLOkSv9DrKfXSAGmGZtCLtVL5LGdZeCd/g6EK0JJh6bd9Gu9koSJVq5vjdDJJFf+sgk39TCvHAvk8k1/FgdK5jMJ+pR8heJtP8G96ay3DFVm5hpbjuNKqfBvbf2rkyV6++ywRFnAQGPUiMn9g6Q4F5Ks7CC1D0Ubl7b3dCUk6BDi8rHjxy9QS0/25Yz9cF0bFd6XQDfblnyRLMi9aB36M9Vp38Oh5aB16MyvNUHzcxpaAak0yknE6OuuEMBPQZgFVADCITfy9eUXl2FoXrMWEnBO78GybQ+cV8nhynn5t0U+3koMy2E8ju5kiEofQxXylys3Q76iKRRUbQqFkh/ndWtJVVfGNpi1GrUr1w1YZM0hBY9FqqeBjf7ckj+9BdiwWJ0XauuR70o7odm02mydk1/T3Hfzt3OE5nHIXnVbum9KyPx8wXj9qc6JGFm558pQOcRUgGUi+EzGoGckkoLx4Onl+XeGysW5sXP9dbYgMBug0Tjmdo9xkoBti6znDnN/zh93bbzWITNvxMgVs8zSWEhlM0c7F02UeUXSekbTFue5FOaMdYObMvPeb53jAKBOYLr34GVFvucJhKajIaNzDvfiI6fGCMxcSsWk+P3co7gdbRlWYZELsKDu2scktZsHr/gRwRiDZXAWOLiWZL4jswQ1vXSFXJgdblEV//hr2DwsAtCAsyFcgO/LGq30xi3xNqHTkUZXo6cZYSb6EVaIywMCI5ySEnTLAp/xedySANHuo8yyVqyLxkDPI7CnnSS7JcnQF3K5z+NZ0KnIpc1ewGupOhS0fKj31XxUkoSsHEY/iWJPLNA8+4VsBkADnGdkYXHTvy/yAGV6w1k1qtjiWhDAGcE9/o6NOHctYm3cx8CVsLpve/WFUaCkGgjWJdC8XP92xsUQoE6PENn6ZzFaqGHs7hgQqE1kBcEj8N5WkEqkoMo82giHE33iYoVUdkjOTkV4iDGEqyjg1BoM0GedR2A832LseDkP7u4DjIAQfpIDu7PaeiDh7xWkPRwIMV0oDTakXTdPkPGdgFikzTaxkTzRlpCbQuV769eITqVT04kJDp7+0Rb6dtjeXc0Ennv68wZSiyrlmXbrJntg7g1wrebq28q9NMIZETAPugfK6wNDu/Iw1q1kZn2ELo6xaDlcIxHDcpzK7e2VAYYuP1k3sYnSLU3oeq54j3/yS2z1me5FEqWlPOCrjdnLkE3/GjbeMsYo2YTYJEUEd2ncacSCoXUaUoxpBnjRYcHLRUV+6jy7Amp0/52rAPzSeVlBzc+SdNiKLYA2UQ74WrMU596Gkhw1SD8jSM5QqSBhH9sL+oE4GjhjLhstMUPdkNgiwxXDTZLKcIyjN1cn+RSmvNA2KXMH6MoXrkqSkJ9u2s0QAhla51zR/LZwWbzwGOO0dkh3rwh2x+pcCfuzvlk3lYr/x5XOF2k1n8yvehXY5zIX8nk6djjLbvAzzSr/yalS7R0WYIc6CjzoUl3qz+PlneMfKHcaX00hkOlIub/ZFQf1RE+JzZxi0qQq4M8Nt1XRKGDeS448Z6znDpedStUH29krZcnjMtyLmPX7ETTsjr3HLpCOd7MQ2K1rfhmvh5BtJkn1KSUf94puZbkLH7X+WnWN0hsc+KbSXnYZvqwJ8G0/7ptp/Q+wGljqhjv+HhOeA3NUwANv1xWgbiymVIlxCodXtQwn8mxS+jxSvslGwOnyUkTT76IbFbv/IpW6PNvj/xqwOqey8a/4WCGcqs403Y7TKQ+xCflG6K3tL7U5UbMnMgXTeZvoK+DooS2eIepF2WB5XqTuOZJV2OQ6GHfaBMjXN9iGVNLi6XgkbpmcMLQ4TZq+dVmgleJb14IaTFD3n74OfmbcT9lmRfPRJEpFEMNeL3ghH54P2a91zJFASgE7x+Uv2cGcmKFtMbyc/rrhH1F/Ixlv/R37huFo1T2dPMEZ/1ouuPpbUQ5oz/JlOWw3NOxd0O6oG0x9Xib+9KxSFOusLWcFEgx70jrBQKj8s2Jj+W0gZYv+BJtPMPY0KAkRj1amt4Fd6ZrPOEXJ392EHSAEv5jssO5ba52OHKA+QkYvPPL04rwkxSAQiTl57scnEj2WEIP+Lz0/qsMnwF+3rWuz856doJZcXX+U9iuzBCaYQqA1P3BojAYhEHnXBPeolHOA3BmhT9E2TJsZ6P9SQ+GaqyLm0i4vRXGlArlkLwRBs9EZv/l4DT8q0YHha53O4rhRzGJZKAOO252Dpha1YN7+FubYGAZjaUT5O0R/7xSPrGyBejddtM8asW8+NClAn4Y6xvj1IgUg6VRpEy7ZIpZEQ+UyDWt0A4nsipaz2NyZKZ5Vxza2v1qZDdYODK8nm/zj7fR/JykaNVEVj7ceTSHdaQlajfeEWWTs92msIBcqPUXqlaR005hoVvXm+WCnzIMIXLGiyRKRsAPIDYh2hGCtvfXLSq5TYm3bnGAImL0KW3Yllt1qSqSbOYsvm5QfDmTrrccvtSLGRj0rOU3Z8f4WXjf+1YgxjZ9h8fKL+LKA8x1S6M8fl0JVGBIAU8Xe8c4+r2F1VcygJp7h+0v8o8GudM6in4djAdeMLWBgXid7r0q744joFucP56opwYQp3Lu0oFEo0omS6Rh9yPfOjdGBU2eUdjcCNXXuEJD9yHSyebviSAvDw/KH1AxYSWYnjMWACCfcbOlXf3ej7PuQgq5MdFwF7+QawXm0john4YusUon4/0fqd/IFLd6oHYYesxcFdm1jN6DeS4SAqRgeEPuEWDFERgXjLHBxl5Xdi5n+NOR3Vc7ziJ9j9/CA1DKdwmsFBBDcVKMnr2FibXpN5WsSdlBng0L2zhkL22wRH9xbz8Xk5shN20/EHoxHB5HJvwfOgHIC7ooWKOUUuNTZH43+gVN+wzRzlMfiF4X71Edw+lTnQRp6Lh03M2k9do6JPoX2+UU0h6mOYiAFkhHKzCmK3DY12c4Smx+qLJNbUGhoMgthu/WnXObm0Hr+myCooTYSVNTJx6vVjI3GZtMcat2o8B9k38u/Y5/FxqTYmyXhROwS4v3W5fXwTAaxBqQy6Xj5s4V37omBBh/Z9a43nc2VlT7dKR1wIvNB/gqhiYyYrVMtYMJqGLkeCbu50LUWT4qXyR8uaqbZTVjyJCQRxZd6fd3Zfe9wIeYe3N5qKIXkFD3n1U2Q/EyRfb3TpiA+eYkAtl6JGK0vpeWpN5M2LJ3/V79e3cIG7B7/p6BrRxKxHDnBZcu57KKaN8XM+v2KTz7XdF8bjgeu1V/B9WoBwnpzCM+3s5ffNceuUcb2gJgRAUpZvcSDLYy+9aluGU2Tvsm49fCzr851p3VSEJepgPpnvuq874AX/MbPvqidF8Y21Kss1RUbl5wrlq5IihKdM+xCSq6mjvtSPVHRvw==,iv:2NBiTTW9slOH9BvM+kVbMB/+8EiS/Dc/eaqrtiwn4HY=,tag:0rc2+ZWy9XZYE7RK/oSo3g==,type:str] synapse-turn-shared-secret: ENC[AES256_GCM,data:Q1XRds3Zud1kYkvD6s9WUzP+kNDNsxB5SHd6oCAaLCHhHhYENSAYTZOF+rGjCPNyKFL0e/A=,iv:zScRQrz+pXHNUh/BGOaV+TVnDR3wu1Z/UO1zXarKwtA=,tag:ckpVziE+yb0FjctcT7tAkg==,type:str] rmfakecloud: ENC[AES256_GCM,data:ktKBKb6cRv1VF8tRvXIpxIy9hPinVPKK05mgvYzz18PEdcrCLpldm5xf7ffHtY5XzDOAMXDCiz6x4xyv7071frrF0spOEPnIzVhxwG8H2Ck=,iv:qJdHjv0RziAs4G9UGeRwGQ4GE5kaObJWpIYWpRKhr9c=,tag:PXgvU1hZK/gvWGyFJaHekg==,type:str] -esphome: ENC[AES256_GCM,data:tUZeokkcOM15CVw/4Zjrvwm+Q/MDylf5syeWVmPJcwYjzhDwm5SjOdcswTurz8imZwRdUfmgkPDicdQucEAiV4ml69IDo5YZNIoYZreE524wVTHkBT3kie67qANIHjMdt0ldwaplQcseYzRXvSC7AO457TjfNqA7o54IknAKGLxN2KCBr2KHDNxXG7zcpdT4eAo1soLL9tBfiiXa8TWZ7DGNQDV4o+FSc6GTIlHlNCJjqKyrKLwBsbdcuzgqCkhZEIwAUuHw4pSrcHZrojjIx7TXjdkMX8pOYQTsxHzXyURUbrZHHIFxankEIRAkrb0RJCuz3lkskmL9kRpdtlyfm/uJRwvvwpl7gGjbAHltTEkZ/0W12GpN1f7YDKO/uJVWhttaNbE9d/94H6QiGTCGJRpUtUfxsR0UgHdrEWJG3QF3mksLHzdRdaa8j/mBgE6bNuXZdDo8Xz4igxlhGdGqSWvo9NwMGCtz2UydTiVdFG3P4gTYMXdvQ6DdAIZwNQmGoCIP+GeOuen4cBuZjqqQB5kkGyLiYh6Pg2U0cC3w6XW6eR6rgeiDpsNiYEhQISpVGWCTjjr3r9EbWotjC0n1IowJ8LlV7pBSgU91rMsSvFeJNVztQweLZC/+HcoGPmtUatOYNgfbX7xEUPtM7IgMv8OJXwefJoisdfPMXy7CtKaiYdNhDev1MwOzbUfmCLwumGvQmEr9C1ROGN0J8mc6h6jMNFYj+wZS8vUuYUkQXmAmIr09vRUGip3MieSfhJSMgGZlXT3AtohbJHgV1TBCKgIDSuI5/1H0v4z7pP3WXGP5EqCJKDcQrCyAL/r8xItIWVmVzfv2XG1r6R+77Zc5YETQXIZfPzb8GsnO/1/JIY05cZapj8SLnfXZz1zU4t8/Hd5lRElNgU2GlFOkObsMqxlYfbxu64gTj/ixQicz5c4CP22SZ8lw/5cqn6JeDF6l5c9OPHBGw5bh8kLINGWkO0UbFn//OR9ZG9nob6XreGSsIiJyLCYRaOagqemp38vJ+byvk2EF8vw3K73pZ48O3jWHye8fKKQWTLvsQ3G3bmXIsF7Dh+/X57m33hvC0NsRuy5oQR9reHIHHisWOVQH7tF0tcXHd4m1kXsSGy4SCe9pIdH/BxF+MOTKFO2qw57xjzf1ST5cqwKPnm8WxrX462uwsLtupkx+uuyPyX+oiCUAJCpsrZrqZSN3U+IyEibK5dTLVM+9b48m3QpK/TojWEfOo0/Y0YYmqO+vVL7qtX3SL0j/SR4=,iv:dUgjOLQZYQm80z8VO1ZTuiTnKiI7hPqzeWduoE2YIL8=,tag:pswxnVwAu3WkCYVHjCuIjQ==,type:str] +esphome: ENC[AES256_GCM,data:ZM6dbmsnXoB4NRFmq2L5qK5bcSC52zSPdUxtWW8VN8845k6p76l7s6V6ZXl6lev4r1WbfSmz/GS/a1jjO3SddLct8/FfLAlJ6X4sTVb7QI7Cez0C1oDLQq9MwBnv72j0llCdB+kkknCoKycvMWT0W1To8wYcYnS26QN3SZM1IQfKNIJFlniD8dYrchbA4DuuDcvKt0JlgswU9rloJ8sPDkVh6DoUjGZ9CnLupy7zyCNVbx/wFjhoAN1QcAROxnLGvkL/P7i5LYXIEgNJqFswsF1n9NEFnsWKQMIMeMM5pKRzmAfH1DVAxWmlZe13cNZ/q4C7cLXIsQELHhlZpLXiuD0beV3/ucmQ/blY9MnkWZEJk5wCz4VRQ8/T+RMFNjXxpKxtIkO9BUF66m+BHf4jdImCSdm/PgYAnAMBUlOfw9JUjtOJpl6LlcacECn29fCztTkWQpshJ1yq3AIM+pJsbFEvAAWM1poGHnMGwtIY7hjFtCWsoqt+Vm9qp6sPP40GLbQL9F2avpP5zy6nOG8S9U5l11NwckO6CWJY0jeW7VO59rR7o2T+5UIPUuxzmErPxBRc45tjwnt4ktqVomiFQJWFLDF4V7b3Y/Iqj5N0jtO7zy0iYeVvEO1CBLvhOx9Su5uoCs0nlY19i00USK/nDX4rGBdhAu/EfbDj3TuoAtwqFIjB9b2kJXP2tFwoR5uiKLXnbpDPPrpawv4Y4WAzV1UybBsXyHYbTn5+lveAEJos3cCPdPQVQumGWCaf7pDKzsV24xnuMmfkXvUH/Y9pVCLJ4MA/5378A6yjZuznSUmrtKd6cHe6MlEs5SRkZvbxbk0+W5AROffo9TGV1kYSkUw6QWkVgv8//VW9Mx8tFs0I5M07J/DSA+Zc8yEbcr6g+Mttbhg1wSmw2lpG1kG/IMjWkGtWClj5fjwIR23Yzoc2rjMutiaF4YZsa2RoVPFGfrnEmttQoIL1AMRQaeOypyGY5KGRCD1bfsZ2C5rid8pKOoJFAxl6cEWbeicfXZR4WqY6ZBjvGk4kcGYkhSioKy5b4v0VJ470RH5ywbMLyJg9JOMCt2cRD9epEJp+eK3d711F+mkxBEF58WTkg05yC346RmIy2hwUtMfpbJy9t4008j7gbx3RRTzTveADalu9/MAW2grEhgiTO6hSQGGCX7wCTR2VbWSV/G3gYfvFA+/8K1GyrCr4yqtWGSpneUwnphS3NV/yakC32wO3v2W+ANoL8B+PvNjv147+/5Q5CDiWckqW4EQokU1SievQn5m23TCuLjKmjAShSCqLXdt08G1uErTvD1kxvfe8huME9ChGbaJLr3v3s9ijXHQW21S9BQm+UhyOQ3wD1x9uclKN5Ac6rv2IllRMQYxaPRcT6VllW0Kq0LWDdOQ=,iv:ioMyzAp4UGkkqCAVSudT+s7YziwF8sTkmp4K8MGIA0w=,tag:yPWrzujN4EsAODdH5q5bvQ==,type:str] sops: kms: [] gcp_kms: [] @@ -25,8 +25,8 @@ sops: SU1USkxFUUY2NVhmUHBhZkdrNDR1Q0kKiXIicInELRjDR3tuyA+lnXeCcd9lYvbV GnBRGPM7BNO/6AA7HhAei48Kt+XE6+jQX66yTXyviKhK7Lpjrlb2YQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-04-21T19:55:48Z" - mac: ENC[AES256_GCM,data:oIdVZu3nsl14zJouYv0BXjMv5ytR+8Y3u0fQ6/J0uKdXwBiulBapKeji7c5TWrxkimcQlbkutg/BtRTEUaFzq9IzdgQKrBJqpzvXtF15qZLIK809UQZgLRTMUVpskZw0qJt+DEmv32/3RRvWiERcs0P6umzV45vOvHqJOsU0Hbk=,iv:xqzn+XaGVLeeFm0uc8zrWflUpB76npS3qCZ6IiFbDwo=,tag:fsrcAVGsGTVG2qc1OX+4qg==,type:str] + lastmodified: "2024-04-28T22:19:35Z" + mac: ENC[AES256_GCM,data:a9qs5bOAjYVfW6HBk6wtzGinR+hPy/ddXTqW24YtFbA0ws2bWXqGjZjy28oKZzAdzq53AcsO/XqJY1q8CD0iJJOCw1VBud6GjYBfEO3sT4zBXEvteacz0Qa3mk8GBs5NmoKMvuOrYglLFDguTYUG3AKAgBc6Hb3P5asZrdvo0JA=,iv:JxZXtMgifdJ7oSh+CAFG3lbUY9y+Zf/S9BJrTxPhaFk=,tag:q05afBRE3XGt0ZKqufM+cw==,type:str] pgp: - created_at: "2024-01-31T01:20:30Z" enc: |- diff --git a/hosts/iron/services/esphome/devices/tuerschloss.yaml b/hosts/iron/services/esphome/devices/tuerschloss.yaml new file mode 100644 index 0000000..8886c03 --- /dev/null +++ b/hosts/iron/services/esphome/devices/tuerschloss.yaml @@ -0,0 +1,63 @@ +esphome: + name: "tuerschloss" + friendly_name: "Türschloss" + platformio_options: + board_build.flash_mode: dio + +esp32: + board: esp32-c3-devkitm-1 + variant: ESP32C3 + framework: + type: esp-idf + +logger: + +api: + encryption: + key: !secret apikey_tuerschloss + +ota: + password: !secret otapass_tuerschloss + +wifi: + ssid: !secret wifi_ssid_bw + password: !secret wifi_password_bw + domain: .iot.bw.jalr.de + enable_on_boot: True + fast_connect: On + output_power: 8.5 + +output: + - platform: gpio + pin: + number: GPIO0 + inverted: true + mode: + output: true + open_drain: true + id: btn_unlock + - platform: gpio + pin: + number: GPIO1 + inverted: true + mode: + output: true + open_drain: true + id: btn_lock + +lock: + - platform: template + name: "Türschloss" + id: tuerschloss + optimistic: true + assumed_state: true + lock_action: + - output.turn_on: btn_lock + - delay: 250ms + - output.turn_off: btn_lock + - delay: 5s + unlock_action: + - output.turn_on: btn_unlock + - delay: 250ms + - output.turn_off: btn_unlock + - delay: 5s From b395cde724ed4b5a0f34e5baae61fc7006241819 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 30 Apr 2024 08:25:27 +0000 Subject: [PATCH 279/766] Replace rnix with nixd --- home-manager/modules/neovim.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home-manager/modules/neovim.nix b/home-manager/modules/neovim.nix index 36cac80..997a1f9 100644 --- a/home-manager/modules/neovim.nix +++ b/home-manager/modules/neovim.nix @@ -112,8 +112,8 @@ }; # Nix - rnix = { - cmd = [ "${pkgs.rnix-lsp}/bin/rnix-lsp" ]; + nixd = { + cmd = [ "${pkgs.nixd}/bin/nixd" ]; }; # PHP From 0042b62652a9908f3e46f417b670fc643eaac555 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 4 May 2024 14:50:59 +0000 Subject: [PATCH 280/766] Improve firewalling --- hosts/aluminium/services/dnsmasq.nix | 20 ++++++++++++++----- hosts/aluminium/services/unifi-controller.nix | 5 +++-- hosts/iron/services/dnsmasq.nix | 16 ++++++++++----- hosts/iron/services/unifi-controller.nix | 5 +++-- 4 files changed, 32 insertions(+), 14 deletions(-) diff --git a/hosts/aluminium/services/dnsmasq.nix b/hosts/aluminium/services/dnsmasq.nix index 98e4056..6363be1 100644 --- a/hosts/aluminium/services/dnsmasq.nix +++ b/hosts/aluminium/services/dnsmasq.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ lib, pkgs, ... }: let stateDir = "/var/lib/dnsmasq"; @@ -42,8 +42,18 @@ in }; }; - networking.firewall = { - allowedUDPPorts = [ 53 67 ]; - allowedTCPPorts = [ 53 ]; - }; + networking.firewall.interfaces = lib.attrsets.genAttrs [ + "heizung" + "iot" + "lechner" + "pv" + "sprechanlage" + "voice" + ] + ( + interface: { + allowedUDPPorts = [ 53 67 ]; + allowedTCPPorts = [ 53 ]; + } + ); } diff --git a/hosts/aluminium/services/unifi-controller.nix b/hosts/aluminium/services/unifi-controller.nix index 8004941..3442337 100644 --- a/hosts/aluminium/services/unifi-controller.nix +++ b/hosts/aluminium/services/unifi-controller.nix @@ -6,8 +6,9 @@ in { services.unifi = { enable = true; - openFirewall = true; unifiPackage = pkgs.unifi; }; - networking.firewall.allowedTCPPorts = [ ports.unifi.tcp ]; + networking.firewall.interfaces.lechner.allowedTCPPorts = [ + ports.unifi.tcp + ]; } diff --git a/hosts/iron/services/dnsmasq.nix b/hosts/iron/services/dnsmasq.nix index 1498ca8..04c537a 100644 --- a/hosts/iron/services/dnsmasq.nix +++ b/hosts/iron/services/dnsmasq.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ lib, pkgs, ... }: let stateDir = "/var/lib/dnsmasq"; @@ -37,8 +37,14 @@ in }; }; - networking.firewall = { - allowedUDPPorts = [ 53 67 ]; - allowedTCPPorts = [ 53 ]; - }; + networking.firewall.interfaces = lib.attrsets.genAttrs [ + "enp2s4" + "iot" + ] + ( + interface: { + allowedUDPPorts = [ 53 67 ]; + allowedTCPPorts = [ 53 ]; + } + ); } diff --git a/hosts/iron/services/unifi-controller.nix b/hosts/iron/services/unifi-controller.nix index 8004941..b5e4cac 100644 --- a/hosts/iron/services/unifi-controller.nix +++ b/hosts/iron/services/unifi-controller.nix @@ -6,8 +6,9 @@ in { services.unifi = { enable = true; - openFirewall = true; unifiPackage = pkgs.unifi; }; - networking.firewall.allowedTCPPorts = [ ports.unifi.tcp ]; + networking.firewall.interfaces.enp2s4.allowedTCPPorts = [ + ports.unifi.tcp + ]; } From 918cfe2c88088a3bc160da34882e4bbd856e2116 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 4 May 2024 20:33:31 +0000 Subject: [PATCH 281/766] Add script lights_off_except --- hosts/iron/services/home-assistant.nix | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/hosts/iron/services/home-assistant.nix b/hosts/iron/services/home-assistant.nix index f5f3d37..774126b 100644 --- a/hosts/iron/services/home-assistant.nix +++ b/hosts/iron/services/home-assistant.nix @@ -126,6 +126,30 @@ in platform = "bluetooth_le_tracker"; } ]; + script = [ + { + lights_off_except = { + icon = "mdi:home-lightbulb"; + fields.exclude_lights.description = "Excluded lights as list"; + sequence = [ + { + service = "logbook.log"; + data_template = { + entity_id = "script.turn_off_lights"; + name = "Exclude log"; + message = "Turning of all lights except: {{ exclude_lights }}"; + }; + } + { + service = "light.turn_off"; + data_template.entity_id = '' + {{ states.light | rejectattr('entity_id', 'in', exclude_lights) | rejectattr('state', 'in', 'off') | join(',', attribute='entity_id') }} + ''; + } + ]; + }; + } + ]; }; }; From dc2e0b34616605521cc3d861c8152c27b92cd49f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 4 May 2024 21:25:53 +0000 Subject: [PATCH 282/766] Add calendar --- hosts/iron/secrets.yaml | 5 +++-- hosts/iron/services/home-assistant.nix | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index cbc2b03..bf9e09c 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -10,6 +10,7 @@ dkim-keys: synapse-turn-shared-secret: ENC[AES256_GCM,data:Q1XRds3Zud1kYkvD6s9WUzP+kNDNsxB5SHd6oCAaLCHhHhYENSAYTZOF+rGjCPNyKFL0e/A=,iv:zScRQrz+pXHNUh/BGOaV+TVnDR3wu1Z/UO1zXarKwtA=,tag:ckpVziE+yb0FjctcT7tAkg==,type:str] rmfakecloud: ENC[AES256_GCM,data:ktKBKb6cRv1VF8tRvXIpxIy9hPinVPKK05mgvYzz18PEdcrCLpldm5xf7ffHtY5XzDOAMXDCiz6x4xyv7071frrF0spOEPnIzVhxwG8H2Ck=,iv:qJdHjv0RziAs4G9UGeRwGQ4GE5kaObJWpIYWpRKhr9c=,tag:PXgvU1hZK/gvWGyFJaHekg==,type:str] esphome: ENC[AES256_GCM,data:ZM6dbmsnXoB4NRFmq2L5qK5bcSC52zSPdUxtWW8VN8845k6p76l7s6V6ZXl6lev4r1WbfSmz/GS/a1jjO3SddLct8/FfLAlJ6X4sTVb7QI7Cez0C1oDLQq9MwBnv72j0llCdB+kkknCoKycvMWT0W1To8wYcYnS26QN3SZM1IQfKNIJFlniD8dYrchbA4DuuDcvKt0JlgswU9rloJ8sPDkVh6DoUjGZ9CnLupy7zyCNVbx/wFjhoAN1QcAROxnLGvkL/P7i5LYXIEgNJqFswsF1n9NEFnsWKQMIMeMM5pKRzmAfH1DVAxWmlZe13cNZ/q4C7cLXIsQELHhlZpLXiuD0beV3/ucmQ/blY9MnkWZEJk5wCz4VRQ8/T+RMFNjXxpKxtIkO9BUF66m+BHf4jdImCSdm/PgYAnAMBUlOfw9JUjtOJpl6LlcacECn29fCztTkWQpshJ1yq3AIM+pJsbFEvAAWM1poGHnMGwtIY7hjFtCWsoqt+Vm9qp6sPP40GLbQL9F2avpP5zy6nOG8S9U5l11NwckO6CWJY0jeW7VO59rR7o2T+5UIPUuxzmErPxBRc45tjwnt4ktqVomiFQJWFLDF4V7b3Y/Iqj5N0jtO7zy0iYeVvEO1CBLvhOx9Su5uoCs0nlY19i00USK/nDX4rGBdhAu/EfbDj3TuoAtwqFIjB9b2kJXP2tFwoR5uiKLXnbpDPPrpawv4Y4WAzV1UybBsXyHYbTn5+lveAEJos3cCPdPQVQumGWCaf7pDKzsV24xnuMmfkXvUH/Y9pVCLJ4MA/5378A6yjZuznSUmrtKd6cHe6MlEs5SRkZvbxbk0+W5AROffo9TGV1kYSkUw6QWkVgv8//VW9Mx8tFs0I5M07J/DSA+Zc8yEbcr6g+Mttbhg1wSmw2lpG1kG/IMjWkGtWClj5fjwIR23Yzoc2rjMutiaF4YZsa2RoVPFGfrnEmttQoIL1AMRQaeOypyGY5KGRCD1bfsZ2C5rid8pKOoJFAxl6cEWbeicfXZR4WqY6ZBjvGk4kcGYkhSioKy5b4v0VJ470RH5ywbMLyJg9JOMCt2cRD9epEJp+eK3d711F+mkxBEF58WTkg05yC346RmIy2hwUtMfpbJy9t4008j7gbx3RRTzTveADalu9/MAW2grEhgiTO6hSQGGCX7wCTR2VbWSV/G3gYfvFA+/8K1GyrCr4yqtWGSpneUwnphS3NV/yakC32wO3v2W+ANoL8B+PvNjv147+/5Q5CDiWckqW4EQokU1SievQn5m23TCuLjKmjAShSCqLXdt08G1uErTvD1kxvfe8huME9ChGbaJLr3v3s9ijXHQW21S9BQm+UhyOQ3wD1x9uclKN5Ac6rv2IllRMQYxaPRcT6VllW0Kq0LWDdOQ=,iv:ioMyzAp4UGkkqCAVSudT+s7YziwF8sTkmp4K8MGIA0w=,tag:yPWrzujN4EsAODdH5q5bvQ==,type:str] +home-assistant: ENC[AES256_GCM,data:wcFMxDdRCHf/shO9v2WaGgrsa9J2WP62xFs=,iv:9ckeIO62cFZUo8fPyQj445CrJVTooNlwLapM/oTsrkk=,tag:mlfxtXDPsB3T79P9BX9oJQ==,type:str] sops: kms: [] gcp_kms: [] @@ -25,8 +26,8 @@ sops: SU1USkxFUUY2NVhmUHBhZkdrNDR1Q0kKiXIicInELRjDR3tuyA+lnXeCcd9lYvbV GnBRGPM7BNO/6AA7HhAei48Kt+XE6+jQX66yTXyviKhK7Lpjrlb2YQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-04-28T22:19:35Z" - mac: ENC[AES256_GCM,data:a9qs5bOAjYVfW6HBk6wtzGinR+hPy/ddXTqW24YtFbA0ws2bWXqGjZjy28oKZzAdzq53AcsO/XqJY1q8CD0iJJOCw1VBud6GjYBfEO3sT4zBXEvteacz0Qa3mk8GBs5NmoKMvuOrYglLFDguTYUG3AKAgBc6Hb3P5asZrdvo0JA=,iv:JxZXtMgifdJ7oSh+CAFG3lbUY9y+Zf/S9BJrTxPhaFk=,tag:q05afBRE3XGt0ZKqufM+cw==,type:str] + lastmodified: "2024-05-04T20:56:17Z" + mac: ENC[AES256_GCM,data:hf0awSFMl+WYmfe2WgryQ2PnO01bl0F054CwjPgkG4LSPCIM5p83oVz8OZxFALrYJkQzEghrRMR7QH9p9YU4LGaS1Fi+UdI8n8yZ+7QqwusPDdhTAv1DcH3eNFmZxNNKx/M1C+ll4ufH28rn8aiYJDaoD0G7aFgd8lE0w8cB5ro=,iv:1CaROIk1+Xi190utju79HBXK5Y7zirNONIO7YefLuvg=,tag:I63TCEk/neHI7HK0j4x0hA==,type:str] pgp: - created_at: "2024-01-31T01:20:30Z" enc: |- diff --git a/hosts/iron/services/home-assistant.nix b/hosts/iron/services/home-assistant.nix index 774126b..e8eea7f 100644 --- a/hosts/iron/services/home-assistant.nix +++ b/hosts/iron/services/home-assistant.nix @@ -11,6 +11,12 @@ let ]; in { + sops.secrets.home-assistant = { + sopsFile = ../secrets.yaml; + owner = "root"; + group = "hass"; + mode = "0640"; + }; services.home-assistant = { enable = true; lovelaceConfig = { @@ -150,9 +156,25 @@ in }; } ]; + calendar = [ + { + platform = "caldav"; + username = "jalr@jalr.de"; + password = "!secret radicale"; + url = "https://cal.jalr.de/radicale"; + } + ]; }; }; + systemd.services.home-assistant.serviceConfig.ExecStartPre = [ + ( + pkgs.writeShellScript "home-assistant-secrets" '' + ln -sf "${config.sops.secrets.home-assistant.path}" "${config.services.home-assistant.configDir}/secrets.yaml" + '' + ) + ]; + systemd.tmpfiles.rules = [ "f ${config.services.home-assistant.configDir}/automations.yaml 0755 hass hass" "f ${config.services.home-assistant.configDir}/scenes.yaml 0755 hass hass" From c9b2a0bcca9d3904228c9fdfcd7d9ae8adfb7e3b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 7 May 2024 00:02:55 +0000 Subject: [PATCH 283/766] Fix lock state --- hosts/iron/services/esphome/devices/tuerschloss.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hosts/iron/services/esphome/devices/tuerschloss.yaml b/hosts/iron/services/esphome/devices/tuerschloss.yaml index 8886c03..4b8f7f5 100644 --- a/hosts/iron/services/esphome/devices/tuerschloss.yaml +++ b/hosts/iron/services/esphome/devices/tuerschloss.yaml @@ -49,15 +49,16 @@ lock: - platform: template name: "Türschloss" id: tuerschloss - optimistic: true assumed_state: true lock_action: - output.turn_on: btn_lock - delay: 250ms - output.turn_off: btn_lock - delay: 5s + - lambda: id(tuerschloss).publish_state(LOCK_STATE_LOCKED); unlock_action: - output.turn_on: btn_unlock - delay: 250ms - output.turn_off: btn_unlock - delay: 5s + - lambda: id(tuerschloss).publish_state(LOCK_STATE_UNLOCKED); From 00099c2f039905d97b371cb25f25dca1d9288663 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 7 May 2024 00:02:11 +0000 Subject: [PATCH 284/766] Add door intercom --- hosts/iron/secrets.yaml | 6 +- .../esphome/devices/tuersprechanlage.yaml | 70 +++++++++++++++++++ 2 files changed, 73 insertions(+), 3 deletions(-) create mode 100644 hosts/iron/services/esphome/devices/tuersprechanlage.yaml diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index bf9e09c..33595e2 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -9,7 +9,7 @@ dkim-keys: jalr.de.default: ENC[AES256_GCM,data:mnApsYKXYGtUAHddccmNmU9yZQtekDkTiTXbJ0UJxC0rFxzQCtGsinQslIROJdNUxsxciR1ilNzxawzjJD7AaWJbcAq2TYObGJJOQZBif7t/XEN/rIxEmnAFmdeAyrSONmFb9DiEn59m6DpsU+/9Y+hnc/uwwbzueO34WHJnTqmmsxFVNQZfGR+cbSckHS3wZrfjZSKKzCRt+9DU/xxJ4voyowXLO77w00LHVkyU5liwONi0v2XJ+QeP/jIMmJeKjujZcH+qvUm/kukijqyWKGrZoAYPC2cBlL/UrNECuVdSLMXvr4KBDDTCRZCSMRgUPJ0TAfpQPTPitKJ/0igK7qQl9n/6hckY7VyP8KDS7J7G2Z2XVxfZrAR4X/7ya9B2kneVr2CNx3w954EdTcV1/lD7rcKRjKynyl3ddf8gxJFJ21k1ybo2RLnftGCRVq25qNwhyfjU8x5c7AEs+YTPDrcnmxZ/Ui276eLwpMj61oZzTp8QQhiBVwS/+ruRLC+78pu2gb1gBF/Oo3nuvQD1SOpCRikLVewCYDvfXj/hrjo+oCsjTOj+9tWRcRAEDVlhkXWCMuPXDYrdt3HrIWbQuP8NW1ezd1Ll0r1ujjtPJeSwdd8cVcUSBIoA5gU+eXnYjFaSx9BZ+sIfKqG//W3S+aBYDqAEK/z4N5q66sReb5mtSQYfbZuIZDmox9bwNMG3tJmQX0lJZgEIiuJ5/ef4ra0sj9JsRFldmIn9KUmjW9OlIwzQ42cNNvQSMD/6haNiYsE6TPzVylJ/B2kNu9Qh5FfpCIPtVORv2BAGoNvZlyhjyEiXBEZ4x2hx1l5cBwGOaGhoJ0p+1wqn2zDalIBaEFjbBVdIB6DPC6/lccvpqSwF7HvW2ugyYhW+u92vgic71/BsI4i0OlsJV18gU/zVg0Yj8SK69kEwm4wkJTrkM/I4+kkUIc5OiSAknRfjOFJc0etkh3nO34xpHLOkSv9DrKfXSAGmGZtCLtVL5LGdZeCd/g6EK0JJh6bd9Gu9koSJVq5vjdDJJFf+sgk39TCvHAvk8k1/FgdK5jMJ+pR8heJtP8G96ay3DFVm5hpbjuNKqfBvbf2rkyV6++ywRFnAQGPUiMn9g6Q4F5Ks7CC1D0Ubl7b3dCUk6BDi8rHjxy9QS0/25Yz9cF0bFd6XQDfblnyRLMi9aB36M9Vp38Oh5aB16MyvNUHzcxpaAak0yknE6OuuEMBPQZgFVADCITfy9eUXl2FoXrMWEnBO78GybQ+cV8nhynn5t0U+3koMy2E8ju5kiEofQxXylys3Q76iKRRUbQqFkh/ndWtJVVfGNpi1GrUr1w1YZM0hBY9FqqeBjf7ckj+9BdiwWJ0XauuR70o7odm02mydk1/T3Hfzt3OE5nHIXnVbum9KyPx8wXj9qc6JGFm558pQOcRUgGUi+EzGoGckkoLx4Onl+XeGysW5sXP9dbYgMBug0Tjmdo9xkoBti6znDnN/zh93bbzWITNvxMgVs8zSWEhlM0c7F02UeUXSekbTFue5FOaMdYObMvPeb53jAKBOYLr34GVFvucJhKajIaNzDvfiI6fGCMxcSsWk+P3co7gdbRlWYZELsKDu2scktZsHr/gRwRiDZXAWOLiWZL4jswQ1vXSFXJgdblEV//hr2DwsAtCAsyFcgO/LGq30xi3xNqHTkUZXo6cZYSb6EVaIywMCI5ySEnTLAp/xedySANHuo8yyVqyLxkDPI7CnnSS7JcnQF3K5z+NZ0KnIpc1ewGupOhS0fKj31XxUkoSsHEY/iWJPLNA8+4VsBkADnGdkYXHTvy/yAGV6w1k1qtjiWhDAGcE9/o6NOHctYm3cx8CVsLpve/WFUaCkGgjWJdC8XP92xsUQoE6PENn6ZzFaqGHs7hgQqE1kBcEj8N5WkEqkoMo82giHE33iYoVUdkjOTkV4iDGEqyjg1BoM0GedR2A832LseDkP7u4DjIAQfpIDu7PaeiDh7xWkPRwIMV0oDTakXTdPkPGdgFikzTaxkTzRlpCbQuV769eITqVT04kJDp7+0Rb6dtjeXc0Ennv68wZSiyrlmXbrJntg7g1wrebq28q9NMIZETAPugfK6wNDu/Iw1q1kZn2ELo6xaDlcIxHDcpzK7e2VAYYuP1k3sYnSLU3oeq54j3/yS2z1me5FEqWlPOCrjdnLkE3/GjbeMsYo2YTYJEUEd2ncacSCoXUaUoxpBnjRYcHLRUV+6jy7Amp0/52rAPzSeVlBzc+SdNiKLYA2UQ74WrMU596Gkhw1SD8jSM5QqSBhH9sL+oE4GjhjLhstMUPdkNgiwxXDTZLKcIyjN1cn+RSmvNA2KXMH6MoXrkqSkJ9u2s0QAhla51zR/LZwWbzwGOO0dkh3rwh2x+pcCfuzvlk3lYr/x5XOF2k1n8yvehXY5zIX8nk6djjLbvAzzSr/yalS7R0WYIc6CjzoUl3qz+PlneMfKHcaX00hkOlIub/ZFQf1RE+JzZxi0qQq4M8Nt1XRKGDeS448Z6znDpedStUH29krZcnjMtyLmPX7ETTsjr3HLpCOd7MQ2K1rfhmvh5BtJkn1KSUf94puZbkLH7X+WnWN0hsc+KbSXnYZvqwJ8G0/7ptp/Q+wGljqhjv+HhOeA3NUwANv1xWgbiymVIlxCodXtQwn8mxS+jxSvslGwOnyUkTT76IbFbv/IpW6PNvj/xqwOqey8a/4WCGcqs403Y7TKQ+xCflG6K3tL7U5UbMnMgXTeZvoK+DooS2eIepF2WB5XqTuOZJV2OQ6GHfaBMjXN9iGVNLi6XgkbpmcMLQ4TZq+dVmgleJb14IaTFD3n74OfmbcT9lmRfPRJEpFEMNeL3ghH54P2a91zJFASgE7x+Uv2cGcmKFtMbyc/rrhH1F/Ixlv/R37huFo1T2dPMEZ/1ouuPpbUQ5oz/JlOWw3NOxd0O6oG0x9Xib+9KxSFOusLWcFEgx70jrBQKj8s2Jj+W0gZYv+BJtPMPY0KAkRj1amt4Fd6ZrPOEXJ392EHSAEv5jssO5ba52OHKA+QkYvPPL04rwkxSAQiTl57scnEj2WEIP+Lz0/qsMnwF+3rWuz856doJZcXX+U9iuzBCaYQqA1P3BojAYhEHnXBPeolHOA3BmhT9E2TJsZ6P9SQ+GaqyLm0i4vRXGlArlkLwRBs9EZv/l4DT8q0YHha53O4rhRzGJZKAOO252Dpha1YN7+FubYGAZjaUT5O0R/7xSPrGyBejddtM8asW8+NClAn4Y6xvj1IgUg6VRpEy7ZIpZEQ+UyDWt0A4nsipaz2NyZKZ5Vxza2v1qZDdYODK8nm/zj7fR/JykaNVEVj7ceTSHdaQlajfeEWWTs92msIBcqPUXqlaR005hoVvXm+WCnzIMIXLGiyRKRsAPIDYh2hGCtvfXLSq5TYm3bnGAImL0KW3Yllt1qSqSbOYsvm5QfDmTrrccvtSLGRj0rOU3Z8f4WXjf+1YgxjZ9h8fKL+LKA8x1S6M8fl0JVGBIAU8Xe8c4+r2F1VcygJp7h+0v8o8GudM6in4djAdeMLWBgXid7r0q744joFucP56opwYQp3Lu0oFEo0omS6Rh9yPfOjdGBU2eUdjcCNXXuEJD9yHSyebviSAvDw/KH1AxYSWYnjMWACCfcbOlXf3ej7PuQgq5MdFwF7+QawXm0john4YusUon4/0fqd/IFLd6oHYYesxcFdm1jN6DeS4SAqRgeEPuEWDFERgXjLHBxl5Xdi5n+NOR3Vc7ziJ9j9/CA1DKdwmsFBBDcVKMnr2FibXpN5WsSdlBng0L2zhkL22wRH9xbz8Xk5shN20/EHoxHB5HJvwfOgHIC7ooWKOUUuNTZH43+gVN+wzRzlMfiF4X71Edw+lTnQRp6Lh03M2k9do6JPoX2+UU0h6mOYiAFkhHKzCmK3DY12c4Smx+qLJNbUGhoMgthu/WnXObm0Hr+myCooTYSVNTJx6vVjI3GZtMcat2o8B9k38u/Y5/FxqTYmyXhROwS4v3W5fXwTAaxBqQy6Xj5s4V37omBBh/Z9a43nc2VlT7dKR1wIvNB/gqhiYyYrVMtYMJqGLkeCbu50LUWT4qXyR8uaqbZTVjyJCQRxZd6fd3Zfe9wIeYe3N5qKIXkFD3n1U2Q/EyRfb3TpiA+eYkAtl6JGK0vpeWpN5M2LJ3/V79e3cIG7B7/p6BrRxKxHDnBZcu57KKaN8XM+v2KTz7XdF8bjgeu1V/B9WoBwnpzCM+3s5ffNceuUcb2gJgRAUpZvcSDLYy+9aluGU2Tvsm49fCzr851p3VSEJepgPpnvuq874AX/MbPvqidF8Y21Kss1RUbl5wrlq5IihKdM+xCSq6mjvtSPVHRvw==,iv:2NBiTTW9slOH9BvM+kVbMB/+8EiS/Dc/eaqrtiwn4HY=,tag:0rc2+ZWy9XZYE7RK/oSo3g==,type:str] synapse-turn-shared-secret: ENC[AES256_GCM,data:Q1XRds3Zud1kYkvD6s9WUzP+kNDNsxB5SHd6oCAaLCHhHhYENSAYTZOF+rGjCPNyKFL0e/A=,iv:zScRQrz+pXHNUh/BGOaV+TVnDR3wu1Z/UO1zXarKwtA=,tag:ckpVziE+yb0FjctcT7tAkg==,type:str] rmfakecloud: ENC[AES256_GCM,data:ktKBKb6cRv1VF8tRvXIpxIy9hPinVPKK05mgvYzz18PEdcrCLpldm5xf7ffHtY5XzDOAMXDCiz6x4xyv7071frrF0spOEPnIzVhxwG8H2Ck=,iv:qJdHjv0RziAs4G9UGeRwGQ4GE5kaObJWpIYWpRKhr9c=,tag:PXgvU1hZK/gvWGyFJaHekg==,type:str] -esphome: ENC[AES256_GCM,data:ZM6dbmsnXoB4NRFmq2L5qK5bcSC52zSPdUxtWW8VN8845k6p76l7s6V6ZXl6lev4r1WbfSmz/GS/a1jjO3SddLct8/FfLAlJ6X4sTVb7QI7Cez0C1oDLQq9MwBnv72j0llCdB+kkknCoKycvMWT0W1To8wYcYnS26QN3SZM1IQfKNIJFlniD8dYrchbA4DuuDcvKt0JlgswU9rloJ8sPDkVh6DoUjGZ9CnLupy7zyCNVbx/wFjhoAN1QcAROxnLGvkL/P7i5LYXIEgNJqFswsF1n9NEFnsWKQMIMeMM5pKRzmAfH1DVAxWmlZe13cNZ/q4C7cLXIsQELHhlZpLXiuD0beV3/ucmQ/blY9MnkWZEJk5wCz4VRQ8/T+RMFNjXxpKxtIkO9BUF66m+BHf4jdImCSdm/PgYAnAMBUlOfw9JUjtOJpl6LlcacECn29fCztTkWQpshJ1yq3AIM+pJsbFEvAAWM1poGHnMGwtIY7hjFtCWsoqt+Vm9qp6sPP40GLbQL9F2avpP5zy6nOG8S9U5l11NwckO6CWJY0jeW7VO59rR7o2T+5UIPUuxzmErPxBRc45tjwnt4ktqVomiFQJWFLDF4V7b3Y/Iqj5N0jtO7zy0iYeVvEO1CBLvhOx9Su5uoCs0nlY19i00USK/nDX4rGBdhAu/EfbDj3TuoAtwqFIjB9b2kJXP2tFwoR5uiKLXnbpDPPrpawv4Y4WAzV1UybBsXyHYbTn5+lveAEJos3cCPdPQVQumGWCaf7pDKzsV24xnuMmfkXvUH/Y9pVCLJ4MA/5378A6yjZuznSUmrtKd6cHe6MlEs5SRkZvbxbk0+W5AROffo9TGV1kYSkUw6QWkVgv8//VW9Mx8tFs0I5M07J/DSA+Zc8yEbcr6g+Mttbhg1wSmw2lpG1kG/IMjWkGtWClj5fjwIR23Yzoc2rjMutiaF4YZsa2RoVPFGfrnEmttQoIL1AMRQaeOypyGY5KGRCD1bfsZ2C5rid8pKOoJFAxl6cEWbeicfXZR4WqY6ZBjvGk4kcGYkhSioKy5b4v0VJ470RH5ywbMLyJg9JOMCt2cRD9epEJp+eK3d711F+mkxBEF58WTkg05yC346RmIy2hwUtMfpbJy9t4008j7gbx3RRTzTveADalu9/MAW2grEhgiTO6hSQGGCX7wCTR2VbWSV/G3gYfvFA+/8K1GyrCr4yqtWGSpneUwnphS3NV/yakC32wO3v2W+ANoL8B+PvNjv147+/5Q5CDiWckqW4EQokU1SievQn5m23TCuLjKmjAShSCqLXdt08G1uErTvD1kxvfe8huME9ChGbaJLr3v3s9ijXHQW21S9BQm+UhyOQ3wD1x9uclKN5Ac6rv2IllRMQYxaPRcT6VllW0Kq0LWDdOQ=,iv:ioMyzAp4UGkkqCAVSudT+s7YziwF8sTkmp4K8MGIA0w=,tag:yPWrzujN4EsAODdH5q5bvQ==,type:str] +esphome: ENC[AES256_GCM,data:ufIZkZo1aP/Th/8a+9srkJBqLqPQI/ymElIEBmTKzqsJ3HE/mx9QJ1aH0vGVed9W/wSJ+7+huFpB+pNAebJMohK/fAmAVG3lzgT0wKWw8g4u33VHb6X8FIW6q1+CYRnOCQsocgM4EX26YfzaxVpw9P4PF/abwB1bVzr9xnEL2JdJfstzxnR70dKO88WTolykysc443iDW80i0scH+sCh8JIfDrV+V0l3jT+woAeTw1VA0hFa5x9i3tdfrHpzc/sN1/OW6F1CsMVS2pwUTkr7pKp5nfjxhEPi94iLMmakm0XWPZpay2213FQEUYiRqCIGmD1Oiyq0nSVcOAkc66TNwsqrdPCkCL8OPTXuTd+yIfAuU3267kUMNcN2A9kqGMx4Inj8JGlmvxuoQueuXIA4gvVFhJFBdovpl10HY/YkG/cGM0gazfF2+5xG93RgD9Uryq1g61XTFOkOaH7XtGs8Q13xnnXVwfq2pK/vnx9kQkgXJJQRU1Ng8PAg+Rw1VK6bzVz5ugj6q1ei56orNy4A8FU1z1aGyChfPT3XPaDwLr0pEXvc2Vz/6CxAosSpNHIQ6fO0XBM7nvIs/2jHZssXSVo2iwYRZsgZft60cg0FfBmDyc3QH6pVjYhoQGsBlfQt5CtW7XX3rJjQTcDLfzUlO8Ykax7TXZKnDcvtNonRm45bmV+1CqS9KLrBHouWN0axtweabAVW8dld9EnL3CrclE/RbTI0nPOR00S+Ip7wNuBto30yTACxaPHYF79izHu4rQjmm2N5Jt+nI8maEVva6IbAog16NUw6fYDaMwBDeSszBZm0BwNMf36EP/Mcp+MXrBfP1kOYe6HGjftMRDky83XYvP6Cx7FJcPXIZdsMQydxsXB3LKroFqoS2HsHBnCgQbbraQ5UWi40vKXANlKbgFcutqkATvoPW6Hbh07vfiLVfDeuHU9DUCFlgK7KHPWk/g+Uo+TUmgTVKNhbGU/vFu/9h4kIrbf/ocqL/tyMjwA5Yp9e0rQCez8w5Zqfbtqm4N1WB518Q7p52r8C+yLBAua7yB0gAc7SENXWFafkbHClchZXi3c0hY64YvuweDp8G/bPFT/yLuY/yBvA3F2G3CxZXzCMvhMVQfm2yzJeOL20vWumZ8LuIaXJ/13AzLp+lUrc8RmJvU/Hrp6xsEqzXz34qMiBNUR1BKjNAS86WJ1rzD3QtejeETGDwsw016jNbyIMcShgxiEMHnD6HXzWnfTv2fO5xICiAG/VMm5h+vC3MweW2XO01P3O0/Rq/OSy3R8ZlEFErlhR1HiXhc2CdxuuxqDySi0/rP/Jpxf25Zi8mY9YBTFlV0T9ApzJoTwlobMmmxHmqq+vQSKAxLq0lJ/bpO+8utchHbnQNUICveCkX4w+rK9Vnls3zbiLTBnsf+J4y5zpLZ5HkDCUNcEnD29ZR30IYoBTLUG3PlfyH++rLl5ynW5QKUWLnUdjvf9ZwS2veFAZw6tfHelzjkZ5tps5BkjS8YAi/x70Jw4qs3fzZudq6Lej4fsMdkBnYSSN2s7Sc3A1,iv:jSR/M4KS+cZMQgtTZWtPcpmKFD5QNr7s8ClAbXzpR2s=,tag:sp3BnZi+b9WuIiCPapG6Bw==,type:str] home-assistant: ENC[AES256_GCM,data:wcFMxDdRCHf/shO9v2WaGgrsa9J2WP62xFs=,iv:9ckeIO62cFZUo8fPyQj445CrJVTooNlwLapM/oTsrkk=,tag:mlfxtXDPsB3T79P9BX9oJQ==,type:str] sops: kms: [] @@ -26,8 +26,8 @@ sops: SU1USkxFUUY2NVhmUHBhZkdrNDR1Q0kKiXIicInELRjDR3tuyA+lnXeCcd9lYvbV GnBRGPM7BNO/6AA7HhAei48Kt+XE6+jQX66yTXyviKhK7Lpjrlb2YQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-05-04T20:56:17Z" - mac: ENC[AES256_GCM,data:hf0awSFMl+WYmfe2WgryQ2PnO01bl0F054CwjPgkG4LSPCIM5p83oVz8OZxFALrYJkQzEghrRMR7QH9p9YU4LGaS1Fi+UdI8n8yZ+7QqwusPDdhTAv1DcH3eNFmZxNNKx/M1C+ll4ufH28rn8aiYJDaoD0G7aFgd8lE0w8cB5ro=,iv:1CaROIk1+Xi190utju79HBXK5Y7zirNONIO7YefLuvg=,tag:I63TCEk/neHI7HK0j4x0hA==,type:str] + lastmodified: "2024-05-06T15:25:14Z" + mac: ENC[AES256_GCM,data:JfgVZ7I/S22cN4yiXqE5nJY0KBq+ZLJABlMTi58VUw5jGf1vUmyTDkzm67QmZtVVL3R/xodrSMJw5CodF7wgVvJFilSvez/ygr1P8KKo7CDMxzl5VTO5uHq5aszOmRFF5N9ZGfUFZxjl3iuCwQofckcMKgeyG/1wOIf37H4Gstw=,iv:oLS4yQdl0LE363gVIkRUieFJ5M2N8Fc4Rge7SuTN85k=,tag:N4uxXbKIHfZonkiV1GxckQ==,type:str] pgp: - created_at: "2024-01-31T01:20:30Z" enc: |- diff --git a/hosts/iron/services/esphome/devices/tuersprechanlage.yaml b/hosts/iron/services/esphome/devices/tuersprechanlage.yaml new file mode 100644 index 0000000..cb676ad --- /dev/null +++ b/hosts/iron/services/esphome/devices/tuersprechanlage.yaml @@ -0,0 +1,70 @@ +esphome: + name: "tuersprechanlage" + friendly_name: "Türsprechanlage" + +esp32: + board: lolin_s2_mini + variant: ESP32S2 + framework: + type: esp-idf + sdkconfig_options: + CONFIG_ESP_CONSOLE_USB_CDC: y + +logger: + hardware_uart: USB_CDC + +api: + encryption: + key: !secret apikey_tuersprechanlage + +ota: + password: !secret otapass_tuersprechanlage + +wifi: + ssid: !secret wifi_ssid_bw + password: !secret wifi_password_bw + domain: .iot.bw.jalr.de + enable_on_boot: True + fast_connect: True + power_save_mode: none + output_power: 10 + +binary_sensor: + - platform: gpio + name: Etagenklingel + id: etagenklingel + pin: + number: GPIO16 + mode: + input: true + pullup: true + filters: + - delayed_off: 10s + + - platform: gpio + name: Treppenlicht + id: treppenlicht + pin: + number: GPIO18 + mode: + input: true + pullup: true + filters: + - invert + - delayed_off: 10s + +output: + - platform: gpio + pin: GPIO15 + id: btn_door + +button: + - platform: template + name: "Türöffner" + id: tueroeffner + icon: mdi:lock-open + on_press: + - logger.log: "Button pressed" + - output.turn_on: btn_door + - delay: 500ms + - output.turn_off: btn_door From 605084a1d8339c68d2d82181ece34d6fbae56b2d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 7 May 2024 09:41:40 +0000 Subject: [PATCH 285/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/d6bb9f934f2870e5cbc5b94c79e9db22246141ff' (2024-04-06) → 'github:nix-community/home-manager/86853e31dc1b62c6eeed11c667e8cdd0285d4411' (2024-04-25) • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/40e6053ecb65fcbf12863338a6dcefb3f55f1bf8' (2024-04-12) → 'github:cachix/pre-commit-hooks.nix/2849da033884f54822af194400f8dff435ada242' (2024-04-30) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/e402c3eb6d88384ca6c52ef1c53e61bdc9b84ddd' (2024-04-17) → 'github:nixos/nixpkgs/27c13997bf450a01219899f5a83bd6ffbfc70d3c' (2024-05-06) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/cc5b30542b0202032f2ad5792cfa3955446fdfdf' (2024-04-19) → 'github:NixOS/nixpkgs/5ca6e2c74a8805cd499a60c76605a186359c5eca' (2024-05-07) • Updated input 'nur': 'github:nix-community/NUR/e16ee8a64f1ab6bfbd54f24985141a0bd1243c29' (2024-04-19) → 'github:nix-community/NUR/e35c205abf0abd7fca3fdbba7bb8488d4fe88f6c' (2024-05-07) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/3c92540611f42d3fb2d0d084a6c694cd6544b609' (2024-02-22) → 'github:nix-community/poetry2nix/e6b36523407ae6a7a4dfe29770c30b3a3563b43a' (2024-05-06) • Updated input 'poetry2nix/treefmt-nix': 'github:numtide/treefmt-nix/e504621290a1fd896631ddbc5e9c16f4366c9f65' (2024-02-19) → 'github:numtide/treefmt-nix/c6aaf729f34a36c445618580a9f95a48f5e4e03f' (2024-04-25) • Updated input 'sops-nix': 'github:Mic92/sops-nix/a929a011a09db735abc45a8a45d1ff7fdee62755' (2024-04-19) → 'github:Mic92/sops-nix/893e3df091f6838f4f9d71c61ab079d5c5dedbd1' (2024-05-06) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/8494ae076b7878d61a7d2d25e89a847fe8f8364c' (2024-04-18) → 'github:NixOS/nixpkgs/b980b91038fc4b09067ef97bbe5ad07eecca1e76' (2024-05-04) --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index c9f07a6..431b550 100644 --- a/flake.lock +++ b/flake.lock @@ -85,11 +85,11 @@ ] }, "locked": { - "lastModified": 1712386041, - "narHash": "sha256-dA82pOMQNnCJMAsPG7AXG35VmCSMZsJHTFlTHizpKWQ=", + "lastModified": 1714043624, + "narHash": "sha256-Xn2r0Jv95TswvPlvamCC46wwNo8ALjRCMBJbGykdhcM=", "owner": "nix-community", "repo": "home-manager", - "rev": "d6bb9f934f2870e5cbc5b94c79e9db22246141ff", + "rev": "86853e31dc1b62c6eeed11c667e8cdd0285d4411", "type": "github" }, "original": { @@ -154,11 +154,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1712897695, - "narHash": "sha256-nMirxrGteNAl9sWiOhoN5tIHyjBbVi5e2tgZUgZlK3Y=", + "lastModified": 1714478972, + "narHash": "sha256-q//cgb52vv81uOuwz1LaXElp3XAe1TqrABXODAEF6Sk=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "40e6053ecb65fcbf12863338a6dcefb3f55f1bf8", + "rev": "2849da033884f54822af194400f8dff435ada242", "type": "github" }, "original": { @@ -202,11 +202,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1713434076, - "narHash": "sha256-+/p5edwlkqKZc6GDAQl+92Hoe1f3NNbUF9uj+X9H3pU=", + "lastModified": 1714858427, + "narHash": "sha256-tCxeDP4C1pWe2rYY3IIhdA40Ujz32Ufd4tcrHPSKx2M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8494ae076b7878d61a7d2d25e89a847fe8f8364c", + "rev": "b980b91038fc4b09067ef97bbe5ad07eecca1e76", "type": "github" }, "original": { @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1713540478, - "narHash": "sha256-biYsnIjsOvc4mNfcAv/bpHGJ2eHBaNpukUzmf1YFcRU=", + "lastModified": 1715074791, + "narHash": "sha256-4HSJc1vzdczOwTHhqrNaCD9Sb3g//noOiQZVFMQvBPQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cc5b30542b0202032f2ad5792cfa3955446fdfdf", + "rev": "5ca6e2c74a8805cd499a60c76605a186359c5eca", "type": "github" }, "original": { @@ -234,11 +234,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1713344939, - "narHash": "sha256-jpHkAt0sG2/J7ueKnG7VvLLkBYUMQbXQ2L8OBpVG53s=", + "lastModified": 1714971268, + "narHash": "sha256-IKwMSwHj9+ec660l+I4tki/1NRoeGpyA2GdtdYpAgEw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e402c3eb6d88384ca6c52ef1c53e61bdc9b84ddd", + "rev": "27c13997bf450a01219899f5a83bd6ffbfc70d3c", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1713540396, - "narHash": "sha256-mc9hP0I2K2I23fx0py4bp6k28liXgBRilVQRc5hb3LU=", + "lastModified": 1715070864, + "narHash": "sha256-lyRQYwMKPgvhRNcaeWnh08YJDZ/bFgQfRpFqsBBOP2I=", "owner": "nix-community", "repo": "NUR", - "rev": "e16ee8a64f1ab6bfbd54f24985141a0bd1243c29", + "rev": "e35c205abf0abd7fca3fdbba7bb8488d4fe88f6c", "type": "github" }, "original": { @@ -276,11 +276,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1708589824, - "narHash": "sha256-2GOiFTkvs5MtVF65sC78KNVxQSmsxtk0WmV1wJ9V2ck=", + "lastModified": 1715017507, + "narHash": "sha256-RN2Vsba56PfX02DunWcZYkMLsipp928h+LVAWMYmbZg=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "3c92540611f42d3fb2d0d084a6c694cd6544b609", + "rev": "e6b36523407ae6a7a4dfe29770c30b3a3563b43a", "type": "github" }, "original": { @@ -311,11 +311,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1713532771, - "narHash": "sha256-vfKxhYVMzG2tg48/1rewBoSLCrKIjQsG1j7Nm/Y2gf4=", + "lastModified": 1715035358, + "narHash": "sha256-RY6kqhpCPa/q3vbqt3iYRyjO3hJz9KZnshMjbpPon8o=", "owner": "Mic92", "repo": "sops-nix", - "rev": "a929a011a09db735abc45a8a45d1ff7fdee62755", + "rev": "893e3df091f6838f4f9d71c61ab079d5c5dedbd1", "type": "github" }, "original": { @@ -361,11 +361,11 @@ ] }, "locked": { - "lastModified": 1708335038, - "narHash": "sha256-ETLZNFBVCabo7lJrpjD6cAbnE11eDOjaQnznmg/6hAE=", + "lastModified": 1714058656, + "narHash": "sha256-Qv4RBm4LKuO4fNOfx9wl40W2rBbv5u5m+whxRYUMiaA=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "e504621290a1fd896631ddbc5e9c16f4366c9f65", + "rev": "c6aaf729f34a36c445618580a9f95a48f5e4e03f", "type": "github" }, "original": { From a58627271addb18a2796c76be5185be2866aad60 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 10 May 2024 23:33:18 +0000 Subject: [PATCH 286/766] Add prusa slicer --- home-manager/modules/3d-printing.nix | 7 +++++++ home-manager/modules/default.nix | 1 + 2 files changed, 8 insertions(+) create mode 100644 home-manager/modules/3d-printing.nix diff --git a/home-manager/modules/3d-printing.nix b/home-manager/modules/3d-printing.nix new file mode 100644 index 0000000..5107e9c --- /dev/null +++ b/home-manager/modules/3d-printing.nix @@ -0,0 +1,7 @@ +{ nixosConfig, lib, pkgs, ... }: + +lib.mkIf nixosConfig.jalr.gui.enable { + home.packages = with pkgs; [ + prusa-slicer + ]; +} diff --git a/home-manager/modules/default.nix b/home-manager/modules/default.nix index c8c85d8..151eafc 100644 --- a/home-manager/modules/default.nix +++ b/home-manager/modules/default.nix @@ -3,6 +3,7 @@ { imports = [ ./${nixosConfig.jalr.terminalEmulator}.nix + ./3d-printing.nix ./aws.nix ./claws-mail.nix ./cli.nix From 7711b79807b4e3f4d7ef4b03010f06d4ce3efd00 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 12 May 2024 19:06:34 +0000 Subject: [PATCH 287/766] Add host `tin` --- hosts/default.nix | 4 ++ hosts/tin/configuration.nix | 32 ++++++++++++++++ hosts/tin/hardware-configuration.nix | 56 ++++++++++++++++++++++++++++ 3 files changed, 92 insertions(+) create mode 100644 hosts/tin/configuration.nix create mode 100644 hosts/tin/hardware-configuration.nix diff --git a/hosts/default.nix b/hosts/default.nix index 322731b..921af03 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -26,4 +26,8 @@ system = "aarch64"; targetHost = "162.55.35.199"; }; + tin = { + system = "x86_64-linux"; + targetHost = "tin.lan.bw.jalr.de"; + }; } diff --git a/hosts/tin/configuration.nix b/hosts/tin/configuration.nix new file mode 100644 index 0000000..8eb0507 --- /dev/null +++ b/hosts/tin/configuration.nix @@ -0,0 +1,32 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page, on +# https://search.nixos.org/options and in the NixOS manual (`nixos-help`). + +{ config, lib, pkgs, ... }: + +{ + imports = [ + ./hardware-configuration.nix + ../../home-manager/users/jalr.nix + ]; + + networking = { + hostName = "tin"; + networkmanager.enable = true; + useDHCP = false; + }; + + system.stateVersion = "23.11"; # Did you read the comment? + + jalr = { + bootloader = "systemd-boot"; + bluetooth.enable = true; + uefi.enable = true; + gui.enable = true; + workstation.enable = true; + sdr.enable = false; + #autologin.enable = true; + #autologin.username = "jal"; + }; +} + diff --git a/hosts/tin/hardware-configuration.nix b/hosts/tin/hardware-configuration.nix new file mode 100644 index 0000000..a797e49 --- /dev/null +++ b/hosts/tin/hardware-configuration.nix @@ -0,0 +1,56 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { + device = "/dev/disk/by-uuid/a939bba5-2eb2-4e9f-97f8-7d1604cb3f76"; + fsType = "btrfs"; + options = [ "compress=zstd" "subvol=root" ]; + }; + + fileSystems."/home" = + { + device = "/dev/disk/by-uuid/a939bba5-2eb2-4e9f-97f8-7d1604cb3f76"; + fsType = "btrfs"; + options = [ "compress=zstd" "subvol=home" ]; + }; + + fileSystems."/nix" = + { + device = "/dev/disk/by-uuid/a939bba5-2eb2-4e9f-97f8-7d1604cb3f76"; + fsType = "btrfs"; + options = [ "compress=zstd" "subvol=nix" ]; + }; + + fileSystems."/boot" = + { + device = "/dev/disk/by-uuid/BC71-DDC2"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp0s25.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} From c38432e2a0cfb54dd4091a16dc0d323c02a364be Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 12 May 2024 19:12:20 +0000 Subject: [PATCH 288/766] Fix current setting --- .../esphome/devices/chinafrickeldeckenleuchte.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/hosts/iron/services/esphome/devices/chinafrickeldeckenleuchte.yaml b/hosts/iron/services/esphome/devices/chinafrickeldeckenleuchte.yaml index f6b783b..205d23d 100644 --- a/hosts/iron/services/esphome/devices/chinafrickeldeckenleuchte.yaml +++ b/hosts/iron/services/esphome/devices/chinafrickeldeckenleuchte.yaml @@ -13,23 +13,23 @@ output: - platform: bp5758d id: output_ch1 channel: 1 - current: 60 + current: 20 - platform: bp5758d id: output_ch2 channel: 2 - current: 60 + current: 20 - platform: bp5758d id: output_ch3 channel: 3 - current: 60 + current: 20 - platform: bp5758d id: output_ch4 channel: 4 - current: 60 + current: 80 - platform: bp5758d id: output_ch5 channel: 5 - current: 60 + current: 80 light: - platform: rgbww From 5d78f0fc9cf19e71366c66c9f018a2bfb707ff3e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 13 May 2024 14:22:04 +0000 Subject: [PATCH 289/766] Add gnome GUI --- hosts/tin/configuration.nix | 1 + modules/default.nix | 10 +++++++++- modules/gnome.nix | 12 ++++++++++++ modules/sway.nix | 2 +- 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 modules/gnome.nix diff --git a/hosts/tin/configuration.nix b/hosts/tin/configuration.nix index 8eb0507..0eb8457 100644 --- a/hosts/tin/configuration.nix +++ b/hosts/tin/configuration.nix @@ -23,6 +23,7 @@ bluetooth.enable = true; uefi.enable = true; gui.enable = true; + gui.desktop = "gnome"; workstation.enable = true; sdr.enable = false; #autologin.enable = true; diff --git a/modules/default.nix b/modules/default.nix index d43da52..6905712 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -2,7 +2,14 @@ { options.jalr = { - gui.enable = lib.mkEnableOption "GUI"; + gui = { + enable = lib.mkEnableOption "GUI"; + desktop = lib.mkOption { + type = lib.types.nullOr (lib.types.enum [ "sway" "gnome" ]); + default = "sway"; + description = "Desktop environment to install"; + }; + }; workstation.enable = lib.mkEnableOption "Workstation"; }; @@ -17,6 +24,7 @@ ./dnsmasq.nix ./fish.nix ./fonts.nix + ./gnome.nix ./journald.nix ./kdeconnect.nix ./kvm-switch-enable-screen.nix diff --git a/modules/gnome.nix b/modules/gnome.nix new file mode 100644 index 0000000..1bd91bb --- /dev/null +++ b/modules/gnome.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: + +lib.mkIf (config.jalr.gui.enable && config.jalr.gui.desktop == "gnome") { + services.xserver = { + enable = true; + desktopManager.gnome.enable = true; + displayManager.gdm = { + enable = true; + autoSuspend = false; + }; + }; +} diff --git a/modules/sway.nix b/modules/sway.nix index b234c37..f534f18 100644 --- a/modules/sway.nix +++ b/modules/sway.nix @@ -1,6 +1,6 @@ { config, lib, pkgs, ... }: -lib.mkIf config.jalr.gui.enable { +lib.mkIf (config.jalr.gui.enable && config.jalr.gui.desktop == "sway") { programs.sway = { enable = true; # FIXME: move to home manager From 3bbc2fa2adb1837e8ac12dbac49ded1fff19ff15 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 13 May 2024 14:24:01 +0000 Subject: [PATCH 290/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/86853e31dc1b62c6eeed11c667e8cdd0285d4411' (2024-04-25) → 'github:nix-community/home-manager/ab5542e9dbd13d0100f8baae2bc2d68af901f4b4' (2024-05-10) • Updated input 'nix-pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/2849da033884f54822af194400f8dff435ada242' (2024-04-30) → 'github:cachix/pre-commit-hooks.nix/c182c876690380f8d3b9557c4609472ebfa1b141' (2024-05-13) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/27c13997bf450a01219899f5a83bd6ffbfc70d3c' (2024-05-06) → 'github:nixos/nixpkgs/71bae31b7dbc335528ca7e96f479ec93462323ff' (2024-05-11) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/5ca6e2c74a8805cd499a60c76605a186359c5eca' (2024-05-07) → 'github:NixOS/nixpkgs/7a689a202cd44d80ea6c7918a40a17887f8c99e6' (2024-05-13) • Updated input 'nur': 'github:nix-community/NUR/e35c205abf0abd7fca3fdbba7bb8488d4fe88f6c' (2024-05-07) → 'github:nix-community/NUR/a42f0e5a176713278508c0135c6224ea6ad26a80' (2024-05-13) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/e6b36523407ae6a7a4dfe29770c30b3a3563b43a' (2024-05-06) → 'github:nix-community/poetry2nix/291a863e866972f356967d0a270b259f46bf987f' (2024-05-09) • Updated input 'sops-nix': 'github:Mic92/sops-nix/893e3df091f6838f4f9d71c61ab079d5c5dedbd1' (2024-05-06) → 'github:Mic92/sops-nix/b6cb5de2ce57acb10ecdaaf9bbd62a5ff24fa02e' (2024-05-12) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/b980b91038fc4b09067ef97bbe5ad07eecca1e76' (2024-05-04) → 'github:NixOS/nixpkgs/8e47858badee5594292921c2668c11004c3b0142' (2024-05-11) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 431b550..4c76318 100644 --- a/flake.lock +++ b/flake.lock @@ -85,11 +85,11 @@ ] }, "locked": { - "lastModified": 1714043624, - "narHash": "sha256-Xn2r0Jv95TswvPlvamCC46wwNo8ALjRCMBJbGykdhcM=", + "lastModified": 1715381426, + "narHash": "sha256-wPuqrAQGdv3ISs74nJfGb+Yprm23U/rFpcHFFNWgM94=", "owner": "nix-community", "repo": "home-manager", - "rev": "86853e31dc1b62c6eeed11c667e8cdd0285d4411", + "rev": "ab5542e9dbd13d0100f8baae2bc2d68af901f4b4", "type": "github" }, "original": { @@ -154,11 +154,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1714478972, - "narHash": "sha256-q//cgb52vv81uOuwz1LaXElp3XAe1TqrABXODAEF6Sk=", + "lastModified": 1715609711, + "narHash": "sha256-/5u29K0c+4jyQ8x7dUIEUWlz2BoTSZWUP2quPwFCE7M=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "2849da033884f54822af194400f8dff435ada242", + "rev": "c182c876690380f8d3b9557c4609472ebfa1b141", "type": "github" }, "original": { @@ -202,11 +202,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1714858427, - "narHash": "sha256-tCxeDP4C1pWe2rYY3IIhdA40Ujz32Ufd4tcrHPSKx2M=", + "lastModified": 1715458492, + "narHash": "sha256-q0OFeZqKQaik2U8wwGDsELEkgoZMK7gvfF6tTXkpsqE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b980b91038fc4b09067ef97bbe5ad07eecca1e76", + "rev": "8e47858badee5594292921c2668c11004c3b0142", "type": "github" }, "original": { @@ -218,11 +218,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1715074791, - "narHash": "sha256-4HSJc1vzdczOwTHhqrNaCD9Sb3g//noOiQZVFMQvBPQ=", + "lastModified": 1715609807, + "narHash": "sha256-QKBJGCDQdkBflKJMa6p7h95opIXhOXv6DL6f1G+YaFI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5ca6e2c74a8805cd499a60c76605a186359c5eca", + "rev": "7a689a202cd44d80ea6c7918a40a17887f8c99e6", "type": "github" }, "original": { @@ -234,11 +234,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1714971268, - "narHash": "sha256-IKwMSwHj9+ec660l+I4tki/1NRoeGpyA2GdtdYpAgEw=", + "lastModified": 1715395895, + "narHash": "sha256-DreMqi6+qa21ffLQqhMQL2XRUkAGt3N7iVB5FhJKie4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "27c13997bf450a01219899f5a83bd6ffbfc70d3c", + "rev": "71bae31b7dbc335528ca7e96f479ec93462323ff", "type": "github" }, "original": { @@ -250,11 +250,11 @@ }, "nur": { "locked": { - "lastModified": 1715070864, - "narHash": "sha256-lyRQYwMKPgvhRNcaeWnh08YJDZ/bFgQfRpFqsBBOP2I=", + "lastModified": 1715608391, + "narHash": "sha256-FMrt7buRO3BwR/9slNN+0F6aI5DhygJFaIdG/USSRhA=", "owner": "nix-community", "repo": "NUR", - "rev": "e35c205abf0abd7fca3fdbba7bb8488d4fe88f6c", + "rev": "a42f0e5a176713278508c0135c6224ea6ad26a80", "type": "github" }, "original": { @@ -276,11 +276,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1715017507, - "narHash": "sha256-RN2Vsba56PfX02DunWcZYkMLsipp928h+LVAWMYmbZg=", + "lastModified": 1715251496, + "narHash": "sha256-vRBfJCKvJtu5sYev56XStirA3lAOPv0EkoEV2Nfc+tc=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "e6b36523407ae6a7a4dfe29770c30b3a3563b43a", + "rev": "291a863e866972f356967d0a270b259f46bf987f", "type": "github" }, "original": { @@ -311,11 +311,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1715035358, - "narHash": "sha256-RY6kqhpCPa/q3vbqt3iYRyjO3hJz9KZnshMjbpPon8o=", + "lastModified": 1715482972, + "narHash": "sha256-y1uMzXNlrVOWYj1YNcsGYLm4TOC2aJrwoUY1NjQs9fM=", "owner": "Mic92", "repo": "sops-nix", - "rev": "893e3df091f6838f4f9d71c61ab079d5c5dedbd1", + "rev": "b6cb5de2ce57acb10ecdaaf9bbd62a5ff24fa02e", "type": "github" }, "original": { From aea7047c781493f4add994fe4187cfeaff375a8c Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 13 May 2024 15:47:48 +0000 Subject: [PATCH 291/766] Start neovim in insert mode --- home-manager/modules/git.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home-manager/modules/git.nix b/home-manager/modules/git.nix index 2bdf690..c17c7f5 100644 --- a/home-manager/modules/git.nix +++ b/home-manager/modules/git.nix @@ -13,6 +13,7 @@ extraConfig = { init.defaultBranch = "main"; core.pager = "${pkgs.diff-so-fancy}/bin/diff-so-fancy | less --tabs=4 -RFX"; + core.editor = "${pkgs.neovim}/bin/nvim +star"; diff.sops.textconv = "${pkgs.sops}/bin/sops -d"; pull.ff = "only"; alias.find-merge = "!sh -c 'commit=$0 && branch=\${1:-HEAD} && (git rev-list $commit..$branch --ancestry-path | cat -n; git rev-list $commit..$branch --first-parent | cat -n) | sort -k2 -s | uniq -f1 -d | sort -n | tail -1 | cut -f2'"; From 9051f49700c1ecf788620586a01b9dee1d692025 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 14 May 2024 10:24:15 +0000 Subject: [PATCH 292/766] Disable signal bridge The bridge is broken. When https://gitlab.com/signald/signald/-/merge_requests/163 is fixed, we might be able to enable it again. --- hosts/iron/services/matrix.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/iron/services/matrix.nix b/hosts/iron/services/matrix.nix index 02984ad..7214d0d 100644 --- a/hosts/iron/services/matrix.nix +++ b/hosts/iron/services/matrix.nix @@ -31,7 +31,7 @@ in }; }; mautrix-signal = { - enable = true; + enable = false; port = ports.mautrix-signal.tcp; settings.bridge = { permissions = { From 4ab80690bd97a934bdefb9f3c7d08a4ddc001670 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 15 May 2024 07:16:43 +0000 Subject: [PATCH 293/766] Remove tradebyte stuff --- .../modules/communication/default.nix | 1 - .../modules/communication/ferdium.nix | 7 - home-manager/users/jal.nix | 224 ------------------ hosts/default.nix | 3 - hosts/hafnium/configuration.nix | 147 ------------ hosts/hafnium/hardware-configuration.nix | 44 ---- hosts/hafnium/secrets.yaml | 42 ---- modules/default.nix | 1 - modules/nix.nix | 16 +- modules/tradebyte/default.nix | 8 - 10 files changed, 1 insertion(+), 492 deletions(-) delete mode 100644 home-manager/modules/communication/ferdium.nix delete mode 100644 home-manager/users/jal.nix delete mode 100644 hosts/hafnium/configuration.nix delete mode 100644 hosts/hafnium/hardware-configuration.nix delete mode 100644 hosts/hafnium/secrets.yaml delete mode 100644 modules/tradebyte/default.nix diff --git a/home-manager/modules/communication/default.nix b/home-manager/modules/communication/default.nix index 6be079f..b908afc 100644 --- a/home-manager/modules/communication/default.nix +++ b/home-manager/modules/communication/default.nix @@ -2,7 +2,6 @@ { imports = [ - ./ferdium.nix ./mumble.nix ./qtox.nix ./telegram-desktop.nix diff --git a/home-manager/modules/communication/ferdium.nix b/home-manager/modules/communication/ferdium.nix deleted file mode 100644 index ee8f39e..0000000 --- a/home-manager/modules/communication/ferdium.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ nixosConfig, lib, pkgs, ... }: - -lib.mkIf nixosConfig.jalr.tradebyte.enable { - home.packages = with pkgs; [ - master.ferdium - ]; -} diff --git a/home-manager/users/jal.nix b/home-manager/users/jal.nix deleted file mode 100644 index e824fb6..0000000 --- a/home-manager/users/jal.nix +++ /dev/null @@ -1,224 +0,0 @@ -{ config, lib, pkgs, ... }: - -let - userName = "jal"; - vpn_routes = [ - "10.18.0.0/16" # OEE VPC - "10.64.0.0/16" # CPS - "10.158.128.0/23" # approval - "10.158.224.0/20" # core production - "10.158.240.0/20" # core development - #"10.96.0.0/24" # CCS infrastructure - #"10.96.8.0/24" # Boomi - #"10.96.10.0/24" # Boomi (new) - "10.96.0.0/16" - "10.170.254.30/32" # first core DNS resolver - "10.170.254.40/32" # second core DNS resolver - ]; - vpnc-script = pkgs.writeShellScript "vpnc-script-tb" '' - cisco_split_inc="$CISCO_SPLIT_INC" - export CISCO_SPLIT_INC=0 - - echo "DNS server sent by vpn: $INTERNAL_IP4_DNS" - unset INTERNAL_IP4_DNS - - route_in_whitelist() { - for route in ${builtins.toString vpn_routes}; do - [ "$1" = "$route" ] && return 0 - done - return 1 - } - - routes() { - for i in $(seq 0 $((cisco_split_inc-1))); do - addr_var="CISCO_SPLIT_INC_''${i}_ADDR" - mask_var="CISCO_SPLIT_INC_''${i}_MASK" - masklen_var="CISCO_SPLIT_INC_''${i}_MASKLEN" - addr="''${!addr_var}" - mask="''${!mask_var}" - masklen="''${!masklen_var}" - if route_in_whitelist "$addr/$masklen"; then - case "$1" in - add) - if [ -n "$NETGW" ]; then - ip route add "$addr/$masklen" metric 100 dev "$TUNDEV" via "$NETGW" - else - ip route add "$addr/$masklen" metric 100 dev "$TUNDEV" - fi - ;; - remove) - ip route del "$addr/$masklen" dev "$TUNDEV" - ;; - esac - echo "allowing route '$addr/$masklen'" - else - echo "ignoring route '$addr/$masklen'" - fi - done - } - - case "$reason" in - pre-init|reconnect|attempt-reconnect) - "${pkgs.vpnc-scripts}/bin/vpnc-script" "$@" - ;; - connect) - "${pkgs.vpnc-scripts}/bin/vpnc-script" "$@" - routes add - ;; - disconnect) - routes remove - "${pkgs.vpnc-scripts}/bin/vpnc-script" "$@" - ;; - *) - echo "reason '$reason' is not implemented" >&2 - exit 1 - ;; - esac - ''; - tradebyte-vpn = pkgs.writeShellScriptBin "tradebyte-vpn" '' - [ $UID -ne 0 ] && exec sudo -- "$0" "$@" - /run/wrappers/bin/sudo -u "$SUDO_USER" ${pkgs.pass}/bin/pass show zalando | openconnect \ - --protocol=pulse \ - -u jlechner \ - --passwd-on-stdin \ - -i pulse \ - --pfs \ - --disable-ipv6 \ - --script=${vpnc-script} \ - https://remote.tradebyte.org | grep -v '^> ' - ''; - aws_defaults = { - sso = { - start_url = "https://d-9967250383.awsapps.com/start"; - region = "eu-central-1"; - role_name = "AdministratorAccess"; - }; - region = "eu-central-1"; - }; -in -{ - imports = [ - ./default.nix - ]; - - jalr = { - git = { - user = { - name = "Jakob Lechner"; - email = "jal@tradebyte.biz"; - }; - signByDefault = false; - }; - gpg.defaultKey = "FE170812543DF81393EA56BA5042B8317A10617E"; - aws = { - enable = true; - accounts = { - ops_testing = { - sso_account_id = 134848648016; - sso_start_url = aws_defaults.sso.start_url; - sso_region = aws_defaults.sso.region; - sso_role_name = aws_defaults.sso.role_name; - region = aws_defaults.region; - }; - core-production = { - sso_account_id = 455520445575; - sso_start_url = aws_defaults.sso.start_url; - sso_region = aws_defaults.sso.region; - sso_role_name = aws_defaults.sso.role_name; - region = aws_defaults.region; - }; - tbmeta-production = { - sso_account_id = 696695470425; - sso_start_url = aws_defaults.sso.start_url; - sso_region = aws_defaults.sso.region; - sso_role_name = aws_defaults.sso.role_name; - region = aws_defaults.region; - }; - abnahme = { - sso_account_id = 837645089494; - sso_start_url = aws_defaults.sso.start_url; - sso_region = aws_defaults.sso.region; - sso_role_name = aws_defaults.sso.role_name; - region = aws_defaults.region; - }; - core-develop = { - sso_account_id = 934000686307; - sso_start_url = aws_defaults.sso.start_url; - sso_region = aws_defaults.sso.region; - sso_role_name = aws_defaults.sso.role_name; - region = aws_defaults.region; - }; - infrastructure = { - sso_account_id = 994756397773; - sso_start_url = aws_defaults.sso.start_url; - sso_region = aws_defaults.sso.region; - sso_role_name = aws_defaults.sso.role_name; - region = aws_defaults.region; - }; - tbmeta-development = { - sso_account_id = 730951147261; - sso_start_url = aws_defaults.sso.start_url; - sso_region = aws_defaults.sso.region; - sso_role_name = aws_defaults.sso.role_name; - region = aws_defaults.region; - }; - }; - }; - }; - - users.users.${userName} = { - isNormalUser = true; - extraGroups = [ - "dialout" - "podman" - "libvirtd" - "lp" - "networkmanager" - "scanner" - "video" - "wheel" - "wireshark" - ]; # Enable ‘sudo’ for the user. - shell = pkgs.fish; - }; - - home-manager = { - useUserPackages = true; - useGlobalPkgs = true; - users.${userName} = { lib, pkgs, ... }: { - imports = [ ../modules ]; - config = { - home.stateVersion = config.system.stateVersion; - - home.packages = with pkgs; [ - mycli - timetrap - tradebyte-vpn - - # common - asciinema - bat - docker-compose - envsubst - gnupg - nmap - psutils - pwgen - tig - vlc - xdg_utils - ]; - }; - }; - }; - - security.sudo.extraRules = [{ - users = [ userName ]; - commands = [ - { - command = "${tradebyte-vpn}/bin/tradebyte-vpn"; - options = [ "NOPASSWD" ]; - } - ]; - }]; -} diff --git a/hosts/default.nix b/hosts/default.nix index 921af03..aa58d11 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -10,9 +10,6 @@ cadmium = { system = "x86_64-linux"; }; - hafnium = { - system = "x86_64-linux"; - }; weinturm-pretix-prod = { system = "aarch64"; targetHost = "142.132.185.70"; diff --git a/hosts/hafnium/configuration.nix b/hosts/hafnium/configuration.nix deleted file mode 100644 index 31afa72..0000000 --- a/hosts/hafnium/configuration.nix +++ /dev/null @@ -1,147 +0,0 @@ -{ lib, config, pkgs, self, system, ... }: - -let - tradebyteDnsServers = [ - "10.170.254.30" - "10.170.254.40" - ]; -in -{ - imports = [ - ./hardware-configuration.nix - ../../home-manager/users/jal.nix - ]; - - networking = { - hostName = "hafnium"; - networkmanager = { - enable = true; - }; - useDHCP = false; - interfaces = { - enp2s0f0.useDHCP = false; - enp5s0.useDHCP = false; - wlp3s0.useDHCP = false; - }; - firewall = { - allowedUDPPorts = [ - 53 - ]; - allowedTCPPorts = [ - 53 - ]; - }; - extraHosts = '' - #10.10.10.10 example.com - ''; - }; - - environment.systemPackages = with pkgs; [ - brightnessctl - gnome3.adwaita-icon-theme - openconnect - redir - tcpdump - ]; - - environment.variables.EDITOR = "nvim"; - - programs.mtr.enable = true; - - - services.udisks2.enable = true; - - jalr = { - bootloader = "systemd-boot"; - bluetooth.enable = true; - uefi.enable = true; - gui.enable = true; - workstation.enable = true; - sdr.enable = false; - libvirt.enable = true; - autologin.enable = true; - autologin.username = "jal"; - tradebyte.enable = true; - }; - - - sops.secrets = ( - lib.listToAttrs (map - (name: lib.nameValuePair "wireguard_key_${name}" { - sopsFile = ./secrets.yaml; - }) - [ - "tbcore" - "ops-testing" - ] - ) - ); - - networking.wireguard.interfaces = { - tbcore = { - ips = [ "172.27.27.16/32" ]; - privateKeyFile = config.sops.secrets.wireguard_key_tbcore.path; - listenPort = 51930; - - peers = [{ - publicKey = "K5vF/yTag6NnWjZsMug63DERdCFRfHoqxVkgKH55oFE="; - endpoint = "194.33.184.175:51930"; - #endpoint = "ccs-emergency-vpn.core.tradebyte.com:51930"; - persistentKeepalive = 25; - allowedIPs = [ - "10.158.128.0/23" - "10.158.224.0/20" - "10.18.0.0/16" - "10.64.64.0/20" # CPS - "172.31.1.0/24" - ]; - }]; - }; - ops-testing = { - ips = [ "10.254.254.2/30" ]; - privateKeyFile = config.sops.secrets.wireguard_key_ops-testing.path; - peers = [{ - publicKey = "+jZETJfwaRiM+7ys5eYjgiWEAtxP47RzZSCx0w4l2nI="; - endpoint = "3.68.138.217:2048"; - persistentKeepalive = 25; - allowedIPs = [ - "10.254.254.0/30" - "10.250.0.0/16" - ]; - }]; - }; - }; - - services.dnsmasq.settings.server = lib.lists.flatten - ( - map (domain: (map (srv: "/${domain}/${srv}") tradebyteDnsServers)) [ - "vpce-0c1c169d1e33a1c2f-yugtdam1.s3.eu-central-1.vpce.amazonaws.com" - "ccs.tradebyte.com" - "instance.tradebyte.com" - ]) ++ [ - "/internal.production.core.tradebyte.com/10.158.224.2" - "/internal.development.core.tradebyte.com/10.170.254.30" - "/rds.amazonaws.com/9.9.9.9" - "/tradebyte.com/9.9.9.9" - "/tradebyte.org/9.9.9.9" - "/develop.sys.tradebyte.com/10.0.3.1" - "/corp.ad.zalando.net/10.160.19.100" - ]; - services.actkbd = { - enable = true; - bindings = [ - { keys = [ 232 ]; events = [ "key" ]; command = "/run/current-system/sw/bin/brightnessctl s -5%"; } - { keys = [ 233 ]; events = [ "key" ]; command = "/run/current-system/sw/bin/brightnessctl s +5%"; } - ]; - }; - - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It‘s perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "23.11"; # Did you read the comment? - -} - diff --git a/hosts/hafnium/hardware-configuration.nix b/hosts/hafnium/hardware-configuration.nix deleted file mode 100644 index 5e2c719..0000000 --- a/hosts/hafnium/hardware-configuration.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ modulesPath, ... }: - -{ - imports = [ - "${modulesPath}/installer/scan/not-detected.nix" - ]; - - hardware.cpu.amd.updateMicrocode = true; - - boot = { - initrd.availableKernelModules = [ - "nvme" - "ehci_pci" - "xhci_pci" - "usb_storage" - "sd_mod" - "rtsx_pci_sdmmc" - ]; - kernelModules = [ "kvm-amd" ]; - }; - - fileSystems = { - "/" = { - device = "/dev/disk/by-uuid/b86310f5-fe3d-4b4d-bc02-ab0d7e9297cf"; - fsType = "btrfs"; - options = [ - "discard=async" - "noatime" - "subvol=/nixos" - "compress=zstd:6" - ]; - }; - "/boot" = { - device = "/dev/disk/by-uuid/564E-26B4"; - fsType = "vfat"; - options = [ "nodev" "nosuid" "noexec" ]; - }; - }; - - boot.initrd.luks.devices.cryptroot = { - device = "/dev/disk/by-uuid/d9b120c1-5e80-4893-92fe-497e5b44c25b"; - allowDiscards = true; - }; -} diff --git a/hosts/hafnium/secrets.yaml b/hosts/hafnium/secrets.yaml deleted file mode 100644 index f2bf06a..0000000 --- a/hosts/hafnium/secrets.yaml +++ /dev/null @@ -1,42 +0,0 @@ -wireguard_key_tbcore: ENC[AES256_GCM,data:/VdCVC6xciihm2suOiuNabAWPhWPGSyWSKbLKRpy8EK7aXpyxZPybnANc1E=,iv:/LxrjPLzUkHdyT45RIfbfc4Xa3vsnQNiamnbiMdubpg=,tag:N5nFx1QsH9FGiK9DrMg2hQ==,type:str] -wireguard_key_ops-testing: ENC[AES256_GCM,data:FiADGmh3GAK6LI9Y5EEErmoVCfx4So6mN3glnzUWk8zDXJbRYP1Uj1kJiss=,iv:7tEWVT6eeHpekgkO17DXtrO7meFvYo6xV4ZLpGG20PQ=,tag:Mtr2gMnCqfJP5ADyordddw==,type:str] -sops: - kms: [] - gcp_kms: [] - azure_kv: [] - hc_vault: [] - age: - - recipient: age1ahnfjspcpwxxk7getcxkj3fypwt37rr6p3xsmp8n2tqqqz8jtg7q2am0et - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtWlZBSFBKNXJ4QmpDZUpT - NE91ek10QkwxSU1XTE81cGxHZXZmL1JncEY0ClZFbVd5dG14L1hqQlRWTDVkZmpx - V1EzSG9rMC80WTNIZExXOXU1VjcrMk0KLS0tIElWdkh4MzNyeTNteDJTY3RvanQx - ai9YdFdleXNNY2pXQzZMem0vdDdSMjgKvngMU5Y1/Pp+G/a9SyewkN9wr22ZcGP6 - XHHadzk6NE7BJWqquY+2B0Rh3B1Ow+rC8yJd7FhJlHw+i0Bp/d/ESw== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2022-04-21T08:09:31Z" - mac: ENC[AES256_GCM,data:+TB7XQPMQCFAR/0jrUKTgjm2yJ7qJ6Jak3DMbFof7mnGE9LKT+xPKYzPwAM+4aDzngHv1fumD6JCXDoJ4DS95frAVfNVNM1bfB0iVmrtf0PX1y+Em189/hs3bt2YBkvvW9kYJMq0g9VBngX6gwGuaBAFHly1gi6SPMZN4vNRF6g=,iv:DK5OYG+BohxllorP0j9mvQ7MtqVNnBjJ3Nf378scJOA=,tag:lBwsHbY9PlJ2/eMtKcxZxA==,type:str] - pgp: - - created_at: "2022-04-20T21:27:25Z" - enc: | - -----BEGIN PGP MESSAGE----- - - hQIMA6jlFWJ+id7kARAArP1hdPwQk2XyKsXYnSj6vxK81GhfZp3tkYEqsU3Jdpwn - OR+0SnuoNWk4dN4JE4ooS5DOhS0ZaVsglLPtiLLohGWYY4OrX33JHZN4oEa5GMBK - t9b0YNb9owow0MSFN679tmiCMvzXGprT0mdWO3/X/HlKvCcTYPRqul4BVeVR/LyG - V94MSaF3BUwFb4p/Q8jcWfsfH5gmMpiFHQsmtci4LjDHvAVCFzI3AjcbRRJUfO5v - ampZ+9yUNo8Y6btrQQWvMoGpOp6U7cj6rTk+eZuW16/7WbHMz6WSpolDyy01QjzQ - szS5RuACnUTMqG4YWQk90H3Srgq/6CFBVLSTm2h8zdO9UZcgkJRYLTFczbYbyqgN - 2Vpjf0UwIv5MHvdo1QZJeBEl8TxjI5UZY2/UDOb9OZXktcAxW5U0Wy6pZIfUsJpk - GJeAb+P3pLvs62hkNSS+rGoGvLX2u0R/Xvw1btTdLLOeIOPNGF8lau32mBuErIZ9 - 2E44N1qV8uQDkDdvaKpj4ikf/0MURPW4GWXST3K/BwD1Gos2SzVD17kXGGOVdeOP - Q19LSo06h2Cq+zNcyKU4C0IdRPvFLKJbyEN3vDYXGnJK7lqGr/UDDcPgYPHVPn1Q - gTdmAk2e8lZY6O0OP5tth5cMjJZj5msvjbww9J1PA3VnBuo8+17zCJ/IYwCUlEbS - XgEWH0LKnwjG7Ufr8eT0DzeCJoD2U/2h+8/+Q2dc4YqokIPW7VuZhR+HZygVAX65 - 1yT/1z+1Hr6kLr9cDLzjyPRu5rNgZJHc8pxkbrQsT764oclvfbgIcmvko9Fsg4o= - =S5XT - -----END PGP MESSAGE----- - fp: FE170812543DF81393EA56BA5042B8317A10617E - unencrypted_suffix: _unencrypted - version: 3.7.2 diff --git a/modules/default.nix b/modules/default.nix index 6905712..e5fc8af 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -46,7 +46,6 @@ ./sudo.nix ./sway.nix ./tor.nix - ./tradebyte ./udmx.nix ./uefi.nix ./unfree.nix diff --git a/modules/nix.nix b/modules/nix.nix index 5d48e97..65beaa3 100644 --- a/modules/nix.nix +++ b/modules/nix.nix @@ -30,21 +30,7 @@ config = prev.config; }; }) - ] - # Tradebyte access points use legacy crypto - ++ lib.optional config.jalr.tradebyte.enable ( - final: prev: - let - inherit (prev) callPackage; - in - { - wpa_supplicant = prev.wpa_supplicant.overrideAttrs (attrs: { - patches = attrs.patches ++ [ - ./wpa_supplicant/SSL_CTX_set_options-SSL_OP_LEGACY_SERVER_CONNECT.patch - ]; - }); - } - ); + ]; environment.systemPackages = with pkgs; [ cached-nix-shell diff --git a/modules/tradebyte/default.nix b/modules/tradebyte/default.nix deleted file mode 100644 index de83fba..0000000 --- a/modules/tradebyte/default.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ lib, ... }: - -{ - options.jalr = { - tradebyte.enable = lib.mkEnableOption "TB.config"; - }; -} - From 3fe20d2313e616076a191b73c478524230fec0f0 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 15 May 2024 08:47:27 +0000 Subject: [PATCH 294/766] Add element-desktop --- home-manager/modules/communication/default.nix | 1 + home-manager/modules/communication/element-desktop.nix | 7 +++++++ 2 files changed, 8 insertions(+) create mode 100644 home-manager/modules/communication/element-desktop.nix diff --git a/home-manager/modules/communication/default.nix b/home-manager/modules/communication/default.nix index b908afc..e9d1a28 100644 --- a/home-manager/modules/communication/default.nix +++ b/home-manager/modules/communication/default.nix @@ -2,6 +2,7 @@ { imports = [ + ./element-desktop.nix ./mumble.nix ./qtox.nix ./telegram-desktop.nix diff --git a/home-manager/modules/communication/element-desktop.nix b/home-manager/modules/communication/element-desktop.nix new file mode 100644 index 0000000..6cabee6 --- /dev/null +++ b/home-manager/modules/communication/element-desktop.nix @@ -0,0 +1,7 @@ +{ nixosConfig, lib, pkgs, ... }: + +lib.mkIf nixosConfig.jalr.gui.enable { + home.packages = with pkgs; [ + element-desktop + ]; +} From 123fcf6748e2c16eab368286ecc077c47a4b9fee Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 15 May 2024 09:08:20 +0000 Subject: [PATCH 295/766] Improve neovim config for git - Only start in insert mode when editing a commit message (and not when doing a rebase or something else) - Add colorcolumn to indicate maximum line length - Add spell check --- home-manager/modules/git.nix | 1 - home-manager/modules/neovim.nix | 7 +++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/home-manager/modules/git.nix b/home-manager/modules/git.nix index c17c7f5..2bdf690 100644 --- a/home-manager/modules/git.nix +++ b/home-manager/modules/git.nix @@ -13,7 +13,6 @@ extraConfig = { init.defaultBranch = "main"; core.pager = "${pkgs.diff-so-fancy}/bin/diff-so-fancy | less --tabs=4 -RFX"; - core.editor = "${pkgs.neovim}/bin/nvim +star"; diff.sops.textconv = "${pkgs.sops}/bin/sops -d"; pull.ff = "only"; alias.find-merge = "!sh -c 'commit=$0 && branch=\${1:-HEAD} && (git rev-list $commit..$branch --ancestry-path | cat -n; git rev-list $commit..$branch --first-parent | cat -n) | sort -k2 -s | uniq -f1 -d | sort -n | tail -1 | cut -f2'"; diff --git a/home-manager/modules/neovim.nix b/home-manager/modules/neovim.nix index 997a1f9..934a4f8 100644 --- a/home-manager/modules/neovim.nix +++ b/home-manager/modules/neovim.nix @@ -43,6 +43,8 @@ autocmd BufWinLeave * call clearmatches() augroup END + autocmd BufRead COMMIT_EDITMSG startinsert + let g:deoplete#enable_at_startup = 1 sign define LspDiagnosticsSignError text=🟥 @@ -183,4 +185,9 @@ ) ) ); + + xdg.configFile."nvim/ftplugin/gitcommit.vim".text = '' + setlocal spell + setlocal colorcolumn=73 + ''; } From 28e4bb364d85a3178b73de3a52ba27df1be1427f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 15 May 2024 19:00:02 +0000 Subject: [PATCH 296/766] Update repo url for git hooks --- flake.lock | 4 ++-- flake.nix | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 4c76318..1ac3b85 100644 --- a/flake.lock +++ b/flake.lock @@ -157,14 +157,14 @@ "lastModified": 1715609711, "narHash": "sha256-/5u29K0c+4jyQ8x7dUIEUWlz2BoTSZWUP2quPwFCE7M=", "owner": "cachix", - "repo": "pre-commit-hooks.nix", + "repo": "git-hooks.nix", "rev": "c182c876690380f8d3b9557c4609472ebfa1b141", "type": "github" }, "original": { "owner": "cachix", "ref": "master", - "repo": "pre-commit-hooks.nix", + "repo": "git-hooks.nix", "type": "github" } }, diff --git a/flake.nix b/flake.nix index 13dd219..7ccc21f 100644 --- a/flake.nix +++ b/flake.nix @@ -12,7 +12,7 @@ }; nix-pre-commit-hooks = { - url = "github:cachix/pre-commit-hooks.nix/master"; + url = "github:cachix/git-hooks.nix/master"; inputs.flake-utils.follows = "flake-utils"; }; From c36980202eb85f0d888105923b8d8671d4174b58 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 15 May 2024 19:00:32 +0000 Subject: [PATCH 297/766] Add markdown file type settings --- home-manager/modules/neovim.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home-manager/modules/neovim.nix b/home-manager/modules/neovim.nix index 934a4f8..0447001 100644 --- a/home-manager/modules/neovim.nix +++ b/home-manager/modules/neovim.nix @@ -190,4 +190,8 @@ setlocal spell setlocal colorcolumn=73 ''; + xdg.configFile."nvim/ftplugin/markdown.vim".text = '' + setlocal spell + setlocal colorcolumn=81 + ''; } From ee7903d5c0a4d36c3e1981c6e61f0a80f652f4a4 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 15 May 2024 22:46:04 +0000 Subject: [PATCH 298/766] Add caldav integration --- hosts/iron/services/home-assistant.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/iron/services/home-assistant.nix b/hosts/iron/services/home-assistant.nix index e8eea7f..aa76c88 100644 --- a/hosts/iron/services/home-assistant.nix +++ b/hosts/iron/services/home-assistant.nix @@ -66,6 +66,7 @@ in }; extraComponents = [ # See https://www.home-assistant.io/integrations + "caldav" "esphome" "xiaomi_ble" ]; From e58a791325ed1ac27ec885a08a1282251158d60f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 15 May 2024 22:46:15 +0000 Subject: [PATCH 299/766] Add openweathermap integration --- hosts/aluminium/services/home-assistant.nix | 1 + hosts/iron/services/home-assistant.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/hosts/aluminium/services/home-assistant.nix b/hosts/aluminium/services/home-assistant.nix index 1a741d7..79974ef 100644 --- a/hosts/aluminium/services/home-assistant.nix +++ b/hosts/aluminium/services/home-assistant.nix @@ -9,6 +9,7 @@ in extraComponents = [ # See https://www.home-assistant.io/integrations "esphome" + "openweathermap" ]; customComponents = [ # https://github.com/a529987659852/GuntamaticBiostar diff --git a/hosts/iron/services/home-assistant.nix b/hosts/iron/services/home-assistant.nix index aa76c88..2452105 100644 --- a/hosts/iron/services/home-assistant.nix +++ b/hosts/iron/services/home-assistant.nix @@ -68,6 +68,7 @@ in # See https://www.home-assistant.io/integrations "caldav" "esphome" + "openweathermap" "xiaomi_ble" ]; customComponents = [ From 597679ead174c1c69286f1ca16677422d9b6329b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 15 May 2024 22:48:10 +0000 Subject: [PATCH 300/766] Add local_todo integration --- hosts/iron/services/home-assistant.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/iron/services/home-assistant.nix b/hosts/iron/services/home-assistant.nix index 2452105..acbb59d 100644 --- a/hosts/iron/services/home-assistant.nix +++ b/hosts/iron/services/home-assistant.nix @@ -68,6 +68,7 @@ in # See https://www.home-assistant.io/integrations "caldav" "esphome" + "local_todo" "openweathermap" "xiaomi_ble" ]; From 4d283f82e44bb1b09e78205b68e3a84aeacea452 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 17 May 2024 19:48:50 +0200 Subject: [PATCH 301/766] Use local timezone on workstations --- modules/localization.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/localization.nix b/modules/localization.nix index 3c3d813..b1a7ea0 100644 --- a/modules/localization.nix +++ b/modules/localization.nix @@ -1,3 +1,4 @@ +{ lib, config, pkgs, ... }: { i18n = { defaultLocale = "en_GB.UTF-8"; @@ -8,7 +9,7 @@ console.keyMap = "neo"; - time.timeZone = "UTC"; + time.timeZone = if config.jalr.workstation.enable then "Europe/Berlin" else "UTC"; location = { latitude = 49.5; From 633cc6104aa9c29ba212237b74a116ca65436146 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 21 May 2024 21:50:38 +0200 Subject: [PATCH 302/766] Add repl command --- justfile | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/justfile b/justfile index b44ce6d..8d0ac78 100644 --- a/justfile +++ b/justfile @@ -12,3 +12,13 @@ build: update: nix flake update --commit-lock-file which fwupdmgr >/dev/null 2>&1 && fwupdmgr refresh || true + +repl: + nix repl --expr "\ + let \ + flake = builtins.getFlake \"$(git rev-parse --show-toplevel)\"; in \ + flake // { \ + lib = flake.inputs.nixpkgs.lib; \ + pkgs = flake.inputs.nixpkgs.legacyPackages."\${builtins.currentSystem}"; \ + } \ + " From cec9622771d25365892aa23191ae447a8a438636 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 21 May 2024 22:24:38 +0200 Subject: [PATCH 303/766] Switch to 24.05 --- flake.lock | 93 ++++++++++++++++++++++-------------------------------- flake.nix | 6 ++-- 2 files changed, 41 insertions(+), 58 deletions(-) diff --git a/flake.lock b/flake.lock index 1ac3b85..e7d87bb 100644 --- a/flake.lock +++ b/flake.lock @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1710154385, - "narHash": "sha256-4c3zQ2YY4BZOufaBJB4v9VBBeN2dH7iVdoJw8SDNCfI=", + "lastModified": 1716202913, + "narHash": "sha256-zjPNXI4DWBOrPsrK8u/XTsm5Q36quONQvz0jhAKHEeg=", "owner": "nix-community", "repo": "gomod2nix", - "rev": "872b63ddd28f318489c929d25f1f0a3c6039c971", + "rev": "4702caff8e201f4c98fe3583637a930d253447c8", "type": "github" }, "original": { @@ -85,16 +85,16 @@ ] }, "locked": { - "lastModified": 1715381426, - "narHash": "sha256-wPuqrAQGdv3ISs74nJfGb+Yprm23U/rFpcHFFNWgM94=", + "lastModified": 1716736833, + "narHash": "sha256-rNObca6dm7Qs524O4st8VJH6pZ/Xe1gxl+Rx6mcWYo0=", "owner": "nix-community", "repo": "home-manager", - "rev": "ab5542e9dbd13d0100f8baae2bc2d68af901f4b4", + "rev": "a631666f5ec18271e86a5cde998cba68c33d9ac6", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-23.11", + "ref": "release-24.05", "repo": "home-manager", "type": "github" } @@ -146,19 +146,18 @@ "nix-pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat", - "flake-utils": [ - "flake-utils" - ], "gitignore": "gitignore", - "nixpkgs": "nixpkgs", + "nixpkgs": [ + "nixpkgs" + ], "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1715609711, - "narHash": "sha256-/5u29K0c+4jyQ8x7dUIEUWlz2BoTSZWUP2quPwFCE7M=", + "lastModified": 1716213921, + "narHash": "sha256-xrsYFST8ij4QWaV6HEokCUNIZLjjLP1bYC60K8XiBVA=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "c182c876690380f8d3b9557c4609472ebfa1b141", + "rev": "0e8fcc54b842ad8428c9e705cb5994eaf05c26a0", "type": "github" }, "original": { @@ -170,16 +169,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1710765496, - "narHash": "sha256-p7ryWEeQfMwTB6E0wIUd5V2cFTgq+DRRBz2hYGnJZyA=", - "owner": "NixOS", + "lastModified": 1716793392, + "narHash": "sha256-ex3nO87EEQhshXd19QSVW5UIXL0pbPuew4q8TdEJQBY=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "e367f7a1fb93137af22a3908f00b9a35e2d286a7", + "rev": "67a8b308bae9c26be660ccceff3e53a65e01afe1", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", + "owner": "nixos", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } @@ -202,11 +201,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1715458492, - "narHash": "sha256-q0OFeZqKQaik2U8wwGDsELEkgoZMK7gvfF6tTXkpsqE=", + "lastModified": 1716655032, + "narHash": "sha256-kQ25DAiCGigsNR/Quxm3v+JGXAEXZ8I7RAF4U94bGzE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8e47858badee5594292921c2668c11004c3b0142", + "rev": "59a450646ec8ee0397f5fa54a08573e8240eb91f", "type": "github" }, "original": { @@ -218,11 +217,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1715609807, - "narHash": "sha256-QKBJGCDQdkBflKJMa6p7h95opIXhOXv6DL6f1G+YaFI=", + "lastModified": 1716887039, + "narHash": "sha256-u9O9RPH7sXFuAeYECdUsNFmcbnyCnoMrQTvqKzmQeCI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7a689a202cd44d80ea6c7918a40a17887f8c99e6", + "rev": "4c4f6f1395b1fda7ebe6a9106e68d2098f09441d", "type": "github" }, "original": { @@ -232,29 +231,13 @@ "type": "github" } }, - "nixpkgs_2": { - "locked": { - "lastModified": 1715395895, - "narHash": "sha256-DreMqi6+qa21ffLQqhMQL2XRUkAGt3N7iVB5FhJKie4=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "71bae31b7dbc335528ca7e96f479ec93462323ff", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-23.11", - "repo": "nixpkgs", - "type": "github" - } - }, "nur": { "locked": { - "lastModified": 1715608391, - "narHash": "sha256-FMrt7buRO3BwR/9slNN+0F6aI5DhygJFaIdG/USSRhA=", + "lastModified": 1716885908, + "narHash": "sha256-Ij9xCqfSPLJ7UwnOeOf/RzrB2T1QP1AlFyyL+ee4RmU=", "owner": "nix-community", "repo": "NUR", - "rev": "a42f0e5a176713278508c0135c6224ea6ad26a80", + "rev": "731eb0c95af5efa7a8ffb3ca1b5f1a00d8e5db13", "type": "github" }, "original": { @@ -276,11 +259,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1715251496, - "narHash": "sha256-vRBfJCKvJtu5sYev56XStirA3lAOPv0EkoEV2Nfc+tc=", + "lastModified": 1716813403, + "narHash": "sha256-9+G8tEOh3QkjSUV2UMC+TpvzKOR8IUFlkJJTMpVQMkc=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "291a863e866972f356967d0a270b259f46bf987f", + "rev": "12599ecaa9ec641c29dc8fd07f8267b23874bf3a", "type": "github" }, "original": { @@ -296,7 +279,7 @@ "home-manager": "home-manager", "krops": "krops", "nix-pre-commit-hooks": "nix-pre-commit-hooks", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs", "nixpkgsMaster": "nixpkgsMaster", "nur": "nur", "poetry2nix": "poetry2nix", @@ -311,11 +294,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1715482972, - "narHash": "sha256-y1uMzXNlrVOWYj1YNcsGYLm4TOC2aJrwoUY1NjQs9fM=", + "lastModified": 1716692524, + "narHash": "sha256-sALodaA7Zkp/JD6ehgwc0UCBrSBfB4cX66uFGTsqeFU=", "owner": "Mic92", "repo": "sops-nix", - "rev": "b6cb5de2ce57acb10ecdaaf9bbd62a5ff24fa02e", + "rev": "962797a8d7f15ed7033031731d0bb77244839960", "type": "github" }, "original": { @@ -361,11 +344,11 @@ ] }, "locked": { - "lastModified": 1714058656, - "narHash": "sha256-Qv4RBm4LKuO4fNOfx9wl40W2rBbv5u5m+whxRYUMiaA=", + "lastModified": 1715940852, + "narHash": "sha256-wJqHMg/K6X3JGAE9YLM0LsuKrKb4XiBeVaoeMNlReZg=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "c6aaf729f34a36c445618580a9f95a48f5e4e03f", + "rev": "2fba33a182602b9d49f0b2440513e5ee091d838b", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 7ccc21f..51f9a22 100644 --- a/flake.nix +++ b/flake.nix @@ -1,19 +1,19 @@ { inputs = { flake-utils.url = "github:numtide/flake-utils"; - nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; nixpkgsMaster.url = "github:NixOS/nixpkgs/master"; nur.url = "github:nix-community/NUR"; home-manager = { - url = "github:nix-community/home-manager/release-23.11"; + url = "github:nix-community/home-manager/release-24.05"; inputs.nixpkgs.follows = "nixpkgs"; }; nix-pre-commit-hooks = { url = "github:cachix/git-hooks.nix/master"; - inputs.flake-utils.follows = "flake-utils"; + inputs.nixpkgs.follows = "nixpkgs"; }; sops-nix = { From 0bc59075055d7b18b9415197d711fd3e2e79d6c0 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 May 2024 22:22:22 +0200 Subject: [PATCH 304/766] Use official pretix module --- hosts/weinturm-pretix-prod/configuration.nix | 2 +- .../weinturm-pretix-prod/services/pretix.nix | 104 +- pkgs/default.nix | 6 +- pkgs/modules.nix | 2 +- .../default.nix} | 2 +- pkgs/pretix-banktool/module.nix | 60 + .../requirements.patch} | 0 pkgs/pretix/.envrc | 1 - pkgs/pretix/module.nix | 318 -- pkgs/pretix/poetry.lock | 3176 ----------------- pkgs/pretix/pretix-static.nix | 48 - pkgs/pretix/pretix.nix | 60 - pkgs/pretix/pretix_wrapper/__main__.py | 9 - pkgs/pretix/pretix_wrapper/settings.py | 4 - pkgs/pretix/pyproject.toml | 19 - pkgs/pretix/shell.nix | 8 - 16 files changed, 139 insertions(+), 3680 deletions(-) rename pkgs/{pretix/pretix-banktool.nix => pretix-banktool/default.nix} (92%) create mode 100644 pkgs/pretix-banktool/module.nix rename pkgs/{pretix/pretix-banktool-requirements.patch => pretix-banktool/requirements.patch} (100%) delete mode 100644 pkgs/pretix/.envrc delete mode 100644 pkgs/pretix/module.nix delete mode 100644 pkgs/pretix/poetry.lock delete mode 100644 pkgs/pretix/pretix-static.nix delete mode 100644 pkgs/pretix/pretix.nix delete mode 100644 pkgs/pretix/pretix_wrapper/__main__.py delete mode 100644 pkgs/pretix/pretix_wrapper/settings.py delete mode 100644 pkgs/pretix/pyproject.toml delete mode 100644 pkgs/pretix/shell.nix diff --git a/hosts/weinturm-pretix-prod/configuration.nix b/hosts/weinturm-pretix-prod/configuration.nix index b4c9ba8..3a6fc72 100644 --- a/hosts/weinturm-pretix-prod/configuration.nix +++ b/hosts/weinturm-pretix-prod/configuration.nix @@ -51,5 +51,5 @@ uefi.enable = true; }; - system.stateVersion = "23.11"; + system.stateVersion = "24.05"; } diff --git a/hosts/weinturm-pretix-prod/services/pretix.nix b/hosts/weinturm-pretix-prod/services/pretix.nix index 895e166..29edd2b 100644 --- a/hosts/weinturm-pretix-prod/services/pretix.nix +++ b/hosts/weinturm-pretix-prod/services/pretix.nix @@ -1,48 +1,94 @@ args@{ config, lib, pkgs, custom-utils, ... }: let + cfg = config.services.pretix; ports = import ../ports.nix args; + domain = "tickets.weinturm-open-air.de"; + extraDomains = [ + "tickets.weinturm.jalr.de" + "tickets.wasted-openair.de" + "oel.wasted-openair.de" + "tickets.buendnis-gegen-rechts-nea.de" + ]; + gunicornWorkers = 4; + secretsFile = ../secrets.yaml; in { - services.pretix = { - enable = true; - instanceName = "Digitaler Dienst GmbH"; - domain = "tickets.weinturm-open-air.de"; - extraDomains = [ - "tickets.weinturm.jalr.de" - "tickets.wasted-openair.de" - "oel.wasted-openair.de" - "tickets.buendnis-gegen-rechts-nea.de" - ]; - enableTls = true; - enableRegistration = false; - passwordReset = true; - locale = "de"; - timezone = "Europe/Berlin"; - secretsFile = ../secrets.yaml; - banktool = { - enable = true; - days = 14; + sops.secrets = { + pretix-cfg = { + sopsFile = secretsFile; }; - mail = { - enable = true; - from = "no-reply@tickets.weinturm-open-air.de"; - admins = [ - "mail@jalr.de" - "pretix@digitaler-dienst.gmbh" - ]; + pretix-banktool-cfg = { + sopsFile = secretsFile; }; - gunicornWorkers = 4; }; - services.nginx = { + services.pretix = { + enable = true; + settings = { + pretix = { + instance_name = "Digitaler Dienst GmbH"; + url = "https://${domain}"; + registration = false; + password_reset = true; + }; + locale = { + default = "de"; + timezone = "Europe/Berlin"; + }; + mail = { + from = "no-reply@tickets.weinturm-open-air.de"; + }; + redis.location = "unix:///run/redis-pretix/redis.sock?db=0"; + celery.backend = "redis+socket:///run/redis-pretix/redis.sock?virtual_host=2"; + celery.broker = "redis+socket:///run/redis-pretix/redis.sock?virtual_host=1"; + }; + nginx = { + enable = true; + inherit domain; + }; + gunicorn = { + extraArgs = [ + "--workers=${toString gunicornWorkers}" + ]; + }; + }; + + # Add user to `redis-pretix` group + # to grant access to /run/redis-pretix/redis.sock + users.users.pretix.extraGroups = [ "redis-pretix" ]; + + services.pretix-banktool = { + enable = true; + days = 14; + secretsFile = config.sops.secrets.pretix-banktool-cfg.path; + }; + + networking.firewall.allowedTCPPorts = [ 80 443 ]; + + services.nginx = lib.mkIf cfg.nginx.enable { + recommendedGzipSettings = true; recommendedOptimisation = true; + recommendedProxySettings = true; recommendedTlsSettings = true; + virtualHosts = { + "${cfg.nginx.domain}" = { + enableACME = true; + forceSSL = true; + kTLS = true; + extraConfig = '' + add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains; preload' always; + more_set_headers Referrer-Policy same-origin; + more_set_headers X-Content-Type-Options nosniff; + ''; + serverAliases = extraDomains; + }; + }; }; jalr.mailserver = { enable = true; - fqdn = "tickets.weinturm.jalr.de"; + fqdn = "tickets.weinturm-open-air.de"; relayPort = ports.postfix-relay.tcp; domains = [ { diff --git a/pkgs/default.nix b/pkgs/default.nix index 5c352fe..35c5b95 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -17,11 +17,7 @@ in myintercom-doorbell = callPackage ./myintercom-doorbell { inherit poetry2nix; }; - pretix = callPackage ./pretix/pretix.nix { - inherit poetry2nix; - }; - pretix-banktool = callPackage ./pretix/pretix-banktool.nix { }; - pretix-static = callPackage ./pretix/pretix-static.nix { }; + pretix-banktool = callPackage ./pretix-banktool { }; tabbed-box-maker = callPackage ./tabbed-box-maker { }; vesc-firmware = callPackage ./vesc-tool/firmware.nix { }; vesc-tool = callPackage ./vesc-tool/tool.nix { }; diff --git a/pkgs/modules.nix b/pkgs/modules.nix index f61aa63..cdfda2f 100644 --- a/pkgs/modules.nix +++ b/pkgs/modules.nix @@ -4,6 +4,6 @@ imports = [ ./asterisk-sounds-de/module.nix ./myintercom-doorbell/module.nix - ./pretix/module.nix + ./pretix-banktool/module.nix ]; } diff --git a/pkgs/pretix/pretix-banktool.nix b/pkgs/pretix-banktool/default.nix similarity index 92% rename from pkgs/pretix/pretix-banktool.nix rename to pkgs/pretix-banktool/default.nix index f53f6f7..d685c12 100644 --- a/pkgs/pretix/pretix-banktool.nix +++ b/pkgs/pretix-banktool/default.nix @@ -11,7 +11,7 @@ python3Packages.buildPythonApplication rec { }; patches = [ - ./pretix-banktool-requirements.patch + ./requirements.patch ]; buildInputs = with python3Packages; [ diff --git a/pkgs/pretix-banktool/module.nix b/pkgs/pretix-banktool/module.nix new file mode 100644 index 0000000..253a519 --- /dev/null +++ b/pkgs/pretix-banktool/module.nix @@ -0,0 +1,60 @@ +{ config, lib, pkgs, ... }: + +let + cfg = config.services.pretix-banktool; + mkTimer = { description, unit, onCalendar }: { + inherit description; + requires = [ "pretix-migrate.service" ]; + after = [ "network.target" ]; + wantedBy = [ "timers.target" ]; + timerConfig = { + Persistent = true; + OnCalendar = onCalendar; + Unit = unit; + }; + }; +in +{ + options.services.pretix-banktool = with lib; with lib.types; { + enable = mkEnableOption "Enable tool to query bank account and sync transaction data to pretix server."; + days = mkOption { + type = types.int; + description = "The timeframe of transaction to fetch from the bank in days."; + }; + secretsFile = mkOption { + type = types.path; + description = '' + Path of file containing secrets for pretix banktool. + ''; + }; + }; + config = { + systemd.services.pretix-banktool = lib.mkIf cfg.enable { + description = "Tool to query bank account and sync transaction data to pretix server."; + serviceConfig = { + Type = "oneshot"; + DynamicUser = true; + CapabilityBoundingSet = null; + PrivateUsers = true; + ProtectHome = true; + RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictNamespaces = true; + SystemCallFilter = "@system-service"; + LoadCredential = "config:${cfg.secretsFile}"; + }; + script = "${pkgs.pretix-banktool}/bin/pretix-banktool upload \"$CREDENTIALS_DIRECTORY/config\" --days=${toString cfg.days}"; + }; + + systemd.timers.pretix-banktool = lib.mkIf cfg.enable { + description = "Run tool to query bank account and sync transaction data to pretix server."; + after = [ "network.target" ]; + wantedBy = [ "timers.target" ]; + timerConfig = { + Persistent = true; + OnCalendar = "*-*-* *:00:00"; + Unit = "pretix-banktool.service"; + }; + }; + }; +} + diff --git a/pkgs/pretix/pretix-banktool-requirements.patch b/pkgs/pretix-banktool/requirements.patch similarity index 100% rename from pkgs/pretix/pretix-banktool-requirements.patch rename to pkgs/pretix-banktool/requirements.patch diff --git a/pkgs/pretix/.envrc b/pkgs/pretix/.envrc deleted file mode 100644 index 1d953f4..0000000 --- a/pkgs/pretix/.envrc +++ /dev/null @@ -1 +0,0 @@ -use nix diff --git a/pkgs/pretix/module.nix b/pkgs/pretix/module.nix deleted file mode 100644 index c2f851a..0000000 --- a/pkgs/pretix/module.nix +++ /dev/null @@ -1,318 +0,0 @@ -{ config, lib, pkgs, ... }: - -let - cfg = config.services.pretix; - name = "pretix"; - user = "pretix"; - group = "pretix"; - bind = { - host = "127.0.0.1"; - port = 8000; - }; - postgresql = { - database = "pretix"; - user = "pretix"; - password = "pretix"; - }; - redisPort = 6379; - urlScheme = if cfg.enableTls then "https" else "http"; - url = "${urlScheme}://${cfg.domain}"; - toBool = x: if x then "on" else "off"; - hstsHeader = if cfg.enableTls then "add_header Strict-Transport-Security \"max-age=31536000; includeSubDomains; preload\" always;" else ""; - pythonPackages = pkgs.pretix.passthru.pythonModule.passthru.pkgs; - python = pkgs.pretix.passthru.python; - runCommandArgs = { - # Sets PYTHONPATH in derivation - buildInputs = [ - pkgs.pretix - pythonPackages.gunicorn - pythonPackages.celery - ]; - }; - staticRoot = pkgs.pretix-static; - environmentFile = pkgs.runCommand "pretix-environ" runCommandArgs ('' - cat > $out <=4.0,<5.0", markers = "python_version < \"3.11\""} -attrs = ">=17.3.0" -frozenlist = ">=1.1.1" -multidict = ">=4.5,<7.0" -yarl = ">=1.0,<2.0" - -[package.extras] -speedups = ["Brotli", "aiodns", "brotlicffi"] - -[[package]] -name = "aiosignal" -version = "1.3.1" -description = "aiosignal: a list of registered asynchronous callbacks" -optional = false -python-versions = ">=3.7" -files = [ - {file = "aiosignal-1.3.1-py3-none-any.whl", hash = "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"}, - {file = "aiosignal-1.3.1.tar.gz", hash = "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc"}, -] - -[package.dependencies] -frozenlist = ">=1.1.0" - -[[package]] -name = "amqp" -version = "5.2.0" -description = "Low-level AMQP client for Python (fork of amqplib)." -optional = false -python-versions = ">=3.6" -files = [ - {file = "amqp-5.2.0-py3-none-any.whl", hash = "sha256:827cb12fb0baa892aad844fd95258143bce4027fdac4fccddbc43330fd281637"}, - {file = "amqp-5.2.0.tar.gz", hash = "sha256:a1ecff425ad063ad42a486c902807d1482311481c8ad95a72694b2975e75f7fd"}, -] - -[package.dependencies] -vine = ">=5.0.0,<6.0.0" - -[[package]] -name = "arabic-reshaper" -version = "3.0.0" -description = "Reconstruct Arabic sentences to be used in applications that do not support Arabic" -optional = false -python-versions = "*" -files = [ - {file = "arabic_reshaper-3.0.0-py3-none-any.whl", hash = "sha256:3f71d5034bb694204a239a6f1ebcf323ac3c5b059de02259235e2016a1a5e2dc"}, - {file = "arabic_reshaper-3.0.0.tar.gz", hash = "sha256:ffcd13ba5ec007db71c072f5b23f420da92ac7f268512065d49e790e62237099"}, -] - -[package.extras] -with-fonttools = ["fonttools (>=4.0)"] - -[[package]] -name = "asgiref" -version = "3.8.1" -description = "ASGI specs, helper code, and adapters" -optional = false -python-versions = ">=3.8" -files = [ - {file = "asgiref-3.8.1-py3-none-any.whl", hash = "sha256:3e1e3ecc849832fe52ccf2cb6686b7a55f82bb1d6aee72a58826471390335e47"}, - {file = "asgiref-3.8.1.tar.gz", hash = "sha256:c343bd80a0bec947a9860adb4c432ffa7db769836c64238fc34bdc3fec84d590"}, -] - -[package.dependencies] -typing-extensions = {version = ">=4", markers = "python_version < \"3.11\""} - -[package.extras] -tests = ["mypy (>=0.800)", "pytest", "pytest-asyncio"] - -[[package]] -name = "asn1crypto" -version = "1.5.1" -description = "Fast ASN.1 parser and serializer with definitions for private keys, public keys, certificates, CRL, OCSP, CMS, PKCS#3, PKCS#7, PKCS#8, PKCS#12, PKCS#5, X.509 and TSP" -optional = false -python-versions = "*" -files = [ - {file = "asn1crypto-1.5.1-py2.py3-none-any.whl", hash = "sha256:db4e40728b728508912cbb3d44f19ce188f218e9eba635821bb4b68564f8fd67"}, - {file = "asn1crypto-1.5.1.tar.gz", hash = "sha256:13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c"}, -] - -[[package]] -name = "async-timeout" -version = "4.0.3" -description = "Timeout context manager for asyncio programs" -optional = false -python-versions = ">=3.7" -files = [ - {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, - {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, -] - -[[package]] -name = "attrs" -version = "23.2.0" -description = "Classes Without Boilerplate" -optional = false -python-versions = ">=3.7" -files = [ - {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"}, - {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"}, -] - -[package.extras] -cov = ["attrs[tests]", "coverage[toml] (>=5.3)"] -dev = ["attrs[tests]", "pre-commit"] -docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"] -tests = ["attrs[tests-no-zope]", "zope-interface"] -tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"] -tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"] - -[[package]] -name = "babel" -version = "2.14.0" -description = "Internationalization utilities" -optional = false -python-versions = ">=3.7" -files = [ - {file = "Babel-2.14.0-py3-none-any.whl", hash = "sha256:efb1a25b7118e67ce3a259bed20545c29cb68be8ad2c784c83689981b7a57287"}, - {file = "Babel-2.14.0.tar.gz", hash = "sha256:6919867db036398ba21eb5c7a0f6b28ab8cbc3ae7a73a44ebe34ae74a4e7d363"}, -] - -[package.extras] -dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] - -[[package]] -name = "beautifulsoup4" -version = "4.12.3" -description = "Screen-scraping library" -optional = false -python-versions = ">=3.6.0" -files = [ - {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"}, - {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"}, -] - -[package.dependencies] -soupsieve = ">1.2" - -[package.extras] -cchardet = ["cchardet"] -chardet = ["chardet"] -charset-normalizer = ["charset-normalizer"] -html5lib = ["html5lib"] -lxml = ["lxml"] - -[[package]] -name = "billiard" -version = "4.2.0" -description = "Python multiprocessing fork with improvements and bugfixes" -optional = false -python-versions = ">=3.7" -files = [ - {file = "billiard-4.2.0-py3-none-any.whl", hash = "sha256:07aa978b308f334ff8282bd4a746e681b3513db5c9a514cbdd810cbbdc19714d"}, - {file = "billiard-4.2.0.tar.gz", hash = "sha256:9a3c3184cb275aa17a732f93f65b20c525d3d9f253722d26a82194803ade5a2c"}, -] - -[[package]] -name = "bleach" -version = "5.0.1" -description = "An easy safelist-based HTML-sanitizing tool." -optional = false -python-versions = ">=3.7" -files = [ - {file = "bleach-5.0.1-py3-none-any.whl", hash = "sha256:085f7f33c15bd408dd9b17a4ad77c577db66d76203e5984b1bd59baeee948b2a"}, - {file = "bleach-5.0.1.tar.gz", hash = "sha256:0d03255c47eb9bd2f26aa9bb7f2107732e7e8fe195ca2f64709fcf3b0a4a085c"}, -] - -[package.dependencies] -six = ">=1.9.0" -webencodings = "*" - -[package.extras] -css = ["tinycss2 (>=1.1.0,<1.2)"] -dev = ["Sphinx (==4.3.2)", "black (==22.3.0)", "build (==0.8.0)", "flake8 (==4.0.1)", "hashin (==0.17.0)", "mypy (==0.961)", "pip-tools (==6.6.2)", "pytest (==7.1.2)", "tox (==3.25.0)", "twine (==4.0.1)", "wheel (==0.37.1)"] - -[[package]] -name = "cbor2" -version = "5.6.2" -description = "CBOR (de)serializer with extensive tag support" -optional = false -python-versions = ">=3.8" -files = [ - {file = "cbor2-5.6.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:516b8390936bb172ff18d7b609a452eaa51991513628949b0a9bf25cbe5a7129"}, - {file = "cbor2-5.6.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1b8b504b590367a51fe8c0d9b8cb458a614d782d37b24483097e2b1e93ed0fff"}, - {file = "cbor2-5.6.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f687e6731b1198811223576800258a712ddbfdcfa86c0aee2cc8269193e6b96"}, - {file = "cbor2-5.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e94043d99fe779f62a15a5e156768588a2a7047bb3a127fa312ac1135ff5ecb"}, - {file = "cbor2-5.6.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:8af7162fcf7aa2649f02563bdb18b2fa6478b751eee4df0257bffe19ea8f107a"}, - {file = "cbor2-5.6.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ea7ecd81c5c6e02c2635973f52a0dd1e19c0bf5ef51f813d8cd5e3e7ed072726"}, - {file = "cbor2-5.6.2-cp310-cp310-win_amd64.whl", hash = "sha256:3c7f223f1fedc74d33f363d184cb2bab9e4bdf24998f73b5e3bef366d6c41628"}, - {file = "cbor2-5.6.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7ea9e150029c3976c46ee9870b6dcdb0a5baae21008fe3290564886b11aa2b64"}, - {file = "cbor2-5.6.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:922e06710e5cf6f56b82b0b90d2f356aa229b99e570994534206985f675fd307"}, - {file = "cbor2-5.6.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b01a718e083e6de8b43296c3ccdb3aa8af6641f6bbb3ea1700427c6af73db28a"}, - {file = "cbor2-5.6.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac85eb731c524d148f608b9bdb2069fa79e374a10ed5d10a2405eba9a6561e60"}, - {file = "cbor2-5.6.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:03e5b68867b9d89ff2abd14ef7c6d42fbd991adc3e734a19a294935f22a4d05a"}, - {file = "cbor2-5.6.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7221b83000ee01d674572eec1d1caa366eac109d1d32c14d7af9a4aaaf496563"}, - {file = "cbor2-5.6.2-cp311-cp311-win_amd64.whl", hash = "sha256:9aca73b63bdc6561e1a0d38618e78b9c204c942260d51e663c92c4ba6c961684"}, - {file = "cbor2-5.6.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:377cfe9d5560c682486faef6d856226abf8b2801d95fa29d4e5d75b1615eb091"}, - {file = "cbor2-5.6.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fdc564ef2e9228bcd96ec8c6cdaa431a48ab03b3fb8326ead4b3f986330e5b9e"}, - {file = "cbor2-5.6.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d1c0021d9a1f673066de7c8941f71a59abb11909cc355892dda01e79a2b3045"}, - {file = "cbor2-5.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1fde9e704e96751e0729cc58b912d0e77c34387fb6bcceea0817069e8683df45"}, - {file = "cbor2-5.6.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:30e9ba8f4896726ca61869efacda50b6859aff92162ae5a0e192859664f36c81"}, - {file = "cbor2-5.6.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:211a1e18e65ac71e04434ff5b58bde5c53f85b9c5bc92a3c0e2265089d3034f3"}, - {file = "cbor2-5.6.2-cp312-cp312-win_amd64.whl", hash = "sha256:94981277b4bf448a2754c1f34a9d0055a9d1c5a8d102c933ffe95c80f1085bae"}, - {file = "cbor2-5.6.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f70db0ebcf005c25408e8d5cc4b9558c899f13a3e2f8281fa3d3be4894e0e821"}, - {file = "cbor2-5.6.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:22c24fe9ef1696a84b8fd80ff66eb0e5234505d8b9a9711fc6db57bce10771f3"}, - {file = "cbor2-5.6.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a4a3420f80d6b942874d66eaad07658066370df994ddee4125b48b2cbc61ece"}, - {file = "cbor2-5.6.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5b28d8ff0e726224a7429281700c28afe0e665f83f9ae79648cbae3f1a391cbf"}, - {file = "cbor2-5.6.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c10ede9462458998f1b9c488e25fe3763aa2491119b7af472b72bf538d789e24"}, - {file = "cbor2-5.6.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ea686dfb5e54d690e704ce04993bc8ca0052a7cd2d4b13dd333a41cca8a05a05"}, - {file = "cbor2-5.6.2-cp38-cp38-win_amd64.whl", hash = "sha256:22996159b491d545ecfd489392d3c71e5d0afb9a202dfc0edc8b2cf413a58326"}, - {file = "cbor2-5.6.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9faa0712d414a88cc1244c78cd4b28fced44f1827dbd8c1649e3c40588aa670f"}, - {file = "cbor2-5.6.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6031a284d93fc953fc2a2918f261c4f5100905bd064ca3b46961643e7312a828"}, - {file = "cbor2-5.6.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f30c8a9a9df79f26e72d8d5fa51ef08eb250d9869a711bcf9539f1865916c983"}, - {file = "cbor2-5.6.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44bf7457fca23209e14dab8181dff82466a83b72e55b444dbbfe90fa67659492"}, - {file = "cbor2-5.6.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:cc29c068687aa2e7778f63b653f1346065b858427a2555df4dc2191f4a0de8ce"}, - {file = "cbor2-5.6.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:42eaf0f768bd27afcb38135d5bfc361d3a157f1f5c7dddcd8d391f7fa43d9de8"}, - {file = "cbor2-5.6.2-cp39-cp39-win_amd64.whl", hash = "sha256:8839b73befa010358477736680657b9d08c1ed935fd973decb1909712a41afdc"}, - {file = "cbor2-5.6.2-py3-none-any.whl", hash = "sha256:c0b53a65673550fde483724ff683753f49462d392d45d7b6576364b39e76e54c"}, - {file = "cbor2-5.6.2.tar.gz", hash = "sha256:b7513c2dea8868991fad7ef8899890ebcf8b199b9b4461c3c11d7ad3aef4820d"}, -] - -[package.extras] -benchmarks = ["pytest-benchmark (==4.0.0)"] -doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme (>=1.3.0)", "typing-extensions"] -test = ["coverage (>=7)", "hypothesis", "pytest"] - -[[package]] -name = "celery" -version = "5.3.6" -description = "Distributed Task Queue." -optional = false -python-versions = ">=3.8" -files = [ - {file = "celery-5.3.6-py3-none-any.whl", hash = "sha256:9da4ea0118d232ce97dff5ed4974587fb1c0ff5c10042eb15278487cdd27d1af"}, - {file = "celery-5.3.6.tar.gz", hash = "sha256:870cc71d737c0200c397290d730344cc991d13a057534353d124c9380267aab9"}, -] - -[package.dependencies] -billiard = ">=4.2.0,<5.0" -click = ">=8.1.2,<9.0" -click-didyoumean = ">=0.3.0" -click-plugins = ">=1.1.1" -click-repl = ">=0.2.0" -kombu = ">=5.3.4,<6.0" -python-dateutil = ">=2.8.2" -tzdata = ">=2022.7" -vine = ">=5.1.0,<6.0" - -[package.extras] -arangodb = ["pyArango (>=2.0.2)"] -auth = ["cryptography (==41.0.5)"] -azureblockblob = ["azure-storage-blob (>=12.15.0)"] -brotli = ["brotli (>=1.0.0)", "brotlipy (>=0.7.0)"] -cassandra = ["cassandra-driver (>=3.25.0,<4)"] -consul = ["python-consul2 (==0.1.5)"] -cosmosdbsql = ["pydocumentdb (==2.3.5)"] -couchbase = ["couchbase (>=3.0.0)"] -couchdb = ["pycouchdb (==1.14.2)"] -django = ["Django (>=2.2.28)"] -dynamodb = ["boto3 (>=1.26.143)"] -elasticsearch = ["elastic-transport (<=8.10.0)", "elasticsearch (<=8.11.0)"] -eventlet = ["eventlet (>=0.32.0)"] -gevent = ["gevent (>=1.5.0)"] -librabbitmq = ["librabbitmq (>=2.0.0)"] -memcache = ["pylibmc (==1.6.3)"] -mongodb = ["pymongo[srv] (>=4.0.2)"] -msgpack = ["msgpack (==1.0.7)"] -pymemcache = ["python-memcached (==1.59)"] -pyro = ["pyro4 (==4.82)"] -pytest = ["pytest-celery (==0.0.0)"] -redis = ["redis (>=4.5.2,!=4.5.5,<6.0.0)"] -s3 = ["boto3 (>=1.26.143)"] -slmq = ["softlayer-messaging (>=1.0.3)"] -solar = ["ephem (==4.1.5)"] -sqlalchemy = ["sqlalchemy (>=1.4.48,<2.1)"] -sqs = ["boto3 (>=1.26.143)", "kombu[sqs] (>=5.3.0)", "pycurl (>=7.43.0.5)", "urllib3 (>=1.26.16)"] -tblib = ["tblib (>=1.3.0)", "tblib (>=1.5.0)"] -yaml = ["PyYAML (>=3.10)"] -zookeeper = ["kazoo (>=1.3.1)"] -zstd = ["zstandard (==0.22.0)"] - -[[package]] -name = "certifi" -version = "2024.2.2" -description = "Python package for providing Mozilla's CA Bundle." -optional = false -python-versions = ">=3.6" -files = [ - {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"}, - {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, -] - -[[package]] -name = "cffi" -version = "1.16.0" -description = "Foreign Function Interface for Python calling C code." -optional = false -python-versions = ">=3.8" -files = [ - {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"}, - {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"}, - {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"}, - {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"}, - {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"}, - {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"}, - {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"}, - {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"}, - {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"}, - {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"}, - {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"}, - {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"}, - {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"}, - {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"}, - {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"}, - {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"}, - {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"}, - {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"}, - {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"}, - {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"}, - {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"}, - {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"}, - {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"}, - {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"}, - {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"}, - {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"}, - {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"}, - {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"}, - {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"}, - {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"}, - {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"}, - {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"}, -] - -[package.dependencies] -pycparser = "*" - -[[package]] -name = "chardet" -version = "5.2.0" -description = "Universal encoding detector for Python 3" -optional = false -python-versions = ">=3.7" -files = [ - {file = "chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970"}, - {file = "chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7"}, -] - -[[package]] -name = "charset-normalizer" -version = "3.3.2" -description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -optional = false -python-versions = ">=3.7.0" -files = [ - {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, - {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, -] - -[[package]] -name = "click" -version = "8.1.7" -description = "Composable command line interface toolkit" -optional = false -python-versions = ">=3.7" -files = [ - {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, - {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "platform_system == \"Windows\""} - -[[package]] -name = "click-didyoumean" -version = "0.3.1" -description = "Enables git-like *did-you-mean* feature in click" -optional = false -python-versions = ">=3.6.2" -files = [ - {file = "click_didyoumean-0.3.1-py3-none-any.whl", hash = "sha256:5c4bb6007cfea5f2fd6583a2fb6701a22a41eb98957e63d0fac41c10e7c3117c"}, - {file = "click_didyoumean-0.3.1.tar.gz", hash = "sha256:4f82fdff0dbe64ef8ab2279bd6aa3f6a99c3b28c05aa09cbfc07c9d7fbb5a463"}, -] - -[package.dependencies] -click = ">=7" - -[[package]] -name = "click-plugins" -version = "1.1.1" -description = "An extension module for click to enable registering CLI commands via setuptools entry-points." -optional = false -python-versions = "*" -files = [ - {file = "click-plugins-1.1.1.tar.gz", hash = "sha256:46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b"}, - {file = "click_plugins-1.1.1-py2.py3-none-any.whl", hash = "sha256:5d262006d3222f5057fd81e1623d4443e41dcda5dc815c06b442aa3c02889fc8"}, -] - -[package.dependencies] -click = ">=4.0" - -[package.extras] -dev = ["coveralls", "pytest (>=3.6)", "pytest-cov", "wheel"] - -[[package]] -name = "click-repl" -version = "0.3.0" -description = "REPL plugin for Click" -optional = false -python-versions = ">=3.6" -files = [ - {file = "click-repl-0.3.0.tar.gz", hash = "sha256:17849c23dba3d667247dc4defe1757fff98694e90fe37474f3feebb69ced26a9"}, - {file = "click_repl-0.3.0-py3-none-any.whl", hash = "sha256:fb7e06deb8da8de86180a33a9da97ac316751c094c6899382da7feeeeb51b812"}, -] - -[package.dependencies] -click = ">=7.0" -prompt-toolkit = ">=3.0.36" - -[package.extras] -testing = ["pytest (>=7.2.1)", "pytest-cov (>=4.0.0)", "tox (>=4.4.3)"] - -[[package]] -name = "colorama" -version = "0.4.6" -description = "Cross-platform colored terminal text." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -files = [ - {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, - {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, -] - -[[package]] -name = "cryptography" -version = "42.0.5" -description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -optional = false -python-versions = ">=3.7" -files = [ - {file = "cryptography-42.0.5-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:a30596bae9403a342c978fb47d9b0ee277699fa53bbafad14706af51fe543d16"}, - {file = "cryptography-42.0.5-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:b7ffe927ee6531c78f81aa17e684e2ff617daeba7f189f911065b2ea2d526dec"}, - {file = "cryptography-42.0.5-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2424ff4c4ac7f6b8177b53c17ed5d8fa74ae5955656867f5a8affaca36a27abb"}, - {file = "cryptography-42.0.5-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:329906dcc7b20ff3cad13c069a78124ed8247adcac44b10bea1130e36caae0b4"}, - {file = "cryptography-42.0.5-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:b03c2ae5d2f0fc05f9a2c0c997e1bc18c8229f392234e8a0194f202169ccd278"}, - {file = "cryptography-42.0.5-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f8837fe1d6ac4a8052a9a8ddab256bc006242696f03368a4009be7ee3075cdb7"}, - {file = "cryptography-42.0.5-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:0270572b8bd2c833c3981724b8ee9747b3ec96f699a9665470018594301439ee"}, - {file = "cryptography-42.0.5-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:b8cac287fafc4ad485b8a9b67d0ee80c66bf3574f655d3b97ef2e1082360faf1"}, - {file = "cryptography-42.0.5-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:16a48c23a62a2f4a285699dba2e4ff2d1cff3115b9df052cdd976a18856d8e3d"}, - {file = "cryptography-42.0.5-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:2bce03af1ce5a5567ab89bd90d11e7bbdff56b8af3acbbec1faded8f44cb06da"}, - {file = "cryptography-42.0.5-cp37-abi3-win32.whl", hash = "sha256:b6cd2203306b63e41acdf39aa93b86fb566049aeb6dc489b70e34bcd07adca74"}, - {file = "cryptography-42.0.5-cp37-abi3-win_amd64.whl", hash = "sha256:98d8dc6d012b82287f2c3d26ce1d2dd130ec200c8679b6213b3c73c08b2b7940"}, - {file = "cryptography-42.0.5-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:5e6275c09d2badf57aea3afa80d975444f4be8d3bc58f7f80d2a484c6f9485c8"}, - {file = "cryptography-42.0.5-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4985a790f921508f36f81831817cbc03b102d643b5fcb81cd33df3fa291a1a1"}, - {file = "cryptography-42.0.5-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7cde5f38e614f55e28d831754e8a3bacf9ace5d1566235e39d91b35502d6936e"}, - {file = "cryptography-42.0.5-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:7367d7b2eca6513681127ebad53b2582911d1736dc2ffc19f2c3ae49997496bc"}, - {file = "cryptography-42.0.5-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:cd2030f6650c089aeb304cf093f3244d34745ce0cfcc39f20c6fbfe030102e2a"}, - {file = "cryptography-42.0.5-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a2913c5375154b6ef2e91c10b5720ea6e21007412f6437504ffea2109b5a33d7"}, - {file = "cryptography-42.0.5-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:c41fb5e6a5fe9ebcd58ca3abfeb51dffb5d83d6775405305bfa8715b76521922"}, - {file = "cryptography-42.0.5-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:3eaafe47ec0d0ffcc9349e1708be2aaea4c6dd4978d76bf6eb0cb2c13636c6fc"}, - {file = "cryptography-42.0.5-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:1b95b98b0d2af784078fa69f637135e3c317091b615cd0905f8b8a087e86fa30"}, - {file = "cryptography-42.0.5-cp39-abi3-win32.whl", hash = "sha256:1f71c10d1e88467126f0efd484bd44bca5e14c664ec2ede64c32f20875c0d413"}, - {file = "cryptography-42.0.5-cp39-abi3-win_amd64.whl", hash = "sha256:a011a644f6d7d03736214d38832e030d8268bcff4a41f728e6030325fea3e400"}, - {file = "cryptography-42.0.5-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:9481ffe3cf013b71b2428b905c4f7a9a4f76ec03065b05ff499bb5682a8d9ad8"}, - {file = "cryptography-42.0.5-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:ba334e6e4b1d92442b75ddacc615c5476d4ad55cc29b15d590cc6b86efa487e2"}, - {file = "cryptography-42.0.5-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ba3e4a42397c25b7ff88cdec6e2a16c2be18720f317506ee25210f6d31925f9c"}, - {file = "cryptography-42.0.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:111a0d8553afcf8eb02a4fea6ca4f59d48ddb34497aa8706a6cf536f1a5ec576"}, - {file = "cryptography-42.0.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:cd65d75953847815962c84a4654a84850b2bb4aed3f26fadcc1c13892e1e29f6"}, - {file = "cryptography-42.0.5-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:e807b3188f9eb0eaa7bbb579b462c5ace579f1cedb28107ce8b48a9f7ad3679e"}, - {file = "cryptography-42.0.5-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f12764b8fffc7a123f641d7d049d382b73f96a34117e0b637b80643169cec8ac"}, - {file = "cryptography-42.0.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:37dd623507659e08be98eec89323469e8c7b4c1407c85112634ae3dbdb926fdd"}, - {file = "cryptography-42.0.5.tar.gz", hash = "sha256:6fe07eec95dfd477eb9530aef5bead34fec819b3aaf6c5bd6d20565da607bfe1"}, -] - -[package.dependencies] -cffi = {version = ">=1.12", markers = "platform_python_implementation != \"PyPy\""} - -[package.extras] -docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"] -docstest = ["pyenchant (>=1.6.11)", "readme-renderer", "sphinxcontrib-spelling (>=4.0.1)"] -nox = ["nox"] -pep8test = ["check-sdist", "click", "mypy", "ruff"] -sdist = ["build"] -ssh = ["bcrypt (>=3.1.5)"] -test = ["certifi", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] -test-randomorder = ["pytest-randomly"] - -[[package]] -name = "css-inline" -version = "0.13.0" -description = "High-performance library for inlining CSS into HTML 'style' attributes" -optional = false -python-versions = ">=3.7" -files = [ - {file = "css_inline-0.13.0-cp37-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:c06b1cb6e5638328e9f1a62f8a0b760914852834d950b7f6812653231c806ded"}, - {file = "css_inline-0.13.0-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:af66e7dc7e762ab24ebe57f98b7c02ac87cc10457a64b545de923a47694f63f7"}, - {file = "css_inline-0.13.0-cp37-abi3-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:cbe8e5b1379695183a1700a70ad22877731b22e223ad4b7ddbd38b6e3b18b484"}, - {file = "css_inline-0.13.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c4861ed5c62412a7f1db87195cb94cfdb7b2ae1f1b4e10a31df7f6217e49bda"}, - {file = "css_inline-0.13.0-cp37-abi3-manylinux_2_24_aarch64.whl", hash = "sha256:30d7d79b939df4ef14587998ad1be350410b3c19e697d0a445f99c7734fdf15a"}, - {file = "css_inline-0.13.0-cp37-abi3-manylinux_2_24_armv7l.whl", hash = "sha256:0111e8c300676aa47b99f30667583ec0a70914a63377ceefa008f5ba75853df3"}, - {file = "css_inline-0.13.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:c1a8cb1323579bc38e2b9a55fe2ebb9f95dae5774521d1e870a6548069774197"}, - {file = "css_inline-0.13.0-cp37-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:c69ca8e8fca9c4d655de091c126d9d69de82b66e3182abdfb37db54c9532caac"}, - {file = "css_inline-0.13.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:2f843e58e8907614c39f65898ebddb62e893bf49a022f26ac1fa1a7f53591521"}, - {file = "css_inline-0.13.0-cp37-abi3-win32.whl", hash = "sha256:3963e66e20c554798d58759bb282ef763836b4ee2afa2c6e466b2b31d9475f21"}, - {file = "css_inline-0.13.0-cp37-abi3-win_amd64.whl", hash = "sha256:f3403165e511935de3fd702b667fac2b018e080d96ac04918041788ec409f04b"}, - {file = "css_inline-0.13.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:80db07d589361f1ed75c297bd984049918693016c81cf288cc3dc7276653469a"}, - {file = "css_inline-0.13.0-pp310-pypy310_pp73-manylinux_2_24_aarch64.whl", hash = "sha256:00410f5bf5bbc50d6f0aa474750aa2c9ebdc51b37af60e15d1ced7e539608492"}, - {file = "css_inline-0.13.0-pp310-pypy310_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:3814d5060fa874ea88cc7262f0dec79cd83c63d5528fed049434ff4cd725d296"}, - {file = "css_inline-0.13.0-pp37-pypy37_pp73-macosx_10_12_x86_64.whl", hash = "sha256:866dba67fc4065981fc60af72f470e58210eaee59b69ba6ac023f948ee5199b5"}, - {file = "css_inline-0.13.0-pp37-pypy37_pp73-manylinux_2_24_aarch64.whl", hash = "sha256:1fa752b54612e38bfc69083fd77de53df2053bd5f1de2a210e37b3347eb9720d"}, - {file = "css_inline-0.13.0-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:f481d2dfa116c9f1a163c2478b6c4c7d035740a680d19b6cb780677148c595f6"}, - {file = "css_inline-0.13.0-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:206c1cb0700f00a7164d18ce293bdaa4ca6cdfc4640e04ea5724ef1c4937bd64"}, - {file = "css_inline-0.13.0-pp38-pypy38_pp73-manylinux_2_24_aarch64.whl", hash = "sha256:6761771ea8481fdcb00ce25727e08232561a107a8330f012e52276a6fe84e080"}, - {file = "css_inline-0.13.0-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:d7f8399b05d88c4cf48bcea3a9fe4f6cdab9e4def0e608d9c7e9447dd39f2e72"}, - {file = "css_inline-0.13.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:46296fefce679d760cd824cefcdd4f372dbc23232599a99e94612fc46bc0bfbe"}, - {file = "css_inline-0.13.0-pp39-pypy39_pp73-manylinux_2_24_aarch64.whl", hash = "sha256:4c9e4d17a801240e3d23d047f159a997f01c52d441a2529dddb18557068dbf5b"}, - {file = "css_inline-0.13.0-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:551619187c6c2d58442e5b67917e4254cec552e38750be942a871bc118ee56d6"}, - {file = "css_inline-0.13.0.tar.gz", hash = "sha256:d1a8366df670f7db78f5da9f8d4f500b3a5485bc945ec53e43c976b1626853ee"}, -] - -[[package]] -name = "defusedcsv" -version = "2.0.0" -description = "Drop-in replacement for Python's CSV library that tries to mitigate CSV injection attacks" -optional = false -python-versions = "*" -files = [ - {file = "defusedcsv-2.0.0-py3-none-any.whl", hash = "sha256:a7bc3b1ac1ce4f8c6c1e8740466b1b5789b51ca18d918b0099313dc0cdf2cef4"}, - {file = "defusedcsv-2.0.0.tar.gz", hash = "sha256:7612228e54ef1690a19f7aef526709010608e987f9998c89588ef05d9ecfe4d6"}, -] - -[[package]] -name = "dj-static" -version = "0.0.6" -description = "Serve production static files with Django." -optional = false -python-versions = "*" -files = [ - {file = "dj-static-0.0.6.tar.gz", hash = "sha256:032ec1c532617922e6e3e956d504a6fb1acce4fc1c7c94612d0fda21828ce8ef"}, -] - -[package.dependencies] -static3 = "*" - -[[package]] -name = "django" -version = "4.2.11" -description = "A high-level Python web framework that encourages rapid development and clean, pragmatic design." -optional = false -python-versions = ">=3.8" -files = [ - {file = "Django-4.2.11-py3-none-any.whl", hash = "sha256:ddc24a0a8280a0430baa37aff11f28574720af05888c62b7cfe71d219f4599d3"}, - {file = "Django-4.2.11.tar.gz", hash = "sha256:6e6ff3db2d8dd0c986b4eec8554c8e4f919b5c1ff62a5b4390c17aff2ed6e5c4"}, -] - -[package.dependencies] -asgiref = ">=3.6.0,<4" -sqlparse = ">=0.3.1" -tzdata = {version = "*", markers = "sys_platform == \"win32\""} - -[package.extras] -argon2 = ["argon2-cffi (>=19.1.0)"] -bcrypt = ["bcrypt"] - -[[package]] -name = "django-appconf" -version = "1.0.6" -description = "A helper class for handling configuration defaults of packaged apps gracefully." -optional = false -python-versions = ">=3.7" -files = [ - {file = "django-appconf-1.0.6.tar.gz", hash = "sha256:cfe87ea827c4ee04b9a70fab90b86d704cb02f2981f89da8423cb0fabf88efbf"}, - {file = "django_appconf-1.0.6-py3-none-any.whl", hash = "sha256:c3ae442fba1ff7ec830412c5184b17169a7a1e71cf0864a4c3f93cf4c98a1993"}, -] - -[package.dependencies] -django = "*" - -[[package]] -name = "django-bootstrap3" -version = "23.6" -description = "Bootstrap 3 for Django" -optional = false -python-versions = ">=3.8" -files = [ - {file = "django-bootstrap3-23.6.tar.gz", hash = "sha256:f8563b2641bcad3a8626beda979ff697c8375002cbf906fbd49f4be97b0f8a54"}, - {file = "django_bootstrap3-23.6-py3-none-any.whl", hash = "sha256:ba1334104c390ca9dc5b985a8d8ec45fab2c6401e4abb8d3a47d3b225614c3d9"}, -] - -[package.dependencies] -Django = ">=3.2" - -[[package]] -name = "django-compressor" -version = "4.4" -description = "('Compresses linked and inline JavaScript or CSS into single cached files.',)" -optional = false -python-versions = "*" -files = [ - {file = "django_compressor-4.4-py2.py3-none-any.whl", hash = "sha256:6e2b0c0becb9607f5099c2546a824c5b84a6918a34bc37a8a622ffa250313596"}, - {file = "django_compressor-4.4.tar.gz", hash = "sha256:1b0acc9cfba9f69bc38e7c41da9b0d70a20bc95587b643ffef9609cf46064f67"}, -] - -[package.dependencies] -django-appconf = ">=1.0.3" -rcssmin = "1.1.1" -rjsmin = "1.2.1" - -[[package]] -name = "django-countries" -version = "7.5.1" -description = "Provides a country field for Django models." -optional = false -python-versions = "*" -files = [ - {file = "django-countries-7.5.1.tar.gz", hash = "sha256:22915d9b9403932b731622619940a54894a3eb0da9a374e7249c8fc453c122d7"}, - {file = "django_countries-7.5.1-py3-none-any.whl", hash = "sha256:2df707aca7a5e677254bed116cf6021a136ebaccd5c2f46860abd6452bb45521"}, -] - -[package.dependencies] -asgiref = "*" -typing-extensions = "*" - -[package.extras] -dev = ["black", "django", "djangorestframework", "graphene-django", "pytest", "pytest-django", "tox"] -maintainer = ["django", "transifex-client", "zest.releaser[recommended]"] -pyuca = ["pyuca"] -test = ["djangorestframework", "graphene-django", "pytest", "pytest-cov", "pytest-django"] - -[[package]] -name = "django-filter" -version = "24.1" -description = "Django-filter is a reusable Django application for allowing users to filter querysets dynamically." -optional = false -python-versions = ">=3.8" -files = [ - {file = "django-filter-24.1.tar.gz", hash = "sha256:65cb43ce272077e5ac6aae1054d76c121cd6b552e296a82a13921e9371baf8c1"}, - {file = "django_filter-24.1-py3-none-any.whl", hash = "sha256:335bcae6cbd3e984b024841070f567b22faea57594f27d37c52f8f131f8d8621"}, -] - -[package.dependencies] -Django = ">=4.2" - -[[package]] -name = "django-formset-js-improved" -version = "0.5.0.3" -description = "Extend Django formsets with JavaScript" -optional = false -python-versions = "*" -files = [ - {file = "django-formset-js-improved-0.5.0.3.tar.gz", hash = "sha256:6c5a0ffec4fc25ad5f502b914fa6414fb0e43ec5f116a88a2da0090a72f32a4c"}, - {file = "django_formset_js_improved-0.5.0.3-py3-none-any.whl", hash = "sha256:99ff030c427fe412a8a54c6fadc3809f3d65683470b67f68d1d421ce7a09bb94"}, -] - -[package.dependencies] -Django = "*" -django-jquery-js = "*" - -[[package]] -name = "django-formtools" -version = "2.5.1" -description = "A set of high-level abstractions for Django forms" -optional = false -python-versions = ">=3.8" -files = [ - {file = "django-formtools-2.5.1.tar.gz", hash = "sha256:47cb34552c6efca088863d693284d04fc36eaaf350eb21e1a1d935e0df523c93"}, - {file = "django_formtools-2.5.1-py3-none-any.whl", hash = "sha256:bce9b64eda52cc1eef6961cc649cf75aacd1a707c2fff08d6c3efcbc8e7e761a"}, -] - -[package.dependencies] -Django = ">=3.2" - -[[package]] -name = "django-hierarkey" -version = "1.1.0" -description = "Hierarchical key-value store for django" -optional = false -python-versions = "*" -files = [ - {file = "django-hierarkey-1.1.0.tar.gz", hash = "sha256:b0963b760b5bb4b97fe7abc6b7a0f3d2dd23e4741ac4585252af1d47f5ae771a"}, - {file = "django_hierarkey-1.1.0-py3-none-any.whl", hash = "sha256:2be56a6ae79bec1b356e2df22d2781fb6a48bd4bc55635a74a3e468fc0e2046f"}, -] - -[package.dependencies] -python-dateutil = "*" - -[[package]] -name = "django-hijack" -version = "3.4.5" -description = "django-hijack allows superusers to hijack (=login as) and work on behalf of another user." -optional = false -python-versions = "*" -files = [ - {file = "django-hijack-3.4.5.tar.gz", hash = "sha256:7e45b1de786bdc130628e4230b359dde6d8744ecd3bcd668d2b27c5d614a071c"}, - {file = "django_hijack-3.4.5-py3-none-any.whl", hash = "sha256:129cbe75444b163135871a947d38ffb72181f4f2583544703fc9efe083c9ddad"}, -] - -[package.dependencies] -django = ">=3.2" - -[package.extras] -test = ["pytest", "pytest-cov", "pytest-django"] - -[[package]] -name = "django-i18nfield" -version = "1.9.4" -description = "Store internationalized strings in Django models" -optional = false -python-versions = "*" -files = [ - {file = "django-i18nfield-1.9.4.tar.gz", hash = "sha256:f24c209f4fcbf407ec1ebf749b6c182bf4089ef46c3cd0e60fa547955d575d2e"}, - {file = "django_i18nfield-1.9.4-py3-none-any.whl", hash = "sha256:d31bf725b43d6fa0d67a403efb45abf54fc6013ee9135ad55679626df9d0c8ca"}, -] - -[[package]] -name = "django-jquery-js" -version = "3.1.1" -description = "jQuery, bundled up so apps can depend upon it" -optional = false -python-versions = "*" -files = [ - {file = "django-jquery-js-3.1.1.tar.gz", hash = "sha256:308e6472801f89be7c02fa3d06bea6470cfbcab8287db80c64b1093717b8eea9"}, -] - -[package.dependencies] -Django = ">=1.4" - -[[package]] -name = "django-libsass" -version = "0.9" -description = "A django-compressor filter to compile SASS files using libsass" -optional = false -python-versions = "*" -files = [ - {file = "django-libsass-0.9.tar.gz", hash = "sha256:bfbbb55a8950bb40fa04dd416605f92da34ad1f303b10a41abc3232386ec27b5"}, - {file = "django_libsass-0.9-py3-none-any.whl", hash = "sha256:5234d29100889cac79e36a0f44207ec6d275adfd2da1acb6a94b55c89fe2bd97"}, -] - -[package.dependencies] -django-compressor = ">=1.3" -libsass = ">=0.7.0,<1" - -[[package]] -name = "django-localflavor" -version = "4.0" -description = "Country-specific Django helpers" -optional = false -python-versions = "*" -files = [ - {file = "django-localflavor-4.0.tar.gz", hash = "sha256:11859e522dba74aa6dde5a659242b1fbc5efb4dea08e9b77315402bdeca5194e"}, - {file = "django_localflavor-4.0-py3-none-any.whl", hash = "sha256:7a5b1df03ca8e10df9d1b3c2e4314e43383067868183cdf41ab4e7a973694a8b"}, -] - -[package.dependencies] -django = ">=3.2" -python-stdnum = ">=1.6" - -[[package]] -name = "django-markup" -version = "1.8.1" -description = "A generic Django application to convert text with specific markup to html." -optional = false -python-versions = ">=3.7" -files = [ - {file = "django-markup-1.8.1.tar.gz", hash = "sha256:04824880a7afbd19e7b3cdaf0005e759f818b2cc4e3b4f1dd97182b7038a72c9"}, - {file = "django_markup-1.8.1-py2.py3-none-any.whl", hash = "sha256:bf0dabcfc288eac76b6e501357b02383ff7012b48e4005cab58e3c68b5474e07"}, - {file = "django_markup-1.8.1-py3-none-any.whl", hash = "sha256:ab0bbdcb721ec92a2848dd93f47e4a0d01760677ca78789230432298cf82a7c8"}, -] - -[package.dependencies] -django = ">=3.2" - -[package.extras] -all-filter-dependencies = ["bleach (>=3.0)", "docutils (>=0.14)", "markdown (>=2.6.9)", "pygments (>=2.10.0)", "pygments (>=2.2.0)", "python-creole (>=1.3.1)", "smartypants (>=2.0.0)", "textile (>=2.3.16)"] - -[[package]] -name = "django-oauth-toolkit" -version = "2.3.0" -description = "OAuth2 Provider for Django" -optional = false -python-versions = "*" -files = [ - {file = "django-oauth-toolkit-2.3.0.tar.gz", hash = "sha256:cf1cb1a5744672e6bd7d66b4a110a463bcef9cf5ed4f27e29682cc6a4d0df1ed"}, - {file = "django_oauth_toolkit-2.3.0-py3-none-any.whl", hash = "sha256:47dfeab97ec21496f307c2cf3468e64ca08897fa499bf3104366d32005c9111d"}, -] - -[package.dependencies] -django = ">=2.2,<4.0.0 || >4.0.0" -jwcrypto = ">=0.8.0" -oauthlib = ">=3.1.0" -requests = ">=2.13.0" - -[[package]] -name = "django-otp" -version = "1.3.0" -description = "A pluggable framework for adding two-factor authentication to Django using one-time passwords." -optional = false -python-versions = ">=3.7" -files = [ - {file = "django_otp-1.3.0-py3-none-any.whl", hash = "sha256:5277731bc05b6cdbf96aa84ac46018e30ed5fb248086053b0146f925de059060"}, - {file = "django_otp-1.3.0.tar.gz", hash = "sha256:8f4156a3c14ce2aaa31379385eadf388925cd50fc4b5d20a3b944f454c98ff7c"}, -] - -[package.dependencies] -django = ">=3.2" - -[package.extras] -qrcode = ["qrcode"] - -[[package]] -name = "django-phonenumber-field" -version = "7.3.0" -description = "An international phone number field for django models." -optional = false -python-versions = ">=3.8" -files = [ - {file = "django-phonenumber-field-7.3.0.tar.gz", hash = "sha256:f9cdb3de085f99c249328293a3b93d4e5fa440c0c8e3b99eb0d0f54748629797"}, - {file = "django_phonenumber_field-7.3.0-py3-none-any.whl", hash = "sha256:bc6eaa49d1f9d870944f5280258db511e3a1ba5e2fbbed255488dceacae45d06"}, -] - -[package.dependencies] -Django = ">=3.2" - -[package.extras] -phonenumbers = ["phonenumbers (>=7.0.2)"] -phonenumberslite = ["phonenumberslite (>=7.0.2)"] - -[[package]] -name = "django-redis" -version = "5.4.0" -description = "Full featured redis cache backend for Django." -optional = false -python-versions = ">=3.6" -files = [ - {file = "django-redis-5.4.0.tar.gz", hash = "sha256:6a02abaa34b0fea8bf9b707d2c363ab6adc7409950b2db93602e6cb292818c42"}, - {file = "django_redis-5.4.0-py3-none-any.whl", hash = "sha256:ebc88df7da810732e2af9987f7f426c96204bf89319df4c6da6ca9a2942edd5b"}, -] - -[package.dependencies] -Django = ">=3.2" -redis = ">=3,<4.0.0 || >4.0.0,<4.0.1 || >4.0.1" - -[package.extras] -hiredis = ["redis[hiredis] (>=3,!=4.0.0,!=4.0.1)"] - -[[package]] -name = "django-scopes" -version = "2.0.0" -description = "Scope querys in multi-tenant django applications" -optional = false -python-versions = "*" -files = [ - {file = "django-scopes-2.0.0.tar.gz", hash = "sha256:d190d9a2462bce812bc6fdd254e47ba031f6fba3279c8ac7397c671df0a4e54f"}, - {file = "django_scopes-2.0.0-py3-none-any.whl", hash = "sha256:9cf521b4d543ffa2ff6369fb5a1dda03567e862ba89626c01405f3d93ca04724"}, -] - -[package.dependencies] -Django = ">=3.2" - -[[package]] -name = "django-statici18n" -version = "2.4.0" -description = "A Django app that compiles i18n JavaScript catalogs to static files." -optional = false -python-versions = "*" -files = [ - {file = "django-statici18n-2.4.0.tar.gz", hash = "sha256:32660a0d492188751266c800cf4e44005d563bd1e4c91c349e1bd63a6855e270"}, - {file = "django_statici18n-2.4.0-py2.py3-none-any.whl", hash = "sha256:02a96963a8c42aa7a222a2ba0c39d888306e66f375b6c6acc748a3a81035ed52"}, -] - -[package.dependencies] -Django = ">=3.2" -django-appconf = ">=1.0" - -[[package]] -name = "djangorestframework" -version = "3.14.0" -description = "Web APIs for Django, made easy." -optional = false -python-versions = ">=3.6" -files = [ - {file = "djangorestframework-3.14.0-py3-none-any.whl", hash = "sha256:eb63f58c9f218e1a7d064d17a70751f528ed4e1d35547fdade9aaf4cd103fd08"}, - {file = "djangorestframework-3.14.0.tar.gz", hash = "sha256:579a333e6256b09489cbe0a067e66abe55c6595d8926be6b99423786334350c8"}, -] - -[package.dependencies] -django = ">=3.0" -pytz = "*" - -[[package]] -name = "dnspython" -version = "2.6.1" -description = "DNS toolkit" -optional = false -python-versions = ">=3.8" -files = [ - {file = "dnspython-2.6.1-py3-none-any.whl", hash = "sha256:5ef3b9680161f6fa89daf8ad451b5f1a33b18ae8a1c6778cdf4b43f08c0a6e50"}, - {file = "dnspython-2.6.1.tar.gz", hash = "sha256:e8f0f9c23a7b7cb99ded64e6c3a6f3e701d78f50c55e002b839dea7225cff7cc"}, -] - -[package.extras] -dev = ["black (>=23.1.0)", "coverage (>=7.0)", "flake8 (>=7)", "mypy (>=1.8)", "pylint (>=3)", "pytest (>=7.4)", "pytest-cov (>=4.1.0)", "sphinx (>=7.2.0)", "twine (>=4.0.0)", "wheel (>=0.42.0)"] -dnssec = ["cryptography (>=41)"] -doh = ["h2 (>=4.1.0)", "httpcore (>=1.0.0)", "httpx (>=0.26.0)"] -doq = ["aioquic (>=0.9.25)"] -idna = ["idna (>=3.6)"] -trio = ["trio (>=0.23)"] -wmi = ["wmi (>=1.5.1)"] - -[[package]] -name = "drf-ujson2" -version = "1.7.2" -description = "Django Rest Framework UJSON Renderer" -optional = false -python-versions = ">=3.6" -files = [ - {file = "drf_ujson2-1.7.2-py3-none-any.whl", hash = "sha256:5fead7ee1cccafd08137a845ddb1f153415519519ddfd9de5bcadfacb70ceb0b"}, - {file = "drf_ujson2-1.7.2.tar.gz", hash = "sha256:ae550e861280e7166232ccbfcb4e950059d88f7123abb02019bed48f8e2dbdbb"}, -] - -[package.dependencies] -django = "*" -djangorestframework = "*" -ujson = ">=2.0.1" - -[package.extras] -dev = ["pytest", "pytest-cov", "pytest-django", "pytest-mock", "pytest-runner"] - -[[package]] -name = "elementpath" -version = "4.4.0" -description = "XPath 1.0/2.0/3.0/3.1 parsers and selectors for ElementTree and lxml" -optional = false -python-versions = ">=3.8" -files = [ - {file = "elementpath-4.4.0-py3-none-any.whl", hash = "sha256:cda092281afe508ece1bf65373905b30196c9426f3730cfea46059e103a131bd"}, - {file = "elementpath-4.4.0.tar.gz", hash = "sha256:dfc4b8ca3d87966dcb0df40b5b6d04a98f053683271930fad9e7fa000924dfb2"}, -] - -[package.extras] -dev = ["Sphinx", "coverage", "flake8", "lxml", "lxml-stubs", "memory-profiler", "memray", "mypy", "tox", "xmlschema (>=2.0.0)"] - -[[package]] -name = "et-xmlfile" -version = "1.1.0" -description = "An implementation of lxml.xmlfile for the standard library" -optional = false -python-versions = ">=3.6" -files = [ - {file = "et_xmlfile-1.1.0-py3-none-any.whl", hash = "sha256:a2ba85d1d6a74ef63837eed693bcb89c3f752169b0e3e7ae5b16ca5e1b3deada"}, - {file = "et_xmlfile-1.1.0.tar.gz", hash = "sha256:8eb9e2bc2f8c97e37a2dc85a09ecdcdec9d8a396530a6d5a33b30b9a92da0c5c"}, -] - -[[package]] -name = "frozenlist" -version = "1.4.1" -description = "A list-like structure which implements collections.abc.MutableSequence" -optional = false -python-versions = ">=3.8" -files = [ - {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f9aa1878d1083b276b0196f2dfbe00c9b7e752475ed3b682025ff20c1c1f51ac"}, - {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:29acab3f66f0f24674b7dc4736477bcd4bc3ad4b896f5f45379a67bce8b96868"}, - {file = "frozenlist-1.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:74fb4bee6880b529a0c6560885fce4dc95936920f9f20f53d99a213f7bf66776"}, - {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:590344787a90ae57d62511dd7c736ed56b428f04cd8c161fcc5e7232c130c69a"}, - {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:068b63f23b17df8569b7fdca5517edef76171cf3897eb68beb01341131fbd2ad"}, - {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c849d495bf5154cd8da18a9eb15db127d4dba2968d88831aff6f0331ea9bd4c"}, - {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9750cc7fe1ae3b1611bb8cfc3f9ec11d532244235d75901fb6b8e42ce9229dfe"}, - {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9b2de4cf0cdd5bd2dee4c4f63a653c61d2408055ab77b151c1957f221cabf2a"}, - {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0633c8d5337cb5c77acbccc6357ac49a1770b8c487e5b3505c57b949b4b82e98"}, - {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:27657df69e8801be6c3638054e202a135c7f299267f1a55ed3a598934f6c0d75"}, - {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:f9a3ea26252bd92f570600098783d1371354d89d5f6b7dfd87359d669f2109b5"}, - {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:4f57dab5fe3407b6c0c1cc907ac98e8a189f9e418f3b6e54d65a718aaafe3950"}, - {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e02a0e11cf6597299b9f3bbd3f93d79217cb90cfd1411aec33848b13f5c656cc"}, - {file = "frozenlist-1.4.1-cp310-cp310-win32.whl", hash = "sha256:a828c57f00f729620a442881cc60e57cfcec6842ba38e1b19fd3e47ac0ff8dc1"}, - {file = "frozenlist-1.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:f56e2333dda1fe0f909e7cc59f021eba0d2307bc6f012a1ccf2beca6ba362439"}, - {file = "frozenlist-1.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a0cb6f11204443f27a1628b0e460f37fb30f624be6051d490fa7d7e26d4af3d0"}, - {file = "frozenlist-1.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b46c8ae3a8f1f41a0d2ef350c0b6e65822d80772fe46b653ab6b6274f61d4a49"}, - {file = "frozenlist-1.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fde5bd59ab5357e3853313127f4d3565fc7dad314a74d7b5d43c22c6a5ed2ced"}, - {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:722e1124aec435320ae01ee3ac7bec11a5d47f25d0ed6328f2273d287bc3abb0"}, - {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2471c201b70d58a0f0c1f91261542a03d9a5e088ed3dc6c160d614c01649c106"}, - {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c757a9dd70d72b076d6f68efdbb9bc943665ae954dad2801b874c8c69e185068"}, - {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f146e0911cb2f1da549fc58fc7bcd2b836a44b79ef871980d605ec392ff6b0d2"}, - {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f9c515e7914626b2a2e1e311794b4c35720a0be87af52b79ff8e1429fc25f19"}, - {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c302220494f5c1ebeb0912ea782bcd5e2f8308037b3c7553fad0e48ebad6ad82"}, - {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:442acde1e068288a4ba7acfe05f5f343e19fac87bfc96d89eb886b0363e977ec"}, - {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:1b280e6507ea8a4fa0c0a7150b4e526a8d113989e28eaaef946cc77ffd7efc0a"}, - {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:fe1a06da377e3a1062ae5fe0926e12b84eceb8a50b350ddca72dc85015873f74"}, - {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:db9e724bebd621d9beca794f2a4ff1d26eed5965b004a97f1f1685a173b869c2"}, - {file = "frozenlist-1.4.1-cp311-cp311-win32.whl", hash = "sha256:e774d53b1a477a67838a904131c4b0eef6b3d8a651f8b138b04f748fccfefe17"}, - {file = "frozenlist-1.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:fb3c2db03683b5767dedb5769b8a40ebb47d6f7f45b1b3e3b4b51ec8ad9d9825"}, - {file = "frozenlist-1.4.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:1979bc0aeb89b33b588c51c54ab0161791149f2461ea7c7c946d95d5f93b56ae"}, - {file = "frozenlist-1.4.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cc7b01b3754ea68a62bd77ce6020afaffb44a590c2289089289363472d13aedb"}, - {file = "frozenlist-1.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c9c92be9fd329ac801cc420e08452b70e7aeab94ea4233a4804f0915c14eba9b"}, - {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c3894db91f5a489fc8fa6a9991820f368f0b3cbdb9cd8849547ccfab3392d86"}, - {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ba60bb19387e13597fb059f32cd4d59445d7b18b69a745b8f8e5db0346f33480"}, - {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8aefbba5f69d42246543407ed2461db31006b0f76c4e32dfd6f42215a2c41d09"}, - {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780d3a35680ced9ce682fbcf4cb9c2bad3136eeff760ab33707b71db84664e3a"}, - {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9acbb16f06fe7f52f441bb6f413ebae6c37baa6ef9edd49cdd567216da8600cd"}, - {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:23b701e65c7b36e4bf15546a89279bd4d8675faabc287d06bbcfac7d3c33e1e6"}, - {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:3e0153a805a98f5ada7e09826255ba99fb4f7524bb81bf6b47fb702666484ae1"}, - {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:dd9b1baec094d91bf36ec729445f7769d0d0cf6b64d04d86e45baf89e2b9059b"}, - {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:1a4471094e146b6790f61b98616ab8e44f72661879cc63fa1049d13ef711e71e"}, - {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5667ed53d68d91920defdf4035d1cdaa3c3121dc0b113255124bcfada1cfa1b8"}, - {file = "frozenlist-1.4.1-cp312-cp312-win32.whl", hash = "sha256:beee944ae828747fd7cb216a70f120767fc9f4f00bacae8543c14a6831673f89"}, - {file = "frozenlist-1.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:64536573d0a2cb6e625cf309984e2d873979709f2cf22839bf2d61790b448ad5"}, - {file = "frozenlist-1.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:20b51fa3f588ff2fe658663db52a41a4f7aa6c04f6201449c6c7c476bd255c0d"}, - {file = "frozenlist-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:410478a0c562d1a5bcc2f7ea448359fcb050ed48b3c6f6f4f18c313a9bdb1826"}, - {file = "frozenlist-1.4.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c6321c9efe29975232da3bd0af0ad216800a47e93d763ce64f291917a381b8eb"}, - {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48f6a4533887e189dae092f1cf981f2e3885175f7a0f33c91fb5b7b682b6bab6"}, - {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6eb73fa5426ea69ee0e012fb59cdc76a15b1283d6e32e4f8dc4482ec67d1194d"}, - {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fbeb989b5cc29e8daf7f976b421c220f1b8c731cbf22b9130d8815418ea45887"}, - {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:32453c1de775c889eb4e22f1197fe3bdfe457d16476ea407472b9442e6295f7a"}, - {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693945278a31f2086d9bf3df0fe8254bbeaef1fe71e1351c3bd730aa7d31c41b"}, - {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1d0ce09d36d53bbbe566fe296965b23b961764c0bcf3ce2fa45f463745c04701"}, - {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3a670dc61eb0d0eb7080890c13de3066790f9049b47b0de04007090807c776b0"}, - {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:dca69045298ce5c11fd539682cff879cc1e664c245d1c64da929813e54241d11"}, - {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:a06339f38e9ed3a64e4c4e43aec7f59084033647f908e4259d279a52d3757d09"}, - {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b7f2f9f912dca3934c1baec2e4585a674ef16fe00218d833856408c48d5beee7"}, - {file = "frozenlist-1.4.1-cp38-cp38-win32.whl", hash = "sha256:e7004be74cbb7d9f34553a5ce5fb08be14fb33bc86f332fb71cbe5216362a497"}, - {file = "frozenlist-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:5a7d70357e7cee13f470c7883a063aae5fe209a493c57d86eb7f5a6f910fae09"}, - {file = "frozenlist-1.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bfa4a17e17ce9abf47a74ae02f32d014c5e9404b6d9ac7f729e01562bbee601e"}, - {file = "frozenlist-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b7e3ed87d4138356775346e6845cccbe66cd9e207f3cd11d2f0b9fd13681359d"}, - {file = "frozenlist-1.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c99169d4ff810155ca50b4da3b075cbde79752443117d89429595c2e8e37fed8"}, - {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edb678da49d9f72c9f6c609fbe41a5dfb9a9282f9e6a2253d5a91e0fc382d7c0"}, - {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6db4667b187a6742b33afbbaf05a7bc551ffcf1ced0000a571aedbb4aa42fc7b"}, - {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55fdc093b5a3cb41d420884cdaf37a1e74c3c37a31f46e66286d9145d2063bd0"}, - {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82e8211d69a4f4bc360ea22cd6555f8e61a1bd211d1d5d39d3d228b48c83a897"}, - {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89aa2c2eeb20957be2d950b85974b30a01a762f3308cd02bb15e1ad632e22dc7"}, - {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d3e0c25a2350080e9319724dede4f31f43a6c9779be48021a7f4ebde8b2d742"}, - {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7268252af60904bf52c26173cbadc3a071cece75f873705419c8681f24d3edea"}, - {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:0c250a29735d4f15321007fb02865f0e6b6a41a6b88f1f523ca1596ab5f50bd5"}, - {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:96ec70beabbd3b10e8bfe52616a13561e58fe84c0101dd031dc78f250d5128b9"}, - {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:23b2d7679b73fe0e5a4560b672a39f98dfc6f60df63823b0a9970525325b95f6"}, - {file = "frozenlist-1.4.1-cp39-cp39-win32.whl", hash = "sha256:a7496bfe1da7fb1a4e1cc23bb67c58fab69311cc7d32b5a99c2007b4b2a0e932"}, - {file = "frozenlist-1.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:e6a20a581f9ce92d389a8c7d7c3dd47c81fd5d6e655c8dddf341e14aa48659d0"}, - {file = "frozenlist-1.4.1-py3-none-any.whl", hash = "sha256:04ced3e6a46b4cfffe20f9ae482818e34eba9b5fb0ce4056e4cc9b6e212d09b7"}, - {file = "frozenlist-1.4.1.tar.gz", hash = "sha256:c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b"}, -] - -[[package]] -name = "geoip2" -version = "4.8.0" -description = "MaxMind GeoIP2 API" -optional = false -python-versions = ">=3.8" -files = [ - {file = "geoip2-4.8.0-py2.py3-none-any.whl", hash = "sha256:39b38ec703575355d10475c0e6aa981827a2b4b5471d308c4ecb5e79cbe366ce"}, - {file = "geoip2-4.8.0.tar.gz", hash = "sha256:dd9cc180b7d41724240ea481d5d539149e65b234f64282b231b9170794a9ac35"}, -] - -[package.dependencies] -aiohttp = ">=3.6.2,<4.0.0" -maxminddb = ">=2.5.1,<3.0.0" -requests = ">=2.24.0,<3.0.0" -setuptools = ">=60.0.0" - -[package.extras] -test = ["mocket (>=3.11.1)"] - -[[package]] -name = "idna" -version = "3.6" -description = "Internationalized Domain Names in Applications (IDNA)" -optional = false -python-versions = ">=3.5" -files = [ - {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"}, - {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"}, -] - -[[package]] -name = "importlib-metadata" -version = "7.1.0" -description = "Read metadata from Python packages" -optional = false -python-versions = ">=3.8" -files = [ - {file = "importlib_metadata-7.1.0-py3-none-any.whl", hash = "sha256:30962b96c0c223483ed6cc7280e7f0199feb01a0e40cfae4d4450fc6fab1f570"}, - {file = "importlib_metadata-7.1.0.tar.gz", hash = "sha256:b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2"}, -] - -[package.dependencies] -zipp = ">=0.5" - -[package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -perf = ["ipython"] -testing = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"] - -[[package]] -name = "isodate" -version = "0.6.1" -description = "An ISO 8601 date/time/duration parser and formatter" -optional = false -python-versions = "*" -files = [ - {file = "isodate-0.6.1-py2.py3-none-any.whl", hash = "sha256:0751eece944162659049d35f4f549ed815792b38793f07cf73381c1c87cbed96"}, - {file = "isodate-0.6.1.tar.gz", hash = "sha256:48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9"}, -] - -[package.dependencies] -six = "*" - -[[package]] -name = "isoweek" -version = "1.3.3" -description = "Objects representing a week" -optional = false -python-versions = "*" -files = [ - {file = "isoweek-1.3.3-py2.py3-none-any.whl", hash = "sha256:d3324c497d97f1534669de225ec877964222e4cc773a4a99063086f7a4e342b6"}, - {file = "isoweek-1.3.3.tar.gz", hash = "sha256:73f3f7bac443e05a3ab45c32a72048b0c4f26d53d81462ec4b142c7581d3ffe8"}, -] - -[[package]] -name = "jsonschema" -version = "4.21.1" -description = "An implementation of JSON Schema validation for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "jsonschema-4.21.1-py3-none-any.whl", hash = "sha256:7996507afae316306f9e2290407761157c6f78002dcf7419acb99822143d1c6f"}, - {file = "jsonschema-4.21.1.tar.gz", hash = "sha256:85727c00279f5fa6bedbe6238d2aa6403bedd8b4864ab11207d07df3cc1b2ee5"}, -] - -[package.dependencies] -attrs = ">=22.2.0" -jsonschema-specifications = ">=2023.03.6" -referencing = ">=0.28.4" -rpds-py = ">=0.7.1" - -[package.extras] -format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"] -format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=1.11)"] - -[[package]] -name = "jsonschema-specifications" -version = "2023.12.1" -description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" -optional = false -python-versions = ">=3.8" -files = [ - {file = "jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c"}, - {file = "jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc"}, -] - -[package.dependencies] -referencing = ">=0.31.0" - -[[package]] -name = "jwcrypto" -version = "1.5.6" -description = "Implementation of JOSE Web standards" -optional = false -python-versions = ">= 3.8" -files = [ - {file = "jwcrypto-1.5.6-py3-none-any.whl", hash = "sha256:150d2b0ebbdb8f40b77f543fb44ffd2baeff48788be71f67f03566692fd55789"}, - {file = "jwcrypto-1.5.6.tar.gz", hash = "sha256:771a87762a0c081ae6166958a954f80848820b2ab066937dc8b8379d65b1b039"}, -] - -[package.dependencies] -cryptography = ">=3.4" -typing-extensions = ">=4.5.0" - -[[package]] -name = "kombu" -version = "5.3.6" -description = "Messaging library for Python." -optional = false -python-versions = ">=3.8" -files = [ - {file = "kombu-5.3.6-py3-none-any.whl", hash = "sha256:49f1e62b12369045de2662f62cc584e7df83481a513db83b01f87b5b9785e378"}, - {file = "kombu-5.3.6.tar.gz", hash = "sha256:f3da5b570a147a5da8280180aa80b03807283d63ea5081fcdb510d18242431d9"}, -] - -[package.dependencies] -amqp = ">=5.1.1,<6.0.0" -vine = "*" - -[package.extras] -azureservicebus = ["azure-servicebus (>=7.10.0)"] -azurestoragequeues = ["azure-identity (>=1.12.0)", "azure-storage-queue (>=12.6.0)"] -confluentkafka = ["confluent-kafka (>=2.2.0)"] -consul = ["python-consul2"] -librabbitmq = ["librabbitmq (>=2.0.0)"] -mongodb = ["pymongo (>=4.1.1)"] -msgpack = ["msgpack"] -pyro = ["pyro4"] -qpid = ["qpid-python (>=0.26)", "qpid-tools (>=0.26)"] -redis = ["redis (>=4.5.2,!=4.5.5,!=5.0.2)"] -slmq = ["softlayer-messaging (>=1.0.3)"] -sqlalchemy = ["sqlalchemy (>=1.4.48,<2.1)"] -sqs = ["boto3 (>=1.26.143)", "pycurl (>=7.43.0.5)", "urllib3 (>=1.26.16)"] -yaml = ["PyYAML (>=3.10)"] -zookeeper = ["kazoo (>=2.8.0)"] - -[[package]] -name = "libsass" -version = "0.23.0" -description = "Sass for Python: A straightforward binding of libsass for Python." -optional = false -python-versions = ">=3.8" -files = [ - {file = "libsass-0.23.0-cp38-abi3-macosx_11_0_x86_64.whl", hash = "sha256:34cae047cbbfc4ffa832a61cbb110f3c95f5471c6170c842d3fed161e40814dc"}, - {file = "libsass-0.23.0-cp38-abi3-macosx_14_0_arm64.whl", hash = "sha256:ea97d1b45cdc2fc3590cb9d7b60f1d8915d3ce17a98c1f2d4dd47ee0d9c68ce6"}, - {file = "libsass-0.23.0-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:4a218406d605f325d234e4678bd57126a66a88841cb95bee2caeafdc6f138306"}, - {file = "libsass-0.23.0-cp38-abi3-win32.whl", hash = "sha256:31e86d92a5c7a551df844b72d83fc2b5e50abc6fbbb31e296f7bebd6489ed1b4"}, - {file = "libsass-0.23.0-cp38-abi3-win_amd64.whl", hash = "sha256:a2ec85d819f353cbe807432d7275d653710d12b08ec7ef61c124a580a8352f3c"}, - {file = "libsass-0.23.0.tar.gz", hash = "sha256:6f209955ede26684e76912caf329f4ccb57e4a043fd77fe0e7348dd9574f1880"}, -] - -[[package]] -name = "lxml" -version = "5.1.0" -description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." -optional = false -python-versions = ">=3.6" -files = [ - {file = "lxml-5.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:704f5572ff473a5f897745abebc6df40f22d4133c1e0a1f124e4f2bd3330ff7e"}, - {file = "lxml-5.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9d3c0f8567ffe7502d969c2c1b809892dc793b5d0665f602aad19895f8d508da"}, - {file = "lxml-5.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5fcfbebdb0c5d8d18b84118842f31965d59ee3e66996ac842e21f957eb76138c"}, - {file = "lxml-5.1.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2f37c6d7106a9d6f0708d4e164b707037b7380fcd0b04c5bd9cae1fb46a856fb"}, - {file = "lxml-5.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2befa20a13f1a75c751f47e00929fb3433d67eb9923c2c0b364de449121f447c"}, - {file = "lxml-5.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22b7ee4c35f374e2c20337a95502057964d7e35b996b1c667b5c65c567d2252a"}, - {file = "lxml-5.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:bf8443781533b8d37b295016a4b53c1494fa9a03573c09ca5104550c138d5c05"}, - {file = "lxml-5.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:82bddf0e72cb2af3cbba7cec1d2fd11fda0de6be8f4492223d4a268713ef2147"}, - {file = "lxml-5.1.0-cp310-cp310-win32.whl", hash = "sha256:b66aa6357b265670bb574f050ffceefb98549c721cf28351b748be1ef9577d93"}, - {file = "lxml-5.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:4946e7f59b7b6a9e27bef34422f645e9a368cb2be11bf1ef3cafc39a1f6ba68d"}, - {file = "lxml-5.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:14deca1460b4b0f6b01f1ddc9557704e8b365f55c63070463f6c18619ebf964f"}, - {file = "lxml-5.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ed8c3d2cd329bf779b7ed38db176738f3f8be637bb395ce9629fc76f78afe3d4"}, - {file = "lxml-5.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:436a943c2900bb98123b06437cdd30580a61340fbdb7b28aaf345a459c19046a"}, - {file = "lxml-5.1.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:acb6b2f96f60f70e7f34efe0c3ea34ca63f19ca63ce90019c6cbca6b676e81fa"}, - {file = "lxml-5.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:af8920ce4a55ff41167ddbc20077f5698c2e710ad3353d32a07d3264f3a2021e"}, - {file = "lxml-5.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7cfced4a069003d8913408e10ca8ed092c49a7f6cefee9bb74b6b3e860683b45"}, - {file = "lxml-5.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9e5ac3437746189a9b4121db2a7b86056ac8786b12e88838696899328fc44bb2"}, - {file = "lxml-5.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f4c9bda132ad108b387c33fabfea47866af87f4ea6ffb79418004f0521e63204"}, - {file = "lxml-5.1.0-cp311-cp311-win32.whl", hash = "sha256:bc64d1b1dab08f679fb89c368f4c05693f58a9faf744c4d390d7ed1d8223869b"}, - {file = "lxml-5.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:a5ab722ae5a873d8dcee1f5f45ddd93c34210aed44ff2dc643b5025981908cda"}, - {file = "lxml-5.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:9aa543980ab1fbf1720969af1d99095a548ea42e00361e727c58a40832439114"}, - {file = "lxml-5.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6f11b77ec0979f7e4dc5ae081325a2946f1fe424148d3945f943ceaede98adb8"}, - {file = "lxml-5.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a36c506e5f8aeb40680491d39ed94670487ce6614b9d27cabe45d94cd5d63e1e"}, - {file = "lxml-5.1.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f643ffd2669ffd4b5a3e9b41c909b72b2a1d5e4915da90a77e119b8d48ce867a"}, - {file = "lxml-5.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16dd953fb719f0ffc5bc067428fc9e88f599e15723a85618c45847c96f11f431"}, - {file = "lxml-5.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:16018f7099245157564d7148165132c70adb272fb5a17c048ba70d9cc542a1a1"}, - {file = "lxml-5.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:82cd34f1081ae4ea2ede3d52f71b7be313756e99b4b5f829f89b12da552d3aa3"}, - {file = "lxml-5.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:19a1bc898ae9f06bccb7c3e1dfd73897ecbbd2c96afe9095a6026016e5ca97b8"}, - {file = "lxml-5.1.0-cp312-cp312-win32.whl", hash = "sha256:13521a321a25c641b9ea127ef478b580b5ec82aa2e9fc076c86169d161798b01"}, - {file = "lxml-5.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:1ad17c20e3666c035db502c78b86e58ff6b5991906e55bdbef94977700c72623"}, - {file = "lxml-5.1.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:24ef5a4631c0b6cceaf2dbca21687e29725b7c4e171f33a8f8ce23c12558ded1"}, - {file = "lxml-5.1.0-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8d2900b7f5318bc7ad8631d3d40190b95ef2aa8cc59473b73b294e4a55e9f30f"}, - {file = "lxml-5.1.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:601f4a75797d7a770daed8b42b97cd1bb1ba18bd51a9382077a6a247a12aa38d"}, - {file = "lxml-5.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4b68c961b5cc402cbd99cca5eb2547e46ce77260eb705f4d117fd9c3f932b95"}, - {file = "lxml-5.1.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:afd825e30f8d1f521713a5669b63657bcfe5980a916c95855060048b88e1adb7"}, - {file = "lxml-5.1.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:262bc5f512a66b527d026518507e78c2f9c2bd9eb5c8aeeb9f0eb43fcb69dc67"}, - {file = "lxml-5.1.0-cp36-cp36m-win32.whl", hash = "sha256:e856c1c7255c739434489ec9c8aa9cdf5179785d10ff20add308b5d673bed5cd"}, - {file = "lxml-5.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:c7257171bb8d4432fe9d6fdde4d55fdbe663a63636a17f7f9aaba9bcb3153ad7"}, - {file = "lxml-5.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b9e240ae0ba96477682aa87899d94ddec1cc7926f9df29b1dd57b39e797d5ab5"}, - {file = "lxml-5.1.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a96f02ba1bcd330807fc060ed91d1f7a20853da6dd449e5da4b09bfcc08fdcf5"}, - {file = "lxml-5.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e3898ae2b58eeafedfe99e542a17859017d72d7f6a63de0f04f99c2cb125936"}, - {file = "lxml-5.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61c5a7edbd7c695e54fca029ceb351fc45cd8860119a0f83e48be44e1c464862"}, - {file = "lxml-5.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:3aeca824b38ca78d9ee2ab82bd9883083d0492d9d17df065ba3b94e88e4d7ee6"}, - {file = "lxml-5.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8f52fe6859b9db71ee609b0c0a70fea5f1e71c3462ecf144ca800d3f434f0764"}, - {file = "lxml-5.1.0-cp37-cp37m-win32.whl", hash = "sha256:d42e3a3fc18acc88b838efded0e6ec3edf3e328a58c68fbd36a7263a874906c8"}, - {file = "lxml-5.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:eac68f96539b32fce2c9b47eb7c25bb2582bdaf1bbb360d25f564ee9e04c542b"}, - {file = "lxml-5.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ae15347a88cf8af0949a9872b57a320d2605ae069bcdf047677318bc0bba45b1"}, - {file = "lxml-5.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c26aab6ea9c54d3bed716b8851c8bfc40cb249b8e9880e250d1eddde9f709bf5"}, - {file = "lxml-5.1.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:342e95bddec3a698ac24378d61996b3ee5ba9acfeb253986002ac53c9a5f6f84"}, - {file = "lxml-5.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:725e171e0b99a66ec8605ac77fa12239dbe061482ac854d25720e2294652eeaa"}, - {file = "lxml-5.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d184e0d5c918cff04cdde9dbdf9600e960161d773666958c9d7b565ccc60c45"}, - {file = "lxml-5.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:98f3f020a2b736566c707c8e034945c02aa94e124c24f77ca097c446f81b01f1"}, - {file = "lxml-5.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6d48fc57e7c1e3df57be5ae8614bab6d4e7b60f65c5457915c26892c41afc59e"}, - {file = "lxml-5.1.0-cp38-cp38-win32.whl", hash = "sha256:7ec465e6549ed97e9f1e5ed51c657c9ede767bc1c11552f7f4d022c4df4a977a"}, - {file = "lxml-5.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:b21b4031b53d25b0858d4e124f2f9131ffc1530431c6d1321805c90da78388d1"}, - {file = "lxml-5.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:52427a7eadc98f9e62cb1368a5079ae826f94f05755d2d567d93ee1bc3ceb354"}, - {file = "lxml-5.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6a2a2c724d97c1eb8cf966b16ca2915566a4904b9aad2ed9a09c748ffe14f969"}, - {file = "lxml-5.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:843b9c835580d52828d8f69ea4302537337a21e6b4f1ec711a52241ba4a824f3"}, - {file = "lxml-5.1.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9b99f564659cfa704a2dd82d0684207b1aadf7d02d33e54845f9fc78e06b7581"}, - {file = "lxml-5.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f8b0c78e7aac24979ef09b7f50da871c2de2def043d468c4b41f512d831e912"}, - {file = "lxml-5.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9bcf86dfc8ff3e992fed847c077bd875d9e0ba2fa25d859c3a0f0f76f07f0c8d"}, - {file = "lxml-5.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:49a9b4af45e8b925e1cd6f3b15bbba2c81e7dba6dce170c677c9cda547411e14"}, - {file = "lxml-5.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:280f3edf15c2a967d923bcfb1f8f15337ad36f93525828b40a0f9d6c2ad24890"}, - {file = "lxml-5.1.0-cp39-cp39-win32.whl", hash = "sha256:ed7326563024b6e91fef6b6c7a1a2ff0a71b97793ac33dbbcf38f6005e51ff6e"}, - {file = "lxml-5.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:8d7b4beebb178e9183138f552238f7e6613162a42164233e2bda00cb3afac58f"}, - {file = "lxml-5.1.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9bd0ae7cc2b85320abd5e0abad5ccee5564ed5f0cc90245d2f9a8ef330a8deae"}, - {file = "lxml-5.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8c1d679df4361408b628f42b26a5d62bd3e9ba7f0c0e7969f925021554755aa"}, - {file = "lxml-5.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:2ad3a8ce9e8a767131061a22cd28fdffa3cd2dc193f399ff7b81777f3520e372"}, - {file = "lxml-5.1.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:304128394c9c22b6569eba2a6d98392b56fbdfbad58f83ea702530be80d0f9df"}, - {file = "lxml-5.1.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d74fcaf87132ffc0447b3c685a9f862ffb5b43e70ea6beec2fb8057d5d2a1fea"}, - {file = "lxml-5.1.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:8cf5877f7ed384dabfdcc37922c3191bf27e55b498fecece9fd5c2c7aaa34c33"}, - {file = "lxml-5.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:877efb968c3d7eb2dad540b6cabf2f1d3c0fbf4b2d309a3c141f79c7e0061324"}, - {file = "lxml-5.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f14a4fb1c1c402a22e6a341a24c1341b4a3def81b41cd354386dcb795f83897"}, - {file = "lxml-5.1.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:25663d6e99659544ee8fe1b89b1a8c0aaa5e34b103fab124b17fa958c4a324a6"}, - {file = "lxml-5.1.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:8b9f19df998761babaa7f09e6bc169294eefafd6149aaa272081cbddc7ba4ca3"}, - {file = "lxml-5.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e53d7e6a98b64fe54775d23a7c669763451340c3d44ad5e3a3b48a1efbdc96f"}, - {file = "lxml-5.1.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c3cd1fc1dc7c376c54440aeaaa0dcc803d2126732ff5c6b68ccd619f2e64be4f"}, - {file = "lxml-5.1.0.tar.gz", hash = "sha256:3eea6ed6e6c918e468e693c41ef07f3c3acc310b70ddd9cc72d9ef84bc9564ca"}, -] - -[package.extras] -cssselect = ["cssselect (>=0.7)"] -html5 = ["html5lib"] -htmlsoup = ["BeautifulSoup4"] -source = ["Cython (>=3.0.7)"] - -[[package]] -name = "markdown" -version = "3.6" -description = "Python implementation of John Gruber's Markdown." -optional = false -python-versions = ">=3.8" -files = [ - {file = "Markdown-3.6-py3-none-any.whl", hash = "sha256:48f276f4d8cfb8ce6527c8f79e2ee29708508bf4d40aa410fbc3b4ee832c850f"}, - {file = "Markdown-3.6.tar.gz", hash = "sha256:ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224"}, -] - -[package.extras] -docs = ["mdx-gh-links (>=0.2)", "mkdocs (>=1.5)", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-nature (>=0.6)", "mkdocs-section-index", "mkdocstrings[python]"] -testing = ["coverage", "pyyaml"] - -[[package]] -name = "maxminddb" -version = "2.6.0" -description = "Reader for the MaxMind DB format" -optional = false -python-versions = ">=3.8" -files = [ - {file = "maxminddb-2.6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4ec0e12623b53b3548239f0082bc2417e71543e2e5b7b4f49c56545f52013f7f"}, - {file = "maxminddb-2.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:568ad9f34ec4118e7e1b9b583c086576ac68add40232ae57a2b1d4bd4834705e"}, - {file = "maxminddb-2.6.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0626df312d92e8b34ab1bf12921ac44a05a82a70f611f3bb6ed5b55668344849"}, - {file = "maxminddb-2.6.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:f1b5149c8064e9d47d98d382ed54037f0ba25ca9c1e2b1d1cd9958c3808ced44"}, - {file = "maxminddb-2.6.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:dfa11a83c615a7cfd407e47cc6b8576aad2322bc6ce4af2b6a916fb634a5556e"}, - {file = "maxminddb-2.6.0-cp310-cp310-win32.whl", hash = "sha256:d1fcf83866b77faf501eba458cc59760d8945a310ba53a8d47d9bb04592cb1cb"}, - {file = "maxminddb-2.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:2ba1c6cc68316dec14b1251741d5b5c7538ccebc6aadddc61fd870e090adfdff"}, - {file = "maxminddb-2.6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:695466fe8933430d53894f91ce3a468383a6c1a2f89eeddd05dad21377ea94d9"}, - {file = "maxminddb-2.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e02868d8081e6cadfe0cd8e7dc577c172a7dd78b65bbafff89b8b2bec41e493"}, - {file = "maxminddb-2.6.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:31f6819ed566668e890937aadc79373cf9de20378ac76f323628863d8f3d1383"}, - {file = "maxminddb-2.6.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:725b01b6cb4b744b846041168b02dcf05908ce02e544aa35d64dbcf2448efd05"}, - {file = "maxminddb-2.6.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:af8c4792272f85b0f9da70f3c3670bc3163590d5c9964412ed47ab3f31138c21"}, - {file = "maxminddb-2.6.0-cp311-cp311-win32.whl", hash = "sha256:50b0318222b99b27cb3abff3f85983e36a33fb785445402930b28d2c3fe320d0"}, - {file = "maxminddb-2.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:db4919488de1215650316284fe079f07b463d4c5f96ce01b338adaac8f35936d"}, - {file = "maxminddb-2.6.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cda00948032969affce349588ee8638eae97f47b8b10b4064e7e9bf6bda3410d"}, - {file = "maxminddb-2.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:16c2619779abe6baa722e6d65500393a6ea8fe5a3ce24bb02564defb020f51cd"}, - {file = "maxminddb-2.6.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eee0250b6cfc30eca89f06fc4d455aad51f657da05612dfe6207aa9be870edb7"}, - {file = "maxminddb-2.6.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:61f7f6b12264d52eba5235580edecd0bad0aac7c1c5ba0a0970373c5d19b81d7"}, - {file = "maxminddb-2.6.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f223183a9e5c8e2044f6347c07b71deab4dac36d44de46163ff3358cb4f909c8"}, - {file = "maxminddb-2.6.0-cp312-cp312-win32.whl", hash = "sha256:42c58ad0e5c70bbaedd3b681b172000256f4710c6c2180221c9f43f826381c00"}, - {file = "maxminddb-2.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:c9168f0251bbb6806fd85dea7e145b53163f3e74626bf65b8b62b24121bbb038"}, - {file = "maxminddb-2.6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:fa897a9ae335559d26d63656d4d34f4a9a0e63be3cb67624fdcd448b7d010536"}, - {file = "maxminddb-2.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6508bd089be94174608c0d95f95983b891daa07181eef4aaae2ff55930a3022b"}, - {file = "maxminddb-2.6.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c9ebcd1603ace5768934668e940bc3f7a23973b06c833031bb3ef1ff6d5193bf"}, - {file = "maxminddb-2.6.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:541650f00ecaff32b486ca0a89fd74a2493e35e0cfe1142b4a66b852de6e00c4"}, - {file = "maxminddb-2.6.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b15df0645f067c229cafdbc5160c3a0512b3ec16f3c77252dc83341312329fc9"}, - {file = "maxminddb-2.6.0-cp38-cp38-win32.whl", hash = "sha256:0dfe9b4af5870a60b9abaaa898b458d2af2338cabe2f8fa6c7d74bf473f1d01a"}, - {file = "maxminddb-2.6.0-cp38-cp38-win_amd64.whl", hash = "sha256:fa1f45ca2b2b60bd3c88cea33bb8ca948f3dd44795049477248c804e2c02b726"}, - {file = "maxminddb-2.6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f50300386c030a1152c1c97a02f880bc80bc8ddff500b782fd41334382f0dbda"}, - {file = "maxminddb-2.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e5647563d11f57df239988371db2eeed8246ad4673eb3d798892d1812e5d653"}, - {file = "maxminddb-2.6.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9df22644fe0b022f8dbdd56bc066ce02d29a67e5d7a543949f1bd43638234ce9"}, - {file = "maxminddb-2.6.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:74eb211e4a755d6f8b9704239c42d06cdcb42beb2030a707d629e8db092faf72"}, - {file = "maxminddb-2.6.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:313afcdaeda32e5249093a0672bd1276261511ddc93e52fb2dda87061f1ba154"}, - {file = "maxminddb-2.6.0-cp39-cp39-win32.whl", hash = "sha256:6883311bdd673d27781cbb8e06cc623aef497aa970e5e532cb79a13460955d09"}, - {file = "maxminddb-2.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:2e9c672952c5ed22bf7aae69830116a9d0747d9abd9ebcfe375d31432fdea2e8"}, - {file = "maxminddb-2.6.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c79c1892e0b582660f1d821b0b68bb6100ca60dc13cfc2553e3c12939907fa75"}, - {file = "maxminddb-2.6.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8a06f0f16bb502887fada29b2d9f3cec4c6e44e230fdf0cc67452fa0232f7c"}, - {file = "maxminddb-2.6.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2f036479418ed91ec019c7ef6e3e6757797a16891dbf8829d9c1b74e2a5feb5b"}, - {file = "maxminddb-2.6.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:6ec791c115dbfa20d0a4d4f0a2c336886f6abb30025a6ac2eb42b94c581bdd67"}, - {file = "maxminddb-2.6.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a6e028be4c38d9c11a408a2fbd89626d0bbf1eb89996bf0beaf1e11453937bd6"}, - {file = "maxminddb-2.6.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:048e85e74828d1c7327df4ca452a4b859dd2ca2b9746c978fe613138cae65b97"}, - {file = "maxminddb-2.6.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8d126f0d2784d53aa613c009b89677bbf88defb3bf7a66e9b8e60e0859f23aa4"}, - {file = "maxminddb-2.6.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:fb8d69564a3b682d8f1dd79a97b52f6525a2a4939ef9a23c7b108ec2f973a42a"}, - {file = "maxminddb-2.6.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a2864cb9093d89b5ccfcdd124da6b8feb3cc3ac7891ab5b43b7131a8a0050bd9"}, - {file = "maxminddb-2.6.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e90b8be14ded4f01f71c23034600b088594417e42a7bbdd132e87d923246db0e"}, - {file = "maxminddb-2.6.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4e7a0735a04545386df64eb8bc9aea9971b172584066e0d88af8404ba6ccbbd9"}, - {file = "maxminddb-2.6.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:5ee2e5138ef28b7cf920fedb313b0e605bc66bd2d46c9abcd9656d18ed4eb660"}, - {file = "maxminddb-2.6.0.tar.gz", hash = "sha256:c5b91c62bc274d0a83ac88088a6db2dac1301acb8aa7bf80a901a07120361e1d"}, -] - -[[package]] -name = "mt-940" -version = "4.30.0" -description = "A library to parse MT940 files and returns smart Python collections for statistics and manipulation." -optional = false -python-versions = "*" -files = [ - {file = "mt-940-4.30.0.tar.gz", hash = "sha256:da14e2ec84d6c6e85604d2a6b8a800b08ec6000351acde501c41eb662819295c"}, - {file = "mt_940-4.30.0-py2.py3-none-any.whl", hash = "sha256:66fa0c1e942478fd7970b791be017b1ca46556f54d44115008f3982e97ae0a9b"}, -] - -[package.extras] -docs = ["GitPython (>=2.1.9)", "sphinx (>=1.7.2)", "sphinx2rst"] -tests = ["flake8", "pytest", "pytest-cache", "pytest-cover", "pytest-flake8", "pyyaml"] - -[[package]] -name = "multidict" -version = "6.0.5" -description = "multidict implementation" -optional = false -python-versions = ">=3.7" -files = [ - {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:228b644ae063c10e7f324ab1ab6b548bdf6f8b47f3ec234fef1093bc2735e5f9"}, - {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:896ebdcf62683551312c30e20614305f53125750803b614e9e6ce74a96232604"}, - {file = "multidict-6.0.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:411bf8515f3be9813d06004cac41ccf7d1cd46dfe233705933dd163b60e37600"}, - {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d147090048129ce3c453f0292e7697d333db95e52616b3793922945804a433c"}, - {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:215ed703caf15f578dca76ee6f6b21b7603791ae090fbf1ef9d865571039ade5"}, - {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c6390cf87ff6234643428991b7359b5f59cc15155695deb4eda5c777d2b880f"}, - {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fd81c4ebdb4f214161be351eb5bcf385426bf023041da2fd9e60681f3cebae"}, - {file = "multidict-6.0.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3cc2ad10255f903656017363cd59436f2111443a76f996584d1077e43ee51182"}, - {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6939c95381e003f54cd4c5516740faba40cf5ad3eeff460c3ad1d3e0ea2549bf"}, - {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:220dd781e3f7af2c2c1053da9fa96d9cf3072ca58f057f4c5adaaa1cab8fc442"}, - {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:766c8f7511df26d9f11cd3a8be623e59cca73d44643abab3f8c8c07620524e4a"}, - {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:fe5d7785250541f7f5019ab9cba2c71169dc7d74d0f45253f8313f436458a4ef"}, - {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c1c1496e73051918fcd4f58ff2e0f2f3066d1c76a0c6aeffd9b45d53243702cc"}, - {file = "multidict-6.0.5-cp310-cp310-win32.whl", hash = "sha256:7afcdd1fc07befad18ec4523a782cde4e93e0a2bf71239894b8d61ee578c1319"}, - {file = "multidict-6.0.5-cp310-cp310-win_amd64.whl", hash = "sha256:99f60d34c048c5c2fabc766108c103612344c46e35d4ed9ae0673d33c8fb26e8"}, - {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f285e862d2f153a70586579c15c44656f888806ed0e5b56b64489afe4a2dbfba"}, - {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:53689bb4e102200a4fafa9de9c7c3c212ab40a7ab2c8e474491914d2305f187e"}, - {file = "multidict-6.0.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:612d1156111ae11d14afaf3a0669ebf6c170dbb735e510a7438ffe2369a847fd"}, - {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7be7047bd08accdb7487737631d25735c9a04327911de89ff1b26b81745bd4e3"}, - {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de170c7b4fe6859beb8926e84f7d7d6c693dfe8e27372ce3b76f01c46e489fcf"}, - {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04bde7a7b3de05732a4eb39c94574db1ec99abb56162d6c520ad26f83267de29"}, - {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85f67aed7bb647f93e7520633d8f51d3cbc6ab96957c71272b286b2f30dc70ed"}, - {file = "multidict-6.0.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425bf820055005bfc8aa9a0b99ccb52cc2f4070153e34b701acc98d201693733"}, - {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d3eb1ceec286eba8220c26f3b0096cf189aea7057b6e7b7a2e60ed36b373b77f"}, - {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7901c05ead4b3fb75113fb1dd33eb1253c6d3ee37ce93305acd9d38e0b5f21a4"}, - {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e0e79d91e71b9867c73323a3444724d496c037e578a0e1755ae159ba14f4f3d1"}, - {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:29bfeb0dff5cb5fdab2023a7a9947b3b4af63e9c47cae2a10ad58394b517fddc"}, - {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e030047e85cbcedbfc073f71836d62dd5dadfbe7531cae27789ff66bc551bd5e"}, - {file = "multidict-6.0.5-cp311-cp311-win32.whl", hash = "sha256:2f4848aa3baa109e6ab81fe2006c77ed4d3cd1e0ac2c1fbddb7b1277c168788c"}, - {file = "multidict-6.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:2faa5ae9376faba05f630d7e5e6be05be22913782b927b19d12b8145968a85ea"}, - {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:51d035609b86722963404f711db441cf7134f1889107fb171a970c9701f92e1e"}, - {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cbebcd5bcaf1eaf302617c114aa67569dd3f090dd0ce8ba9e35e9985b41ac35b"}, - {file = "multidict-6.0.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2ffc42c922dbfddb4a4c3b438eb056828719f07608af27d163191cb3e3aa6cc5"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ceb3b7e6a0135e092de86110c5a74e46bda4bd4fbfeeb3a3bcec79c0f861e450"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:79660376075cfd4b2c80f295528aa6beb2058fd289f4c9252f986751a4cd0496"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4428b29611e989719874670fd152b6625500ad6c686d464e99f5aaeeaca175a"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d84a5c3a5f7ce6db1f999fb9438f686bc2e09d38143f2d93d8406ed2dd6b9226"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76c0de87358b192de7ea9649beb392f107dcad9ad27276324c24c91774ca5271"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:79a6d2ba910adb2cbafc95dad936f8b9386e77c84c35bc0add315b856d7c3abb"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:92d16a3e275e38293623ebf639c471d3e03bb20b8ebb845237e0d3664914caef"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:fb616be3538599e797a2017cccca78e354c767165e8858ab5116813146041a24"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:14c2976aa9038c2629efa2c148022ed5eb4cb939e15ec7aace7ca932f48f9ba6"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:435a0984199d81ca178b9ae2c26ec3d49692d20ee29bc4c11a2a8d4514c67eda"}, - {file = "multidict-6.0.5-cp312-cp312-win32.whl", hash = "sha256:9fe7b0653ba3d9d65cbe7698cca585bf0f8c83dbbcc710db9c90f478e175f2d5"}, - {file = "multidict-6.0.5-cp312-cp312-win_amd64.whl", hash = "sha256:01265f5e40f5a17f8241d52656ed27192be03bfa8764d88e8220141d1e4b3556"}, - {file = "multidict-6.0.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:19fe01cea168585ba0f678cad6f58133db2aa14eccaf22f88e4a6dccadfad8b3"}, - {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bf7a982604375a8d49b6cc1b781c1747f243d91b81035a9b43a2126c04766f5"}, - {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:107c0cdefe028703fb5dafe640a409cb146d44a6ae201e55b35a4af8e95457dd"}, - {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:403c0911cd5d5791605808b942c88a8155c2592e05332d2bf78f18697a5fa15e"}, - {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aeaf541ddbad8311a87dd695ed9642401131ea39ad7bc8cf3ef3967fd093b626"}, - {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e4972624066095e52b569e02b5ca97dbd7a7ddd4294bf4e7247d52635630dd83"}, - {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d946b0a9eb8aaa590df1fe082cee553ceab173e6cb5b03239716338629c50c7a"}, - {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b55358304d7a73d7bdf5de62494aaf70bd33015831ffd98bc498b433dfe5b10c"}, - {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:a3145cb08d8625b2d3fee1b2d596a8766352979c9bffe5d7833e0503d0f0b5e5"}, - {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:d65f25da8e248202bd47445cec78e0025c0fe7582b23ec69c3b27a640dd7a8e3"}, - {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c9bf56195c6bbd293340ea82eafd0071cb3d450c703d2c93afb89f93b8386ccc"}, - {file = "multidict-6.0.5-cp37-cp37m-win32.whl", hash = "sha256:69db76c09796b313331bb7048229e3bee7928eb62bab5e071e9f7fcc4879caee"}, - {file = "multidict-6.0.5-cp37-cp37m-win_amd64.whl", hash = "sha256:fce28b3c8a81b6b36dfac9feb1de115bab619b3c13905b419ec71d03a3fc1423"}, - {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:76f067f5121dcecf0d63a67f29080b26c43c71a98b10c701b0677e4a065fbd54"}, - {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b82cc8ace10ab5bd93235dfaab2021c70637005e1ac787031f4d1da63d493c1d"}, - {file = "multidict-6.0.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5cb241881eefd96b46f89b1a056187ea8e9ba14ab88ba632e68d7a2ecb7aadf7"}, - {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8e94e6912639a02ce173341ff62cc1201232ab86b8a8fcc05572741a5dc7d93"}, - {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09a892e4a9fb47331da06948690ae38eaa2426de97b4ccbfafbdcbe5c8f37ff8"}, - {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55205d03e8a598cfc688c71ca8ea5f66447164efff8869517f175ea632c7cb7b"}, - {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37b15024f864916b4951adb95d3a80c9431299080341ab9544ed148091b53f50"}, - {file = "multidict-6.0.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2a1dee728b52b33eebff5072817176c172050d44d67befd681609b4746e1c2e"}, - {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:edd08e6f2f1a390bf137080507e44ccc086353c8e98c657e666c017718561b89"}, - {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:60d698e8179a42ec85172d12f50b1668254628425a6bd611aba022257cac1386"}, - {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:3d25f19500588cbc47dc19081d78131c32637c25804df8414463ec908631e453"}, - {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:4cc0ef8b962ac7a5e62b9e826bd0cd5040e7d401bc45a6835910ed699037a461"}, - {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:eca2e9d0cc5a889850e9bbd68e98314ada174ff6ccd1129500103df7a94a7a44"}, - {file = "multidict-6.0.5-cp38-cp38-win32.whl", hash = "sha256:4a6a4f196f08c58c59e0b8ef8ec441d12aee4125a7d4f4fef000ccb22f8d7241"}, - {file = "multidict-6.0.5-cp38-cp38-win_amd64.whl", hash = "sha256:0275e35209c27a3f7951e1ce7aaf93ce0d163b28948444bec61dd7badc6d3f8c"}, - {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e7be68734bd8c9a513f2b0cfd508802d6609da068f40dc57d4e3494cefc92929"}, - {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1d9ea7a7e779d7a3561aade7d596649fbecfa5c08a7674b11b423783217933f9"}, - {file = "multidict-6.0.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ea1456df2a27c73ce51120fa2f519f1bea2f4a03a917f4a43c8707cf4cbbae1a"}, - {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf590b134eb70629e350691ecca88eac3e3b8b3c86992042fb82e3cb1830d5e1"}, - {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5c0631926c4f58e9a5ccce555ad7747d9a9f8b10619621f22f9635f069f6233e"}, - {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dce1c6912ab9ff5f179eaf6efe7365c1f425ed690b03341911bf4939ef2f3046"}, - {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0868d64af83169e4d4152ec612637a543f7a336e4a307b119e98042e852ad9c"}, - {file = "multidict-6.0.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:141b43360bfd3bdd75f15ed811850763555a251e38b2405967f8e25fb43f7d40"}, - {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7df704ca8cf4a073334e0427ae2345323613e4df18cc224f647f251e5e75a527"}, - {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6214c5a5571802c33f80e6c84713b2c79e024995b9c5897f794b43e714daeec9"}, - {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:cd6c8fca38178e12c00418de737aef1261576bd1b6e8c6134d3e729a4e858b38"}, - {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:e02021f87a5b6932fa6ce916ca004c4d441509d33bbdbeca70d05dff5e9d2479"}, - {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ebd8d160f91a764652d3e51ce0d2956b38efe37c9231cd82cfc0bed2e40b581c"}, - {file = "multidict-6.0.5-cp39-cp39-win32.whl", hash = "sha256:04da1bb8c8dbadf2a18a452639771951c662c5ad03aefe4884775454be322c9b"}, - {file = "multidict-6.0.5-cp39-cp39-win_amd64.whl", hash = "sha256:d6f6d4f185481c9669b9447bf9d9cf3b95a0e9df9d169bbc17e363b7d5487755"}, - {file = "multidict-6.0.5-py3-none-any.whl", hash = "sha256:0d63c74e3d7ab26de115c49bffc92cc77ed23395303d496eae515d4204a625e7"}, - {file = "multidict-6.0.5.tar.gz", hash = "sha256:f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da"}, -] - -[[package]] -name = "oauthlib" -version = "3.2.2" -description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" -optional = false -python-versions = ">=3.6" -files = [ - {file = "oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"}, - {file = "oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"}, -] - -[package.extras] -rsa = ["cryptography (>=3.0.0)"] -signals = ["blinker (>=1.4.0)"] -signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] - -[[package]] -name = "openpyxl" -version = "3.1.2" -description = "A Python library to read/write Excel 2010 xlsx/xlsm files" -optional = false -python-versions = ">=3.6" -files = [ - {file = "openpyxl-3.1.2-py2.py3-none-any.whl", hash = "sha256:f91456ead12ab3c6c2e9491cf33ba6d08357d802192379bb482f1033ade496f5"}, - {file = "openpyxl-3.1.2.tar.gz", hash = "sha256:a6f5977418eff3b2d5500d54d9db50c8277a368436f4e4f8ddb1be3422870184"}, -] - -[package.dependencies] -et-xmlfile = "*" - -[[package]] -name = "packaging" -version = "24.0" -description = "Core utilities for Python packages" -optional = false -python-versions = ">=3.7" -files = [ - {file = "packaging-24.0-py3-none-any.whl", hash = "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5"}, - {file = "packaging-24.0.tar.gz", hash = "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"}, -] - -[[package]] -name = "paypal-checkout-serversdk" -version = "1.0.3" -description = "Deprecated" -optional = false -python-versions = "*" -files = [ - {file = "paypal-checkout-serversdk-1.0.3.tar.gz", hash = "sha256:880c7fab12955d65aff29baeb90c182307307d2676edbd41072f3f540a2934b4"}, - {file = "paypal_checkout_serversdk-1.0.3-py3-none-any.whl", hash = "sha256:48a00ec6c52450583e2265dbbdf700b025f38f40ddc597b24b6aa4d8f0cb0257"}, -] - -[package.dependencies] -paypalhttp = "*" - -[[package]] -name = "paypalhttp" -version = "1.0.1" -description = "" -optional = false -python-versions = "*" -files = [ - {file = "paypalhttp-1.0.1-py3-none-any.whl", hash = "sha256:251a6e72e2c5140c5372ee6351b64f7af61b5aad9c554618db5782a06205989a"}, - {file = "paypalhttp-1.0.1.tar.gz", hash = "sha256:20e00f95ea052f59145b65bc2baf3b8720f449460c96bf7d32f191c8e293d16d"}, -] - -[package.dependencies] -pyopenssl = ">=0.15" -requests = ">=2.0.0" -six = ">=1.0.0" - -[[package]] -name = "paypalrestsdk" -version = "1.13.3" -description = "Deprecated" -optional = false -python-versions = "*" -files = [ - {file = "paypalrestsdk-1.13.3-py3-none-any.whl", hash = "sha256:a3f51616ee8f6d975a5a5a8c2049db63653c843479c8fdd71c9d588a31e14560"}, - {file = "paypalrestsdk-1.13.3.tar.gz", hash = "sha256:dac236492a9ac1260a760014a2e56ab38b09d8143295b5e896545359b61fedd6"}, -] - -[package.dependencies] -pyopenssl = ">=0.15" -requests = ">=1.0.0" -six = ">=1.0.0" - -[[package]] -name = "phonenumberslite" -version = "8.13.33" -description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers." -optional = false -python-versions = "*" -files = [ - {file = "phonenumberslite-8.13.33-py2.py3-none-any.whl", hash = "sha256:4d92f4f9079bb83588dde45fd8a414bc13e4962886aa4d23576984196f4d83c2"}, - {file = "phonenumberslite-8.13.33.tar.gz", hash = "sha256:7426bc46af3de5a800a4c8f33ab13e33225d2c8ed4fc52aa3c0380dadd8d7381"}, -] - -[[package]] -name = "pillow" -version = "10.2.0" -description = "Python Imaging Library (Fork)" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pillow-10.2.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:7823bdd049099efa16e4246bdf15e5a13dbb18a51b68fa06d6c1d4d8b99a796e"}, - {file = "pillow-10.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:83b2021f2ade7d1ed556bc50a399127d7fb245e725aa0113ebd05cfe88aaf588"}, - {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fad5ff2f13d69b7e74ce5b4ecd12cc0ec530fcee76356cac6742785ff71c452"}, - {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da2b52b37dad6d9ec64e653637a096905b258d2fc2b984c41ae7d08b938a67e4"}, - {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:47c0995fc4e7f79b5cfcab1fc437ff2890b770440f7696a3ba065ee0fd496563"}, - {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:322bdf3c9b556e9ffb18f93462e5f749d3444ce081290352c6070d014c93feb2"}, - {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:51f1a1bffc50e2e9492e87d8e09a17c5eea8409cda8d3f277eb6edc82813c17c"}, - {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:69ffdd6120a4737710a9eee73e1d2e37db89b620f702754b8f6e62594471dee0"}, - {file = "pillow-10.2.0-cp310-cp310-win32.whl", hash = "sha256:c6dafac9e0f2b3c78df97e79af707cdc5ef8e88208d686a4847bab8266870023"}, - {file = "pillow-10.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:aebb6044806f2e16ecc07b2a2637ee1ef67a11840a66752751714a0d924adf72"}, - {file = "pillow-10.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:7049e301399273a0136ff39b84c3678e314f2158f50f517bc50285fb5ec847ad"}, - {file = "pillow-10.2.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:35bb52c37f256f662abdfa49d2dfa6ce5d93281d323a9af377a120e89a9eafb5"}, - {file = "pillow-10.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9c23f307202661071d94b5e384e1e1dc7dfb972a28a2310e4ee16103e66ddb67"}, - {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:773efe0603db30c281521a7c0214cad7836c03b8ccff897beae9b47c0b657d61"}, - {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11fa2e5984b949b0dd6d7a94d967743d87c577ff0b83392f17cb3990d0d2fd6e"}, - {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:716d30ed977be8b37d3ef185fecb9e5a1d62d110dfbdcd1e2a122ab46fddb03f"}, - {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a086c2af425c5f62a65e12fbf385f7c9fcb8f107d0849dba5839461a129cf311"}, - {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c8de2789052ed501dd829e9cae8d3dcce7acb4777ea4a479c14521c942d395b1"}, - {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:609448742444d9290fd687940ac0b57fb35e6fd92bdb65386e08e99af60bf757"}, - {file = "pillow-10.2.0-cp311-cp311-win32.whl", hash = "sha256:823ef7a27cf86df6597fa0671066c1b596f69eba53efa3d1e1cb8b30f3533068"}, - {file = "pillow-10.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:1da3b2703afd040cf65ec97efea81cfba59cdbed9c11d8efc5ab09df9509fc56"}, - {file = "pillow-10.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:edca80cbfb2b68d7b56930b84a0e45ae1694aeba0541f798e908a49d66b837f1"}, - {file = "pillow-10.2.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:1b5e1b74d1bd1b78bc3477528919414874748dd363e6272efd5abf7654e68bef"}, - {file = "pillow-10.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0eae2073305f451d8ecacb5474997c08569fb4eb4ac231ffa4ad7d342fdc25ac"}, - {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7c2286c23cd350b80d2fc9d424fc797575fb16f854b831d16fd47ceec078f2c"}, - {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e23412b5c41e58cec602f1135c57dfcf15482013ce6e5f093a86db69646a5aa"}, - {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:52a50aa3fb3acb9cf7213573ef55d31d6eca37f5709c69e6858fe3bc04a5c2a2"}, - {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:127cee571038f252a552760076407f9cff79761c3d436a12af6000cd182a9d04"}, - {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:8d12251f02d69d8310b046e82572ed486685c38f02176bd08baf216746eb947f"}, - {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:54f1852cd531aa981bc0965b7d609f5f6cc8ce8c41b1139f6ed6b3c54ab82bfb"}, - {file = "pillow-10.2.0-cp312-cp312-win32.whl", hash = "sha256:257d8788df5ca62c980314053197f4d46eefedf4e6175bc9412f14412ec4ea2f"}, - {file = "pillow-10.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:154e939c5f0053a383de4fd3d3da48d9427a7e985f58af8e94d0b3c9fcfcf4f9"}, - {file = "pillow-10.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:f379abd2f1e3dddb2b61bc67977a6b5a0a3f7485538bcc6f39ec76163891ee48"}, - {file = "pillow-10.2.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8373c6c251f7ef8bda6675dd6d2b3a0fcc31edf1201266b5cf608b62a37407f9"}, - {file = "pillow-10.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:870ea1ada0899fd0b79643990809323b389d4d1d46c192f97342eeb6ee0b8483"}, - {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4b6b1e20608493548b1f32bce8cca185bf0480983890403d3b8753e44077129"}, - {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3031709084b6e7852d00479fd1d310b07d0ba82765f973b543c8af5061cf990e"}, - {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:3ff074fc97dd4e80543a3e91f69d58889baf2002b6be64347ea8cf5533188213"}, - {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:cb4c38abeef13c61d6916f264d4845fab99d7b711be96c326b84df9e3e0ff62d"}, - {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b1b3020d90c2d8e1dae29cf3ce54f8094f7938460fb5ce8bc5c01450b01fbaf6"}, - {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:170aeb00224ab3dc54230c797f8404507240dd868cf52066f66a41b33169bdbe"}, - {file = "pillow-10.2.0-cp38-cp38-win32.whl", hash = "sha256:c4225f5220f46b2fde568c74fca27ae9771536c2e29d7c04f4fb62c83275ac4e"}, - {file = "pillow-10.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:0689b5a8c5288bc0504d9fcee48f61a6a586b9b98514d7d29b840143d6734f39"}, - {file = "pillow-10.2.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:b792a349405fbc0163190fde0dc7b3fef3c9268292586cf5645598b48e63dc67"}, - {file = "pillow-10.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c570f24be1e468e3f0ce7ef56a89a60f0e05b30a3669a459e419c6eac2c35364"}, - {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8ecd059fdaf60c1963c58ceb8997b32e9dc1b911f5da5307aab614f1ce5c2fb"}, - {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c365fd1703040de1ec284b176d6af5abe21b427cb3a5ff68e0759e1e313a5e7e"}, - {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:70c61d4c475835a19b3a5aa42492409878bbca7438554a1f89d20d58a7c75c01"}, - {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b6f491cdf80ae540738859d9766783e3b3c8e5bd37f5dfa0b76abdecc5081f13"}, - {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d189550615b4948f45252d7f005e53c2040cea1af5b60d6f79491a6e147eef7"}, - {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:49d9ba1ed0ef3e061088cd1e7538a0759aab559e2e0a80a36f9fd9d8c0c21591"}, - {file = "pillow-10.2.0-cp39-cp39-win32.whl", hash = "sha256:babf5acfede515f176833ed6028754cbcd0d206f7f614ea3447d67c33be12516"}, - {file = "pillow-10.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:0304004f8067386b477d20a518b50f3fa658a28d44e4116970abfcd94fac34a8"}, - {file = "pillow-10.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:0fb3e7fc88a14eacd303e90481ad983fd5b69c761e9e6ef94c983f91025da869"}, - {file = "pillow-10.2.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:322209c642aabdd6207517e9739c704dc9f9db943015535783239022002f054a"}, - {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3eedd52442c0a5ff4f887fab0c1c0bb164d8635b32c894bc1faf4c618dd89df2"}, - {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb28c753fd5eb3dd859b4ee95de66cc62af91bcff5db5f2571d32a520baf1f04"}, - {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:33870dc4653c5017bf4c8873e5488d8f8d5f8935e2f1fb9a2208c47cdd66efd2"}, - {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3c31822339516fb3c82d03f30e22b1d038da87ef27b6a78c9549888f8ceda39a"}, - {file = "pillow-10.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a2b56ba36e05f973d450582fb015594aaa78834fefe8dfb8fcd79b93e64ba4c6"}, - {file = "pillow-10.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:d8e6aeb9201e655354b3ad049cb77d19813ad4ece0df1249d3c793de3774f8c7"}, - {file = "pillow-10.2.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:2247178effb34a77c11c0e8ac355c7a741ceca0a732b27bf11e747bbc950722f"}, - {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15587643b9e5eb26c48e49a7b33659790d28f190fc514a322d55da2fb5c2950e"}, - {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753cd8f2086b2b80180d9b3010dd4ed147efc167c90d3bf593fe2af21265e5a5"}, - {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7c8f97e8e7a9009bcacbe3766a36175056c12f9a44e6e6f2d5caad06dcfbf03b"}, - {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d1b35bcd6c5543b9cb547dee3150c93008f8dd0f1fef78fc0cd2b141c5baf58a"}, - {file = "pillow-10.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fe4c15f6c9285dc54ce6553a3ce908ed37c8f3825b5a51a15c91442bb955b868"}, - {file = "pillow-10.2.0.tar.gz", hash = "sha256:e87f0b2c78157e12d7686b27d63c070fd65d994e8ddae6f328e0dcf4a0cd007e"}, -] - -[package.extras] -docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"] -fpx = ["olefile"] -mic = ["olefile"] -tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] -typing = ["typing-extensions"] -xmp = ["defusedxml"] - -[[package]] -name = "platformdirs" -version = "4.2.0" -description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -optional = false -python-versions = ">=3.8" -files = [ - {file = "platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068"}, - {file = "platformdirs-4.2.0.tar.gz", hash = "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"}, -] - -[package.extras] -docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] - -[[package]] -name = "ply" -version = "3.11" -description = "Python Lex & Yacc" -optional = false -python-versions = "*" -files = [ - {file = "ply-3.11-py2.py3-none-any.whl", hash = "sha256:096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce"}, - {file = "ply-3.11.tar.gz", hash = "sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3"}, -] - -[[package]] -name = "pretix" -version = "2024.3.0" -description = "Reinventing presales, one ticket at a time" -optional = false -python-versions = ">=3.9" -files = [ - {file = "pretix-2024.3.0-py3-none-any.whl", hash = "sha256:b3155aaa8ef46797effd7f948b8dd6a68cca6bef397fb53be7859f5d178828b5"}, - {file = "pretix-2024.3.0.tar.gz", hash = "sha256:e3e4aaf48bdb2871b12bc4bdd7429dd5689f91b68422aaadb933a0c0de73fe4b"}, -] - -[package.dependencies] -arabic-reshaper = "3.0.0" -babel = "*" -BeautifulSoup4 = "==4.12.*" -bleach = "==5.0.*" -celery = "==5.3.*" -chardet = "==5.2.*" -cryptography = ">=3.4.2" -css-inline = "==0.13.*" -defusedcsv = ">=1.1.0" -dj-static = "*" -Django = "==4.2.*" -django-bootstrap3 = "==23.6.*" -django-compressor = "4.4" -django-countries = "==7.5.*" -django-filter = "24.1" -django-formset-js-improved = "0.5.0.3" -django-formtools = "2.5.1" -django-hierarkey = "==1.1.*" -django-hijack = "==3.4.*" -django-i18nfield = ">=1.9.4,<1.10.dev0" -django-libsass = "0.9" -django-localflavor = "4.0" -django-markup = "*" -django-oauth-toolkit = "==2.3.*" -django-otp = "==1.3.*" -django-phonenumber-field = "==7.3.*" -django-redis = "==5.4.*" -django-scopes = "==2.0.*" -django-statici18n = "==2.4.*" -djangorestframework = "==3.14.*" -dnspython = "==2.6.*" -drf-ujson2 = "==1.7.*" -geoip2 = "==4.*" -importlib-metadata = "==7.*" -isoweek = "*" -jsonschema = "*" -kombu = "==5.3.*" -libsass = "==0.23.*" -lxml = "*" -markdown = "3.6" -mt-940 = "==4.30.*" -oauthlib = "==3.2.*" -openpyxl = "==3.1.*" -packaging = "*" -paypal-checkout-serversdk = "==1.0.*" -paypalrestsdk = "==1.13.*" -phonenumberslite = "==8.13.*" -Pillow = "==10.2.*" -pretix-plugin-build = "*" -protobuf = "==5.26.*" -psycopg2-binary = "*" -pycountry = "*" -pycparser = "2.21" -pycryptodome = "==3.20.*" -PyJWT = "==2.8.*" -pypdf = "==3.9.*" -python-bidi = "==0.4.*" -python-dateutil = "==2.9.*" -pytz = "*" -pytz-deprecation-shim = "==0.1.*" -pyuca = "*" -qrcode = "==7.4.*" -redis = "==5.0.*" -reportlab = "==4.1.*" -requests = "==2.31.*" -sentry-sdk = "==1.42.*" -sepaxml = "==2.6.*" -slimit = "*" -static3 = "==0.7.*" -stripe = "==7.9.*" -text-unidecode = "==1.*" -tlds = ">=2020041600" -tqdm = "==4.*" -vat-moss-forked = "2020.3.20.0.11.0" -vobject = "==0.9.*" -webauthn = "==2.0.*" -zeep = "==4.2.*" - -[package.extras] -dev = ["aiohttp (==3.9.*)", "coverage", "coveralls", "fakeredis (==2.21.*)", "flake8 (==7.0.*)", "freezegun", "isort (==5.13.*)", "pep8-naming (==0.13.*)", "potypo", "pytest (==8.1.*)", "pytest-asyncio", "pytest-cache", "pytest-cov", "pytest-django (==4.*)", "pytest-mock (==3.12.*)", "pytest-rerunfailures (==14.*)", "pytest-sugar", "pytest-xdist (==3.5.*)", "responses"] -memcached = ["pylibmc"] - -[[package]] -name = "pretix-plugin-build" -version = "1.0.1" -description = "Build toolchain for pretix plugins" -optional = false -python-versions = "*" -files = [ - {file = "pretix-plugin-build-1.0.1.tar.gz", hash = "sha256:88b6ea70201b78ae0fc8b5e279ba5d136eebb7a6ce3fb797733206d9b76fbd8a"}, - {file = "pretix_plugin_build-1.0.1-py3-none-any.whl", hash = "sha256:9a7be6b373471a274069f021148f918ab2b91bf5addca0e871f63c0451c57fc4"}, -] - -[package.dependencies] -django = "*" - -[[package]] -name = "prompt-toolkit" -version = "3.0.43" -description = "Library for building powerful interactive command lines in Python" -optional = false -python-versions = ">=3.7.0" -files = [ - {file = "prompt_toolkit-3.0.43-py3-none-any.whl", hash = "sha256:a11a29cb3bf0a28a387fe5122cdb649816a957cd9261dcedf8c9f1fef33eacf6"}, - {file = "prompt_toolkit-3.0.43.tar.gz", hash = "sha256:3527b7af26106cbc65a040bcc84839a3566ec1b051bb0bfe953631e704b0ff7d"}, -] - -[package.dependencies] -wcwidth = "*" - -[[package]] -name = "protobuf" -version = "5.26.1" -description = "" -optional = false -python-versions = ">=3.8" -files = [ - {file = "protobuf-5.26.1-cp310-abi3-win32.whl", hash = "sha256:3c388ea6ddfe735f8cf69e3f7dc7611e73107b60bdfcf5d0f024c3ccd3794e23"}, - {file = "protobuf-5.26.1-cp310-abi3-win_amd64.whl", hash = "sha256:e6039957449cb918f331d32ffafa8eb9255769c96aa0560d9a5bf0b4e00a2a33"}, - {file = "protobuf-5.26.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:38aa5f535721d5bb99861166c445c4105c4e285c765fbb2ac10f116e32dcd46d"}, - {file = "protobuf-5.26.1-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:fbfe61e7ee8c1860855696e3ac6cfd1b01af5498facc6834fcc345c9684fb2ca"}, - {file = "protobuf-5.26.1-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:f7417703f841167e5a27d48be13389d52ad705ec09eade63dfc3180a959215d7"}, - {file = "protobuf-5.26.1-cp38-cp38-win32.whl", hash = "sha256:d693d2504ca96750d92d9de8a103102dd648fda04540495535f0fec7577ed8fc"}, - {file = "protobuf-5.26.1-cp38-cp38-win_amd64.whl", hash = "sha256:9b557c317ebe6836835ec4ef74ec3e994ad0894ea424314ad3552bc6e8835b4e"}, - {file = "protobuf-5.26.1-cp39-cp39-win32.whl", hash = "sha256:b9ba3ca83c2e31219ffbeb9d76b63aad35a3eb1544170c55336993d7a18ae72c"}, - {file = "protobuf-5.26.1-cp39-cp39-win_amd64.whl", hash = "sha256:7ee014c2c87582e101d6b54260af03b6596728505c79f17c8586e7523aaa8f8c"}, - {file = "protobuf-5.26.1-py3-none-any.whl", hash = "sha256:da612f2720c0183417194eeaa2523215c4fcc1a1949772dc65f05047e08d5932"}, - {file = "protobuf-5.26.1.tar.gz", hash = "sha256:8ca2a1d97c290ec7b16e4e5dff2e5ae150cc1582f55b5ab300d45cb0dfa90e51"}, -] - -[[package]] -name = "psycopg2-binary" -version = "2.9.9" -description = "psycopg2 - Python-PostgreSQL Database Adapter" -optional = false -python-versions = ">=3.7" -files = [ - {file = "psycopg2-binary-2.9.9.tar.gz", hash = "sha256:7f01846810177d829c7692f1f5ada8096762d9172af1b1a28d4ab5b77c923c1c"}, - {file = "psycopg2_binary-2.9.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c2470da5418b76232f02a2fcd2229537bb2d5a7096674ce61859c3229f2eb202"}, - {file = "psycopg2_binary-2.9.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c6af2a6d4b7ee9615cbb162b0738f6e1fd1f5c3eda7e5da17861eacf4c717ea7"}, - {file = "psycopg2_binary-2.9.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:75723c3c0fbbf34350b46a3199eb50638ab22a0228f93fb472ef4d9becc2382b"}, - {file = "psycopg2_binary-2.9.9-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:83791a65b51ad6ee6cf0845634859d69a038ea9b03d7b26e703f94c7e93dbcf9"}, - {file = "psycopg2_binary-2.9.9-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0ef4854e82c09e84cc63084a9e4ccd6d9b154f1dbdd283efb92ecd0b5e2b8c84"}, - {file = "psycopg2_binary-2.9.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed1184ab8f113e8d660ce49a56390ca181f2981066acc27cf637d5c1e10ce46e"}, - {file = "psycopg2_binary-2.9.9-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d2997c458c690ec2bc6b0b7ecbafd02b029b7b4283078d3b32a852a7ce3ddd98"}, - {file = "psycopg2_binary-2.9.9-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:b58b4710c7f4161b5e9dcbe73bb7c62d65670a87df7bcce9e1faaad43e715245"}, - {file = "psycopg2_binary-2.9.9-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:0c009475ee389757e6e34611d75f6e4f05f0cf5ebb76c6037508318e1a1e0d7e"}, - {file = "psycopg2_binary-2.9.9-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8dbf6d1bc73f1d04ec1734bae3b4fb0ee3cb2a493d35ede9badbeb901fb40f6f"}, - {file = "psycopg2_binary-2.9.9-cp310-cp310-win32.whl", hash = "sha256:3f78fd71c4f43a13d342be74ebbc0666fe1f555b8837eb113cb7416856c79682"}, - {file = "psycopg2_binary-2.9.9-cp310-cp310-win_amd64.whl", hash = "sha256:876801744b0dee379e4e3c38b76fc89f88834bb15bf92ee07d94acd06ec890a0"}, - {file = "psycopg2_binary-2.9.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ee825e70b1a209475622f7f7b776785bd68f34af6e7a46e2e42f27b659b5bc26"}, - {file = "psycopg2_binary-2.9.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1ea665f8ce695bcc37a90ee52de7a7980be5161375d42a0b6c6abedbf0d81f0f"}, - {file = "psycopg2_binary-2.9.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:143072318f793f53819048fdfe30c321890af0c3ec7cb1dfc9cc87aa88241de2"}, - {file = "psycopg2_binary-2.9.9-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c332c8d69fb64979ebf76613c66b985414927a40f8defa16cf1bc028b7b0a7b0"}, - {file = "psycopg2_binary-2.9.9-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7fc5a5acafb7d6ccca13bfa8c90f8c51f13d8fb87d95656d3950f0158d3ce53"}, - {file = "psycopg2_binary-2.9.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:977646e05232579d2e7b9c59e21dbe5261f403a88417f6a6512e70d3f8a046be"}, - {file = "psycopg2_binary-2.9.9-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b6356793b84728d9d50ead16ab43c187673831e9d4019013f1402c41b1db9b27"}, - {file = "psycopg2_binary-2.9.9-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:bc7bb56d04601d443f24094e9e31ae6deec9ccb23581f75343feebaf30423359"}, - {file = "psycopg2_binary-2.9.9-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:77853062a2c45be16fd6b8d6de2a99278ee1d985a7bd8b103e97e41c034006d2"}, - {file = "psycopg2_binary-2.9.9-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:78151aa3ec21dccd5cdef6c74c3e73386dcdfaf19bced944169697d7ac7482fc"}, - {file = "psycopg2_binary-2.9.9-cp311-cp311-win32.whl", hash = "sha256:dc4926288b2a3e9fd7b50dc6a1909a13bbdadfc67d93f3374d984e56f885579d"}, - {file = "psycopg2_binary-2.9.9-cp311-cp311-win_amd64.whl", hash = "sha256:b76bedd166805480ab069612119ea636f5ab8f8771e640ae103e05a4aae3e417"}, - {file = "psycopg2_binary-2.9.9-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:8532fd6e6e2dc57bcb3bc90b079c60de896d2128c5d9d6f24a63875a95a088cf"}, - {file = "psycopg2_binary-2.9.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b0605eaed3eb239e87df0d5e3c6489daae3f7388d455d0c0b4df899519c6a38d"}, - {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f8544b092a29a6ddd72f3556a9fcf249ec412e10ad28be6a0c0d948924f2212"}, - {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2d423c8d8a3c82d08fe8af900ad5b613ce3632a1249fd6a223941d0735fce493"}, - {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e5afae772c00980525f6d6ecf7cbca55676296b580c0e6abb407f15f3706996"}, - {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e6f98446430fdf41bd36d4faa6cb409f5140c1c2cf58ce0bbdaf16af7d3f119"}, - {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c77e3d1862452565875eb31bdb45ac62502feabbd53429fdc39a1cc341d681ba"}, - {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:cb16c65dcb648d0a43a2521f2f0a2300f40639f6f8c1ecbc662141e4e3e1ee07"}, - {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:911dda9c487075abd54e644ccdf5e5c16773470a6a5d3826fda76699410066fb"}, - {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:57fede879f08d23c85140a360c6a77709113efd1c993923c59fde17aa27599fe"}, - {file = "psycopg2_binary-2.9.9-cp312-cp312-win32.whl", hash = "sha256:64cf30263844fa208851ebb13b0732ce674d8ec6a0c86a4e160495d299ba3c93"}, - {file = "psycopg2_binary-2.9.9-cp312-cp312-win_amd64.whl", hash = "sha256:81ff62668af011f9a48787564ab7eded4e9fb17a4a6a74af5ffa6a457400d2ab"}, - {file = "psycopg2_binary-2.9.9-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2293b001e319ab0d869d660a704942c9e2cce19745262a8aba2115ef41a0a42a"}, - {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03ef7df18daf2c4c07e2695e8cfd5ee7f748a1d54d802330985a78d2a5a6dca9"}, - {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a602ea5aff39bb9fac6308e9c9d82b9a35c2bf288e184a816002c9fae930b77"}, - {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8359bf4791968c5a78c56103702000105501adb557f3cf772b2c207284273984"}, - {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:275ff571376626195ab95a746e6a04c7df8ea34638b99fc11160de91f2fef503"}, - {file = "psycopg2_binary-2.9.9-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:f9b5571d33660d5009a8b3c25dc1db560206e2d2f89d3df1cb32d72c0d117d52"}, - {file = "psycopg2_binary-2.9.9-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:420f9bbf47a02616e8554e825208cb947969451978dceb77f95ad09c37791dae"}, - {file = "psycopg2_binary-2.9.9-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:4154ad09dac630a0f13f37b583eae260c6aa885d67dfbccb5b02c33f31a6d420"}, - {file = "psycopg2_binary-2.9.9-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a148c5d507bb9b4f2030a2025c545fccb0e1ef317393eaba42e7eabd28eb6041"}, - {file = "psycopg2_binary-2.9.9-cp37-cp37m-win32.whl", hash = "sha256:68fc1f1ba168724771e38bee37d940d2865cb0f562380a1fb1ffb428b75cb692"}, - {file = "psycopg2_binary-2.9.9-cp37-cp37m-win_amd64.whl", hash = "sha256:281309265596e388ef483250db3640e5f414168c5a67e9c665cafce9492eda2f"}, - {file = "psycopg2_binary-2.9.9-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:60989127da422b74a04345096c10d416c2b41bd7bf2a380eb541059e4e999980"}, - {file = "psycopg2_binary-2.9.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:246b123cc54bb5361588acc54218c8c9fb73068bf227a4a531d8ed56fa3ca7d6"}, - {file = "psycopg2_binary-2.9.9-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34eccd14566f8fe14b2b95bb13b11572f7c7d5c36da61caf414d23b91fcc5d94"}, - {file = "psycopg2_binary-2.9.9-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18d0ef97766055fec15b5de2c06dd8e7654705ce3e5e5eed3b6651a1d2a9a152"}, - {file = "psycopg2_binary-2.9.9-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d3f82c171b4ccd83bbaf35aa05e44e690113bd4f3b7b6cc54d2219b132f3ae55"}, - {file = "psycopg2_binary-2.9.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ead20f7913a9c1e894aebe47cccf9dc834e1618b7aa96155d2091a626e59c972"}, - {file = "psycopg2_binary-2.9.9-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:ca49a8119c6cbd77375ae303b0cfd8c11f011abbbd64601167ecca18a87e7cdd"}, - {file = "psycopg2_binary-2.9.9-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:323ba25b92454adb36fa425dc5cf6f8f19f78948cbad2e7bc6cdf7b0d7982e59"}, - {file = "psycopg2_binary-2.9.9-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:1236ed0952fbd919c100bc839eaa4a39ebc397ed1c08a97fc45fee2a595aa1b3"}, - {file = "psycopg2_binary-2.9.9-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:729177eaf0aefca0994ce4cffe96ad3c75e377c7b6f4efa59ebf003b6d398716"}, - {file = "psycopg2_binary-2.9.9-cp38-cp38-win32.whl", hash = "sha256:804d99b24ad523a1fe18cc707bf741670332f7c7412e9d49cb5eab67e886b9b5"}, - {file = "psycopg2_binary-2.9.9-cp38-cp38-win_amd64.whl", hash = "sha256:a6cdcc3ede532f4a4b96000b6362099591ab4a3e913d70bcbac2b56c872446f7"}, - {file = "psycopg2_binary-2.9.9-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:72dffbd8b4194858d0941062a9766f8297e8868e1dd07a7b36212aaa90f49472"}, - {file = "psycopg2_binary-2.9.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:30dcc86377618a4c8f3b72418df92e77be4254d8f89f14b8e8f57d6d43603c0f"}, - {file = "psycopg2_binary-2.9.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:31a34c508c003a4347d389a9e6fcc2307cc2150eb516462a7a17512130de109e"}, - {file = "psycopg2_binary-2.9.9-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:15208be1c50b99203fe88d15695f22a5bed95ab3f84354c494bcb1d08557df67"}, - {file = "psycopg2_binary-2.9.9-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1873aade94b74715be2246321c8650cabf5a0d098a95bab81145ffffa4c13876"}, - {file = "psycopg2_binary-2.9.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a58c98a7e9c021f357348867f537017057c2ed7f77337fd914d0bedb35dace7"}, - {file = "psycopg2_binary-2.9.9-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4686818798f9194d03c9129a4d9a702d9e113a89cb03bffe08c6cf799e053291"}, - {file = "psycopg2_binary-2.9.9-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ebdc36bea43063116f0486869652cb2ed7032dbc59fbcb4445c4862b5c1ecf7f"}, - {file = "psycopg2_binary-2.9.9-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:ca08decd2697fdea0aea364b370b1249d47336aec935f87b8bbfd7da5b2ee9c1"}, - {file = "psycopg2_binary-2.9.9-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ac05fb791acf5e1a3e39402641827780fe44d27e72567a000412c648a85ba860"}, - {file = "psycopg2_binary-2.9.9-cp39-cp39-win32.whl", hash = "sha256:9dba73be7305b399924709b91682299794887cbbd88e38226ed9f6712eabee90"}, - {file = "psycopg2_binary-2.9.9-cp39-cp39-win_amd64.whl", hash = "sha256:f7ae5d65ccfbebdfa761585228eb4d0df3a8b15cfb53bd953e713e09fbb12957"}, -] - -[[package]] -name = "pycountry" -version = "23.12.11" -description = "ISO country, subdivision, language, currency and script definitions and their translations" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pycountry-23.12.11-py3-none-any.whl", hash = "sha256:2ff91cff4f40ff61086e773d61e72005fe95de4a57bfc765509db05695dc50ab"}, - {file = "pycountry-23.12.11.tar.gz", hash = "sha256:00569d82eaefbc6a490a311bfa84a9c571cff9ddbf8b0a4f4e7b4f868b4ad925"}, -] - -[[package]] -name = "pycparser" -version = "2.21" -description = "C parser in Python" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, - {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, -] - -[[package]] -name = "pycryptodome" -version = "3.20.0" -description = "Cryptographic library for Python" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "pycryptodome-3.20.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:f0e6d631bae3f231d3634f91ae4da7a960f7ff87f2865b2d2b831af1dfb04e9a"}, - {file = "pycryptodome-3.20.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:baee115a9ba6c5d2709a1e88ffe62b73ecc044852a925dcb67713a288c4ec70f"}, - {file = "pycryptodome-3.20.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:417a276aaa9cb3be91f9014e9d18d10e840a7a9b9a9be64a42f553c5b50b4d1d"}, - {file = "pycryptodome-3.20.0-cp27-cp27m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a1250b7ea809f752b68e3e6f3fd946b5939a52eaeea18c73bdab53e9ba3c2dd"}, - {file = "pycryptodome-3.20.0-cp27-cp27m-musllinux_1_1_aarch64.whl", hash = "sha256:d5954acfe9e00bc83ed9f5cb082ed22c592fbbef86dc48b907238be64ead5c33"}, - {file = "pycryptodome-3.20.0-cp27-cp27m-win32.whl", hash = "sha256:06d6de87c19f967f03b4cf9b34e538ef46e99a337e9a61a77dbe44b2cbcf0690"}, - {file = "pycryptodome-3.20.0-cp27-cp27m-win_amd64.whl", hash = "sha256:ec0bb1188c1d13426039af8ffcb4dbe3aad1d7680c35a62d8eaf2a529b5d3d4f"}, - {file = "pycryptodome-3.20.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:5601c934c498cd267640b57569e73793cb9a83506f7c73a8ec57a516f5b0b091"}, - {file = "pycryptodome-3.20.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d29daa681517f4bc318cd8a23af87e1f2a7bad2fe361e8aa29c77d652a065de4"}, - {file = "pycryptodome-3.20.0-cp27-cp27mu-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3427d9e5310af6680678f4cce149f54e0bb4af60101c7f2c16fdf878b39ccccc"}, - {file = "pycryptodome-3.20.0-cp27-cp27mu-musllinux_1_1_aarch64.whl", hash = "sha256:3cd3ef3aee1079ae44afaeee13393cf68b1058f70576b11439483e34f93cf818"}, - {file = "pycryptodome-3.20.0-cp35-abi3-macosx_10_9_universal2.whl", hash = "sha256:ac1c7c0624a862f2e53438a15c9259d1655325fc2ec4392e66dc46cdae24d044"}, - {file = "pycryptodome-3.20.0-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:76658f0d942051d12a9bd08ca1b6b34fd762a8ee4240984f7c06ddfb55eaf15a"}, - {file = "pycryptodome-3.20.0-cp35-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f35d6cee81fa145333137009d9c8ba90951d7d77b67c79cbe5f03c7eb74d8fe2"}, - {file = "pycryptodome-3.20.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76cb39afede7055127e35a444c1c041d2e8d2f1f9c121ecef573757ba4cd2c3c"}, - {file = "pycryptodome-3.20.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49a4c4dc60b78ec41d2afa392491d788c2e06edf48580fbfb0dd0f828af49d25"}, - {file = "pycryptodome-3.20.0-cp35-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:fb3b87461fa35afa19c971b0a2b7456a7b1db7b4eba9a8424666104925b78128"}, - {file = "pycryptodome-3.20.0-cp35-abi3-musllinux_1_1_i686.whl", hash = "sha256:acc2614e2e5346a4a4eab6e199203034924313626f9620b7b4b38e9ad74b7e0c"}, - {file = "pycryptodome-3.20.0-cp35-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:210ba1b647837bfc42dd5a813cdecb5b86193ae11a3f5d972b9a0ae2c7e9e4b4"}, - {file = "pycryptodome-3.20.0-cp35-abi3-win32.whl", hash = "sha256:8d6b98d0d83d21fb757a182d52940d028564efe8147baa9ce0f38d057104ae72"}, - {file = "pycryptodome-3.20.0-cp35-abi3-win_amd64.whl", hash = "sha256:9b3ae153c89a480a0ec402e23db8d8d84a3833b65fa4b15b81b83be9d637aab9"}, - {file = "pycryptodome-3.20.0-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:4401564ebf37dfde45d096974c7a159b52eeabd9969135f0426907db367a652a"}, - {file = "pycryptodome-3.20.0-pp27-pypy_73-win32.whl", hash = "sha256:ec1f93feb3bb93380ab0ebf8b859e8e5678c0f010d2d78367cf6bc30bfeb148e"}, - {file = "pycryptodome-3.20.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:acae12b9ede49f38eb0ef76fdec2df2e94aad85ae46ec85be3648a57f0a7db04"}, - {file = "pycryptodome-3.20.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f47888542a0633baff535a04726948e876bf1ed880fddb7c10a736fa99146ab3"}, - {file = "pycryptodome-3.20.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e0e4a987d38cfc2e71b4a1b591bae4891eeabe5fa0f56154f576e26287bfdea"}, - {file = "pycryptodome-3.20.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:c18b381553638414b38705f07d1ef0a7cf301bc78a5f9bc17a957eb19446834b"}, - {file = "pycryptodome-3.20.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a60fedd2b37b4cb11ccb5d0399efe26db9e0dd149016c1cc6c8161974ceac2d6"}, - {file = "pycryptodome-3.20.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:405002eafad114a2f9a930f5db65feef7b53c4784495dd8758069b89baf68eab"}, - {file = "pycryptodome-3.20.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2ab6ab0cb755154ad14e507d1df72de9897e99fd2d4922851a276ccc14f4f1a5"}, - {file = "pycryptodome-3.20.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:acf6e43fa75aca2d33e93409f2dafe386fe051818ee79ee8a3e21de9caa2ac9e"}, - {file = "pycryptodome-3.20.0.tar.gz", hash = "sha256:09609209ed7de61c2b560cc5c8c4fbf892f8b15b1faf7e4cbffac97db1fffda7"}, -] - -[[package]] -name = "pyjwt" -version = "2.8.0" -description = "JSON Web Token implementation in Python" -optional = false -python-versions = ">=3.7" -files = [ - {file = "PyJWT-2.8.0-py3-none-any.whl", hash = "sha256:59127c392cc44c2da5bb3192169a91f429924e17aff6534d70fdc02ab3e04320"}, - {file = "PyJWT-2.8.0.tar.gz", hash = "sha256:57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de"}, -] - -[package.extras] -crypto = ["cryptography (>=3.4.0)"] -dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.4.0)", "pre-commit", "pytest (>=6.0.0,<7.0.0)", "sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] -docs = ["sphinx (>=4.5.0,<5.0.0)", "sphinx-rtd-theme", "zope.interface"] -tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] - -[[package]] -name = "pyopenssl" -version = "24.1.0" -description = "Python wrapper module around the OpenSSL library" -optional = false -python-versions = ">=3.7" -files = [ - {file = "pyOpenSSL-24.1.0-py3-none-any.whl", hash = "sha256:17ed5be5936449c5418d1cd269a1a9e9081bc54c17aed272b45856a3d3dc86ad"}, - {file = "pyOpenSSL-24.1.0.tar.gz", hash = "sha256:cabed4bfaa5df9f1a16c0ef64a0cb65318b5cd077a7eda7d6970131ca2f41a6f"}, -] - -[package.dependencies] -cryptography = ">=41.0.5,<43" - -[package.extras] -docs = ["sphinx (!=5.2.0,!=5.2.0.post0,!=7.2.5)", "sphinx-rtd-theme"] -test = ["pretend", "pytest (>=3.0.1)", "pytest-rerunfailures"] - -[[package]] -name = "pypdf" -version = "3.9.1" -description = "A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files" -optional = false -python-versions = ">=3.6" -files = [ - {file = "pypdf-3.9.1-py3-none-any.whl", hash = "sha256:5f4abdb4691a8d7631e7f2db09f66cfe3a388a072882d8375c6b1bdc28027c0a"}, - {file = "pypdf-3.9.1.tar.gz", hash = "sha256:c2b7fcfe25fbd04e8da600cb2700267ecee7e8781dc798cce3a4f567143a4df1"}, -] - -[package.extras] -crypto = ["PyCryptodome"] -dev = ["black", "flit", "pip-tools", "pre-commit (<2.18.0)", "pytest-cov", "wheel"] -docs = ["myst_parser", "sphinx", "sphinx_rtd_theme"] -full = ["Pillow", "PyCryptodome"] -image = ["Pillow"] - -[[package]] -name = "pypng" -version = "0.20220715.0" -description = "Pure Python library for saving and loading PNG images" -optional = false -python-versions = "*" -files = [ - {file = "pypng-0.20220715.0-py3-none-any.whl", hash = "sha256:4a43e969b8f5aaafb2a415536c1a8ec7e341cd6a3f957fd5b5f32a4cfeed902c"}, - {file = "pypng-0.20220715.0.tar.gz", hash = "sha256:739c433ba96f078315de54c0db975aee537cbc3e1d0ae4ed9aab0ca1e427e2c1"}, -] - -[[package]] -name = "python-bidi" -version = "0.4.2" -description = "Pure python implementation of the BiDi layout algorithm" -optional = false -python-versions = "*" -files = [ - {file = "python-bidi-0.4.2.tar.gz", hash = "sha256:5347f71e82b3e9976dc657f09ded2bfe39ba8d6777ca81a5b2c56c30121c496e"}, - {file = "python_bidi-0.4.2-py2.py3-none-any.whl", hash = "sha256:50eef6f6a0bbdd685f9e8c207f3c9050f5b578d0a46e37c76a9c4baea2cc2e13"}, -] - -[package.dependencies] -six = "*" - -[[package]] -name = "python-dateutil" -version = "2.9.0.post0" -description = "Extensions to the standard Python datetime module" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -files = [ - {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, - {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, -] - -[package.dependencies] -six = ">=1.5" - -[[package]] -name = "python-stdnum" -version = "1.20" -description = "Python module to handle standardized numbers and codes" -optional = false -python-versions = "*" -files = [ - {file = "python-stdnum-1.20.tar.gz", hash = "sha256:ad2a2cf2eb025de408210235f36b4ae31252de3186240ccaa8126e117cb82690"}, - {file = "python_stdnum-1.20-py2.py3-none-any.whl", hash = "sha256:111008e10391d54fb2afad2a10df70d5cb0c6c0a7ec82fec6f022cb8712961d3"}, -] - -[package.extras] -soap = ["zeep"] -soap-alt = ["suds"] -soap-fallback = ["PySimpleSOAP"] - -[[package]] -name = "pytz" -version = "2024.1" -description = "World timezone definitions, modern and historical" -optional = false -python-versions = "*" -files = [ - {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"}, - {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, -] - -[[package]] -name = "pytz-deprecation-shim" -version = "0.1.0.post0" -description = "Shims to make deprecation of pytz easier" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" -files = [ - {file = "pytz_deprecation_shim-0.1.0.post0-py2.py3-none-any.whl", hash = "sha256:8314c9692a636c8eb3bda879b9f119e350e93223ae83e70e80c31675a0fdc1a6"}, - {file = "pytz_deprecation_shim-0.1.0.post0.tar.gz", hash = "sha256:af097bae1b616dde5c5744441e2ddc69e74dfdcb0c263129610d85b87445a59d"}, -] - -[package.dependencies] -tzdata = {version = "*", markers = "python_version >= \"3.6\""} - -[[package]] -name = "pyuca" -version = "1.2" -description = "a Python implementation of the Unicode Collation Algorithm" -optional = false -python-versions = "*" -files = [ - {file = "pyuca-1.2-py2.py3-none-any.whl", hash = "sha256:abaa12e1bd2c7c68ca8396ff8383bc0654a739cef3ae68fd7af58bf29af0a91e"}, - {file = "pyuca-1.2.tar.gz", hash = "sha256:8a382fe74627f08c0d18908c0713ca4a20aad5385f077579e56208beea2893b2"}, -] - -[[package]] -name = "qrcode" -version = "7.4.2" -description = "QR Code image generator" -optional = false -python-versions = ">=3.7" -files = [ - {file = "qrcode-7.4.2-py3-none-any.whl", hash = "sha256:581dca7a029bcb2deef5d01068e39093e80ef00b4a61098a2182eac59d01643a"}, - {file = "qrcode-7.4.2.tar.gz", hash = "sha256:9dd969454827e127dbd93696b20747239e6d540e082937c90f14ac95b30f5845"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "platform_system == \"Windows\""} -pypng = "*" -typing-extensions = "*" - -[package.extras] -all = ["pillow (>=9.1.0)", "pytest", "pytest-cov", "tox", "zest.releaser[recommended]"] -dev = ["pytest", "pytest-cov", "tox"] -maintainer = ["zest.releaser[recommended]"] -pil = ["pillow (>=9.1.0)"] -test = ["coverage", "pytest"] - -[[package]] -name = "rcssmin" -version = "1.1.1" -description = "CSS Minifier" -optional = false -python-versions = "*" -files = [ - {file = "rcssmin-1.1.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:d4e263fa9428704fd94c2cb565c7519ca1d225217943f71caffe6741ab5b9df1"}, - {file = "rcssmin-1.1.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:c7278c1c25bb90d8e554df92cfb3b6a1195004ead50f764653d3093933ee0877"}, - {file = "rcssmin-1.1.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:f15673e97f0a68b4c378c4d15b088fe96d60bc106d278c88829923118833c20f"}, - {file = "rcssmin-1.1.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:d0afc6e7b64ef30d6dcde88830ec1a237b9f16a39f920a8fd159928684ccf8db"}, - {file = "rcssmin-1.1.1-cp310-cp310-manylinux1_i686.whl", hash = "sha256:705c9112d0ed54ea40aecf97e7fd29bdf0f1c46d278a32d8f957f31dde90778a"}, - {file = "rcssmin-1.1.1-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:f7a1fcdbafaacac0530da04edca4a44303baab430ea42e7d59aece4b3f3e9a51"}, - {file = "rcssmin-1.1.1-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:cf74d7ea5e191f0f344b354eed8b7c83eeafbd9a97bec3a579c3d26edf11b005"}, - {file = "rcssmin-1.1.1-cp311-cp311-manylinux1_i686.whl", hash = "sha256:908fe072efd2432fb0975a61124609a8e05021367f6a3463d45f5e3e74c4fdda"}, - {file = "rcssmin-1.1.1-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:35da6a6999e9e2c5b0e691b42ed56cc479373e0ecab33ef5277dfecce625e44a"}, - {file = "rcssmin-1.1.1-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:e923c105100ab70abde1c01d3196ddd6b07255e32073685542be4e3a60870c8e"}, - {file = "rcssmin-1.1.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:868215e1fd0e92a6122e0ed5973dfc7bb8330fe1e92274d05b2585253b38c0ca"}, - {file = "rcssmin-1.1.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:c7728e3b546b1b6ea08cab721e8e21409dbcc11b881d0b87d10b0be8930af2a2"}, - {file = "rcssmin-1.1.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:271e3d2f8614a6d4637ed8fff3d90007f03e2a654cd9444f37d888797662ba72"}, - {file = "rcssmin-1.1.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:42576d95dfad53d77df2e68dfdec95b89b10fad320f241f1af3ca1438578254a"}, - {file = "rcssmin-1.1.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:79421230dd67c37ec61ed9892813d2b839b68f2f48ef55c75f976e81701d60b4"}, - {file = "rcssmin-1.1.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:8fcfd10ae2a1c4ce231a33013f2539e07c3836bf17cc945cc25cc30bf8e68e45"}, - {file = "rcssmin-1.1.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:c30f8bc839747b6da59274e0c6e4361915d66532e26448d589cb2b1846d7bf11"}, - {file = "rcssmin-1.1.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:ee386bec6d62f8c814d65c011d604a7c82d24aa3f718facd66e850eea8d6a5a1"}, - {file = "rcssmin-1.1.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:8a26fec3c1e6b7a3765ccbaccc20fbb5c0ed3422cc381e01a2607f08d7621c44"}, - {file = "rcssmin-1.1.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:a04d58a2a21e9a089306d3f99c4b12bf5b656a79c198ef2321e80f8fd9afab06"}, - {file = "rcssmin-1.1.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:914e589f40573035006913861ed2adc28fbe70082a8b6bff5be7ee430b7b5c2e"}, - {file = "rcssmin-1.1.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:a417735d4023d47d048a6288c88dbceadd20abaaf65a11bb4fda1e8458057019"}, - {file = "rcssmin-1.1.1.tar.gz", hash = "sha256:4f9400b4366d29f5f5446f58e78549afa8338e6a59740c73115e9f6ac413dc64"}, -] - -[[package]] -name = "redis" -version = "5.0.3" -description = "Python client for Redis database and key-value store" -optional = false -python-versions = ">=3.7" -files = [ - {file = "redis-5.0.3-py3-none-any.whl", hash = "sha256:5da9b8fe9e1254293756c16c008e8620b3d15fcc6dde6babde9541850e72a32d"}, - {file = "redis-5.0.3.tar.gz", hash = "sha256:4973bae7444c0fbed64a06b87446f79361cb7e4ec1538c022d696ed7a5015580"}, -] - -[package.dependencies] -async-timeout = {version = ">=4.0.3", markers = "python_full_version < \"3.11.3\""} - -[package.extras] -hiredis = ["hiredis (>=1.0.0)"] -ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)"] - -[[package]] -name = "referencing" -version = "0.34.0" -description = "JSON Referencing + Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "referencing-0.34.0-py3-none-any.whl", hash = "sha256:d53ae300ceddd3169f1ffa9caf2cb7b769e92657e4fafb23d34b93679116dfd4"}, - {file = "referencing-0.34.0.tar.gz", hash = "sha256:5773bd84ef41799a5a8ca72dc34590c041eb01bf9aa02632b4a973fb0181a844"}, -] - -[package.dependencies] -attrs = ">=22.2.0" -rpds-py = ">=0.7.0" - -[[package]] -name = "reportlab" -version = "4.1.0" -description = "The Reportlab Toolkit" -optional = false -python-versions = ">=3.7,<4" -files = [ - {file = "reportlab-4.1.0-py3-none-any.whl", hash = "sha256:28a40d5000afbd8ccae15a47f7abe2841768461354bede1a9d42841132997c98"}, - {file = "reportlab-4.1.0.tar.gz", hash = "sha256:3a99faf412691159c068b3ff01c15307ce2fd2cf6b860199434874e002040a84"}, -] - -[package.dependencies] -chardet = "*" -pillow = ">=9.0.0" - -[package.extras] -accel = ["rl-accel (>=0.9.0,<1.1)"] -pycairo = ["freetype-py (>=2.3.0,<2.4)", "rlPyCairo (>=0.2.0,<1)"] -renderpm = ["rl-renderPM (>=4.0.3,<4.1)"] - -[[package]] -name = "requests" -version = "2.31.0" -description = "Python HTTP for Humans." -optional = false -python-versions = ">=3.7" -files = [ - {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, - {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, -] - -[package.dependencies] -certifi = ">=2017.4.17" -charset-normalizer = ">=2,<4" -idna = ">=2.5,<4" -urllib3 = ">=1.21.1,<3" - -[package.extras] -socks = ["PySocks (>=1.5.6,!=1.5.7)"] -use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] - -[[package]] -name = "requests-file" -version = "2.0.0" -description = "File transport adapter for Requests" -optional = false -python-versions = "*" -files = [ - {file = "requests-file-2.0.0.tar.gz", hash = "sha256:20c5931629c558fda566cacc10cfe2cd502433e628f568c34c80d96a0cc95972"}, - {file = "requests_file-2.0.0-py2.py3-none-any.whl", hash = "sha256:3e493d390adb44aa102ebea827a48717336d5268968c370eaf19abaf5cae13bf"}, -] - -[package.dependencies] -requests = ">=1.0.0" - -[[package]] -name = "requests-toolbelt" -version = "1.0.0" -description = "A utility belt for advanced users of python-requests" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6"}, - {file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"}, -] - -[package.dependencies] -requests = ">=2.0.1,<3.0.0" - -[[package]] -name = "rjsmin" -version = "1.2.1" -description = "Javascript Minifier" -optional = false -python-versions = "*" -files = [ - {file = "rjsmin-1.2.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:35827844d2085bd59d34214dfba6f1fc42a215c455887437b07dbf9c73019cc1"}, - {file = "rjsmin-1.2.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:812af25c08d6a5ae98019a2e1b47ebb47f7469abd351670c353d619eaeae4064"}, - {file = "rjsmin-1.2.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:b8464629a18fe69f70677854c93a3707976024b226a0ce62707c618f923e1346"}, - {file = "rjsmin-1.2.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:bd1faedc425006d9e86b23837d164f01d105b7a8b66b767a9766d0014773db2a"}, - {file = "rjsmin-1.2.1-cp310-cp310-manylinux1_i686.whl", hash = "sha256:99c074cd6a8302ff47118a9c3d086f89328dc8e5c4b105aa1f348fb85c765a30"}, - {file = "rjsmin-1.2.1-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:bc5bc2f94e59bc81562c572b7f1bdd6bcec4f61168dc68a2993bad2d355b6e19"}, - {file = "rjsmin-1.2.1-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:35f21046504544e2941e04190ce24161255479133751550e36ddb3f4af0ecdca"}, - {file = "rjsmin-1.2.1-cp311-cp311-manylinux1_i686.whl", hash = "sha256:ca90630b84fe94bb07739c3e3793e87d30c6ee450dde08653121f0d9153c8d0d"}, - {file = "rjsmin-1.2.1-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:7dd58b5ed88233bc61dc80b0ed87b93a1786031d9977c70d335221ef1ac5581a"}, - {file = "rjsmin-1.2.1-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:f0895b360dccf7e2d6af8762a52985e3fbaa56778de1bf6b20dbc96134253807"}, - {file = "rjsmin-1.2.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:747bc9d3bc8a220f40858e6aad50b2ae2eb7f69c924d4fa3803b81be1c1ddd02"}, - {file = "rjsmin-1.2.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:f7cd33602ec0f393a0058e883284496bb4dbbdd34e0bbe23b594c8933ddf9b65"}, - {file = "rjsmin-1.2.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:3453ee6d5e7a2723ec45c2909e2382371783400e8d51952b692884c6d850a3d0"}, - {file = "rjsmin-1.2.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:8c340e251619c97571a5ade20f147f1f7e8664f66a2d6d7319e05e3ef6a4423c"}, - {file = "rjsmin-1.2.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:145c6af8df42d8af102d0d39a6de2e5fa66aef9e38947cfb9d65377d1b9940b2"}, - {file = "rjsmin-1.2.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:bbd7a0abaa394afd951f5d4e05249d306fec1c9674bfee179787674dddd0bdb7"}, - {file = "rjsmin-1.2.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:eb770aaf637919b0011c4eb87b9ac6317079fb9800eb17c90dda05fc9de4ebc3"}, - {file = "rjsmin-1.2.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:5d67ec09da46a492186e35cabca02a0d092eda5ef5b408a419b99ee4acf28d5c"}, - {file = "rjsmin-1.2.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:d332e44a1b21ad63401cc7eebc81157e3d982d5fb503bb4faaea5028068d71e9"}, - {file = "rjsmin-1.2.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:113132a40ce7d03b2ced4fac215f0297338ed1c207394b739266efab7831988b"}, - {file = "rjsmin-1.2.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:122aa52bcf7ad9f12728d309012d1308c6ecfe4d6b09ea867a110dcad7b7728c"}, - {file = "rjsmin-1.2.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:8a6710e358c661dcdcfd027e67de3afd72a6af4c88101dcf110de39e9bbded39"}, - {file = "rjsmin-1.2.1.tar.gz", hash = "sha256:1f982be8e011438777a94307279b40134a3935fc0f079312ee299725b8af5411"}, -] - -[[package]] -name = "rpds-py" -version = "0.18.0" -description = "Python bindings to Rust's persistent data structures (rpds)" -optional = false -python-versions = ">=3.8" -files = [ - {file = "rpds_py-0.18.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:5b4e7d8d6c9b2e8ee2d55c90b59c707ca59bc30058269b3db7b1f8df5763557e"}, - {file = "rpds_py-0.18.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c463ed05f9dfb9baebef68048aed8dcdc94411e4bf3d33a39ba97e271624f8f7"}, - {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01e36a39af54a30f28b73096dd39b6802eddd04c90dbe161c1b8dbe22353189f"}, - {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d62dec4976954a23d7f91f2f4530852b0c7608116c257833922a896101336c51"}, - {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dd18772815d5f008fa03d2b9a681ae38d5ae9f0e599f7dda233c439fcaa00d40"}, - {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:923d39efa3cfb7279a0327e337a7958bff00cc447fd07a25cddb0a1cc9a6d2da"}, - {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39514da80f971362f9267c600b6d459bfbbc549cffc2cef8e47474fddc9b45b1"}, - {file = "rpds_py-0.18.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a34d557a42aa28bd5c48a023c570219ba2593bcbbb8dc1b98d8cf5d529ab1434"}, - {file = "rpds_py-0.18.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:93df1de2f7f7239dc9cc5a4a12408ee1598725036bd2dedadc14d94525192fc3"}, - {file = "rpds_py-0.18.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:34b18ba135c687f4dac449aa5157d36e2cbb7c03cbea4ddbd88604e076aa836e"}, - {file = "rpds_py-0.18.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c0b5dcf9193625afd8ecc92312d6ed78781c46ecbf39af9ad4681fc9f464af88"}, - {file = "rpds_py-0.18.0-cp310-none-win32.whl", hash = "sha256:c4325ff0442a12113a6379af66978c3fe562f846763287ef66bdc1d57925d337"}, - {file = "rpds_py-0.18.0-cp310-none-win_amd64.whl", hash = "sha256:7223a2a5fe0d217e60a60cdae28d6949140dde9c3bcc714063c5b463065e3d66"}, - {file = "rpds_py-0.18.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:3a96e0c6a41dcdba3a0a581bbf6c44bb863f27c541547fb4b9711fd8cf0ffad4"}, - {file = "rpds_py-0.18.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30f43887bbae0d49113cbaab729a112251a940e9b274536613097ab8b4899cf6"}, - {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fcb25daa9219b4cf3a0ab24b0eb9a5cc8949ed4dc72acb8fa16b7e1681aa3c58"}, - {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d68c93e381010662ab873fea609bf6c0f428b6d0bb00f2c6939782e0818d37bf"}, - {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b34b7aa8b261c1dbf7720b5d6f01f38243e9b9daf7e6b8bc1fd4657000062f2c"}, - {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e6d75ab12b0bbab7215e5d40f1e5b738aa539598db27ef83b2ec46747df90e1"}, - {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b8612cd233543a3781bc659c731b9d607de65890085098986dfd573fc2befe5"}, - {file = "rpds_py-0.18.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aec493917dd45e3c69d00a8874e7cbed844efd935595ef78a0f25f14312e33c6"}, - {file = "rpds_py-0.18.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:661d25cbffaf8cc42e971dd570d87cb29a665f49f4abe1f9e76be9a5182c4688"}, - {file = "rpds_py-0.18.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1df3659d26f539ac74fb3b0c481cdf9d725386e3552c6fa2974f4d33d78e544b"}, - {file = "rpds_py-0.18.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a1ce3ba137ed54f83e56fb983a5859a27d43a40188ba798993812fed73c70836"}, - {file = "rpds_py-0.18.0-cp311-none-win32.whl", hash = "sha256:69e64831e22a6b377772e7fb337533c365085b31619005802a79242fee620bc1"}, - {file = "rpds_py-0.18.0-cp311-none-win_amd64.whl", hash = "sha256:998e33ad22dc7ec7e030b3df701c43630b5bc0d8fbc2267653577e3fec279afa"}, - {file = "rpds_py-0.18.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:7f2facbd386dd60cbbf1a794181e6aa0bd429bd78bfdf775436020172e2a23f0"}, - {file = "rpds_py-0.18.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1d9a5be316c15ffb2b3c405c4ff14448c36b4435be062a7f578ccd8b01f0c4d8"}, - {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd5bf1af8efe569654bbef5a3e0a56eca45f87cfcffab31dd8dde70da5982475"}, - {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5417558f6887e9b6b65b4527232553c139b57ec42c64570569b155262ac0754f"}, - {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:56a737287efecafc16f6d067c2ea0117abadcd078d58721f967952db329a3e5c"}, - {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8f03bccbd8586e9dd37219bce4d4e0d3ab492e6b3b533e973fa08a112cb2ffc9"}, - {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4457a94da0d5c53dc4b3e4de1158bdab077db23c53232f37a3cb7afdb053a4e3"}, - {file = "rpds_py-0.18.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0ab39c1ba9023914297dd88ec3b3b3c3f33671baeb6acf82ad7ce883f6e8e157"}, - {file = "rpds_py-0.18.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9d54553c1136b50fd12cc17e5b11ad07374c316df307e4cfd6441bea5fb68496"}, - {file = "rpds_py-0.18.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0af039631b6de0397ab2ba16eaf2872e9f8fca391b44d3d8cac317860a700a3f"}, - {file = "rpds_py-0.18.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:84ffab12db93b5f6bad84c712c92060a2d321b35c3c9960b43d08d0f639d60d7"}, - {file = "rpds_py-0.18.0-cp312-none-win32.whl", hash = "sha256:685537e07897f173abcf67258bee3c05c374fa6fff89d4c7e42fb391b0605e98"}, - {file = "rpds_py-0.18.0-cp312-none-win_amd64.whl", hash = "sha256:e003b002ec72c8d5a3e3da2989c7d6065b47d9eaa70cd8808b5384fbb970f4ec"}, - {file = "rpds_py-0.18.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:08f9ad53c3f31dfb4baa00da22f1e862900f45908383c062c27628754af2e88e"}, - {file = "rpds_py-0.18.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c0013fe6b46aa496a6749c77e00a3eb07952832ad6166bd481c74bda0dcb6d58"}, - {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e32a92116d4f2a80b629778280103d2a510a5b3f6314ceccd6e38006b5e92dcb"}, - {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e541ec6f2ec456934fd279a3120f856cd0aedd209fc3852eca563f81738f6861"}, - {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bed88b9a458e354014d662d47e7a5baafd7ff81c780fd91584a10d6ec842cb73"}, - {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2644e47de560eb7bd55c20fc59f6daa04682655c58d08185a9b95c1970fa1e07"}, - {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e8916ae4c720529e18afa0b879473049e95949bf97042e938530e072fde061d"}, - {file = "rpds_py-0.18.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:465a3eb5659338cf2a9243e50ad9b2296fa15061736d6e26240e713522b6235c"}, - {file = "rpds_py-0.18.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ea7d4a99f3b38c37eac212dbd6ec42b7a5ec51e2c74b5d3223e43c811609e65f"}, - {file = "rpds_py-0.18.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:67071a6171e92b6da534b8ae326505f7c18022c6f19072a81dcf40db2638767c"}, - {file = "rpds_py-0.18.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:41ef53e7c58aa4ef281da975f62c258950f54b76ec8e45941e93a3d1d8580594"}, - {file = "rpds_py-0.18.0-cp38-none-win32.whl", hash = "sha256:fdea4952db2793c4ad0bdccd27c1d8fdd1423a92f04598bc39425bcc2b8ee46e"}, - {file = "rpds_py-0.18.0-cp38-none-win_amd64.whl", hash = "sha256:7cd863afe7336c62ec78d7d1349a2f34c007a3cc6c2369d667c65aeec412a5b1"}, - {file = "rpds_py-0.18.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:5307def11a35f5ae4581a0b658b0af8178c65c530e94893345bebf41cc139d33"}, - {file = "rpds_py-0.18.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:77f195baa60a54ef9d2de16fbbfd3ff8b04edc0c0140a761b56c267ac11aa467"}, - {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39f5441553f1c2aed4de4377178ad8ff8f9d733723d6c66d983d75341de265ab"}, - {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9a00312dea9310d4cb7dbd7787e722d2e86a95c2db92fbd7d0155f97127bcb40"}, - {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8f2fc11e8fe034ee3c34d316d0ad8808f45bc3b9ce5857ff29d513f3ff2923a1"}, - {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:586f8204935b9ec884500498ccc91aa869fc652c40c093bd9e1471fbcc25c022"}, - {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddc2f4dfd396c7bfa18e6ce371cba60e4cf9d2e5cdb71376aa2da264605b60b9"}, - {file = "rpds_py-0.18.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5ddcba87675b6d509139d1b521e0c8250e967e63b5909a7e8f8944d0f90ff36f"}, - {file = "rpds_py-0.18.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7bd339195d84439cbe5771546fe8a4e8a7a045417d8f9de9a368c434e42a721e"}, - {file = "rpds_py-0.18.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:d7c36232a90d4755b720fbd76739d8891732b18cf240a9c645d75f00639a9024"}, - {file = "rpds_py-0.18.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6b0817e34942b2ca527b0e9298373e7cc75f429e8da2055607f4931fded23e20"}, - {file = "rpds_py-0.18.0-cp39-none-win32.whl", hash = "sha256:99f70b740dc04d09e6b2699b675874367885217a2e9f782bdf5395632ac663b7"}, - {file = "rpds_py-0.18.0-cp39-none-win_amd64.whl", hash = "sha256:6ef687afab047554a2d366e112dd187b62d261d49eb79b77e386f94644363294"}, - {file = "rpds_py-0.18.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ad36cfb355e24f1bd37cac88c112cd7730873f20fb0bdaf8ba59eedf8216079f"}, - {file = "rpds_py-0.18.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:36b3ee798c58ace201289024b52788161e1ea133e4ac93fba7d49da5fec0ef9e"}, - {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8a2f084546cc59ea99fda8e070be2fd140c3092dc11524a71aa8f0f3d5a55ca"}, - {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e4461d0f003a0aa9be2bdd1b798a041f177189c1a0f7619fe8c95ad08d9a45d7"}, - {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8db715ebe3bb7d86d77ac1826f7d67ec11a70dbd2376b7cc214199360517b641"}, - {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:793968759cd0d96cac1e367afd70c235867831983f876a53389ad869b043c948"}, - {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66e6a3af5a75363d2c9a48b07cb27c4ea542938b1a2e93b15a503cdfa8490795"}, - {file = "rpds_py-0.18.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6ef0befbb5d79cf32d0266f5cff01545602344eda89480e1dd88aca964260b18"}, - {file = "rpds_py-0.18.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:1d4acf42190d449d5e89654d5c1ed3a4f17925eec71f05e2a41414689cda02d1"}, - {file = "rpds_py-0.18.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:a5f446dd5055667aabaee78487f2b5ab72e244f9bc0b2ffebfeec79051679984"}, - {file = "rpds_py-0.18.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:9dbbeb27f4e70bfd9eec1be5477517365afe05a9b2c441a0b21929ee61048124"}, - {file = "rpds_py-0.18.0-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:22806714311a69fd0af9b35b7be97c18a0fc2826e6827dbb3a8c94eac6cf7eeb"}, - {file = "rpds_py-0.18.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:b34ae4636dfc4e76a438ab826a0d1eed2589ca7d9a1b2d5bb546978ac6485461"}, - {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c8370641f1a7f0e0669ddccca22f1da893cef7628396431eb445d46d893e5cd"}, - {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c8362467a0fdeccd47935f22c256bec5e6abe543bf0d66e3d3d57a8fb5731863"}, - {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11a8c85ef4a07a7638180bf04fe189d12757c696eb41f310d2426895356dcf05"}, - {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b316144e85316da2723f9d8dc75bada12fa58489a527091fa1d5a612643d1a0e"}, - {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf1ea2e34868f6fbf070e1af291c8180480310173de0b0c43fc38a02929fc0e3"}, - {file = "rpds_py-0.18.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e546e768d08ad55b20b11dbb78a745151acbd938f8f00d0cfbabe8b0199b9880"}, - {file = "rpds_py-0.18.0-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:4901165d170a5fde6f589acb90a6b33629ad1ec976d4529e769c6f3d885e3e80"}, - {file = "rpds_py-0.18.0-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:618a3d6cae6ef8ec88bb76dd80b83cfe415ad4f1d942ca2a903bf6b6ff97a2da"}, - {file = "rpds_py-0.18.0-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:ed4eb745efbff0a8e9587d22a84be94a5eb7d2d99c02dacf7bd0911713ed14dd"}, - {file = "rpds_py-0.18.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:6c81e5f372cd0dc5dc4809553d34f832f60a46034a5f187756d9b90586c2c307"}, - {file = "rpds_py-0.18.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:43fbac5f22e25bee1d482c97474f930a353542855f05c1161fd804c9dc74a09d"}, - {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d7faa6f14017c0b1e69f5e2c357b998731ea75a442ab3841c0dbbbfe902d2c4"}, - {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:08231ac30a842bd04daabc4d71fddd7e6d26189406d5a69535638e4dcb88fe76"}, - {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:044a3e61a7c2dafacae99d1e722cc2d4c05280790ec5a05031b3876809d89a5c"}, - {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3f26b5bd1079acdb0c7a5645e350fe54d16b17bfc5e71f371c449383d3342e17"}, - {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:482103aed1dfe2f3b71a58eff35ba105289b8d862551ea576bd15479aba01f66"}, - {file = "rpds_py-0.18.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1374f4129f9bcca53a1bba0bb86bf78325a0374577cf7e9e4cd046b1e6f20e24"}, - {file = "rpds_py-0.18.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:635dc434ff724b178cb192c70016cc0ad25a275228f749ee0daf0eddbc8183b1"}, - {file = "rpds_py-0.18.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:bc362ee4e314870a70f4ae88772d72d877246537d9f8cb8f7eacf10884862432"}, - {file = "rpds_py-0.18.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:4832d7d380477521a8c1644bbab6588dfedea5e30a7d967b5fb75977c45fd77f"}, - {file = "rpds_py-0.18.0.tar.gz", hash = "sha256:42821446ee7a76f5d9f71f9e33a4fb2ffd724bb3e7f93386150b61a43115788d"}, -] - -[[package]] -name = "sentry-sdk" -version = "1.42.0" -description = "Python client for Sentry (https://sentry.io)" -optional = false -python-versions = "*" -files = [ - {file = "sentry-sdk-1.42.0.tar.gz", hash = "sha256:4a8364b8f7edbf47f95f7163e48334c96100d9c098f0ae6606e2e18183c223e6"}, - {file = "sentry_sdk-1.42.0-py2.py3-none-any.whl", hash = "sha256:a654ee7e497a3f5f6368b36d4f04baeab1fe92b3105f7f6965d6ef0de35a9ba4"}, -] - -[package.dependencies] -certifi = "*" -urllib3 = {version = ">=1.26.11", markers = "python_version >= \"3.6\""} - -[package.extras] -aiohttp = ["aiohttp (>=3.5)"] -arq = ["arq (>=0.23)"] -asyncpg = ["asyncpg (>=0.23)"] -beam = ["apache-beam (>=2.12)"] -bottle = ["bottle (>=0.12.13)"] -celery = ["celery (>=3)"] -chalice = ["chalice (>=1.16.0)"] -clickhouse-driver = ["clickhouse-driver (>=0.2.0)"] -django = ["django (>=1.8)"] -falcon = ["falcon (>=1.4)"] -fastapi = ["fastapi (>=0.79.0)"] -flask = ["blinker (>=1.1)", "flask (>=0.11)", "markupsafe"] -grpcio = ["grpcio (>=1.21.1)"] -httpx = ["httpx (>=0.16.0)"] -huey = ["huey (>=2)"] -loguru = ["loguru (>=0.5)"] -openai = ["openai (>=1.0.0)", "tiktoken (>=0.3.0)"] -opentelemetry = ["opentelemetry-distro (>=0.35b0)"] -opentelemetry-experimental = ["opentelemetry-distro (>=0.40b0,<1.0)", "opentelemetry-instrumentation-aiohttp-client (>=0.40b0,<1.0)", "opentelemetry-instrumentation-django (>=0.40b0,<1.0)", "opentelemetry-instrumentation-fastapi (>=0.40b0,<1.0)", "opentelemetry-instrumentation-flask (>=0.40b0,<1.0)", "opentelemetry-instrumentation-requests (>=0.40b0,<1.0)", "opentelemetry-instrumentation-sqlite3 (>=0.40b0,<1.0)", "opentelemetry-instrumentation-urllib (>=0.40b0,<1.0)"] -pure-eval = ["asttokens", "executing", "pure-eval"] -pymongo = ["pymongo (>=3.1)"] -pyspark = ["pyspark (>=2.4.4)"] -quart = ["blinker (>=1.1)", "quart (>=0.16.1)"] -rq = ["rq (>=0.6)"] -sanic = ["sanic (>=0.8)"] -sqlalchemy = ["sqlalchemy (>=1.2)"] -starlette = ["starlette (>=0.19.1)"] -starlite = ["starlite (>=1.48)"] -tornado = ["tornado (>=5)"] - -[[package]] -name = "sepaxml" -version = "2.6.1" -description = "Python SEPA XML implementations" -optional = false -python-versions = "*" -files = [ - {file = "sepaxml-2.6.1-py3-none-any.whl", hash = "sha256:f110e4a11322c1ea46f86550d703468b109343b4cece1d5b792d394f03d86110"}, - {file = "sepaxml-2.6.1.tar.gz", hash = "sha256:939c12236779e6a3d7221d3557921abd6e30b0bfd369e67815ea55bccaacd688"}, -] - -[package.dependencies] -text-unidecode = "*" -xmlschema = "*" - -[[package]] -name = "setuptools" -version = "69.2.0" -description = "Easily download, build, install, upgrade, and uninstall Python packages" -optional = false -python-versions = ">=3.8" -files = [ - {file = "setuptools-69.2.0-py3-none-any.whl", hash = "sha256:c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c"}, - {file = "setuptools-69.2.0.tar.gz", hash = "sha256:0ff4183f8f42cd8fa3acea16c45205521a4ef28f73c6391d8a25e92893134f2e"}, -] - -[package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mypy (==1.9)", "packaging (>=23.2)", "pip (>=19.1)", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] -testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.2)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] - -[[package]] -name = "six" -version = "1.16.0" -description = "Python 2 and 3 compatibility utilities" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" -files = [ - {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, - {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, -] - -[[package]] -name = "slimit" -version = "0.8.1" -description = "SlimIt - JavaScript minifier" -optional = false -python-versions = "*" -files = [ - {file = "slimit-0.8.1.zip", hash = "sha256:f433dcef899f166b207b67d91d3f7344659cb33b8259818f084167244e17720b"}, -] - -[package.dependencies] -ply = ">=3.4" - -[[package]] -name = "soupsieve" -version = "2.5" -description = "A modern CSS selector implementation for Beautiful Soup." -optional = false -python-versions = ">=3.8" -files = [ - {file = "soupsieve-2.5-py3-none-any.whl", hash = "sha256:eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7"}, - {file = "soupsieve-2.5.tar.gz", hash = "sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690"}, -] - -[[package]] -name = "sqlparse" -version = "0.4.4" -description = "A non-validating SQL parser." -optional = false -python-versions = ">=3.5" -files = [ - {file = "sqlparse-0.4.4-py3-none-any.whl", hash = "sha256:5430a4fe2ac7d0f93e66f1efc6e1338a41884b7ddf2a350cedd20ccc4d9d28f3"}, - {file = "sqlparse-0.4.4.tar.gz", hash = "sha256:d446183e84b8349fa3061f0fe7f06ca94ba65b426946ffebe6e3e8295332420c"}, -] - -[package.extras] -dev = ["build", "flake8"] -doc = ["sphinx"] -test = ["pytest", "pytest-cov"] - -[[package]] -name = "static3" -version = "0.7.0" -description = "A really simple WSGI way to serve static (or mixed) content." -optional = false -python-versions = "*" -files = [ - {file = "static3-0.7.0.tar.gz", hash = "sha256:674641c64bc75507af2eb20bef7e7e3593dca993dec6674be108fa15b42f47c8"}, -] - -[package.extras] -genshimagic = ["Genshi"] -kidmagic = ["kid"] - -[[package]] -name = "stripe" -version = "7.9.0" -description = "Python bindings for the Stripe API" -optional = false -python-versions = ">=3.6" -files = [ - {file = "stripe-7.9.0-py2.py3-none-any.whl", hash = "sha256:42b4aa5162e45f889afaa40fc1eccfb9ec551c616e1620f700c19a11ae8e62eb"}, - {file = "stripe-7.9.0.tar.gz", hash = "sha256:84e5e430835a4b0cd4fd2a57ce3853269d1db3439111cda6b6ed752e349cf4a1"}, -] - -[package.dependencies] -requests = {version = ">=2.20", markers = "python_version >= \"3.0\""} -typing-extensions = {version = ">=4.5.0", markers = "python_version >= \"3.7\""} - -[[package]] -name = "text-unidecode" -version = "1.3" -description = "The most basic Text::Unidecode port" -optional = false -python-versions = "*" -files = [ - {file = "text-unidecode-1.3.tar.gz", hash = "sha256:bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93"}, - {file = "text_unidecode-1.3-py2.py3-none-any.whl", hash = "sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8"}, -] - -[[package]] -name = "tlds" -version = "2024030600" -description = "Automatically updated list of valid TLDs taken directly from IANA" -optional = false -python-versions = "*" -files = [ - {file = "tlds-2024030600-py2.py3-none-any.whl", hash = "sha256:e4eafaad17a8eb19064d46eda0ca8abc366cf67ba01c71861a7dbfc7003c0708"}, - {file = "tlds-2024030600.tar.gz", hash = "sha256:e39e7c8e931a2e90710594622e4737ed336e0da335fbc7aca015b200b6279cb1"}, -] - -[[package]] -name = "tqdm" -version = "4.66.2" -description = "Fast, Extensible Progress Meter" -optional = false -python-versions = ">=3.7" -files = [ - {file = "tqdm-4.66.2-py3-none-any.whl", hash = "sha256:1ee4f8a893eb9bef51c6e35730cebf234d5d0b6bd112b0271e10ed7c24a02bd9"}, - {file = "tqdm-4.66.2.tar.gz", hash = "sha256:6cd52cdf0fef0e0f543299cfc96fec90d7b8a7e88745f411ec33eb44d5ed3531"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "platform_system == \"Windows\""} - -[package.extras] -dev = ["pytest (>=6)", "pytest-cov", "pytest-timeout", "pytest-xdist"] -notebook = ["ipywidgets (>=6)"] -slack = ["slack-sdk"] -telegram = ["requests"] - -[[package]] -name = "typing-extensions" -version = "4.10.0" -description = "Backported and Experimental Type Hints for Python 3.8+" -optional = false -python-versions = ">=3.8" -files = [ - {file = "typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475"}, - {file = "typing_extensions-4.10.0.tar.gz", hash = "sha256:b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb"}, -] - -[[package]] -name = "tzdata" -version = "2024.1" -description = "Provider of IANA time zone data" -optional = false -python-versions = ">=2" -files = [ - {file = "tzdata-2024.1-py2.py3-none-any.whl", hash = "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252"}, - {file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"}, -] - -[[package]] -name = "ujson" -version = "5.9.0" -description = "Ultra fast JSON encoder and decoder for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "ujson-5.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ab71bf27b002eaf7d047c54a68e60230fbd5cd9da60de7ca0aa87d0bccead8fa"}, - {file = "ujson-5.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7a365eac66f5aa7a7fdf57e5066ada6226700884fc7dce2ba5483538bc16c8c5"}, - {file = "ujson-5.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e015122b337858dba5a3dc3533af2a8fc0410ee9e2374092f6a5b88b182e9fcc"}, - {file = "ujson-5.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:779a2a88c53039bebfbccca934430dabb5c62cc179e09a9c27a322023f363e0d"}, - {file = "ujson-5.9.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10ca3c41e80509fd9805f7c149068fa8dbee18872bbdc03d7cca928926a358d5"}, - {file = "ujson-5.9.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4a566e465cb2fcfdf040c2447b7dd9718799d0d90134b37a20dff1e27c0e9096"}, - {file = "ujson-5.9.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:f833c529e922577226a05bc25b6a8b3eb6c4fb155b72dd88d33de99d53113124"}, - {file = "ujson-5.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b68a0caab33f359b4cbbc10065c88e3758c9f73a11a65a91f024b2e7a1257106"}, - {file = "ujson-5.9.0-cp310-cp310-win32.whl", hash = "sha256:7cc7e605d2aa6ae6b7321c3ae250d2e050f06082e71ab1a4200b4ae64d25863c"}, - {file = "ujson-5.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:a6d3f10eb8ccba4316a6b5465b705ed70a06011c6f82418b59278fbc919bef6f"}, - {file = "ujson-5.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3b23bbb46334ce51ddb5dded60c662fbf7bb74a37b8f87221c5b0fec1ec6454b"}, - {file = "ujson-5.9.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6974b3a7c17bbf829e6c3bfdc5823c67922e44ff169851a755eab79a3dd31ec0"}, - {file = "ujson-5.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5964ea916edfe24af1f4cc68488448fbb1ec27a3ddcddc2b236da575c12c8ae"}, - {file = "ujson-5.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ba7cac47dd65ff88571eceeff48bf30ed5eb9c67b34b88cb22869b7aa19600d"}, - {file = "ujson-5.9.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6bbd91a151a8f3358c29355a491e915eb203f607267a25e6ab10531b3b157c5e"}, - {file = "ujson-5.9.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:829a69d451a49c0de14a9fecb2a2d544a9b2c884c2b542adb243b683a6f15908"}, - {file = "ujson-5.9.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:a807ae73c46ad5db161a7e883eec0fbe1bebc6a54890152ccc63072c4884823b"}, - {file = "ujson-5.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8fc2aa18b13d97b3c8ccecdf1a3c405f411a6e96adeee94233058c44ff92617d"}, - {file = "ujson-5.9.0-cp311-cp311-win32.whl", hash = "sha256:70e06849dfeb2548be48fdd3ceb53300640bc8100c379d6e19d78045e9c26120"}, - {file = "ujson-5.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:7309d063cd392811acc49b5016728a5e1b46ab9907d321ebbe1c2156bc3c0b99"}, - {file = "ujson-5.9.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:20509a8c9f775b3a511e308bbe0b72897ba6b800767a7c90c5cca59d20d7c42c"}, - {file = "ujson-5.9.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b28407cfe315bd1b34f1ebe65d3bd735d6b36d409b334100be8cdffae2177b2f"}, - {file = "ujson-5.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9d302bd17989b6bd90d49bade66943c78f9e3670407dbc53ebcf61271cadc399"}, - {file = "ujson-5.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f21315f51e0db8ee245e33a649dd2d9dce0594522de6f278d62f15f998e050e"}, - {file = "ujson-5.9.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5635b78b636a54a86fdbf6f027e461aa6c6b948363bdf8d4fbb56a42b7388320"}, - {file = "ujson-5.9.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:82b5a56609f1235d72835ee109163c7041b30920d70fe7dac9176c64df87c164"}, - {file = "ujson-5.9.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:5ca35f484622fd208f55041b042d9d94f3b2c9c5add4e9af5ee9946d2d30db01"}, - {file = "ujson-5.9.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:829b824953ebad76d46e4ae709e940bb229e8999e40881338b3cc94c771b876c"}, - {file = "ujson-5.9.0-cp312-cp312-win32.whl", hash = "sha256:25fa46e4ff0a2deecbcf7100af3a5d70090b461906f2299506485ff31d9ec437"}, - {file = "ujson-5.9.0-cp312-cp312-win_amd64.whl", hash = "sha256:60718f1720a61560618eff3b56fd517d107518d3c0160ca7a5a66ac949c6cf1c"}, - {file = "ujson-5.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d581db9db9e41d8ea0b2705c90518ba623cbdc74f8d644d7eb0d107be0d85d9c"}, - {file = "ujson-5.9.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ff741a5b4be2d08fceaab681c9d4bc89abf3c9db600ab435e20b9b6d4dfef12e"}, - {file = "ujson-5.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cdcb02cabcb1e44381221840a7af04433c1dc3297af76fde924a50c3054c708c"}, - {file = "ujson-5.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e208d3bf02c6963e6ef7324dadf1d73239fb7008491fdf523208f60be6437402"}, - {file = "ujson-5.9.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4b3917296630a075e04d3d07601ce2a176479c23af838b6cf90a2d6b39b0d95"}, - {file = "ujson-5.9.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0c4d6adb2c7bb9eb7c71ad6f6f612e13b264942e841f8cc3314a21a289a76c4e"}, - {file = "ujson-5.9.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0b159efece9ab5c01f70b9d10bbb77241ce111a45bc8d21a44c219a2aec8ddfd"}, - {file = "ujson-5.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f0cb4a7814940ddd6619bdce6be637a4b37a8c4760de9373bac54bb7b229698b"}, - {file = "ujson-5.9.0-cp38-cp38-win32.whl", hash = "sha256:dc80f0f5abf33bd7099f7ac94ab1206730a3c0a2d17549911ed2cb6b7aa36d2d"}, - {file = "ujson-5.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:506a45e5fcbb2d46f1a51fead991c39529fc3737c0f5d47c9b4a1d762578fc30"}, - {file = "ujson-5.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d0fd2eba664a22447102062814bd13e63c6130540222c0aa620701dd01f4be81"}, - {file = "ujson-5.9.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bdf7fc21a03bafe4ba208dafa84ae38e04e5d36c0e1c746726edf5392e9f9f36"}, - {file = "ujson-5.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2f909bc08ce01f122fd9c24bc6f9876aa087188dfaf3c4116fe6e4daf7e194f"}, - {file = "ujson-5.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd4ea86c2afd41429751d22a3ccd03311c067bd6aeee2d054f83f97e41e11d8f"}, - {file = "ujson-5.9.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:63fb2e6599d96fdffdb553af0ed3f76b85fda63281063f1cb5b1141a6fcd0617"}, - {file = "ujson-5.9.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:32bba5870c8fa2a97f4a68f6401038d3f1922e66c34280d710af00b14a3ca562"}, - {file = "ujson-5.9.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:37ef92e42535a81bf72179d0e252c9af42a4ed966dc6be6967ebfb929a87bc60"}, - {file = "ujson-5.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f69f16b8f1c69da00e38dc5f2d08a86b0e781d0ad3e4cc6a13ea033a439c4844"}, - {file = "ujson-5.9.0-cp39-cp39-win32.whl", hash = "sha256:3382a3ce0ccc0558b1c1668950008cece9bf463ebb17463ebf6a8bfc060dae34"}, - {file = "ujson-5.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:6adef377ed583477cf005b58c3025051b5faa6b8cc25876e594afbb772578f21"}, - {file = "ujson-5.9.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ffdfebd819f492e48e4f31c97cb593b9c1a8251933d8f8972e81697f00326ff1"}, - {file = "ujson-5.9.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4eec2ddc046360d087cf35659c7ba0cbd101f32035e19047013162274e71fcf"}, - {file = "ujson-5.9.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fbb90aa5c23cb3d4b803c12aa220d26778c31b6e4b7a13a1f49971f6c7d088e"}, - {file = "ujson-5.9.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba0823cb70866f0d6a4ad48d998dd338dce7314598721bc1b7986d054d782dfd"}, - {file = "ujson-5.9.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:4e35d7885ed612feb6b3dd1b7de28e89baaba4011ecdf995e88be9ac614765e9"}, - {file = "ujson-5.9.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b048aa93eace8571eedbd67b3766623e7f0acbf08ee291bef7d8106210432427"}, - {file = "ujson-5.9.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:323279e68c195110ef85cbe5edce885219e3d4a48705448720ad925d88c9f851"}, - {file = "ujson-5.9.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9ac92d86ff34296f881e12aa955f7014d276895e0e4e868ba7fddebbde38e378"}, - {file = "ujson-5.9.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:6eecbd09b316cea1fd929b1e25f70382917542ab11b692cb46ec9b0a26c7427f"}, - {file = "ujson-5.9.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:473fb8dff1d58f49912323d7cb0859df5585cfc932e4b9c053bf8cf7f2d7c5c4"}, - {file = "ujson-5.9.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f91719c6abafe429c1a144cfe27883eace9fb1c09a9c5ef1bcb3ae80a3076a4e"}, - {file = "ujson-5.9.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b1c0991c4fe256f5fdb19758f7eac7f47caac29a6c57d0de16a19048eb86bad"}, - {file = "ujson-5.9.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a8ea0f55a1396708e564595aaa6696c0d8af532340f477162ff6927ecc46e21"}, - {file = "ujson-5.9.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:07e0cfdde5fd91f54cd2d7ffb3482c8ff1bf558abf32a8b953a5d169575ae1cd"}, - {file = "ujson-5.9.0.tar.gz", hash = "sha256:89cc92e73d5501b8a7f48575eeb14ad27156ad092c2e9fc7e3cf949f07e75532"}, -] - -[[package]] -name = "urllib3" -version = "2.2.1" -description = "HTTP library with thread-safe connection pooling, file post, and more." -optional = false -python-versions = ">=3.8" -files = [ - {file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"}, - {file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"}, -] - -[package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] -h2 = ["h2 (>=4,<5)"] -socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] -zstd = ["zstandard (>=0.18.0)"] - -[[package]] -name = "vat-moss-forked" -version = "2020.3.20.0.11.0" -description = "Tools for VAT MOSS and Norway VAT on digital services." -optional = false -python-versions = "*" -files = [ - {file = "vat_moss_forked-2020.3.20.0.11.0-py3-none-any.whl", hash = "sha256:80f489da56836f5d3ad8e5b29621238a18888fa8669ebf9dd975c3666174471f"}, - {file = "vat_moss_forked-2020.3.20.0.11.0.tar.gz", hash = "sha256:d46836079687a20375cae0336946015060c71a30faa30642c8ea726daf638095"}, -] - -[[package]] -name = "vine" -version = "5.1.0" -description = "Python promises." -optional = false -python-versions = ">=3.6" -files = [ - {file = "vine-5.1.0-py3-none-any.whl", hash = "sha256:40fdf3c48b2cfe1c38a49e9ae2da6fda88e4794c810050a728bd7413811fb1dc"}, - {file = "vine-5.1.0.tar.gz", hash = "sha256:8b62e981d35c41049211cf62a0a1242d8c1ee9bd15bb196ce38aefd6799e61e0"}, -] - -[[package]] -name = "vobject" -version = "0.9.7" -description = "A full-featured Python package for parsing and creating iCalendar and vCard files" -optional = false -python-versions = "*" -files = [ - {file = "vobject-0.9.7-py2.py3-none-any.whl", hash = "sha256:67ebec81ee39fc60b7355ce077f850d5f13d99d08b110fa1abcfdbb516205e20"}, - {file = "vobject-0.9.7.tar.gz", hash = "sha256:ab727bf81de88984ada5c11f066f1e1649903d3e3d7ec91f1ce968172afd5256"}, -] - -[package.dependencies] -python-dateutil = ">=2.4.0" - -[[package]] -name = "wcwidth" -version = "0.2.13" -description = "Measures the displayed width of unicode strings in a terminal" -optional = false -python-versions = "*" -files = [ - {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"}, - {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, -] - -[[package]] -name = "webauthn" -version = "2.0.0" -description = "Pythonic WebAuthn" -optional = false -python-versions = "*" -files = [ - {file = "webauthn-2.0.0-py3-none-any.whl", hash = "sha256:644dc68af5caaade06be6a2a2278775e85116e92dd755ad7a49d992d51c82033"}, - {file = "webauthn-2.0.0.tar.gz", hash = "sha256:12cc1759da98668b8242badc37c4129df300f89d89f5c183fac80e7b33c41dfd"}, -] - -[package.dependencies] -asn1crypto = ">=1.4.0" -cbor2 = ">=5.4.6" -cryptography = ">=41.0.7" -pyOpenSSL = ">=23.3.0" - -[[package]] -name = "webencodings" -version = "0.5.1" -description = "Character encoding aliases for legacy web content" -optional = false -python-versions = "*" -files = [ - {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"}, - {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, -] - -[[package]] -name = "xmlschema" -version = "3.2.0" -description = "An XML Schema validator and decoder" -optional = false -python-versions = ">=3.8" -files = [ - {file = "xmlschema-3.2.0-py3-none-any.whl", hash = "sha256:7ad8b4838fee0cfbfc3a5c7d38e33964cf5ebd2c20e2aa23ea813b6793438f9c"}, - {file = "xmlschema-3.2.0.tar.gz", hash = "sha256:541d96893691aae3cb93ea36a85dde18327012e26e0c51d610f4f79e7fc86f7b"}, -] - -[package.dependencies] -elementpath = ">=4.4.0,<5.0.0" - -[package.extras] -codegen = ["elementpath (>=4.4.0,<5.0.0)", "jinja2"] -dev = ["Sphinx", "coverage", "elementpath (>=4.4.0,<5.0.0)", "flake8", "jinja2", "lxml", "lxml-stubs", "memory-profiler", "mypy", "sphinx-rtd-theme", "tox"] -docs = ["Sphinx", "elementpath (>=4.4.0,<5.0.0)", "jinja2", "sphinx-rtd-theme"] - -[[package]] -name = "yarl" -version = "1.9.4" -description = "Yet another URL library" -optional = false -python-versions = ">=3.7" -files = [ - {file = "yarl-1.9.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a8c1df72eb746f4136fe9a2e72b0c9dc1da1cbd23b5372f94b5820ff8ae30e0e"}, - {file = "yarl-1.9.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a3a6ed1d525bfb91b3fc9b690c5a21bb52de28c018530ad85093cc488bee2dd2"}, - {file = "yarl-1.9.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c38c9ddb6103ceae4e4498f9c08fac9b590c5c71b0370f98714768e22ac6fa66"}, - {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d9e09c9d74f4566e905a0b8fa668c58109f7624db96a2171f21747abc7524234"}, - {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8477c1ee4bd47c57d49621a062121c3023609f7a13b8a46953eb6c9716ca392"}, - {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5ff2c858f5f6a42c2a8e751100f237c5e869cbde669a724f2062d4c4ef93551"}, - {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:357495293086c5b6d34ca9616a43d329317feab7917518bc97a08f9e55648455"}, - {file = "yarl-1.9.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54525ae423d7b7a8ee81ba189f131054defdb122cde31ff17477951464c1691c"}, - {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:801e9264d19643548651b9db361ce3287176671fb0117f96b5ac0ee1c3530d53"}, - {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e516dc8baf7b380e6c1c26792610230f37147bb754d6426462ab115a02944385"}, - {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:7d5aaac37d19b2904bb9dfe12cdb08c8443e7ba7d2852894ad448d4b8f442863"}, - {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:54beabb809ffcacbd9d28ac57b0db46e42a6e341a030293fb3185c409e626b8b"}, - {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bac8d525a8dbc2a1507ec731d2867025d11ceadcb4dd421423a5d42c56818541"}, - {file = "yarl-1.9.4-cp310-cp310-win32.whl", hash = "sha256:7855426dfbddac81896b6e533ebefc0af2f132d4a47340cee6d22cac7190022d"}, - {file = "yarl-1.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:848cd2a1df56ddbffeb375535fb62c9d1645dde33ca4d51341378b3f5954429b"}, - {file = "yarl-1.9.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:35a2b9396879ce32754bd457d31a51ff0a9d426fd9e0e3c33394bf4b9036b099"}, - {file = "yarl-1.9.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c7d56b293cc071e82532f70adcbd8b61909eec973ae9d2d1f9b233f3d943f2c"}, - {file = "yarl-1.9.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d8a1c6c0be645c745a081c192e747c5de06e944a0d21245f4cf7c05e457c36e0"}, - {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b3c1ffe10069f655ea2d731808e76e0f452fc6c749bea04781daf18e6039525"}, - {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:549d19c84c55d11687ddbd47eeb348a89df9cb30e1993f1b128f4685cd0ebbf8"}, - {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7409f968456111140c1c95301cadf071bd30a81cbd7ab829169fb9e3d72eae9"}, - {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e23a6d84d9d1738dbc6e38167776107e63307dfc8ad108e580548d1f2c587f42"}, - {file = "yarl-1.9.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d8b889777de69897406c9fb0b76cdf2fd0f31267861ae7501d93003d55f54fbe"}, - {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:03caa9507d3d3c83bca08650678e25364e1843b484f19986a527630ca376ecce"}, - {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4e9035df8d0880b2f1c7f5031f33f69e071dfe72ee9310cfc76f7b605958ceb9"}, - {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:c0ec0ed476f77db9fb29bca17f0a8fcc7bc97ad4c6c1d8959c507decb22e8572"}, - {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:ee04010f26d5102399bd17f8df8bc38dc7ccd7701dc77f4a68c5b8d733406958"}, - {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:49a180c2e0743d5d6e0b4d1a9e5f633c62eca3f8a86ba5dd3c471060e352ca98"}, - {file = "yarl-1.9.4-cp311-cp311-win32.whl", hash = "sha256:81eb57278deb6098a5b62e88ad8281b2ba09f2f1147c4767522353eaa6260b31"}, - {file = "yarl-1.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:d1d2532b340b692880261c15aee4dc94dd22ca5d61b9db9a8a361953d36410b1"}, - {file = "yarl-1.9.4-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0d2454f0aef65ea81037759be5ca9947539667eecebca092733b2eb43c965a81"}, - {file = "yarl-1.9.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:44d8ffbb9c06e5a7f529f38f53eda23e50d1ed33c6c869e01481d3fafa6b8142"}, - {file = "yarl-1.9.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:aaaea1e536f98754a6e5c56091baa1b6ce2f2700cc4a00b0d49eca8dea471074"}, - {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3777ce5536d17989c91696db1d459574e9a9bd37660ea7ee4d3344579bb6f129"}, - {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fc5fc1eeb029757349ad26bbc5880557389a03fa6ada41703db5e068881e5f2"}, - {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ea65804b5dc88dacd4a40279af0cdadcfe74b3e5b4c897aa0d81cf86927fee78"}, - {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa102d6d280a5455ad6a0f9e6d769989638718e938a6a0a2ff3f4a7ff8c62cc4"}, - {file = "yarl-1.9.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09efe4615ada057ba2d30df871d2f668af661e971dfeedf0c159927d48bbeff0"}, - {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:008d3e808d03ef28542372d01057fd09168419cdc8f848efe2804f894ae03e51"}, - {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6f5cb257bc2ec58f437da2b37a8cd48f666db96d47b8a3115c29f316313654ff"}, - {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:992f18e0ea248ee03b5a6e8b3b4738850ae7dbb172cc41c966462801cbf62cf7"}, - {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:0e9d124c191d5b881060a9e5060627694c3bdd1fe24c5eecc8d5d7d0eb6faabc"}, - {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3986b6f41ad22988e53d5778f91855dc0399b043fc8946d4f2e68af22ee9ff10"}, - {file = "yarl-1.9.4-cp312-cp312-win32.whl", hash = "sha256:4b21516d181cd77ebd06ce160ef8cc2a5e9ad35fb1c5930882baff5ac865eee7"}, - {file = "yarl-1.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:a9bd00dc3bc395a662900f33f74feb3e757429e545d831eef5bb280252631984"}, - {file = "yarl-1.9.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:63b20738b5aac74e239622d2fe30df4fca4942a86e31bf47a81a0e94c14df94f"}, - {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7d7f7de27b8944f1fee2c26a88b4dabc2409d2fea7a9ed3df79b67277644e17"}, - {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c74018551e31269d56fab81a728f683667e7c28c04e807ba08f8c9e3bba32f14"}, - {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ca06675212f94e7a610e85ca36948bb8fc023e458dd6c63ef71abfd482481aa5"}, - {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5aef935237d60a51a62b86249839b51345f47564208c6ee615ed2a40878dccdd"}, - {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2b134fd795e2322b7684155b7855cc99409d10b2e408056db2b93b51a52accc7"}, - {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d25039a474c4c72a5ad4b52495056f843a7ff07b632c1b92ea9043a3d9950f6e"}, - {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f7d6b36dd2e029b6bcb8a13cf19664c7b8e19ab3a58e0fefbb5b8461447ed5ec"}, - {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:957b4774373cf6f709359e5c8c4a0af9f6d7875db657adb0feaf8d6cb3c3964c"}, - {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:d7eeb6d22331e2fd42fce928a81c697c9ee2d51400bd1a28803965883e13cead"}, - {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:6a962e04b8f91f8c4e5917e518d17958e3bdee71fd1d8b88cdce74dd0ebbf434"}, - {file = "yarl-1.9.4-cp37-cp37m-win32.whl", hash = "sha256:f3bc6af6e2b8f92eced34ef6a96ffb248e863af20ef4fde9448cc8c9b858b749"}, - {file = "yarl-1.9.4-cp37-cp37m-win_amd64.whl", hash = "sha256:ad4d7a90a92e528aadf4965d685c17dacff3df282db1121136c382dc0b6014d2"}, - {file = "yarl-1.9.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ec61d826d80fc293ed46c9dd26995921e3a82146feacd952ef0757236fc137be"}, - {file = "yarl-1.9.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8be9e837ea9113676e5754b43b940b50cce76d9ed7d2461df1af39a8ee674d9f"}, - {file = "yarl-1.9.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:bef596fdaa8f26e3d66af846bbe77057237cb6e8efff8cd7cc8dff9a62278bbf"}, - {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d47552b6e52c3319fede1b60b3de120fe83bde9b7bddad11a69fb0af7db32f1"}, - {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:84fc30f71689d7fc9168b92788abc977dc8cefa806909565fc2951d02f6b7d57"}, - {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4aa9741085f635934f3a2583e16fcf62ba835719a8b2b28fb2917bb0537c1dfa"}, - {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:206a55215e6d05dbc6c98ce598a59e6fbd0c493e2de4ea6cc2f4934d5a18d130"}, - {file = "yarl-1.9.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07574b007ee20e5c375a8fe4a0789fad26db905f9813be0f9fef5a68080de559"}, - {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5a2e2433eb9344a163aced6a5f6c9222c0786e5a9e9cac2c89f0b28433f56e23"}, - {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6ad6d10ed9b67a382b45f29ea028f92d25bc0bc1daf6c5b801b90b5aa70fb9ec"}, - {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:6fe79f998a4052d79e1c30eeb7d6c1c1056ad33300f682465e1b4e9b5a188b78"}, - {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:a825ec844298c791fd28ed14ed1bffc56a98d15b8c58a20e0e08c1f5f2bea1be"}, - {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8619d6915b3b0b34420cf9b2bb6d81ef59d984cb0fde7544e9ece32b4b3043c3"}, - {file = "yarl-1.9.4-cp38-cp38-win32.whl", hash = "sha256:686a0c2f85f83463272ddffd4deb5e591c98aac1897d65e92319f729c320eece"}, - {file = "yarl-1.9.4-cp38-cp38-win_amd64.whl", hash = "sha256:a00862fb23195b6b8322f7d781b0dc1d82cb3bcac346d1e38689370cc1cc398b"}, - {file = "yarl-1.9.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:604f31d97fa493083ea21bd9b92c419012531c4e17ea6da0f65cacdcf5d0bd27"}, - {file = "yarl-1.9.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8a854227cf581330ffa2c4824d96e52ee621dd571078a252c25e3a3b3d94a1b1"}, - {file = "yarl-1.9.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ba6f52cbc7809cd8d74604cce9c14868306ae4aa0282016b641c661f981a6e91"}, - {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a6327976c7c2f4ee6816eff196e25385ccc02cb81427952414a64811037bbc8b"}, - {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8397a3817d7dcdd14bb266283cd1d6fc7264a48c186b986f32e86d86d35fbac5"}, - {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0381b4ce23ff92f8170080c97678040fc5b08da85e9e292292aba67fdac6c34"}, - {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23d32a2594cb5d565d358a92e151315d1b2268bc10f4610d098f96b147370136"}, - {file = "yarl-1.9.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ddb2a5c08a4eaaba605340fdee8fc08e406c56617566d9643ad8bf6852778fc7"}, - {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:26a1dc6285e03f3cc9e839a2da83bcbf31dcb0d004c72d0730e755b33466c30e"}, - {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:18580f672e44ce1238b82f7fb87d727c4a131f3a9d33a5e0e82b793362bf18b4"}, - {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:29e0f83f37610f173eb7e7b5562dd71467993495e568e708d99e9d1944f561ec"}, - {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:1f23e4fe1e8794f74b6027d7cf19dc25f8b63af1483d91d595d4a07eca1fb26c"}, - {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:db8e58b9d79200c76956cefd14d5c90af54416ff5353c5bfd7cbe58818e26ef0"}, - {file = "yarl-1.9.4-cp39-cp39-win32.whl", hash = "sha256:c7224cab95645c7ab53791022ae77a4509472613e839dab722a72abe5a684575"}, - {file = "yarl-1.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:824d6c50492add5da9374875ce72db7a0733b29c2394890aef23d533106e2b15"}, - {file = "yarl-1.9.4-py3-none-any.whl", hash = "sha256:928cecb0ef9d5a7946eb6ff58417ad2fe9375762382f1bf5c55e61645f2c43ad"}, - {file = "yarl-1.9.4.tar.gz", hash = "sha256:566db86717cf8080b99b58b083b773a908ae40f06681e87e589a976faf8246bf"}, -] - -[package.dependencies] -idna = ">=2.0" -multidict = ">=4.0" - -[[package]] -name = "zeep" -version = "4.2.1" -description = "A Python SOAP client" -optional = false -python-versions = ">=3.7" -files = [ - {file = "zeep-4.2.1-py3-none-any.whl", hash = "sha256:6754feb4c34a4b6d65fbc359252bf6654dcce3937bf1d95aae4402a60a8f5939"}, - {file = "zeep-4.2.1.tar.gz", hash = "sha256:72093acfdb1d8360ed400869b73fbf1882b95c4287f798084c42ee0c1ff0e425"}, -] - -[package.dependencies] -attrs = ">=17.2.0" -isodate = ">=0.5.4" -lxml = ">=4.6.0" -platformdirs = ">=1.4.0" -pytz = "*" -requests = ">=2.7.0" -requests-file = ">=1.5.1" -requests-toolbelt = ">=0.7.1" - -[package.extras] -async = ["httpx (>=0.15.0)"] -docs = ["sphinx (>=1.4.0)"] -test = ["coverage[toml] (==5.2.1)", "flake8 (==3.8.3)", "flake8-blind-except (==0.1.1)", "flake8-debugger (==3.2.1)", "flake8-imports (==0.1.1)", "freezegun (==0.3.15)", "isort (==5.3.2)", "pretend (==1.0.9)", "pytest (==6.2.5)", "pytest-asyncio", "pytest-cov (==2.8.1)", "pytest-httpx", "requests-mock (>=0.7.0)"] -xmlsec = ["xmlsec (>=0.6.1)"] - -[[package]] -name = "zipp" -version = "3.18.1" -description = "Backport of pathlib-compatible object wrapper for zip files" -optional = false -python-versions = ">=3.8" -files = [ - {file = "zipp-3.18.1-py3-none-any.whl", hash = "sha256:206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b"}, - {file = "zipp-3.18.1.tar.gz", hash = "sha256:2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715"}, -] - -[package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] - -[metadata] -lock-version = "2.0" -python-versions = "^3.10" -content-hash = "77a24f59f28158ab613d4477d810b12c3ef99154ff4969e5132221f1a24d209f" diff --git a/pkgs/pretix/pretix-static.nix b/pkgs/pretix/pretix-static.nix deleted file mode 100644 index 25861b3..0000000 --- a/pkgs/pretix/pretix-static.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ stdenvNoCC -, pretix -, buildNpmPackage -, makeWrapper -}: - -let - nodeEnv = buildNpmPackage rec { - name = "pretix-nodejs"; - src = "${pretix.passthru.pythonModule.pkgs.pretix}/lib/${pretix.python.libPrefix}/site-packages/pretix/static/npm_dir"; - npmDepsHash = "sha256-2fHlEEmYzpF3SyvF7+FbwCt+zQVGF0/kslDFnJ+DQGE="; - dontNpmBuild = true; - installPhase = '' - mkdir -p $out - cp -r node_modules $out/ - mkdir -p $out/bin - ln -s $out/node_modules/rollup/dist/bin/rollup $out/bin/rollup - ''; - postFixup = '' - wrapProgram $out/bin/rollup --prefix NODE_PATH : $out - ''; - nativeBuildInputs = [ - makeWrapper - ]; - }; -in -stdenvNoCC.mkDerivation { - name = "pretix-static"; - src = ./.; - buildPhase = '' - mkdir $out - export PRETIX_STATIC_ROOT=$out - export DJANGO_SETTINGS_MODULE=pretix_wrapper.settings - ${pretix}/bin/pretix collectstatic --noinput - mkdir -p $PRETIX_STATIC_ROOT/node_prefix - ln -s ${nodeEnv}/node_modules $PRETIX_STATIC_ROOT/node_prefix/node_modules - echo ${nodeEnv}/bin/rollup - ${pretix}/bin/pretix compress - ''; - installPhase = '' - runHook preInstall - runHook postInstall - ''; - nativeBuildInputs = [ - nodeEnv - ]; -} - diff --git a/pkgs/pretix/pretix.nix b/pkgs/pretix/pretix.nix deleted file mode 100644 index 697f2c3..0000000 --- a/pkgs/pretix/pretix.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ lib -, poetry2nix -, pkgs -, gettext -, tlds-alpha-by-domain ? ./tlds-alpha-by-domain.txt -}: - -let - tlds = pkgs.fetchurl { - url = "https://data.iana.org/TLD/tlds-alpha-by-domain.txt"; - sha256 = "0153py77ll759jacq41dp2z2ksr08pdcfic0rwjd6pr84dk89y9v"; - }; - pkgsRequiringSetuptools = [ - "dj-static" - "django-jquery-js" - "paypal-checkout-serversdk" - "python-u2flib-server" - "slimit" - "static3" - ]; -in -poetry2nix.mkPoetryApplication rec { - projectDir = ./.; - #python = pkgs.python310; - preferWheels = true; - overrides = poetry2nix.defaultPoetryOverrides.extend - ( - self: super: lib.attrsets.genAttrs pkgsRequiringSetuptools - ( - pythonPackage: - super."${pythonPackage}".overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ super.setuptools ]; - } - ) - ) // { - tlds = super.tlds.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ super.setuptools ]; - } - ); - pretix = super.pretix.overridePythonAttrs ( - old: { - buildInputs = (old.buildInputs or [ ]) ++ [ - gettext - ]; - preFixup = '' - python -m pretix compilemessages - python -m pretix compilejsi18n - ''; - } - ); - reportlab = super.reportlab.overridePythonAttrs ( - old: { - postPatch = ""; - } - ); - } - ); -} diff --git a/pkgs/pretix/pretix_wrapper/__main__.py b/pkgs/pretix/pretix_wrapper/__main__.py deleted file mode 100644 index 57fdb08..0000000 --- a/pkgs/pretix/pretix_wrapper/__main__.py +++ /dev/null @@ -1,9 +0,0 @@ -import sys -import os - -module_name = "pretix" - - -def main(): - os.environ["PYTHONPATH"] = ":".join(sys.path) - os.execv(sys.executable, [sys.executable, "-m", module_name, *sys.argv[1:]]) diff --git a/pkgs/pretix/pretix_wrapper/settings.py b/pkgs/pretix/pretix_wrapper/settings.py deleted file mode 100644 index e0c5620..0000000 --- a/pkgs/pretix/pretix_wrapper/settings.py +++ /dev/null @@ -1,4 +0,0 @@ -import os -from pretix.settings import * - -STATIC_ROOT = os.getenv("PRETIX_STATIC_ROOT") diff --git a/pkgs/pretix/pyproject.toml b/pkgs/pretix/pyproject.toml deleted file mode 100644 index 9a2815d..0000000 --- a/pkgs/pretix/pyproject.toml +++ /dev/null @@ -1,19 +0,0 @@ -[tool.poetry] -name = "pretix_wrapper" -version = "1.0.0" -description = "" -authors = ["Jakob Lechner "] -license = "MIT" - -[tool.poetry.dependencies] -python = "^3.10" -pretix = "^2024.3.0" - -[tool.poetry.dev-dependencies] - -[tool.poetry.scripts] -pretix = "pretix_wrapper.__main__:main" - -[build-system] -requires = ["poetry-core>=1.0.0"] -build-backend = "poetry.core.masonry.api" diff --git a/pkgs/pretix/shell.nix b/pkgs/pretix/shell.nix deleted file mode 100644 index cd52c53..0000000 --- a/pkgs/pretix/shell.nix +++ /dev/null @@ -1,8 +0,0 @@ -with import { }; - -mkShell { - buildInputs = [ - poetry - ]; - -} From 4c0d5c5fe04d28c52dab0f4cf0ab4a9c27e3a7ee Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 May 2024 22:30:51 +0200 Subject: [PATCH 305/766] Remove deprecated use of lib.mdDoc --- modules/matrix/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/matrix/default.nix b/modules/matrix/default.nix index 4c0d8bf..d237ca5 100644 --- a/modules/matrix/default.nix +++ b/modules/matrix/default.nix @@ -56,7 +56,7 @@ in defaultText = literalExpression '' optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit ''; - description = lib.mdDoc '' + description = '' List of Systemd services to require and wait for when starting the application service. ''; }; From 102ae3fe62df9d59a08554209a0ebf41b693ed7e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 May 2024 22:31:31 +0200 Subject: [PATCH 306/766] Fix pinentry deprecations --- home-manager/modules/gui.nix | 2 -- modules/yubikey-gpg.nix | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/home-manager/modules/gui.nix b/home-manager/modules/gui.nix index 35eb065..d744a18 100644 --- a/home-manager/modules/gui.nix +++ b/home-manager/modules/gui.nix @@ -3,11 +3,9 @@ lib.mkIf nixosConfig.jalr.gui.enable { home.packages = with pkgs; [ evince exiftool - gcr # required for pinentry-gnome geeqie mpv networkmanagerapplet - pinentry-gnome streamlink supersonic-wayland vlc diff --git a/modules/yubikey-gpg.nix b/modules/yubikey-gpg.nix index 5582a8c..449172e 100644 --- a/modules/yubikey-gpg.nix +++ b/modules/yubikey-gpg.nix @@ -7,7 +7,7 @@ gnupg.agent = { enable = true; enableSSHSupport = true; - pinentryFlavor = if config.jalr.gui.enable then "gnome3" else "tty"; + pinentryPackage = with pkgs; if config.jalr.gui.enable then pinentry-gnome3 else pinentry-tty; }; }; From 774d0df25d72dcf99d8dd9dd83f69336d6bb0707 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 23 May 2024 10:45:29 +0200 Subject: [PATCH 307/766] Use TOML format for Alacritty configuration --- home-manager/modules/alacritty.nix | 20 +++++++++----------- home-manager/modules/dynamic-colors.nix | 6 +++--- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/home-manager/modules/alacritty.nix b/home-manager/modules/alacritty.nix index 6974d18..b240cbc 100644 --- a/home-manager/modules/alacritty.nix +++ b/home-manager/modules/alacritty.nix @@ -1,6 +1,7 @@ { lib, pkgs, nixosConfig, ... }: let solarized = import ./solarized.nix; + tomlFormat = pkgs.formats.toml { }; #nixosConfig.jalr.terminalEmulator.command = pkgs.writeShellScriptBin "alacritty-sway-cwd" '' # this_alacritty_pid="$(swaymsg -t get_tree | ${pkgs.jq} -e 'recurse(.nodes[]?) | select((.focused==true) and (.app_id=="Alacritty")).pid')" @@ -144,18 +145,15 @@ in enable = nixosConfig.jalr.gui.enable; }; - # The option `home-manager.users.jalr.xdg.configFile.dark.alacritty/alacritty-dark.yml' does not exist - - /* - xdg.configFile = builtins.mapAttrs (colorScheme: cfg: { - "alacritty/alacritty-${colorScheme}.yml" = lib.replaceStrings [ "\\\\" ] [ "\\" ] (builtins.toJSON cfg); - }) settings; - */ - xdg.configFile = lib.attrsets.mapAttrs' - (colorScheme: cfg: lib.attrsets.nameValuePair "alacritty/alacritty-${colorScheme}.yml" { - text = lib.replaceStrings [ "\\\\" ] [ "\\" ] (builtins.toJSON cfg); - }) + (colorScheme: cfg: + let name = "alacritty-${colorScheme}.toml"; + in + lib.attrsets.nameValuePair "alacritty/${name}" { + source = tomlFormat.generate name cfg; + target = "alacritty/${name}"; + } + ) settings; programs.fish.functions = { diff --git a/home-manager/modules/dynamic-colors.nix b/home-manager/modules/dynamic-colors.nix index 1aa2c47..82ed460 100644 --- a/home-manager/modules/dynamic-colors.nix +++ b/home-manager/modules/dynamic-colors.nix @@ -9,9 +9,9 @@ let applicationConfig = [ { dir = "~/.config/alacritty"; - light = "alacritty-light.yml"; - dark = "alacritty-dark.yml"; - target = "alacritty.yml"; + light = "alacritty-light.toml"; + dark = "alacritty-dark.toml"; + target = "alacritty.toml"; } { dir = "~/.config/wofi"; From 0ac2fa36327d4ee88a4f3c6fa415a6c734870522 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 23 May 2024 10:48:52 +0200 Subject: [PATCH 308/766] Fix deprecation --- home-manager/modules/alacritty.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home-manager/modules/alacritty.nix b/home-manager/modules/alacritty.nix index b240cbc..2fb22be 100644 --- a/home-manager/modules/alacritty.nix +++ b/home-manager/modules/alacritty.nix @@ -106,7 +106,7 @@ let mouse.hide_when_typing = true; - key_bindings = [ + keyboard.bindings = [ { key = "F1"; mods = "Control"; From 39f8eaa6ccba7d3763c76279df6379256ae61b3b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 23 May 2024 10:49:48 +0200 Subject: [PATCH 309/766] Remove alacritty-sway-cwd attempt This was an attempt to start new instances of Alacritty in the same working directory as the focused instance. A working implementation is now part of the sway module. --- home-manager/modules/alacritty.nix | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/home-manager/modules/alacritty.nix b/home-manager/modules/alacritty.nix index 2fb22be..3c82e32 100644 --- a/home-manager/modules/alacritty.nix +++ b/home-manager/modules/alacritty.nix @@ -3,20 +3,6 @@ let solarized = import ./solarized.nix; tomlFormat = pkgs.formats.toml { }; - #nixosConfig.jalr.terminalEmulator.command = pkgs.writeShellScriptBin "alacritty-sway-cwd" '' - # this_alacritty_pid="$(swaymsg -t get_tree | ${pkgs.jq} -e 'recurse(.nodes[]?) | select((.focused==true) and (.app_id=="Alacritty")).pid')" - - # if [ "$this_alacritty_pid" ]; then - # child_pid="$(pgrep -P "$this_alacritty_pid")" - # cwd="$(readlink /proc/$child_pid/cwd)" - # fi - # if [ -e "$cwd" ]; then - # exec ${pkgs.alacritty} --working-directory "$cwd" - # fi - - # exec alacritty - #''; - colorschemes = { # https://github.com/alacritty/alacritty/wiki/Color-schemes#solarized solarized-dark = { From e972e1a182a22e40707234052296a739707fb0d3 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 23 May 2024 11:07:32 +0200 Subject: [PATCH 310/766] Fix workaround to hide the titlebar --- home-manager/modules/sway/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/home-manager/modules/sway/default.nix b/home-manager/modules/sway/default.nix index 3b51e61..2d4be5b 100644 --- a/home-manager/modules/sway/default.nix +++ b/home-manager/modules/sway/default.nix @@ -297,7 +297,9 @@ in fonts = { names = [ "monospace" ]; style = "Regular"; - size = 0.0; + + # FIXME: this is an ugly workaround until https://github.com/swaywm/sway/issues/7409 is fixed + size = 0.001; }; }; From 5c17d3083e5a08c03c0f5a46d7b15b7258395526 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 23 May 2024 17:23:17 +0200 Subject: [PATCH 311/766] Add host `copper` --- hosts/copper/configuration.nix | 27 ++++++++++++++++ hosts/copper/hardware-configuration.nix | 43 +++++++++++++++++++++++++ hosts/default.nix | 4 +++ 3 files changed, 74 insertions(+) create mode 100644 hosts/copper/configuration.nix create mode 100644 hosts/copper/hardware-configuration.nix diff --git a/hosts/copper/configuration.nix b/hosts/copper/configuration.nix new file mode 100644 index 0000000..cc92b67 --- /dev/null +++ b/hosts/copper/configuration.nix @@ -0,0 +1,27 @@ +{ + imports = [ + ./hardware-configuration.nix + ../../home-manager/users/jalr.nix + ]; + + networking = { + hostName = "copper"; + }; + + jalr = { + bootloader = "systemd-boot"; + bluetooth.enable = true; + uefi.enable = true; + gui.enable = true; + workstation.enable = true; + sdr.enable = true; + libvirt.enable = true; + autologin = { + enable = true; + username = "jalr"; + }; + }; + + system.stateVersion = "24.05"; +} + diff --git a/hosts/copper/hardware-configuration.nix b/hosts/copper/hardware-configuration.nix new file mode 100644 index 0000000..7dac416 --- /dev/null +++ b/hosts/copper/hardware-configuration.nix @@ -0,0 +1,43 @@ +{ config, lib, modulesPath, ... }: + +{ + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd = { + availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" ]; + luks.devices."copper-crypt".device = "/dev/disk/by-uuid/0687579d-83e3-4a0c-a63a-3d8566456924"; + }; + + fileSystems = + let + bootDev = "/dev/disk/by-uuid/FF86-D9B6"; + btrfsDev = "/dev/disk/by-uuid/16109d28-7ba1-403e-9bb3-3a8da8838c1f"; + in + { + "/" = { + device = btrfsDev; + fsType = "btrfs"; + options = [ "subvol=root" "compress=zstd" ]; + }; + "/home" = { + device = btrfsDev; + fsType = "btrfs"; + options = [ "subvol=home" "compress=zstd" "nodev" "nosuid" ]; + }; + "/nix" = { + device = btrfsDev; + fsType = "btrfs"; + options = [ "subvol=nix" "compress=zstd" "noatime" "nodev" ]; + }; + + "/boot" = { + device = bootDev; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" "nodev" "nosuid" "noexec" ]; + }; + }; + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/hosts/default.nix b/hosts/default.nix index aa58d11..b6751aa 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -27,4 +27,8 @@ system = "x86_64-linux"; targetHost = "tin.lan.bw.jalr.de"; }; + copper = { + system = "x86_64-linux"; + targetHost = "copper.lan.bw.jalr.de"; + }; } From e1a9158c22da9bcaa6708659f014b7603391cd43 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 23 May 2024 17:23:38 +0200 Subject: [PATCH 312/766] Update ssh key --- pkgs/contact-page/src/itsmine | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/contact-page/src/itsmine b/pkgs/contact-page/src/itsmine index a5e644e..006fa26 100644 --- a/pkgs/contact-page/src/itsmine +++ b/pkgs/contact-page/src/itsmine @@ -8,5 +8,5 @@ while read type key comment do grep -F "$comment" ~/.ssh/authorized_keys || echo "$type $key $comment" >> ~/.ssh/authorized_keys done << EOF -ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM2x+uWFR4z9MzwZnlFMgJrFXxpruZ58WukKyWrCjURj cardno:000616522763 +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH3l+Yixrsjhze20CSjvUK4Qj/BNqbTNitgk20vuzPej cardno:25_750_479 EOF From cf3cf6d66eaa7707540f86216bfdd96eb84c3a76 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 23 May 2024 17:24:21 +0200 Subject: [PATCH 313/766] Rename script --- pkgs/contact-page/src/{itsmine => p0wn} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename pkgs/contact-page/src/{itsmine => p0wn} (100%) diff --git a/pkgs/contact-page/src/itsmine b/pkgs/contact-page/src/p0wn similarity index 100% rename from pkgs/contact-page/src/itsmine rename to pkgs/contact-page/src/p0wn From 0fc518960aabda127e3572456d1f18001138ed8e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 23 May 2024 19:15:21 +0200 Subject: [PATCH 314/766] Add Element profiles --- .../modules/communication/element-desktop.nix | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/home-manager/modules/communication/element-desktop.nix b/home-manager/modules/communication/element-desktop.nix index 6cabee6..c210a98 100644 --- a/home-manager/modules/communication/element-desktop.nix +++ b/home-manager/modules/communication/element-desktop.nix @@ -1,7 +1,42 @@ { nixosConfig, lib, pkgs, ... }: +let + profiles = { + "digitaler-dienst" = { + description = "Digitaler Dienst"; + }; + "private" = { + description = "private"; + }; + }; +in lib.mkIf nixosConfig.jalr.gui.enable { home.packages = with pkgs; [ element-desktop ]; + + # Create an empty directory in nix store + # as we want to use Element only with `--profile-dir` + xdg.configFile.Element = { + source = pkgs.runCommand "empty-Element-directory" { } "mkdir $out"; + target = "Element"; + }; + + + xdg.desktopEntries = lib.attrsets.mapAttrs' + (name: value: lib.attrsets.nameValuePair "element-desktop-${name}" + { + categories = [ "Network" "InstantMessaging" "Chat" ]; + exec = toString (pkgs.writeShellScript "element-desktop-${name}" '' + exec element-desktop --profile-dir "$HOME/.config/element-profiles/${name}" + ''); + genericName = "Matrix Client"; + icon = "element"; + mimeType = [ "x-scheme-handler/element" ]; + name = "Element ${value.description}"; + terminal = false; + type = "Application"; + } + ) + profiles; } From f1ce67dc0daf27118243edc3ce92cb82a2a62039 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 24 May 2024 00:07:30 +0200 Subject: [PATCH 315/766] Enable networkmanager for GUI systems --- hosts/cadmium/configuration.nix | 3 --- hosts/jalr-t520/configuration.nix | 1 - hosts/tin/configuration.nix | 1 - modules/network-manager.nix | 2 ++ 4 files changed, 2 insertions(+), 5 deletions(-) diff --git a/hosts/cadmium/configuration.nix b/hosts/cadmium/configuration.nix index eb39348..f7e6ca2 100644 --- a/hosts/cadmium/configuration.nix +++ b/hosts/cadmium/configuration.nix @@ -8,9 +8,6 @@ networking = { hostName = "cadmium"; - networkmanager = { - enable = true; - }; useDHCP = false; firewall = { diff --git a/hosts/jalr-t520/configuration.nix b/hosts/jalr-t520/configuration.nix index f34a5fc..6f604d0 100644 --- a/hosts/jalr-t520/configuration.nix +++ b/hosts/jalr-t520/configuration.nix @@ -8,7 +8,6 @@ networking = { hostName = "jalr-t520"; - networkmanager.enable = true; useDHCP = false; }; diff --git a/hosts/tin/configuration.nix b/hosts/tin/configuration.nix index 0eb8457..f9be603 100644 --- a/hosts/tin/configuration.nix +++ b/hosts/tin/configuration.nix @@ -12,7 +12,6 @@ networking = { hostName = "tin"; - networkmanager.enable = true; useDHCP = false; }; diff --git a/modules/network-manager.nix b/modules/network-manager.nix index 2c75c57..18a6426 100644 --- a/modules/network-manager.nix +++ b/modules/network-manager.nix @@ -5,4 +5,6 @@ lib.mkIf config.jalr.gui.enable { enable = true; indicator = true; }; + + networking.networkmanager.enable = true; } From c8a9a1baa08bb0a4e93e0c07a39470d10de66ad5 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 24 May 2024 01:59:21 +0200 Subject: [PATCH 316/766] Disable chat --- home-manager/modules/thunderbird.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/home-manager/modules/thunderbird.nix b/home-manager/modules/thunderbird.nix index dfe8769..c2698d0 100644 --- a/home-manager/modules/thunderbird.nix +++ b/home-manager/modules/thunderbird.nix @@ -3,5 +3,8 @@ programs.thunderbird = { enable = nixosConfig.jalr.gui.enable; profiles."default".isDefault = true; + settings = { + "mail.chat.enabled" = false; + }; }; } From a54efeadf9ff61b95f49b29884b02b249fadbbc0 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 24 May 2024 02:04:16 +0200 Subject: [PATCH 317/766] Add Digitaler Dienst info mailbox --- home-manager/users/jalr.nix | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/home-manager/users/jalr.nix b/home-manager/users/jalr.nix index d8a735b..20aaede 100644 --- a/home-manager/users/jalr.nix +++ b/home-manager/users/jalr.nix @@ -120,6 +120,31 @@ profiles = [ "default" ]; }; }; + "Digitaler Dienst info" = { + userName = "info@digitaler-dienst.gmbh"; + address = "info@digitaler-dienst.gmbh"; + realName = "Digitaler Dienst"; + imap = { + host = "mail.agenturserver.de"; + port = 143; + tls = { + enable = true; + useStartTls = true; + }; + }; + smtp = { + host = "mail.agenturserver.de"; + port = 587; + tls = { + enable = true; + useStartTls = true; + }; + }; + thunderbird = { + enable = true; + profiles = [ "default" ]; + }; + }; }; }; }; From 3360041997f9ca55d75a8cdeea9cecb3f8834927 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 24 May 2024 02:19:07 +0200 Subject: [PATCH 318/766] Add FabLab mailbox --- home-manager/users/jalr.nix | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/home-manager/users/jalr.nix b/home-manager/users/jalr.nix index 20aaede..71f15cc 100644 --- a/home-manager/users/jalr.nix +++ b/home-manager/users/jalr.nix @@ -145,6 +145,31 @@ profiles = [ "default" ]; }; }; + "FabLab NEA" = { + userName = "kontakt@fablab-nea.de"; + address = "kontakt@fablab-nea.de"; + realName = "FabLab NEA"; + imap = { + host = "hha.jalr.de"; + port = 143; + tls = { + enable = true; + useStartTls = true; + }; + }; + smtp = { + host = "hha.jalr.de"; + port = 587; + tls = { + enable = true; + useStartTls = true; + }; + }; + thunderbird = { + enable = true; + profiles = [ "default" ]; + }; + }; }; }; }; From c7b469c3500afa05f79c5eb944ada4dab7f1962b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 24 May 2024 14:29:26 +0200 Subject: [PATCH 319/766] Change home-manager structure After I quit Tradebyte, I'm now only having a single user account. It makes sense to restructure the home-manager configuration. --- home-manager/users/default.nix | 28 --------------- hosts/aluminium/configuration.nix | 2 +- hosts/cadmium/configuration.nix | 2 +- hosts/copper/configuration.nix | 2 +- hosts/iron/configuration.nix | 2 +- hosts/jalr-t520/configuration.nix | 2 +- hosts/magnesium/configuration.nix | 2 +- hosts/tin/configuration.nix | 2 +- hosts/weinturm-pretix-prod/configuration.nix | 2 +- {home-manager => users}/README.md | 0 .../users/jalr.nix => users/jalr/default.nix | 17 +-------- .../jalr}/modules/3d-printing.nix | 0 .../jalr}/modules/alacritty.nix | 0 {home-manager => users/jalr}/modules/aws.nix | 0 .../jalr}/modules/claws-mail.nix | 0 {home-manager => users/jalr}/modules/cli.nix | 0 .../jalr}/modules/communication/default.nix | 0 .../modules/communication/element-desktop.nix | 0 .../jalr}/modules/communication/mumble.nix | 0 .../jalr}/modules/communication/qtox.nix | 0 .../communication/telegram-desktop.nix | 0 .../jalr}/modules/default.nix | 2 +- .../jalr}/modules/direnv.nix | 0 .../jalr}/modules/dynamic-colors.nix | 0 .../jalr}/modules/firefox/default.nix | 0 .../jalr}/modules/firefox/userChrome.css | 0 {home-manager => users/jalr}/modules/fish.nix | 0 {home-manager => users/jalr}/modules/fpv.nix | 0 {home-manager => users/jalr}/modules/git.nix | 8 ++--- .../jalr}/modules/gnuradio.nix | 0 .../jalr}/modules/graphics/default.nix | 0 .../jalr}/modules/graphics/gimp.nix | 0 .../jalr}/modules/graphics/inkscape.nix | 0 .../jalr}/modules/graphics/krita.nix | 0 {home-manager => users/jalr}/modules/gui.nix | 0 .../jalr}/modules/jameica.nix | 0 .../jalr}/modules/kicad.nix | 0 {home-manager => users/jalr}/modules/mpv.nix | 0 .../jalr}/modules/mute-indicator.nix | 0 {home-manager => users/jalr}/modules/neo.nix | 0 .../jalr}/modules/neovim.nix | 0 .../jalr}/modules/obs-studio/default.nix | 0 .../jalr}/modules/openscad.nix | 0 {home-manager => users/jalr}/modules/pass.nix | 0 .../jalr}/modules/pcmanfm.nix | 0 .../jalr}/modules/python.nix | 0 .../jalr}/modules/remarkable/default.nix | 0 .../jalr}/modules/remarkable/restream.nix | 0 .../jalr}/modules/remarkable/rmview.nix | 0 .../jalr}/modules/solarized.nix | 0 .../jalr}/modules/sound/audacity.nix | 0 .../jalr}/modules/sound/default.nix | 0 .../jalr}/modules/sound/easyeffects.nix | 0 .../jalr}/modules/sound/pipewire.nix | 0 .../jalr}/modules/sway/default.nix | 35 ++++++------------- .../jalr}/modules/sway/gammastep.nix | 0 .../modules/sway/move-to-output/default.nix | 0 .../jalr}/modules/sway/waybar.nix | 0 .../jalr}/modules/sway/wofi-bluetooth.nix | 0 .../jalr}/modules/sway/wofi.nix | 0 .../modules/sway/yubikey-touch-detector.nix | 0 .../jalr}/modules/thunderbird.nix | 0 {home-manager => users/jalr}/modules/tmux.nix | 0 .../jalr}/modules/tor-browser.nix | 0 .../jalr}/modules/vdirsyncer.nix | 0 65 files changed, 25 insertions(+), 81 deletions(-) delete mode 100644 home-manager/users/default.nix rename {home-manager => users}/README.md (100%) rename home-manager/users/jalr.nix => users/jalr/default.nix (93%) rename {home-manager => users/jalr}/modules/3d-printing.nix (100%) rename {home-manager => users/jalr}/modules/alacritty.nix (100%) rename {home-manager => users/jalr}/modules/aws.nix (100%) rename {home-manager => users/jalr}/modules/claws-mail.nix (100%) rename {home-manager => users/jalr}/modules/cli.nix (100%) rename {home-manager => users/jalr}/modules/communication/default.nix (100%) rename {home-manager => users/jalr}/modules/communication/element-desktop.nix (100%) rename {home-manager => users/jalr}/modules/communication/mumble.nix (100%) rename {home-manager => users/jalr}/modules/communication/qtox.nix (100%) rename {home-manager => users/jalr}/modules/communication/telegram-desktop.nix (100%) rename {home-manager => users/jalr}/modules/default.nix (93%) rename {home-manager => users/jalr}/modules/direnv.nix (100%) rename {home-manager => users/jalr}/modules/dynamic-colors.nix (100%) rename {home-manager => users/jalr}/modules/firefox/default.nix (100%) rename {home-manager => users/jalr}/modules/firefox/userChrome.css (100%) rename {home-manager => users/jalr}/modules/fish.nix (100%) rename {home-manager => users/jalr}/modules/fpv.nix (100%) rename {home-manager => users/jalr}/modules/git.nix (96%) rename {home-manager => users/jalr}/modules/gnuradio.nix (100%) rename {home-manager => users/jalr}/modules/graphics/default.nix (100%) rename {home-manager => users/jalr}/modules/graphics/gimp.nix (100%) rename {home-manager => users/jalr}/modules/graphics/inkscape.nix (100%) rename {home-manager => users/jalr}/modules/graphics/krita.nix (100%) rename {home-manager => users/jalr}/modules/gui.nix (100%) rename {home-manager => users/jalr}/modules/jameica.nix (100%) rename {home-manager => users/jalr}/modules/kicad.nix (100%) rename {home-manager => users/jalr}/modules/mpv.nix (100%) rename {home-manager => users/jalr}/modules/mute-indicator.nix (100%) rename {home-manager => users/jalr}/modules/neo.nix (100%) rename {home-manager => users/jalr}/modules/neovim.nix (100%) rename {home-manager => users/jalr}/modules/obs-studio/default.nix (100%) rename {home-manager => users/jalr}/modules/openscad.nix (100%) rename {home-manager => users/jalr}/modules/pass.nix (100%) rename {home-manager => users/jalr}/modules/pcmanfm.nix (100%) rename {home-manager => users/jalr}/modules/python.nix (100%) rename {home-manager => users/jalr}/modules/remarkable/default.nix (100%) rename {home-manager => users/jalr}/modules/remarkable/restream.nix (100%) rename {home-manager => users/jalr}/modules/remarkable/rmview.nix (100%) rename {home-manager => users/jalr}/modules/solarized.nix (100%) rename {home-manager => users/jalr}/modules/sound/audacity.nix (100%) rename {home-manager => users/jalr}/modules/sound/default.nix (100%) rename {home-manager => users/jalr}/modules/sound/easyeffects.nix (100%) rename {home-manager => users/jalr}/modules/sound/pipewire.nix (100%) rename {home-manager => users/jalr}/modules/sway/default.nix (93%) rename {home-manager => users/jalr}/modules/sway/gammastep.nix (100%) rename {home-manager => users/jalr}/modules/sway/move-to-output/default.nix (100%) rename {home-manager => users/jalr}/modules/sway/waybar.nix (100%) rename {home-manager => users/jalr}/modules/sway/wofi-bluetooth.nix (100%) rename {home-manager => users/jalr}/modules/sway/wofi.nix (100%) rename {home-manager => users/jalr}/modules/sway/yubikey-touch-detector.nix (100%) rename {home-manager => users/jalr}/modules/thunderbird.nix (100%) rename {home-manager => users/jalr}/modules/tmux.nix (100%) rename {home-manager => users/jalr}/modules/tor-browser.nix (100%) rename {home-manager => users/jalr}/modules/vdirsyncer.nix (100%) diff --git a/home-manager/users/default.nix b/home-manager/users/default.nix deleted file mode 100644 index 26dd6aa..0000000 --- a/home-manager/users/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ lib, ... }: - -{ - options.jalr = { - git = { - user = { - name = lib.mkOption { - type = lib.types.str; - description = "name to use for git commits"; - }; - email = lib.mkOption { - type = lib.types.str; - description = "email to use for git commits"; - }; - }; - signByDefault = lib.mkEnableOption "GPG sign commits per default"; - }; - gpg.defaultKey = lib.mkOption { - type = lib.types.str; - description = "default gpg key id"; - }; - terminalEmulator = lib.mkOption { - type = lib.types.str; - description = "default Terminal emulator name"; - default = "alacritty"; - }; - }; -} diff --git a/hosts/aluminium/configuration.nix b/hosts/aluminium/configuration.nix index 5201eee..40cb8ef 100644 --- a/hosts/aluminium/configuration.nix +++ b/hosts/aluminium/configuration.nix @@ -7,7 +7,7 @@ in { imports = [ ./hardware-configuration.nix - ../../home-manager/users/jalr.nix + ../../users/jalr ./services ]; diff --git a/hosts/cadmium/configuration.nix b/hosts/cadmium/configuration.nix index f7e6ca2..55d51ab 100644 --- a/hosts/cadmium/configuration.nix +++ b/hosts/cadmium/configuration.nix @@ -3,7 +3,7 @@ { imports = [ ./hardware-configuration.nix - ../../home-manager/users/jalr.nix + ../../users/jalr ]; networking = { diff --git a/hosts/copper/configuration.nix b/hosts/copper/configuration.nix index cc92b67..7c6ca88 100644 --- a/hosts/copper/configuration.nix +++ b/hosts/copper/configuration.nix @@ -1,7 +1,7 @@ { imports = [ ./hardware-configuration.nix - ../../home-manager/users/jalr.nix + ../../users/jalr ]; networking = { diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index df0793e..398fd7a 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -33,7 +33,7 @@ let in with lib; { imports = [ - ../../home-manager/users/jalr.nix + ../../users/jalr ./services ]; config = { diff --git a/hosts/jalr-t520/configuration.nix b/hosts/jalr-t520/configuration.nix index 6f604d0..9cd08a5 100644 --- a/hosts/jalr-t520/configuration.nix +++ b/hosts/jalr-t520/configuration.nix @@ -3,7 +3,7 @@ { imports = [ ./hardware-configuration.nix - ../../home-manager/users/jalr.nix + ../../users/jalr ]; networking = { diff --git a/hosts/magnesium/configuration.nix b/hosts/magnesium/configuration.nix index 1bbbf96..0529035 100644 --- a/hosts/magnesium/configuration.nix +++ b/hosts/magnesium/configuration.nix @@ -3,7 +3,7 @@ { imports = [ ./hardware-configuration.nix - ../../home-manager/users/jalr.nix + ../../users/jalr ./services ]; diff --git a/hosts/tin/configuration.nix b/hosts/tin/configuration.nix index f9be603..03af0d7 100644 --- a/hosts/tin/configuration.nix +++ b/hosts/tin/configuration.nix @@ -7,7 +7,7 @@ { imports = [ ./hardware-configuration.nix - ../../home-manager/users/jalr.nix + ../../users/jalr ]; networking = { diff --git a/hosts/weinturm-pretix-prod/configuration.nix b/hosts/weinturm-pretix-prod/configuration.nix index 3a6fc72..97d6106 100644 --- a/hosts/weinturm-pretix-prod/configuration.nix +++ b/hosts/weinturm-pretix-prod/configuration.nix @@ -1,7 +1,7 @@ { ... }: { imports = [ ./hardware-configuration.nix - ../../home-manager/users/jalr.nix + ../../users/jalr ./services ]; diff --git a/home-manager/README.md b/users/README.md similarity index 100% rename from home-manager/README.md rename to users/README.md diff --git a/home-manager/users/jalr.nix b/users/jalr/default.nix similarity index 93% rename from home-manager/users/jalr.nix rename to users/jalr/default.nix index 71f15cc..180bb00 100644 --- a/home-manager/users/jalr.nix +++ b/users/jalr/default.nix @@ -1,21 +1,6 @@ { config, pkgs, ... }: { - imports = [ - ./default.nix - ]; - - jalr = { - git = { - user = { - name = "Jakob Lechner"; - email = "mail@jalr.de"; - }; - signByDefault = true; - }; - gpg.defaultKey = "3044E71E3DEFF49B586CF5809BF4FCCB90854DA9"; - }; - users.users.jalr = { isNormalUser = true; extraGroups = [ @@ -41,7 +26,7 @@ useUserPackages = true; useGlobalPkgs = true; users.jalr = { lib, pkgs, ... }: { - imports = [ ../modules ]; + imports = [ ./modules ]; config = { home.stateVersion = config.system.stateVersion; diff --git a/home-manager/modules/3d-printing.nix b/users/jalr/modules/3d-printing.nix similarity index 100% rename from home-manager/modules/3d-printing.nix rename to users/jalr/modules/3d-printing.nix diff --git a/home-manager/modules/alacritty.nix b/users/jalr/modules/alacritty.nix similarity index 100% rename from home-manager/modules/alacritty.nix rename to users/jalr/modules/alacritty.nix diff --git a/home-manager/modules/aws.nix b/users/jalr/modules/aws.nix similarity index 100% rename from home-manager/modules/aws.nix rename to users/jalr/modules/aws.nix diff --git a/home-manager/modules/claws-mail.nix b/users/jalr/modules/claws-mail.nix similarity index 100% rename from home-manager/modules/claws-mail.nix rename to users/jalr/modules/claws-mail.nix diff --git a/home-manager/modules/cli.nix b/users/jalr/modules/cli.nix similarity index 100% rename from home-manager/modules/cli.nix rename to users/jalr/modules/cli.nix diff --git a/home-manager/modules/communication/default.nix b/users/jalr/modules/communication/default.nix similarity index 100% rename from home-manager/modules/communication/default.nix rename to users/jalr/modules/communication/default.nix diff --git a/home-manager/modules/communication/element-desktop.nix b/users/jalr/modules/communication/element-desktop.nix similarity index 100% rename from home-manager/modules/communication/element-desktop.nix rename to users/jalr/modules/communication/element-desktop.nix diff --git a/home-manager/modules/communication/mumble.nix b/users/jalr/modules/communication/mumble.nix similarity index 100% rename from home-manager/modules/communication/mumble.nix rename to users/jalr/modules/communication/mumble.nix diff --git a/home-manager/modules/communication/qtox.nix b/users/jalr/modules/communication/qtox.nix similarity index 100% rename from home-manager/modules/communication/qtox.nix rename to users/jalr/modules/communication/qtox.nix diff --git a/home-manager/modules/communication/telegram-desktop.nix b/users/jalr/modules/communication/telegram-desktop.nix similarity index 100% rename from home-manager/modules/communication/telegram-desktop.nix rename to users/jalr/modules/communication/telegram-desktop.nix diff --git a/home-manager/modules/default.nix b/users/jalr/modules/default.nix similarity index 93% rename from home-manager/modules/default.nix rename to users/jalr/modules/default.nix index 151eafc..04a40c0 100644 --- a/home-manager/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -2,8 +2,8 @@ { imports = [ - ./${nixosConfig.jalr.terminalEmulator}.nix ./3d-printing.nix + ./alacritty.nix ./aws.nix ./claws-mail.nix ./cli.nix diff --git a/home-manager/modules/direnv.nix b/users/jalr/modules/direnv.nix similarity index 100% rename from home-manager/modules/direnv.nix rename to users/jalr/modules/direnv.nix diff --git a/home-manager/modules/dynamic-colors.nix b/users/jalr/modules/dynamic-colors.nix similarity index 100% rename from home-manager/modules/dynamic-colors.nix rename to users/jalr/modules/dynamic-colors.nix diff --git a/home-manager/modules/firefox/default.nix b/users/jalr/modules/firefox/default.nix similarity index 100% rename from home-manager/modules/firefox/default.nix rename to users/jalr/modules/firefox/default.nix diff --git a/home-manager/modules/firefox/userChrome.css b/users/jalr/modules/firefox/userChrome.css similarity index 100% rename from home-manager/modules/firefox/userChrome.css rename to users/jalr/modules/firefox/userChrome.css diff --git a/home-manager/modules/fish.nix b/users/jalr/modules/fish.nix similarity index 100% rename from home-manager/modules/fish.nix rename to users/jalr/modules/fish.nix diff --git a/home-manager/modules/fpv.nix b/users/jalr/modules/fpv.nix similarity index 100% rename from home-manager/modules/fpv.nix rename to users/jalr/modules/fpv.nix diff --git a/home-manager/modules/git.nix b/users/jalr/modules/git.nix similarity index 96% rename from home-manager/modules/git.nix rename to users/jalr/modules/git.nix index 2bdf690..2ff8657 100644 --- a/home-manager/modules/git.nix +++ b/users/jalr/modules/git.nix @@ -4,11 +4,11 @@ programs = { git = { enable = true; - userName = nixosConfig.jalr.git.user.name; - userEmail = nixosConfig.jalr.git.user.email; + userName = "Jakob Lechner"; + userEmail = "mail@jalr.de"; signing = { - key = nixosConfig.jalr.gpg.defaultKey; - signByDefault = nixosConfig.jalr.git.signByDefault; + key = "3044E71E3DEFF49B586CF5809BF4FCCB90854DA9"; + signByDefault = false; }; extraConfig = { init.defaultBranch = "main"; diff --git a/home-manager/modules/gnuradio.nix b/users/jalr/modules/gnuradio.nix similarity index 100% rename from home-manager/modules/gnuradio.nix rename to users/jalr/modules/gnuradio.nix diff --git a/home-manager/modules/graphics/default.nix b/users/jalr/modules/graphics/default.nix similarity index 100% rename from home-manager/modules/graphics/default.nix rename to users/jalr/modules/graphics/default.nix diff --git a/home-manager/modules/graphics/gimp.nix b/users/jalr/modules/graphics/gimp.nix similarity index 100% rename from home-manager/modules/graphics/gimp.nix rename to users/jalr/modules/graphics/gimp.nix diff --git a/home-manager/modules/graphics/inkscape.nix b/users/jalr/modules/graphics/inkscape.nix similarity index 100% rename from home-manager/modules/graphics/inkscape.nix rename to users/jalr/modules/graphics/inkscape.nix diff --git a/home-manager/modules/graphics/krita.nix b/users/jalr/modules/graphics/krita.nix similarity index 100% rename from home-manager/modules/graphics/krita.nix rename to users/jalr/modules/graphics/krita.nix diff --git a/home-manager/modules/gui.nix b/users/jalr/modules/gui.nix similarity index 100% rename from home-manager/modules/gui.nix rename to users/jalr/modules/gui.nix diff --git a/home-manager/modules/jameica.nix b/users/jalr/modules/jameica.nix similarity index 100% rename from home-manager/modules/jameica.nix rename to users/jalr/modules/jameica.nix diff --git a/home-manager/modules/kicad.nix b/users/jalr/modules/kicad.nix similarity index 100% rename from home-manager/modules/kicad.nix rename to users/jalr/modules/kicad.nix diff --git a/home-manager/modules/mpv.nix b/users/jalr/modules/mpv.nix similarity index 100% rename from home-manager/modules/mpv.nix rename to users/jalr/modules/mpv.nix diff --git a/home-manager/modules/mute-indicator.nix b/users/jalr/modules/mute-indicator.nix similarity index 100% rename from home-manager/modules/mute-indicator.nix rename to users/jalr/modules/mute-indicator.nix diff --git a/home-manager/modules/neo.nix b/users/jalr/modules/neo.nix similarity index 100% rename from home-manager/modules/neo.nix rename to users/jalr/modules/neo.nix diff --git a/home-manager/modules/neovim.nix b/users/jalr/modules/neovim.nix similarity index 100% rename from home-manager/modules/neovim.nix rename to users/jalr/modules/neovim.nix diff --git a/home-manager/modules/obs-studio/default.nix b/users/jalr/modules/obs-studio/default.nix similarity index 100% rename from home-manager/modules/obs-studio/default.nix rename to users/jalr/modules/obs-studio/default.nix diff --git a/home-manager/modules/openscad.nix b/users/jalr/modules/openscad.nix similarity index 100% rename from home-manager/modules/openscad.nix rename to users/jalr/modules/openscad.nix diff --git a/home-manager/modules/pass.nix b/users/jalr/modules/pass.nix similarity index 100% rename from home-manager/modules/pass.nix rename to users/jalr/modules/pass.nix diff --git a/home-manager/modules/pcmanfm.nix b/users/jalr/modules/pcmanfm.nix similarity index 100% rename from home-manager/modules/pcmanfm.nix rename to users/jalr/modules/pcmanfm.nix diff --git a/home-manager/modules/python.nix b/users/jalr/modules/python.nix similarity index 100% rename from home-manager/modules/python.nix rename to users/jalr/modules/python.nix diff --git a/home-manager/modules/remarkable/default.nix b/users/jalr/modules/remarkable/default.nix similarity index 100% rename from home-manager/modules/remarkable/default.nix rename to users/jalr/modules/remarkable/default.nix diff --git a/home-manager/modules/remarkable/restream.nix b/users/jalr/modules/remarkable/restream.nix similarity index 100% rename from home-manager/modules/remarkable/restream.nix rename to users/jalr/modules/remarkable/restream.nix diff --git a/home-manager/modules/remarkable/rmview.nix b/users/jalr/modules/remarkable/rmview.nix similarity index 100% rename from home-manager/modules/remarkable/rmview.nix rename to users/jalr/modules/remarkable/rmview.nix diff --git a/home-manager/modules/solarized.nix b/users/jalr/modules/solarized.nix similarity index 100% rename from home-manager/modules/solarized.nix rename to users/jalr/modules/solarized.nix diff --git a/home-manager/modules/sound/audacity.nix b/users/jalr/modules/sound/audacity.nix similarity index 100% rename from home-manager/modules/sound/audacity.nix rename to users/jalr/modules/sound/audacity.nix diff --git a/home-manager/modules/sound/default.nix b/users/jalr/modules/sound/default.nix similarity index 100% rename from home-manager/modules/sound/default.nix rename to users/jalr/modules/sound/default.nix diff --git a/home-manager/modules/sound/easyeffects.nix b/users/jalr/modules/sound/easyeffects.nix similarity index 100% rename from home-manager/modules/sound/easyeffects.nix rename to users/jalr/modules/sound/easyeffects.nix diff --git a/home-manager/modules/sound/pipewire.nix b/users/jalr/modules/sound/pipewire.nix similarity index 100% rename from home-manager/modules/sound/pipewire.nix rename to users/jalr/modules/sound/pipewire.nix diff --git a/home-manager/modules/sway/default.nix b/users/jalr/modules/sway/default.nix similarity index 93% rename from home-manager/modules/sway/default.nix rename to users/jalr/modules/sway/default.nix index 2d4be5b..c89db64 100644 --- a/home-manager/modules/sway/default.nix +++ b/users/jalr/modules/sway/default.nix @@ -3,22 +3,19 @@ let solarized = import ../solarized.nix; terminalEmulator = - if nixosConfig.jalr.terminalEmulator == "alacritty" - then - pkgs.writeShellScript "alacritty-sway-cwd" '' - this_alacritty_pid="$(${pkgs.sway}/bin/swaymsg -t get_tree | ${pkgs.jq}/bin/jq -e 'recurse(.nodes[]?) | select((.focused==true) and (.app_id=="Alacritty")).pid')" + pkgs.writeShellScript "alacritty-sway-cwd" '' + this_alacritty_pid="$(${pkgs.sway}/bin/swaymsg -t get_tree | ${pkgs.jq}/bin/jq -e 'recurse(.nodes[]?) | select((.focused==true) and (.app_id=="Alacritty")).pid')" - if [ "$this_alacritty_pid" ]; then - child_pid="$(pgrep -P "$this_alacritty_pid")" - cwd="$(readlink /proc/$child_pid/cwd)" - fi - if [ -e "$cwd" ]; then - exec ${pkgs.alacritty}/bin/alacritty --working-directory "$cwd" - fi + if [ "$this_alacritty_pid" ]; then + child_pid="$(pgrep -P "$this_alacritty_pid")" + cwd="$(readlink /proc/$child_pid/cwd)" + fi + if [ -e "$cwd" ]; then + exec ${pkgs.alacritty}/bin/alacritty --working-directory "$cwd" + fi - exec ${pkgs.alacritty}/bin/alacritty - '' - else nixosConfig.jalr.terminalEmulator; + exec ${pkgs.alacritty}/bin/alacritty + ''; cfg = config.wayland.windowManager.sway.config; wallpaper = pkgs.fetchurl { url = "https://raw.githubusercontent.com/swaywm/sway/3b2bc894a5ebbcbbd6707d45a25d171779c2e874/assets/Sway_Wallpaper_Blue_1920x1080.png"; @@ -113,16 +110,6 @@ in output."*".bg = "${wallpaper} fill"; - # FIXME - #input = { - # #"type:keyboard" = { - # # xkb_layout = "neo"; - # #}; - #} // (lib.optionalAttrs (nixosConfig.networking.hostName == "mayushii") { - # "type:touchpad".events = "disabled"; - # "2:10:TPPS/2_Elan_TrackPoint".pointer_accel = "-0.15"; - #}); - keybindings = { "${cfg.modifier}+Return" = "exec ${cfg.terminal}"; "${cfg.modifier}+Backspace" = "exec ${cfg.terminal}"; diff --git a/home-manager/modules/sway/gammastep.nix b/users/jalr/modules/sway/gammastep.nix similarity index 100% rename from home-manager/modules/sway/gammastep.nix rename to users/jalr/modules/sway/gammastep.nix diff --git a/home-manager/modules/sway/move-to-output/default.nix b/users/jalr/modules/sway/move-to-output/default.nix similarity index 100% rename from home-manager/modules/sway/move-to-output/default.nix rename to users/jalr/modules/sway/move-to-output/default.nix diff --git a/home-manager/modules/sway/waybar.nix b/users/jalr/modules/sway/waybar.nix similarity index 100% rename from home-manager/modules/sway/waybar.nix rename to users/jalr/modules/sway/waybar.nix diff --git a/home-manager/modules/sway/wofi-bluetooth.nix b/users/jalr/modules/sway/wofi-bluetooth.nix similarity index 100% rename from home-manager/modules/sway/wofi-bluetooth.nix rename to users/jalr/modules/sway/wofi-bluetooth.nix diff --git a/home-manager/modules/sway/wofi.nix b/users/jalr/modules/sway/wofi.nix similarity index 100% rename from home-manager/modules/sway/wofi.nix rename to users/jalr/modules/sway/wofi.nix diff --git a/home-manager/modules/sway/yubikey-touch-detector.nix b/users/jalr/modules/sway/yubikey-touch-detector.nix similarity index 100% rename from home-manager/modules/sway/yubikey-touch-detector.nix rename to users/jalr/modules/sway/yubikey-touch-detector.nix diff --git a/home-manager/modules/thunderbird.nix b/users/jalr/modules/thunderbird.nix similarity index 100% rename from home-manager/modules/thunderbird.nix rename to users/jalr/modules/thunderbird.nix diff --git a/home-manager/modules/tmux.nix b/users/jalr/modules/tmux.nix similarity index 100% rename from home-manager/modules/tmux.nix rename to users/jalr/modules/tmux.nix diff --git a/home-manager/modules/tor-browser.nix b/users/jalr/modules/tor-browser.nix similarity index 100% rename from home-manager/modules/tor-browser.nix rename to users/jalr/modules/tor-browser.nix diff --git a/home-manager/modules/vdirsyncer.nix b/users/jalr/modules/vdirsyncer.nix similarity index 100% rename from home-manager/modules/vdirsyncer.nix rename to users/jalr/modules/vdirsyncer.nix From 26ea41867a2f8e8165a0d744e23d8d73c9b33280 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 24 May 2024 14:31:31 +0200 Subject: [PATCH 320/766] Enable zram --- hosts/copper/configuration.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/hosts/copper/configuration.nix b/hosts/copper/configuration.nix index 7c6ca88..83b3404 100644 --- a/hosts/copper/configuration.nix +++ b/hosts/copper/configuration.nix @@ -8,6 +8,13 @@ hostName = "copper"; }; + zramSwap = { + enable = true; + algorithm = "zstd"; + memoryPercent = 60; + priority = 1; + }; + jalr = { bootloader = "systemd-boot"; bluetooth.enable = true; From 321e96443b2f627239a6990105451bcfcb2dc2c5 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 24 May 2024 15:49:45 +0200 Subject: [PATCH 321/766] Fix bug: pasting user does not work --- users/jalr/modules/pass.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/users/jalr/modules/pass.nix b/users/jalr/modules/pass.nix index ce3e446..e3950a3 100644 --- a/users/jalr/modules/pass.nix +++ b/users/jalr/modules/pass.nix @@ -1,11 +1,17 @@ -{ nixosConfig, config, pkgs, ... }: +{ nixosConfig, pkgs, ... }: let pw = pkgs.writeScriptBin "pw" '' p="$(${pkgs.pass}/bin/pass show "$1")" copy_line() { - echo -n "$p" | ${pkgs.gnused}/bin/sed -n "$1"p | ${pkgs.wl-clipboard}/bin/wl-copy -o -f + echo -n "$p" \ + | ${pkgs.gnused}/bin/sed -n "$1"p \ + | ${pkgs.wl-clipboard}/bin/wl-copy \ + --paste-once \ + --foreground \ + --trim-newline \ + --type text/plain } echo "username" From 0c4b521edc69c1ce124bcb1b03cabf0c0fdd43d8 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 24 May 2024 21:57:22 +0200 Subject: [PATCH 322/766] Fix removing failed commands from history --- users/jalr/modules/fish.nix | 34 +++++----------------------------- 1 file changed, 5 insertions(+), 29 deletions(-) diff --git a/users/jalr/modules/fish.nix b/users/jalr/modules/fish.nix index 59e209b..e2cbf76 100644 --- a/users/jalr/modules/fish.nix +++ b/users/jalr/modules/fish.nix @@ -61,23 +61,7 @@ #alias cal='ncal -b -M' alias myip='dig +short myip.opendns.com @resolver1.opendns.com' - function hm -d 'merge history and delete failed commands' - history --merge - - if test -z "$fish_private_mode" && test -e "$__fish_user_data_dir/successful_commands" && test -e "$__fish_user_data_dir/failed_commands" - while read line; - if ! grep -qFx $line "$__fish_user_data_dir/successful_commands" - set hist_command (echo $line | base64 -d) - echo "deleting command: $hist_command" - echo "." - history delete --exact --case-sensitive $hist_command - end - end < "$__fish_user_data_dir/failed_commands" - echo -n > "$__fish_user_data_dir/successful_commands" - echo -n > "$__fish_user_data_dir/failed_commands" - end - end - hm + history --merge >/dev/null 2>&1 # fancy tools if which eza > /dev/null 2>&1 @@ -121,18 +105,10 @@ function __postexec --on-event fish_postexec - if test $status -ne 0 - if test -z "$hist_cmd" - if test -z "$fish_private_mode" - echo $argv[1] | base64 >> "$__fish_user_data_dir/failed_commands" - end - end - else - if test -z "$fish_private_mode" - echo $argv[1] | base64 >> "$__fish_user_data_dir/successful_commands" - end - commandline $commandline_buffer - set -e commandline_buffer + if test $status -ne 0; and test -z "$hist_cmd"; and test -z "$fish_private_mode" + #$SHELL -c " + history delete --exact --case-sensitive -- $argv[1] + #" & end end From d63d0326fafd653318f7e06187cc86912294bf73 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 27 May 2024 15:20:56 +0200 Subject: [PATCH 323/766] Add `--no-edit` to `gam` abbrev --- users/jalr/modules/git.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/users/jalr/modules/git.nix b/users/jalr/modules/git.nix index 2ff8657..88bf208 100644 --- a/users/jalr/modules/git.nix +++ b/users/jalr/modules/git.nix @@ -23,7 +23,7 @@ fish = { shellAbbrs = { ga = "git add"; - gam = "git commit --amend"; + gam = "git commit --amend --no-edit"; gap = "git add --patch"; gb = "git branch"; gbd = "git branch --delete"; From 0ff22fbfb5ea14c2155a4ac71c8aca82c8473e5e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 27 May 2024 15:21:20 +0200 Subject: [PATCH 324/766] Add `--rebase` to `gpll` abbrev --- users/jalr/modules/git.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/users/jalr/modules/git.nix b/users/jalr/modules/git.nix index 88bf208..4b55de3 100644 --- a/users/jalr/modules/git.nix +++ b/users/jalr/modules/git.nix @@ -38,7 +38,7 @@ gf = "git fetch"; ginit = "git init"; gl = "git log"; - gpll = "git pull"; + gpll = "git pull --rebase"; gpsh = "git push"; grb = "git rebase --autostash"; grbi = "git rebase --autostash --interactive --autosquash refs/remotes/origin/HEAD"; From 54a368a411297edb3bb68bd1bbbbd53312d096ed Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 27 May 2024 18:20:54 +0200 Subject: [PATCH 325/766] Fix typo --- pkgs/tabbed-box-maker/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tabbed-box-maker/default.nix b/pkgs/tabbed-box-maker/default.nix index d30e534..dee949e 100644 --- a/pkgs/tabbed-box-maker/default.nix +++ b/pkgs/tabbed-box-maker/default.nix @@ -14,7 +14,7 @@ stdenvNoCC.mkDerivation { sha256 = "8TNNVMSwbvcEwkvMHecHtGLEpiX3F0g0EGsgO1YKBGQ="; }; - dontBild = true; + dontBuild = true; installPhase = '' mkdir $out cp * $out From ca1ec6b16cc0e12b982d170459938f294560eb13 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 28 May 2024 01:25:13 +0200 Subject: [PATCH 326/766] Rename sieve option The option `services.dovecot2.sieveScripts` has been renamed to `services.dovecot2.sieve.scripts` --- modules/mailserver/dovecot.nix | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/modules/mailserver/dovecot.nix b/modules/mailserver/dovecot.nix index 353474d..62193db 100644 --- a/modules/mailserver/dovecot.nix +++ b/modules/mailserver/dovecot.nix @@ -33,14 +33,16 @@ lib.mkIf cfg.enable { Spam = { specialUse = "Junk"; auto = "subscribe"; }; }; - sieveScripts = { - before = pkgs.writeText "spam.sieve" '' - require "fileinto"; + sieve = { + scripts = { + before = pkgs.writeText "spam.sieve" '' + require "fileinto"; - if header :is "X-Spam" "Yes" { - fileinto "Spam"; - } - ''; + if header :is "X-Spam" "Yes" { + fileinto "Spam"; + } + ''; + }; }; extraConfig = '' From c4e80d0d913d92c51f4b8a2f0789919eb602ea40 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 28 May 2024 12:38:47 +0200 Subject: [PATCH 327/766] Fix sieve configuration after update to 24.05 --- modules/mailserver/dovecot.nix | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/modules/mailserver/dovecot.nix b/modules/mailserver/dovecot.nix index 62193db..dea0bc5 100644 --- a/modules/mailserver/dovecot.nix +++ b/modules/mailserver/dovecot.nix @@ -34,6 +34,14 @@ lib.mkIf cfg.enable { }; sieve = { + globalExtensions = [ + "fileinto" + "vnd.dovecot.pipe" + ]; + plugins = [ + "sieve_imapsieve" + "sieve_extprograms" + ]; scripts = { before = pkgs.writeText "spam.sieve" '' require "fileinto"; @@ -102,8 +110,6 @@ lib.mkIf cfg.enable { lda_mailbox_autocreate = yes plugin { - sieve_plugins = sieve_imapsieve sieve_extprograms - ${lib.optionalString cfg.spam.enable '' imapsieve_mailbox1_name = Spam imapsieve_mailbox1_causes = COPY @@ -115,8 +121,6 @@ lib.mkIf cfg.enable { imapsieve_mailbox2_before = file:/var/lib/dovecot/sieve/learn-ham.sieve sieve_pipe_bin_dir = ${pkgs.symlinkJoin { name = "sieve-pipe-bin-dir"; paths = with pkgs; [ rspamd ]; } }/bin ''} - - sieve_global_extensions = +vnd.dovecot.pipe } ''; }; From 5003a40a977380002e33eb8288317caedd3ddc38 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 28 May 2024 01:27:20 +0200 Subject: [PATCH 328/766] Fix app_service_config and RuntimeDirectory As the nixos module now already sets a RuntimeDirectory, I had to move stuff around and use some `lib.mkForce`. --- modules/matrix/synapse.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/modules/matrix/synapse.nix b/modules/matrix/synapse.nix index 11eed82..d29c4d4 100644 --- a/modules/matrix/synapse.nix +++ b/modules/matrix/synapse.nix @@ -90,14 +90,18 @@ lib.mkIf cfg.enable { ) cfg.synapse.app_service_config; serviceConfig = { - RuntimeDirectory = "matrix-synapse/app_service_config"; + RuntimeDirectory = lib.mkForce [ + "matrix-synapse" + "matrix-synapse/app_service_config" + ]; + RuntimeDirectoryPreserve = lib.mkForce false; ExecStartPre = lib.attrsets.mapAttrsToList (name: value: let script = pkgs.writeShellScript "app_service_config-${name}" '' - cp "${value}" "$RUNTIME_DIRECTORY/${name}.yaml" - chown matrix-synapse: "$RUNTIME_DIRECTORY/${name}.yaml" + cp "${value}" "/run/matrix-synapse/app_service_config/${name}.yaml" + chown matrix-synapse: "/run/matrix-synapse/app_service_config/${name}.yaml" ''; in "+${script}" From c8a5c0d0248ce3524cdfdbab492c6b8b29a0a355 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 28 May 2024 11:10:24 +0200 Subject: [PATCH 329/766] Remove Claws Mail --- users/jalr/modules/claws-mail.nix | 6 ------ users/jalr/modules/default.nix | 1 - 2 files changed, 7 deletions(-) delete mode 100644 users/jalr/modules/claws-mail.nix diff --git a/users/jalr/modules/claws-mail.nix b/users/jalr/modules/claws-mail.nix deleted file mode 100644 index ff32d39..0000000 --- a/users/jalr/modules/claws-mail.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ nixosConfig, lib, pkgs, ... }: -lib.mkIf nixosConfig.jalr.gui.enable { - home.packages = with pkgs; [ - claws-mail - ]; -} diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index 04a40c0..9207861 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -5,7 +5,6 @@ ./3d-printing.nix ./alacritty.nix ./aws.nix - ./claws-mail.nix ./cli.nix ./communication ./direnv.nix From 9fe1fbe3078532f40904e3876b49a9a607f0d840 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 28 May 2024 12:28:36 +0200 Subject: [PATCH 330/766] Fix indentation --- justfile | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/justfile b/justfile index 8d0ac78..a1cfcd2 100644 --- a/justfile +++ b/justfile @@ -1,24 +1,24 @@ boot: - nixos-rebuild boot --flake . --use-remote-sudo - which fwupdmgr >/dev/null 2>&1 && fwupdmgr update || true + nixos-rebuild boot --flake . --use-remote-sudo + which fwupdmgr >/dev/null 2>&1 && fwupdmgr update || true switch: - nixos-rebuild switch --flake . --use-remote-sudo - which fwupdmgr >/dev/null 2>&1 && fwupdmgr update || true + nixos-rebuild switch --flake . --use-remote-sudo + which fwupdmgr >/dev/null 2>&1 && fwupdmgr update || true build: - nixos-rebuild build --flake . + nixos-rebuild build --flake . update: - nix flake update --commit-lock-file - which fwupdmgr >/dev/null 2>&1 && fwupdmgr refresh || true + nix flake update --commit-lock-file + which fwupdmgr >/dev/null 2>&1 && fwupdmgr refresh || true repl: - nix repl --expr "\ - let \ - flake = builtins.getFlake \"$(git rev-parse --show-toplevel)\"; in \ - flake // { \ - lib = flake.inputs.nixpkgs.lib; \ - pkgs = flake.inputs.nixpkgs.legacyPackages."\${builtins.currentSystem}"; \ - } \ - " + nix repl --expr "\ + let \ + flake = builtins.getFlake \"$(git rev-parse --show-toplevel)\"; in \ + flake // { \ + lib = flake.inputs.nixpkgs.lib; \ + pkgs = flake.inputs.nixpkgs.legacyPackages."\${builtins.currentSystem}"; \ + } \ + " From dc0c5a86db6d6a7878faaedbb6498e907870b1d1 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 28 May 2024 12:33:06 +0200 Subject: [PATCH 331/766] Add `luks-pass` command --- justfile | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/justfile b/justfile index a1cfcd2..b8d309c 100644 --- a/justfile +++ b/justfile @@ -1,3 +1,5 @@ +usb_ram_disk := "/dev/disk/by-id/usb-jalr_RAM_Mass_Storage_DE6270431F6F342C-0:0" + boot: nixos-rebuild boot --flake . --use-remote-sudo which fwupdmgr >/dev/null 2>&1 && fwupdmgr update || true @@ -22,3 +24,11 @@ repl: pkgs = flake.inputs.nixpkgs.legacyPackages."\${builtins.currentSystem}"; \ } \ " + +luks-pass host: + @if [ -b "{{usb_ram_disk}}" ]; then \ + gpg -d hosts/{{host}}/luks-passfile.gpg | sudo dd of={{usb_ram_disk}}; \ + else \ + echo "{{usb_ram_disk}} is not a block device" >&2; \ + fi + From 083980d619c11dc5655f36a2b633de4b56bef20c Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 28 May 2024 19:51:39 +0200 Subject: [PATCH 332/766] Add useful nix settings --- modules/nix.nix | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/modules/nix.nix b/modules/nix.nix index 65beaa3..c6910ea 100644 --- a/modules/nix.nix +++ b/modules/nix.nix @@ -2,11 +2,6 @@ { nix = { - package = pkgs.nixFlakes; - extraOptions = '' - experimental-features = nix-command flakes - ''; - daemonCPUSchedPolicy = "idle"; daemonIOSchedClass = "idle"; daemonIOSchedPriority = 7; @@ -16,12 +11,25 @@ ]; settings = { + experimental-features = [ + "nix-command" + "flakes" + "repl-flake" + ]; trusted-users = [ "@wheel" ]; auto-optimise-store = true; allowed-users = [ "@wheel" ]; + + log-lines = lib.mkDefault 25; + + # Avoid disk full issues + max-free = lib.mkDefault (3000 * 1024 * 1024); + min-free = lib.mkDefault (512 * 1024 * 10); }; }; + systemd.services.nix-daemon.serviceConfig.OOMScoreAdjust = 250; + nixpkgs.overlays = with inputs; [ self.overlays.default (final: prev: { From b9cee6c8b7254bc64d1f528aeac9722f938c1486 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 28 May 2024 19:57:19 +0200 Subject: [PATCH 333/766] Harden OpenSSH service --- modules/sshd.nix | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/modules/sshd.nix b/modules/sshd.nix index 3ad95f3..655fd7f 100644 --- a/modules/sshd.nix +++ b/modules/sshd.nix @@ -1,6 +1,20 @@ { services.openssh = { enable = true; - settings.PasswordAuthentication = false; + settings = { + KbdInteractiveAuthentication = false; + # Use key exchange algorithms recommended by `nixpkgs#ssh-audit` + KexAlgorithms = [ + "curve25519-sha256" + "curve25519-sha256@libssh.org" + "diffie-hellman-group16-sha512" + "diffie-hellman-group18-sha512" + "sntrup761x25519-sha512@openssh.com" + ]; + PasswordAuthentication = false; + StreamLocalBindUnlink = true; # unbind gnupg sockets if they exists + UseDns = false; + X11Forwarding = false; + }; }; } From 8d0d6980c11990014b79ee9c088ad0a78ebad5d2 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 28 May 2024 20:21:24 +0200 Subject: [PATCH 334/766] Add jalr's ssh keys to root's authorized keys --- users/jalr/default.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/users/jalr/default.nix b/users/jalr/default.nix index 180bb00..ae1253d 100644 --- a/users/jalr/default.nix +++ b/users/jalr/default.nix @@ -1,5 +1,10 @@ { config, pkgs, ... }: +let + sshKeys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH3l+Yixrsjhze20CSjvUK4Qj/BNqbTNitgk20vuzPej cardno:25_750_479" + ]; +in { users.users.jalr = { isNormalUser = true; @@ -17,11 +22,11 @@ "wireshark" ]; # Enable ‘sudo’ for the user. shell = pkgs.fish; - openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH3l+Yixrsjhze20CSjvUK4Qj/BNqbTNitgk20vuzPej cardno:25_750_479" - ]; + openssh.authorizedKeys.keys = sshKeys; }; + users.users.root.openssh.authorizedKeys.keys = sshKeys; + home-manager = { useUserPackages = true; useGlobalPkgs = true; From a2c01c0fdadcc88559b7c0dea9f73489e26a25fe Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 28 May 2024 20:22:26 +0200 Subject: [PATCH 335/766] Allow only system-level authorized_keys --- modules/sshd.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/sshd.nix b/modules/sshd.nix index 655fd7f..b521e9b 100644 --- a/modules/sshd.nix +++ b/modules/sshd.nix @@ -1,3 +1,7 @@ +{ lib +, ... +}: + { services.openssh = { enable = true; @@ -16,5 +20,6 @@ UseDns = false; X11Forwarding = false; }; + authorizedKeysFiles = lib.mkForce [ "/etc/ssh/authorized_keys.d/%u" ]; }; } From 1b9d7745f4af604225f3ab831ba1c2a6f424eed5 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 28 May 2024 20:28:15 +0200 Subject: [PATCH 336/766] Add upgrade-diff --- modules/default.nix | 1 + modules/upgrade-diff.nix | 14 ++++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 modules/upgrade-diff.nix diff --git a/modules/default.nix b/modules/default.nix index e5fc8af..dbb9ab1 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -49,6 +49,7 @@ ./udmx.nix ./uefi.nix ./unfree.nix + ./upgrade-diff.nix ./wireshark.nix ./yubikey-gpg.nix ]; diff --git a/modules/upgrade-diff.nix b/modules/upgrade-diff.nix new file mode 100644 index 0000000..ccdbe4c --- /dev/null +++ b/modules/upgrade-diff.nix @@ -0,0 +1,14 @@ +# MIT Jörg Thalheim - https://github.com/Mic92/dotfiles/blob/c6cad4e57016945c4816c8ec6f0a94daaa0c3203/nixos/modules/upgrade-diff.nix +{ config, pkgs, ... }: +{ + system.activationScripts.diff = { + supportsDryActivation = true; + text = '' + if [[ -e /run/current-system ]]; then + echo "--- diff to current-system" + ${pkgs.nvd}/bin/nvd --nix-bin-dir=${config.nix.package}/bin diff /run/current-system "$systemConfig" + echo "---" + fi + ''; + }; +} From 24e315729cba69fd25d56ede77a4c8734ded7f10 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 28 May 2024 21:13:47 +0200 Subject: [PATCH 337/766] Add htop config --- users/jalr/modules/cli.nix | 23 ----------------------- users/jalr/modules/cli/default.nix | 28 ++++++++++++++++++++++++++++ users/jalr/modules/cli/htop.nix | 25 +++++++++++++++++++++++++ users/jalr/modules/default.nix | 2 +- 4 files changed, 54 insertions(+), 24 deletions(-) delete mode 100644 users/jalr/modules/cli.nix create mode 100644 users/jalr/modules/cli/default.nix create mode 100644 users/jalr/modules/cli/htop.nix diff --git a/users/jalr/modules/cli.nix b/users/jalr/modules/cli.nix deleted file mode 100644 index f07297b..0000000 --- a/users/jalr/modules/cli.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ nixosConfig, lib, pkgs, ... }: -{ - home.packages = with pkgs; [ - cached-nix-shell - eza - file - htop - inetutils - jq - lsof - ncdu - ripgrep - unzip - ] ++ (if ! nixosConfig.jalr.workstation.enable then [ ] else [ - direnv - dnsutils - screen - speedtest-cli - usbutils - wget - yt-dlp - ]); -} diff --git a/users/jalr/modules/cli/default.nix b/users/jalr/modules/cli/default.nix new file mode 100644 index 0000000..caae5d3 --- /dev/null +++ b/users/jalr/modules/cli/default.nix @@ -0,0 +1,28 @@ +{ nixosConfig, lib, pkgs, ... }: +{ + imports = [ + ./htop.nix + ]; + + config = { + home.packages = with pkgs; [ + cached-nix-shell + eza + file + inetutils + jq + lsof + ncdu + ripgrep + unzip + ] ++ (if ! nixosConfig.jalr.workstation.enable then [ ] else [ + direnv + dnsutils + screen + speedtest-cli + usbutils + wget + yt-dlp + ]); + }; +} diff --git a/users/jalr/modules/cli/htop.nix b/users/jalr/modules/cli/htop.nix new file mode 100644 index 0000000..86dbf6c --- /dev/null +++ b/users/jalr/modules/cli/htop.nix @@ -0,0 +1,25 @@ +{ nixosConfig +, config +, lib +, ... +}: + +{ + programs.htop = { + enable = true; + settings = { + color_scheme = 6; + } // (with config.lib.htop; leftMeters ([ + (bar "LeftCPUs") + (bar "Memory") + ] ++ lib.lists.optional nixosConfig.zramSwap.enable (bar "Zram") ++ [ + ] ++ lib.lists.optional (!(nixosConfig.swapDevices == [ ])) (bar "Swap") ++ [ + (bar "DiskIO") + ])) // (with config.lib.htop; rightMeters [ + (bar "RightCPUs") + (text "Tasks") + (text "LoadAverage") + (text "NetworkIO") + ]); + }; +} diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index 9207861..6775d19 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -5,7 +5,7 @@ ./3d-printing.nix ./alacritty.nix ./aws.nix - ./cli.nix + ./cli ./communication ./direnv.nix ./dynamic-colors.nix From 4279d367469786f6f62727aef5806a3fe247e957 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 28 May 2024 22:27:38 +0200 Subject: [PATCH 338/766] Update theme-agnoster --- users/jalr/modules/fish.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/users/jalr/modules/fish.nix b/users/jalr/modules/fish.nix index e2cbf76..ebcebac 100644 --- a/users/jalr/modules/fish.nix +++ b/users/jalr/modules/fish.nix @@ -11,8 +11,8 @@ src = pkgs.fetchFromGitHub { owner = "oh-my-fish"; repo = "theme-agnoster"; - rev = "c142e802983bd1b34b4d91efac2126fc5913126d"; - sha256 = "0PLx626BWoBp/L6wgkB4o+53q8PymiEE/rTu2mfzHhg="; + rev = "4c5518c89ebcef393ef154c9f576a52651400d27"; + sha256 = "OFESuesnfqhXM0aij+79kdxjp4xgCt28YwTrcwQhFMU="; fetchSubmodules = true; }; } From 72757468f5da08a80f8fa49cae9c5d3e9ba23fc6 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 28 May 2024 22:29:46 +0200 Subject: [PATCH 339/766] Move functions to attrset --- users/jalr/modules/fish.nix | 50 +++++++++++++++++++++++-------------- 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/users/jalr/modules/fish.nix b/users/jalr/modules/fish.nix index ebcebac..55ac57a 100644 --- a/users/jalr/modules/fish.nix +++ b/users/jalr/modules/fish.nix @@ -88,31 +88,42 @@ complete -c g -w grep end - function jqless -d 'jq -C [args] | less -R' - jq -C $argv | less -R - end # NixOS direnv if which direnv > /dev/null eval (direnv hook fish) end - function __cut_commandline -d 'cut commandline and paste it later' + bind \ed 'dirh-fzf' + + ''; + + functions = { + jqless = { + body = '' + jq -C $argv | less -R + ''; + }; + __cut_commandline = { + description = "cut commandline and paste it later"; + body = '' set -g commandline_buffer (commandline) commandline "" - end - - - - function __postexec --on-event fish_postexec + ''; + }; + __postexec = { + onEvent = "fish_postexec"; + body = '' if test $status -ne 0; and test -z "$hist_cmd"; and test -z "$fish_private_mode" #$SHELL -c " history delete --exact --case-sensitive -- $argv[1] #" & end - end - - function dirh-nocolor --description "Print the current directory history (the prev and next lists)" + ''; + }; + dirh-nocolor = { + description = "Print the current directory history (the prev and next lists)"; + body = '' set -l options h/help argparse -n dirh --max-args=0 $options -- $argv or return @@ -141,14 +152,15 @@ printf '%s\n' $dirnext_rev[$i] end end - end - - function dirh-fzf -d 'directory history fuzzy finder' + ''; + }; + dirh-fzf = { + description = "directory history fuzzy finder"; + body = '' builtin cd (dirh-nocolor | uniq | fzf) - end - - bind \ed 'dirh-fzf' - ''; + ''; + }; + }; }; xdg.configFile."fish/completions/mycli.fish".text = '' From 47d02301b7b7b9b44107956c31ac21ca71d4895b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 28 May 2024 22:35:18 +0200 Subject: [PATCH 340/766] Fix autosuggestion color --- users/jalr/modules/fish.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/users/jalr/modules/fish.nix b/users/jalr/modules/fish.nix index 55ac57a..654b52a 100644 --- a/users/jalr/modules/fish.nix +++ b/users/jalr/modules/fish.nix @@ -96,6 +96,8 @@ bind \ed 'dirh-fzf' + # fix too dark color on solarized theme + set -g fish_color_autosuggestion brgreen ''; functions = { From e98e0184246617c9858d421c8c9129879caad659 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 28 May 2024 22:44:23 +0200 Subject: [PATCH 341/766] Use abbr instead of aliases --- users/jalr/modules/fish.nix | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/users/jalr/modules/fish.nix b/users/jalr/modules/fish.nix index 654b52a..70d1c74 100644 --- a/users/jalr/modules/fish.nix +++ b/users/jalr/modules/fish.nix @@ -65,26 +65,26 @@ # fancy tools if which eza > /dev/null 2>&1 - alias l=eza - alias ll='eza -l --time-style=long-iso --git' - alias la='eza -la --time-style=long-iso --git' - alias tree='eza --tree' - alias llt='eza -s modified -l' + abbr --add l eza + abbr --add ll 'eza -l --time-style=long-iso --git' + abbr --add la 'eza -la --time-style=long-iso --git' + abbr --add tree 'eza --tree' + abbr --add llt 'eza -s modified -l' else - alias l=ls - alias ll='ls -l' - alias la='ls -la' - alias llt='ls -trl' + abbr --add l ls + abbr --add ll 'ls -l' + abbr --add la 'ls -la' + abbr --add llt 'ls -trl' end if which rg > /dev/null 2>&1 - alias g=rg + abbr --add g rg complete -c g -w rg else if which ag > /dev/null 2>&1 - alias g=ag + abbr --add g ag complete -c g -w ag else - alias g='grep --color=auto' + abbr --add g 'grep --color=auto' complete -c g -w grep end From 782da4e6ac5c9134ff877f1ce039f5b84719440f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 28 May 2024 22:44:47 +0200 Subject: [PATCH 342/766] Start in insert mode when editing fish commandline --- users/jalr/modules/neovim.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/users/jalr/modules/neovim.nix b/users/jalr/modules/neovim.nix index 0447001..1c6f2ed 100644 --- a/users/jalr/modules/neovim.nix +++ b/users/jalr/modules/neovim.nix @@ -44,6 +44,7 @@ augroup END autocmd BufRead COMMIT_EDITMSG startinsert + autocmd BufRead /tmp/tmp.*.fish startinsert let g:deoplete#enable_at_startup = 1 From 14a865275ab3f0f59aae7062b74f4ca2a5c4a8a7 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 28 May 2024 22:48:48 +0200 Subject: [PATCH 343/766] Use option to configure diff-so-fancy --- users/jalr/modules/git.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/users/jalr/modules/git.nix b/users/jalr/modules/git.nix index 4b55de3..d6acd8b 100644 --- a/users/jalr/modules/git.nix +++ b/users/jalr/modules/git.nix @@ -10,9 +10,11 @@ key = "3044E71E3DEFF49B586CF5809BF4FCCB90854DA9"; signByDefault = false; }; + diff-so-fancy = { + enable = true; + }; extraConfig = { init.defaultBranch = "main"; - core.pager = "${pkgs.diff-so-fancy}/bin/diff-so-fancy | less --tabs=4 -RFX"; diff.sops.textconv = "${pkgs.sops}/bin/sops -d"; pull.ff = "only"; alias.find-merge = "!sh -c 'commit=$0 && branch=\${1:-HEAD} && (git rev-list $commit..$branch --ancestry-path | cat -n; git rev-list $commit..$branch --first-parent | cat -n) | sort -k2 -s | uniq -f1 -d | sort -n | tail -1 | cut -f2'"; From 8ff961418e9ec3b1e8eb118f8148cfdc96f62a6b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 28 May 2024 23:19:34 +0200 Subject: [PATCH 344/766] Move nix-index --- users/jalr/modules/default.nix | 3 +-- users/jalr/modules/nix-index.nix | 5 +++++ 2 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 users/jalr/modules/nix-index.nix diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index 6775d19..e656fa4 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -22,6 +22,7 @@ ./mute-indicator.nix ./neo.nix ./neovim.nix + ./nix-index.nix ./obs-studio ./openscad.nix ./pass.nix @@ -35,6 +36,4 @@ ./tor-browser.nix ./vdirsyncer.nix ]; - - programs.nix-index.enable = true; } diff --git a/users/jalr/modules/nix-index.nix b/users/jalr/modules/nix-index.nix new file mode 100644 index 0000000..c753a5e --- /dev/null +++ b/users/jalr/modules/nix-index.nix @@ -0,0 +1,5 @@ +{ + programs.nix-index = { + enable = true; + }; +} From 7f8967d44e3ee01414d25c3065f2ea37aa4ee81e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 29 May 2024 01:55:47 +0200 Subject: [PATCH 345/766] Add networking module --- modules/default.nix | 2 +- modules/networking/default.nix | 11 +++++++++++ modules/{ => networking}/network-manager.nix | 0 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 modules/networking/default.nix rename modules/{ => networking}/network-manager.nix (100%) diff --git a/modules/default.nix b/modules/default.nix index dbb9ab1..03326b4 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -33,7 +33,7 @@ ./mailserver ./matrix ./mute-indicator.nix - ./network-manager.nix + ./networking ./nix.nix ./obs.nix ./pipewire.nix diff --git a/modules/networking/default.nix b/modules/networking/default.nix new file mode 100644 index 0000000..98c88ed --- /dev/null +++ b/modules/networking/default.nix @@ -0,0 +1,11 @@ +{ lib +, ... +}: + +{ + imports = [ + ./network-manager.nix + ]; + + networking.firewall.logRefusedConnections = lib.mkDefault false; +} diff --git a/modules/network-manager.nix b/modules/networking/network-manager.nix similarity index 100% rename from modules/network-manager.nix rename to modules/networking/network-manager.nix From d8d05806dd9ceaceee99675f9cd6330d8567278c Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 29 May 2024 21:59:26 +0200 Subject: [PATCH 346/766] Use dnscrypt-proxy2 as resolver --- modules/default.nix | 3 +-- modules/{dnsmasq.nix => dns.nix} | 19 ++++++++++++++++++- modules/tor.nix | 17 ----------------- 3 files changed, 19 insertions(+), 20 deletions(-) rename modules/{dnsmasq.nix => dns.nix} (52%) delete mode 100644 modules/tor.nix diff --git a/modules/default.nix b/modules/default.nix index 03326b4..e48b296 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -21,7 +21,7 @@ ./bluetooth.nix ./bootloader ./dji-goggles.nix - ./dnsmasq.nix + ./dns.nix ./fish.nix ./fonts.nix ./gnome.nix @@ -45,7 +45,6 @@ ./sshd.nix ./sudo.nix ./sway.nix - ./tor.nix ./udmx.nix ./uefi.nix ./unfree.nix diff --git a/modules/dnsmasq.nix b/modules/dns.nix similarity index 52% rename from modules/dnsmasq.nix rename to modules/dns.nix index e33f50b..20d1feb 100644 --- a/modules/dnsmasq.nix +++ b/modules/dns.nix @@ -1,7 +1,24 @@ { lib, config, ... }: +let + dnscryptListenAddress = "127.0.0.1"; + dnscryptListenPort = 9053; +in { config = lib.mkIf config.jalr.workstation.enable { + services.dnscrypt-proxy2 = { + enable = true; + settings = { + ipv6_servers = true; + require_dnssec = true; + require_nolog = true; + require_nofilter = true; + dnscrypt_ephemeral_keys = true; + tls_disable_session_tickets = true; + listen_addresses = [ "${dnscryptListenAddress}:${toString dnscryptListenPort}" ]; + anonymized_dns.skip_incompatible = true; + }; + }; services.dnsmasq = { enable = true; resolveLocalQueries = true; @@ -12,7 +29,7 @@ "/lan.bw.jalr.de/192.168.42.1" "/lechner.zz/192.168.0.1" "/login.wifionice.de/172.18.0.1" - "127.0.0.1#9053" + "${dnscryptListenAddress}#${toString dnscryptListenPort}" ]; no-resolv = true; interface = "lo"; diff --git a/modules/tor.nix b/modules/tor.nix deleted file mode 100644 index c33b3c5..0000000 --- a/modules/tor.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ lib, config, ... }: - -{ - config = lib.mkIf config.jalr.workstation.enable { - services.tor = { - enable = true; - settings = { - DNSPort = 9053; - AutomapHostsOnResolve = true; - AutomapHostsSuffixes = [ - ".exit" - ".onion" - ]; - }; - }; - }; -} From 6b387c7738cd733db8e9ee1fdc9025cc06576026 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 29 May 2024 22:03:43 +0200 Subject: [PATCH 347/766] Change formatting --- users/jalr/modules/firefox/default.nix | 185 +++++++++++++------------ 1 file changed, 93 insertions(+), 92 deletions(-) diff --git a/users/jalr/modules/firefox/default.nix b/users/jalr/modules/firefox/default.nix index a2d4992..74caabe 100644 --- a/users/jalr/modules/firefox/default.nix +++ b/users/jalr/modules/firefox/default.nix @@ -3,101 +3,102 @@ programs.firefox = { enable = nixosConfig.jalr.gui.enable; package = pkgs.firefox-esr; - profiles = { - default = { - extensions = with pkgs.nur.repos.rycee.firefox-addons; [ - darkreader - tree-style-tab - ublock-origin - umatrix - violentmonkey - ]; - settings = { - #"browser.startup.homepage" = "https://nixos.org"; - #"browser.search.region" = "GB"; - #"browser.search.isUS" = false; - #"distribution.searchplugins.defaultLocale" = "en-GB"; - #"general.useragent.locale" = "en-GB"; - #"browser.bookmarks.showMobileBookmarks" = true; - "app.normandy.enabled" = false; - "app.shield.optoutstudies.enabled" = false; - "app.update.auto" = false; - "browser.ctrlTab.sortByRecentlyUsed" = true; - "browser.fixup.alternate.enabled" = false; - "browser.formfill.enable" = false; - "browser.link.open_newwindow.restriction" = 0; - "browser.newtabpage.enabled" = false; - "browser.ping-centre.telemetry" = false; - "browser.safebrowsing.downloads.enabled" = false; - "browser.safebrowsing.downloads.remote.block_dangerous" = false; - "browser.safebrowsing.downloads.remote.block_dangerous_host" = false; - "browser.safebrowsing.downloads.remote.block_potentially_unwanted" = false; - "browser.safebrowsing.downloads.remote.block_uncommon" = false; - "browser.safebrowsing.downloads.remote.enabled" = false; - "browser.safebrowsing.downloads.remote.url" = ""; - "browser.safebrowsing.malware.enabled" = false; - "browser.safebrowsing.phishing.enabled" = false; - "browser.safebrowsing.provider.google.advisoryURL" = ""; - "browser.safebrowsing.provider.google.gethashURL" = ""; - "browser.safebrowsing.provider.google.lists" = ""; - "browser.safebrowsing.provider.google.reportMalwareMistakeURL" = ""; - "browser.safebrowsing.provider.google.reportPhishMistakeURL" = ""; - "browser.safebrowsing.provider.google.reportURL" = ""; - "browser.safebrowsing.provider.google.updateURL" = ""; - "browser.safebrowsing.provider.google4.advisoryURL" = ""; - "browser.safebrowsing.provider.google4.dataSharingURL" = ""; - "browser.safebrowsing.provider.google4.gethashURL" = ""; - "browser.safebrowsing.provider.google4.lists" = ""; - "browser.safebrowsing.provider.google4.reportMalwareMistakeURL" = ""; - "browser.safebrowsing.provider.google4.reportPhishMistakeURL" = ""; - "browser.safebrowsing.provider.google4.reportURL" = ""; - "browser.safebrowsing.provider.google4.updateURL" = ""; - "browser.safebrowsing.provider.mozilla.gethashURL" = ""; - "browser.safebrowsing.provider.mozilla.lists" = ""; - "browser.safebrowsing.provider.mozilla.updateURL" = ""; - "browser.search.suggest.enabled" = false; - "browser.search.widget.inNavBar" = true; - "browser.startup.page" = 0; - "extensions.pocket.enabled" = false; - "extensions.update.enabled" = false; - "identity.fxaccounts.enabled" = false; - "keyword.enabled" = false; - "network.captive-portal-service.enabled" = false; - "network.predictor.enabled" = false; - "privacy.donottrackheader.enabled" = true; - "startup.homepage_welcome_url" = about:blank; - "toolkit.legacyUserProfileCustomizations.stylesheets" = true; - "toolkit.telemetry.archive.enabled" = false; - "toolkit.telemetry.bhrPing.enabled" = false; - "toolkit.telemetry.firstShutdownPing.enabled" = false; - "toolkit.telemetry.newProfilePing.enabled" = false; - "toolkit.telemetry.server" = http://127.0.0.1:4711; - "toolkit.telemetry.server_owner" = ""; - "toolkit.telemetry.shutdownPingSender.enabled" = false; - "toolkit.telemetry.updatePing.enabled" = false; - "urlclassifier.downloadAllowTable" = ""; - "urlclassifier.downloadBlockTable" = ""; - "urlclassifier.malwareTable" = ""; - "urlclassifier.phishTable" = ""; - "datareporting.healthreport.uploadEnabled" = ""; - "app.normandy.api_url" = ""; - "breakpad.reportURL" = ""; - "browser.region.network.url" = ""; - "browser.search.geoSpecificDefaults.url" = ""; - "browser.shell.checkDefaultBrowser" = false; + profiles.default = { + id = 0; + isDefault = true; + extensions = with pkgs.nur.repos.rycee.firefox-addons; [ + darkreader + tree-style-tab + ublock-origin + umatrix + violentmonkey + ]; + settings = { + #"browser.startup.homepage" = "https://nixos.org"; + #"browser.search.region" = "GB"; + #"browser.search.isUS" = false; + #"distribution.searchplugins.defaultLocale" = "en-GB"; + #"general.useragent.locale" = "en-GB"; + #"browser.bookmarks.showMobileBookmarks" = true; + "app.normandy.enabled" = false; + "app.shield.optoutstudies.enabled" = false; + "app.update.auto" = false; + "browser.bookmarks.addedImportButton" = false; + "browser.ctrlTab.sortByRecentlyUsed" = true; + "browser.fixup.alternate.enabled" = false; + "browser.formfill.enable" = false; + "browser.link.open_newwindow.restriction" = 0; + "browser.newtabpage.enabled" = false; + "browser.ping-centre.telemetry" = false; + "browser.safebrowsing.downloads.enabled" = false; + "browser.safebrowsing.downloads.remote.block_dangerous" = false; + "browser.safebrowsing.downloads.remote.block_dangerous_host" = false; + "browser.safebrowsing.downloads.remote.block_potentially_unwanted" = false; + "browser.safebrowsing.downloads.remote.block_uncommon" = false; + "browser.safebrowsing.downloads.remote.enabled" = false; + "browser.safebrowsing.downloads.remote.url" = ""; + "browser.safebrowsing.malware.enabled" = false; + "browser.safebrowsing.phishing.enabled" = false; + "browser.safebrowsing.provider.google.advisoryURL" = ""; + "browser.safebrowsing.provider.google.gethashURL" = ""; + "browser.safebrowsing.provider.google.lists" = ""; + "browser.safebrowsing.provider.google.reportMalwareMistakeURL" = ""; + "browser.safebrowsing.provider.google.reportPhishMistakeURL" = ""; + "browser.safebrowsing.provider.google.reportURL" = ""; + "browser.safebrowsing.provider.google.updateURL" = ""; + "browser.safebrowsing.provider.google4.advisoryURL" = ""; + "browser.safebrowsing.provider.google4.dataSharingURL" = ""; + "browser.safebrowsing.provider.google4.gethashURL" = ""; + "browser.safebrowsing.provider.google4.lists" = ""; + "browser.safebrowsing.provider.google4.reportMalwareMistakeURL" = ""; + "browser.safebrowsing.provider.google4.reportPhishMistakeURL" = ""; + "browser.safebrowsing.provider.google4.reportURL" = ""; + "browser.safebrowsing.provider.google4.updateURL" = ""; + "browser.safebrowsing.provider.mozilla.gethashURL" = ""; + "browser.safebrowsing.provider.mozilla.lists" = ""; + "browser.safebrowsing.provider.mozilla.updateURL" = ""; + "browser.search.suggest.enabled" = false; + "browser.search.widget.inNavBar" = true; + "browser.startup.page" = 0; + "extensions.pocket.enabled" = false; + "extensions.update.enabled" = false; + "identity.fxaccounts.enabled" = false; + "keyword.enabled" = false; + "network.captive-portal-service.enabled" = false; + "network.predictor.enabled" = false; + "privacy.donottrackheader.enabled" = true; + "startup.homepage_welcome_url" = "about:blank"; + "toolkit.legacyUserProfileCustomizations.stylesheets" = true; + "toolkit.telemetry.archive.enabled" = false; + "toolkit.telemetry.bhrPing.enabled" = false; + "toolkit.telemetry.firstShutdownPing.enabled" = false; + "toolkit.telemetry.newProfilePing.enabled" = false; + "toolkit.telemetry.server" = "http://127.0.0.1:4711"; + "toolkit.telemetry.server_owner" = ""; + "toolkit.telemetry.shutdownPingSender.enabled" = false; + "toolkit.telemetry.updatePing.enabled" = false; + "urlclassifier.downloadAllowTable" = ""; + "urlclassifier.downloadBlockTable" = ""; + "urlclassifier.malwareTable" = ""; + "urlclassifier.phishTable" = ""; + "datareporting.healthreport.uploadEnabled" = ""; + "app.normandy.api_url" = ""; + "breakpad.reportURL" = ""; + "browser.region.network.url" = ""; + "browser.search.geoSpecificDefaults.url" = ""; + "browser.shell.checkDefaultBrowser" = false; - "privacy.userContext.enabled" = true; - "privacy.userContext.ui.enabled" = true; - "network.dnsCacheExpiration" = 0; - - # disable disk cache to reduce ssd writes - "browser.cache.disk.enable" = false; - "browser.cache.memory.enable" = true; - "browser.cache.memory.capacity" = -1; - }; - userChrome = builtins.readFile ./userChrome.css; + "privacy.userContext.enabled" = true; + "privacy.userContext.ui.enabled" = true; + "network.dnsCacheExpiration" = 0; + # disable disk cache to reduce ssd writes + "browser.cache.disk.enable" = false; + "browser.cache.memory.enable" = true; + "browser.cache.memory.capacity" = -1; }; + + userChrome = builtins.readFile ./userChrome.css; }; }; } From d63b718b229e5d35c524f86b12879c0b76d638ca Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 29 May 2024 22:06:05 +0200 Subject: [PATCH 348/766] Add policies --- users/jalr/modules/firefox/default.nix | 260 +++++++++++++++++++++++++ 1 file changed, 260 insertions(+) diff --git a/users/jalr/modules/firefox/default.nix b/users/jalr/modules/firefox/default.nix index 74caabe..d82c31f 100644 --- a/users/jalr/modules/firefox/default.nix +++ b/users/jalr/modules/firefox/default.nix @@ -3,6 +3,266 @@ programs.firefox = { enable = nixosConfig.jalr.gui.enable; package = pkgs.firefox-esr; + policies = { + AllowedDomainsForApps = ""; + CaptivePortal = false; + DNSOverHTTPS.Enabled = false; + DisableAppUpdate = true; + DisableFeedbackCommands = true; + DisableFirefoxAccounts = true; + DisableFirefoxScreenshots = true; + DisableFirefoxStudies = true; + DisablePocket = true; + DisableTelemetry = true; + DisplayBookmarksToolbar = "newtab"; + DisplayMenuBar = "never"; + EncryptedMediaExtensions = { Enabled = false; Locked = true; }; + NoDefaultBookmarks = true; + OfferToSaveLogins = false; + StartDownloadsInTempDirectory = true; + UserMessaging = { + WhatsNew = false; + ExtensionRecommendations = false; + FeatureRecommendations = false; + UrlbarInterventions = false; + SkipOnboarding = true; + MoreFromMozilla = false; + Locked = false; + }; + Permissions = { + Camera = { + /* + Allow = ["https://example.org" "https://example.org:1234"]; + Block = ["https://example.edu"]; + BlockNewRequests = true | false; + Locked = true | false; + */ + }; + Microphone = { }; + Location = { }; + Notifications = { }; + Autoplay = { }; + }; + PopupBlocking = { + /* Allow = ["http://example.org/" "http://example.edu/"]; */ + Default = false; + Locked = false; + }; + Bookmarks = ( + builtins.map + (b: b // { + Folder = "Nix"; + Placement = "toolbar"; + }) [ + { + Title = "NixOS Manual"; + URL = "https://nixos.org/manual/nixos/stable/"; + } + { + Title = "Nix manual"; + URL = "https://nix.dev/manual/nix/2.18/stable"; + } + { + Title = "Nixpkgs manual"; + URL = "https://nixos.org/manual/nixpkgs/stable/"; + } + { + Title = "Noogle"; + URL = "https://noogle.dev/"; + } + { + Title = "Home Manager Configuration Options"; + URL = "https://nix-community.github.io/home-manager/options.xhtml"; + } + { + Title = "Home Manager Option Search"; + URL = "https://mipmip.github.io/home-manager-option-search/"; + } + { + Title = "NixOS Status"; + URL = "https://status.nixos.org/"; + } + { + Title = "krops"; + URL = "https://cgit.krebsco.de/krops/about/"; + } + { + Title = "Awesome Nix"; + URL = "https://github.com/nix-community/awesome-nix"; + } + ] + ) ++ ( + builtins.map + (b: b // { + Folder = "Digitaler Dienst"; + Placement = "toolbar"; + }) [ + { + Title = "GitLab"; + URL = "https://gitlab.digitaler-dienst.net/"; + } + { + Title = "Moco"; + URL = "https://digitaler-dienst.mocoapp.com/activities"; + } + { + Title = "Leantime"; + URL = "https://todo.digitaler-dienst.gmbh/"; + } + { + Title = "Nextcloud"; + URL = "https://nx52865.your-storageshare.de/"; + } + { + Title = "FreeScout"; + URL = "https://tickets.digitaler-dienst.gmbh/"; + } + { + Title = "Personio"; + URL = "https://laemmermann.personio.de/"; + } + ] + ) ++ [ + { + Title = "Fefes Blog"; + URL = "https://blog.fefe.de"; + Placement = "toolbar"; + #Placement = "menu"; + #Favicon = "https://example.com/favicon.ico"; + } + ]; + /* + ManagedBookmarks = [ + { + toplevel_name = "My managed bookmarks folder"; + } + { + url = "example.com"; + name = "Example"; + } + { + name = "Mozilla links"; + children = [ + { + url = "https://mozilla.org"; + name = "Mozilla.org"; + } + { + url = "https://support.mozilla.org/"; + name = "SUMO"; + } + ]; + } + ]; + */ + SearchEngines.Default = "DuckDuckGo"; + SearchEngines.Remove = [ + "Google" + "Wikipedia (en)" + ]; + SearchEngines.Add = [ + { + Name = "Startpage"; + URLTemplate = "https://www.startpage.com/sp/search"; + Method = "POST"; + PostData = "qadf=none&query={searchTerms}"; + IconURL = "https://www.startpage.com/sp/cdn/favicons/mobile/android-icon-192x192.png"; + Alias = "sp"; + } + { + Name = "DuckDuckGo"; + URLTemplate = "https://duckduckgo.com/?q={searchTerms}"; + Method = "GET"; + IconURL = "https://duckduckgo.com/favicon.ico"; + Alias = "ddg"; + } + + # Wikipedia + { + Name = "Wikipedia en"; + URLTemplate = "https://en.wikipedia.org/wiki/Special:Search?search={searchTerms}"; + Method = "GET"; + IconURL = "https://en.wikipedia.org/static/images/icons/wikipedia.png"; + Alias = "wen"; + } + { + Name = "Wikipedia de"; + URLTemplate = "https://de.wikipedia.org/w/index.php?search={searchTerms}"; + Method = "GET"; + IconURL = "https://www.wikipedia.de/img/wikipedia.png"; + Alias = "wde"; + } + { + Name = "Nix Packages"; + URLTemplate = "https://search.nixos.org/packages?query={searchTerms}"; + Method = "GET"; + IconURL = "https://nixos.org/favicon.png"; + Alias = "pkg"; + } + { + Name = "NixOS Options"; + URLTemplate = "https://search.nixos.org/options?query={searchTerms}"; + Method = "GET"; + IconURL = "https://nixos.org/favicon.png"; + Alias = "opt"; + } + { + Name = "Docker images"; + URLTemplate = "https://hub.docker.com/search/?q={searchTerms}"; + Method = "GET"; + IconURL = "https://hub.docker.com/favicon.ico"; + Alias = "docker"; + } + { + Name = "GitHub"; + URLTemplate = "https://github.com/search?q={searchTerms}"; + Method = "GET"; + IconURL = "https://github.githubassets.com/favicons/favicon.svg"; + Alias = "gh"; + } + + # Shopping + { + Name = "Amazon de"; + URLTemplate = "https://www.amazon.de/s?k={searchTerms}"; + Method = "GET"; + IconURL = "https://www.amazon.de/favicon.ico"; + Alias = "amde"; + } + { + Name = "Ebay de"; + URLTemplate = "https://www.ebay.de/sch/i.html?_nkw={searchTerms}"; + Method = "GET"; + IconURL = "https://pages.ebay.com/favicon.ico"; + Alias = "ebde"; + } + + # Dictionary + { + Name = "dict.cc"; + URLTemplate = "https://www.dict.cc/?s={searchTerms}"; + Method = "GET"; + IconURL = "https://www4.dict.cc/img/favicons/favicon4.png"; + Alias = "dcc"; + } + { + Name = "Duden"; + URLTemplate = "https://www.duden.de/suchen/dudenonline/{searchTerms}"; + Method = "GET"; + IconURL = "https://www.duden.de/sites/default/res/apple-touch-icon/180x180.png"; + Alias = "duden"; + } + + # Map + { + Name = "OpenStreetMap"; + URLTemplate = "https://www.openstreetmap.org/search?query={searchTerms}"; + Method = "GET"; + IconURL = "https://www.openstreetmap.org/assets/favicon-194x194-79d3fb0152c735866e64b1d7535d504483cd13c2fad0131a6142bd9629d30de2.png"; + Alias = "osm"; + } + ]; + }; profiles.default = { id = 0; isDefault = true; From ac867b1c7f00b0c603ea9dc76871658f6c84ceec Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 30 May 2024 01:26:08 +0200 Subject: [PATCH 349/766] Add tweaks for loction bar --- users/jalr/modules/firefox/userChrome.css | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/users/jalr/modules/firefox/userChrome.css b/users/jalr/modules/firefox/userChrome.css index dcc6b2b..21743cf 100644 --- a/users/jalr/modules/firefox/userChrome.css +++ b/users/jalr/modules/firefox/userChrome.css @@ -218,4 +218,23 @@ url(chrome://browser/content/browser.xhtml) { } /*** End of: Megabar Styler One-Offs ***/ + + /* Hide "Firefox Suggest" in location bar search results */ + .urlbarView-row[label="Firefox Suggest"]::before { + display: none !important + } + .urlbarView-row[label] { + margin-block-start: 4px !important; + } + + /* Hide search button in location bar */ + #identity-box[pageproxystate=invalid] > .identity-box-button, + .searchbar-search-button { + display: none + } + + /* Hide search placeholder in location bar */ + #urlbar-input::placeholder { + color: transparent; + } } From 5f9c537bbc280061e9d4a84d23da679730243167 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 30 May 2024 01:26:19 +0200 Subject: [PATCH 350/766] Hide back & forward buttons --- users/jalr/modules/firefox/userChrome.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/users/jalr/modules/firefox/userChrome.css b/users/jalr/modules/firefox/userChrome.css index 21743cf..291b8f8 100644 --- a/users/jalr/modules/firefox/userChrome.css +++ b/users/jalr/modules/firefox/userChrome.css @@ -237,4 +237,9 @@ url(chrome://browser/content/browser.xhtml) { #urlbar-input::placeholder { color: transparent; } + + /* Hide back & forward buttons */ + toolbarbutton#back-button { + display: none; + } } From 112283c7b4d12b454454185e4bb8bb718a54ced4 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 31 May 2024 15:55:25 +0200 Subject: [PATCH 351/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'gomod2nix': 'github:nix-community/gomod2nix/4702caff8e201f4c98fe3583637a930d253447c8' (2024-05-20) → 'github:nix-community/gomod2nix/31b6d2e40b36456e792cd6cf50d5a8ddd2fa59a1' (2024-05-30) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/67a8b308bae9c26be660ccceff3e53a65e01afe1' (2024-05-27) → 'github:nixos/nixpkgs/d24e7fdcfaecdca496ddd426cae98c9e2d12dfe8' (2024-05-30) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/4c4f6f1395b1fda7ebe6a9106e68d2098f09441d' (2024-05-28) → 'github:NixOS/nixpkgs/5ceeafa47de0b2e842354147fafc39d567e4cd9c' (2024-05-31) • Updated input 'nur': 'github:nix-community/NUR/731eb0c95af5efa7a8ffb3ca1b5f1a00d8e5db13' (2024-05-28) → 'github:nix-community/NUR/7963300aab117ee31dd5185541ceed009ce3e312' (2024-05-31) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/12599ecaa9ec641c29dc8fd07f8267b23874bf3a' (2024-05-27) → 'github:nix-community/poetry2nix/0a592572706db14e49202892318d3812061340a0' (2024-05-30) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index e7d87bb..8527298 100644 --- a/flake.lock +++ b/flake.lock @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1716202913, - "narHash": "sha256-zjPNXI4DWBOrPsrK8u/XTsm5Q36quONQvz0jhAKHEeg=", + "lastModified": 1717050755, + "narHash": "sha256-C9IEHABulv2zEDFA+Bf0E1nmfN4y6MIUe5eM2RCrDC0=", "owner": "nix-community", "repo": "gomod2nix", - "rev": "4702caff8e201f4c98fe3583637a930d253447c8", + "rev": "31b6d2e40b36456e792cd6cf50d5a8ddd2fa59a1", "type": "github" }, "original": { @@ -169,11 +169,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1716793392, - "narHash": "sha256-ex3nO87EEQhshXd19QSVW5UIXL0pbPuew4q8TdEJQBY=", + "lastModified": 1717090882, + "narHash": "sha256-Up5tvtY9YlVEyVn9hfZcxFQi5qVhQ5hdVNGPQOUchNw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "67a8b308bae9c26be660ccceff3e53a65e01afe1", + "rev": "d24e7fdcfaecdca496ddd426cae98c9e2d12dfe8", "type": "github" }, "original": { @@ -217,11 +217,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1716887039, - "narHash": "sha256-u9O9RPH7sXFuAeYECdUsNFmcbnyCnoMrQTvqKzmQeCI=", + "lastModified": 1717160210, + "narHash": "sha256-a6o2BB3W0W6t4LExUJbBjZs6O+VN9ld1oH2jOGMrNAI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4c4f6f1395b1fda7ebe6a9106e68d2098f09441d", + "rev": "5ceeafa47de0b2e842354147fafc39d567e4cd9c", "type": "github" }, "original": { @@ -233,11 +233,11 @@ }, "nur": { "locked": { - "lastModified": 1716885908, - "narHash": "sha256-Ij9xCqfSPLJ7UwnOeOf/RzrB2T1QP1AlFyyL+ee4RmU=", + "lastModified": 1717163092, + "narHash": "sha256-M6kObY8gQjx6spj5NxJDBZs8glTo32a2pSu0przux+w=", "owner": "nix-community", "repo": "NUR", - "rev": "731eb0c95af5efa7a8ffb3ca1b5f1a00d8e5db13", + "rev": "7963300aab117ee31dd5185541ceed009ce3e312", "type": "github" }, "original": { @@ -259,11 +259,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1716813403, - "narHash": "sha256-9+G8tEOh3QkjSUV2UMC+TpvzKOR8IUFlkJJTMpVQMkc=", + "lastModified": 1717090555, + "narHash": "sha256-4ajbEBEB8C2x9Dz07ZG5iXDsXuOjntpMmZt+I/tGBFQ=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "12599ecaa9ec641c29dc8fd07f8267b23874bf3a", + "rev": "0a592572706db14e49202892318d3812061340a0", "type": "github" }, "original": { From bb3db55a9c53a3b77178398820f051340615a9ea Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 31 May 2024 15:58:30 +0200 Subject: [PATCH 352/766] Refactor nixos module list --- flake.nix | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/flake.nix b/flake.nix index 51f9a22..85c33f9 100644 --- a/flake.nix +++ b/flake.nix @@ -146,7 +146,6 @@ nixosConfigurations = nixpkgs.lib.mapAttrs (hostname: { system - , extraModules ? [ ] , targetHost ? hostname , nixpkgs ? inputs.nixpkgs }: nixpkgs.lib.nixosSystem rec { @@ -178,13 +177,11 @@ inherit targetHost; }; }) - ] ++ [{ - nixpkgs.overlays = [ nur.overlay ]; - }] ++ [ + ] ++ [ + { nixpkgs.overlays = [ nur.overlay ]; } home-manager.nixosModules.home-manager - ] ++ (with inputs; [ - sops-nix.nixosModules.sops - ]) ++ extraModules; + inputs.sops-nix.nixosModules.sops + ]; }) (import ./hosts inputs); }; From eadff7c906ef3e30c531a4d1bcc2d65a97026013 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 31 May 2024 16:06:46 +0200 Subject: [PATCH 353/766] Add disko --- flake.lock | 21 +++++++++++++++++++++ flake.nix | 8 ++++++++ 2 files changed, 29 insertions(+) diff --git a/flake.lock b/flake.lock index 8527298..f095430 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,25 @@ { "nodes": { + "disko": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1717097713, + "narHash": "sha256-M0tIapdiiB2piVTDK+aL7AnsjS656AY7l7htKN0dnQM=", + "owner": "nix-community", + "repo": "disko", + "rev": "9d5c673a6611b7bf448dbfb0843c75b9cce9cf1f", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "disko", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -274,6 +294,7 @@ }, "root": { "inputs": { + "disko": "disko", "flake-utils": "flake-utils", "gomod2nix": "gomod2nix", "home-manager": "home-manager", diff --git a/flake.nix b/flake.nix index 85c33f9..b1bdcc5 100644 --- a/flake.nix +++ b/flake.nix @@ -29,6 +29,13 @@ }; }; + disko = { + url = "github:nix-community/disko"; + inputs = { + nixpkgs.follows = "nixpkgs"; + }; + }; + gomod2nix = { url = "github:nix-community/gomod2nix"; inputs = { @@ -181,6 +188,7 @@ { nixpkgs.overlays = [ nur.overlay ]; } home-manager.nixosModules.home-manager inputs.sops-nix.nixosModules.sops + inputs.disko.nixosModules.disko ]; }) (import ./hosts inputs); From 9279c8016786b9f9675c76972f73c39b40e6935a Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 31 May 2024 16:29:50 +0200 Subject: [PATCH 354/766] Add declarative disk configuration --- hosts/copper/configuration.nix | 1 + hosts/copper/disko.nix | 56 +++++++++++++++++++++++++ hosts/copper/hardware-configuration.nix | 29 ------------- 3 files changed, 57 insertions(+), 29 deletions(-) create mode 100644 hosts/copper/disko.nix diff --git a/hosts/copper/configuration.nix b/hosts/copper/configuration.nix index 83b3404..84bd964 100644 --- a/hosts/copper/configuration.nix +++ b/hosts/copper/configuration.nix @@ -1,6 +1,7 @@ { imports = [ ./hardware-configuration.nix + ./disko.nix ../../users/jalr ]; diff --git a/hosts/copper/disko.nix b/hosts/copper/disko.nix new file mode 100644 index 0000000..af624e2 --- /dev/null +++ b/hosts/copper/disko.nix @@ -0,0 +1,56 @@ +{ + disko.devices = { + disk = { + nvme = { + type = "disk"; + device = "/dev/disk/by-id/nvme-Samsung_SSD_990_PRO_2TB_S7DNNJ0X235226N"; + content = { + type = "gpt"; + partitions = { + esp = { + type = "EF00"; + size = "1024M"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + mountOptions = [ "uid=0" "gid=0" "fmask=0077" "dmask=0077" "nodev" "nosuid" "noexec" ]; + }; + }; + luks = { + size = "100%"; + content = { + type = "luks"; + name = "copper-crypt"; + settings = { + allowDiscards = true; + }; + extraFormatArgs = [ "--hash sha512 --use-random --pbkdf argon2id --iter-time 5000 --pbkdf-memory ${builtins.toString (4*1024*1024)} --pbkdf-parallel 4" ]; + content = { + type = "btrfs"; + extraArgs = [ "-f" ]; + subvolumes = { + "/root" = { + mountpoint = "/"; + mountOptions = [ "compress=zstd" "noatime" ]; + }; + "/home" = { + mountpoint = "/home"; + mountOptions = [ "compress=zstd" "noatime" "nodev" "nosuid" ]; + }; + "/nix" = { + mountpoint = "/nix"; + mountOptions = [ "compress=zstd" "noatime" "noatime" "nodev" ]; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; +} + + diff --git a/hosts/copper/hardware-configuration.nix b/hosts/copper/hardware-configuration.nix index 7dac416..ef93cab 100644 --- a/hosts/copper/hardware-configuration.nix +++ b/hosts/copper/hardware-configuration.nix @@ -7,37 +7,8 @@ boot.initrd = { availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" ]; - luks.devices."copper-crypt".device = "/dev/disk/by-uuid/0687579d-83e3-4a0c-a63a-3d8566456924"; }; - fileSystems = - let - bootDev = "/dev/disk/by-uuid/FF86-D9B6"; - btrfsDev = "/dev/disk/by-uuid/16109d28-7ba1-403e-9bb3-3a8da8838c1f"; - in - { - "/" = { - device = btrfsDev; - fsType = "btrfs"; - options = [ "subvol=root" "compress=zstd" ]; - }; - "/home" = { - device = btrfsDev; - fsType = "btrfs"; - options = [ "subvol=home" "compress=zstd" "nodev" "nosuid" ]; - }; - "/nix" = { - device = btrfsDev; - fsType = "btrfs"; - options = [ "subvol=nix" "compress=zstd" "noatime" "nodev" ]; - }; - - "/boot" = { - device = bootDev; - fsType = "vfat"; - options = [ "fmask=0022" "dmask=0022" "nodev" "nosuid" "noexec" ]; - }; - }; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; } From ab16e8495857371e7e3ba54592a00ee2be229beb Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 31 May 2024 18:04:09 +0200 Subject: [PATCH 355/766] Add instructions to deploy with nixos-anywhere --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 15ccbb8..94fa809 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,15 @@ For a systematic overview of Home Manager and its available options, please see ## Install a new host This installs nixos on host `somehost`: + +### NixOS Anywhere + +```bash +nix run github:nix-community/nixos-anywhere -- --flake .# root@ +``` + +### The traditional way + ```bash nix-shell -p nixUnstable --run 'nixos-install --flake https://gitlab.jalr.de/jalr/nixos-configuration#somehost --no-channel-copy' ``` From 9869f2ad59deff12b40bc5c6a875b2abbd035894 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 31 May 2024 18:04:26 +0200 Subject: [PATCH 356/766] Add instructions to trust GPG key --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 94fa809..7b18909 100644 --- a/README.md +++ b/README.md @@ -55,4 +55,7 @@ nix-repl> :lf .# ``` gpg --card-edit gpg/card> fetch +gpg --edit-key $key +gpg> trust +Your decision? 5 ``` From b08797cac06bce6621d2dd7760942c4117432449 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 31 May 2024 23:32:29 +0200 Subject: [PATCH 357/766] Add pointer settings --- users/jalr/modules/gui.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/users/jalr/modules/gui.nix b/users/jalr/modules/gui.nix index d744a18..d3c71d2 100644 --- a/users/jalr/modules/gui.nix +++ b/users/jalr/modules/gui.nix @@ -1,5 +1,11 @@ { nixosConfig, lib, pkgs, ... }: lib.mkIf nixosConfig.jalr.gui.enable { + home.pointerCursor = { + package = pkgs.gnome-themes-extra; + name = "Adwaita"; + size = lib.mkDefault 16; + }; + home.packages = with pkgs; [ evince exiftool From 8dd515edc1c75a0e51a2d12502c5098b9c0725e9 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 31 May 2024 23:32:41 +0200 Subject: [PATCH 358/766] Set scaling for internal display on host copper --- users/jalr/modules/sway/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/users/jalr/modules/sway/default.nix b/users/jalr/modules/sway/default.nix index c89db64..0e34c15 100644 --- a/users/jalr/modules/sway/default.nix +++ b/users/jalr/modules/sway/default.nix @@ -35,6 +35,7 @@ let #gsettings set $gnome_schema gtk-theme 'Dracula' ${pkgs.glib}/bin/gsettings "$@" ''; + matchHostname = (hostname: lib.optionalAttrs (nixosConfig.networking.hostName == hostname)); in { imports = lib.optionals nixosConfig.jalr.gui.enable [ @@ -108,7 +109,11 @@ in terminal = "${terminalEmulator}"; menu = "${pkgs.wofi}/bin/wofi --allow-images --show drun --color=$HOME/.config/wofi/color"; - output."*".bg = "${wallpaper} fill"; + output = { + "*".bg = "${wallpaper} fill"; + } // matchHostname "copper" { + eDP-1.scale = toString 1.5; + }; keybindings = { "${cfg.modifier}+Return" = "exec ${cfg.terminal}"; From 25e8e332c631985d17f651a05249b223c1f0a223 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 3 Jun 2024 09:42:32 +0200 Subject: [PATCH 359/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/9d5c673a6611b7bf448dbfb0843c75b9cce9cf1f' (2024-05-30) → 'github:nix-community/disko/39cd5a1fcd6d7a476eac2894b09122ead99f6efc' (2024-06-03) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/d24e7fdcfaecdca496ddd426cae98c9e2d12dfe8' (2024-05-30) → 'github:nixos/nixpkgs/805a384895c696f802a9bf5bf4720f37385df547' (2024-05-31) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/5ceeafa47de0b2e842354147fafc39d567e4cd9c' (2024-05-31) → 'github:NixOS/nixpkgs/0b2a090503b08d27bc82f923eb562805f35eb498' (2024-06-03) • Updated input 'nur': 'github:nix-community/NUR/7963300aab117ee31dd5185541ceed009ce3e312' (2024-05-31) → 'github:nix-community/NUR/bf139c97aaf94adbaa9bac52629aafaba8f193d1' (2024-06-03) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/0a592572706db14e49202892318d3812061340a0' (2024-05-30) → 'github:nix-community/poetry2nix/11e97e742da5b4e43c27cfe13fca904e82fd4e56' (2024-06-01) • Updated input 'poetry2nix/treefmt-nix': 'github:numtide/treefmt-nix/2fba33a182602b9d49f0b2440513e5ee091d838b' (2024-05-17) → 'github:numtide/treefmt-nix/03b982b77df58d5974c61c6022085bafe780c1cf' (2024-05-31) • Updated input 'sops-nix': 'github:Mic92/sops-nix/962797a8d7f15ed7033031731d0bb77244839960' (2024-05-26) → 'github:Mic92/sops-nix/ab2a43b0d21d1d37d4d5726a892f714eaeb4b075' (2024-06-02) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/59a450646ec8ee0397f5fa54a08573e8240eb91f' (2024-05-25) → 'github:NixOS/nixpkgs/3b1b4895b2c5f9f5544d02132896aeb9ceea77bc' (2024-06-01) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index f095430..737bec9 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1717097713, - "narHash": "sha256-M0tIapdiiB2piVTDK+aL7AnsjS656AY7l7htKN0dnQM=", + "lastModified": 1717378144, + "narHash": "sha256-gwx3rVXnt2jNxl8L2DybYv41fA8QhWVGebe932pa2nw=", "owner": "nix-community", "repo": "disko", - "rev": "9d5c673a6611b7bf448dbfb0843c75b9cce9cf1f", + "rev": "39cd5a1fcd6d7a476eac2894b09122ead99f6efc", "type": "github" }, "original": { @@ -189,11 +189,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1717090882, - "narHash": "sha256-Up5tvtY9YlVEyVn9hfZcxFQi5qVhQ5hdVNGPQOUchNw=", + "lastModified": 1717144377, + "narHash": "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d24e7fdcfaecdca496ddd426cae98c9e2d12dfe8", + "rev": "805a384895c696f802a9bf5bf4720f37385df547", "type": "github" }, "original": { @@ -221,11 +221,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1716655032, - "narHash": "sha256-kQ25DAiCGigsNR/Quxm3v+JGXAEXZ8I7RAF4U94bGzE=", + "lastModified": 1717265169, + "narHash": "sha256-IITcGd6xpNoyq9SZBigCkv4+qMHSqot0RDPR4xsZ2CA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "59a450646ec8ee0397f5fa54a08573e8240eb91f", + "rev": "3b1b4895b2c5f9f5544d02132896aeb9ceea77bc", "type": "github" }, "original": { @@ -237,11 +237,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1717160210, - "narHash": "sha256-a6o2BB3W0W6t4LExUJbBjZs6O+VN9ld1oH2jOGMrNAI=", + "lastModified": 1717399553, + "narHash": "sha256-gWlwJQnKj4UWHQIWC/TIYIeV59/VnLAMUgIjp4JB/9Q=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5ceeafa47de0b2e842354147fafc39d567e4cd9c", + "rev": "0b2a090503b08d27bc82f923eb562805f35eb498", "type": "github" }, "original": { @@ -253,11 +253,11 @@ }, "nur": { "locked": { - "lastModified": 1717163092, - "narHash": "sha256-M6kObY8gQjx6spj5NxJDBZs8glTo32a2pSu0przux+w=", + "lastModified": 1717400384, + "narHash": "sha256-0J9DSDPMRJ0iONCXuFg5+0812NWj4ByNwUsCwJY08mc=", "owner": "nix-community", "repo": "NUR", - "rev": "7963300aab117ee31dd5185541ceed009ce3e312", + "rev": "bf139c97aaf94adbaa9bac52629aafaba8f193d1", "type": "github" }, "original": { @@ -279,11 +279,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1717090555, - "narHash": "sha256-4ajbEBEB8C2x9Dz07ZG5iXDsXuOjntpMmZt+I/tGBFQ=", + "lastModified": 1717250109, + "narHash": "sha256-MTivB5fsfaPtWwcibBhs20hHYEUe9o9bTRXsGJjQRso=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "0a592572706db14e49202892318d3812061340a0", + "rev": "11e97e742da5b4e43c27cfe13fca904e82fd4e56", "type": "github" }, "original": { @@ -315,11 +315,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1716692524, - "narHash": "sha256-sALodaA7Zkp/JD6ehgwc0UCBrSBfB4cX66uFGTsqeFU=", + "lastModified": 1717297459, + "narHash": "sha256-cZC2f68w5UrJ1f+2NWGV9Gx0dEYmxwomWN2B0lx0QRA=", "owner": "Mic92", "repo": "sops-nix", - "rev": "962797a8d7f15ed7033031731d0bb77244839960", + "rev": "ab2a43b0d21d1d37d4d5726a892f714eaeb4b075", "type": "github" }, "original": { @@ -365,11 +365,11 @@ ] }, "locked": { - "lastModified": 1715940852, - "narHash": "sha256-wJqHMg/K6X3JGAE9YLM0LsuKrKb4XiBeVaoeMNlReZg=", + "lastModified": 1717182148, + "narHash": "sha256-Hi09/RoizxubRf3PHToT2Nm7TL8B/abSVa6q82uEgNI=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "2fba33a182602b9d49f0b2440513e5ee091d838b", + "rev": "03b982b77df58d5974c61c6022085bafe780c1cf", "type": "github" }, "original": { From c5931e7cc7b0c6722f9c5fb0f86ff52b107ac529 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 3 Jun 2024 12:31:45 +0200 Subject: [PATCH 360/766] Fix http 500 in home-assistant --- hosts/iron/services/radicale.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/hosts/iron/services/radicale.nix b/hosts/iron/services/radicale.nix index a47cee7..538947f 100644 --- a/hosts/iron/services/radicale.nix +++ b/hosts/iron/services/radicale.nix @@ -1,4 +1,4 @@ -args@{ config, lib, custom-utils, ... }: +args@{ config, lib, pkgs, custom-utils, ... }: let ports = import ../ports.nix args; @@ -54,5 +54,14 @@ in level = "warning"; }; }; + # Apply fix https://github.com/Kozea/Radicale/issues/1485 + package = pkgs.radicale.overrideAttrs (p: { + src = pkgs.fetchFromGitHub { + owner = "Kozea"; + repo = "Radicale"; + rev = "5146537915f0cb397ae4ef53fe8a4f91fac5d972"; + sha256 = "DRNiY665MHqmXAeGs39N3YfTAV0SEjzUNf3Nfk+kKvk="; + }; + }); }; } From 0f55324c65934d3d1373f48af161c76628d52039 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 4 Jun 2024 16:20:57 +0200 Subject: [PATCH 361/766] Remove udev rule and use `/dev/v4l/by-id/` instead --- modules/obs.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/modules/obs.nix b/modules/obs.nix index 7f66004..e8bcf9f 100644 --- a/modules/obs.nix +++ b/modules/obs.nix @@ -11,8 +11,4 @@ lib.mkIf config.jalr.gui.enable { environment.systemPackages = with pkgs; [ v4l-utils ]; - - services.udev.extraRules = '' - SUBSYSTEM=="video4linux", ATTR{idVendor}=="2109", ATTR{idProduct}=="2813", SYMLINK+="video_c922" - ''; } From bee0c89f8d566c1940a70f44444b4846df512e13 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 4 Jun 2024 16:30:38 +0200 Subject: [PATCH 362/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/39cd5a1fcd6d7a476eac2894b09122ead99f6efc' (2024-06-03) → 'github:nix-community/disko/a838e83e21502a211b83373109a260e5ef5fbcf1' (2024-06-04) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/805a384895c696f802a9bf5bf4720f37385df547' (2024-05-31) → 'github:nixos/nixpkgs/b3b2b28c1daa04fe2ae47c21bb76fd226eac4ca1' (2024-06-01) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/0b2a090503b08d27bc82f923eb562805f35eb498' (2024-06-03) → 'github:NixOS/nixpkgs/b37b08ae04af951640a9a9fcb4d1aab54603f551' (2024-06-04) • Updated input 'nur': 'github:nix-community/NUR/bf139c97aaf94adbaa9bac52629aafaba8f193d1' (2024-06-03) → 'github:nix-community/NUR/4e7a2f26c246f795ee386acbdd45353c22417e89' (2024-06-04) • Updated input 'sops-nix': 'github:Mic92/sops-nix/ab2a43b0d21d1d37d4d5726a892f714eaeb4b075' (2024-06-02) → 'github:Mic92/sops-nix/d4555e80d80d2fa77f0a44201ca299f9602492a0' (2024-06-03) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 737bec9..d4d3ec1 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1717378144, - "narHash": "sha256-gwx3rVXnt2jNxl8L2DybYv41fA8QhWVGebe932pa2nw=", + "lastModified": 1717490821, + "narHash": "sha256-CivVhYExnMJ2afm+o1ogB231pKW/azhUghMI53MHmOM=", "owner": "nix-community", "repo": "disko", - "rev": "39cd5a1fcd6d7a476eac2894b09122ead99f6efc", + "rev": "a838e83e21502a211b83373109a260e5ef5fbcf1", "type": "github" }, "original": { @@ -189,11 +189,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1717144377, - "narHash": "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=", + "lastModified": 1717281328, + "narHash": "sha256-evZPzpf59oNcDUXxh2GHcxHkTEG4fjae2ytWP85jXRo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "805a384895c696f802a9bf5bf4720f37385df547", + "rev": "b3b2b28c1daa04fe2ae47c21bb76fd226eac4ca1", "type": "github" }, "original": { @@ -237,11 +237,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1717399553, - "narHash": "sha256-gWlwJQnKj4UWHQIWC/TIYIeV59/VnLAMUgIjp4JB/9Q=", + "lastModified": 1717510920, + "narHash": "sha256-rW2leqeGcK2m3DPFqxK52TocyigX0hIwEf0hN6drSXk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0b2a090503b08d27bc82f923eb562805f35eb498", + "rev": "b37b08ae04af951640a9a9fcb4d1aab54603f551", "type": "github" }, "original": { @@ -253,11 +253,11 @@ }, "nur": { "locked": { - "lastModified": 1717400384, - "narHash": "sha256-0J9DSDPMRJ0iONCXuFg5+0812NWj4ByNwUsCwJY08mc=", + "lastModified": 1717504708, + "narHash": "sha256-Gys2zgCYe2XGkb25hM46Oa3TAUPkay+XWUph28ciYVM=", "owner": "nix-community", "repo": "NUR", - "rev": "bf139c97aaf94adbaa9bac52629aafaba8f193d1", + "rev": "4e7a2f26c246f795ee386acbdd45353c22417e89", "type": "github" }, "original": { @@ -315,11 +315,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1717297459, - "narHash": "sha256-cZC2f68w5UrJ1f+2NWGV9Gx0dEYmxwomWN2B0lx0QRA=", + "lastModified": 1717455931, + "narHash": "sha256-8Q6mKSsto8gaGczXd4G0lvawdAYLa5Dlh3/g4hl5CaM=", "owner": "Mic92", "repo": "sops-nix", - "rev": "ab2a43b0d21d1d37d4d5726a892f714eaeb4b075", + "rev": "d4555e80d80d2fa77f0a44201ca299f9602492a0", "type": "github" }, "original": { From 2fb7ef285719fa06459002b7bd8e2184cf96b167 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 6 Jun 2024 13:41:57 +0200 Subject: [PATCH 363/766] Add mobile broadband --- modules/default.nix | 1 + modules/mobile-network.nix | 7 +++++++ 2 files changed, 8 insertions(+) create mode 100644 modules/mobile-network.nix diff --git a/modules/default.nix b/modules/default.nix index e48b296..321ff67 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -32,6 +32,7 @@ ./localization.nix ./mailserver ./matrix + ./mobile-network.nix ./mute-indicator.nix ./networking ./nix.nix diff --git a/modules/mobile-network.nix b/modules/mobile-network.nix new file mode 100644 index 0000000..fb7efdb --- /dev/null +++ b/modules/mobile-network.nix @@ -0,0 +1,7 @@ +{ config, lib, pkgs, ... }: + +lib.mkIf config.jalr.gui.enable { + environment.systemPackages = with pkgs; [ + usb-modeswitch + ]; +} From 8f1cea1ce68c914b7230e897df930ac2825c73db Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 11 Jun 2024 10:25:35 +0200 Subject: [PATCH 364/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/a838e83e21502a211b83373109a260e5ef5fbcf1' (2024-06-04) → 'github:nix-community/disko/c1cfbfad7cb45f0c177b35b59ba67d1b5fc7ca82' (2024-06-10) • Updated input 'home-manager': 'github:nix-community/home-manager/a631666f5ec18271e86a5cde998cba68c33d9ac6' (2024-05-26) → 'github:nix-community/home-manager/845a5c4c073f74105022533907703441e0464bc3' (2024-06-04) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/0e8fcc54b842ad8428c9e705cb5994eaf05c26a0' (2024-05-20) → 'github:cachix/git-hooks.nix/cc4d466cb1254af050ff7bdf47f6d404a7c646d1' (2024-06-06) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/b3b2b28c1daa04fe2ae47c21bb76fd226eac4ca1' (2024-06-01) → 'github:nixos/nixpkgs/2819fffa7fa42156680f0d282c60d81e8fb185b7' (2024-06-09) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/b37b08ae04af951640a9a9fcb4d1aab54603f551' (2024-06-04) → 'github:NixOS/nixpkgs/5b403d5f9c3dc03cc863c6c007ec5c9ed7275864' (2024-06-11) • Updated input 'nur': 'github:nix-community/NUR/4e7a2f26c246f795ee386acbdd45353c22417e89' (2024-06-04) → 'github:nix-community/NUR/d1c970b5275fb45cf32e4eff52afd798b860dbf1' (2024-06-11) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/11e97e742da5b4e43c27cfe13fca904e82fd4e56' (2024-06-01) → 'github:nix-community/poetry2nix/304f8235fb0729fd48567af34fcd1b58d18f9b95' (2024-06-09) • Updated input 'poetry2nix/treefmt-nix': 'github:numtide/treefmt-nix/03b982b77df58d5974c61c6022085bafe780c1cf' (2024-05-31) → 'github:numtide/treefmt-nix/3eb96ca1ae9edf792a8e0963cc92fddfa5a87706' (2024-06-01) • Updated input 'sops-nix': 'github:Mic92/sops-nix/d4555e80d80d2fa77f0a44201ca299f9602492a0' (2024-06-03) → 'github:Mic92/sops-nix/d071c74a7de1e26d211b69b6fbae37ae2e31a87f' (2024-06-10) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/3b1b4895b2c5f9f5544d02132896aeb9ceea77bc' (2024-06-01) → 'github:NixOS/nixpkgs/4913a7c3d8b8d00cb9476a6bd730ff57777f740c' (2024-06-08) --- flake.lock | 60 +++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/flake.lock b/flake.lock index d4d3ec1..4428b59 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1717490821, - "narHash": "sha256-CivVhYExnMJ2afm+o1ogB231pKW/azhUghMI53MHmOM=", + "lastModified": 1718008439, + "narHash": "sha256-nlh/2uD5p2SAdkn6Zuey20yaR5FFWvhL3poapDGNE4Y=", "owner": "nix-community", "repo": "disko", - "rev": "a838e83e21502a211b83373109a260e5ef5fbcf1", + "rev": "c1cfbfad7cb45f0c177b35b59ba67d1b5fc7ca82", "type": "github" }, "original": { @@ -105,11 +105,11 @@ ] }, "locked": { - "lastModified": 1716736833, - "narHash": "sha256-rNObca6dm7Qs524O4st8VJH6pZ/Xe1gxl+Rx6mcWYo0=", + "lastModified": 1717527182, + "narHash": "sha256-vWSkg6AMok1UUQiSYVdGMOXKD2cDFnajITiSi0Zjd1A=", "owner": "nix-community", "repo": "home-manager", - "rev": "a631666f5ec18271e86a5cde998cba68c33d9ac6", + "rev": "845a5c4c073f74105022533907703441e0464bc3", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1716213921, - "narHash": "sha256-xrsYFST8ij4QWaV6HEokCUNIZLjjLP1bYC60K8XiBVA=", + "lastModified": 1717664902, + "narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "0e8fcc54b842ad8428c9e705cb5994eaf05c26a0", + "rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1", "type": "github" }, "original": { @@ -189,11 +189,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1717281328, - "narHash": "sha256-evZPzpf59oNcDUXxh2GHcxHkTEG4fjae2ytWP85jXRo=", + "lastModified": 1717952948, + "narHash": "sha256-mJi4/gjiwQlSaxjA6AusXBN/6rQRaPCycR7bd8fydnQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b3b2b28c1daa04fe2ae47c21bb76fd226eac4ca1", + "rev": "2819fffa7fa42156680f0d282c60d81e8fb185b7", "type": "github" }, "original": { @@ -221,11 +221,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1717265169, - "narHash": "sha256-IITcGd6xpNoyq9SZBigCkv4+qMHSqot0RDPR4xsZ2CA=", + "lastModified": 1717880976, + "narHash": "sha256-BRvSCsKtDUr83NEtbGfHLUOdDK0Cgbezj2PtcHnz+sQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3b1b4895b2c5f9f5544d02132896aeb9ceea77bc", + "rev": "4913a7c3d8b8d00cb9476a6bd730ff57777f740c", "type": "github" }, "original": { @@ -237,11 +237,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1717510920, - "narHash": "sha256-rW2leqeGcK2m3DPFqxK52TocyigX0hIwEf0hN6drSXk=", + "lastModified": 1718091963, + "narHash": "sha256-ePQyPtgHdgt/EAoKtJfKdoR3YklVAcKU6kTb1k++f3c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b37b08ae04af951640a9a9fcb4d1aab54603f551", + "rev": "5b403d5f9c3dc03cc863c6c007ec5c9ed7275864", "type": "github" }, "original": { @@ -253,11 +253,11 @@ }, "nur": { "locked": { - "lastModified": 1717504708, - "narHash": "sha256-Gys2zgCYe2XGkb25hM46Oa3TAUPkay+XWUph28ciYVM=", + "lastModified": 1718094125, + "narHash": "sha256-Y2Bt+ZAGOkbbWL6x/BaXDvM3prZol13WmAr5C+MXe2g=", "owner": "nix-community", "repo": "NUR", - "rev": "4e7a2f26c246f795ee386acbdd45353c22417e89", + "rev": "d1c970b5275fb45cf32e4eff52afd798b860dbf1", "type": "github" }, "original": { @@ -279,11 +279,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1717250109, - "narHash": "sha256-MTivB5fsfaPtWwcibBhs20hHYEUe9o9bTRXsGJjQRso=", + "lastModified": 1717965289, + "narHash": "sha256-62VsS1MvwcsyYWnxxOD9rX5yqDUvMXH7qE3Kj8HECYE=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "11e97e742da5b4e43c27cfe13fca904e82fd4e56", + "rev": "304f8235fb0729fd48567af34fcd1b58d18f9b95", "type": "github" }, "original": { @@ -315,11 +315,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1717455931, - "narHash": "sha256-8Q6mKSsto8gaGczXd4G0lvawdAYLa5Dlh3/g4hl5CaM=", + "lastModified": 1718058322, + "narHash": "sha256-d5jLlAwVi4NzT9yc5UrPiOpDxTRhu8GGh0IIfeFcdrM=", "owner": "Mic92", "repo": "sops-nix", - "rev": "d4555e80d80d2fa77f0a44201ca299f9602492a0", + "rev": "d071c74a7de1e26d211b69b6fbae37ae2e31a87f", "type": "github" }, "original": { @@ -365,11 +365,11 @@ ] }, "locked": { - "lastModified": 1717182148, - "narHash": "sha256-Hi09/RoizxubRf3PHToT2Nm7TL8B/abSVa6q82uEgNI=", + "lastModified": 1717278143, + "narHash": "sha256-u10aDdYrpiGOLoxzY/mJ9llST9yO8Q7K/UlROoNxzDw=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "03b982b77df58d5974c61c6022085bafe780c1cf", + "rev": "3eb96ca1ae9edf792a8e0963cc92fddfa5a87706", "type": "github" }, "original": { From d60fad55452019341f3179824714226a753fbd88 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 13 Jun 2024 10:33:09 +0200 Subject: [PATCH 365/766] Flatten inputs --- flake.nix | 68 ++++++++++++++++++++----------------------------------- 1 file changed, 24 insertions(+), 44 deletions(-) diff --git a/flake.nix b/flake.nix index b1bdcc5..0fa2c4c 100644 --- a/flake.nix +++ b/flake.nix @@ -1,56 +1,36 @@ { inputs = { + disko.inputs.nixpkgs.follows = "nixpkgs"; + disko.url = "github:nix-community/disko"; + flake-utils.url = "github:numtide/flake-utils"; + + gomod2nix.inputs.flake-utils.follows = "flake-utils"; + gomod2nix.inputs.nixpkgs.follows = "nixpkgs"; + gomod2nix.url = "github:nix-community/gomod2nix"; + + home-manager.inputs.nixpkgs.follows = "nixpkgs"; + home-manager.url = "github:nix-community/home-manager/release-24.05"; + + krops.inputs.flake-utils.follows = "flake-utils"; + krops.inputs.nixpkgs.follows = "nixpkgs"; + krops.url = "github:Mic92/krops"; + + nix-pre-commit-hooks.inputs.nixpkgs.follows = "nixpkgs"; + nix-pre-commit-hooks.url = "github:cachix/git-hooks.nix/master"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; + nixpkgsMaster.url = "github:NixOS/nixpkgs/master"; nur.url = "github:nix-community/NUR"; - home-manager = { - url = "github:nix-community/home-manager/release-24.05"; - inputs.nixpkgs.follows = "nixpkgs"; - }; + poetry2nix.inputs.flake-utils.follows = "flake-utils"; + poetry2nix.inputs.nixpkgs.follows = "nixpkgs"; + poetry2nix.url = "github:nix-community/poetry2nix"; - nix-pre-commit-hooks = { - url = "github:cachix/git-hooks.nix/master"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - sops-nix = { - url = "github:Mic92/sops-nix"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - krops = { - url = "github:Mic92/krops"; - inputs = { - flake-utils.follows = "flake-utils"; - nixpkgs.follows = "nixpkgs"; - }; - }; - - disko = { - url = "github:nix-community/disko"; - inputs = { - nixpkgs.follows = "nixpkgs"; - }; - }; - - gomod2nix = { - url = "github:nix-community/gomod2nix"; - inputs = { - flake-utils.follows = "flake-utils"; - nixpkgs.follows = "nixpkgs"; - }; - }; - - poetry2nix = { - url = "github:nix-community/poetry2nix"; - inputs = { - flake-utils.follows = "flake-utils"; - nixpkgs.follows = "nixpkgs"; - }; - }; + sops-nix.inputs.nixpkgs.follows = "nixpkgs"; + sops-nix.url = "github:Mic92/sops-nix"; }; outputs = { self From 650bcbb2de41612efe2501967f1bc423a85477b2 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 13 Jun 2024 13:08:31 +0200 Subject: [PATCH 366/766] Add nixos-hardware --- flake.lock | 17 +++++++++++++++++ flake.nix | 5 ++++- hosts/default.nix | 6 ++++++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/flake.lock b/flake.lock index 4428b59..816b544 100644 --- a/flake.lock +++ b/flake.lock @@ -187,6 +187,22 @@ "type": "github" } }, + "nixos-hardware": { + "locked": { + "lastModified": 1718265846, + "narHash": "sha256-h4MnTID6ciFxtTvtl+ibXMKaG6iLMezCtUvKIfFG7r0=", + "owner": "nixos", + "repo": "nixos-hardware", + "rev": "d75003136c0fc94ee60e51806c2801ff572d06a6", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "master", + "repo": "nixos-hardware", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1717952948, @@ -300,6 +316,7 @@ "home-manager": "home-manager", "krops": "krops", "nix-pre-commit-hooks": "nix-pre-commit-hooks", + "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", "nixpkgsMaster": "nixpkgsMaster", "nur": "nur", diff --git a/flake.nix b/flake.nix index 0fa2c4c..fa2976f 100644 --- a/flake.nix +++ b/flake.nix @@ -19,6 +19,8 @@ nix-pre-commit-hooks.inputs.nixpkgs.follows = "nixpkgs"; nix-pre-commit-hooks.url = "github:cachix/git-hooks.nix/master"; + nixos-hardware.url = "github:nixos/nixos-hardware/master"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; nixpkgsMaster.url = "github:NixOS/nixpkgs/master"; @@ -133,6 +135,7 @@ nixosConfigurations = nixpkgs.lib.mapAttrs (hostname: { system + , extraModules ? [ ] , targetHost ? hostname , nixpkgs ? inputs.nixpkgs }: nixpkgs.lib.nixosSystem rec { @@ -169,7 +172,7 @@ home-manager.nixosModules.home-manager inputs.sops-nix.nixosModules.sops inputs.disko.nixosModules.disko - ]; + ] ++ extraModules; }) (import ./hosts inputs); }; diff --git a/hosts/default.nix b/hosts/default.nix index b6751aa..27f156e 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -1,4 +1,7 @@ { ... }@inputs: +let + hardware = inputs.nixos-hardware.nixosModules; +in { aluminium = { targetHost = "192.168.0.1"; @@ -30,5 +33,8 @@ copper = { system = "x86_64-linux"; targetHost = "copper.lan.bw.jalr.de"; + extraModules = [ + hardware.framework-16-7040-amd + ]; }; } From 53b1c122c13078e2d37d55b711c4b749b799668b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 13 Jun 2024 13:09:33 +0200 Subject: [PATCH 367/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/c1cfbfad7cb45f0c177b35b59ba67d1b5fc7ca82' (2024-06-10) → 'github:nix-community/disko/832a9f2c81ff3485404bd63952eadc17bf7ccef2' (2024-06-13) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/2819fffa7fa42156680f0d282c60d81e8fb185b7' (2024-06-09) → 'github:nixos/nixpkgs/cc54fb41d13736e92229c21627ea4f22199fee6b' (2024-06-12) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/5b403d5f9c3dc03cc863c6c007ec5c9ed7275864' (2024-06-11) → 'github:NixOS/nixpkgs/b17538d34de26bf52626a9caff104a267abd991a' (2024-06-13) • Updated input 'nur': 'github:nix-community/NUR/d1c970b5275fb45cf32e4eff52afd798b860dbf1' (2024-06-11) → 'github:nix-community/NUR/90bcce2a42dec3c29e4a882cec70b370d714fa31' (2024-06-13) • Updated input 'sops-nix': 'github:Mic92/sops-nix/d071c74a7de1e26d211b69b6fbae37ae2e31a87f' (2024-06-10) → 'github:Mic92/sops-nix/c279dec105dd53df13a5e57525da97905cc0f0d6' (2024-06-11) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 816b544..ea56a86 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1718008439, - "narHash": "sha256-nlh/2uD5p2SAdkn6Zuey20yaR5FFWvhL3poapDGNE4Y=", + "lastModified": 1718242063, + "narHash": "sha256-n3AWItJ4a94GT0cray/eUV7tt3mulQ52L+lWJN9d1E8=", "owner": "nix-community", "repo": "disko", - "rev": "c1cfbfad7cb45f0c177b35b59ba67d1b5fc7ca82", + "rev": "832a9f2c81ff3485404bd63952eadc17bf7ccef2", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1717952948, - "narHash": "sha256-mJi4/gjiwQlSaxjA6AusXBN/6rQRaPCycR7bd8fydnQ=", + "lastModified": 1718208800, + "narHash": "sha256-US1tAChvPxT52RV8GksWZS415tTS7PV42KTc2PNDBmc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2819fffa7fa42156680f0d282c60d81e8fb185b7", + "rev": "cc54fb41d13736e92229c21627ea4f22199fee6b", "type": "github" }, "original": { @@ -253,11 +253,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1718091963, - "narHash": "sha256-ePQyPtgHdgt/EAoKtJfKdoR3YklVAcKU6kTb1k++f3c=", + "lastModified": 1718276662, + "narHash": "sha256-p0KXZc6ekKXwYcMeyS5Hs9uTQKoSDkJW1QDf0gkilLk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5b403d5f9c3dc03cc863c6c007ec5c9ed7275864", + "rev": "b17538d34de26bf52626a9caff104a267abd991a", "type": "github" }, "original": { @@ -269,11 +269,11 @@ }, "nur": { "locked": { - "lastModified": 1718094125, - "narHash": "sha256-Y2Bt+ZAGOkbbWL6x/BaXDvM3prZol13WmAr5C+MXe2g=", + "lastModified": 1718276606, + "narHash": "sha256-3yL4mmgQL/WfUK/FZrjO6kYK2CRhfL/7+K1G83Lfigs=", "owner": "nix-community", "repo": "NUR", - "rev": "d1c970b5275fb45cf32e4eff52afd798b860dbf1", + "rev": "90bcce2a42dec3c29e4a882cec70b370d714fa31", "type": "github" }, "original": { @@ -332,11 +332,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1718058322, - "narHash": "sha256-d5jLlAwVi4NzT9yc5UrPiOpDxTRhu8GGh0IIfeFcdrM=", + "lastModified": 1718137936, + "narHash": "sha256-psA+1Q5fPaK6yI3vzlLINNtb6EeXj111zQWnZYyJS9c=", "owner": "Mic92", "repo": "sops-nix", - "rev": "d071c74a7de1e26d211b69b6fbae37ae2e31a87f", + "rev": "c279dec105dd53df13a5e57525da97905cc0f0d6", "type": "github" }, "original": { From 87c0dfba58c107a2c79380a9b08ac64c4571f44b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 13 Jun 2024 13:42:24 +0200 Subject: [PATCH 368/766] Add overlay to REPL --- justfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/justfile b/justfile index b8d309c..715cff1 100644 --- a/justfile +++ b/justfile @@ -19,10 +19,10 @@ repl: nix repl --expr "\ let \ flake = builtins.getFlake \"$(git rev-parse --show-toplevel)\"; in \ - flake // { \ - lib = flake.inputs.nixpkgs.lib; \ - pkgs = flake.inputs.nixpkgs.legacyPackages."\${builtins.currentSystem}"; \ - } \ + flake // (with flake; { \ + lib = inputs.nixpkgs.lib; \ + pkgs = inputs.nixpkgs.legacyPackages."\${builtins.currentSystem}".extend(import ./pkgs inputs); \ + }) \ " luks-pass host: From 70e35c324905d0a1775528879f1ab16fe048fdea Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 13 Jun 2024 13:49:29 +0200 Subject: [PATCH 369/766] Remove commented session variables --- users/jalr/modules/sway/default.nix | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/users/jalr/modules/sway/default.nix b/users/jalr/modules/sway/default.nix index 0e34c15..7e9286f 100644 --- a/users/jalr/modules/sway/default.nix +++ b/users/jalr/modules/sway/default.nix @@ -61,19 +61,6 @@ in _JAVA_AWT_WM_NONREPARENTING = "1"; }; - #home.sessionVariables = { - # CLUTTER_BACKEND = "wayland"; - # GDK_BACKEND = "wayland"; - # GDK_DPI_SCALE = 1; - # MOZ_ENABLE_WAYLAND = 1; - # QT_QPA_PLATFORM = "wayland-egl"; - # QT_WAYLAND_DISABLE_WINDOWDECORATION = 1; - # SDL_VIDEODRIVER = "wayland"; - # WLR_NO_HARDWARE_CURSORS = 1; - # _JAVA_AWT_WM_NONREPARENTING = 1; - # _JAVA_OPTIONS = "-Dawt.useSystemAAFontSettings=on"; - #}; - programs.fish.loginShellInit = '' if [ -z $WAYLAND_DISPLAY ] && [ (tty) = /dev/tty1 ] export XDG_SESSION_TYPE="wayland" # otherwise set to tty From 2054adbea601e5b3167f13adf3d3eec440dac3e3 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 13 Jun 2024 13:51:33 +0200 Subject: [PATCH 370/766] Remove environment variables These are already set with home-manager. --- modules/sway.nix | 9 --------- 1 file changed, 9 deletions(-) diff --git a/modules/sway.nix b/modules/sway.nix index f534f18..dda11f2 100644 --- a/modules/sway.nix +++ b/modules/sway.nix @@ -12,15 +12,6 @@ lib.mkIf (config.jalr.gui.enable && config.jalr.gui.desktop == "sway") { wl-clipboard xwayland ]; - extraSessionCommands = '' - export XKB_DEFAULT_LAYOUT=de # TODO: test if we need it - export XKB_DEFAULT_VARIANT=neo # TODO: test if we need it - export QT_QPA_PLATFORM=wayland - export QT_WAYLAND_DISABLE_WINDOWDECORATION=1 - export ELM_ENGINE=wayland_shm - export GDK_BACKEND=wayland - export _JAVA_AWT_WM_NONREPARENTING=1 - ''; }; xdg = { From 12463fc3b11c6c7855d34c2fec3aa23cd5e770b0 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 13 Jun 2024 13:53:15 +0200 Subject: [PATCH 371/766] Move polkit enabling to sway module As it is currently only required by sway. --- modules/default.nix | 2 -- modules/sway.nix | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/default.nix b/modules/default.nix index 321ff67..bd73bc6 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -67,8 +67,6 @@ ]; }; - security.polkit.enable = true; - security.acme = { acceptTerms = true; defaults = { diff --git a/modules/sway.nix b/modules/sway.nix index dda11f2..b6e9b4f 100644 --- a/modules/sway.nix +++ b/modules/sway.nix @@ -14,6 +14,8 @@ lib.mkIf (config.jalr.gui.enable && config.jalr.gui.desktop == "sway") { ]; }; + security.polkit.enable = true; + xdg = { portal = { enable = true; From 4f5d6c44562177d7ab95faf8a6c7dbb4ffde4170 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 13 Jun 2024 13:54:58 +0200 Subject: [PATCH 372/766] Manage sway extra packages in home-manager module --- modules/sway.nix | 11 ++--------- users/jalr/modules/sway/default.nix | 6 +++++- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/modules/sway.nix b/modules/sway.nix index b6e9b4f..5ffba51 100644 --- a/modules/sway.nix +++ b/modules/sway.nix @@ -3,15 +3,8 @@ lib.mkIf (config.jalr.gui.enable && config.jalr.gui.desktop == "sway") { programs.sway = { enable = true; - # FIXME: move to home manager - extraPackages = with pkgs; [ - grim - mako - gammastep - slurp - wl-clipboard - xwayland - ]; + xwayland.enable = true; + wrapperFeatures.gtk = true; }; security.polkit.enable = true; diff --git a/users/jalr/modules/sway/default.nix b/users/jalr/modules/sway/default.nix index 7e9286f..52e7600 100644 --- a/users/jalr/modules/sway/default.nix +++ b/users/jalr/modules/sway/default.nix @@ -47,9 +47,13 @@ in ]; } // (lib.mkIf nixosConfig.jalr.gui.enable { home.packages = with pkgs; [ + gsettings + swappy # screenshot editing sway-contrib.grimshot # screenshots wdisplays # graphical output manager - gsettings + mako + slurp + wl-clipboard ]; home.sessionVariables = { From 28acb6e48cab547d2f84ccb365c3044dbeab1639 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 13 Jun 2024 13:55:27 +0200 Subject: [PATCH 373/766] Improve sway performance --- modules/sway.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/sway.nix b/modules/sway.nix index 5ffba51..a35ca05 100644 --- a/modules/sway.nix +++ b/modules/sway.nix @@ -7,8 +7,17 @@ lib.mkIf (config.jalr.gui.enable && config.jalr.gui.desktop == "sway") { wrapperFeatures.gtk = true; }; + hardware.opengl.enable = true; + security.polkit.enable = true; + security.pam.loginLimits = [{ + domain = "@users"; + item = "rtprio"; + type = "-"; + value = 1; + }]; + xdg = { portal = { enable = true; From 6319bc0b460b78a48e7f3ef4da48c43881dd4431 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 13 Jun 2024 14:55:01 +0200 Subject: [PATCH 374/766] Add ots --- users/jalr/modules/default.nix | 1 + users/jalr/modules/ots.nix | 52 ++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 users/jalr/modules/ots.nix diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index e656fa4..f9b1fdf 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -25,6 +25,7 @@ ./nix-index.nix ./obs-studio ./openscad.nix + ./ots.nix ./pass.nix ./pcmanfm.nix ./python.nix diff --git a/users/jalr/modules/ots.nix b/users/jalr/modules/ots.nix new file mode 100644 index 0000000..68369e2 --- /dev/null +++ b/users/jalr/modules/ots.nix @@ -0,0 +1,52 @@ +{ lib, pkgs, ... }: + +let + configFile = "ots/ots.json"; +in +{ + home.packages = [ + ( + pkgs.writeShellScriptBin "ots" '' + set -e + set -o nounset + + args=() + region="" + new="" + while [[ $# -gt 0 ]]; do + case "$1" in + new) + new=1 + args+=("$1"); shift + ;; + --region|--region=*) + region=1 + args+=("$1"); shift + ;; + *) + args+=("$1"); shift + ;; + esac + done + + if [[ $new && ! $region ]]; then + args+=("--region" "eu-central-1") + fi + + exec ${pkgs.ots}/bin/ots "''${args[@]}" + '' + ) + ]; + + /* + xdg.configFile."${configFile}".text = lib.generators.toJSON {} ( + let + region = "eu-central-1"; + in + { + apiUrl = "https://ots.${region}.api.sniptt.com/secrets"; + apiKey = ""; + } + ); + */ +} From 9de22b40267355d360d40f4e3a5a6a2376c22e75 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 14 Jun 2024 13:10:10 +0200 Subject: [PATCH 375/766] Use option to make neovim the default editor --- users/jalr/modules/neovim.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/users/jalr/modules/neovim.nix b/users/jalr/modules/neovim.nix index 1c6f2ed..d85aad4 100644 --- a/users/jalr/modules/neovim.nix +++ b/users/jalr/modules/neovim.nix @@ -1,11 +1,9 @@ { lib, nixosConfig, config, pkgs, ... }: { - home.sessionVariables = { - EDITOR = "nvim"; - }; programs.neovim = { enable = true; vimAlias = true; + defaultEditor = true; extraConfig = '' " use space as leader let mapleader = " " From 0ba830ca4daa6805053320b9755cda8b31a44eac Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 14 Jun 2024 13:11:18 +0200 Subject: [PATCH 376/766] Set leader key first extraConfig is included after the plugin config => Let's create a fake plugin derivation, so that we can use it to set configuration before the plugin configurations. --- users/jalr/modules/neovim.nix | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/users/jalr/modules/neovim.nix b/users/jalr/modules/neovim.nix index d85aad4..479db89 100644 --- a/users/jalr/modules/neovim.nix +++ b/users/jalr/modules/neovim.nix @@ -1,13 +1,14 @@ { lib, nixosConfig, config, pkgs, ... }: + +let + fakePlugin = pkgs.runCommand "neovim-fake-plugin" { } "mkdir $out"; +in { programs.neovim = { enable = true; vimAlias = true; defaultEditor = true; extraConfig = '' - " use space as leader - let mapleader = " " - colorscheme NeoSolarized """"""""""""""""" @@ -66,8 +67,17 @@ lua require('init') ''; + plugins = [ + { + plugin = fakePlugin; + config = '' + " use space as leader + let mapleader = " " + ''; + } + ] ++ # nix-env -f '' -qaP -A vimPlugins - plugins = with pkgs.vimPlugins; [ + (with pkgs.vimPlugins; [ #Valloric/MatchTagAlways #frankier/neovim-colors-solarized-truecolor-only #nvie/vim-rst-tables @@ -86,7 +96,7 @@ config = "lua require('lsp_signature').setup()"; } ) - ]; + ]); }; xdg.configFile."nvim/lua/init.lua".text = builtins.concatStringsSep "\n" ( From 0c914775ad682a96f0c6a9bd72a92b5fdeb4fed8 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 14 Jun 2024 13:12:58 +0200 Subject: [PATCH 377/766] Add telescope-nvim --- users/jalr/modules/neovim.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/users/jalr/modules/neovim.nix b/users/jalr/modules/neovim.nix index 479db89..d2dbe58 100644 --- a/users/jalr/modules/neovim.nix +++ b/users/jalr/modules/neovim.nix @@ -85,6 +85,15 @@ in deoplete-nvim editorconfig-vim nvim-lspconfig + { + plugin = telescope-nvim; + config = '' + lua require('telescope').setup() + nnoremap Telescope find_files + nnoremap Telescope live_grep + nnoremap Telescope buffers + ''; + } vim-gitgutter vim-indent-guides vim-nix From 2fef51b00b6a12c2f582b1a87789721a15492af7 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 14 Jun 2024 13:13:12 +0200 Subject: [PATCH 378/766] Add fd --- users/jalr/modules/cli/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/users/jalr/modules/cli/default.nix b/users/jalr/modules/cli/default.nix index caae5d3..82cb395 100644 --- a/users/jalr/modules/cli/default.nix +++ b/users/jalr/modules/cli/default.nix @@ -8,6 +8,7 @@ home.packages = with pkgs; [ cached-nix-shell eza + fd file inetutils jq From 28b8b8f6291b04b29f343b9163549020ae992ec2 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 14 Jun 2024 16:27:07 +0200 Subject: [PATCH 379/766] Add sponsorblock extension --- users/jalr/modules/firefox/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/users/jalr/modules/firefox/default.nix b/users/jalr/modules/firefox/default.nix index d82c31f..9f40008 100644 --- a/users/jalr/modules/firefox/default.nix +++ b/users/jalr/modules/firefox/default.nix @@ -268,6 +268,7 @@ isDefault = true; extensions = with pkgs.nur.repos.rycee.firefox-addons; [ darkreader + sponsorblock tree-style-tab ublock-origin umatrix From bfd6fd64bfc816ed30dba6bf1b72b715e0f567eb Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 14 Jun 2024 16:27:21 +0200 Subject: [PATCH 380/766] Add youtube-shorts-block extension --- users/jalr/modules/firefox/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/users/jalr/modules/firefox/default.nix b/users/jalr/modules/firefox/default.nix index 9f40008..228c4db 100644 --- a/users/jalr/modules/firefox/default.nix +++ b/users/jalr/modules/firefox/default.nix @@ -273,6 +273,7 @@ ublock-origin umatrix violentmonkey + youtube-shorts-block ]; settings = { #"browser.startup.homepage" = "https://nixos.org"; From b3ea8ca1a76d6f614b692755c231290274e40c2a Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 14 Jun 2024 22:59:08 +0200 Subject: [PATCH 381/766] Switch to terraform-ls as terraform-lsp does not recognize newer language features like the `one` function. --- users/jalr/modules/neovim.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/users/jalr/modules/neovim.nix b/users/jalr/modules/neovim.nix index d2dbe58..f2b216d 100644 --- a/users/jalr/modules/neovim.nix +++ b/users/jalr/modules/neovim.nix @@ -186,8 +186,8 @@ in }; # Terraform - terraform_lsp = { - cmd = [ "${pkgs.terraform-lsp}/bin/terraform-lsp" "serve" ]; + terraformls = { + cmd = [ "${pkgs.terraform-ls}/bin/terraform-ls" "serve" ]; }; # YAML From 2b31ea0a82b56ea09ca5fb062ffceff55a927d57 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 16 Jun 2024 12:26:31 +0200 Subject: [PATCH 382/766] Hide forward-button as well --- users/jalr/modules/firefox/userChrome.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/users/jalr/modules/firefox/userChrome.css b/users/jalr/modules/firefox/userChrome.css index 291b8f8..889027a 100644 --- a/users/jalr/modules/firefox/userChrome.css +++ b/users/jalr/modules/firefox/userChrome.css @@ -239,7 +239,7 @@ url(chrome://browser/content/browser.xhtml) { } /* Hide back & forward buttons */ - toolbarbutton#back-button { + toolbarbutton#back-button, toolbarbutton#forward-button { display: none; } } From 9663b395ce97c438241d8463dafd7abd02e9ea5d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 18 Jun 2024 13:23:47 +0200 Subject: [PATCH 383/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/832a9f2c81ff3485404bd63952eadc17bf7ccef2' (2024-06-13) → 'github:nix-community/disko/8262659fc990cecdf6a8de74c3de7b6ec58c2276' (2024-06-17) • Updated input 'home-manager': 'github:nix-community/home-manager/845a5c4c073f74105022533907703441e0464bc3' (2024-06-04) → 'github:nix-community/home-manager/a1fddf0967c33754271761d91a3d921772b30d0e' (2024-06-16) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/d75003136c0fc94ee60e51806c2801ff572d06a6' (2024-06-13) → 'github:nixos/nixos-hardware/cde8f7e11f036160b0fd6a9e07dc4c8e4061cf06' (2024-06-16) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/cc54fb41d13736e92229c21627ea4f22199fee6b' (2024-06-12) → 'github:nixos/nixpkgs/752c634c09ceb50c45e751f8791cb45cb3d46c9e' (2024-06-15) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/b17538d34de26bf52626a9caff104a267abd991a' (2024-06-13) → 'github:NixOS/nixpkgs/3ef6d6e20f04c11b54321019286fbe7b4993081e' (2024-06-18) • Updated input 'nur': 'github:nix-community/NUR/90bcce2a42dec3c29e4a882cec70b370d714fa31' (2024-06-13) → 'github:nix-community/NUR/4f50a4040a3426e2257d35350e8f0fdc4eb2d9fe' (2024-06-18) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/304f8235fb0729fd48567af34fcd1b58d18f9b95' (2024-06-09) → 'github:nix-community/poetry2nix/3f2540f372429e99eb61e305e9aa942c63418504' (2024-06-18) • Updated input 'poetry2nix/treefmt-nix': 'github:numtide/treefmt-nix/3eb96ca1ae9edf792a8e0963cc92fddfa5a87706' (2024-06-01) → 'github:numtide/treefmt-nix/68eb1dc333ce82d0ab0c0357363ea17c31ea1f81' (2024-06-16) • Updated input 'sops-nix': 'github:Mic92/sops-nix/c279dec105dd53df13a5e57525da97905cc0f0d6' (2024-06-11) → 'github:Mic92/sops-nix/797ce4c1f45a85df6dd3d9abdc53f2691bea9251' (2024-06-16) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/4913a7c3d8b8d00cb9476a6bd730ff57777f740c' (2024-06-08) → 'github:NixOS/nixpkgs/c884223af91820615a6146af1ae1fea25c107005' (2024-06-15) --- flake.lock | 60 +++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/flake.lock b/flake.lock index ea56a86..322671d 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1718242063, - "narHash": "sha256-n3AWItJ4a94GT0cray/eUV7tt3mulQ52L+lWJN9d1E8=", + "lastModified": 1718588625, + "narHash": "sha256-8ZbrJq1jcmyzJ4SDkvd8JOZD4/fNUHpL4cpqVe4w3CU=", "owner": "nix-community", "repo": "disko", - "rev": "832a9f2c81ff3485404bd63952eadc17bf7ccef2", + "rev": "8262659fc990cecdf6a8de74c3de7b6ec58c2276", "type": "github" }, "original": { @@ -105,11 +105,11 @@ ] }, "locked": { - "lastModified": 1717527182, - "narHash": "sha256-vWSkg6AMok1UUQiSYVdGMOXKD2cDFnajITiSi0Zjd1A=", + "lastModified": 1718530513, + "narHash": "sha256-BmO8d0r+BVlwWtMLQEYnwmngqdXIuyFzMwvmTcLMee8=", "owner": "nix-community", "repo": "home-manager", - "rev": "845a5c4c073f74105022533907703441e0464bc3", + "rev": "a1fddf0967c33754271761d91a3d921772b30d0e", "type": "github" }, "original": { @@ -189,11 +189,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1718265846, - "narHash": "sha256-h4MnTID6ciFxtTvtl+ibXMKaG6iLMezCtUvKIfFG7r0=", + "lastModified": 1718548414, + "narHash": "sha256-1obyIuQPR/Kq1j5/i/5EuAfQrDwjYnjCDG8iLtXmBhQ=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "d75003136c0fc94ee60e51806c2801ff572d06a6", + "rev": "cde8f7e11f036160b0fd6a9e07dc4c8e4061cf06", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1718208800, - "narHash": "sha256-US1tAChvPxT52RV8GksWZS415tTS7PV42KTc2PNDBmc=", + "lastModified": 1718437845, + "narHash": "sha256-ZT7Oc1g4I4pHVGGjQFnewFVDRLH5cIZhEzODLz9YXeY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "cc54fb41d13736e92229c21627ea4f22199fee6b", + "rev": "752c634c09ceb50c45e751f8791cb45cb3d46c9e", "type": "github" }, "original": { @@ -237,11 +237,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1717880976, - "narHash": "sha256-BRvSCsKtDUr83NEtbGfHLUOdDK0Cgbezj2PtcHnz+sQ=", + "lastModified": 1718478900, + "narHash": "sha256-v43N1gZLcGkhg3PdcrKUNIZ1L0FBzB2JqhIYEyKAHEs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4913a7c3d8b8d00cb9476a6bd730ff57777f740c", + "rev": "c884223af91820615a6146af1ae1fea25c107005", "type": "github" }, "original": { @@ -253,11 +253,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1718276662, - "narHash": "sha256-p0KXZc6ekKXwYcMeyS5Hs9uTQKoSDkJW1QDf0gkilLk=", + "lastModified": 1718709602, + "narHash": "sha256-3FrviFpJCl0WO0Cp4k+SMSKlqFPienMGxssr0lAswpo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b17538d34de26bf52626a9caff104a267abd991a", + "rev": "3ef6d6e20f04c11b54321019286fbe7b4993081e", "type": "github" }, "original": { @@ -269,11 +269,11 @@ }, "nur": { "locked": { - "lastModified": 1718276606, - "narHash": "sha256-3yL4mmgQL/WfUK/FZrjO6kYK2CRhfL/7+K1G83Lfigs=", + "lastModified": 1718703915, + "narHash": "sha256-PT4FT+JbQA2eRxKmrOhlTAGYctfCR1oGxSbCJ8521q8=", "owner": "nix-community", "repo": "NUR", - "rev": "90bcce2a42dec3c29e4a882cec70b370d714fa31", + "rev": "4f50a4040a3426e2257d35350e8f0fdc4eb2d9fe", "type": "github" }, "original": { @@ -295,11 +295,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1717965289, - "narHash": "sha256-62VsS1MvwcsyYWnxxOD9rX5yqDUvMXH7qE3Kj8HECYE=", + "lastModified": 1718708370, + "narHash": "sha256-pUfmjLFM7q/TsYTGgzJKtYgKx42/UdMdUF7CpM4F89A=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "304f8235fb0729fd48567af34fcd1b58d18f9b95", + "rev": "3f2540f372429e99eb61e305e9aa942c63418504", "type": "github" }, "original": { @@ -332,11 +332,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1718137936, - "narHash": "sha256-psA+1Q5fPaK6yI3vzlLINNtb6EeXj111zQWnZYyJS9c=", + "lastModified": 1718506969, + "narHash": "sha256-Pm9I/BMQHbsucdWf6y9G3xBZh3TMlThGo4KBbeoeczg=", "owner": "Mic92", "repo": "sops-nix", - "rev": "c279dec105dd53df13a5e57525da97905cc0f0d6", + "rev": "797ce4c1f45a85df6dd3d9abdc53f2691bea9251", "type": "github" }, "original": { @@ -382,11 +382,11 @@ ] }, "locked": { - "lastModified": 1717278143, - "narHash": "sha256-u10aDdYrpiGOLoxzY/mJ9llST9yO8Q7K/UlROoNxzDw=", + "lastModified": 1718522839, + "narHash": "sha256-ULzoKzEaBOiLRtjeY3YoGFJMwWSKRYOic6VNw2UyTls=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "3eb96ca1ae9edf792a8e0963cc92fddfa5a87706", + "rev": "68eb1dc333ce82d0ab0c0357363ea17c31ea1f81", "type": "github" }, "original": { From 749710bbfb5b9e1162fd0a46d905bb515ba0344e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 19 Jun 2024 00:29:59 +0200 Subject: [PATCH 384/766] Add screenshare script --- users/jalr/modules/sway/default.nix | 1 + users/jalr/modules/sway/screenshare.nix | 55 +++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 users/jalr/modules/sway/screenshare.nix diff --git a/users/jalr/modules/sway/default.nix b/users/jalr/modules/sway/default.nix index 52e7600..cdc6614 100644 --- a/users/jalr/modules/sway/default.nix +++ b/users/jalr/modules/sway/default.nix @@ -40,6 +40,7 @@ in { imports = lib.optionals nixosConfig.jalr.gui.enable [ ./gammastep.nix + ./screenshare.nix ./waybar.nix ./wofi.nix ./wofi-bluetooth.nix diff --git a/users/jalr/modules/sway/screenshare.nix b/users/jalr/modules/sway/screenshare.nix new file mode 100644 index 0000000..c5a21d6 --- /dev/null +++ b/users/jalr/modules/sway/screenshare.nix @@ -0,0 +1,55 @@ +{ pkgs, ... }: +{ + home.packages = [ + ( + pkgs.writeShellScriptBin "screenshare" '' + # https://github.com/emersion/xdg-desktop-portal-wlr/issues/107 + + case "$1" in + start) + # Step 1: Create a new output + swaymsg create_output + + # Step 2: Find the name of the newly created output + NEW_OUTPUT=$(swaymsg -t get_outputs | jq -r '.[] | select(.name | startswith("HEADLESS-")) | .name' | sort | tail -n 1) + + # Check if the output was successfully created + if [ -z "$NEW_OUTPUT" ]; then + echo "Failed to create a new output." + exit 1 + fi + + # Step 3: Assign a workspace to the new output + swaymsg workspace sshr output "$NEW_OUTPUT" + + # Step 4: Set the resolution for the new output + swaymsg output "$NEW_OUTPUT" resolution 1280x720 + + # Step 5: Set the background color for the new output + swaymsg output "$NEW_OUTPUT" bg "#220900" solid_color + + # Step 6: Switch to workspace sshr and then back to the previous workspace + CURRENT_WORKSPACE=$(swaymsg -t get_workspaces | jq -r '.[] | select(.focused) | .name') + swaymsg workspace sshr + swaymsg workspace "$CURRENT_WORKSPACE" + ;; + stop) + headless_outputs=$(swaymsg -t get_outputs | jq -r '.[] | select(.name | startswith("HEADLESS-")) | .name') + + # Check if there are any HEADLESS outputs + if [ -z "$headless_outputs" ]; then + echo "No HEADLESS outputs found." + exit 0 + fi + + # Unplug each HEADLESS output + for output in $headless_outputs; do + echo "Unplugging $output..." + swaymsg output "$output" unplug + done + ;; + esac + '' + ) + ]; +} From e27557693ae11c6214c15d36a937284c1810247a Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 19 Jun 2024 00:33:39 +0200 Subject: [PATCH 385/766] Add wl-mirror --- users/jalr/modules/sway/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/users/jalr/modules/sway/default.nix b/users/jalr/modules/sway/default.nix index cdc6614..6712c0a 100644 --- a/users/jalr/modules/sway/default.nix +++ b/users/jalr/modules/sway/default.nix @@ -49,12 +49,13 @@ in } // (lib.mkIf nixosConfig.jalr.gui.enable { home.packages = with pkgs; [ gsettings + mako + slurp swappy # screenshot editing sway-contrib.grimshot # screenshots wdisplays # graphical output manager - mako - slurp wl-clipboard + wl-mirror ]; home.sessionVariables = { From bc8041f605b0f543deebf2c04a2d7cf3aeeb67ac Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 19 Jun 2024 12:57:46 +0200 Subject: [PATCH 386/766] Hide waybar on output `HEADLESS-1` --- users/jalr/modules/sway/waybar.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/users/jalr/modules/sway/waybar.nix b/users/jalr/modules/sway/waybar.nix index 5f9c2f5..f388388 100644 --- a/users/jalr/modules/sway/waybar.nix +++ b/users/jalr/modules/sway/waybar.nix @@ -24,6 +24,10 @@ in # home-manager’s waybar module performs additional checks that are overly strict xdg.configFile."waybar/config".text = lib.generators.toJSON { } { layer = "top"; + output = [ + "!HEADLESS-1" + "*" + ]; position = "top"; height = 24; From 5f3d72d12abfe1ceefd83cd127e39ddf4c6ea2ae Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 19 Jun 2024 12:57:04 +0200 Subject: [PATCH 387/766] Add lazygit --- users/jalr/modules/git.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/users/jalr/modules/git.nix b/users/jalr/modules/git.nix index d6acd8b..1090f43 100644 --- a/users/jalr/modules/git.nix +++ b/users/jalr/modules/git.nix @@ -22,6 +22,9 @@ }; lfs.enable = true; }; + lazygit = { + enable = true; + }; fish = { shellAbbrs = { ga = "git add"; @@ -58,6 +61,7 @@ gswc = "git switch -c"; gwl = "git worktree list"; gwr = "git worktree remove"; + lg = "lazygit"; }; functions = { #function gwa -d 'git worktree add' From 5607e43c50083b994abb4b34c4822e53883e0e1c Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 19 Jun 2024 12:57:13 +0200 Subject: [PATCH 388/766] Remove tig --- users/jalr/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/users/jalr/default.nix b/users/jalr/default.nix index ae1253d..5541c6b 100644 --- a/users/jalr/default.nix +++ b/users/jalr/default.nix @@ -55,7 +55,6 @@ in nmap psutils pwgen - tig ]; accounts.email.accounts = { From ea16e50463c6ea82c9a7671dfb0fb61de5fff538 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 19 Jun 2024 13:26:29 +0200 Subject: [PATCH 389/766] Add icons to eza --- users/jalr/modules/fish.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/users/jalr/modules/fish.nix b/users/jalr/modules/fish.nix index 70d1c74..fa0b7e1 100644 --- a/users/jalr/modules/fish.nix +++ b/users/jalr/modules/fish.nix @@ -65,11 +65,11 @@ # fancy tools if which eza > /dev/null 2>&1 - abbr --add l eza - abbr --add ll 'eza -l --time-style=long-iso --git' - abbr --add la 'eza -la --time-style=long-iso --git' - abbr --add tree 'eza --tree' - abbr --add llt 'eza -s modified -l' + abbr --add l eza --icons + abbr --add ll 'eza -l --time-style=long-iso --git --icons' + abbr --add la 'eza -la --time-style=long-iso --git --icons' + abbr --add tree 'eza --tree --icons' + abbr --add llt 'eza -s modified -l --icons' else abbr --add l ls abbr --add ll 'ls -l' From 4d7a9dc44f90a9a515ae5b7ed5154b68a0fb4a61 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 19 Jun 2024 13:36:08 +0200 Subject: [PATCH 390/766] Use home-manager option for eza --- users/jalr/modules/cli/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/users/jalr/modules/cli/default.nix b/users/jalr/modules/cli/default.nix index 82cb395..978c846 100644 --- a/users/jalr/modules/cli/default.nix +++ b/users/jalr/modules/cli/default.nix @@ -7,7 +7,6 @@ config = { home.packages = with pkgs; [ cached-nix-shell - eza fd file inetutils @@ -25,5 +24,7 @@ wget yt-dlp ]); + + programs.eza.enable = true; }; } From 02476ebba6f82d2bc1a27919ade37cde23cf0e94 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 19 Jun 2024 13:36:38 +0200 Subject: [PATCH 391/766] Add `ls` alias to eza if it is enabled --- users/jalr/modules/fish.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/users/jalr/modules/fish.nix b/users/jalr/modules/fish.nix index fa0b7e1..f9c2cf2 100644 --- a/users/jalr/modules/fish.nix +++ b/users/jalr/modules/fish.nix @@ -28,7 +28,7 @@ } ]; shellAliases = { - ls = "ls --color=auto"; + ls = if config.programs.eza.enable then "eza --git --icons" else "ls --color=auto"; crontab = "crontab -i"; }; From 177c024d0a5141374b3b42ee8e16cec2ee6eb962 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 23 Jun 2024 20:05:57 +0200 Subject: [PATCH 392/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/8262659fc990cecdf6a8de74c3de7b6ec58c2276' (2024-06-17) → 'github:nix-community/disko/e1174d991944a01eaaa04bc59c6281edca4c0e6e' (2024-06-20) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/cc4d466cb1254af050ff7bdf47f6d404a7c646d1' (2024-06-06) → 'github:cachix/git-hooks.nix/8cd35b9496d21a6c55164d8547d9d5280162b07a' (2024-06-20) • Updated input 'nix-pre-commit-hooks/nixpkgs-stable': 'github:NixOS/nixpkgs/614b4613980a522ba49f0d194531beddbb7220d3' (2024-03-17) → 'github:NixOS/nixpkgs/842253bf992c3a7157b67600c2857193f126563a' (2024-06-15) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/cde8f7e11f036160b0fd6a9e07dc4c8e4061cf06' (2024-06-16) → 'github:nixos/nixos-hardware/c3e48cbd88414f583ff08804eb57b0da4c194f9e' (2024-06-23) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/752c634c09ceb50c45e751f8791cb45cb3d46c9e' (2024-06-15) → 'github:nixos/nixpkgs/dd457de7e08c6d06789b1f5b88fc9327f4d96309' (2024-06-19) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/3ef6d6e20f04c11b54321019286fbe7b4993081e' (2024-06-18) → 'github:NixOS/nixpkgs/e0ba5d6aaf27ed0deb1ad168bd151a6fd23634f1' (2024-06-23) • Updated input 'nur': 'github:nix-community/NUR/4f50a4040a3426e2257d35350e8f0fdc4eb2d9fe' (2024-06-18) → 'github:nix-community/NUR/72137385988d41b40f749b9203f9ba831f4fbe04' (2024-06-23) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/3f2540f372429e99eb61e305e9aa942c63418504' (2024-06-18) → 'github:nix-community/poetry2nix/5392004e2b350afda0dd5e92ccd53ab9b1261947' (2024-06-20) • Updated input 'sops-nix': 'github:Mic92/sops-nix/797ce4c1f45a85df6dd3d9abdc53f2691bea9251' (2024-06-16) → 'github:Mic92/sops-nix/5e2e9421e9ed2b918be0a441c4535cfa45e04811' (2024-06-23) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/c884223af91820615a6146af1ae1fea25c107005' (2024-06-15) → 'github:NixOS/nixpkgs/5e8e3b89adbd0be63192f6e645e0a54080004924' (2024-06-22) --- flake.lock | 60 +++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/flake.lock b/flake.lock index 322671d..473ab19 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1718588625, - "narHash": "sha256-8ZbrJq1jcmyzJ4SDkvd8JOZD4/fNUHpL4cpqVe4w3CU=", + "lastModified": 1718846788, + "narHash": "sha256-9dtXYtEkmXoUJV+PGLqscqF7qTn4AIhAKpFWRFU2NYs=", "owner": "nix-community", "repo": "disko", - "rev": "8262659fc990cecdf6a8de74c3de7b6ec58c2276", + "rev": "e1174d991944a01eaaa04bc59c6281edca4c0e6e", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1717664902, - "narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=", + "lastModified": 1718879355, + "narHash": "sha256-RTyqP4fBX2MdhNuMP+fnR3lIwbdtXhyj7w7fwtvgspc=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1", + "rev": "8cd35b9496d21a6c55164d8547d9d5280162b07a", "type": "github" }, "original": { @@ -189,11 +189,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1718548414, - "narHash": "sha256-1obyIuQPR/Kq1j5/i/5EuAfQrDwjYnjCDG8iLtXmBhQ=", + "lastModified": 1719145664, + "narHash": "sha256-+0bBlerLxsHUJcKPDWZM1wL3V9bzCFjz+VyRTG8fnUA=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "cde8f7e11f036160b0fd6a9e07dc4c8e4061cf06", + "rev": "c3e48cbd88414f583ff08804eb57b0da4c194f9e", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1718437845, - "narHash": "sha256-ZT7Oc1g4I4pHVGGjQFnewFVDRLH5cIZhEzODLz9YXeY=", + "lastModified": 1718835956, + "narHash": "sha256-wM9v2yIxClRYsGHut5vHICZTK7xdrUGfrLkXvSuv6s4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "752c634c09ceb50c45e751f8791cb45cb3d46c9e", + "rev": "dd457de7e08c6d06789b1f5b88fc9327f4d96309", "type": "github" }, "original": { @@ -221,11 +221,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1710695816, - "narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=", + "lastModified": 1718447546, + "narHash": "sha256-JHuXsrC9pr4kA4n7LuuPfWFJUVlDBVJ1TXDVpHEuUgM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "614b4613980a522ba49f0d194531beddbb7220d3", + "rev": "842253bf992c3a7157b67600c2857193f126563a", "type": "github" }, "original": { @@ -237,11 +237,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1718478900, - "narHash": "sha256-v43N1gZLcGkhg3PdcrKUNIZ1L0FBzB2JqhIYEyKAHEs=", + "lastModified": 1719099622, + "narHash": "sha256-YzJECAxFt+U5LPYf/pCwW/e1iUd2PF21WITHY9B/BAs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c884223af91820615a6146af1ae1fea25c107005", + "rev": "5e8e3b89adbd0be63192f6e645e0a54080004924", "type": "github" }, "original": { @@ -253,11 +253,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1718709602, - "narHash": "sha256-3FrviFpJCl0WO0Cp4k+SMSKlqFPienMGxssr0lAswpo=", + "lastModified": 1719164991, + "narHash": "sha256-acO5Qg3aA0t4+zd7lLwMZRZz4jothylV1maUeA+CI0g=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3ef6d6e20f04c11b54321019286fbe7b4993081e", + "rev": "e0ba5d6aaf27ed0deb1ad168bd151a6fd23634f1", "type": "github" }, "original": { @@ -269,11 +269,11 @@ }, "nur": { "locked": { - "lastModified": 1718703915, - "narHash": "sha256-PT4FT+JbQA2eRxKmrOhlTAGYctfCR1oGxSbCJ8521q8=", + "lastModified": 1719160963, + "narHash": "sha256-hm2XunlO5oD0xh9Z0r1kIQj8UEt1vYeyyFlieN8hkHI=", "owner": "nix-community", "repo": "NUR", - "rev": "4f50a4040a3426e2257d35350e8f0fdc4eb2d9fe", + "rev": "72137385988d41b40f749b9203f9ba831f4fbe04", "type": "github" }, "original": { @@ -295,11 +295,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1718708370, - "narHash": "sha256-pUfmjLFM7q/TsYTGgzJKtYgKx42/UdMdUF7CpM4F89A=", + "lastModified": 1718881664, + "narHash": "sha256-ZULRSiURptz6Da+yECzQDS30IIEAEOYyIAv5rs+p9Fg=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "3f2540f372429e99eb61e305e9aa942c63418504", + "rev": "5392004e2b350afda0dd5e92ccd53ab9b1261947", "type": "github" }, "original": { @@ -332,11 +332,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1718506969, - "narHash": "sha256-Pm9I/BMQHbsucdWf6y9G3xBZh3TMlThGo4KBbeoeczg=", + "lastModified": 1719111739, + "narHash": "sha256-kr2QzRrplzlCP87ddayCZQS+dhGW98kw2zy7+jUXtF4=", "owner": "Mic92", "repo": "sops-nix", - "rev": "797ce4c1f45a85df6dd3d9abdc53f2691bea9251", + "rev": "5e2e9421e9ed2b918be0a441c4535cfa45e04811", "type": "github" }, "original": { From 8b83a6a1ef95502dd4ef319f5da569dbad4dde9e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 23 Jun 2024 20:38:30 +0200 Subject: [PATCH 393/766] Fix lamp going dark on low brightness --- .../esphome/devices/chinafrickeldeckenleuchte.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/hosts/iron/services/esphome/devices/chinafrickeldeckenleuchte.yaml b/hosts/iron/services/esphome/devices/chinafrickeldeckenleuchte.yaml index 205d23d..0edcf9f 100644 --- a/hosts/iron/services/esphome/devices/chinafrickeldeckenleuchte.yaml +++ b/hosts/iron/services/esphome/devices/chinafrickeldeckenleuchte.yaml @@ -14,22 +14,32 @@ output: id: output_ch1 channel: 1 current: 20 + min_power: 0.02 + zero_means_zero: true - platform: bp5758d id: output_ch2 channel: 2 current: 20 + min_power: 0.02 + zero_means_zero: true - platform: bp5758d id: output_ch3 channel: 3 current: 20 + min_power: 0.02 + zero_means_zero: true - platform: bp5758d id: output_ch4 channel: 4 current: 80 + min_power: 0.02 + zero_means_zero: true - platform: bp5758d id: output_ch5 channel: 5 current: 80 + min_power: 0.02 + zero_means_zero: true light: - platform: rgbww From f187754465b59f56e9a0ae02e720ab1c72735403 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 23 Jun 2024 23:18:26 +0200 Subject: [PATCH 394/766] Add door opener button --- .../services/esphome/devices/tuerschloss.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/hosts/iron/services/esphome/devices/tuerschloss.yaml b/hosts/iron/services/esphome/devices/tuerschloss.yaml index 4b8f7f5..b662b56 100644 --- a/hosts/iron/services/esphome/devices/tuerschloss.yaml +++ b/hosts/iron/services/esphome/devices/tuerschloss.yaml @@ -44,6 +44,10 @@ output: output: true open_drain: true id: btn_lock + - platform: gpio + pin: + number: GPIO3 + id: btn_open lock: - platform: template @@ -62,3 +66,14 @@ lock: - output.turn_off: btn_unlock - delay: 5s - lambda: id(tuerschloss).publish_state(LOCK_STATE_UNLOCKED); + +button: + - platform: template + name: "Türöffner" + id: tueroeffner + icon: mdi:lock-open + on_press: + - logger.log: "Button pressed" + - output.turn_on: btn_open + - delay: 250ms + - output.turn_off: btn_open From 519bc0cf944afb3bbe9830f742a44bde2c8cd64a Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 24 Jun 2024 00:26:17 +0200 Subject: [PATCH 395/766] Update VESC tool --- pkgs/vesc-tool/firmware.nix | 6 ++---- pkgs/vesc-tool/tool.nix | 13 ++++++++----- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/pkgs/vesc-tool/firmware.nix b/pkgs/vesc-tool/firmware.nix index cb16051..50613f9 100644 --- a/pkgs/vesc-tool/firmware.nix +++ b/pkgs/vesc-tool/firmware.nix @@ -13,10 +13,8 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "vedderb"; repo = "bldc"; - rev = "6.00"; - sha256 = "XeIS+3SOKeTkbsx/aCy0FRw/LVXBbLpAqz6upN5HJUY="; - #rev = "5b6cc075d3cfa62bd52a05fad0195fae114d914c"; - #sha256 = "SB/mQEYY2Bi2xl5qniKdShMQ0vdrVuLtiWWH4D1U0tw="; + rev = "f7c2b34e1cff2234cae98be3abf0cd50e249558f"; # release_6_02 + sha256 = "BJwxmtYjQhxV8O0Ze9k0cPz0ubJnq5ePUd/9tGx35jo="; fetchSubmodules = true; }; diff --git a/pkgs/vesc-tool/tool.nix b/pkgs/vesc-tool/tool.nix index 2a23fa3..ee9f906 100644 --- a/pkgs/vesc-tool/tool.nix +++ b/pkgs/vesc-tool/tool.nix @@ -24,8 +24,10 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "vedderb"; repo = "vesc_tool"; - rev = "6d9d6d7f17c8756a272c267659849ea9c9404efa"; - sha256 = "EXXWAwX3yPirhe83wz5/vEectieHeUAkIla7ICxzMow="; + #rev = "f3c6fe5f5dcf0cb2fba7676204ea3db1dc8ff4ee"; # release_6_02 + rev = "4a0edea5846d973e5da510fbe11ce009aaf21a96"; + sha256 = "18ue6YBVcggr4qyHpCorrh01oeo4i58Jgp9Twaq+DlI="; + fetchSubmodules = true; }; @@ -64,7 +66,8 @@ stdenv.mkDerivation rec { cp build/lin/* $out/bin ''; - postFixup = '' - wrapQtApp $out/bin/vesc_tool_6.02 - ''; + #postFixup = '' + # #wrapQtApp $out/bin/vesc_tool_6.05 + # #Builder called die: Cannot wrap '/nix/store/yppigini483d9kj8sn1cbjxp4cy81qqj-vesc_tool-master/bin/vesc_tool_6.02' because it is not an executable file + #''; } From 256db2b5dc2cbb9758ed2a9e46b4555a57dab18a Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 25 Jun 2024 18:51:34 +0200 Subject: [PATCH 396/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/e1174d991944a01eaaa04bc59c6281edca4c0e6e' (2024-06-20) → 'github:nix-community/disko/dd4d1663ccf7fbdb32361b9afe9e71206584cd4c' (2024-06-24) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/8cd35b9496d21a6c55164d8547d9d5280162b07a' (2024-06-20) → 'github:cachix/git-hooks.nix/0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07' (2024-06-24) • Updated input 'nix-pre-commit-hooks/nixpkgs-stable': 'github:NixOS/nixpkgs/842253bf992c3a7157b67600c2857193f126563a' (2024-06-15) → 'github:NixOS/nixpkgs/03d771e513ce90147b65fe922d87d3a0356fc125' (2024-06-19) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/c3e48cbd88414f583ff08804eb57b0da4c194f9e' (2024-06-23) → 'github:nixos/nixos-hardware/caabc425565bbd5c8640630b0bf6974961a49242' (2024-06-25) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/dd457de7e08c6d06789b1f5b88fc9327f4d96309' (2024-06-19) → 'github:nixos/nixpkgs/e4509b3a560c87a8d4cb6f9992b8915abf9e36d8' (2024-06-23) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/e0ba5d6aaf27ed0deb1ad168bd151a6fd23634f1' (2024-06-23) → 'github:NixOS/nixpkgs/5ef104ab485523f3cb2665a068b6462dd4122521' (2024-06-25) • Updated input 'nur': 'github:nix-community/NUR/72137385988d41b40f749b9203f9ba831f4fbe04' (2024-06-23) → 'github:nix-community/NUR/8039bbf50a73c2b192f4fdc1a8518ba44e3c6117' (2024-06-25) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/5392004e2b350afda0dd5e92ccd53ab9b1261947' (2024-06-20) → 'github:nix-community/poetry2nix/46ce1e17d4a97a3cd5bf5433a7afd8d3e09ee106' (2024-06-24) • Updated input 'sops-nix': 'github:Mic92/sops-nix/5e2e9421e9ed2b918be0a441c4535cfa45e04811' (2024-06-23) → 'github:Mic92/sops-nix/c2ea1186c0cbfa4d06d406ae50f3e4b085ddc9b3' (2024-06-24) --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index 473ab19..da7ae0e 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1718846788, - "narHash": "sha256-9dtXYtEkmXoUJV+PGLqscqF7qTn4AIhAKpFWRFU2NYs=", + "lastModified": 1719236180, + "narHash": "sha256-VZAfBk2Lo8hQy/NQ4XVSpTICT0ownXBUi1QvGfdlxaM=", "owner": "nix-community", "repo": "disko", - "rev": "e1174d991944a01eaaa04bc59c6281edca4c0e6e", + "rev": "dd4d1663ccf7fbdb32361b9afe9e71206584cd4c", "type": "github" }, "original": { @@ -173,11 +173,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1718879355, - "narHash": "sha256-RTyqP4fBX2MdhNuMP+fnR3lIwbdtXhyj7w7fwtvgspc=", + "lastModified": 1719259945, + "narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "8cd35b9496d21a6c55164d8547d9d5280162b07a", + "rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07", "type": "github" }, "original": { @@ -189,11 +189,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1719145664, - "narHash": "sha256-+0bBlerLxsHUJcKPDWZM1wL3V9bzCFjz+VyRTG8fnUA=", + "lastModified": 1719322773, + "narHash": "sha256-BqPxtFwXrpJQDh65NOIHX99pz2rtIMshG9Mt2xnnc5c=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "c3e48cbd88414f583ff08804eb57b0da4c194f9e", + "rev": "caabc425565bbd5c8640630b0bf6974961a49242", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1718835956, - "narHash": "sha256-wM9v2yIxClRYsGHut5vHICZTK7xdrUGfrLkXvSuv6s4=", + "lastModified": 1719145550, + "narHash": "sha256-K0i/coxxTEl30tgt4oALaylQfxqbotTSNb1/+g+mKMQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "dd457de7e08c6d06789b1f5b88fc9327f4d96309", + "rev": "e4509b3a560c87a8d4cb6f9992b8915abf9e36d8", "type": "github" }, "original": { @@ -221,11 +221,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1718447546, - "narHash": "sha256-JHuXsrC9pr4kA4n7LuuPfWFJUVlDBVJ1TXDVpHEuUgM=", + "lastModified": 1718811006, + "narHash": "sha256-0Y8IrGhRmBmT7HHXlxxepg2t8j1X90++qRN3lukGaIk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "842253bf992c3a7157b67600c2857193f126563a", + "rev": "03d771e513ce90147b65fe922d87d3a0356fc125", "type": "github" }, "original": { @@ -253,11 +253,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1719164991, - "narHash": "sha256-acO5Qg3aA0t4+zd7lLwMZRZz4jothylV1maUeA+CI0g=", + "lastModified": 1719331463, + "narHash": "sha256-qaQvb9Dvq1iBHSWmTJfHK7NTGVA5HjWp7y8hY9X8m/s=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e0ba5d6aaf27ed0deb1ad168bd151a6fd23634f1", + "rev": "5ef104ab485523f3cb2665a068b6462dd4122521", "type": "github" }, "original": { @@ -269,11 +269,11 @@ }, "nur": { "locked": { - "lastModified": 1719160963, - "narHash": "sha256-hm2XunlO5oD0xh9Z0r1kIQj8UEt1vYeyyFlieN8hkHI=", + "lastModified": 1719333593, + "narHash": "sha256-9ktfPXvz+0BNjZTnjqlgMRdCNkI+6jkmQWSNuNp14jM=", "owner": "nix-community", "repo": "NUR", - "rev": "72137385988d41b40f749b9203f9ba831f4fbe04", + "rev": "8039bbf50a73c2b192f4fdc1a8518ba44e3c6117", "type": "github" }, "original": { @@ -295,11 +295,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1718881664, - "narHash": "sha256-ZULRSiURptz6Da+yECzQDS30IIEAEOYyIAv5rs+p9Fg=", + "lastModified": 1719235245, + "narHash": "sha256-ZzAr51YObcqaDyQtAmW9ggjIPxVBcScnbDP7YluChoA=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "5392004e2b350afda0dd5e92ccd53ab9b1261947", + "rev": "46ce1e17d4a97a3cd5bf5433a7afd8d3e09ee106", "type": "github" }, "original": { @@ -332,11 +332,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1719111739, - "narHash": "sha256-kr2QzRrplzlCP87ddayCZQS+dhGW98kw2zy7+jUXtF4=", + "lastModified": 1719268571, + "narHash": "sha256-pcUk2Fg5vPXLUEnFI97qaB8hto/IToRfqskFqsjvjb8=", "owner": "Mic92", "repo": "sops-nix", - "rev": "5e2e9421e9ed2b918be0a441c4535cfa45e04811", + "rev": "c2ea1186c0cbfa4d06d406ae50f3e4b085ddc9b3", "type": "github" }, "original": { From a8b74142e1e8e9f764db29aa313c9ae3dfca50fc Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 26 Jun 2024 20:26:13 +0200 Subject: [PATCH 397/766] Replace docker-compose with podman-compose --- modules/podman.nix | 4 ++++ users/jalr/default.nix | 1 - 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/podman.nix b/modules/podman.nix index d7453a9..79486f1 100644 --- a/modules/podman.nix +++ b/modules/podman.nix @@ -1,7 +1,11 @@ +{ pkgs, ... }: { virtualisation.podman = { enable = true; dockerCompat = true; dockerSocket.enable = true; }; + environment.systemPackages = with pkgs; [ + podman-compose + ]; } diff --git a/users/jalr/default.nix b/users/jalr/default.nix index 5541c6b..09de610 100644 --- a/users/jalr/default.nix +++ b/users/jalr/default.nix @@ -49,7 +49,6 @@ in # common asciinema bat - docker-compose envsubst gnupg nmap From 2f7e11240e5d73478b20afc8e9429d517fa74780 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 26 Jun 2024 20:27:54 +0200 Subject: [PATCH 398/766] Add port redirection for web development I'm using rootless containers and these can't bind to privileged ports. --- hosts/copper/configuration.nix | 1 + hosts/copper/services/default.nix | 5 ++++ hosts/copper/services/webdev.nix | 50 +++++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 hosts/copper/services/default.nix create mode 100644 hosts/copper/services/webdev.nix diff --git a/hosts/copper/configuration.nix b/hosts/copper/configuration.nix index 84bd964..3a3cfa4 100644 --- a/hosts/copper/configuration.nix +++ b/hosts/copper/configuration.nix @@ -3,6 +3,7 @@ ./hardware-configuration.nix ./disko.nix ../../users/jalr + ./services ]; networking = { diff --git a/hosts/copper/services/default.nix b/hosts/copper/services/default.nix new file mode 100644 index 0000000..f407703 --- /dev/null +++ b/hosts/copper/services/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./webdev.nix + ]; +} diff --git a/hosts/copper/services/webdev.nix b/hosts/copper/services/webdev.nix new file mode 100644 index 0000000..5236f67 --- /dev/null +++ b/hosts/copper/services/webdev.nix @@ -0,0 +1,50 @@ +{ pkgs, lib, ... }: +{ + systemd.services = lib.attrsets.mapAttrs' + ( + name: mapping: lib.attrsets.nameValuePair "redir-${name}" { + description = "Port redirection for local development web server (${name})"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + AmbientCapabilities = "CAP_NET_BIND_SERVICE"; + BindReadOnlyPaths = [ "/nix/store" ]; + CapabilityBoundingSet = "CAP_NET_BIND_SERVICE"; + DynamicUser = true; + ExecStart = "${pkgs.redir}/bin/redir -n 127.0.0.1:${toString mapping.to} 127.0.0.1:${toString mapping.from}"; + IPAddressAllow = "localhost"; + IPAddressDeny = "any"; + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateDevices = lib.mkForce true; + PrivateTmp = true; + ProcSubset = "pid"; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "noaccess"; + ProtectSystem = "strict"; + ReadWritePaths = ""; + RemoveIPC = true; + RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + RootDirectory = "/run/redir-https"; + RuntimeDirectory = "redir-https"; + SystemCallArchitectures = "native"; + SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ]; + Type = "exec"; + }; + } + ) + { + http = { from = 8080; to = 80; }; + https = { from = 8443; to = 443; }; + }; +} From 9721f59c20cbc46f9e56f2a08708640ef6dacb20 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 26 Jun 2024 20:29:18 +0200 Subject: [PATCH 399/766] Resolve subdomains for `localhost` to 127.0.0.1 I'm using it for local web development. --- modules/dns.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/dns.nix b/modules/dns.nix index 20d1feb..5cbac18 100644 --- a/modules/dns.nix +++ b/modules/dns.nix @@ -31,6 +31,9 @@ in "/login.wifionice.de/172.18.0.1" "${dnscryptListenAddress}#${toString dnscryptListenPort}" ]; + address = [ + "/localhost/127.0.0.1" + ]; no-resolv = true; interface = "lo"; listen-address = [ From 73c1f0ca63ade7bbc793f00d74c6b27597affc60 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 28 Jun 2024 15:18:47 +0200 Subject: [PATCH 400/766] Add ardour --- users/jalr/modules/ardour.nix | 8 ++++++++ users/jalr/modules/default.nix | 1 + 2 files changed, 9 insertions(+) create mode 100644 users/jalr/modules/ardour.nix diff --git a/users/jalr/modules/ardour.nix b/users/jalr/modules/ardour.nix new file mode 100644 index 0000000..4d3d5ac --- /dev/null +++ b/users/jalr/modules/ardour.nix @@ -0,0 +1,8 @@ +{ nixosConfig, lib, pkgs, ... }: +lib.mkIf nixosConfig.jalr.gui.enable { + home.packages = with pkgs; [ + ardour + x42-plugins + ]; + home.sessionVariables.LV2_PATH = "${pkgs.x42-plugins}/lib/lv2/"; +} diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index f9b1fdf..6f4adf6 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -4,6 +4,7 @@ imports = [ ./3d-printing.nix ./alacritty.nix + ./ardour.nix ./aws.nix ./cli ./communication From 754f35d898e86d575c27544e094037a1eef89e24 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 1 Jul 2024 16:46:10 +0200 Subject: [PATCH 401/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/dd4d1663ccf7fbdb32361b9afe9e71206584cd4c' (2024-06-24) → 'github:nix-community/disko/d185770ea261fb5cf81aa5ad1791b93a7834d12c' (2024-06-30) • Updated input 'home-manager': 'github:nix-community/home-manager/a1fddf0967c33754271761d91a3d921772b30d0e' (2024-06-16) → 'github:nix-community/home-manager/391ca6e950c2525b4f853cbe29922452c14eda82' (2024-07-01) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/caabc425565bbd5c8640630b0bf6974961a49242' (2024-06-25) → 'github:nixos/nixos-hardware/a59f00f5ac65b19382617ba00f360f8bc07ed3ac' (2024-06-29) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/e4509b3a560c87a8d4cb6f9992b8915abf9e36d8' (2024-06-23) → 'github:nixos/nixpkgs/7dca15289a1c2990efbe4680f0923ce14139b042' (2024-06-30) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/5ef104ab485523f3cb2665a068b6462dd4122521' (2024-06-25) → 'github:NixOS/nixpkgs/6a2724e5acba62d1b5f511ff318c4ead2b2fdfaa' (2024-07-01) • Updated input 'nur': 'github:nix-community/NUR/8039bbf50a73c2b192f4fdc1a8518ba44e3c6117' (2024-06-25) → 'github:nix-community/NUR/0575d7fb334ea662a0a03620780c87df0612eb9a' (2024-07-01) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/46ce1e17d4a97a3cd5bf5433a7afd8d3e09ee106' (2024-06-24) → 'github:nix-community/poetry2nix/4fd045cdb85f2a0173021a4717dc01d92d7ab2b2' (2024-06-28) • Updated input 'sops-nix': 'github:Mic92/sops-nix/c2ea1186c0cbfa4d06d406ae50f3e4b085ddc9b3' (2024-06-24) → 'github:Mic92/sops-nix/b5974d4331fb6c893e808977a2e1a6d34b3162d6' (2024-06-30) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/5e8e3b89adbd0be63192f6e645e0a54080004924' (2024-06-22) → 'github:NixOS/nixpkgs/4a1e673523344f6ccc84b37f4413ad74ea19a119' (2024-06-29) --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index da7ae0e..92fa0a5 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1719236180, - "narHash": "sha256-VZAfBk2Lo8hQy/NQ4XVSpTICT0ownXBUi1QvGfdlxaM=", + "lastModified": 1719733833, + "narHash": "sha256-6h2EqZU9bL9rHlXE+2LCBgnDImejzbS+4dYsNDDFlkY=", "owner": "nix-community", "repo": "disko", - "rev": "dd4d1663ccf7fbdb32361b9afe9e71206584cd4c", + "rev": "d185770ea261fb5cf81aa5ad1791b93a7834d12c", "type": "github" }, "original": { @@ -105,11 +105,11 @@ ] }, "locked": { - "lastModified": 1718530513, - "narHash": "sha256-BmO8d0r+BVlwWtMLQEYnwmngqdXIuyFzMwvmTcLMee8=", + "lastModified": 1719827385, + "narHash": "sha256-qs+nU20Sm8czHg3bhGCqiH+8e13BJyRrKONW34g3i50=", "owner": "nix-community", "repo": "home-manager", - "rev": "a1fddf0967c33754271761d91a3d921772b30d0e", + "rev": "391ca6e950c2525b4f853cbe29922452c14eda82", "type": "github" }, "original": { @@ -189,11 +189,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1719322773, - "narHash": "sha256-BqPxtFwXrpJQDh65NOIHX99pz2rtIMshG9Mt2xnnc5c=", + "lastModified": 1719681865, + "narHash": "sha256-Lp+l1IsREVbz8WM35OJYZz8sAH0XOjrZWUXVB5bJ2qg=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "caabc425565bbd5c8640630b0bf6974961a49242", + "rev": "a59f00f5ac65b19382617ba00f360f8bc07ed3ac", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1719145550, - "narHash": "sha256-K0i/coxxTEl30tgt4oALaylQfxqbotTSNb1/+g+mKMQ=", + "lastModified": 1719707984, + "narHash": "sha256-RoxIr/fbndtuKqulGvNCcuzC6KdAib85Q8gXnjzA1dw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e4509b3a560c87a8d4cb6f9992b8915abf9e36d8", + "rev": "7dca15289a1c2990efbe4680f0923ce14139b042", "type": "github" }, "original": { @@ -237,11 +237,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1719099622, - "narHash": "sha256-YzJECAxFt+U5LPYf/pCwW/e1iUd2PF21WITHY9B/BAs=", + "lastModified": 1719663039, + "narHash": "sha256-tXlrgAQygNIy49LDVFuPXlWD2zTQV9/F8pfoqwwPJyo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5e8e3b89adbd0be63192f6e645e0a54080004924", + "rev": "4a1e673523344f6ccc84b37f4413ad74ea19a119", "type": "github" }, "original": { @@ -253,11 +253,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1719331463, - "narHash": "sha256-qaQvb9Dvq1iBHSWmTJfHK7NTGVA5HjWp7y8hY9X8m/s=", + "lastModified": 1719844534, + "narHash": "sha256-fz0goydZPck6T7fWz5nSY74R5+V9DBepjQxYN3sKPYo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5ef104ab485523f3cb2665a068b6462dd4122521", + "rev": "6a2724e5acba62d1b5f511ff318c4ead2b2fdfaa", "type": "github" }, "original": { @@ -269,11 +269,11 @@ }, "nur": { "locked": { - "lastModified": 1719333593, - "narHash": "sha256-9ktfPXvz+0BNjZTnjqlgMRdCNkI+6jkmQWSNuNp14jM=", + "lastModified": 1719837916, + "narHash": "sha256-dV1URYa5SezYyz/1IDb1BHmIZ4tM0WtpPfVkFGH8xfY=", "owner": "nix-community", "repo": "NUR", - "rev": "8039bbf50a73c2b192f4fdc1a8518ba44e3c6117", + "rev": "0575d7fb334ea662a0a03620780c87df0612eb9a", "type": "github" }, "original": { @@ -295,11 +295,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1719235245, - "narHash": "sha256-ZzAr51YObcqaDyQtAmW9ggjIPxVBcScnbDP7YluChoA=", + "lastModified": 1719549552, + "narHash": "sha256-efvBV+45uQA6r7aov48H6MhvKp1QUIyIX5gh9oueUzs=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "46ce1e17d4a97a3cd5bf5433a7afd8d3e09ee106", + "rev": "4fd045cdb85f2a0173021a4717dc01d92d7ab2b2", "type": "github" }, "original": { @@ -332,11 +332,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1719268571, - "narHash": "sha256-pcUk2Fg5vPXLUEnFI97qaB8hto/IToRfqskFqsjvjb8=", + "lastModified": 1719716556, + "narHash": "sha256-KA9gy2Wkv76s4A8eLnOcdKVTygewbw3xsB8+awNMyqs=", "owner": "Mic92", "repo": "sops-nix", - "rev": "c2ea1186c0cbfa4d06d406ae50f3e4b085ddc9b3", + "rev": "b5974d4331fb6c893e808977a2e1a6d34b3162d6", "type": "github" }, "original": { From d834379c086adc435f1877f2ab6b095224256e9d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 2 Jul 2024 10:45:39 +0200 Subject: [PATCH 402/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/d185770ea261fb5cf81aa5ad1791b93a7834d12c' (2024-06-30) → 'github:nix-community/disko/544a80a69d6e2da04e4df7ec8210a858de8c7533' (2024-07-01) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/a59f00f5ac65b19382617ba00f360f8bc07ed3ac' (2024-06-29) → 'github:nixos/nixos-hardware/6e253f12b1009053eff5344be5e835f604bb64cd' (2024-07-02) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/7dca15289a1c2990efbe4680f0923ce14139b042' (2024-06-30) → 'github:nixos/nixpkgs/d032c1a6dfad4eedec7e35e91986becc699d7d69' (2024-07-01) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/6a2724e5acba62d1b5f511ff318c4ead2b2fdfaa' (2024-07-01) → 'github:NixOS/nixpkgs/e689d1116660575bac669cbbe1cc05999bbd2f0f' (2024-07-02) • Updated input 'nur': 'github:nix-community/NUR/0575d7fb334ea662a0a03620780c87df0612eb9a' (2024-07-01) → 'github:nix-community/NUR/6206fd683edcb79c4a0592cf25e610449ed0d82d' (2024-07-02) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/4fd045cdb85f2a0173021a4717dc01d92d7ab2b2' (2024-06-28) → 'github:nix-community/poetry2nix/42262f382c68afab1113ebd1911d0c93822d756e' (2024-07-01) • Updated input 'poetry2nix/treefmt-nix': 'github:numtide/treefmt-nix/68eb1dc333ce82d0ab0c0357363ea17c31ea1f81' (2024-06-16) → 'github:numtide/treefmt-nix/8df5ff62195d4e67e2264df0b7f5e8c9995fd0bd' (2024-06-30) • Updated input 'sops-nix': 'github:Mic92/sops-nix/b5974d4331fb6c893e808977a2e1a6d34b3162d6' (2024-06-30) → 'github:Mic92/sops-nix/a11224af8d824935f363928074b4717ca2e280db' (2024-07-01) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 92fa0a5..9bc5db0 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1719733833, - "narHash": "sha256-6h2EqZU9bL9rHlXE+2LCBgnDImejzbS+4dYsNDDFlkY=", + "lastModified": 1719864345, + "narHash": "sha256-e4Pw+30vFAxuvkSTaTypd9zYemB/QlWcH186dsGT+Ms=", "owner": "nix-community", "repo": "disko", - "rev": "d185770ea261fb5cf81aa5ad1791b93a7834d12c", + "rev": "544a80a69d6e2da04e4df7ec8210a858de8c7533", "type": "github" }, "original": { @@ -189,11 +189,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1719681865, - "narHash": "sha256-Lp+l1IsREVbz8WM35OJYZz8sAH0XOjrZWUXVB5bJ2qg=", + "lastModified": 1719895800, + "narHash": "sha256-xNbjISJTFailxass4LmdWeV4jNhAlmJPwj46a/GxE6M=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "a59f00f5ac65b19382617ba00f360f8bc07ed3ac", + "rev": "6e253f12b1009053eff5344be5e835f604bb64cd", "type": "github" }, "original": { @@ -205,11 +205,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1719707984, - "narHash": "sha256-RoxIr/fbndtuKqulGvNCcuzC6KdAib85Q8gXnjzA1dw=", + "lastModified": 1719838683, + "narHash": "sha256-Zw9rQjHz1ilNIimEXFeVa1ERNRBF8DoXDhLAZq5B4pE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7dca15289a1c2990efbe4680f0923ce14139b042", + "rev": "d032c1a6dfad4eedec7e35e91986becc699d7d69", "type": "github" }, "original": { @@ -253,11 +253,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1719844534, - "narHash": "sha256-fz0goydZPck6T7fWz5nSY74R5+V9DBepjQxYN3sKPYo=", + "lastModified": 1719909084, + "narHash": "sha256-GxoaFEsoQZhP7YDzLhilmlUlX2vLnzsizM6ACQlbd8A=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6a2724e5acba62d1b5f511ff318c4ead2b2fdfaa", + "rev": "e689d1116660575bac669cbbe1cc05999bbd2f0f", "type": "github" }, "original": { @@ -269,11 +269,11 @@ }, "nur": { "locked": { - "lastModified": 1719837916, - "narHash": "sha256-dV1URYa5SezYyz/1IDb1BHmIZ4tM0WtpPfVkFGH8xfY=", + "lastModified": 1719908032, + "narHash": "sha256-veUPZ3anuH+PQn/CLcNlP0oiuHctzeIDa2w+DzVGE4E=", "owner": "nix-community", "repo": "NUR", - "rev": "0575d7fb334ea662a0a03620780c87df0612eb9a", + "rev": "6206fd683edcb79c4a0592cf25e610449ed0d82d", "type": "github" }, "original": { @@ -295,11 +295,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1719549552, - "narHash": "sha256-efvBV+45uQA6r7aov48H6MhvKp1QUIyIX5gh9oueUzs=", + "lastModified": 1719850884, + "narHash": "sha256-UU/lVTHFx0GpEkihoLJrMuM9DcuhZmNe3db45vshSyI=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "4fd045cdb85f2a0173021a4717dc01d92d7ab2b2", + "rev": "42262f382c68afab1113ebd1911d0c93822d756e", "type": "github" }, "original": { @@ -332,11 +332,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1719716556, - "narHash": "sha256-KA9gy2Wkv76s4A8eLnOcdKVTygewbw3xsB8+awNMyqs=", + "lastModified": 1719873517, + "narHash": "sha256-D1dxZmXf6M2h5lNE1m6orojuUawVPjogbGRsqSBX+1g=", "owner": "Mic92", "repo": "sops-nix", - "rev": "b5974d4331fb6c893e808977a2e1a6d34b3162d6", + "rev": "a11224af8d824935f363928074b4717ca2e280db", "type": "github" }, "original": { @@ -382,11 +382,11 @@ ] }, "locked": { - "lastModified": 1718522839, - "narHash": "sha256-ULzoKzEaBOiLRtjeY3YoGFJMwWSKRYOic6VNw2UyTls=", + "lastModified": 1719749022, + "narHash": "sha256-ddPKHcqaKCIFSFc/cvxS14goUhCOAwsM1PbMr0ZtHMg=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "68eb1dc333ce82d0ab0c0357363ea17c31ea1f81", + "rev": "8df5ff62195d4e67e2264df0b7f5e8c9995fd0bd", "type": "github" }, "original": { From 3d4e1ceac1916fe11c6c77013df5955f1cf4aa52 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 3 Jul 2024 01:54:17 +0200 Subject: [PATCH 403/766] Implement secure boot on copper --- flake.lock | 221 +++++++++++++++++++++++++++- flake.nix | 4 + hosts/copper/configuration.nix | 2 +- modules/bootloader/default.nix | 7 +- modules/bootloader/lanzaboote.nix | 8 + modules/bootloader/systemd-boot.nix | 2 +- 6 files changed, 233 insertions(+), 11 deletions(-) create mode 100644 modules/bootloader/lanzaboote.nix diff --git a/flake.lock b/flake.lock index 9bc5db0..305c277 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,26 @@ { "nodes": { + "crane": { + "inputs": { + "nixpkgs": [ + "lanzaboote", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1717535930, + "narHash": "sha256-1hZ/txnbd/RmiBPNUs7i8UQw2N89uAK3UzrGAWdnFfU=", + "owner": "ipetkov", + "repo": "crane", + "rev": "55e7754ec31dac78980c8be45f8a28e80e370946", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, "disko": { "inputs": { "nixpkgs": [ @@ -36,6 +57,43 @@ "type": "github" } }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "lanzaboote", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1717285511, + "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems" @@ -54,7 +112,47 @@ "type": "github" } }, + "flake-utils_2": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "gitignore": { + "inputs": { + "nixpkgs": [ + "lanzaboote", + "pre-commit-hooks-nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gitignore_2": { "inputs": { "nixpkgs": [ "nix-pre-commit-hooks", @@ -142,6 +240,33 @@ "type": "github" } }, + "lanzaboote": { + "inputs": { + "crane": "crane", + "flake-compat": "flake-compat", + "flake-parts": "flake-parts", + "flake-utils": "flake-utils_2", + "nixpkgs": [ + "nixpkgs" + ], + "pre-commit-hooks-nix": "pre-commit-hooks-nix", + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1718178907, + "narHash": "sha256-eSZyrQ9uoPB9iPQ8Y5H7gAmAgAvCw3InStmU3oEjqsE=", + "owner": "nix-community", + "repo": "lanzaboote", + "rev": "b627ccd97d0159214cee5c7db1412b75e4be6086", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "v0.4.1", + "repo": "lanzaboote", + "type": "github" + } + }, "nix-github-actions": { "inputs": { "nixpkgs": [ @@ -165,12 +290,12 @@ }, "nix-pre-commit-hooks": { "inputs": { - "flake-compat": "flake-compat", - "gitignore": "gitignore", + "flake-compat": "flake-compat_2", + "gitignore": "gitignore_2", "nixpkgs": [ "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable" + "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { "lastModified": 1719259945, @@ -220,6 +345,22 @@ } }, "nixpkgs-stable": { + "locked": { + "lastModified": 1710695816, + "narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "614b4613980a522ba49f0d194531beddbb7220d3", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-23.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable_2": { "locked": { "lastModified": 1718811006, "narHash": "sha256-0Y8IrGhRmBmT7HHXlxxepg2t8j1X90++qRN3lukGaIk=", @@ -235,7 +376,7 @@ "type": "github" } }, - "nixpkgs-stable_2": { + "nixpkgs-stable_3": { "locked": { "lastModified": 1719663039, "narHash": "sha256-tXlrgAQygNIy49LDVFuPXlWD2zTQV9/F8pfoqwwPJyo=", @@ -291,7 +432,7 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems_2", + "systems": "systems_3", "treefmt-nix": "treefmt-nix" }, "locked": { @@ -308,6 +449,33 @@ "type": "github" } }, + "pre-commit-hooks-nix": { + "inputs": { + "flake-compat": [ + "lanzaboote", + "flake-compat" + ], + "gitignore": "gitignore", + "nixpkgs": [ + "lanzaboote", + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable" + }, + "locked": { + "lastModified": 1717664902, + "narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, "root": { "inputs": { "disko": "disko", @@ -315,6 +483,7 @@ "gomod2nix": "gomod2nix", "home-manager": "home-manager", "krops": "krops", + "lanzaboote": "lanzaboote", "nix-pre-commit-hooks": "nix-pre-commit-hooks", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", @@ -324,12 +493,37 @@ "sops-nix": "sops-nix" } }, + "rust-overlay": { + "inputs": { + "flake-utils": [ + "lanzaboote", + "flake-utils" + ], + "nixpkgs": [ + "lanzaboote", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1717813066, + "narHash": "sha256-wqbRwq3i7g5EHIui0bIi84mdqZ/It1AXBSLJ5tafD28=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "6dc3e45fe4aee36efeed24d64fc68b1f989d5465", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, "sops-nix": { "inputs": { "nixpkgs": [ "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable_2" + "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { "lastModified": 1719873517, @@ -361,6 +555,21 @@ } }, "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_3": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", diff --git a/flake.nix b/flake.nix index fa2976f..4ae9e7f 100644 --- a/flake.nix +++ b/flake.nix @@ -16,6 +16,9 @@ krops.inputs.nixpkgs.follows = "nixpkgs"; krops.url = "github:Mic92/krops"; + lanzaboote.url = "github:nix-community/lanzaboote/v0.4.1"; + lanzaboote.inputs.nixpkgs.follows = "nixpkgs"; + nix-pre-commit-hooks.inputs.nixpkgs.follows = "nixpkgs"; nix-pre-commit-hooks.url = "github:cachix/git-hooks.nix/master"; @@ -172,6 +175,7 @@ home-manager.nixosModules.home-manager inputs.sops-nix.nixosModules.sops inputs.disko.nixosModules.disko + inputs.lanzaboote.nixosModules.lanzaboote ] ++ extraModules; }) (import ./hosts inputs); diff --git a/hosts/copper/configuration.nix b/hosts/copper/configuration.nix index 3a3cfa4..56d4a18 100644 --- a/hosts/copper/configuration.nix +++ b/hosts/copper/configuration.nix @@ -18,7 +18,7 @@ }; jalr = { - bootloader = "systemd-boot"; + bootloader = "lanzaboote"; bluetooth.enable = true; uefi.enable = true; gui.enable = true; diff --git a/modules/bootloader/default.nix b/modules/bootloader/default.nix index 22c07a5..bcb2908 100644 --- a/modules/bootloader/default.nix +++ b/modules/bootloader/default.nix @@ -1,15 +1,16 @@ -{ config, lib, pkgs, ... }: +{ lib, ... }: { options.jalr = { bootloader = lib.mkOption { - type = lib.types.nullOr (lib.types.enum [ "systemd-boot" "grub2" ]); + type = lib.types.nullOr (lib.types.enum [ "systemd-boot" "grub2" "lanzaboote" ]); default = null; description = "Bootloader to install"; }; }; imports = [ - ./systemd-boot.nix ./grub2.nix + ./lanzaboote.nix + ./systemd-boot.nix ]; } diff --git a/modules/bootloader/lanzaboote.nix b/modules/bootloader/lanzaboote.nix new file mode 100644 index 0000000..92f0820 --- /dev/null +++ b/modules/bootloader/lanzaboote.nix @@ -0,0 +1,8 @@ +{ config, lib, ... }: + +lib.mkIf (config.jalr.bootloader == "lanzaboote") { + boot.lanzaboote = { + enable = true; + pkiBundle = "/etc/secureboot"; + }; +} diff --git a/modules/bootloader/systemd-boot.nix b/modules/bootloader/systemd-boot.nix index 96cab4d..995bb0b 100644 --- a/modules/bootloader/systemd-boot.nix +++ b/modules/bootloader/systemd-boot.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ config, lib, ... }: lib.mkIf (config.jalr.bootloader == "systemd-boot") { boot = { From e180a20b7d8da734d81f0f818947dc4b0c7621d1 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 4 Jul 2024 16:11:49 +0200 Subject: [PATCH 404/766] Format file using black --- .../myintercom_doorbell/connection.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pkgs/myintercom-doorbell/myintercom_doorbell/connection.py b/pkgs/myintercom-doorbell/myintercom_doorbell/connection.py index 12767ea..a5e968e 100644 --- a/pkgs/myintercom-doorbell/myintercom_doorbell/connection.py +++ b/pkgs/myintercom-doorbell/myintercom_doorbell/connection.py @@ -13,9 +13,15 @@ from time import sleep @dataclass(frozen=True) class types_struct: uuid: bytes = b"\x01" # Message payload contains UUID set in Asterisk Dialplan - audio: bytes = b"\x10" # * Message payload contains 8Khz 16-bit mono LE PCM audio (* See Github readme) - silence: bytes = b"\x02" # Message payload contains silence (I've never seen this occur personally) - hangup: bytes = b"\x00" # Tell Asterisk to hangup the call (This doesn't appear to ever be sent from Asterisk to us) + audio: bytes = ( + b"\x10" # * Message payload contains 8Khz 16-bit mono LE PCM audio (* See Github readme) + ) + silence: bytes = ( + b"\x02" # Message payload contains silence (I've never seen this occur personally) + ) + hangup: bytes = ( + b"\x00" # Tell Asterisk to hangup the call (This doesn't appear to ever be sent from Asterisk to us) + ) error: bytes = b"\xff" # Message payload contains an error from Asterisk From 547b2e8601e38b2a2919f240d6ddb9e1fff00bd2 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 4 Jul 2024 16:14:01 +0200 Subject: [PATCH 405/766] Add vesc-tool --- users/jalr/modules/default.nix | 1 + users/jalr/modules/vesc-tool.nix | 5 +++++ 2 files changed, 6 insertions(+) create mode 100644 users/jalr/modules/vesc-tool.nix diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index 6f4adf6..bbd599c 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -37,5 +37,6 @@ ./tmux.nix ./tor-browser.nix ./vdirsyncer.nix + ./vesc-tool.nix ]; } diff --git a/users/jalr/modules/vesc-tool.nix b/users/jalr/modules/vesc-tool.nix new file mode 100644 index 0000000..81ac31d --- /dev/null +++ b/users/jalr/modules/vesc-tool.nix @@ -0,0 +1,5 @@ +{ nixosConfig, lib, pkgs, ... }: + +lib.mkIf nixosConfig.jalr.gui.enable { + home.packages = with pkgs; [ vesc-tool ]; +} From d6a82588c3bd0457a544cb640b853a937434ba65 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 4 Jul 2024 16:14:51 +0200 Subject: [PATCH 406/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/544a80a69d6e2da04e4df7ec8210a858de8c7533' (2024-07-01) → 'github:nix-community/disko/64679cd7f318c9b6595902b47d4585b1d51d5f9e' (2024-07-04) • Updated input 'home-manager': 'github:nix-community/home-manager/391ca6e950c2525b4f853cbe29922452c14eda82' (2024-07-01) → 'github:nix-community/home-manager/e1391fb22e18a36f57e6999c7a9f966dc80ac073' (2024-07-03) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/d032c1a6dfad4eedec7e35e91986becc699d7d69' (2024-07-01) → 'github:nixos/nixpkgs/706eef542dec88cc0ed25b9075d3037564b2d164' (2024-07-02) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/e689d1116660575bac669cbbe1cc05999bbd2f0f' (2024-07-02) → 'github:NixOS/nixpkgs/c84f25977d0984b5a5c8664522cc899e4f2b592d' (2024-07-04) • Updated input 'nur': 'github:nix-community/NUR/6206fd683edcb79c4a0592cf25e610449ed0d82d' (2024-07-02) → 'github:nix-community/NUR/3bea142e43206126968fdae8a262e18be760c998' (2024-07-04) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 305c277..7d9df80 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1719864345, - "narHash": "sha256-e4Pw+30vFAxuvkSTaTypd9zYemB/QlWcH186dsGT+Ms=", + "lastModified": 1720056646, + "narHash": "sha256-BymcV4HWtx2VFuabDCM4/nEJcfivCx0S02wUCz11mAY=", "owner": "nix-community", "repo": "disko", - "rev": "544a80a69d6e2da04e4df7ec8210a858de8c7533", + "rev": "64679cd7f318c9b6595902b47d4585b1d51d5f9e", "type": "github" }, "original": { @@ -203,11 +203,11 @@ ] }, "locked": { - "lastModified": 1719827385, - "narHash": "sha256-qs+nU20Sm8czHg3bhGCqiH+8e13BJyRrKONW34g3i50=", + "lastModified": 1720042825, + "narHash": "sha256-A0vrUB6x82/jvf17qPCpxaM+ulJnD8YZwH9Ci0BsAzE=", "owner": "nix-community", "repo": "home-manager", - "rev": "391ca6e950c2525b4f853cbe29922452c14eda82", + "rev": "e1391fb22e18a36f57e6999c7a9f966dc80ac073", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1719838683, - "narHash": "sha256-Zw9rQjHz1ilNIimEXFeVa1ERNRBF8DoXDhLAZq5B4pE=", + "lastModified": 1719956923, + "narHash": "sha256-nNJHJ9kfPdzYsCOlHOnbiiyKjZUW5sWbwx3cakg3/C4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d032c1a6dfad4eedec7e35e91986becc699d7d69", + "rev": "706eef542dec88cc0ed25b9075d3037564b2d164", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1719909084, - "narHash": "sha256-GxoaFEsoQZhP7YDzLhilmlUlX2vLnzsizM6ACQlbd8A=", + "lastModified": 1720102434, + "narHash": "sha256-EjgHuIzTpZcHHmRDxZovObybc2fmQWND7UG/Njpw2yU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e689d1116660575bac669cbbe1cc05999bbd2f0f", + "rev": "c84f25977d0984b5a5c8664522cc899e4f2b592d", "type": "github" }, "original": { @@ -410,11 +410,11 @@ }, "nur": { "locked": { - "lastModified": 1719908032, - "narHash": "sha256-veUPZ3anuH+PQn/CLcNlP0oiuHctzeIDa2w+DzVGE4E=", + "lastModified": 1720101913, + "narHash": "sha256-9R3asnufwGpOexYMJXzzndPmnTo1aHTe7/En52zCaW4=", "owner": "nix-community", "repo": "NUR", - "rev": "6206fd683edcb79c4a0592cf25e610449ed0d82d", + "rev": "3bea142e43206126968fdae8a262e18be760c998", "type": "github" }, "original": { From e7b017596c41e181278d2d04ed5b1ca3bb9befa8 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 4 Jul 2024 18:50:49 +0200 Subject: [PATCH 407/766] Decrease DPMS off time This will first turn off the screen and then lock it. If I sit in front of the computer, I still have a chance to prevent the locking. --- users/jalr/modules/sway/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/users/jalr/modules/sway/default.nix b/users/jalr/modules/sway/default.nix index 6712c0a..d9565a9 100644 --- a/users/jalr/modules/sway/default.nix +++ b/users/jalr/modules/sway/default.nix @@ -336,7 +336,7 @@ in ExecStart = '' ${pkgs.swayidle}/bin/swayidle -w \ timeout 300 "${pkgs.swaylock}/bin/swaylock -f -i ${wallpaper}" \ - timeout 300 '${pkgs.sway}/bin/swaymsg "output * dpms off"' \ + timeout 270 '${pkgs.sway}/bin/swaymsg "output * dpms off"' \ resume '${pkgs.sway}/bin/swaymsg "output * dpms on"' \ before-sleep "${pkgs.swaylock}/bin/swaylock -f -i ${wallpaper}" ''; From f7e4eecee5f365b0c2cfe97e74607fe0c180d9be Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 4 Jul 2024 18:51:51 +0200 Subject: [PATCH 408/766] Add timewarrior --- users/jalr/modules/sway/default.nix | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/users/jalr/modules/sway/default.nix b/users/jalr/modules/sway/default.nix index d9565a9..b53f2fb 100644 --- a/users/jalr/modules/sway/default.nix +++ b/users/jalr/modules/sway/default.nix @@ -36,6 +36,24 @@ let ${pkgs.glib}/bin/gsettings "$@" ''; matchHostname = (hostname: lib.optionalAttrs (nixosConfig.networking.hostName == hostname)); + resumeTimeTrackingNotification = pkgs.writeShellScript "resume-time-tracking-notification" '' + export PATH=${pkgs.lib.makeBinPath [pkgs.timewarrior pkgs.libnotify]} + task="$1" + date="$2" + if [ $(notify-send --action 'default=Resume time tracking' "Tracking '$task' stopped at $date, resume?") = "default" ]; then + timew continue + fi + ''; + lockScreen = pkgs.writeShellScript "lock-screen" '' + export PATH="${pkgs.lib.makeBinPath [pkgs.gnused pkgs.timewarrior pkgs.coreutils pkgs.swaylock]}" + task="$(timew | sed -n -r 's/^Tracking (.*)$/\1/p')" + date="$(date --rfc-3339=seconds)" + if [ "$task" != "" ]; then + timew stop + nohup ${resumeTimeTrackingNotification} "$task" "$date" >/dev/null 2>&1 & + fi + swaylock -f -i ${wallpaper} + ''; in { imports = lib.optionals nixosConfig.jalr.gui.enable [ @@ -49,10 +67,12 @@ in } // (lib.mkIf nixosConfig.jalr.gui.enable { home.packages = with pkgs; [ gsettings + libnotify # notify-send mako slurp swappy # screenshot editing sway-contrib.grimshot # screenshots + timewarrior wdisplays # graphical output manager wl-clipboard wl-mirror @@ -228,7 +248,7 @@ in "XF86AudioMute" = "exec pactl set-source-mute alsa_input.usb-BEHRINGER_UMC202HD_192k-00.HiFi__umc202hd_mono_in_U192k_0_1__source toggle"; - "${cfg.modifier}+l" = "exec ${pkgs.swaylock}/bin/swaylock -f -i ${wallpaper}"; + "${cfg.modifier}+l" = "exec ${lockScreen}"; }; bars = [ ]; # managed as systemd user unit @@ -335,10 +355,10 @@ in Environment = "PATH=${pkgs.bash}/bin:${config.wayland.windowManager.sway.package}/bin"; ExecStart = '' ${pkgs.swayidle}/bin/swayidle -w \ - timeout 300 "${pkgs.swaylock}/bin/swaylock -f -i ${wallpaper}" \ + timeout 300 "${lockScreen}" \ timeout 270 '${pkgs.sway}/bin/swaymsg "output * dpms off"' \ resume '${pkgs.sway}/bin/swaymsg "output * dpms on"' \ - before-sleep "${pkgs.swaylock}/bin/swaylock -f -i ${wallpaper}" + before-sleep "${lockScreen}" ''; Restart = "on-failure"; }; From 48560242fd4aa611666dc4b3a0b7295d387a6a55 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 4 Jul 2024 21:40:16 +0200 Subject: [PATCH 409/766] Remove unnecessary clutter --- pkgs/vesc-tool/firmware.nix | 12 ++---------- pkgs/vesc-tool/tool.nix | 16 ++-------------- 2 files changed, 4 insertions(+), 24 deletions(-) diff --git a/pkgs/vesc-tool/firmware.nix b/pkgs/vesc-tool/firmware.nix index 50613f9..0f84683 100644 --- a/pkgs/vesc-tool/firmware.nix +++ b/pkgs/vesc-tool/firmware.nix @@ -1,12 +1,11 @@ -{ lib -, stdenv +{ stdenv , fetchFromGitHub , gcc-arm-embedded-7 , python311 , git }: -stdenv.mkDerivation rec { +stdenv.mkDerivation { pname = "vesc-firmware"; version = "master"; @@ -22,13 +21,6 @@ stdenv.mkDerivation rec { gcc-arm-embedded-7 python311 git - # bash - # libsForQt5.qmake - # libsForQt5.qtconnectivity - # libsForQt5.qtgamepad - # libsForQt5.qtlocation - # libsForQt5.qtquickcontrols2 - # libsForQt5.qtserialport ]; buildCommand = '' diff --git a/pkgs/vesc-tool/tool.nix b/pkgs/vesc-tool/tool.nix index ee9f906..0b3a1c1 100644 --- a/pkgs/vesc-tool/tool.nix +++ b/pkgs/vesc-tool/tool.nix @@ -1,5 +1,4 @@ -{ lib -, stdenv +{ stdenv , fetchFromGitHub , libsForQt5 , vesc-firmware @@ -17,14 +16,13 @@ let ''; in -stdenv.mkDerivation rec { +stdenv.mkDerivation { pname = "vesc_tool"; version = "master"; src = fetchFromGitHub { owner = "vedderb"; repo = "vesc_tool"; - #rev = "f3c6fe5f5dcf0cb2fba7676204ea3db1dc8ff4ee"; # release_6_02 rev = "4a0edea5846d973e5da510fbe11ce009aaf21a96"; sha256 = "18ue6YBVcggr4qyHpCorrh01oeo4i58Jgp9Twaq+DlI="; @@ -49,11 +47,6 @@ stdenv.mkDerivation rec { ]; buildPhase = '' - tempdir="$(mktemp -d)" - cp -r "$src/." "$tempdir/" - chmod -R +w "$tempdir" - cd "$tempdir" - mkdir -p res/firmwares/ cp ${qresource} res/firmwares/res_fw.qrc cp ${vesc-firmware}/*.bin res/firmwares @@ -65,9 +58,4 @@ stdenv.mkDerivation rec { mkdir -p $out/bin cp build/lin/* $out/bin ''; - - #postFixup = '' - # #wrapQtApp $out/bin/vesc_tool_6.05 - # #Builder called die: Cannot wrap '/nix/store/yppigini483d9kj8sn1cbjxp4cy81qqj-vesc_tool-master/bin/vesc_tool_6.02' because it is not an executable file - #''; } From 31564aa64f489ed309c141d4f52ae2b6901de1f1 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 4 Jul 2024 21:40:33 +0200 Subject: [PATCH 410/766] Add VESC model 60 --- pkgs/vesc-tool/firmware.nix | 8 +++++--- pkgs/vesc-tool/tool.nix | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/vesc-tool/firmware.nix b/pkgs/vesc-tool/firmware.nix index 0f84683..f2c31dd 100644 --- a/pkgs/vesc-tool/firmware.nix +++ b/pkgs/vesc-tool/firmware.nix @@ -24,13 +24,15 @@ stdenv.mkDerivation { ]; buildCommand = '' + set -x cp -r $src bldc ( cd bldc chmod +w . - #make all_fw_package - make fw_410 + make fw_410 fw_60 ) - cp -r bldc/build/* $out + mkdir -p $out + find bldc + cp --target-directory=$out --recursive bldc/build/*/*.{bin,hex} ''; } diff --git a/pkgs/vesc-tool/tool.nix b/pkgs/vesc-tool/tool.nix index 0b3a1c1..4043910 100644 --- a/pkgs/vesc-tool/tool.nix +++ b/pkgs/vesc-tool/tool.nix @@ -12,6 +12,7 @@ let 410.bin + 60.bin ''; From a3f10e48c7e857350624e749f9fb9cdb46049106 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 5 Jul 2024 04:05:16 +0200 Subject: [PATCH 411/766] Update VESC and fix adding firmware --- pkgs/vesc-tool/firmware.nix | 22 +++++++++++++--------- pkgs/vesc-tool/tool.nix | 31 ++++++++----------------------- 2 files changed, 21 insertions(+), 32 deletions(-) diff --git a/pkgs/vesc-tool/firmware.nix b/pkgs/vesc-tool/firmware.nix index f2c31dd..9db0fdc 100644 --- a/pkgs/vesc-tool/firmware.nix +++ b/pkgs/vesc-tool/firmware.nix @@ -2,37 +2,41 @@ , fetchFromGitHub , gcc-arm-embedded-7 , python311 -, git +, writeShellScriptBin }: -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "vesc-firmware"; version = "master"; src = fetchFromGitHub { owner = "vedderb"; repo = "bldc"; - rev = "f7c2b34e1cff2234cae98be3abf0cd50e249558f"; # release_6_02 - sha256 = "BJwxmtYjQhxV8O0Ze9k0cPz0ubJnq5ePUd/9tGx35jo="; + rev = "dd3b97b041c325acfb95ac1adb550d28390ea253"; + sha256 = "2Zex2FNkedO4wjG05CQIyVFU0i0/+O9V3LzsxHZOnvg="; fetchSubmodules = true; }; nativeBuildInputs = [ gcc-arm-embedded-7 python311 - git + (writeShellScriptBin "git" '' + if [ "$*" != "rev-parse --short HEAD" ]; then + exit 1 + fi + echo "${src.rev}" + '') ]; buildCommand = '' - set -x cp -r $src bldc ( cd bldc chmod +w . - make fw_410 fw_60 + make -j $NIX_BUILD_CORES fw_410 fw_60 + python package_firmware.py ) mkdir -p $out - find bldc - cp --target-directory=$out --recursive bldc/build/*/*.{bin,hex} + cp --recursive --target-directory=$out bldc/package/* ''; } diff --git a/pkgs/vesc-tool/tool.nix b/pkgs/vesc-tool/tool.nix index 4043910..3cb591d 100644 --- a/pkgs/vesc-tool/tool.nix +++ b/pkgs/vesc-tool/tool.nix @@ -2,21 +2,9 @@ , fetchFromGitHub , libsForQt5 , vesc-firmware -, writeText , qt5 }: -let - qresource = writeText "res_fw.qrc" - '' - - - 410.bin - 60.bin - - - ''; -in stdenv.mkDerivation { pname = "vesc_tool"; version = "master"; @@ -24,8 +12,8 @@ stdenv.mkDerivation { src = fetchFromGitHub { owner = "vedderb"; repo = "vesc_tool"; - rev = "4a0edea5846d973e5da510fbe11ce009aaf21a96"; - sha256 = "18ue6YBVcggr4qyHpCorrh01oeo4i58Jgp9Twaq+DlI="; + rev = "211f5d317542a3674df638405485a143a23f67ce"; + sha256 = "liF2JbcrRtVPSySJhY7CHRghsBV3gKRGD40pKVD19wE="; fetchSubmodules = true; }; @@ -35,10 +23,6 @@ stdenv.mkDerivation { qt5.wrapQtAppsHook ]; - buildInputs = [ - vesc-firmware - ]; - propagatedBuildInputs = with qt5; [ qtconnectivity qtgamepad @@ -47,14 +31,15 @@ stdenv.mkDerivation { qtserialport ]; - buildPhase = '' - mkdir -p res/firmwares/ - cp ${qresource} res/firmwares/res_fw.qrc - cp ${vesc-firmware}/*.bin res/firmwares + dontConfigure = true; + buildPhase = '' + for f in ${vesc-firmware}/*; do + ln -s "$f" res/firmwares/ + done qmake -config release "CONFIG += release_lin build_platinum" make clean - make -j8 + make -j $NIX_BUILD_CORES rm -rf build/lin/obj mkdir -p $out/bin cp build/lin/* $out/bin From 3a5da3b792db917a28410271f501c2653e2864f1 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 8 Jul 2024 10:28:36 +0200 Subject: [PATCH 412/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/64679cd7f318c9b6595902b47d4585b1d51d5f9e' (2024-07-04) → 'github:nix-community/disko/f1a00e7f55dc266ef286cc6fc8458fa2b5ca2414' (2024-07-08) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/6e253f12b1009053eff5344be5e835f604bb64cd' (2024-07-02) → 'github:nixos/nixos-hardware/da0aa7b533d49e6319c603e07b46a5690082f65f' (2024-07-07) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/706eef542dec88cc0ed25b9075d3037564b2d164' (2024-07-02) → 'github:nixos/nixpkgs/49ee0e94463abada1de470c9c07bfc12b36dcf40' (2024-07-06) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/c84f25977d0984b5a5c8664522cc899e4f2b592d' (2024-07-04) → 'github:NixOS/nixpkgs/f7c2368d09adf1e93c84234454b8342f328abca7' (2024-07-08) • Updated input 'nur': 'github:nix-community/NUR/3bea142e43206126968fdae8a262e18be760c998' (2024-07-04) → 'github:nix-community/NUR/db025ae0e02678497a77cff0a174062d913fbc39' (2024-07-08) • Updated input 'sops-nix': 'github:Mic92/sops-nix/a11224af8d824935f363928074b4717ca2e280db' (2024-07-01) → 'github:Mic92/sops-nix/c184aca4db5d71c3db0c8cbfcaaec337a5d065ea' (2024-07-07) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/4a1e673523344f6ccc84b37f4413ad74ea19a119' (2024-06-29) → 'github:NixOS/nixpkgs/550ac3e955c30fe96dd8b2223e37e0f5d225c927' (2024-07-06) --- flake.lock | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/flake.lock b/flake.lock index 7d9df80..4860d13 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1720056646, - "narHash": "sha256-BymcV4HWtx2VFuabDCM4/nEJcfivCx0S02wUCz11mAY=", + "lastModified": 1720402389, + "narHash": "sha256-zJv6euDOrJWMHBhxfp/ay+Dvjwpe8YtMuEI5b09bxmo=", "owner": "nix-community", "repo": "disko", - "rev": "64679cd7f318c9b6595902b47d4585b1d51d5f9e", + "rev": "f1a00e7f55dc266ef286cc6fc8458fa2b5ca2414", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1719895800, - "narHash": "sha256-xNbjISJTFailxass4LmdWeV4jNhAlmJPwj46a/GxE6M=", + "lastModified": 1720372297, + "narHash": "sha256-bwy1rPQSQSCj/TNf1yswHW88nBQYvJQkeScGvOA8pd4=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "6e253f12b1009053eff5344be5e835f604bb64cd", + "rev": "da0aa7b533d49e6319c603e07b46a5690082f65f", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1719956923, - "narHash": "sha256-nNJHJ9kfPdzYsCOlHOnbiiyKjZUW5sWbwx3cakg3/C4=", + "lastModified": 1720244366, + "narHash": "sha256-WrDV0FPMVd2Sq9hkR5LNHudS3OSMmUrs90JUTN+MXpA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "706eef542dec88cc0ed25b9075d3037564b2d164", + "rev": "49ee0e94463abada1de470c9c07bfc12b36dcf40", "type": "github" }, "original": { @@ -378,27 +378,27 @@ }, "nixpkgs-stable_3": { "locked": { - "lastModified": 1719663039, - "narHash": "sha256-tXlrgAQygNIy49LDVFuPXlWD2zTQV9/F8pfoqwwPJyo=", + "lastModified": 1720282526, + "narHash": "sha256-dudRkHPRivMNOhd04YI+v4sWvn2SnN5ODSPIu5IVbco=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4a1e673523344f6ccc84b37f4413ad74ea19a119", + "rev": "550ac3e955c30fe96dd8b2223e37e0f5d225c927", "type": "github" }, "original": { "owner": "NixOS", - "ref": "release-23.11", + "ref": "release-24.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgsMaster": { "locked": { - "lastModified": 1720102434, - "narHash": "sha256-EjgHuIzTpZcHHmRDxZovObybc2fmQWND7UG/Njpw2yU=", + "lastModified": 1720427250, + "narHash": "sha256-Ny3Tk3pHPI/TIeuWNGh06NKqeCnfjOS1jncrLBogcbc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c84f25977d0984b5a5c8664522cc899e4f2b592d", + "rev": "f7c2368d09adf1e93c84234454b8342f328abca7", "type": "github" }, "original": { @@ -410,11 +410,11 @@ }, "nur": { "locked": { - "lastModified": 1720101913, - "narHash": "sha256-9R3asnufwGpOexYMJXzzndPmnTo1aHTe7/En52zCaW4=", + "lastModified": 1720422264, + "narHash": "sha256-oPd3E1XD2sjOsi32hTpklOZevwg2DjhYWYY14IbSC/s=", "owner": "nix-community", "repo": "NUR", - "rev": "3bea142e43206126968fdae8a262e18be760c998", + "rev": "db025ae0e02678497a77cff0a174062d913fbc39", "type": "github" }, "original": { @@ -526,11 +526,11 @@ "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { - "lastModified": 1719873517, - "narHash": "sha256-D1dxZmXf6M2h5lNE1m6orojuUawVPjogbGRsqSBX+1g=", + "lastModified": 1720321395, + "narHash": "sha256-kcI8q9Nh8/CSj0ygfWq1DLckHl8IHhFarL8ie6g7OEk=", "owner": "Mic92", "repo": "sops-nix", - "rev": "a11224af8d824935f363928074b4717ca2e280db", + "rev": "c184aca4db5d71c3db0c8cbfcaaec337a5d065ea", "type": "github" }, "original": { From 5539880ddb85c23775126a9851e938462f0f06af Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 8 Jul 2024 11:26:24 +0200 Subject: [PATCH 413/766] Add kanshi --- users/jalr/modules/gui.nix | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/users/jalr/modules/gui.nix b/users/jalr/modules/gui.nix index d3c71d2..dac9372 100644 --- a/users/jalr/modules/gui.nix +++ b/users/jalr/modules/gui.nix @@ -17,4 +17,33 @@ lib.mkIf nixosConfig.jalr.gui.enable { vlc xdg_utils ]; + + services.kanshi = { + enable = true; + settings = [ + { + profile.name = "laemmermann"; + profile.outputs = [ + { + criteria = "ViewSonic Corporation VX3276-QHD VSX2403A0490"; + status = "enable"; + mode = "2560x1440@59.951Hz"; + position = "0,0"; + } + { + criteria = "ViewSonic Corporation VX3276-QHD VSX2351A0801"; + status = "enable"; + mode = "2560x1440@59.951Hz"; + position = "2560,0"; + } + { + criteria = "eDP-1"; + status = "enable"; + mode = "2560x1600"; + position = "5120,0"; + } + ]; + } + ]; + }; } From 4a9a063c4098c26a5f1652f70b703ada6aa8be60 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 12 Jul 2024 13:28:05 +0200 Subject: [PATCH 414/766] Add fw-ectool --- hosts/copper/hardware-configuration.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/hosts/copper/hardware-configuration.nix b/hosts/copper/hardware-configuration.nix index ef93cab..aa46864 100644 --- a/hosts/copper/hardware-configuration.nix +++ b/hosts/copper/hardware-configuration.nix @@ -1,4 +1,4 @@ -{ config, lib, modulesPath, ... }: +{ config, lib, pkgs, modulesPath, ... }: { imports = [ @@ -11,4 +11,8 @@ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + + environment.systemPackages = with pkgs; [ + fw-ectool + ]; } From 22580177d52befdbc215dd08622a7a87617c2434 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 17 Jul 2024 11:39:25 +0200 Subject: [PATCH 415/766] Add twig parser --- users/jalr/modules/neovim.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/users/jalr/modules/neovim.nix b/users/jalr/modules/neovim.nix index f2b216d..4654577 100644 --- a/users/jalr/modules/neovim.nix +++ b/users/jalr/modules/neovim.nix @@ -94,6 +94,13 @@ in nnoremap Telescope buffers ''; } + nvim-treesitter-parsers.twig + { + plugin = nvim-treesitter; + config = '' + lua require'nvim-treesitter.configs'.setup { highlight = { enable = true, }, } + ''; + } vim-gitgutter vim-indent-guides vim-nix From c132be812e54d6db32364b670ae6c1ef5f28bfd8 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 17 Jul 2024 21:02:53 +0200 Subject: [PATCH 416/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/f1a00e7f55dc266ef286cc6fc8458fa2b5ca2414' (2024-07-08) → 'github:nix-community/disko/bad376945de7033c7adc424c02054ea3736cf7c4' (2024-07-15) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07' (2024-06-24) → 'github:cachix/git-hooks.nix/f451c19376071a90d8c58ab1a953c6e9840527fd' (2024-07-15) • Updated input 'nix-pre-commit-hooks/nixpkgs-stable': 'github:NixOS/nixpkgs/03d771e513ce90147b65fe922d87d3a0356fc125' (2024-06-19) → 'github:NixOS/nixpkgs/194846768975b7ad2c4988bdb82572c00222c0d7' (2024-07-07) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/da0aa7b533d49e6319c603e07b46a5690082f65f' (2024-07-07) → 'github:nixos/nixos-hardware/c5013aa7ce2c7ec90acee5d965d950c8348db751' (2024-07-11) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/49ee0e94463abada1de470c9c07bfc12b36dcf40' (2024-07-06) → 'github:nixos/nixpkgs/53e81e790209e41f0c1efa9ff26ff2fd7ab35e27' (2024-07-14) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/f7c2368d09adf1e93c84234454b8342f328abca7' (2024-07-08) → 'github:NixOS/nixpkgs/3f7fcbb2f91ec01dfb2574567d668494a56304e7' (2024-07-17) • Updated input 'nur': 'github:nix-community/NUR/db025ae0e02678497a77cff0a174062d913fbc39' (2024-07-08) → 'github:nix-community/NUR/f33f46c1e38b07b20a978ac39208058ab9ddedb1' (2024-07-17) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/42262f382c68afab1113ebd1911d0c93822d756e' (2024-07-01) → 'github:nix-community/poetry2nix/d11c01e58587e5f21037ed6477465a7f26a32e27' (2024-07-15) • Updated input 'sops-nix': 'github:Mic92/sops-nix/c184aca4db5d71c3db0c8cbfcaaec337a5d065ea' (2024-07-07) → 'github:Mic92/sops-nix/0703ba03fd9c1665f8ab68cc3487302475164617' (2024-07-14) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/550ac3e955c30fe96dd8b2223e37e0f5d225c927' (2024-07-06) → 'github:NixOS/nixpkgs/74348da2f3a312ee25cea09b98cdba4cb9fa5d5d' (2024-07-14) --- flake.lock | 62 +++++++++++++++++++++++++++--------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/flake.lock b/flake.lock index 4860d13..ce87ae1 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1720402389, - "narHash": "sha256-zJv6euDOrJWMHBhxfp/ay+Dvjwpe8YtMuEI5b09bxmo=", + "lastModified": 1721007199, + "narHash": "sha256-Gof4Lj1rgTrX59bNu5b/uS/3X/marUGM7LYw31NoXEA=", "owner": "nix-community", "repo": "disko", - "rev": "f1a00e7f55dc266ef286cc6fc8458fa2b5ca2414", + "rev": "bad376945de7033c7adc424c02054ea3736cf7c4", "type": "github" }, "original": { @@ -298,11 +298,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1719259945, - "narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=", + "lastModified": 1721042469, + "narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07", + "rev": "f451c19376071a90d8c58ab1a953c6e9840527fd", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1720372297, - "narHash": "sha256-bwy1rPQSQSCj/TNf1yswHW88nBQYvJQkeScGvOA8pd4=", + "lastModified": 1720737798, + "narHash": "sha256-G/OtEAts7ZUvW5lrGMXSb8HqRp2Jr9I7reBuvCOL54w=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "da0aa7b533d49e6319c603e07b46a5690082f65f", + "rev": "c5013aa7ce2c7ec90acee5d965d950c8348db751", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1720244366, - "narHash": "sha256-WrDV0FPMVd2Sq9hkR5LNHudS3OSMmUrs90JUTN+MXpA=", + "lastModified": 1720954236, + "narHash": "sha256-1mEKHp4m9brvfQ0rjCca8P1WHpymK3TOr3v34ydv9bs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "49ee0e94463abada1de470c9c07bfc12b36dcf40", + "rev": "53e81e790209e41f0c1efa9ff26ff2fd7ab35e27", "type": "github" }, "original": { @@ -362,27 +362,27 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1718811006, - "narHash": "sha256-0Y8IrGhRmBmT7HHXlxxepg2t8j1X90++qRN3lukGaIk=", + "lastModified": 1720386169, + "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "03d771e513ce90147b65fe922d87d3a0356fc125", + "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-23.11", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-stable_3": { "locked": { - "lastModified": 1720282526, - "narHash": "sha256-dudRkHPRivMNOhd04YI+v4sWvn2SnN5ODSPIu5IVbco=", + "lastModified": 1720915306, + "narHash": "sha256-6vuViC56+KSr+945bCV8akHK+7J5k6n/epYg/W3I5eQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "550ac3e955c30fe96dd8b2223e37e0f5d225c927", + "rev": "74348da2f3a312ee25cea09b98cdba4cb9fa5d5d", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1720427250, - "narHash": "sha256-Ny3Tk3pHPI/TIeuWNGh06NKqeCnfjOS1jncrLBogcbc=", + "lastModified": 1721241996, + "narHash": "sha256-4An0f26vnpKA9vm1FG0XtOxDaPHiTrziTekwaX3J3jE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f7c2368d09adf1e93c84234454b8342f328abca7", + "rev": "3f7fcbb2f91ec01dfb2574567d668494a56304e7", "type": "github" }, "original": { @@ -410,11 +410,11 @@ }, "nur": { "locked": { - "lastModified": 1720422264, - "narHash": "sha256-oPd3E1XD2sjOsi32hTpklOZevwg2DjhYWYY14IbSC/s=", + "lastModified": 1721241063, + "narHash": "sha256-jBAuwmtJmSNT6xwjtGINslFK0m3R3+Ydw+xrd+a3tSE=", "owner": "nix-community", "repo": "NUR", - "rev": "db025ae0e02678497a77cff0a174062d913fbc39", + "rev": "f33f46c1e38b07b20a978ac39208058ab9ddedb1", "type": "github" }, "original": { @@ -436,11 +436,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1719850884, - "narHash": "sha256-UU/lVTHFx0GpEkihoLJrMuM9DcuhZmNe3db45vshSyI=", + "lastModified": 1721039874, + "narHash": "sha256-XANsG9GYHip8pxZpbqKf/YGv8tIa0xTh289Y+WNBNfw=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "42262f382c68afab1113ebd1911d0c93822d756e", + "rev": "d11c01e58587e5f21037ed6477465a7f26a32e27", "type": "github" }, "original": { @@ -526,11 +526,11 @@ "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { - "lastModified": 1720321395, - "narHash": "sha256-kcI8q9Nh8/CSj0ygfWq1DLckHl8IHhFarL8ie6g7OEk=", + "lastModified": 1720926522, + "narHash": "sha256-eTpnrT6yu1vp8C0B5fxHXhgKxHoYMoYTEikQx///jxY=", "owner": "Mic92", "repo": "sops-nix", - "rev": "c184aca4db5d71c3db0c8cbfcaaec337a5d065ea", + "rev": "0703ba03fd9c1665f8ab68cc3487302475164617", "type": "github" }, "original": { From 97642bd6a1f8e1801c67a6970caba4bc8829b252 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 17 Jul 2024 23:07:53 +0200 Subject: [PATCH 417/766] Enable automatic garbage collection --- modules/nix.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/nix.nix b/modules/nix.nix index c6910ea..94aca4f 100644 --- a/modules/nix.nix +++ b/modules/nix.nix @@ -26,6 +26,11 @@ max-free = lib.mkDefault (3000 * 1024 * 1024); min-free = lib.mkDefault (512 * 1024 * 10); }; + gc = { + automatic = true; + options = "--delete-older-than 30d"; + randomizedDelaySec = "60 min"; + }; }; systemd.services.nix-daemon.serviceConfig.OOMScoreAdjust = 250; From 50d3be57fe2ca1435de65204d9a36255e909be22 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 17 Jul 2024 23:09:01 +0200 Subject: [PATCH 418/766] Enable nftables --- hosts/aluminium/configuration.nix | 18 +++++++----------- hosts/iron/configuration.nix | 9 +++------ modules/networking/default.nix | 2 ++ 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/hosts/aluminium/configuration.nix b/hosts/aluminium/configuration.nix index 40cb8ef..7e843b6 100644 --- a/hosts/aluminium/configuration.nix +++ b/hosts/aluminium/configuration.nix @@ -1,9 +1,5 @@ { config, lib, pkgs, ... }: -let - iptablesAppendIfMissing = rule: "iptables -C " + rule + " || iptables -A " + rule; - iptablesInsertIfMissing = rule: "iptables -C " + rule + " || iptables -I " + rule; -in { imports = [ ./hardware-configuration.nix @@ -78,13 +74,13 @@ in "voice" ]; }; - firewall = { - extraCommands = lib.concatStringsSep "\n" [ - (iptablesAppendIfMissing "FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu") - (iptablesInsertIfMissing "INPUT -i voice -p udp -m udp --dport 5060 -j ACCEPT") - (iptablesInsertIfMissing "INPUT -s 217.10.68.150 -p udp --dport 5060 -j ACCEPT") - ]; - }; + firewall.extraForwardRules = '' + tcp flags syn tcp option maxseg size set rt mtu + ''; + firewall.extraInputRules = '' + iifname "voice" udp dport 5059 accept + ip saddr 217.10.68.150 udp dport 5060 accept + ''; }; diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index 398fd7a..31d5069 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -29,7 +29,6 @@ let biosBoot = "-part4"; }; efiSystemPartitions = (map (diskName: diskName + partitionScheme.efiBoot) disks); - iptablesAppendIfMissing = rule: "iptables -C " + rule + " || iptables -A " + rule; in with lib; { imports = [ @@ -75,11 +74,9 @@ with lib; { ]; }; - firewall = { - extraCommands = lib.concatStringsSep "\n" [ - (iptablesAppendIfMissing "FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu") - ]; - }; + firewall.extraForwardRules = '' + tcp flags syn tcp option maxseg size set rt mtu + ''; }; services.radvd = { diff --git a/modules/networking/default.nix b/modules/networking/default.nix index 98c88ed..065c24b 100644 --- a/modules/networking/default.nix +++ b/modules/networking/default.nix @@ -8,4 +8,6 @@ ]; networking.firewall.logRefusedConnections = lib.mkDefault false; + + networking.nftables.enable = true; } From d21d155a0eb79e22224650c429fdeb27f7b03076 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 17 Jul 2024 23:15:36 +0200 Subject: [PATCH 419/766] Configure ciphers --- modules/sshd.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/sshd.nix b/modules/sshd.nix index b521e9b..01b757a 100644 --- a/modules/sshd.nix +++ b/modules/sshd.nix @@ -7,6 +7,9 @@ enable = true; settings = { KbdInteractiveAuthentication = false; + Ciphers = [ + "aes256-gcm@openssh.com" + ]; # Use key exchange algorithms recommended by `nixpkgs#ssh-audit` KexAlgorithms = [ "curve25519-sha256" From 6295e55eb82b85d54bffeb5d04dd9bdd4edb986c Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 17 Jul 2024 23:16:25 +0200 Subject: [PATCH 420/766] Allow only ed25519 host key --- modules/sshd.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/sshd.nix b/modules/sshd.nix index 01b757a..a046574 100644 --- a/modules/sshd.nix +++ b/modules/sshd.nix @@ -23,6 +23,12 @@ UseDns = false; X11Forwarding = false; }; + hostKeys = [ + { + path = "/etc/ssh/ssh_host_ed25519_key"; + type = "ed25519"; + } + ]; authorizedKeysFiles = lib.mkForce [ "/etc/ssh/authorized_keys.d/%u" ]; }; } From 37221ed58d2768062dd9d3b31d6fabce843f541f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 17 Jul 2024 23:17:21 +0200 Subject: [PATCH 421/766] Implement connection rate limiting --- modules/sshd.nix | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/modules/sshd.nix b/modules/sshd.nix index a046574..040ed09 100644 --- a/modules/sshd.nix +++ b/modules/sshd.nix @@ -1,4 +1,5 @@ { lib +, config , ... }: @@ -31,4 +32,30 @@ ]; authorizedKeysFiles = lib.mkForce [ "/etc/ssh/authorized_keys.d/%u" ]; }; + + networking.nftables.tables."nixos-fw".content = lib.mkOrder 20 '' + set ssh-ratelimit-v4 { + type ipv4_addr + timeout 60s + flags dynamic + } + + set ssh-ratelimit-v6 { + type ipv6_addr + timeout 60s + flags dynamic + } + ''; + + # Implement connection rate limit + services.openssh.openFirewall = false; + networking.firewall.extraInputRules = lib.mkOrder 5 ( + let + ports = builtins.concatStringsSep ", " (map builtins.toString config.services.openssh.ports); + in + '' + tcp dport { ${ports} } update @ssh-ratelimit-v4 { ip saddr limit rate 1/second burst 10 packets } accept + tcp dport { ${ports} } update @ssh-ratelimit-v6 { ip6 saddr limit rate 1/second burst 10 packets } accept + '' + ); } From 82d16eb239955b434f8229905561cc5fdb1465a9 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 18 Jul 2024 19:32:42 +0200 Subject: [PATCH 422/766] Add mycli --- users/jalr/modules/default.nix | 1 + users/jalr/modules/dynamic-colors.nix | 6 ++ users/jalr/modules/mycli.nix | 150 ++++++++++++++++++++++++++ 3 files changed, 157 insertions(+) create mode 100644 users/jalr/modules/mycli.nix diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index bbd599c..eb4a37f 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -21,6 +21,7 @@ ./kicad.nix ./mpv.nix ./mute-indicator.nix + ./mycli.nix ./neo.nix ./neovim.nix ./nix-index.nix diff --git a/users/jalr/modules/dynamic-colors.nix b/users/jalr/modules/dynamic-colors.nix index 82ed460..d28d856 100644 --- a/users/jalr/modules/dynamic-colors.nix +++ b/users/jalr/modules/dynamic-colors.nix @@ -33,6 +33,12 @@ let target = "theme.css"; exec = [ "${pkgs.systemd}/bin/systemctl" "--user" "restart" "waybar.service" ]; } + { + dir = "~/.config/mycli"; + light = "theme-light.ini"; + dark = "theme-dark.ini"; + target = "myclirc"; + } { exec = ( if nixosConfig.jalr.gui.enable diff --git a/users/jalr/modules/mycli.nix b/users/jalr/modules/mycli.nix new file mode 100644 index 0000000..bcc9dd1 --- /dev/null +++ b/users/jalr/modules/mycli.nix @@ -0,0 +1,150 @@ +{ lib, pkgs, ... }: +let + quoteValues = ini: lib.mapAttrs + (section: attrs: + lib.mapAttrs (key: value: if builtins.isString value then ''"${value}"'' else value) attrs + ) + ini; + + solarized = import ./solarized.nix; + + config = { + main = { + # Enables context sensitive auto-completion. If this is disabled the all + # possible completions will be listed. + smart_completion = true; + + # Multi-line mode allows breaking up the sql statements into multiple lines. If + # this is set to True, then the end of the statements must have a semi-colon. + # If this is set to False then sql statements can't be split into multiple + # lines. End of line (return) is considered as the end of the statement. + multi_line = false; + + # Destructive warning mode will alert you before executing a sql statement + # that may cause harm to the database such as "drop table", "drop database" + # or "shutdown". + destructive_warning = true; + + # log_file location. + log_file = "~/.mycli.log"; + + # Default log level. Possible values: "CRITICAL", "ERROR", "WARNING", "INFO" + # and "DEBUG". "NONE" disables logging. + log_level = "INFO"; + + # Log every query and its results to a file. Enable this by uncommenting the + # line below. + # audit_log = "~/.mycli-audit.log"; + + # Timing of sql statments and table rendering. + timing = true; + + # Table format. Possible values: ascii, double, github, + # psql, plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, + # latex, latex_booktabs, textile, moinmoin, jira, vertical, tsv, csv. + # Recommended: ascii + table_format = "ascii"; + + # Syntax coloring style. Possible values (many support the "-dark" suffix): + # manni, igor, xcode, vim, autumn, vs, rrt, native, perldoc, borland, tango, emacs, + # friendly, monokai, paraiso, colorful, murphy, bw, pastie, paraiso, trac, default, + # fruity. + # Screenshots at http://mycli.net/syntax + # Can be further modified in [colors] + syntax_style = "native"; + + # Keybindings: Possible values: emacs, vi. + # Emacs mode: Ctrl-A is home, Ctrl-E is end. All emacs keybindings are available in the REPL. + # When Vi mode is enabled you can use modal editing features offered by Vi in the REPL. + key_bindings = "emacs"; + + # Enabling this option will show the suggestions in a wider menu. Thus more items are suggested. + wider_completion_menu = false; + + # MySQL prompt + # \D - The full current date + # \d - Database name + # \h - Hostname of the server + # \m - Minutes of the current time + # \n - Newline + # \P - AM/PM + # \p - Port + # \R - The current time, in 24-hour military time (0–23) + # \r - The current time, standard 12-hour time (1–12) + # \s - Seconds of the current time + # \t - Product type (Percona, MySQL, MariaDB) + # \A - DSN alias name (from the [alias_dsn] section) + # \u - Username + # \x1b[...m - insert ANSI escape sequence + prompt = "\\u@\\A:\\d> "; + prompt_continuation = "-> "; + + # Skip intro info on startup and outro info on exit + less_chatty = false; + + # Use alias from --login-path instead of host name in prompt + login_path_as_host = false; + + # Cause result sets to be displayed vertically if they are too wide for the current window, + # and using normal tabular format otherwise. (This applies to statements terminated by ; or \G.) + auto_vertical_output = false; + + # keyword casing preference. Possible values "lower", "upper", "auto" + keyword_casing = "upper"; + + # disabled pager on startup + enable_pager = true; + }; + # Favorite queries. + favorite_queries = { }; + + # Use the -d option to reference a DSN. + # Special characters in passwords and other strings can be escaped with URL encoding. + alias_dsn = { + # example_dsn = "mysql://[user[:password]@][host][:port][/dbname]"; + }; + }; + + colors = { + common = { + "sql.datatype" = "nobold ${solarized.yellow.hex}"; + "sql.function" = "bg:#FF0000 #0000FF"; + "sql.keyword" = "${solarized.green.hex}"; + "sql.literal" = solarized.green.hex; + "sql.number" = solarized.cyan.hex; + "sql.string" = solarized.cyan.hex; + }; + light = { + "prompt" = "bg:${solarized.blue.hex} ${solarized.base02.hex}"; + "selected" = "bg:${solarized.base2.hex} ${solarized.base00.hex}"; + "sql.comment" = "italic ${solarized.base1.hex}"; + "sql.operator" = "${solarized.base02.hex}"; + "sql.punctuation" = "${solarized.base01.hex}"; + "sql.symbol" = "${solarized.base01.hex}"; + }; + dark = { + "prompt" = "bg:${solarized.blue.hex} ${solarized.base2.hex}"; + "selected" = "bg:${solarized.base02.hex} ${solarized.base0.hex}"; + "sql.comment" = "italic ${solarized.base01.hex}"; + "sql.operator" = "${solarized.base2.hex}"; + "sql.punctuation" = "${solarized.base1.hex}"; + "sql.symbol" = "${solarized.base1.hex}"; + }; + }; +in +{ + home.packages = with pkgs; [ + mycli + ]; + + xdg.configFile = lib.attrsets.mapAttrs' + ( + name: value: lib.attrsets.nameValuePair "mycli/theme-${name}.ini" { + text = lib.generators.toINI { } (quoteValues (config // { colors = value; })); + } + ) + { + light = colors.common // colors.light; + dark = colors.common // colors.dark; + }; +} From a0201897f9894ea15d49a51fdbff178a15e39d87 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 8 Aug 2024 16:51:42 +0200 Subject: [PATCH 423/766] Update unifi controller to version 8 --- hosts/aluminium/services/unifi-controller.nix | 2 +- hosts/iron/ports.nix | 3 ++- hosts/iron/services/unifi-controller.nix | 5 +++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/hosts/aluminium/services/unifi-controller.nix b/hosts/aluminium/services/unifi-controller.nix index 3442337..a97eda8 100644 --- a/hosts/aluminium/services/unifi-controller.nix +++ b/hosts/aluminium/services/unifi-controller.nix @@ -6,7 +6,7 @@ in { services.unifi = { enable = true; - unifiPackage = pkgs.unifi; + unifiPackage = pkgs.unifi8; }; networking.firewall.interfaces.lechner.allowedTCPPorts = [ ports.unifi.tcp diff --git a/hosts/iron/ports.nix b/hosts/iron/ports.nix index a01a8b8..6b38336 100644 --- a/hosts/iron/ports.nix +++ b/hosts/iron/ports.nix @@ -18,6 +18,7 @@ custom-utils.validatePortAttrset { qbittorrent-webui.tcp = 8099; radicale.tcp = 5232; rmfakecloud.tcp = 3000; - unifi.tcp = 8443; + unifi-http.tcp = 8080; + unifi-https.tcp = 8443; wireguard-public-ip-tunnel.udp = 51000; } diff --git a/hosts/iron/services/unifi-controller.nix b/hosts/iron/services/unifi-controller.nix index b5e4cac..bb5417f 100644 --- a/hosts/iron/services/unifi-controller.nix +++ b/hosts/iron/services/unifi-controller.nix @@ -6,9 +6,10 @@ in { services.unifi = { enable = true; - unifiPackage = pkgs.unifi; + unifiPackage = pkgs.unifi8; }; networking.firewall.interfaces.enp2s4.allowedTCPPorts = [ - ports.unifi.tcp + ports.unifi-http.tcp + ports.unifi-https.tcp ]; } From 23688c96d5f43bbe9c8cce3d66df175a3a33bdd0 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 13 Aug 2024 11:21:54 +0200 Subject: [PATCH 424/766] Add browserpass --- users/jalr/modules/firefox/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/users/jalr/modules/firefox/default.nix b/users/jalr/modules/firefox/default.nix index 228c4db..aab0eac 100644 --- a/users/jalr/modules/firefox/default.nix +++ b/users/jalr/modules/firefox/default.nix @@ -267,6 +267,7 @@ id = 0; isDefault = true; extensions = with pkgs.nur.repos.rycee.firefox-addons; [ + browserpass darkreader sponsorblock tree-style-tab @@ -363,4 +364,9 @@ userChrome = builtins.readFile ./userChrome.css; }; }; + + programs.browserpass = { + enable = true; + browsers = [ "firefox" ]; + }; } From eec9bc3c71fffabcb65a59edfcbc230b1522962b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 13 Aug 2024 11:24:28 +0200 Subject: [PATCH 425/766] Set Git identity per directory --- users/jalr/modules/fish.nix | 4 ++++ users/jalr/modules/git.nix | 19 ++++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/users/jalr/modules/fish.nix b/users/jalr/modules/fish.nix index f9c2cf2..570509a 100644 --- a/users/jalr/modules/fish.nix +++ b/users/jalr/modules/fish.nix @@ -98,6 +98,10 @@ # fix too dark color on solarized theme set -g fish_color_autosuggestion brgreen + + if type -q fish_set_git_author_by_pwd + fish_set_git_author_by_pwd + end ''; functions = { diff --git a/users/jalr/modules/git.nix b/users/jalr/modules/git.nix index 1090f43..9d4391f 100644 --- a/users/jalr/modules/git.nix +++ b/users/jalr/modules/git.nix @@ -1,5 +1,10 @@ { nixosConfig, pkgs, ... }: - +let + identity.DigitalerDienst = { + name = "Jakob Lechner"; + email = "j.lechner@digitaler-dienst.gmbh"; + }; +in { programs = { git = { @@ -157,6 +162,18 @@ end ''; }; + "fish_set_git_author_by_pwd" = { + description = "Set Git identity by PWD"; + body = '' + if string match -n $HOME'/digitaler-dienst/*' $PWD/ > /dev/null + if git rev-parse --git-dir >/dev/null 2>&1 + git config --local user.name >/dev/null || git config --local user.name "${identity.DigitalerDienst.name}" + git config --local user.email >/dev/null || git config --local user.email "${identity.DigitalerDienst.email}" + end + end + ''; + onVariable = "PWD"; + }; }; }; }; From e287537c8ba949d07c7e6ff06965a3a78c7534f5 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 13 Aug 2024 14:45:19 +0200 Subject: [PATCH 426/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/bad376945de7033c7adc424c02054ea3736cf7c4' (2024-07-15) → 'github:nix-community/disko/0d510fe40b56ed74907a021d7e1ffd0042592914' (2024-08-12) • Updated input 'gomod2nix': 'github:nix-community/gomod2nix/31b6d2e40b36456e792cd6cf50d5a8ddd2fa59a1' (2024-05-30) → 'github:nix-community/gomod2nix/4e08ca09253ef996bd4c03afa383b23e35fe28a1' (2024-08-02) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/f451c19376071a90d8c58ab1a953c6e9840527fd' (2024-07-15) → 'github:cachix/git-hooks.nix/c7012d0c18567c889b948781bc74a501e92275d1' (2024-08-09) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/c5013aa7ce2c7ec90acee5d965d950c8348db751' (2024-07-11) → 'github:nixos/nixos-hardware/c54cf53e022b0b3c1d3b8207aa0f9b194c24f0cf' (2024-08-10) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/53e81e790209e41f0c1efa9ff26ff2fd7ab35e27' (2024-07-14) → 'github:nixos/nixpkgs/a731b45590a5169542990c36ffcde6cebd9a3356' (2024-08-11) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/3f7fcbb2f91ec01dfb2574567d668494a56304e7' (2024-07-17) → 'github:NixOS/nixpkgs/0972c7d0124cc865be8803af49b979e5d44fc577' (2024-08-13) • Updated input 'nur': 'github:nix-community/NUR/f33f46c1e38b07b20a978ac39208058ab9ddedb1' (2024-07-17) → 'github:nix-community/NUR/20b1fc4032363116a880dc64e3fa96f8a24d4e64' (2024-08-13) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/d11c01e58587e5f21037ed6477465a7f26a32e27' (2024-07-15) → 'github:nix-community/poetry2nix/ed52f844c4dd04dde45550c3189529854384124e' (2024-08-13) • Updated input 'sops-nix': 'github:Mic92/sops-nix/0703ba03fd9c1665f8ab68cc3487302475164617' (2024-07-14) → 'github:Mic92/sops-nix/be0eec2d27563590194a9206f551a6f73d52fa34' (2024-08-12) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/74348da2f3a312ee25cea09b98cdba4cb9fa5d5d' (2024-07-14) → 'github:NixOS/nixpkgs/556533a23879fc7e5f98dd2e0b31a6911a213171' (2024-07-21) --- flake.lock | 60 +++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/flake.lock b/flake.lock index ce87ae1..dfc6cea 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1721007199, - "narHash": "sha256-Gof4Lj1rgTrX59bNu5b/uS/3X/marUGM7LYw31NoXEA=", + "lastModified": 1723426710, + "narHash": "sha256-yrS9al6l3fYfFfvovnyBWnyELDQOdfKyai4K/jKgoBw=", "owner": "nix-community", "repo": "disko", - "rev": "bad376945de7033c7adc424c02054ea3736cf7c4", + "rev": "0d510fe40b56ed74907a021d7e1ffd0042592914", "type": "github" }, "original": { @@ -183,11 +183,11 @@ ] }, "locked": { - "lastModified": 1717050755, - "narHash": "sha256-C9IEHABulv2zEDFA+Bf0E1nmfN4y6MIUe5eM2RCrDC0=", + "lastModified": 1722589758, + "narHash": "sha256-sbbA8b6Q2vB/t/r1znHawoXLysCyD4L/6n6/RykiSnA=", "owner": "nix-community", "repo": "gomod2nix", - "rev": "31b6d2e40b36456e792cd6cf50d5a8ddd2fa59a1", + "rev": "4e08ca09253ef996bd4c03afa383b23e35fe28a1", "type": "github" }, "original": { @@ -298,11 +298,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1721042469, - "narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=", + "lastModified": 1723202784, + "narHash": "sha256-qbhjc/NEGaDbyy0ucycubq4N3//gDFFH3DOmp1D3u1Q=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "f451c19376071a90d8c58ab1a953c6e9840527fd", + "rev": "c7012d0c18567c889b948781bc74a501e92275d1", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1720737798, - "narHash": "sha256-G/OtEAts7ZUvW5lrGMXSb8HqRp2Jr9I7reBuvCOL54w=", + "lastModified": 1723310128, + "narHash": "sha256-IiH8jG6PpR4h9TxSGMYh+2/gQiJW9MwehFvheSb5rPc=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "c5013aa7ce2c7ec90acee5d965d950c8348db751", + "rev": "c54cf53e022b0b3c1d3b8207aa0f9b194c24f0cf", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1720954236, - "narHash": "sha256-1mEKHp4m9brvfQ0rjCca8P1WHpymK3TOr3v34ydv9bs=", + "lastModified": 1723400035, + "narHash": "sha256-WoKZDlBEdMhP+hjquBAh0BhUJbcH2+U8g2mHOr1mv8I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "53e81e790209e41f0c1efa9ff26ff2fd7ab35e27", + "rev": "a731b45590a5169542990c36ffcde6cebd9a3356", "type": "github" }, "original": { @@ -378,11 +378,11 @@ }, "nixpkgs-stable_3": { "locked": { - "lastModified": 1720915306, - "narHash": "sha256-6vuViC56+KSr+945bCV8akHK+7J5k6n/epYg/W3I5eQ=", + "lastModified": 1721524707, + "narHash": "sha256-5NctRsoE54N86nWd0psae70YSLfrOek3Kv1e8KoXe/0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "74348da2f3a312ee25cea09b98cdba4cb9fa5d5d", + "rev": "556533a23879fc7e5f98dd2e0b31a6911a213171", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1721241996, - "narHash": "sha256-4An0f26vnpKA9vm1FG0XtOxDaPHiTrziTekwaX3J3jE=", + "lastModified": 1723553046, + "narHash": "sha256-bup3YXvp+VOBP9VNKl6UaV9aQ7A3ybf5bWK22yPJ530=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3f7fcbb2f91ec01dfb2574567d668494a56304e7", + "rev": "0972c7d0124cc865be8803af49b979e5d44fc577", "type": "github" }, "original": { @@ -410,11 +410,11 @@ }, "nur": { "locked": { - "lastModified": 1721241063, - "narHash": "sha256-jBAuwmtJmSNT6xwjtGINslFK0m3R3+Ydw+xrd+a3tSE=", + "lastModified": 1723549487, + "narHash": "sha256-65NYBcYUx0DjL7TGlesle5PdtJVfOCPnv5zvsgB/dRw=", "owner": "nix-community", "repo": "NUR", - "rev": "f33f46c1e38b07b20a978ac39208058ab9ddedb1", + "rev": "20b1fc4032363116a880dc64e3fa96f8a24d4e64", "type": "github" }, "original": { @@ -436,11 +436,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1721039874, - "narHash": "sha256-XANsG9GYHip8pxZpbqKf/YGv8tIa0xTh289Y+WNBNfw=", + "lastModified": 1723512448, + "narHash": "sha256-VSTtxGKre1p6zd6ACuBmfDcR+BT9+ml8Y3KrSbfGFYU=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "d11c01e58587e5f21037ed6477465a7f26a32e27", + "rev": "ed52f844c4dd04dde45550c3189529854384124e", "type": "github" }, "original": { @@ -526,11 +526,11 @@ "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { - "lastModified": 1720926522, - "narHash": "sha256-eTpnrT6yu1vp8C0B5fxHXhgKxHoYMoYTEikQx///jxY=", + "lastModified": 1723501126, + "narHash": "sha256-N9IcHgj/p1+2Pvk8P4Zc1bfrMwld5PcosVA0nL6IGdE=", "owner": "Mic92", "repo": "sops-nix", - "rev": "0703ba03fd9c1665f8ab68cc3487302475164617", + "rev": "be0eec2d27563590194a9206f551a6f73d52fa34", "type": "github" }, "original": { From 7f02d2b6689b6bb3242203eb1a3cffd40fb32c44 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 14 Aug 2024 14:05:56 +0200 Subject: [PATCH 427/766] Add NTP server to DHCP configuration --- hosts/iron/services/dnsmasq.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hosts/iron/services/dnsmasq.nix b/hosts/iron/services/dnsmasq.nix index 04c537a..8e7ca67 100644 --- a/hosts/iron/services/dnsmasq.nix +++ b/hosts/iron/services/dnsmasq.nix @@ -34,6 +34,9 @@ in "2001:470:20::2" # ordns.he.net "74.82.42.42" # ordns.he.net ]; + dhcp-option = [ + "option:ntp-server,192.168.42.1" + ]; }; }; From 368f648adca39b989f9ac0eb83510ee3371297ab Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 14 Aug 2024 18:54:33 +0200 Subject: [PATCH 428/766] Rework pass - Remove pw script - Add otp extension --- users/jalr/modules/pass.nix | 47 ++++++++++++------------------------- 1 file changed, 15 insertions(+), 32 deletions(-) diff --git a/users/jalr/modules/pass.nix b/users/jalr/modules/pass.nix index e3950a3..e77fdb9 100644 --- a/users/jalr/modules/pass.nix +++ b/users/jalr/modules/pass.nix @@ -1,35 +1,18 @@ -{ nixosConfig, pkgs, ... }: +{ nixosConfig, lib, config, pkgs, ... }: -let - pw = pkgs.writeScriptBin "pw" '' - p="$(${pkgs.pass}/bin/pass show "$1")" - - copy_line() { - echo -n "$p" \ - | ${pkgs.gnused}/bin/sed -n "$1"p \ - | ${pkgs.wl-clipboard}/bin/wl-copy \ - --paste-once \ - --foreground \ - --trim-newline \ - --type text/plain - } - - echo "username" - copy_line 2 - echo "password" - copy_line 1 - ''; -in { - home.packages = [ - pw - ] ++ - ( - if nixosConfig.jalr.gui.enable - then with pkgs; [ - qtpass - pass-wayland - ] - else [ ] - ); + programs.password-store = { + enable = true; + package = + if nixosConfig.jalr.gui.enable + then pkgs.pass-wayland.withExtensions (exts: [ exts.pass-otp ]) + else pkgs.pass.withExtensions (exts: [ exts.pass-otp ]); + }; + home.packages = lib.optionals nixosConfig.jalr.gui.enable [ + pkgs.qtpass + ]; + xdg.dataFile.password-store = { + source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.password-store"; + target = "password-store"; + }; } From 442d60a4c84fd3ca68aac6e00117d39699c21e39 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 15 Aug 2024 09:54:12 +0200 Subject: [PATCH 429/766] Add completions for just --- users/jalr/modules/fish.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/users/jalr/modules/fish.nix b/users/jalr/modules/fish.nix index 570509a..63c7692 100644 --- a/users/jalr/modules/fish.nix +++ b/users/jalr/modules/fish.nix @@ -192,4 +192,8 @@ complete -c mycli -f -s h -l host -r -a '(__fish_print_hostnames)' complete -c mycli -f -s d -l dsn -r -a '(mycli --list-dsn)' ''; + + xdg.configFile."fish/completions/just.fish".source = pkgs.runCommand "just-fish-completions" { } '' + ${pkgs.just}/bin/just --completions fish > $out + ''; } From 2501db5c5dd21dd4088d092cc502d65270c48438 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 20 Aug 2024 11:31:32 +0200 Subject: [PATCH 430/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/0d510fe40b56ed74907a021d7e1ffd0042592914' (2024-08-12) → 'github:nix-community/disko/4e719b38fa7c85f4f65d0308ca7084c91e7bdd6d' (2024-08-19) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/c7012d0c18567c889b948781bc74a501e92275d1' (2024-08-09) → 'github:cachix/git-hooks.nix/bfef0ada09e2c8ac55bbcd0831bd0c9d42e651ba' (2024-08-16) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/c54cf53e022b0b3c1d3b8207aa0f9b194c24f0cf' (2024-08-10) → 'github:nixos/nixos-hardware/b09c46430ffcf18d575acf5c339b38ac4e1db5d2' (2024-08-19) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/a731b45590a5169542990c36ffcde6cebd9a3356' (2024-08-11) → 'github:nixos/nixpkgs/c42fcfbdfeae23e68fc520f9182dde9f38ad1890' (2024-08-17) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/0972c7d0124cc865be8803af49b979e5d44fc577' (2024-08-13) → 'github:NixOS/nixpkgs/1bc1437a085748a3b24c8f25047eb2eac4068318' (2024-08-20) • Updated input 'nur': 'github:nix-community/NUR/20b1fc4032363116a880dc64e3fa96f8a24d4e64' (2024-08-13) → 'github:nix-community/NUR/0ba1aacb815bd8574f6bd25032fdb4fd77d6e630' (2024-08-20) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/ed52f844c4dd04dde45550c3189529854384124e' (2024-08-13) → 'github:nix-community/poetry2nix/5ee730a8752264e463c0eaf06cc060fd07f6dae9' (2024-08-20) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index dfc6cea..af034e9 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1723426710, - "narHash": "sha256-yrS9al6l3fYfFfvovnyBWnyELDQOdfKyai4K/jKgoBw=", + "lastModified": 1724031427, + "narHash": "sha256-o1HdAf+7IGv9M13R3c+zc/sJ0QgeEnhsvHBcodI4UpM=", "owner": "nix-community", "repo": "disko", - "rev": "0d510fe40b56ed74907a021d7e1ffd0042592914", + "rev": "4e719b38fa7c85f4f65d0308ca7084c91e7bdd6d", "type": "github" }, "original": { @@ -298,11 +298,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1723202784, - "narHash": "sha256-qbhjc/NEGaDbyy0ucycubq4N3//gDFFH3DOmp1D3u1Q=", + "lastModified": 1723803910, + "narHash": "sha256-yezvUuFiEnCFbGuwj/bQcqg7RykIEqudOy/RBrId0pc=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "c7012d0c18567c889b948781bc74a501e92275d1", + "rev": "bfef0ada09e2c8ac55bbcd0831bd0c9d42e651ba", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1723310128, - "narHash": "sha256-IiH8jG6PpR4h9TxSGMYh+2/gQiJW9MwehFvheSb5rPc=", + "lastModified": 1724067415, + "narHash": "sha256-WJBAEFXAtA41RMpK8mvw0cQ62CJkNMBtzcEeNIJV7b0=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "c54cf53e022b0b3c1d3b8207aa0f9b194c24f0cf", + "rev": "b09c46430ffcf18d575acf5c339b38ac4e1db5d2", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1723400035, - "narHash": "sha256-WoKZDlBEdMhP+hjquBAh0BhUJbcH2+U8g2mHOr1mv8I=", + "lastModified": 1723938990, + "narHash": "sha256-9tUadhnZQbWIiYVXH8ncfGXGvkNq3Hag4RCBEMUk7MI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a731b45590a5169542990c36ffcde6cebd9a3356", + "rev": "c42fcfbdfeae23e68fc520f9182dde9f38ad1890", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1723553046, - "narHash": "sha256-bup3YXvp+VOBP9VNKl6UaV9aQ7A3ybf5bWK22yPJ530=", + "lastModified": 1724145953, + "narHash": "sha256-WamuitHHkmPp/fzwAdZxprYR7BOhtNytGmDuCp0UoHg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0972c7d0124cc865be8803af49b979e5d44fc577", + "rev": "1bc1437a085748a3b24c8f25047eb2eac4068318", "type": "github" }, "original": { @@ -410,11 +410,11 @@ }, "nur": { "locked": { - "lastModified": 1723549487, - "narHash": "sha256-65NYBcYUx0DjL7TGlesle5PdtJVfOCPnv5zvsgB/dRw=", + "lastModified": 1724135985, + "narHash": "sha256-yImm/xJDDBganXyJawdIbwG1hCFYbeaLEwDLMSCdUvg=", "owner": "nix-community", "repo": "NUR", - "rev": "20b1fc4032363116a880dc64e3fa96f8a24d4e64", + "rev": "0ba1aacb815bd8574f6bd25032fdb4fd77d6e630", "type": "github" }, "original": { @@ -436,11 +436,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1723512448, - "narHash": "sha256-VSTtxGKre1p6zd6ACuBmfDcR+BT9+ml8Y3KrSbfGFYU=", + "lastModified": 1724134185, + "narHash": "sha256-nDqpGjz7cq3ThdC98BPe1ANCNlsJds/LLZ3/MdIXjA0=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "ed52f844c4dd04dde45550c3189529854384124e", + "rev": "5ee730a8752264e463c0eaf06cc060fd07f6dae9", "type": "github" }, "original": { From 28b6f5acf30a82749225fb71579f0814931088bb Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 20 Aug 2024 12:04:31 +0200 Subject: [PATCH 431/766] Add vim-fluid --- pkgs/default.nix | 3 +++ pkgs/vim-fluid/default.nix | 12 ++++++++++++ users/jalr/modules/neovim.nix | 6 ++++++ 3 files changed, 21 insertions(+) create mode 100644 pkgs/vim-fluid/default.nix diff --git a/pkgs/default.nix b/pkgs/default.nix index 35c5b95..f25637b 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -29,4 +29,7 @@ in circadian_lighting = callPackage ./home-assistant-custom-components/circadian_lighting.nix { }; guntamatic = callPackage ./home-assistant-custom-components/guntamatic.nix { }; }; + vimPlugins = prev.vimPlugins // { + vim-fluid = callPackage ./vim-fluid { inherit (prev.vimUtils) buildVimPlugin; }; + }; } diff --git a/pkgs/vim-fluid/default.nix b/pkgs/vim-fluid/default.nix new file mode 100644 index 0000000..35f232f --- /dev/null +++ b/pkgs/vim-fluid/default.nix @@ -0,0 +1,12 @@ +{ buildVimPlugin, fetchFromGitHub }: +buildVimPlugin { + pname = "vim-fluid"; + version = "0.0.1"; + src = fetchFromGitHub { + owner = "mipmip"; + repo = "vim-fluid"; + rev = "cedc4ad871941e8f7134d1d71f9434f1bc3d93d5"; + sha256 = "sha256-LiS2Dqw1K1Fu5VfHQnxIBDxDzEarmSAUUavQcwHRDsQ="; + }; + meta.homepage = "https://github.com/mipmip/vim-fluid"; +} diff --git a/users/jalr/modules/neovim.nix b/users/jalr/modules/neovim.nix index 4654577..ddda151 100644 --- a/users/jalr/modules/neovim.nix +++ b/users/jalr/modules/neovim.nix @@ -101,6 +101,12 @@ in lua require'nvim-treesitter.configs'.setup { highlight = { enable = true, }, } ''; } + { + plugin = vim-fluid; + config = '' + au BufRead *.html if join(getline(1,3), "\n") =~ 'data-namespace-typo3-fluid="true"' | setlocal filetype=fluid | endif + ''; + } vim-gitgutter vim-indent-guides vim-nix From a3fdb19b1075a5aeb2fc2354605708b7fff5bd2b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 20 Aug 2024 15:23:11 +0200 Subject: [PATCH 432/766] Add vim-typoscript plugin --- pkgs/default.nix | 1 + pkgs/vim-typoscript/default.nix | 13 +++++++++++++ users/jalr/modules/neovim.nix | 1 + 3 files changed, 15 insertions(+) create mode 100644 pkgs/vim-typoscript/default.nix diff --git a/pkgs/default.nix b/pkgs/default.nix index f25637b..54cca56 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -31,5 +31,6 @@ in }; vimPlugins = prev.vimPlugins // { vim-fluid = callPackage ./vim-fluid { inherit (prev.vimUtils) buildVimPlugin; }; + vim-typoscript = callPackage ./vim-typoscript { inherit (prev.vimUtils) buildVimPlugin; }; }; } diff --git a/pkgs/vim-typoscript/default.nix b/pkgs/vim-typoscript/default.nix new file mode 100644 index 0000000..ab85d79 --- /dev/null +++ b/pkgs/vim-typoscript/default.nix @@ -0,0 +1,13 @@ +{ buildVimPlugin, fetchFromGitHub }: +buildVimPlugin rec { + pname = "vim-typoscript"; + version = "2.0.0"; + src = fetchFromGitHub { + owner = "DanielSiepmann"; + repo = "mirror-vim.typoscript"; + rev = "v${version}"; + sha256 = "sha256-fCB+ikDmkfEP/W0pFYGrsZiH30vT0g3z6GZpRGk0Rhc="; + }; + meta.homepage = "https://git.daniel-siepmann.de/danielsiepmann/vim-syntax-typoscript"; +} + diff --git a/users/jalr/modules/neovim.nix b/users/jalr/modules/neovim.nix index ddda151..deb6fe2 100644 --- a/users/jalr/modules/neovim.nix +++ b/users/jalr/modules/neovim.nix @@ -112,6 +112,7 @@ in vim-nix vim-puppet vim-terraform + vim-typoscript ( lib.mkIf nixosConfig.jalr.workstation.enable { plugin = lsp_signature-nvim; From 1ac083a5fd2c9e09ba469a51ecdb3b465242914f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 23 Aug 2024 15:04:04 +0200 Subject: [PATCH 433/766] Add jinja plugin --- users/jalr/modules/neovim.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/users/jalr/modules/neovim.nix b/users/jalr/modules/neovim.nix index deb6fe2..ee25579 100644 --- a/users/jalr/modules/neovim.nix +++ b/users/jalr/modules/neovim.nix @@ -84,6 +84,7 @@ in NeoSolarized deoplete-nvim editorconfig-vim + jinja-vim nvim-lspconfig { plugin = telescope-nvim; From a1ca116b489dbd1d049cc46095ccdd2a2b02f087 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 26 Aug 2024 18:07:05 +0200 Subject: [PATCH 434/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/4e719b38fa7c85f4f65d0308ca7084c91e7bdd6d' (2024-08-19) → 'github:nix-community/disko/b09eb605e376c9e95c87c0ef3fcb8008e11c8368' (2024-08-26) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/bfef0ada09e2c8ac55bbcd0831bd0c9d42e651ba' (2024-08-16) → 'github:cachix/git-hooks.nix/c8a54057aae480c56e28ef3e14e4960628ac495b' (2024-08-23) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/b09c46430ffcf18d575acf5c339b38ac4e1db5d2' (2024-08-19) → 'github:nixos/nixos-hardware/9fc19be21f0807d6be092d70bf0b1de0c00ac895' (2024-08-25) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/c42fcfbdfeae23e68fc520f9182dde9f38ad1890' (2024-08-17) → 'github:nixos/nixpkgs/797f7dc49e0bc7fab4b57c021cdf68f595e47841' (2024-08-22) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/1bc1437a085748a3b24c8f25047eb2eac4068318' (2024-08-20) → 'github:NixOS/nixpkgs/94930d463b3c7b50eb6a6a8a25089759a8431f59' (2024-08-26) • Updated input 'nur': 'github:nix-community/NUR/0ba1aacb815bd8574f6bd25032fdb4fd77d6e630' (2024-08-20) → 'github:nix-community/NUR/b88e43567b88e61760055808ce2f3f8928a06fd1' (2024-08-26) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/5ee730a8752264e463c0eaf06cc060fd07f6dae9' (2024-08-20) → 'github:nix-community/poetry2nix/7619e43c2b48c29e24b88a415256f09df96ec276' (2024-08-23) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index af034e9..53f7881 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1724031427, - "narHash": "sha256-o1HdAf+7IGv9M13R3c+zc/sJ0QgeEnhsvHBcodI4UpM=", + "lastModified": 1724639687, + "narHash": "sha256-L2h46/z8WExNvtCEdZ8YuMu5TwfAGsKXXgM7pyIShvs=", "owner": "nix-community", "repo": "disko", - "rev": "4e719b38fa7c85f4f65d0308ca7084c91e7bdd6d", + "rev": "b09eb605e376c9e95c87c0ef3fcb8008e11c8368", "type": "github" }, "original": { @@ -298,11 +298,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1723803910, - "narHash": "sha256-yezvUuFiEnCFbGuwj/bQcqg7RykIEqudOy/RBrId0pc=", + "lastModified": 1724440431, + "narHash": "sha256-9etXEOUtzeMgqg1u0wp+EdwG7RpmrAZ2yX516bMj2aE=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "bfef0ada09e2c8ac55bbcd0831bd0c9d42e651ba", + "rev": "c8a54057aae480c56e28ef3e14e4960628ac495b", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1724067415, - "narHash": "sha256-WJBAEFXAtA41RMpK8mvw0cQ62CJkNMBtzcEeNIJV7b0=", + "lastModified": 1724575805, + "narHash": "sha256-OB/kEL3GAhUZmUfkbPfsPhKs0pRqJKs0EEBiLfyKZw8=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "b09c46430ffcf18d575acf5c339b38ac4e1db5d2", + "rev": "9fc19be21f0807d6be092d70bf0b1de0c00ac895", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1723938990, - "narHash": "sha256-9tUadhnZQbWIiYVXH8ncfGXGvkNq3Hag4RCBEMUk7MI=", + "lastModified": 1724316499, + "narHash": "sha256-Qb9MhKBUTCfWg/wqqaxt89Xfi6qTD3XpTzQ9eXi3JmE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c42fcfbdfeae23e68fc520f9182dde9f38ad1890", + "rev": "797f7dc49e0bc7fab4b57c021cdf68f595e47841", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1724145953, - "narHash": "sha256-WamuitHHkmPp/fzwAdZxprYR7BOhtNytGmDuCp0UoHg=", + "lastModified": 1724684795, + "narHash": "sha256-Y0L/3OCfiD20VCgY/ZXWkijmaXGUpp1QjijZqL4aJS8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1bc1437a085748a3b24c8f25047eb2eac4068318", + "rev": "94930d463b3c7b50eb6a6a8a25089759a8431f59", "type": "github" }, "original": { @@ -410,11 +410,11 @@ }, "nur": { "locked": { - "lastModified": 1724135985, - "narHash": "sha256-yImm/xJDDBganXyJawdIbwG1hCFYbeaLEwDLMSCdUvg=", + "lastModified": 1724686814, + "narHash": "sha256-OwcY7S/yNv0nJL+YRw6ZZF0ptpQw8o9ctCGYwQfBtsA=", "owner": "nix-community", "repo": "NUR", - "rev": "0ba1aacb815bd8574f6bd25032fdb4fd77d6e630", + "rev": "b88e43567b88e61760055808ce2f3f8928a06fd1", "type": "github" }, "original": { @@ -436,11 +436,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1724134185, - "narHash": "sha256-nDqpGjz7cq3ThdC98BPe1ANCNlsJds/LLZ3/MdIXjA0=", + "lastModified": 1724417163, + "narHash": "sha256-gD0N0pnKxWJcKtbetlkKOIumS0Zovgxx/nMfOIJIzoI=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "5ee730a8752264e463c0eaf06cc060fd07f6dae9", + "rev": "7619e43c2b48c29e24b88a415256f09df96ec276", "type": "github" }, "original": { From 4166d39a3e87decf73e12c48476caa1442b41f21 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 27 Aug 2024 20:32:06 +0200 Subject: [PATCH 435/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/b09eb605e376c9e95c87c0ef3fcb8008e11c8368' (2024-08-26) → 'github:nix-community/disko/b89a61129f3976d6440e2356ac5d3e30930f7012' (2024-08-27) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/c8a54057aae480c56e28ef3e14e4960628ac495b' (2024-08-23) → 'github:cachix/git-hooks.nix/1cd12de659fab215624c630c37d1c62aa2b7824e' (2024-08-27) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/797f7dc49e0bc7fab4b57c021cdf68f595e47841' (2024-08-22) → 'github:nixos/nixpkgs/2527da1ef492c495d5391f3bcf9c1dd9f4514e32' (2024-08-24) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/94930d463b3c7b50eb6a6a8a25089759a8431f59' (2024-08-26) → 'github:NixOS/nixpkgs/3745928ba909559bd73779e29c3448d553818e7c' (2024-08-27) • Updated input 'nur': 'github:nix-community/NUR/b88e43567b88e61760055808ce2f3f8928a06fd1' (2024-08-26) → 'github:nix-community/NUR/95f1862227c883581265a8801ea28af99635dd97' (2024-08-27) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 53f7881..5972978 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1724639687, - "narHash": "sha256-L2h46/z8WExNvtCEdZ8YuMu5TwfAGsKXXgM7pyIShvs=", + "lastModified": 1724769572, + "narHash": "sha256-K+HQbC2/hnGngIB019mX6f4XUrf7dB1eBfiUHW4Vx48=", "owner": "nix-community", "repo": "disko", - "rev": "b09eb605e376c9e95c87c0ef3fcb8008e11c8368", + "rev": "b89a61129f3976d6440e2356ac5d3e30930f7012", "type": "github" }, "original": { @@ -298,11 +298,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1724440431, - "narHash": "sha256-9etXEOUtzeMgqg1u0wp+EdwG7RpmrAZ2yX516bMj2aE=", + "lastModified": 1724763886, + "narHash": "sha256-SzBtZs5z+YGM50oyt67R78qLhxG/wG5/SlVRsCF5kRc=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "c8a54057aae480c56e28ef3e14e4960628ac495b", + "rev": "1cd12de659fab215624c630c37d1c62aa2b7824e", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1724316499, - "narHash": "sha256-Qb9MhKBUTCfWg/wqqaxt89Xfi6qTD3XpTzQ9eXi3JmE=", + "lastModified": 1724531977, + "narHash": "sha256-XROVLf9ti4rrNCFLr+DmXRZtPjCQTW4cYy59owTEmxk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "797f7dc49e0bc7fab4b57c021cdf68f595e47841", + "rev": "2527da1ef492c495d5391f3bcf9c1dd9f4514e32", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1724684795, - "narHash": "sha256-Y0L/3OCfiD20VCgY/ZXWkijmaXGUpp1QjijZqL4aJS8=", + "lastModified": 1724783408, + "narHash": "sha256-PZyawI4vmyjG3yRJoU8T3xetBifB5b23y/JsgY2w85g=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "94930d463b3c7b50eb6a6a8a25089759a8431f59", + "rev": "3745928ba909559bd73779e29c3448d553818e7c", "type": "github" }, "original": { @@ -410,11 +410,11 @@ }, "nur": { "locked": { - "lastModified": 1724686814, - "narHash": "sha256-OwcY7S/yNv0nJL+YRw6ZZF0ptpQw8o9ctCGYwQfBtsA=", + "lastModified": 1724775364, + "narHash": "sha256-agN3Oaph2+2DH3+m6Jp4d1ji5s93joohKcV35DfJWQk=", "owner": "nix-community", "repo": "NUR", - "rev": "b88e43567b88e61760055808ce2f3f8928a06fd1", + "rev": "95f1862227c883581265a8801ea28af99635dd97", "type": "github" }, "original": { From d1d11a3eeef3e90e936c1639d4a44fe609c94398 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 2 Sep 2024 11:45:49 +0200 Subject: [PATCH 436/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/b89a61129f3976d6440e2356ac5d3e30930f7012' (2024-08-27) → 'github:nix-community/disko/96073e6423623d4a8027e9739d2af86d6422ea7a' (2024-09-02) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/1cd12de659fab215624c630c37d1c62aa2b7824e' (2024-08-27) → 'github:cachix/git-hooks.nix/4509ca64f1084e73bc7a721b20c669a8d4c5ebe6' (2024-08-28) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/9fc19be21f0807d6be092d70bf0b1de0c00ac895' (2024-08-25) → 'github:nixos/nixos-hardware/95c3dfe6ef2e96ddc1ccdd7194e3cda02ca9a8ef' (2024-08-28) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/2527da1ef492c495d5391f3bcf9c1dd9f4514e32' (2024-08-24) → 'github:nixos/nixpkgs/6e99f2a27d600612004fbd2c3282d614bfee6421' (2024-08-30) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/3745928ba909559bd73779e29c3448d553818e7c' (2024-08-27) → 'github:NixOS/nixpkgs/e4a2b7892d0614864f49a2ad5f832eda82f7c471' (2024-09-02) • Updated input 'nur': 'github:nix-community/NUR/95f1862227c883581265a8801ea28af99635dd97' (2024-08-27) → 'github:nix-community/NUR/22e350ecdc47dc5dbba7dfe0e63cf58c3482a0bd' (2024-09-02) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/7619e43c2b48c29e24b88a415256f09df96ec276' (2024-08-23) → 'github:nix-community/poetry2nix/0d3fad5740d892487805cd2d60d8e4ed828486e9' (2024-09-02) • Updated input 'sops-nix': 'github:Mic92/sops-nix/be0eec2d27563590194a9206f551a6f73d52fa34' (2024-08-12) → 'github:Mic92/sops-nix/5db5921e40ae382d6716dce591ea23b0a39d96f7' (2024-09-01) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 5972978..66bb545 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1724769572, - "narHash": "sha256-K+HQbC2/hnGngIB019mX6f4XUrf7dB1eBfiUHW4Vx48=", + "lastModified": 1725242307, + "narHash": "sha256-a2iTMBngegEZvaNAzzxq5Gc5Vp3UWoGUqWtK11Txbic=", "owner": "nix-community", "repo": "disko", - "rev": "b89a61129f3976d6440e2356ac5d3e30930f7012", + "rev": "96073e6423623d4a8027e9739d2af86d6422ea7a", "type": "github" }, "original": { @@ -298,11 +298,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1724763886, - "narHash": "sha256-SzBtZs5z+YGM50oyt67R78qLhxG/wG5/SlVRsCF5kRc=", + "lastModified": 1724857454, + "narHash": "sha256-Qyl9Q4QMTLZnnBb/8OuQ9LSkzWjBU1T5l5zIzTxkkhk=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "1cd12de659fab215624c630c37d1c62aa2b7824e", + "rev": "4509ca64f1084e73bc7a721b20c669a8d4c5ebe6", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1724575805, - "narHash": "sha256-OB/kEL3GAhUZmUfkbPfsPhKs0pRqJKs0EEBiLfyKZw8=", + "lastModified": 1724878143, + "narHash": "sha256-UjpKo92iZ25M05kgSOw/Ti6VZwpgdlOa73zHj8OcaDk=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "9fc19be21f0807d6be092d70bf0b1de0c00ac895", + "rev": "95c3dfe6ef2e96ddc1ccdd7194e3cda02ca9a8ef", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1724531977, - "narHash": "sha256-XROVLf9ti4rrNCFLr+DmXRZtPjCQTW4cYy59owTEmxk=", + "lastModified": 1725001927, + "narHash": "sha256-eV+63gK0Mp7ygCR0Oy4yIYSNcum2VQwnZamHxYTNi+M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2527da1ef492c495d5391f3bcf9c1dd9f4514e32", + "rev": "6e99f2a27d600612004fbd2c3282d614bfee6421", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1724783408, - "narHash": "sha256-PZyawI4vmyjG3yRJoU8T3xetBifB5b23y/JsgY2w85g=", + "lastModified": 1725270189, + "narHash": "sha256-czWe/ldomeJqX8SgdLPhpGu71ST+g4tJRjGNWMCIPGg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3745928ba909559bd73779e29c3448d553818e7c", + "rev": "e4a2b7892d0614864f49a2ad5f832eda82f7c471", "type": "github" }, "original": { @@ -410,11 +410,11 @@ }, "nur": { "locked": { - "lastModified": 1724775364, - "narHash": "sha256-agN3Oaph2+2DH3+m6Jp4d1ji5s93joohKcV35DfJWQk=", + "lastModified": 1725267338, + "narHash": "sha256-PM8w4aivrIjfkrmMY2ndIlVhvcJD6XFsNBthfoIC0y4=", "owner": "nix-community", "repo": "NUR", - "rev": "95f1862227c883581265a8801ea28af99635dd97", + "rev": "22e350ecdc47dc5dbba7dfe0e63cf58c3482a0bd", "type": "github" }, "original": { @@ -436,11 +436,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1724417163, - "narHash": "sha256-gD0N0pnKxWJcKtbetlkKOIumS0Zovgxx/nMfOIJIzoI=", + "lastModified": 1725253878, + "narHash": "sha256-HwXut4WbOUAjmybhui2eNSE6+Wb0nigYgDzBBOZaPG4=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "7619e43c2b48c29e24b88a415256f09df96ec276", + "rev": "0d3fad5740d892487805cd2d60d8e4ed828486e9", "type": "github" }, "original": { @@ -526,11 +526,11 @@ "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { - "lastModified": 1723501126, - "narHash": "sha256-N9IcHgj/p1+2Pvk8P4Zc1bfrMwld5PcosVA0nL6IGdE=", + "lastModified": 1725201042, + "narHash": "sha256-lj5pxOwidP0W//E7IvyhbhXrnEUW99I07+QpERnzTS4=", "owner": "Mic92", "repo": "sops-nix", - "rev": "be0eec2d27563590194a9206f551a6f73d52fa34", + "rev": "5db5921e40ae382d6716dce591ea23b0a39d96f7", "type": "github" }, "original": { From 07bd344eb8701347810cc6406ec998ddabf5abb7 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 3 Sep 2024 22:01:31 +0200 Subject: [PATCH 437/766] Add bridge interface --- hosts/iron/configuration.nix | 22 ++++++++++++++-------- hosts/iron/interfaces.nix | 4 ++++ hosts/iron/services/dnsmasq.nix | 3 ++- hosts/iron/services/dyndns.nix | 5 ++++- hosts/iron/services/unifi-controller.nix | 3 ++- 5 files changed, 26 insertions(+), 11 deletions(-) create mode 100644 hosts/iron/interfaces.nix diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index 31d5069..5963afe 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -1,5 +1,6 @@ { inputs, config, pkgs, lib, ... }: let + interfaces = import ./interfaces.nix; zfsKernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages; disks = [ "ata-Samsung_SSD_870_QVO_8TB_S5SSNG0R103837K" @@ -46,14 +47,19 @@ with lib; { useDHCP = false; networkmanager.enable = false; + bridges = { + "${interfaces.lan}" = { + interfaces = [ "enp2s4" "enp3s5" ]; + }; + }; vlans = { iot = { id = 20; - interface = "enp2s4"; + interface = interfaces.lan; }; }; interfaces = { - enp2s4.ipv4.addresses = [{ + "${interfaces.lan}".ipv4.addresses = [{ address = "192.168.42.1"; prefixLength = 24; }]; @@ -61,16 +67,16 @@ with lib; { address = "10.20.0.1"; prefixLength = 20; }]; - enp3s5 = { + "${interfaces.wan}" = { useDHCP = true; }; }; nat = { enable = true; - externalInterface = "enp3s5"; + externalInterface = interfaces.wan; internalInterfaces = [ - "enp2s4" + interfaces.lan ]; }; @@ -82,7 +88,7 @@ with lib; { services.radvd = { enable = true; config = '' - interface enp2s4 { + interface ${interfaces.lan} { AdvSendAdvert on; prefix ::/64 { AdvOnLink on; @@ -97,10 +103,10 @@ with lib; { noipv6rs waitip 6 - interface enp3s5 + interface ${interfaces.wan} ipv6rs ia_na 1 - ia_pd 1/::/64 enp2s4/0/64 + ia_pd 1/::/64 ${interfaces.lan}/0/64 ''; boot = { diff --git a/hosts/iron/interfaces.nix b/hosts/iron/interfaces.nix new file mode 100644 index 0000000..dec89ae --- /dev/null +++ b/hosts/iron/interfaces.nix @@ -0,0 +1,4 @@ +{ + lan = "br0"; + wan = "enp0s25"; +} diff --git a/hosts/iron/services/dnsmasq.nix b/hosts/iron/services/dnsmasq.nix index 8e7ca67..15d6710 100644 --- a/hosts/iron/services/dnsmasq.nix +++ b/hosts/iron/services/dnsmasq.nix @@ -1,6 +1,7 @@ { lib, pkgs, ... }: let + interfaces = import ../interfaces.nix; stateDir = "/var/lib/dnsmasq"; in { @@ -41,7 +42,7 @@ in }; networking.firewall.interfaces = lib.attrsets.genAttrs [ - "enp2s4" + interfaces.lan "iot" ] ( diff --git a/hosts/iron/services/dyndns.nix b/hosts/iron/services/dyndns.nix index 9b4aebf..710aceb 100644 --- a/hosts/iron/services/dyndns.nix +++ b/hosts/iron/services/dyndns.nix @@ -1,4 +1,7 @@ { config, ... }: +let + interfaces = import ../interfaces.nix; +in { sops.secrets.duckdns-secret = { sopsFile = ../secrets.yaml; @@ -11,7 +14,7 @@ username = "nouser"; passwordFile = config.sops.secrets.duckdns-secret.path; domains = [ "jalr-bw" ]; - use = "if, if=enp3s5"; + use = "if, if=${interfaces.wan}"; #usev6=ifv6, ifv6=enp3s4 }; } diff --git a/hosts/iron/services/unifi-controller.nix b/hosts/iron/services/unifi-controller.nix index bb5417f..6eeed31 100644 --- a/hosts/iron/services/unifi-controller.nix +++ b/hosts/iron/services/unifi-controller.nix @@ -2,13 +2,14 @@ args@{ pkgs, custom-utils, ... }: let ports = import ../ports.nix args; + interfaces = import ../interfaces.nix; in { services.unifi = { enable = true; unifiPackage = pkgs.unifi8; }; - networking.firewall.interfaces.enp2s4.allowedTCPPorts = [ + networking.firewall.interfaces."${interfaces.lan}".allowedTCPPorts = [ ports.unifi-http.tcp ports.unifi-https.tcp ]; From e373b452dab71900b458af8ecb673da806afa66d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 8 Sep 2024 01:09:57 +0200 Subject: [PATCH 438/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/96073e6423623d4a8027e9739d2af86d6422ea7a' (2024-09-02) → 'github:nix-community/disko/e55f9a8678adc02024a4877c2a403e3f6daf24fe' (2024-09-03) • Updated input 'gomod2nix': 'github:nix-community/gomod2nix/4e08ca09253ef996bd4c03afa383b23e35fe28a1' (2024-08-02) → 'github:nix-community/gomod2nix/1c6fd4e862bf2f249c9114ad625c64c6c29a8a08' (2024-09-05) • Updated input 'home-manager': 'github:nix-community/home-manager/e1391fb22e18a36f57e6999c7a9f966dc80ac073' (2024-07-03) → 'github:nix-community/home-manager/208df2e558b73b6a1f0faec98493cb59a25f62ba' (2024-09-07) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/4509ca64f1084e73bc7a721b20c669a8d4c5ebe6' (2024-08-28) → 'github:cachix/git-hooks.nix/7570de7b9b504cfe92025dd1be797bf546f66528' (2024-09-05) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/95c3dfe6ef2e96ddc1ccdd7194e3cda02ca9a8ef' (2024-08-28) → 'github:nixos/nixos-hardware/04a1cda0c1725094a4db703cccbb956b7558f5a6' (2024-09-07) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/6e99f2a27d600612004fbd2c3282d614bfee6421' (2024-08-30) → 'github:nixos/nixpkgs/6f6c45b5134a8ee2e465164811e451dcb5ad86e3' (2024-09-03) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/e4a2b7892d0614864f49a2ad5f832eda82f7c471' (2024-09-02) → 'github:NixOS/nixpkgs/193565cfe3ff415029ee805fbcbe1c2b2e1a01e3' (2024-09-07) • Updated input 'nur': 'github:nix-community/NUR/22e350ecdc47dc5dbba7dfe0e63cf58c3482a0bd' (2024-09-02) → 'github:nix-community/NUR/c92b904814d4a89d323c90e249c84ef6629ffade' (2024-09-07) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/0d3fad5740d892487805cd2d60d8e4ed828486e9' (2024-09-02) → 'github:nix-community/poetry2nix/a313fd7169ae43ecd1a2ea2f1e4899fe3edba4d2' (2024-09-05) • Updated input 'sops-nix': 'github:Mic92/sops-nix/5db5921e40ae382d6716dce591ea23b0a39d96f7' (2024-09-01) → 'github:Mic92/sops-nix/d9d781523a1463965cd1e1333a306e70d9feff07' (2024-09-05) --- flake.lock | 60 +++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/flake.lock b/flake.lock index 66bb545..d7bdd94 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1725242307, - "narHash": "sha256-a2iTMBngegEZvaNAzzxq5Gc5Vp3UWoGUqWtK11Txbic=", + "lastModified": 1725377834, + "narHash": "sha256-tqoAO8oT6zEUDXte98cvA1saU9+1dLJQe3pMKLXv8ps=", "owner": "nix-community", "repo": "disko", - "rev": "96073e6423623d4a8027e9739d2af86d6422ea7a", + "rev": "e55f9a8678adc02024a4877c2a403e3f6daf24fe", "type": "github" }, "original": { @@ -183,11 +183,11 @@ ] }, "locked": { - "lastModified": 1722589758, - "narHash": "sha256-sbbA8b6Q2vB/t/r1znHawoXLysCyD4L/6n6/RykiSnA=", + "lastModified": 1725515722, + "narHash": "sha256-+gljgHaflZhQXtr3WjJrGn8NXv7MruVPAORSufuCFnw=", "owner": "nix-community", "repo": "gomod2nix", - "rev": "4e08ca09253ef996bd4c03afa383b23e35fe28a1", + "rev": "1c6fd4e862bf2f249c9114ad625c64c6c29a8a08", "type": "github" }, "original": { @@ -203,11 +203,11 @@ ] }, "locked": { - "lastModified": 1720042825, - "narHash": "sha256-A0vrUB6x82/jvf17qPCpxaM+ulJnD8YZwH9Ci0BsAzE=", + "lastModified": 1725703823, + "narHash": "sha256-tDgM4d8mLK0Hd6YMB2w1BqMto1XBXADOzPEaLl10VI4=", "owner": "nix-community", "repo": "home-manager", - "rev": "e1391fb22e18a36f57e6999c7a9f966dc80ac073", + "rev": "208df2e558b73b6a1f0faec98493cb59a25f62ba", "type": "github" }, "original": { @@ -298,11 +298,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1724857454, - "narHash": "sha256-Qyl9Q4QMTLZnnBb/8OuQ9LSkzWjBU1T5l5zIzTxkkhk=", + "lastModified": 1725513492, + "narHash": "sha256-tyMUA6NgJSvvQuzB7A1Sf8+0XCHyfSPRx/b00o6K0uo=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "4509ca64f1084e73bc7a721b20c669a8d4c5ebe6", + "rev": "7570de7b9b504cfe92025dd1be797bf546f66528", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1724878143, - "narHash": "sha256-UjpKo92iZ25M05kgSOw/Ti6VZwpgdlOa73zHj8OcaDk=", + "lastModified": 1725716377, + "narHash": "sha256-7NzW9O/cAw7iWzRfh7Oo/SuSudL4a1YTKS6yoh3tMck=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "95c3dfe6ef2e96ddc1ccdd7194e3cda02ca9a8ef", + "rev": "04a1cda0c1725094a4db703cccbb956b7558f5a6", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1725001927, - "narHash": "sha256-eV+63gK0Mp7ygCR0Oy4yIYSNcum2VQwnZamHxYTNi+M=", + "lastModified": 1725407940, + "narHash": "sha256-tiN5Rlg/jiY0tyky+soJZoRzLKbPyIdlQ77xVgREDNM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6e99f2a27d600612004fbd2c3282d614bfee6421", + "rev": "6f6c45b5134a8ee2e465164811e451dcb5ad86e3", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1725270189, - "narHash": "sha256-czWe/ldomeJqX8SgdLPhpGu71ST+g4tJRjGNWMCIPGg=", + "lastModified": 1725749909, + "narHash": "sha256-z6tE76iVykVY8tGoNZnvm0q50VjxDPhn6YQNPFH1K2c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e4a2b7892d0614864f49a2ad5f832eda82f7c471", + "rev": "193565cfe3ff415029ee805fbcbe1c2b2e1a01e3", "type": "github" }, "original": { @@ -410,11 +410,11 @@ }, "nur": { "locked": { - "lastModified": 1725267338, - "narHash": "sha256-PM8w4aivrIjfkrmMY2ndIlVhvcJD6XFsNBthfoIC0y4=", + "lastModified": 1725741028, + "narHash": "sha256-/CornZK9spEoVBOXdR/Rf36Hm5WqyIM9u+JXU1ffMEs=", "owner": "nix-community", "repo": "NUR", - "rev": "22e350ecdc47dc5dbba7dfe0e63cf58c3482a0bd", + "rev": "c92b904814d4a89d323c90e249c84ef6629ffade", "type": "github" }, "original": { @@ -436,11 +436,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1725253878, - "narHash": "sha256-HwXut4WbOUAjmybhui2eNSE6+Wb0nigYgDzBBOZaPG4=", + "lastModified": 1725532428, + "narHash": "sha256-dCfawQDwpukcwQw++Cn/3LIh/RZMmH+k3fm91Oc5Pf0=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "0d3fad5740d892487805cd2d60d8e4ed828486e9", + "rev": "a313fd7169ae43ecd1a2ea2f1e4899fe3edba4d2", "type": "github" }, "original": { @@ -526,11 +526,11 @@ "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { - "lastModified": 1725201042, - "narHash": "sha256-lj5pxOwidP0W//E7IvyhbhXrnEUW99I07+QpERnzTS4=", + "lastModified": 1725540166, + "narHash": "sha256-htc9rsTMSAY5ek+DB3tpntdD/es0eam2hJgO92bWSys=", "owner": "Mic92", "repo": "sops-nix", - "rev": "5db5921e40ae382d6716dce591ea23b0a39d96f7", + "rev": "d9d781523a1463965cd1e1333a306e70d9feff07", "type": "github" }, "original": { From acc04548f05ce5b06ac3366ba8ac54f9c7248b42 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 9 Sep 2024 14:02:33 +0200 Subject: [PATCH 439/766] Fix udev rule --- modules/dji-goggles.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/dji-goggles.nix b/modules/dji-goggles.nix index 00a735b..951482a 100644 --- a/modules/dji-goggles.nix +++ b/modules/dji-goggles.nix @@ -1,6 +1,6 @@ { services.udev.extraRules = '' # DJI Goggles - SUBSYSTEM=="usb", ATTRS{idVendor}=="2ca3", ATTRS{idProduct}=="001f", GROUP="video", MODE="0660" + SUBSYSTEM=="usb", ATTR{idVendor}=="2ca3", ATTR{idProduct}=="001f", MODE="0660", GROUP="plugdev" ''; } From c5517cfaf76e765b07b1af652c6d94e95f9e31f3 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 9 Sep 2024 14:02:56 +0200 Subject: [PATCH 440/766] Add user to plugdev group --- users/jalr/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/users/jalr/default.nix b/users/jalr/default.nix index 09de610..a2d2a83 100644 --- a/users/jalr/default.nix +++ b/users/jalr/default.nix @@ -16,6 +16,7 @@ in "libvirtd" "lp" "networkmanager" + "plugdev" "scanner" "video" "wheel" From 80698ceebd5a0ed1879bb39bbda55a77cb5a490c Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 9 Sep 2024 14:03:25 +0200 Subject: [PATCH 441/766] Add scripts configured in UI --- hosts/iron/services/home-assistant.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hosts/iron/services/home-assistant.nix b/hosts/iron/services/home-assistant.nix index acbb59d..c7f304a 100644 --- a/hosts/iron/services/home-assistant.nix +++ b/hosts/iron/services/home-assistant.nix @@ -135,7 +135,7 @@ in platform = "bluetooth_le_tracker"; } ]; - script = [ + "script nix" = [ { lights_off_except = { icon = "mdi:home-lightbulb"; @@ -159,6 +159,7 @@ in }; } ]; + "script ui" = "!include scripts.yaml"; calendar = [ { platform = "caldav"; From 0006377763530da6f1fbd6be9023922938c8d9b3 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 11 Sep 2024 13:00:08 +0200 Subject: [PATCH 442/766] Define default applications for mime types --- users/jalr/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/users/jalr/default.nix b/users/jalr/default.nix index a2d2a83..175fdf0 100644 --- a/users/jalr/default.nix +++ b/users/jalr/default.nix @@ -57,6 +57,14 @@ in pwgen ]; + xdg.mimeApps = { + enable = true; + defaultApplications = { + "application/pdf" = "org.gnome.Evince.desktop"; + "image/svg+xml" = "org.inkscape.Inkscape.desktop"; + }; + }; + accounts.email.accounts = { "jalr" = { primary = true; From 2db35dfc54aff58bc8becc78f301acbf517235c2 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 11 Sep 2024 18:21:25 +0200 Subject: [PATCH 443/766] Add Matrix sliding-sync service --- hosts/iron/ports.nix | 1 + hosts/iron/secrets.yaml | 5 +++-- hosts/iron/services/matrix.nix | 7 +++++++ hosts/magnesium/services/webserver.nix | 3 ++- modules/matrix/default.nix | 11 +++++++++++ modules/matrix/sliding-sync.nix | 18 ++++++++++++++++++ 6 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 modules/matrix/sliding-sync.nix diff --git a/hosts/iron/ports.nix b/hosts/iron/ports.nix index 6b38336..0a751fc 100644 --- a/hosts/iron/ports.nix +++ b/hosts/iron/ports.nix @@ -7,6 +7,7 @@ custom-utils.validatePortAttrset { home-assistant.tcp = 8123; jellyfin.tcp = 8096; matrix-synapse.tcp = 8008; + matrix-sliding-sync.tcp = 8009; mautrix-signal.tcp = 29319; mautrix-whatsapp.tcp = 29318; navidrome.tcp = 4533; diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index 33595e2..4e19154 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -8,6 +8,7 @@ rspamd-worker-controller: ENC[AES256_GCM,data:7tS8bEr9i5F+YZoj3uPQa6Xd2SCsuC+jE5 dkim-keys: jalr.de.default: ENC[AES256_GCM,data:mnApsYKXYGtUAHddccmNmU9yZQtekDkTiTXbJ0UJxC0rFxzQCtGsinQslIROJdNUxsxciR1ilNzxawzjJD7AaWJbcAq2TYObGJJOQZBif7t/XEN/rIxEmnAFmdeAyrSONmFb9DiEn59m6DpsU+/9Y+hnc/uwwbzueO34WHJnTqmmsxFVNQZfGR+cbSckHS3wZrfjZSKKzCRt+9DU/xxJ4voyowXLO77w00LHVkyU5liwONi0v2XJ+QeP/jIMmJeKjujZcH+qvUm/kukijqyWKGrZoAYPC2cBlL/UrNECuVdSLMXvr4KBDDTCRZCSMRgUPJ0TAfpQPTPitKJ/0igK7qQl9n/6hckY7VyP8KDS7J7G2Z2XVxfZrAR4X/7ya9B2kneVr2CNx3w954EdTcV1/lD7rcKRjKynyl3ddf8gxJFJ21k1ybo2RLnftGCRVq25qNwhyfjU8x5c7AEs+YTPDrcnmxZ/Ui276eLwpMj61oZzTp8QQhiBVwS/+ruRLC+78pu2gb1gBF/Oo3nuvQD1SOpCRikLVewCYDvfXj/hrjo+oCsjTOj+9tWRcRAEDVlhkXWCMuPXDYrdt3HrIWbQuP8NW1ezd1Ll0r1ujjtPJeSwdd8cVcUSBIoA5gU+eXnYjFaSx9BZ+sIfKqG//W3S+aBYDqAEK/z4N5q66sReb5mtSQYfbZuIZDmox9bwNMG3tJmQX0lJZgEIiuJ5/ef4ra0sj9JsRFldmIn9KUmjW9OlIwzQ42cNNvQSMD/6haNiYsE6TPzVylJ/B2kNu9Qh5FfpCIPtVORv2BAGoNvZlyhjyEiXBEZ4x2hx1l5cBwGOaGhoJ0p+1wqn2zDalIBaEFjbBVdIB6DPC6/lccvpqSwF7HvW2ugyYhW+u92vgic71/BsI4i0OlsJV18gU/zVg0Yj8SK69kEwm4wkJTrkM/I4+kkUIc5OiSAknRfjOFJc0etkh3nO34xpHLOkSv9DrKfXSAGmGZtCLtVL5LGdZeCd/g6EK0JJh6bd9Gu9koSJVq5vjdDJJFf+sgk39TCvHAvk8k1/FgdK5jMJ+pR8heJtP8G96ay3DFVm5hpbjuNKqfBvbf2rkyV6++ywRFnAQGPUiMn9g6Q4F5Ks7CC1D0Ubl7b3dCUk6BDi8rHjxy9QS0/25Yz9cF0bFd6XQDfblnyRLMi9aB36M9Vp38Oh5aB16MyvNUHzcxpaAak0yknE6OuuEMBPQZgFVADCITfy9eUXl2FoXrMWEnBO78GybQ+cV8nhynn5t0U+3koMy2E8ju5kiEofQxXylys3Q76iKRRUbQqFkh/ndWtJVVfGNpi1GrUr1w1YZM0hBY9FqqeBjf7ckj+9BdiwWJ0XauuR70o7odm02mydk1/T3Hfzt3OE5nHIXnVbum9KyPx8wXj9qc6JGFm558pQOcRUgGUi+EzGoGckkoLx4Onl+XeGysW5sXP9dbYgMBug0Tjmdo9xkoBti6znDnN/zh93bbzWITNvxMgVs8zSWEhlM0c7F02UeUXSekbTFue5FOaMdYObMvPeb53jAKBOYLr34GVFvucJhKajIaNzDvfiI6fGCMxcSsWk+P3co7gdbRlWYZELsKDu2scktZsHr/gRwRiDZXAWOLiWZL4jswQ1vXSFXJgdblEV//hr2DwsAtCAsyFcgO/LGq30xi3xNqHTkUZXo6cZYSb6EVaIywMCI5ySEnTLAp/xedySANHuo8yyVqyLxkDPI7CnnSS7JcnQF3K5z+NZ0KnIpc1ewGupOhS0fKj31XxUkoSsHEY/iWJPLNA8+4VsBkADnGdkYXHTvy/yAGV6w1k1qtjiWhDAGcE9/o6NOHctYm3cx8CVsLpve/WFUaCkGgjWJdC8XP92xsUQoE6PENn6ZzFaqGHs7hgQqE1kBcEj8N5WkEqkoMo82giHE33iYoVUdkjOTkV4iDGEqyjg1BoM0GedR2A832LseDkP7u4DjIAQfpIDu7PaeiDh7xWkPRwIMV0oDTakXTdPkPGdgFikzTaxkTzRlpCbQuV769eITqVT04kJDp7+0Rb6dtjeXc0Ennv68wZSiyrlmXbrJntg7g1wrebq28q9NMIZETAPugfK6wNDu/Iw1q1kZn2ELo6xaDlcIxHDcpzK7e2VAYYuP1k3sYnSLU3oeq54j3/yS2z1me5FEqWlPOCrjdnLkE3/GjbeMsYo2YTYJEUEd2ncacSCoXUaUoxpBnjRYcHLRUV+6jy7Amp0/52rAPzSeVlBzc+SdNiKLYA2UQ74WrMU596Gkhw1SD8jSM5QqSBhH9sL+oE4GjhjLhstMUPdkNgiwxXDTZLKcIyjN1cn+RSmvNA2KXMH6MoXrkqSkJ9u2s0QAhla51zR/LZwWbzwGOO0dkh3rwh2x+pcCfuzvlk3lYr/x5XOF2k1n8yvehXY5zIX8nk6djjLbvAzzSr/yalS7R0WYIc6CjzoUl3qz+PlneMfKHcaX00hkOlIub/ZFQf1RE+JzZxi0qQq4M8Nt1XRKGDeS448Z6znDpedStUH29krZcnjMtyLmPX7ETTsjr3HLpCOd7MQ2K1rfhmvh5BtJkn1KSUf94puZbkLH7X+WnWN0hsc+KbSXnYZvqwJ8G0/7ptp/Q+wGljqhjv+HhOeA3NUwANv1xWgbiymVIlxCodXtQwn8mxS+jxSvslGwOnyUkTT76IbFbv/IpW6PNvj/xqwOqey8a/4WCGcqs403Y7TKQ+xCflG6K3tL7U5UbMnMgXTeZvoK+DooS2eIepF2WB5XqTuOZJV2OQ6GHfaBMjXN9iGVNLi6XgkbpmcMLQ4TZq+dVmgleJb14IaTFD3n74OfmbcT9lmRfPRJEpFEMNeL3ghH54P2a91zJFASgE7x+Uv2cGcmKFtMbyc/rrhH1F/Ixlv/R37huFo1T2dPMEZ/1ouuPpbUQ5oz/JlOWw3NOxd0O6oG0x9Xib+9KxSFOusLWcFEgx70jrBQKj8s2Jj+W0gZYv+BJtPMPY0KAkRj1amt4Fd6ZrPOEXJ392EHSAEv5jssO5ba52OHKA+QkYvPPL04rwkxSAQiTl57scnEj2WEIP+Lz0/qsMnwF+3rWuz856doJZcXX+U9iuzBCaYQqA1P3BojAYhEHnXBPeolHOA3BmhT9E2TJsZ6P9SQ+GaqyLm0i4vRXGlArlkLwRBs9EZv/l4DT8q0YHha53O4rhRzGJZKAOO252Dpha1YN7+FubYGAZjaUT5O0R/7xSPrGyBejddtM8asW8+NClAn4Y6xvj1IgUg6VRpEy7ZIpZEQ+UyDWt0A4nsipaz2NyZKZ5Vxza2v1qZDdYODK8nm/zj7fR/JykaNVEVj7ceTSHdaQlajfeEWWTs92msIBcqPUXqlaR005hoVvXm+WCnzIMIXLGiyRKRsAPIDYh2hGCtvfXLSq5TYm3bnGAImL0KW3Yllt1qSqSbOYsvm5QfDmTrrccvtSLGRj0rOU3Z8f4WXjf+1YgxjZ9h8fKL+LKA8x1S6M8fl0JVGBIAU8Xe8c4+r2F1VcygJp7h+0v8o8GudM6in4djAdeMLWBgXid7r0q744joFucP56opwYQp3Lu0oFEo0omS6Rh9yPfOjdGBU2eUdjcCNXXuEJD9yHSyebviSAvDw/KH1AxYSWYnjMWACCfcbOlXf3ej7PuQgq5MdFwF7+QawXm0john4YusUon4/0fqd/IFLd6oHYYesxcFdm1jN6DeS4SAqRgeEPuEWDFERgXjLHBxl5Xdi5n+NOR3Vc7ziJ9j9/CA1DKdwmsFBBDcVKMnr2FibXpN5WsSdlBng0L2zhkL22wRH9xbz8Xk5shN20/EHoxHB5HJvwfOgHIC7ooWKOUUuNTZH43+gVN+wzRzlMfiF4X71Edw+lTnQRp6Lh03M2k9do6JPoX2+UU0h6mOYiAFkhHKzCmK3DY12c4Smx+qLJNbUGhoMgthu/WnXObm0Hr+myCooTYSVNTJx6vVjI3GZtMcat2o8B9k38u/Y5/FxqTYmyXhROwS4v3W5fXwTAaxBqQy6Xj5s4V37omBBh/Z9a43nc2VlT7dKR1wIvNB/gqhiYyYrVMtYMJqGLkeCbu50LUWT4qXyR8uaqbZTVjyJCQRxZd6fd3Zfe9wIeYe3N5qKIXkFD3n1U2Q/EyRfb3TpiA+eYkAtl6JGK0vpeWpN5M2LJ3/V79e3cIG7B7/p6BrRxKxHDnBZcu57KKaN8XM+v2KTz7XdF8bjgeu1V/B9WoBwnpzCM+3s5ffNceuUcb2gJgRAUpZvcSDLYy+9aluGU2Tvsm49fCzr851p3VSEJepgPpnvuq874AX/MbPvqidF8Y21Kss1RUbl5wrlq5IihKdM+xCSq6mjvtSPVHRvw==,iv:2NBiTTW9slOH9BvM+kVbMB/+8EiS/Dc/eaqrtiwn4HY=,tag:0rc2+ZWy9XZYE7RK/oSo3g==,type:str] synapse-turn-shared-secret: ENC[AES256_GCM,data:Q1XRds3Zud1kYkvD6s9WUzP+kNDNsxB5SHd6oCAaLCHhHhYENSAYTZOF+rGjCPNyKFL0e/A=,iv:zScRQrz+pXHNUh/BGOaV+TVnDR3wu1Z/UO1zXarKwtA=,tag:ckpVziE+yb0FjctcT7tAkg==,type:str] +matrix-sliding-sync: ENC[AES256_GCM,data:CmR8Q5NL1m+eixenK4u1n3MfVh49/Q3ZIRmWfSbuFMr3u79rIGrtFf2EjaThCwBHQyXdYw1wyTouxhGZql1Fcp/HYma8u4w5nJOaJa1TXg==,iv:/kFqA/+kpCkhHZKJdhadjH11pZwh4MFiQPjY96t8M5k=,tag:aZkDCcbtonHMTv4TdBv1sQ==,type:str] rmfakecloud: ENC[AES256_GCM,data:ktKBKb6cRv1VF8tRvXIpxIy9hPinVPKK05mgvYzz18PEdcrCLpldm5xf7ffHtY5XzDOAMXDCiz6x4xyv7071frrF0spOEPnIzVhxwG8H2Ck=,iv:qJdHjv0RziAs4G9UGeRwGQ4GE5kaObJWpIYWpRKhr9c=,tag:PXgvU1hZK/gvWGyFJaHekg==,type:str] esphome: ENC[AES256_GCM,data:ufIZkZo1aP/Th/8a+9srkJBqLqPQI/ymElIEBmTKzqsJ3HE/mx9QJ1aH0vGVed9W/wSJ+7+huFpB+pNAebJMohK/fAmAVG3lzgT0wKWw8g4u33VHb6X8FIW6q1+CYRnOCQsocgM4EX26YfzaxVpw9P4PF/abwB1bVzr9xnEL2JdJfstzxnR70dKO88WTolykysc443iDW80i0scH+sCh8JIfDrV+V0l3jT+woAeTw1VA0hFa5x9i3tdfrHpzc/sN1/OW6F1CsMVS2pwUTkr7pKp5nfjxhEPi94iLMmakm0XWPZpay2213FQEUYiRqCIGmD1Oiyq0nSVcOAkc66TNwsqrdPCkCL8OPTXuTd+yIfAuU3267kUMNcN2A9kqGMx4Inj8JGlmvxuoQueuXIA4gvVFhJFBdovpl10HY/YkG/cGM0gazfF2+5xG93RgD9Uryq1g61XTFOkOaH7XtGs8Q13xnnXVwfq2pK/vnx9kQkgXJJQRU1Ng8PAg+Rw1VK6bzVz5ugj6q1ei56orNy4A8FU1z1aGyChfPT3XPaDwLr0pEXvc2Vz/6CxAosSpNHIQ6fO0XBM7nvIs/2jHZssXSVo2iwYRZsgZft60cg0FfBmDyc3QH6pVjYhoQGsBlfQt5CtW7XX3rJjQTcDLfzUlO8Ykax7TXZKnDcvtNonRm45bmV+1CqS9KLrBHouWN0axtweabAVW8dld9EnL3CrclE/RbTI0nPOR00S+Ip7wNuBto30yTACxaPHYF79izHu4rQjmm2N5Jt+nI8maEVva6IbAog16NUw6fYDaMwBDeSszBZm0BwNMf36EP/Mcp+MXrBfP1kOYe6HGjftMRDky83XYvP6Cx7FJcPXIZdsMQydxsXB3LKroFqoS2HsHBnCgQbbraQ5UWi40vKXANlKbgFcutqkATvoPW6Hbh07vfiLVfDeuHU9DUCFlgK7KHPWk/g+Uo+TUmgTVKNhbGU/vFu/9h4kIrbf/ocqL/tyMjwA5Yp9e0rQCez8w5Zqfbtqm4N1WB518Q7p52r8C+yLBAua7yB0gAc7SENXWFafkbHClchZXi3c0hY64YvuweDp8G/bPFT/yLuY/yBvA3F2G3CxZXzCMvhMVQfm2yzJeOL20vWumZ8LuIaXJ/13AzLp+lUrc8RmJvU/Hrp6xsEqzXz34qMiBNUR1BKjNAS86WJ1rzD3QtejeETGDwsw016jNbyIMcShgxiEMHnD6HXzWnfTv2fO5xICiAG/VMm5h+vC3MweW2XO01P3O0/Rq/OSy3R8ZlEFErlhR1HiXhc2CdxuuxqDySi0/rP/Jpxf25Zi8mY9YBTFlV0T9ApzJoTwlobMmmxHmqq+vQSKAxLq0lJ/bpO+8utchHbnQNUICveCkX4w+rK9Vnls3zbiLTBnsf+J4y5zpLZ5HkDCUNcEnD29ZR30IYoBTLUG3PlfyH++rLl5ynW5QKUWLnUdjvf9ZwS2veFAZw6tfHelzjkZ5tps5BkjS8YAi/x70Jw4qs3fzZudq6Lej4fsMdkBnYSSN2s7Sc3A1,iv:jSR/M4KS+cZMQgtTZWtPcpmKFD5QNr7s8ClAbXzpR2s=,tag:sp3BnZi+b9WuIiCPapG6Bw==,type:str] home-assistant: ENC[AES256_GCM,data:wcFMxDdRCHf/shO9v2WaGgrsa9J2WP62xFs=,iv:9ckeIO62cFZUo8fPyQj445CrJVTooNlwLapM/oTsrkk=,tag:mlfxtXDPsB3T79P9BX9oJQ==,type:str] @@ -26,8 +27,8 @@ sops: SU1USkxFUUY2NVhmUHBhZkdrNDR1Q0kKiXIicInELRjDR3tuyA+lnXeCcd9lYvbV GnBRGPM7BNO/6AA7HhAei48Kt+XE6+jQX66yTXyviKhK7Lpjrlb2YQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-05-06T15:25:14Z" - mac: ENC[AES256_GCM,data:JfgVZ7I/S22cN4yiXqE5nJY0KBq+ZLJABlMTi58VUw5jGf1vUmyTDkzm67QmZtVVL3R/xodrSMJw5CodF7wgVvJFilSvez/ygr1P8KKo7CDMxzl5VTO5uHq5aszOmRFF5N9ZGfUFZxjl3iuCwQofckcMKgeyG/1wOIf37H4Gstw=,iv:oLS4yQdl0LE363gVIkRUieFJ5M2N8Fc4Rge7SuTN85k=,tag:N4uxXbKIHfZonkiV1GxckQ==,type:str] + lastmodified: "2024-09-11T16:10:31Z" + mac: ENC[AES256_GCM,data:7STJaln+9X6xZFAyLSoMCw2PKNiRr4GNhxGbZRPRf+nKfkFh7wJRS3YWVrxd9iOonSPsuHfPnBrAPiq7ILXqwfjNcyf2HtOIPxHz0utE6b0X7KvEwmLSRMOQG9rpsETE5UBQ+DgtU9IwZzTXgh9CGZpHWQAPeOI+lK4OKLlXvkk=,iv:E++ECn4SJy43lW5RWxjSDc7dj0LWDXIuO+5fVFE3+zU=,tag:QFvao9PWSllzXXhGwFQgrw==,type:str] pgp: - created_at: "2024-01-31T01:20:30Z" enc: |- diff --git a/hosts/iron/services/matrix.nix b/hosts/iron/services/matrix.nix index 7214d0d..115277f 100644 --- a/hosts/iron/services/matrix.nix +++ b/hosts/iron/services/matrix.nix @@ -9,12 +9,19 @@ in owner = "matrix-synapse"; sopsFile = ../secrets.yaml; }; + matrix-sliding-sync = { + sopsFile = ../secrets.yaml; + }; }; jalr.matrix = { enable = true; fqdn = "matrix.jalr.de"; domain = "jalr.de"; synapse.port = ports.matrix-synapse.tcp; + sliding-sync = { + port = ports.matrix-sliding-sync.tcp; + secretFile = config.sops.secrets.matrix-sliding-sync.path; + }; turn = { host = "turn.jalr.de"; sharedSecretFile = config.sops.secrets.synapse-turn-shared-secret.path; diff --git a/hosts/magnesium/services/webserver.nix b/hosts/magnesium/services/webserver.nix index 9c55514..8ab2c50 100644 --- a/hosts/magnesium/services/webserver.nix +++ b/hosts/magnesium/services/webserver.nix @@ -44,7 +44,7 @@ in add_header Content-Type application/json; return 200 '${builtins.toJSON { "m.server" = "${matrixDomain}:443"; - }}'; + }}'; ''; "=/.well-known/matrix/client".extraConfig = '' ${parentHeaders} @@ -52,6 +52,7 @@ in add_header Access-Control-Allow-Origin *; return 200 '${builtins.toJSON { "m.homeserver"."base_url" = "https://${matrixDomain}"; + "org.matrix.msc3575.proxy"."url" = "https://${matrixDomain}"; }}'; ''; }; diff --git a/modules/matrix/default.nix b/modules/matrix/default.nix index d237ca5..48dae11 100644 --- a/modules/matrix/default.nix +++ b/modules/matrix/default.nix @@ -21,6 +21,16 @@ in }; }; }; + sliding-sync = { + port = mkOption { + description = "TCP port for synapse service."; + type = port; + }; + secretFile = mkOption { + type = path; + description = "Location of the file to set secret environment variables."; + }; + }; fqdn = mkOption { type = str; description = '' @@ -82,6 +92,7 @@ in imports = [ ./mautrix-signal.nix ./mautrix-whatsapp.nix + ./sliding-sync.nix ./synapse.nix ]; } diff --git a/modules/matrix/sliding-sync.nix b/modules/matrix/sliding-sync.nix new file mode 100644 index 0000000..9ab2cba --- /dev/null +++ b/modules/matrix/sliding-sync.nix @@ -0,0 +1,18 @@ +{ config, lib, pkgs, ... }: + +let + cfg = config.jalr.matrix; +in +lib.mkIf cfg.enable { + services.matrix-sliding-sync = { + enable = true; + settings = { + SYNCV3_SERVER = "https://${cfg.fqdn}"; + SYNCV3_BINDADDR = "127.0.0.1:${toString cfg.sliding-sync.port}"; + }; + environmentFile = cfg.sliding-sync.secretFile; + }; + services.nginx.virtualHosts."${cfg.fqdn}".locations."/_matrix/client/unstable/org.matrix.msc3575/sync" = { + proxyPass = "http://127.0.0.1:${toString cfg.sliding-sync.port}"; + }; +} From d870abcd3fe763b1de86f895840c3e86fce6db29 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 11 Sep 2024 18:23:21 +0200 Subject: [PATCH 444/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/04a1cda0c1725094a4db703cccbb956b7558f5a6' (2024-09-07) → 'github:nixos/nixos-hardware/166dee4f88a7e3ba1b7a243edb1aca822f00680e' (2024-09-09) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/6f6c45b5134a8ee2e465164811e451dcb5ad86e3' (2024-09-03) → 'github:nixos/nixpkgs/44a71ff39c182edaf25a7ace5c9454e7cba2c658' (2024-09-10) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/193565cfe3ff415029ee805fbcbe1c2b2e1a01e3' (2024-09-07) → 'github:NixOS/nixpkgs/ee9a6df34035b1d24a2171869de9912904b65e03' (2024-09-11) • Updated input 'nur': 'github:nix-community/NUR/c92b904814d4a89d323c90e249c84ef6629ffade' (2024-09-07) → 'github:nix-community/NUR/458b5f46020cce18c46452b8ec16721c57142936' (2024-09-11) • Updated input 'sops-nix': 'github:Mic92/sops-nix/d9d781523a1463965cd1e1333a306e70d9feff07' (2024-09-05) → 'github:Mic92/sops-nix/cede1a08039178ac12957733e97ab1006c6b6892' (2024-09-09) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/556533a23879fc7e5f98dd2e0b31a6911a213171' (2024-07-21) → 'github:NixOS/nixpkgs/dc454045f5b5d814e5862a6d057e7bb5c29edc05' (2024-09-08) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index d7bdd94..e819fdf 100644 --- a/flake.lock +++ b/flake.lock @@ -314,11 +314,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1725716377, - "narHash": "sha256-7NzW9O/cAw7iWzRfh7Oo/SuSudL4a1YTKS6yoh3tMck=", + "lastModified": 1725885300, + "narHash": "sha256-5RLEnou1/GJQl+Wd+Bxaj7QY7FFQ9wjnFq1VNEaxTmc=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "04a1cda0c1725094a4db703cccbb956b7558f5a6", + "rev": "166dee4f88a7e3ba1b7a243edb1aca822f00680e", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1725407940, - "narHash": "sha256-tiN5Rlg/jiY0tyky+soJZoRzLKbPyIdlQ77xVgREDNM=", + "lastModified": 1725930920, + "narHash": "sha256-RVhD9hnlTT2nJzPHlAqrWqCkA7T6CYrP41IoVRkciZM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6f6c45b5134a8ee2e465164811e451dcb5ad86e3", + "rev": "44a71ff39c182edaf25a7ace5c9454e7cba2c658", "type": "github" }, "original": { @@ -378,11 +378,11 @@ }, "nixpkgs-stable_3": { "locked": { - "lastModified": 1721524707, - "narHash": "sha256-5NctRsoE54N86nWd0psae70YSLfrOek3Kv1e8KoXe/0=", + "lastModified": 1725762081, + "narHash": "sha256-vNv+aJUW5/YurRy1ocfvs4q/48yVESwlC/yHzjkZSP8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "556533a23879fc7e5f98dd2e0b31a6911a213171", + "rev": "dc454045f5b5d814e5862a6d057e7bb5c29edc05", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1725749909, - "narHash": "sha256-z6tE76iVykVY8tGoNZnvm0q50VjxDPhn6YQNPFH1K2c=", + "lastModified": 1726071450, + "narHash": "sha256-iKjWcP3Y+W4AX2UmumaChive9Dc0WAvMwY1SXLv7wO8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "193565cfe3ff415029ee805fbcbe1c2b2e1a01e3", + "rev": "ee9a6df34035b1d24a2171869de9912904b65e03", "type": "github" }, "original": { @@ -410,11 +410,11 @@ }, "nur": { "locked": { - "lastModified": 1725741028, - "narHash": "sha256-/CornZK9spEoVBOXdR/Rf36Hm5WqyIM9u+JXU1ffMEs=", + "lastModified": 1726069811, + "narHash": "sha256-CATlLfKFs6vA7SSG+uaiT/rSGBwWMCI5S5kdUvQK9qE=", "owner": "nix-community", "repo": "NUR", - "rev": "c92b904814d4a89d323c90e249c84ef6629ffade", + "rev": "458b5f46020cce18c46452b8ec16721c57142936", "type": "github" }, "original": { @@ -526,11 +526,11 @@ "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { - "lastModified": 1725540166, - "narHash": "sha256-htc9rsTMSAY5ek+DB3tpntdD/es0eam2hJgO92bWSys=", + "lastModified": 1725922448, + "narHash": "sha256-ruvh8tlEflRPifs5tlpa0gkttzq4UtgXkJQS7FusgFE=", "owner": "Mic92", "repo": "sops-nix", - "rev": "d9d781523a1463965cd1e1333a306e70d9feff07", + "rev": "cede1a08039178ac12957733e97ab1006c6b6892", "type": "github" }, "original": { From 32c28d8577dd99cf22775ce1ad57c9bf846e36ac Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 11 Sep 2024 22:40:02 +0200 Subject: [PATCH 445/766] Enable Signal --- hosts/iron/services/matrix.nix | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/hosts/iron/services/matrix.nix b/hosts/iron/services/matrix.nix index 115277f..79a184d 100644 --- a/hosts/iron/services/matrix.nix +++ b/hosts/iron/services/matrix.nix @@ -2,6 +2,8 @@ args@{ config, pkgs, custom-utils, ... }: let ports = import ../ports.nix args; + signalPhoneNumber = "+4915566437153"; + signalUser = "jalr"; in { sops.secrets = { @@ -38,7 +40,7 @@ in }; }; mautrix-signal = { - enable = false; + enable = true; port = ports.mautrix-signal.tcp; settings.bridge = { permissions = { @@ -50,4 +52,27 @@ in }; }; }; + + systemd.services.signal-cli-receive = { + description = "Run signal-cli to receive messages"; + serviceConfig = { + Type = "oneshot"; + User = signalUser; + CapabilityBoundingSet = null; + RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictNamespaces = true; + SystemCallFilter = "@system-service"; + }; + script = "${pkgs.signal-cli}/bin/signal-cli -u ${signalPhoneNumber} receive"; + }; + systemd.timers.signal-cli-receive = { + description = "Run signal-cli to receive messages"; + after = [ "network.target" ]; + wantedBy = [ "timers.target" ]; + timerConfig = { + Persistent = true; + OnCalendar = "*-*-* *:00:00"; + Unit = config.systemd.services.signal-cli-receive.name; + }; + }; } From 9e95b2595a021c3e2ad53d9afc23580c487c2ded Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 11 Sep 2024 22:40:53 +0200 Subject: [PATCH 446/766] Add libvirt --- hosts/iron/configuration.nix | 17 ++++++++++++++--- hosts/iron/services/dnsmasq.nix | 1 + 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index 5963afe..d2a78b8 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -77,12 +77,20 @@ with lib; { externalInterface = interfaces.wan; internalInterfaces = [ interfaces.lan + "virbr0" ]; }; - firewall.extraForwardRules = '' - tcp flags syn tcp option maxseg size set rt mtu - ''; + firewall = { + allowedTCPPorts = [ 5201 ]; + extraForwardRules = '' + tcp flags syn tcp option maxseg size set rt mtu + ''; + interfaces.virbr0 = { + allowedTCPPorts = [ 53 ]; + allowedUDPPorts = [ 53 67 ]; + }; + }; }; services.radvd = { @@ -225,5 +233,8 @@ with lib; { memoryPercent = 60; priority = 1; }; + + + jalr.libvirt.enable = true; }; } diff --git a/hosts/iron/services/dnsmasq.nix b/hosts/iron/services/dnsmasq.nix index 15d6710..b277cf4 100644 --- a/hosts/iron/services/dnsmasq.nix +++ b/hosts/iron/services/dnsmasq.nix @@ -8,6 +8,7 @@ in services.dnsmasq = { enable = true; settings = { + bind-interfaces = true; listen-address = [ "192.168.42.1" "10.20.0.1" From 476c0990444efa54182b03212474f7d75375f5c9 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 11 Sep 2024 22:42:07 +0200 Subject: [PATCH 447/766] Remove nano --- modules/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/default.nix b/modules/default.nix index bd73bc6..ae19e75 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -67,6 +67,8 @@ ]; }; + programs.nano.enable = false; + security.acme = { acceptTerms = true; defaults = { From 6b8a8c73c5bcccd08722804eb1bb338a2d46b3c1 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 17 Sep 2024 13:48:22 +0200 Subject: [PATCH 448/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/e55f9a8678adc02024a4877c2a403e3f6daf24fe' (2024-09-03) → 'github:nix-community/disko/22ee467a54a3ab7fa9d637ccad5330c6c087e9dc' (2024-09-16) • Updated input 'flake-utils': 'github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a' (2024-03-11) → 'github:numtide/flake-utils/c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a' (2024-09-17) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/166dee4f88a7e3ba1b7a243edb1aca822f00680e' (2024-09-09) → 'github:nixos/nixos-hardware/dc8b0296f68f72f3fe77469c549a6f098555c2e9' (2024-09-16) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/44a71ff39c182edaf25a7ace5c9454e7cba2c658' (2024-09-10) → 'github:nixos/nixpkgs/8f7492cce28977fbf8bd12c72af08b1f6c7c3e49' (2024-09-14) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/ee9a6df34035b1d24a2171869de9912904b65e03' (2024-09-11) → 'github:NixOS/nixpkgs/06e78ca76feaa97082b905d330265d495eefc9f7' (2024-09-17) • Updated input 'nur': 'github:nix-community/NUR/458b5f46020cce18c46452b8ec16721c57142936' (2024-09-11) → 'github:nix-community/NUR/48b58426a0fb447bad367813e742247dc860bed6' (2024-09-17) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/a313fd7169ae43ecd1a2ea2f1e4899fe3edba4d2' (2024-09-05) → 'github:nix-community/poetry2nix/a0cbe913ce184bef7cd739f75ba5d123e1f41ef2' (2024-09-15) • Updated input 'sops-nix': 'github:Mic92/sops-nix/cede1a08039178ac12957733e97ab1006c6b6892' (2024-09-09) → 'github:Mic92/sops-nix/e2d404a7ea599a013189aa42947f66cede0645c8' (2024-09-16) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index e819fdf..83e4427 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1725377834, - "narHash": "sha256-tqoAO8oT6zEUDXte98cvA1saU9+1dLJQe3pMKLXv8ps=", + "lastModified": 1726524467, + "narHash": "sha256-xkPPPvfHhHK7BNX5ZrQ9N6AIEixCmFzRZHduDf0zv30=", "owner": "nix-community", "repo": "disko", - "rev": "e55f9a8678adc02024a4877c2a403e3f6daf24fe", + "rev": "22ee467a54a3ab7fa9d637ccad5330c6c087e9dc", "type": "github" }, "original": { @@ -99,11 +99,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1726560853, + "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1725885300, - "narHash": "sha256-5RLEnou1/GJQl+Wd+Bxaj7QY7FFQ9wjnFq1VNEaxTmc=", + "lastModified": 1726489388, + "narHash": "sha256-JBHtN+n1HzKawpnOQAz6jdgvrtYV9c/kyzgoIdguQGo=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "166dee4f88a7e3ba1b7a243edb1aca822f00680e", + "rev": "dc8b0296f68f72f3fe77469c549a6f098555c2e9", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1725930920, - "narHash": "sha256-RVhD9hnlTT2nJzPHlAqrWqCkA7T6CYrP41IoVRkciZM=", + "lastModified": 1726320982, + "narHash": "sha256-RuVXUwcYwaUeks6h3OLrEmg14z9aFXdWppTWPMTwdQw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "44a71ff39c182edaf25a7ace5c9454e7cba2c658", + "rev": "8f7492cce28977fbf8bd12c72af08b1f6c7c3e49", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1726071450, - "narHash": "sha256-iKjWcP3Y+W4AX2UmumaChive9Dc0WAvMwY1SXLv7wO8=", + "lastModified": 1726573629, + "narHash": "sha256-O4fWqykLSQrGcNmx7HCElAmrYC6riGbhdCzk1dmj4qs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ee9a6df34035b1d24a2171869de9912904b65e03", + "rev": "06e78ca76feaa97082b905d330265d495eefc9f7", "type": "github" }, "original": { @@ -410,11 +410,11 @@ }, "nur": { "locked": { - "lastModified": 1726069811, - "narHash": "sha256-CATlLfKFs6vA7SSG+uaiT/rSGBwWMCI5S5kdUvQK9qE=", + "lastModified": 1726569072, + "narHash": "sha256-x33fIaVSJGc/kLiXh+a8x97GrMN1DtnRd8Ar50sDaNs=", "owner": "nix-community", "repo": "NUR", - "rev": "458b5f46020cce18c46452b8ec16721c57142936", + "rev": "48b58426a0fb447bad367813e742247dc860bed6", "type": "github" }, "original": { @@ -436,11 +436,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1725532428, - "narHash": "sha256-dCfawQDwpukcwQw++Cn/3LIh/RZMmH+k3fm91Oc5Pf0=", + "lastModified": 1726394406, + "narHash": "sha256-RUzT5OUT+sCNl/fA4u6u/SPc1Bye7MU96Vtu6jksfxs=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "a313fd7169ae43ecd1a2ea2f1e4899fe3edba4d2", + "rev": "a0cbe913ce184bef7cd739f75ba5d123e1f41ef2", "type": "github" }, "original": { @@ -526,11 +526,11 @@ "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { - "lastModified": 1725922448, - "narHash": "sha256-ruvh8tlEflRPifs5tlpa0gkttzq4UtgXkJQS7FusgFE=", + "lastModified": 1726524647, + "narHash": "sha256-qis6BtOOBBEAfUl7FMHqqTwRLB61OL5OFzIsOmRz2J4=", "owner": "Mic92", "repo": "sops-nix", - "rev": "cede1a08039178ac12957733e97ab1006c6b6892", + "rev": "e2d404a7ea599a013189aa42947f66cede0645c8", "type": "github" }, "original": { From 13b86afac1ff740e1c007bffd8850c6435b58f3f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 17 Sep 2024 14:35:31 +0200 Subject: [PATCH 449/766] Use implicit TLS port for SMTP client connection --- hosts/iron/ports.nix | 2 +- hosts/weinturm-pretix-prod/ports.nix | 2 +- modules/mailserver/postfix.nix | 4 ++-- users/jalr/default.nix | 12 ++++++------ 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/hosts/iron/ports.nix b/hosts/iron/ports.nix index 0a751fc..b5d9466 100644 --- a/hosts/iron/ports.nix +++ b/hosts/iron/ports.nix @@ -14,7 +14,7 @@ custom-utils.validatePortAttrset { nginx-http.tcp = 80; nginx-https.tcp = 443; postfix-relay.tcp = 25; - postfix-submission.tcp = [ 465 587 ]; + postfix-submission.tcp = [ 465 ]; qbittorrent-torrent.tcp = 59832; qbittorrent-webui.tcp = 8099; radicale.tcp = 5232; diff --git a/hosts/weinturm-pretix-prod/ports.nix b/hosts/weinturm-pretix-prod/ports.nix index 9c3e0e7..5de5641 100644 --- a/hosts/weinturm-pretix-prod/ports.nix +++ b/hosts/weinturm-pretix-prod/ports.nix @@ -4,5 +4,5 @@ custom-utils.validatePortAttrset { nginx-http.tcp = 80; nginx-https.tcp = 443; ports.postfix-relay.tcp = 25; - ports.postfix-submission.tcp = [ 465 587 ]; + ports.postfix-submission.tcp = [ 465 ]; } diff --git a/modules/mailserver/postfix.nix b/modules/mailserver/postfix.nix index e09a48a..62b7eaa 100644 --- a/modules/mailserver/postfix.nix +++ b/modules/mailserver/postfix.nix @@ -41,7 +41,7 @@ lib.mkIf cfg.enable { relayPort = cfg.relayPort; - enableSubmission = true; # plain/STARTTLS (latter is forced in submissionOptions) + enableSubmission = false; # plain/STARTTLS (latter is forced in submissionOptions) enableSubmissions = true; # submission with implicit TLS (TCP/465) hostname = cfg.fqdn; @@ -147,7 +147,7 @@ lib.mkIf cfg.enable { networking.firewall.allowedTCPPorts = [ 25 # SMTP - 587 # SMTP submission + 465 # SMTPS (implicit TLS) ]; systemd.services.postfix = { diff --git a/users/jalr/default.nix b/users/jalr/default.nix index 175fdf0..9d83727 100644 --- a/users/jalr/default.nix +++ b/users/jalr/default.nix @@ -81,10 +81,10 @@ in }; smtp = { host = "hha.jalr.de"; - port = 587; + port = 465; tls = { enable = true; - useStartTls = true; + useStartTls = false; }; }; thunderbird = { @@ -106,10 +106,10 @@ in }; smtp = { host = "mail.agenturserver.de"; - port = 587; + port = 465; tls = { enable = true; - useStartTls = true; + useStartTls = false; }; }; thunderbird = { @@ -156,10 +156,10 @@ in }; smtp = { host = "hha.jalr.de"; - port = 587; + port = 465; tls = { enable = true; - useStartTls = true; + useStartTls = false; }; }; thunderbird = { From 2ba33e485169a7fab15ad4ddf28485484819ae9d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 17 Sep 2024 13:46:44 +0200 Subject: [PATCH 450/766] Add forgejo --- hosts/iron/secrets/mail-users.nix | Bin 1342 -> 1524 bytes hosts/magnesium/ports.nix | 3 +- hosts/magnesium/secrets.yaml | 7 +-- hosts/magnesium/services/default.nix | 1 + hosts/magnesium/services/forgejo.nix | 68 +++++++++++++++++++++++++++ 5 files changed, 75 insertions(+), 4 deletions(-) create mode 100644 hosts/magnesium/services/forgejo.nix diff --git a/hosts/iron/secrets/mail-users.nix b/hosts/iron/secrets/mail-users.nix index 4caac0272ba9b7f6a486d618340f3c1cbb23dc09..0046b885874d45c973507b8b794424d0d4864c26 100644 GIT binary patch literal 1524 zcmZQ@_Y83kiVO&05aO?RHS60mha(MQ3{4+T=?i|@zlCi^Pg7RM2ib)dlm6&S?Anst zC%e+CtYMOOcG-i#gwIX2{J%8lCH3b3_zG?*)zrLy#`|)S(kF&FX__-Vwo;quD z`h?BvV}I^De(6S0$?jU|oi}Ej_Sw6sZ3TzfMW;EpDy&%@kIw2c`_9&N=61Pk#60K8 z-}&roN~)KZ^vz6m?J|)sa(|a`HRaNbf3MtF>yAI@o)`Q7;`b!8f6ZrumHZY=_h>O{(Olw-N7jfZ2%7IU_ z+ONB8te7ja<71wPt&Y5=ab28YuQ;*ex;4!o7<%u!80-?Z|^r<^|tEBr1|}=FwRt8| zelj~^n4=^*L#lsdW$4FDJuiFxV$Hp{tXI4lrZ2ON{+~`c{n6xtlCRg#Wi3ZS55>D_ z{NB|$F);OOSct^xzcp!>KF|DDo}Xa(A+6eXg(>~pNk&ET2!KD7}izh1a)-6s9(c-x0Of$dHqSIee8wA$o=l3`_P1z_qe{;3WJK>!M)9;9D$XuT% zb@i|E)(6WRr53#Mcp}e~y^(KO&NkKP2*wW|@$g|JeRM{>qPA+E0I7(bjH0S)ZAEJ!`?1l#~nEXP4dPx!uwI(nUi(v?cGu^u=#t z7nfa#LB92Xc_oJci(f*r~ z){|x`X!1T^+jT+d`>gy@`!h>zEUy0(Teg zteOA4=E2rAb{`La++I6{d0wYTish+WFGG?#H*j12{#J0{x17}b{YyFCv{O3+Unrl34NA5 zm!2(Xlufnt(4H`9ev;JGn`}4bB272NO`C8pwzYhwoUU@qqQwiy}j<>krkHnY?d;Nulsx$DKV#yc1qJ))vL_ zXeP~Eb>(dgyWeN;TWYop!9J&}Tt02tm&+8zV?HCpV53<2n^O1n2LpEm%=(*_a4(r* z<;Rn4DtexctEZ){y7o$Hw)D=KYxfoX-E4BEyzlDmFX2sxxI{$j9B!S|Bz z%87Nodrv-_X5;=&XO{fc%o@Iig}Xvuu$S0wc6MX_BzC-oyC-M=?xPZ|J0unc3L0Ms zEc`lS*RusVYGoa*!YBI{?D(>I_n!j64Lr%~!m_xg&fV(46g*EmL#M>W;M^peOZPra zi=N4GEx5QmMeNtymG_0s#Ts-@v9t?CyjWl7onUNyu<*Fe?Hx~zg-sUgmzUgs?cQ{8 zuW8~f<^wCT<##`K{!17}=FR7@E~BC(FSzYZ@Zqqxrm^ySg5FJ;CB?3AWTt0!_};Jg>$5*kX>wO_ zH0ZtRulC;h&Gxw;Pp4fDy}xUg-oB%PEi4^wAGfI6OKjt3*lNtf{Qk5Ruj)Fz)R4o? zQtnl*shrc4Iody12`%P1G{>yGI`R7f1J%qNsRJhZFIH8utZJFYH*41$CYvHXK8-yt zt+(fW`?t;3W24^X0yo2}7mTI{Mjp195HRa)!Oz7%Dt#}`l=!H**<+7$*0Vi}0%xpe zpY_tocII7=<860N%)G8XEyyit@$_upIt`^G8F`8q1&BagXL-C$JdO8uDa2M7{Y_$CbNFBX0lUXJ-#_dOd;9t9<}2+B1XF9|m(yB3gXPHl;5Bx^Dk7)U8T<+qHw3+pEoRl7 z@XPhe{q7mbNfwX)epupA+xfe>z~$S#_j(KN&S;S9Z@SG|$P?YhU4F#!6(7&53vH8^ zq?sw++`TaC826r+U$U0Xk+YV|S$cHyGM8`eN!3eSohk*=&eX76m*U$lB={nEvCWa< zecky?;xCj^t}R)_ep!-jChL4_+q_Mu>n6Ko7#!4oq}aVBb-iz{u<>*;nO`ev`}VyH Q?w;cG^UtJ+(uJ}103 Date: Tue, 17 Sep 2024 21:47:25 +0200 Subject: [PATCH 451/766] Add ntp service --- hosts/aluminium/services/default.nix | 1 + hosts/aluminium/services/dnsmasq.nix | 3 +++ hosts/aluminium/services/ntp.nix | 13 +++++++++++++ 3 files changed, 17 insertions(+) create mode 100644 hosts/aluminium/services/ntp.nix diff --git a/hosts/aluminium/services/default.nix b/hosts/aluminium/services/default.nix index 7ce0f6e..8639a37 100644 --- a/hosts/aluminium/services/default.nix +++ b/hosts/aluminium/services/default.nix @@ -7,6 +7,7 @@ ./esphome ./home-assistant.nix ./nginx.nix + ./ntp.nix ./unifi-controller.nix ]; } diff --git a/hosts/aluminium/services/dnsmasq.nix b/hosts/aluminium/services/dnsmasq.nix index 6363be1..ff4549a 100644 --- a/hosts/aluminium/services/dnsmasq.nix +++ b/hosts/aluminium/services/dnsmasq.nix @@ -39,6 +39,9 @@ in "2001:470:20::2" # ordns.he.net "74.82.42.42" # ordns.he.net ]; + dhcp-option = [ + "option:ntp-server,192.168.0.1" + ]; }; }; diff --git a/hosts/aluminium/services/ntp.nix b/hosts/aluminium/services/ntp.nix new file mode 100644 index 0000000..aed11f4 --- /dev/null +++ b/hosts/aluminium/services/ntp.nix @@ -0,0 +1,13 @@ +{ lib, pkgs, ... }: +{ + services.chrony = { + enable = true; + extraConfig = '' + allow 192.168.0.0/24 + allow 192.168.10.0/24 + leapsectz right/UTC + ''; + }; + networking.firewall.interfaces.lechner.allowedUDPPorts = [ 123 ]; + networking.firewall.interfaces.heizung.allowedUDPPorts = [ 123 ]; +} From 240d8dbc4cd6b7ff93bac49b567716d85f9f43e5 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 17 Sep 2024 23:32:59 +0200 Subject: [PATCH 452/766] Allow unifi inform port on lan interface --- hosts/aluminium/ports.nix | 3 ++- hosts/aluminium/services/unifi-controller.nix | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/hosts/aluminium/ports.nix b/hosts/aluminium/ports.nix index f1d126f..34bfdaf 100644 --- a/hosts/aluminium/ports.nix +++ b/hosts/aluminium/ports.nix @@ -9,5 +9,6 @@ custom-utils.validatePortAttrset { home-assistant.tcp = 8123; nginx-http.tcp = 80; nginx-https.tcp = 443; - unifi.tcp = 8443; + unifi-inform.tcp = 8080; + unifi-ui.tcp = 8443; } diff --git a/hosts/aluminium/services/unifi-controller.nix b/hosts/aluminium/services/unifi-controller.nix index a97eda8..16489c6 100644 --- a/hosts/aluminium/services/unifi-controller.nix +++ b/hosts/aluminium/services/unifi-controller.nix @@ -9,6 +9,7 @@ in unifiPackage = pkgs.unifi8; }; networking.firewall.interfaces.lechner.allowedTCPPorts = [ - ports.unifi.tcp + ports.unifi-inform.tcp + ports.unifi-ui.tcp ]; } From f6e3fd2b98ced525974bd252575a4efeea9e9693 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 18 Sep 2024 15:42:37 +0200 Subject: [PATCH 453/766] Set max seg size for interface ppp0 --- hosts/aluminium/configuration.nix | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/hosts/aluminium/configuration.nix b/hosts/aluminium/configuration.nix index 7e843b6..cdd652a 100644 --- a/hosts/aluminium/configuration.nix +++ b/hosts/aluminium/configuration.nix @@ -74,9 +74,6 @@ "voice" ]; }; - firewall.extraForwardRules = '' - tcp flags syn tcp option maxseg size set rt mtu - ''; firewall.extraInputRules = '' iifname "voice" udp dport 5059 accept ip saddr 217.10.68.150 udp dport 5060 accept @@ -119,6 +116,16 @@ }; }; + networking.nftables.tables.pppoe = { + family = "ip"; + content = '' + chain clamp { + type filter hook forward priority mangle; + oifname "ppp0" tcp flags syn tcp option maxseg size set rt mtu comment "clamp MSS to Path MTU" + } + ''; + }; + zramSwap = { enable = true; algorithm = "zstd"; From 188de9cf193edfe1577583f37a5f55e9031fa2b2 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 18 Sep 2024 15:43:18 +0200 Subject: [PATCH 454/766] Allow sip port from voice network --- hosts/aluminium/services/asterisk/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hosts/aluminium/services/asterisk/default.nix b/hosts/aluminium/services/asterisk/default.nix index ccc0e79..c6d8cd7 100644 --- a/hosts/aluminium/services/asterisk/default.nix +++ b/hosts/aluminium/services/asterisk/default.nix @@ -188,6 +188,10 @@ in to = rtp.end; } ]; + interfaces.voice = { + allowedTCPPorts = [ 5060 ]; + allowedUDPPorts = [ 5060 ]; + }; }; systemd.services."asterisk-reload-endpoint@" = { From ad462bc9ebb6292f2d96451e1e7007e0661db06b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 19 Sep 2024 00:02:38 +0200 Subject: [PATCH 455/766] Add detergent dosing to washing machine --- .../esphome/devices/waschmaschine.yaml | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/hosts/iron/services/esphome/devices/waschmaschine.yaml b/hosts/iron/services/esphome/devices/waschmaschine.yaml index 8e4f376..0e5d854 100644 --- a/hosts/iron/services/esphome/devices/waschmaschine.yaml +++ b/hosts/iron/services/esphome/devices/waschmaschine.yaml @@ -38,4 +38,82 @@ sensor: name: "in Betrieb" current_operation: name: "aktueller Vorgang" + id: current_operation +number: + - platform: template + name: "Waschmittelmenge" + id: detergent_dosing + min_value: 25.0 + max_value: 150.0 + step: 1 + unit_of_measurement: "ml" + icon: 'mdi:cup-water' + restore_value: true + initial_value: 75.0 + optimistic: true + - platform: template + name: "Waschmittelvorrat" + id: detergent_supply + min_value: 0.0 + max_value: 5000 + step: 1.0 + unit_of_measurement: "ml" + icon: 'mdi:cup-water' + restore_value: true + initial_value: 0 + optimistic: true + +stepper: + - platform: a4988 + id: detergent_stepper + step_pin: GPIO32 + sleep_pin: GPIO33 + dir_pin: GPIO25 # not used + max_speed: 600 steps/s + acceleration: 125 steps/s^2 + deceleration: 125 steps/s^2 + +globals: + - id: dosing_enabled + type: bool + restore_value: false + initial_value: 'true' + +interval: + - interval: 1s + then: + if: + condition: + and: + - lambda: return id(current_operation).state == "Einw/Vorwäsche"; + - lambda: return id(dosing_enabled); + then: + - lambda: &dosing |- + float dose = id(detergent_dosing).state; + float current_supply = id(detergent_supply).state; + if (current_supply >= dose) { + id(detergent_stepper).set_target(dose * 125); + id(detergent_stepper).report_position(0); + id(detergent_supply).publish_state(current_supply - dose); + ESP_LOGD("custom", "Waschmitteldosierung durchgeführt: %.2f ml, verbleibender Vorrat: %.2f ml", dose, current_supply - dose); + } else { + ESP_LOGW("custom", "Nicht genug Waschmittelvorrat! Aktueller Vorrat: %.2f ml, gewünschte Dosierung: %.2f ml", current_supply, dose); + } + - lambda: |- + id(dosing_enabled) = false; + - interval: 1s + then: + if: + condition: + lambda: return id(current_operation).state == "Knitterschutz/Ende"; + then: + - lambda: |- + id(dosing_enabled) = true; + +button: + - platform: template + name: "Waschmitteldosierung auslösen" + icon: "mdi:cup-water" + on_press: + - lambda: *dosing From e3cf0168498c5d3fa197366b405647e3a48de084 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 21 Sep 2024 00:16:17 +0200 Subject: [PATCH 456/766] Fix firmware embedding into VESC tool --- pkgs/vesc-tool/tool.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/vesc-tool/tool.nix b/pkgs/vesc-tool/tool.nix index 3cb591d..7b70eca 100644 --- a/pkgs/vesc-tool/tool.nix +++ b/pkgs/vesc-tool/tool.nix @@ -34,9 +34,7 @@ stdenv.mkDerivation { dontConfigure = true; buildPhase = '' - for f in ${vesc-firmware}/*; do - ln -s "$f" res/firmwares/ - done + cp -r ${vesc-firmware}/* res/firmwares/ qmake -config release "CONFIG += release_lin build_platinum" make clean make -j $NIX_BUILD_CORES From 8a39f779ef6993d7ac94841153e15479077b2bc0 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 21 Sep 2024 00:17:15 +0200 Subject: [PATCH 457/766] Build vesc6 mk3 firmware This is the appropriate firmware for my VESC6 MKIII --- pkgs/vesc-tool/firmware.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/vesc-tool/firmware.nix b/pkgs/vesc-tool/firmware.nix index 9db0fdc..d79819f 100644 --- a/pkgs/vesc-tool/firmware.nix +++ b/pkgs/vesc-tool/firmware.nix @@ -33,7 +33,9 @@ stdenv.mkDerivation rec { ( cd bldc chmod +w . - make -j $NIX_BUILD_CORES fw_410 fw_60 + # print targets: + # make; false + make -j $NIX_BUILD_CORES fw_410 fw_60_mk3 python package_firmware.py ) mkdir -p $out From 937af5ea230a19ed4999cf9c3a9b0ec1371e9abf Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 21 Sep 2024 00:18:22 +0200 Subject: [PATCH 458/766] Update VESC tool and firmware --- pkgs/vesc-tool/firmware.nix | 4 ++-- pkgs/vesc-tool/tool.nix | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/pkgs/vesc-tool/firmware.nix b/pkgs/vesc-tool/firmware.nix index d79819f..dba61cf 100644 --- a/pkgs/vesc-tool/firmware.nix +++ b/pkgs/vesc-tool/firmware.nix @@ -12,8 +12,8 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "vedderb"; repo = "bldc"; - rev = "dd3b97b041c325acfb95ac1adb550d28390ea253"; - sha256 = "2Zex2FNkedO4wjG05CQIyVFU0i0/+O9V3LzsxHZOnvg="; + rev = "b6e53d3f28e9fd7a54b266c149abbf8a1c23f80a"; + sha256 = "4Q0sAEglXONL6InlVfwVKtQ2ZXKGhfrVLBevnWyjXZ0="; fetchSubmodules = true; }; diff --git a/pkgs/vesc-tool/tool.nix b/pkgs/vesc-tool/tool.nix index 7b70eca..b20d1b2 100644 --- a/pkgs/vesc-tool/tool.nix +++ b/pkgs/vesc-tool/tool.nix @@ -12,9 +12,8 @@ stdenv.mkDerivation { src = fetchFromGitHub { owner = "vedderb"; repo = "vesc_tool"; - rev = "211f5d317542a3674df638405485a143a23f67ce"; - sha256 = "liF2JbcrRtVPSySJhY7CHRghsBV3gKRGD40pKVD19wE="; - + rev = "033c95697ec970413ff5c1dbb1988758563d630b"; + sha256 = "LIIE3Z5eoU6mUXmudbRr1iLA3l7338/CsSK8W/iwgf0="; fetchSubmodules = true; }; From d2b062e644e40597b5a732fc57b70d9283dcadb2 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 23 Sep 2024 09:57:22 +0200 Subject: [PATCH 459/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/22ee467a54a3ab7fa9d637ccad5330c6c087e9dc' (2024-09-16) → 'github:nix-community/disko/51994df8ba24d5db5459ccf17b6494643301ad28' (2024-09-20) • Updated input 'home-manager': 'github:nix-community/home-manager/208df2e558b73b6a1f0faec98493cb59a25f62ba' (2024-09-07) → 'github:nix-community/home-manager/2f23fa308a7c067e52dfcc30a0758f47043ec176' (2024-09-22) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/7570de7b9b504cfe92025dd1be797bf546f66528' (2024-09-05) → 'github:cachix/git-hooks.nix/4e743a6920eab45e8ba0fbe49dc459f1423a4b74' (2024-09-19) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/dc8b0296f68f72f3fe77469c549a6f098555c2e9' (2024-09-16) → 'github:nixos/nixos-hardware/d0cb432a9d28218df11cbd77d984a2a46caeb5ac' (2024-09-22) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/8f7492cce28977fbf8bd12c72af08b1f6c7c3e49' (2024-09-14) → 'github:nixos/nixpkgs/944b2aea7f0a2d7c79f72468106bc5510cbf5101' (2024-09-20) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/06e78ca76feaa97082b905d330265d495eefc9f7' (2024-09-17) → 'github:NixOS/nixpkgs/eae2c94383bcc2e611a77eb3af19d4a23d5ff452' (2024-09-23) • Updated input 'nur': 'github:nix-community/NUR/48b58426a0fb447bad367813e742247dc860bed6' (2024-09-17) → 'github:nix-community/NUR/bca3011ab052943280c53f2024abf9b993eafee2' (2024-09-23) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/a0cbe913ce184bef7cd739f75ba5d123e1f41ef2' (2024-09-15) → 'github:nix-community/poetry2nix/026858e4700f0e1cc5cf4d2b9a1ae11c41ab88be' (2024-09-23) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 83e4427..328fe52 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1726524467, - "narHash": "sha256-xkPPPvfHhHK7BNX5ZrQ9N6AIEixCmFzRZHduDf0zv30=", + "lastModified": 1726842196, + "narHash": "sha256-u9h03JQUuQJ607xmti9F9Eh6E96kKUAGP+aXWgwm70o=", "owner": "nix-community", "repo": "disko", - "rev": "22ee467a54a3ab7fa9d637ccad5330c6c087e9dc", + "rev": "51994df8ba24d5db5459ccf17b6494643301ad28", "type": "github" }, "original": { @@ -203,11 +203,11 @@ ] }, "locked": { - "lastModified": 1725703823, - "narHash": "sha256-tDgM4d8mLK0Hd6YMB2w1BqMto1XBXADOzPEaLl10VI4=", + "lastModified": 1726989464, + "narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=", "owner": "nix-community", "repo": "home-manager", - "rev": "208df2e558b73b6a1f0faec98493cb59a25f62ba", + "rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176", "type": "github" }, "original": { @@ -298,11 +298,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1725513492, - "narHash": "sha256-tyMUA6NgJSvvQuzB7A1Sf8+0XCHyfSPRx/b00o6K0uo=", + "lastModified": 1726745158, + "narHash": "sha256-D5AegvGoEjt4rkKedmxlSEmC+nNLMBPWFxvmYnVLhjk=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "7570de7b9b504cfe92025dd1be797bf546f66528", + "rev": "4e743a6920eab45e8ba0fbe49dc459f1423a4b74", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1726489388, - "narHash": "sha256-JBHtN+n1HzKawpnOQAz6jdgvrtYV9c/kyzgoIdguQGo=", + "lastModified": 1727040444, + "narHash": "sha256-19FNN5QT9Z11ZUMfftRplyNN+2PgcHKb3oq8KMW/hDA=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "dc8b0296f68f72f3fe77469c549a6f098555c2e9", + "rev": "d0cb432a9d28218df11cbd77d984a2a46caeb5ac", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1726320982, - "narHash": "sha256-RuVXUwcYwaUeks6h3OLrEmg14z9aFXdWppTWPMTwdQw=", + "lastModified": 1726838390, + "narHash": "sha256-NmcVhGElxDbmEWzgXsyAjlRhUus/nEqPC5So7BOJLUM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8f7492cce28977fbf8bd12c72af08b1f6c7c3e49", + "rev": "944b2aea7f0a2d7c79f72468106bc5510cbf5101", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1726573629, - "narHash": "sha256-O4fWqykLSQrGcNmx7HCElAmrYC6riGbhdCzk1dmj4qs=", + "lastModified": 1727078180, + "narHash": "sha256-g7h1GLV75RbADLo7ikSlJHVJvYDUNBnr9a2vCEFzvCo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "06e78ca76feaa97082b905d330265d495eefc9f7", + "rev": "eae2c94383bcc2e611a77eb3af19d4a23d5ff452", "type": "github" }, "original": { @@ -410,11 +410,11 @@ }, "nur": { "locked": { - "lastModified": 1726569072, - "narHash": "sha256-x33fIaVSJGc/kLiXh+a8x97GrMN1DtnRd8Ar50sDaNs=", + "lastModified": 1727076083, + "narHash": "sha256-zxpNV5o7JY/2j1rKsG3VyCCkImJ//Q2T9pQITFqUMoc=", "owner": "nix-community", "repo": "NUR", - "rev": "48b58426a0fb447bad367813e742247dc860bed6", + "rev": "bca3011ab052943280c53f2024abf9b993eafee2", "type": "github" }, "original": { @@ -436,11 +436,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1726394406, - "narHash": "sha256-RUzT5OUT+sCNl/fA4u6u/SPc1Bye7MU96Vtu6jksfxs=", + "lastModified": 1727073647, + "narHash": "sha256-/HGpq4yVSH7tHMBnTeCNUbfLuzYLLRRtvqNzDAP1d8k=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "a0cbe913ce184bef7cd739f75ba5d123e1f41ef2", + "rev": "026858e4700f0e1cc5cf4d2b9a1ae11c41ab88be", "type": "github" }, "original": { From 22a1f2807eddab3bc251c58199bb9d3a9663c88a Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 24 Sep 2024 21:33:23 +0200 Subject: [PATCH 460/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/51994df8ba24d5db5459ccf17b6494643301ad28' (2024-09-20) → 'github:nix-community/disko/6d42596a35d34918a905e8539a44d3fc91f42b5b' (2024-09-24) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/944b2aea7f0a2d7c79f72468106bc5510cbf5101' (2024-09-20) → 'github:nixos/nixpkgs/23cbb250f3bf4f516a2d0bf03c51a30900848075' (2024-09-22) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/eae2c94383bcc2e611a77eb3af19d4a23d5ff452' (2024-09-23) → 'github:NixOS/nixpkgs/b7643ddc3b422f1d6e42c83a2d58ea5ce222048c' (2024-09-24) • Updated input 'nur': 'github:nix-community/NUR/bca3011ab052943280c53f2024abf9b993eafee2' (2024-09-23) → 'github:nix-community/NUR/c7225411f6e9087829c3a120e2698867d1b05319' (2024-09-24) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/026858e4700f0e1cc5cf4d2b9a1ae11c41ab88be' (2024-09-23) → 'github:nix-community/poetry2nix/7624b3e0275d9b52dbdda46ef7ffee66b36ff823' (2024-09-24) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 328fe52..6346249 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1726842196, - "narHash": "sha256-u9h03JQUuQJ607xmti9F9Eh6E96kKUAGP+aXWgwm70o=", + "lastModified": 1727196810, + "narHash": "sha256-xQzgXRlczZoFfrUdA4nD5qojCQVqpiIk82aYINQZd+U=", "owner": "nix-community", "repo": "disko", - "rev": "51994df8ba24d5db5459ccf17b6494643301ad28", + "rev": "6d42596a35d34918a905e8539a44d3fc91f42b5b", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1726838390, - "narHash": "sha256-NmcVhGElxDbmEWzgXsyAjlRhUus/nEqPC5So7BOJLUM=", + "lastModified": 1726969270, + "narHash": "sha256-8fnFlXBgM/uSvBlLWjZ0Z0sOdRBesyNdH0+esxqizGc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "944b2aea7f0a2d7c79f72468106bc5510cbf5101", + "rev": "23cbb250f3bf4f516a2d0bf03c51a30900848075", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1727078180, - "narHash": "sha256-g7h1GLV75RbADLo7ikSlJHVJvYDUNBnr9a2vCEFzvCo=", + "lastModified": 1727205223, + "narHash": "sha256-RHzehUZqXKM8W8tUywY58jASi+Z8LDvrssuJz4UnG1w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eae2c94383bcc2e611a77eb3af19d4a23d5ff452", + "rev": "b7643ddc3b422f1d6e42c83a2d58ea5ce222048c", "type": "github" }, "original": { @@ -410,11 +410,11 @@ }, "nur": { "locked": { - "lastModified": 1727076083, - "narHash": "sha256-zxpNV5o7JY/2j1rKsG3VyCCkImJ//Q2T9pQITFqUMoc=", + "lastModified": 1727201865, + "narHash": "sha256-nqHWxGhUFS6xyiVminVIECdG0Gu5em7LPf1mb4+5PEw=", "owner": "nix-community", "repo": "NUR", - "rev": "bca3011ab052943280c53f2024abf9b993eafee2", + "rev": "c7225411f6e9087829c3a120e2698867d1b05319", "type": "github" }, "original": { @@ -436,11 +436,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1727073647, - "narHash": "sha256-/HGpq4yVSH7tHMBnTeCNUbfLuzYLLRRtvqNzDAP1d8k=", + "lastModified": 1727169160, + "narHash": "sha256-m/3tT0Wvk2V4H15riZC/yT7i7t+8V58HTDpthKV5yhk=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "026858e4700f0e1cc5cf4d2b9a1ae11c41ab88be", + "rev": "7624b3e0275d9b52dbdda46ef7ffee66b36ff823", "type": "github" }, "original": { From 2afbd0e328d30a85885e5942dd69adab54c16105 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 25 Sep 2024 03:54:57 +0200 Subject: [PATCH 461/766] Change controller --- .../services/esphome/devices/badspiegel.yaml | 46 +++++++++++-------- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/hosts/iron/services/esphome/devices/badspiegel.yaml b/hosts/iron/services/esphome/devices/badspiegel.yaml index 9f8989c..8041d2e 100644 --- a/hosts/iron/services/esphome/devices/badspiegel.yaml +++ b/hosts/iron/services/esphome/devices/badspiegel.yaml @@ -15,7 +15,7 @@ esphome: color_temperature: 2700 K esp32: - board: wemos_d1_uno32 + board: az-delivery-devkit-v4 framework: type: arduino version: recommended @@ -41,16 +41,16 @@ wifi: output: - platform: ledc - pin: GPIO17 + pin: GPIO33 id: output_background_warm - platform: ledc - pin: GPIO25 + pin: GPIO32 id: output_background_cold - platform: ledc - pin: GPIO16 + pin: GPIO25 id: output_front_warm - platform: ledc - pin: GPIO26 + pin: GPIO14 id: output_front_cold light: @@ -77,39 +77,47 @@ switch: - platform: gpio name: "Heating" id: heating - pin: GPIO2 + pin: GPIO26 icon: "mdi:thermometer" - platform: gpio name: "Soundsystem" id: soundsystem - pin: GPIO4 + pin: GPIO23 icon: "mdi:speaker" esp32_touch: # setup_mode: true + +sensor: + - platform: dht + pin: GPIO22 + temperature: + name: "Temperatur" + id: temperature + humidity: + name: "Feuchtigkeit" + id: humidity + accuracy_decimals: 1 + update_interval: 60s + binary_sensor: # ESP32 touch pins: 4, 13, 27, 32, 33 -# - platform: esp32_touch -# name: "touch pad GPIO13" -# pin: GPIO13 -# threshold: 1000 -# on_press: -# internal: true - platform: esp32_touch - name: "touch pad GPIO12" - pin: GPIO12 - threshold: 900 + name: "touch pad GPIO13" + pin: GPIO13 + threshold: 923 on_press: then: - light.toggle: id: front_light internal: true - platform: esp32_touch - name: "touch pad GPIO14" - pin: GPIO14 - threshold: 900 + name: "touch pad GPIO27" + pin: GPIO27 + threshold: 1125 on_press: then: - light.toggle: id: background_light + internal: true From 4eed03bc105f8e386981c2711a9970a31515e4e2 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 25 Sep 2024 11:02:35 +0200 Subject: [PATCH 462/766] Set indentation settings for sshconfig --- users/jalr/modules/neovim.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/users/jalr/modules/neovim.nix b/users/jalr/modules/neovim.nix index ee25579..ad9fe28 100644 --- a/users/jalr/modules/neovim.nix +++ b/users/jalr/modules/neovim.nix @@ -227,4 +227,7 @@ in setlocal spell setlocal colorcolumn=81 ''; + xdg.configFile."nvim/ftplugin/sshconfig.vim".text = '' + setlocal tabstop=4 shiftwidth=4 softtabstop=4 expandtab + ''; } From fa8515dd38ad3c715583737bde27a6b96b02cc95 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 25 Sep 2024 16:17:00 +0200 Subject: [PATCH 463/766] Add custom icon for Digitaler Dienst Element --- .../modules/communication/element-desktop.nix | 30 +++++++++++++------ 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/users/jalr/modules/communication/element-desktop.nix b/users/jalr/modules/communication/element-desktop.nix index c210a98..d634e21 100644 --- a/users/jalr/modules/communication/element-desktop.nix +++ b/users/jalr/modules/communication/element-desktop.nix @@ -4,6 +4,10 @@ let profiles = { "digitaler-dienst" = { description = "Digitaler Dienst"; + icon = pkgs.fetchurl { + url = "https://matrix.digitaler-dienst.gmbh/_matrix/media/v3/thumbnail/digitaler-dienst.gmbh/kfUmmNxpmbsLtdIRvZcxkWAh?width=256&height=256"; + sha256 = "uSxx9avx3I/rDzFnwgEZUwLVktsTeZiSWcDHjPzcUtw="; + }; }; "private" = { description = "private"; @@ -11,10 +15,6 @@ let }; in lib.mkIf nixosConfig.jalr.gui.enable { - home.packages = with pkgs; [ - element-desktop - ]; - # Create an empty directory in nix store # as we want to use Element only with `--profile-dir` xdg.configFile.Element = { @@ -22,21 +22,33 @@ lib.mkIf nixosConfig.jalr.gui.enable { target = "Element"; }; - xdg.desktopEntries = lib.attrsets.mapAttrs' - (name: value: lib.attrsets.nameValuePair "element-desktop-${name}" + (name: value: lib.attrsets.nameValuePair "element-desktop-${name}" ( + let + package = ( + if value ? icon then + pkgs.element-desktop.overrideAttrs + (oldAttrs: { + patchPhase = oldAttrs.patchPhase or "" + '' + rm build/icons/* res/img/* + cp ${value.icon} res/img/element.png + ''; + }) + else pkgs.element-desktop + ); + in { categories = [ "Network" "InstantMessaging" "Chat" ]; exec = toString (pkgs.writeShellScript "element-desktop-${name}" '' - exec element-desktop --profile-dir "$HOME/.config/element-profiles/${name}" + exec "${package}/bin/element-desktop" --profile-dir "$HOME/.config/element-profiles/${name}" ''); genericName = "Matrix Client"; - icon = "element"; + icon = "${package}/share/element/img/element.png"; mimeType = [ "x-scheme-handler/element" ]; name = "Element ${value.description}"; terminal = false; type = "Application"; } - ) + )) profiles; } From e23f0a276771ad06d3c6766d91c910a6d767b993 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 29 Sep 2024 10:26:21 +0200 Subject: [PATCH 464/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/67dc29be3036cc888f0b9d4f0a788ee0f6768700' (2024-09-26) → 'github:nix-community/disko/b709e1cc33fcde71c7db43850a55ebe6449d0959' (2024-09-28) • Updated input 'gomod2nix': 'github:nix-community/gomod2nix/1c6fd4e862bf2f249c9114ad625c64c6c29a8a08' (2024-09-05) → 'github:nix-community/gomod2nix/ba932692e249374e91bcbfe2e3a25ed3342a72eb' (2024-09-27) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/4e743a6920eab45e8ba0fbe49dc459f1423a4b74' (2024-09-19) → 'github:cachix/git-hooks.nix/85f7a7177c678de68224af3402ab8ee1bcee25c8' (2024-09-28) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/d0cb432a9d28218df11cbd77d984a2a46caeb5ac' (2024-09-22) → 'github:nixos/nixos-hardware/8e8c6cbad12ef805268b4e380a7298fbc275898d' (2024-09-29) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/759537f06e6999e141588ff1c9be7f3a5c060106' (2024-09-25) → 'github:nixos/nixpkgs/fbca5e745367ae7632731639de5c21f29c8744ed' (2024-09-28) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/e0f477a570df7375172a08ddb9199c90853c63f0' (2024-09-27) → 'github:NixOS/nixpkgs/a33c9035167809d873252ac9f9f05134a05e6e16' (2024-09-29) • Updated input 'nur': 'github:nix-community/NUR/a3494e9def7d07a1d97fb4acfa13bff7da65fd2e' (2024-09-27) → 'github:nix-community/NUR/6acf80f88c3f8fbf4f95f5df7a936a488a7bca12' (2024-09-29) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/d024cc089cfa3b7cff70a796f15ba148d14ce2ec' (2024-09-26) → 'github:nix-community/poetry2nix/d8928e5929c2344704264e8447452e0f73c72497' (2024-09-28) • Updated input 'poetry2nix/nix-github-actions': 'github:nix-community/nix-github-actions/5163432afc817cf8bd1f031418d1869e4c9d5547' (2023-12-29) → 'github:nix-community/nix-github-actions/622f829f5fe69310a866c8a6cd07e747c44ef820' (2024-07-04) • Updated input 'poetry2nix/treefmt-nix': 'github:numtide/treefmt-nix/8df5ff62195d4e67e2264df0b7f5e8c9995fd0bd' (2024-06-30) → 'github:numtide/treefmt-nix/879b29ae9a0378904fbbefe0dadaed43c8905754' (2024-09-27) --- flake.lock | 66 +++++++++++++++++++++++++++--------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/flake.lock b/flake.lock index 6346249..9ade965 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1727196810, - "narHash": "sha256-xQzgXRlczZoFfrUdA4nD5qojCQVqpiIk82aYINQZd+U=", + "lastModified": 1727531434, + "narHash": "sha256-b+GBgCWd2N6pkiTkRZaMFOPztPO4IVTaclYPrQl2uLk=", "owner": "nix-community", "repo": "disko", - "rev": "6d42596a35d34918a905e8539a44d3fc91f42b5b", + "rev": "b709e1cc33fcde71c7db43850a55ebe6449d0959", "type": "github" }, "original": { @@ -183,11 +183,11 @@ ] }, "locked": { - "lastModified": 1725515722, - "narHash": "sha256-+gljgHaflZhQXtr3WjJrGn8NXv7MruVPAORSufuCFnw=", + "lastModified": 1727478263, + "narHash": "sha256-6/c82/1/Y4JRPGuhNPvVZFQltR2eXaFi3av1SZQEQ10=", "owner": "nix-community", "repo": "gomod2nix", - "rev": "1c6fd4e862bf2f249c9114ad625c64c6c29a8a08", + "rev": "ba932692e249374e91bcbfe2e3a25ed3342a72eb", "type": "github" }, "original": { @@ -275,11 +275,11 @@ ] }, "locked": { - "lastModified": 1703863825, - "narHash": "sha256-rXwqjtwiGKJheXB43ybM8NwWB8rO2dSRrEqes0S7F5Y=", + "lastModified": 1720066371, + "narHash": "sha256-uPlLYH2S0ACj0IcgaK9Lsf4spmJoGejR9DotXiXSBZQ=", "owner": "nix-community", "repo": "nix-github-actions", - "rev": "5163432afc817cf8bd1f031418d1869e4c9d5547", + "rev": "622f829f5fe69310a866c8a6cd07e747c44ef820", "type": "github" }, "original": { @@ -298,11 +298,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1726745158, - "narHash": "sha256-D5AegvGoEjt4rkKedmxlSEmC+nNLMBPWFxvmYnVLhjk=", + "lastModified": 1727514110, + "narHash": "sha256-0YRcOxJG12VGDFH8iS8pJ0aYQQUAgo/r3ZAL+cSh9nk=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "4e743a6920eab45e8ba0fbe49dc459f1423a4b74", + "rev": "85f7a7177c678de68224af3402ab8ee1bcee25c8", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1727040444, - "narHash": "sha256-19FNN5QT9Z11ZUMfftRplyNN+2PgcHKb3oq8KMW/hDA=", + "lastModified": 1727595438, + "narHash": "sha256-bAvkJYuZKeDwW/J/Ga/axplEbYbQhq6jdQBVdGcpuO8=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "d0cb432a9d28218df11cbd77d984a2a46caeb5ac", + "rev": "8e8c6cbad12ef805268b4e380a7298fbc275898d", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1726969270, - "narHash": "sha256-8fnFlXBgM/uSvBlLWjZ0Z0sOdRBesyNdH0+esxqizGc=", + "lastModified": 1727540905, + "narHash": "sha256-40J9tW7Y794J7Uw4GwcAKlMxlX2xISBl6IBigo83ih8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "23cbb250f3bf4f516a2d0bf03c51a30900848075", + "rev": "fbca5e745367ae7632731639de5c21f29c8744ed", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1727205223, - "narHash": "sha256-RHzehUZqXKM8W8tUywY58jASi+Z8LDvrssuJz4UnG1w=", + "lastModified": 1727597789, + "narHash": "sha256-SW4KO6eOwb+FZMwk0aYRZajSUqVSYByNF2jj53+XTb0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b7643ddc3b422f1d6e42c83a2d58ea5ce222048c", + "rev": "a33c9035167809d873252ac9f9f05134a05e6e16", "type": "github" }, "original": { @@ -410,11 +410,11 @@ }, "nur": { "locked": { - "lastModified": 1727201865, - "narHash": "sha256-nqHWxGhUFS6xyiVminVIECdG0Gu5em7LPf1mb4+5PEw=", + "lastModified": 1727596560, + "narHash": "sha256-222fcWG6s13RXuAK711nbrHs6wOb3UORXJ/vt3rCM60=", "owner": "nix-community", "repo": "NUR", - "rev": "c7225411f6e9087829c3a120e2698867d1b05319", + "rev": "6acf80f88c3f8fbf4f95f5df7a936a488a7bca12", "type": "github" }, "original": { @@ -436,11 +436,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1727169160, - "narHash": "sha256-m/3tT0Wvk2V4H15riZC/yT7i7t+8V58HTDpthKV5yhk=", + "lastModified": 1727546745, + "narHash": "sha256-dtOOYKGcfYTf0bSPuiY+BVEKdSw/zd/u2QvNXciQ0/E=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "7624b3e0275d9b52dbdda46ef7ffee66b36ff823", + "rev": "d8928e5929c2344704264e8447452e0f73c72497", "type": "github" }, "original": { @@ -526,11 +526,11 @@ "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { - "lastModified": 1726524647, - "narHash": "sha256-qis6BtOOBBEAfUl7FMHqqTwRLB61OL5OFzIsOmRz2J4=", + "lastModified": 1727423009, + "narHash": "sha256-+4B/dQm2EnORIk0k2wV3aHGaE0WXTBjColXjj7qWh10=", "owner": "Mic92", "repo": "sops-nix", - "rev": "e2d404a7ea599a013189aa42947f66cede0645c8", + "rev": "127a96f49ddc377be6ba76964411bab11ae27803", "type": "github" }, "original": { @@ -591,11 +591,11 @@ ] }, "locked": { - "lastModified": 1719749022, - "narHash": "sha256-ddPKHcqaKCIFSFc/cvxS14goUhCOAwsM1PbMr0ZtHMg=", + "lastModified": 1727431250, + "narHash": "sha256-uGRlRT47ecicF9iLD1G3g43jn2e+b5KaMptb59LHnvM=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "8df5ff62195d4e67e2264df0b7f5e8c9995fd0bd", + "rev": "879b29ae9a0378904fbbefe0dadaed43c8905754", "type": "github" }, "original": { From 726954d5f5599b6893a242bce2b5038624687e2d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 29 Sep 2024 10:39:16 +0200 Subject: [PATCH 465/766] Increase keyFileTimeout --- hosts/iron/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index d2a78b8..38d24a4 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -141,7 +141,7 @@ with lib; { allowDiscards = true; keyFileSize = 4096; keyFile = "/dev/disk/by-id/usb-jalr_RAM_Mass_Storage_DE6270431F6F342C-0:0"; - keyFileTimeout = 5; + keyFileTimeout = 60; }; }) disks From aafdcf4a469495bc8fdf733db99711e732143032 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 8 Oct 2024 21:09:58 +0200 Subject: [PATCH 466/766] Add dashboard --- hosts/aluminium/services/home-assistant.nix | 54 ++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/hosts/aluminium/services/home-assistant.nix b/hosts/aluminium/services/home-assistant.nix index 79974ef..5fc1fe8 100644 --- a/hosts/aluminium/services/home-assistant.nix +++ b/hosts/aluminium/services/home-assistant.nix @@ -5,7 +5,59 @@ in { services.home-assistant = { enable = true; - lovelaceConfig = { }; + lovelaceConfig = { + title = "Home"; + views = [ + { + path = "default_view"; + title = "Home"; + cards = [ + { + title = "Heizung"; + type = "entities"; + entities = [ + { entity = "sensor.guntamaticbiostar_betrieb"; } + { entity = "sensor.guntamaticbiostar_pufferladung"; } + { entity = "sensor.guntamaticbiostar_puffer_oben"; } + { entity = "sensor.guntamaticbiostar_puffer_unten"; } + { entity = "sensor.guntamaticbiostar_kesseltemperatur"; } + { entity = "sensor.guntamaticbiostar_vorlauf_ist_1"; } + { entity = "sensor.guntamaticbiostar_raumtemp_hk_1"; } + { entity = "sensor.guntamaticbiostar_aussentemperatur"; } + { entity = "sensor.guntamaticbiostar_co2_gehalt"; } + { entity = "select.guntamaticbiostar_program"; } + { entity = "sensor.guntamaticbiostar_programm"; } + { entity = "sensor.guntamaticbiostar_programm_hk1"; } + { entity = "sensor.guntamaticbiostar_rauchgasauslastung"; } + { entity = "sensor.guntamaticbiostar_rucklauftemperatur"; } + { entity = "sensor.guntamaticbiostar_servicezeit"; } + ]; + } + { + type = "grid"; + square = false; + columns = 1; + cards = [ + { + title = "Wasserbett"; + type = "entities"; + entities = [ + { + entity = "sensor.waterbed_temperatur"; + name = "Temperatur"; + } + ]; + } + { + type = "thermostat"; + entity = "climate.waterbed_temperatur"; + } + ]; + } + ]; + } + ]; + }; extraComponents = [ # See https://www.home-assistant.io/integrations "esphome" From 0fc2c1836318e88a1f466910b23763503ab4d0a4 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 8 Oct 2024 21:11:05 +0200 Subject: [PATCH 467/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/b709e1cc33fcde71c7db43850a55ebe6449d0959' (2024-09-28) → 'github:nix-community/disko/d39ee334984fcdae6244f5a8e6ab857479cbaefe' (2024-10-07) • Updated input 'gomod2nix': 'github:nix-community/gomod2nix/ba932692e249374e91bcbfe2e3a25ed3342a72eb' (2024-09-27) → 'github:nix-community/gomod2nix/066e0dd2afde263f547cb0905b77cea00521d86c' (2024-09-30) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/85f7a7177c678de68224af3402ab8ee1bcee25c8' (2024-09-28) → 'github:cachix/git-hooks.nix/1211305a5b237771e13fcca0c51e60ad47326a9a' (2024-10-05) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/8e8c6cbad12ef805268b4e380a7298fbc275898d' (2024-09-29) → 'github:nixos/nixos-hardware/ecfcd787f373f43307d764762e139a7cdeb9c22b' (2024-10-07) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/fbca5e745367ae7632731639de5c21f29c8744ed' (2024-09-28) → 'github:nixos/nixpkgs/ecbc1ca8ffd6aea8372ad16be9ebbb39889e55b6' (2024-10-06) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/a33c9035167809d873252ac9f9f05134a05e6e16' (2024-09-29) → 'github:NixOS/nixpkgs/782c8b0451119555e47038daccf7621c5dd67950' (2024-10-08) • Updated input 'nur': 'github:nix-community/NUR/6acf80f88c3f8fbf4f95f5df7a936a488a7bca12' (2024-09-29) → 'github:nix-community/NUR/d9b924cd1b0a5e6018264e1f4c63edcfbbe97cdf' (2024-10-08) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/d8928e5929c2344704264e8447452e0f73c72497' (2024-09-28) → 'github:nix-community/poetry2nix/8e965fd42c0da4357c53d987bc62b54a954424da' (2024-10-07) • Updated input 'poetry2nix/treefmt-nix': 'github:numtide/treefmt-nix/879b29ae9a0378904fbbefe0dadaed43c8905754' (2024-09-27) → 'github:numtide/treefmt-nix/4446c7a6fc0775df028c5a3f6727945ba8400e64' (2024-10-03) • Updated input 'sops-nix': 'github:Mic92/sops-nix/127a96f49ddc377be6ba76964411bab11ae27803' (2024-09-27) → 'github:Mic92/sops-nix/06535d0e3d0201e6a8080dd32dbfde339b94f01b' (2024-10-08) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/dc454045f5b5d814e5862a6d057e7bb5c29edc05' (2024-09-08) → 'github:NixOS/nixpkgs/17ae88b569bb15590549ff478bab6494dde4a907' (2024-10-05) --- flake.lock | 66 +++++++++++++++++++++++++++--------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/flake.lock b/flake.lock index 9ade965..7517b86 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1727531434, - "narHash": "sha256-b+GBgCWd2N6pkiTkRZaMFOPztPO4IVTaclYPrQl2uLk=", + "lastModified": 1728334376, + "narHash": "sha256-CTKEKPzD/j8FK6H4DO3EjyixZd3HHvgAgfnCwpGFP5c=", "owner": "nix-community", "repo": "disko", - "rev": "b709e1cc33fcde71c7db43850a55ebe6449d0959", + "rev": "d39ee334984fcdae6244f5a8e6ab857479cbaefe", "type": "github" }, "original": { @@ -183,11 +183,11 @@ ] }, "locked": { - "lastModified": 1727478263, - "narHash": "sha256-6/c82/1/Y4JRPGuhNPvVZFQltR2eXaFi3av1SZQEQ10=", + "lastModified": 1727668934, + "narHash": "sha256-nPpQ/4k6Fjaq2CHNSdO6j1ikiuWApuk/S6lU6ISp5SQ=", "owner": "nix-community", "repo": "gomod2nix", - "rev": "ba932692e249374e91bcbfe2e3a25ed3342a72eb", + "rev": "066e0dd2afde263f547cb0905b77cea00521d86c", "type": "github" }, "original": { @@ -298,11 +298,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1727514110, - "narHash": "sha256-0YRcOxJG12VGDFH8iS8pJ0aYQQUAgo/r3ZAL+cSh9nk=", + "lastModified": 1728092656, + "narHash": "sha256-eMeCTJZ5xBeQ0f9Os7K8DThNVSo9gy4umZLDfF5q6OM=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "85f7a7177c678de68224af3402ab8ee1bcee25c8", + "rev": "1211305a5b237771e13fcca0c51e60ad47326a9a", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1727595438, - "narHash": "sha256-bAvkJYuZKeDwW/J/Ga/axplEbYbQhq6jdQBVdGcpuO8=", + "lastModified": 1728269138, + "narHash": "sha256-oKxDImsOvgUZMY4NwXVyUc/c1HiU2qInX+b5BU0yXls=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "8e8c6cbad12ef805268b4e380a7298fbc275898d", + "rev": "ecfcd787f373f43307d764762e139a7cdeb9c22b", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1727540905, - "narHash": "sha256-40J9tW7Y794J7Uw4GwcAKlMxlX2xISBl6IBigo83ih8=", + "lastModified": 1728193676, + "narHash": "sha256-PbDWAIjKJdlVg+qQRhzdSor04bAPApDqIv2DofTyynk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fbca5e745367ae7632731639de5c21f29c8744ed", + "rev": "ecbc1ca8ffd6aea8372ad16be9ebbb39889e55b6", "type": "github" }, "original": { @@ -378,11 +378,11 @@ }, "nixpkgs-stable_3": { "locked": { - "lastModified": 1725762081, - "narHash": "sha256-vNv+aJUW5/YurRy1ocfvs4q/48yVESwlC/yHzjkZSP8=", + "lastModified": 1728156290, + "narHash": "sha256-uogSvuAp+1BYtdu6UWuObjHqSbBohpyARXDWqgI12Ss=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dc454045f5b5d814e5862a6d057e7bb5c29edc05", + "rev": "17ae88b569bb15590549ff478bab6494dde4a907", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1727597789, - "narHash": "sha256-SW4KO6eOwb+FZMwk0aYRZajSUqVSYByNF2jj53+XTb0=", + "lastModified": 1728413927, + "narHash": "sha256-Ph8V+5JY/V6tp/tSMk0sSJnYxA9pwN9SbdX6sQQ3yuc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a33c9035167809d873252ac9f9f05134a05e6e16", + "rev": "782c8b0451119555e47038daccf7621c5dd67950", "type": "github" }, "original": { @@ -410,11 +410,11 @@ }, "nur": { "locked": { - "lastModified": 1727596560, - "narHash": "sha256-222fcWG6s13RXuAK711nbrHs6wOb3UORXJ/vt3rCM60=", + "lastModified": 1728413295, + "narHash": "sha256-0UgpAUNLBQwAsqQKqX/ggNBvRGHrn6YggMJLBRr33V8=", "owner": "nix-community", "repo": "NUR", - "rev": "6acf80f88c3f8fbf4f95f5df7a936a488a7bca12", + "rev": "d9b924cd1b0a5e6018264e1f4c63edcfbbe97cdf", "type": "github" }, "original": { @@ -436,11 +436,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1727546745, - "narHash": "sha256-dtOOYKGcfYTf0bSPuiY+BVEKdSw/zd/u2QvNXciQ0/E=", + "lastModified": 1728266256, + "narHash": "sha256-RefXB9kqYch6uGT+mo6m3KTbNerfbDYz+EqkLb6YBbs=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "d8928e5929c2344704264e8447452e0f73c72497", + "rev": "8e965fd42c0da4357c53d987bc62b54a954424da", "type": "github" }, "original": { @@ -526,11 +526,11 @@ "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { - "lastModified": 1727423009, - "narHash": "sha256-+4B/dQm2EnORIk0k2wV3aHGaE0WXTBjColXjj7qWh10=", + "lastModified": 1728345710, + "narHash": "sha256-lpunY1+bf90ts+sA2/FgxVNIegPDKCpEoWwOPu4ITTQ=", "owner": "Mic92", "repo": "sops-nix", - "rev": "127a96f49ddc377be6ba76964411bab11ae27803", + "rev": "06535d0e3d0201e6a8080dd32dbfde339b94f01b", "type": "github" }, "original": { @@ -591,11 +591,11 @@ ] }, "locked": { - "lastModified": 1727431250, - "narHash": "sha256-uGRlRT47ecicF9iLD1G3g43jn2e+b5KaMptb59LHnvM=", + "lastModified": 1727984844, + "narHash": "sha256-xpRqITAoD8rHlXQafYZOLvUXCF6cnZkPfoq67ThN0Hc=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "879b29ae9a0378904fbbefe0dadaed43c8905754", + "rev": "4446c7a6fc0775df028c5a3f6727945ba8400e64", "type": "github" }, "original": { From 1491636cb91f87a6b8348ccdfedcdf7caed20aaf Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 9 Oct 2024 10:04:52 +0200 Subject: [PATCH 468/766] Add pyyaml --- users/jalr/modules/python.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/users/jalr/modules/python.nix b/users/jalr/modules/python.nix index 9a620b3..d73b0e3 100644 --- a/users/jalr/modules/python.nix +++ b/users/jalr/modules/python.nix @@ -1,8 +1,10 @@ { nixosConfig, lib, pkgs, ... }: lib.mkIf nixosConfig.jalr.workstation.enable { home.packages = with pkgs; [ - python3 - python3Packages.virtualenv - python3Packages.ipython + (python3.withPackages (pp: with pp; [ + ipython + pyyaml + virtualenv + ])) ]; } From 3b2f03e6e8f68b51a5db0fcc993cf2bba77f2b18 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 9 Oct 2024 10:05:31 +0200 Subject: [PATCH 469/766] Add basic boot debugging instructions --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 7b18909..32052e4 100644 --- a/README.md +++ b/README.md @@ -59,3 +59,8 @@ gpg --edit-key $key gpg> trust Your decision? 5 ``` + +## Debugging boot issues + +1. Add `rd.systemd.debug_shell` kernel parameter +2. Press CTRL+ALT+F9 to switch to root shell From 2207e66b6aa02e43b7ca2388f178969a42e56cf1 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 9 Oct 2024 10:06:46 +0200 Subject: [PATCH 470/766] Change path to music directory --- hosts/iron/configuration.nix | 2 +- hosts/iron/services/navidrome.nix | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index 38d24a4..ab27c75 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -15,7 +15,7 @@ let "bpool/nixos/root" = "/boot"; "rpool/filebitch" = "/filebitch"; "rpool/navidrome" = "/var/lib/private/navidrome"; - "rpool/navidrome/music" = "/var/lib/private/navidrome/music"; + "rpool/navidrome/music" = "/var/lib/navidrome/music"; "rpool/nixos/home" = "/home"; "rpool/nixos/root" = "/"; "rpool/nixos/var/lib" = "/var/lib"; diff --git a/hosts/iron/services/navidrome.nix b/hosts/iron/services/navidrome.nix index 4f1044a..755f26c 100644 --- a/hosts/iron/services/navidrome.nix +++ b/hosts/iron/services/navidrome.nix @@ -7,6 +7,7 @@ let Address = "127.0.0.1"; Port = ports.navidrome.tcp; DevActivityPanel = false; + MusicFolder = "/var/lib/navidrome/music"; }; passwordEncryptionKeyFile = config.sops.secrets.navidrome-password-encryption-key.path; configFile = (pkgs.formats.json { }).generate "navidrome.json" settings; From 39ced5297f26b458bf38889b6b62d373145ab72f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 9 Oct 2024 10:07:53 +0200 Subject: [PATCH 471/766] Fix automatic detergent dosing --- hosts/iron/services/esphome/devices/waschmaschine.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hosts/iron/services/esphome/devices/waschmaschine.yaml b/hosts/iron/services/esphome/devices/waschmaschine.yaml index 0e5d854..3e4babb 100644 --- a/hosts/iron/services/esphome/devices/waschmaschine.yaml +++ b/hosts/iron/services/esphome/devices/waschmaschine.yaml @@ -86,7 +86,8 @@ interval: if: condition: and: - - lambda: return id(current_operation).state == "Einw/Vorwäsche"; + #- lambda: return id(current_operation).state == "Einw/Vorwäsche"; + - lambda: return id(current_operation).state == "Waschen"; - lambda: return id(dosing_enabled); then: - lambda: &dosing |- From 5a99f3eda7d69ca53c265f229ab6cc0fe00b8cd3 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 9 Oct 2024 10:54:45 +0200 Subject: [PATCH 472/766] Remove file completions for mycli command --- users/jalr/modules/fish.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/users/jalr/modules/fish.nix b/users/jalr/modules/fish.nix index 63c7692..47bc9c7 100644 --- a/users/jalr/modules/fish.nix +++ b/users/jalr/modules/fish.nix @@ -171,6 +171,7 @@ xdg.configFile."fish/completions/mycli.fish".text = '' complete -e -c mycli + complete -c mycli -f complete -c mycli -f -s h -l host -d "Host address of the database." complete -c mycli -f -s P -l port -d "Port number to use for connection." complete -c mycli -f -s u -l user -d "User name to connect to the database." From 39b7da4adcd5bf93d3bddfc9b371e5d900b4f5db Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 9 Oct 2024 10:55:45 +0200 Subject: [PATCH 473/766] Add myssh script --- users/jalr/modules/default.nix | 2 +- users/jalr/modules/fish.nix | 4 + .../modules/{mycli.nix => mycli/default.nix} | 16 +- users/jalr/modules/mycli/myssh.py | 142 ++++++++++++++++++ 4 files changed, 160 insertions(+), 4 deletions(-) rename users/jalr/modules/{mycli.nix => mycli/default.nix} (93%) create mode 100755 users/jalr/modules/mycli/myssh.py diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index eb4a37f..eaa4602 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -21,7 +21,7 @@ ./kicad.nix ./mpv.nix ./mute-indicator.nix - ./mycli.nix + ./mycli ./neo.nix ./neovim.nix ./nix-index.nix diff --git a/users/jalr/modules/fish.nix b/users/jalr/modules/fish.nix index 47bc9c7..0ca1af4 100644 --- a/users/jalr/modules/fish.nix +++ b/users/jalr/modules/fish.nix @@ -194,6 +194,10 @@ complete -c mycli -f -s d -l dsn -r -a '(mycli --list-dsn)' ''; + xdg.configFile."fish/completions/myssh.fish".text = '' + complete -c myssh -f -a '(myssh --list)' + ''; + xdg.configFile."fish/completions/just.fish".source = pkgs.runCommand "just-fish-completions" { } '' ${pkgs.just}/bin/just --completions fish > $out ''; diff --git a/users/jalr/modules/mycli.nix b/users/jalr/modules/mycli/default.nix similarity index 93% rename from users/jalr/modules/mycli.nix rename to users/jalr/modules/mycli/default.nix index bcc9dd1..f688679 100644 --- a/users/jalr/modules/mycli.nix +++ b/users/jalr/modules/mycli/default.nix @@ -6,7 +6,7 @@ let ) ini; - solarized = import ./solarized.nix; + solarized = import ../solarized.nix; config = { main = { @@ -133,8 +133,18 @@ let }; in { - home.packages = with pkgs; [ - mycli + home.packages = [ + pkgs.mycli + (pkgs.stdenv.mkDerivation { + name = "myssh"; + propagatedBuildInputs = [ + (pkgs.python3.withPackages (pp: with pp; [ + pyyaml + ])) + ]; + dontUnpack = true; + installPhase = "install -Dm755 ${./myssh.py} $out/bin/myssh"; + }) ]; xdg.configFile = lib.attrsets.mapAttrs' diff --git a/users/jalr/modules/mycli/myssh.py b/users/jalr/modules/mycli/myssh.py new file mode 100755 index 0000000..1e25796 --- /dev/null +++ b/users/jalr/modules/mycli/myssh.py @@ -0,0 +1,142 @@ +#!/usr/bin/env python + +import argparse +import json +import os +import subprocess +import sys +import yaml + + +def get_db_connecition_from_typo3_config(ssh_host, ssh_user, config_file): + php_code = """ + 1 + } + + +def connect(connection_name, connection): + if "t3_config" in connection: + db = get_db_connecition_from_typo3_config( + connection["ssh_host"], connection["ssh_user"], connection["t3_config"] + ) + db_host = db["host"] + db_user = db["user"] + db_password = db["password"] + db_name = db["dbname"] + elif "staging_level" in connection: + env = get_db_connection_from_env_file( + connection["ssh_host"], connection["ssh_user"], connection["staging_level"] + ) + db_host = env["TYPO3_DB_HOST"] + db_user = env["TYPO3_DB_USER"] + db_password = env["TYPO3_DB_PASSWORD"] + db_name = env["TYPO3_DB_DATABASE"] + + os.execl( + "/usr/bin/env", + "env", + "mycli", + "--prompt", + f"{connection_name}>", + "--ssh-user", + connection["ssh_user"], + "--ssh-host", + connection["ssh_host"], + "-h", + db_host, + "-u", + db_user, + "-p", + db_password, + db_name, + ) + + +def read_config(path): + with open(path, "r") as fh: + config = yaml.safe_load(fh.read()) + + return config + + +def main(): + connections = read_config(os.path.expanduser("~/.config/mycli/connections.yaml")) + + parser = argparse.ArgumentParser() + parser.add_argument("--list", action="store_true") + parser.add_argument("connection", type=str, nargs="?") + + args = vars(parser.parse_args()) + + if args["list"]: + print("\n".join(connections.keys())) + + if args["connection"] is not None: + connect(args["connection"], connections[args["connection"]]) + + +if __name__ == "__main__": + main() From 8225188ccfa9b7e29d2ce2d68f64d7f9019346e7 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 14 Oct 2024 21:36:33 +0200 Subject: [PATCH 474/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/d39ee334984fcdae6244f5a8e6ab857479cbaefe' (2024-10-07) → 'github:nix-community/disko/3b778f10eb275573da9f5c8a7a49e774200b87e5' (2024-10-14) • Updated input 'gomod2nix': 'github:nix-community/gomod2nix/066e0dd2afde263f547cb0905b77cea00521d86c' (2024-09-30) → 'github:nix-community/gomod2nix/d5547e530464c562324f171006fc8f639aa01c9f' (2024-10-09) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/1211305a5b237771e13fcca0c51e60ad47326a9a' (2024-10-05) → 'github:cachix/git-hooks.nix/ff68f91754be6f3427e4986d7949e6273659be1d' (2024-10-13) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/ecfcd787f373f43307d764762e139a7cdeb9c22b' (2024-10-07) → 'github:nixos/nixos-hardware/a8dd1b21995964b115b1e3ec639dd6ce24ab9806' (2024-10-12) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/ecbc1ca8ffd6aea8372ad16be9ebbb39889e55b6' (2024-10-06) → 'github:nixos/nixpkgs/a3f9ad65a0bf298ed5847629a57808b97e6e8077' (2024-10-12) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/782c8b0451119555e47038daccf7621c5dd67950' (2024-10-08) → 'github:NixOS/nixpkgs/225211d8031e252e5019bcc001554f971b7d0618' (2024-10-14) • Updated input 'nur': 'github:nix-community/NUR/d9b924cd1b0a5e6018264e1f4c63edcfbbe97cdf' (2024-10-08) → 'github:nix-community/NUR/96670f5e62fc211ff06be5ed7654c44318ddf7e2' (2024-10-14) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/8e965fd42c0da4357c53d987bc62b54a954424da' (2024-10-07) → 'github:nix-community/poetry2nix/8a18db56dd62edd26458a87e4d335b7df84c3f3f' (2024-10-10) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 7517b86..c069116 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1728334376, - "narHash": "sha256-CTKEKPzD/j8FK6H4DO3EjyixZd3HHvgAgfnCwpGFP5c=", + "lastModified": 1728922573, + "narHash": "sha256-FegyBabjV4868aJUbvFtqH0zKDEtUpeCAfnB1vWXeBg=", "owner": "nix-community", "repo": "disko", - "rev": "d39ee334984fcdae6244f5a8e6ab857479cbaefe", + "rev": "3b778f10eb275573da9f5c8a7a49e774200b87e5", "type": "github" }, "original": { @@ -183,11 +183,11 @@ ] }, "locked": { - "lastModified": 1727668934, - "narHash": "sha256-nPpQ/4k6Fjaq2CHNSdO6j1ikiuWApuk/S6lU6ISp5SQ=", + "lastModified": 1728509152, + "narHash": "sha256-tQo1rg3TlwgyI8eHnLvZSlQx9d/o2Rb4oF16TfaTOw0=", "owner": "nix-community", "repo": "gomod2nix", - "rev": "066e0dd2afde263f547cb0905b77cea00521d86c", + "rev": "d5547e530464c562324f171006fc8f639aa01c9f", "type": "github" }, "original": { @@ -298,11 +298,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1728092656, - "narHash": "sha256-eMeCTJZ5xBeQ0f9Os7K8DThNVSo9gy4umZLDfF5q6OM=", + "lastModified": 1728778939, + "narHash": "sha256-WybK5E3hpGxtCYtBwpRj1E9JoiVxe+8kX83snTNaFHE=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "1211305a5b237771e13fcca0c51e60ad47326a9a", + "rev": "ff68f91754be6f3427e4986d7949e6273659be1d", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1728269138, - "narHash": "sha256-oKxDImsOvgUZMY4NwXVyUc/c1HiU2qInX+b5BU0yXls=", + "lastModified": 1728729581, + "narHash": "sha256-oazkQ/z7r43YkDLLQdMg8oIB3CwWNb+2ZrYOxtLEWTQ=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "ecfcd787f373f43307d764762e139a7cdeb9c22b", + "rev": "a8dd1b21995964b115b1e3ec639dd6ce24ab9806", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1728193676, - "narHash": "sha256-PbDWAIjKJdlVg+qQRhzdSor04bAPApDqIv2DofTyynk=", + "lastModified": 1728740863, + "narHash": "sha256-u+rxA79a0lyhG+u+oPBRtTDtzz8kvkc9a6SWSt9ekVc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ecbc1ca8ffd6aea8372ad16be9ebbb39889e55b6", + "rev": "a3f9ad65a0bf298ed5847629a57808b97e6e8077", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1728413927, - "narHash": "sha256-Ph8V+5JY/V6tp/tSMk0sSJnYxA9pwN9SbdX6sQQ3yuc=", + "lastModified": 1728933870, + "narHash": "sha256-QNTrtaZLyvLcnL7QwwVKINuBypNKlHa8SzM7ILkBPvQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "782c8b0451119555e47038daccf7621c5dd67950", + "rev": "225211d8031e252e5019bcc001554f971b7d0618", "type": "github" }, "original": { @@ -410,11 +410,11 @@ }, "nur": { "locked": { - "lastModified": 1728413295, - "narHash": "sha256-0UgpAUNLBQwAsqQKqX/ggNBvRGHrn6YggMJLBRr33V8=", + "lastModified": 1728930569, + "narHash": "sha256-OvKCDKpI8sHA07Ct+f5uotGr9ATrIJ/fUfwZZnD8Tmk=", "owner": "nix-community", "repo": "NUR", - "rev": "d9b924cd1b0a5e6018264e1f4c63edcfbbe97cdf", + "rev": "96670f5e62fc211ff06be5ed7654c44318ddf7e2", "type": "github" }, "original": { @@ -436,11 +436,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1728266256, - "narHash": "sha256-RefXB9kqYch6uGT+mo6m3KTbNerfbDYz+EqkLb6YBbs=", + "lastModified": 1728564116, + "narHash": "sha256-BkEqM5zUrYAwRKrfqi7hPOqjgD6+N0NCJvooaY8aQoE=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "8e965fd42c0da4357c53d987bc62b54a954424da", + "rev": "8a18db56dd62edd26458a87e4d335b7df84c3f3f", "type": "github" }, "original": { From 05a1b91fc4bf2fa93b790567cffc00d102c07085 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 16 Oct 2024 21:06:56 +0200 Subject: [PATCH 475/766] Improve WhatsApp setup - Implement graceful VM shutdown - Add systemd timer --- hosts/iron/configuration.nix | 2 - hosts/iron/services/default.nix | 1 + hosts/iron/services/matrix.nix | 11 ---- hosts/iron/services/whatsapp.nix | 88 ++++++++++++++++++++++++++++++++ 4 files changed, 89 insertions(+), 13 deletions(-) create mode 100644 hosts/iron/services/whatsapp.nix diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index ab27c75..80a60f2 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -234,7 +234,5 @@ with lib; { priority = 1; }; - - jalr.libvirt.enable = true; }; } diff --git a/hosts/iron/services/default.nix b/hosts/iron/services/default.nix index 86ff156..40087e5 100644 --- a/hosts/iron/services/default.nix +++ b/hosts/iron/services/default.nix @@ -16,5 +16,6 @@ ./remarkable.nix ./sturzbach.nix ./unifi-controller.nix + ./whatsapp.nix ]; } diff --git a/hosts/iron/services/matrix.nix b/hosts/iron/services/matrix.nix index 79a184d..93e413d 100644 --- a/hosts/iron/services/matrix.nix +++ b/hosts/iron/services/matrix.nix @@ -28,17 +28,6 @@ in host = "turn.jalr.de"; sharedSecretFile = config.sops.secrets.synapse-turn-shared-secret.path; }; - mautrix-whatsapp = { - enable = true; - port = ports.mautrix-whatsapp.tcp; - settings.bridge.permissions = { - # Only one user since using the name from the address book does not - # work with multiple users - #"@jalr:jalr.de" = 100; - "@jalr:jalr.de" = "admin"; - "jalr.de" = "user"; - }; - }; mautrix-signal = { enable = true; port = ports.mautrix-signal.tcp; diff --git a/hosts/iron/services/whatsapp.nix b/hosts/iron/services/whatsapp.nix new file mode 100644 index 0000000..ae88ae2 --- /dev/null +++ b/hosts/iron/services/whatsapp.nix @@ -0,0 +1,88 @@ +args@{ config, pkgs, custom-utils, ... }: + +let + ports = import ../ports.nix args; + shutdownAndroidVm = pkgs.writeShellScript "shutdown-android-vm" '' + set -e + export PATH=${pkgs.lib.makeBinPath [pkgs.libvirt pkgs.gnused pkgs.android-tools]} + + if [ "$(virsh domstate "$1")" = "running" ]; then + host="$(virsh -q domifaddr --domain "$1" | sed -n -r 's#.*ipv4\s*([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/[0-9]+$#\1#p')" + port=5555 + adb connect "$host:$port" + adb -s "$host:$port" shell -- reboot -p + fi + ''; + vmName = "Bliss-v16"; +in +{ + jalr.matrix.mautrix-whatsapp = { + enable = true; + port = ports.mautrix-whatsapp.tcp; + settings.bridge.permissions = { + # Only one user since using the name from the address book does not + # work with multiple users + #"@jalr:jalr.de" = 100; + "@jalr:jalr.de" = "admin"; + "jalr.de" = "user"; + }; + }; + + jalr.libvirt.enable = true; + + systemd.services.libvirt-guests.serviceConfig.ExecStop = [ + "" + "${shutdownAndroidVm} ${vmName}" + "${pkgs.libvirt}/libexec/libvirt-guests.sh stop" + ]; + + systemd.services."whatsapp@" = { + description = "Start Android VM, wait for WhatsApp and shut down VM."; + serviceConfig = { + Type = "oneshot"; + }; + environment.VM = "%i"; + script = '' + export PATH=${pkgs.lib.makeBinPath [pkgs.libvirt pkgs.gnused pkgs.android-tools pkgs.coreutils]} + + domstate="$(virsh domstate "$VM")" + + if [ "$domstate" != "running" ]; then + virsh start "$VM" + fi + + echo "Wait until IP of Android VM is known" + while :; do + host="$(virsh -q domifaddr --domain "$VM" | sed -n -r 's#.*ipv4\s*([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/[0-9]+$#\1#p')" + if [ "$host" ]; then + break + fi + sleep 1 + done + + port=5555 + adb connect "$host:$port" + + echo "Waiting for WhatsApp" + while ! adb -s "$host:$port" shell -- pgrep com.whatsapp > /dev/null; do + sleep 1 + done + + echo "Sleeping..." + sleep 5m + + echo "Shutting down Android" + adb -s "$host:$port" shell -- reboot -p + ''; + }; + systemd.timers."whatsapp-${vmName}" = { + description = "Start Android VM to run WhatsApp"; + after = [ "network.target" ]; + wantedBy = [ "timers.target" ]; + timerConfig = { + Persistent = true; + OnCalendar = "*-*-* 2:00:00"; + Unit = "whatsapp@${vmName}.service"; + }; + }; +} From e0363dee0fe0fef9ea203db7882febd99670f06f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 16 Oct 2024 21:08:53 +0200 Subject: [PATCH 476/766] Use stable esphome package --- hosts/iron/services/esphome/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/iron/services/esphome/default.nix b/hosts/iron/services/esphome/default.nix index 53a3c0f..6b08885 100644 --- a/hosts/iron/services/esphome/default.nix +++ b/hosts/iron/services/esphome/default.nix @@ -28,7 +28,7 @@ in enable = true; address = "127.0.0.1"; port = ports.esphome.tcp; - package = pkgs.master.esphome; + package = pkgs.esphome; #package = pkgs.esphome.overrideAttrs (attrs: { # makeWrapperArgs = attrs.makeWrapperArgs ++ [ # "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ pkgs.stdenv.cc.cc.lib ]}" From aba21934dcb89548900f494149ebabd2b82f7330 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 16 Oct 2024 21:45:47 +0200 Subject: [PATCH 477/766] Add bathroom thermostat --- .../esphome/devices/fussbodenheizung.yaml | 44 +++++++++++-------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/hosts/iron/services/esphome/devices/fussbodenheizung.yaml b/hosts/iron/services/esphome/devices/fussbodenheizung.yaml index 30ff9ce..1b1eff0 100644 --- a/hosts/iron/services/esphome/devices/fussbodenheizung.yaml +++ b/hosts/iron/services/esphome/devices/fussbodenheizung.yaml @@ -72,26 +72,34 @@ sensor: - platform: homeassistant id: humidity_kitchen entity_id: sensor.kueche_leiste_feuchtigkeit + - platform: homeassistant + id: temperature_bathroom + entity_id: sensor.badspiegel_temperatur + - platform: homeassistant + id: humidity_bathroom + entity_id: sensor.badspiegel_feuchtigkeit climate: - #- platform: thermostat - # name: "Bad" - # #sensor: heating_livingroom - # #humidity_sensor: - # min_heating_off_time: 300s - # min_heating_run_time: 300s - # min_idle_time: 30s - # heat_action: - # - switch.turn_on: relay_1 - # idle_action: - # - switch.turn_off: relay_1 - # default_preset: zuhause - # on_boot_restore_from: memory - # preset: - # - name: zuhause - # default_target_temperature_low: 22 °C - # - name: abwesend - # default_target_temperature_low: 16 °C + - platform: thermostat + name: "Bad" + sensor: temperature_bathroom + humidity_sensor: humidity_bathroom + min_heating_off_time: 300s + min_heating_run_time: 300s + min_idle_time: 30s + heat_action: + - switch.turn_on: relay_1 + idle_action: + - switch.turn_off: relay_1 + default_preset: zuhause + on_boot_restore_from: memory + preset: + - name: morgens + default_target_temperature_low: 23 °C + - name: zuhause + default_target_temperature_low: 20 °C + - name: abwesend + default_target_temperature_low: 16 °C #- platform: thermostat # name: "Schlafzimmer" # #sensor: heating_livingroom From c5d7c0e916cba73da1fb776859eb50e72ee8026f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 21 Oct 2024 09:18:06 +0200 Subject: [PATCH 478/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/3b778f10eb275573da9f5c8a7a49e774200b87e5' (2024-10-14) → 'github:nix-community/disko/a6a3179ddf396dfc28a078e2f169354d0c137125' (2024-10-18) • Updated input 'gomod2nix': 'github:nix-community/gomod2nix/d5547e530464c562324f171006fc8f639aa01c9f' (2024-10-09) → 'github:nix-community/gomod2nix/5d387097aa716f35dd99d848dc26d8d5b62a104c' (2024-10-20) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/ff68f91754be6f3427e4986d7949e6273659be1d' (2024-10-13) → 'github:cachix/git-hooks.nix/3c3e88f0f544d6bb54329832616af7eb971b6be6' (2024-10-16) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/a8dd1b21995964b115b1e3ec639dd6ce24ab9806' (2024-10-12) → 'github:nixos/nixos-hardware/9fcf30fccf8435f6390efec4a4d38e69c2268a36' (2024-10-20) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/a3f9ad65a0bf298ed5847629a57808b97e6e8077' (2024-10-12) → 'github:nixos/nixpkgs/4eb33fe664af7b41a4c446f87d20c9a0a6321fa3' (2024-10-17) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/225211d8031e252e5019bcc001554f971b7d0618' (2024-10-14) → 'github:NixOS/nixpkgs/47626c904b01b31ba104247714ae4700a3cb240e' (2024-10-21) • Updated input 'nur': 'github:nix-community/NUR/96670f5e62fc211ff06be5ed7654c44318ddf7e2' (2024-10-14) → 'github:nix-community/NUR/41ca6cfe238fdfab2831386c5a65f5c0a01e1cfd' (2024-10-21) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/8a18db56dd62edd26458a87e4d335b7df84c3f3f' (2024-10-10) → 'github:nix-community/poetry2nix/e67cc181b5bdf5aa46f1340fa9acd3910f6fb122' (2024-10-17) • Updated input 'sops-nix': 'github:Mic92/sops-nix/06535d0e3d0201e6a8080dd32dbfde339b94f01b' (2024-10-08) → 'github:Mic92/sops-nix/c504fd7ac946d7a1b17944d73b261ca0a0b226a5' (2024-10-20) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/17ae88b569bb15590549ff478bab6494dde4a907' (2024-10-05) → 'github:NixOS/nixpkgs/bb8c2cf7ea0dd2e18a52746b2c3a5b0c73b93c22' (2024-10-19) --- flake.lock | 60 +++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/flake.lock b/flake.lock index c069116..aaa92a7 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1728922573, - "narHash": "sha256-FegyBabjV4868aJUbvFtqH0zKDEtUpeCAfnB1vWXeBg=", + "lastModified": 1729281548, + "narHash": "sha256-MuojlSnwAJAwfhgmW8ZtZrwm2Sko4fqubCvReqbUzYw=", "owner": "nix-community", "repo": "disko", - "rev": "3b778f10eb275573da9f5c8a7a49e774200b87e5", + "rev": "a6a3179ddf396dfc28a078e2f169354d0c137125", "type": "github" }, "original": { @@ -183,11 +183,11 @@ ] }, "locked": { - "lastModified": 1728509152, - "narHash": "sha256-tQo1rg3TlwgyI8eHnLvZSlQx9d/o2Rb4oF16TfaTOw0=", + "lastModified": 1729448365, + "narHash": "sha256-oquZeWTYWTr5IxfwEzgsxjtD8SSFZYLdO9DaQb70vNU=", "owner": "nix-community", "repo": "gomod2nix", - "rev": "d5547e530464c562324f171006fc8f639aa01c9f", + "rev": "5d387097aa716f35dd99d848dc26d8d5b62a104c", "type": "github" }, "original": { @@ -298,11 +298,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1728778939, - "narHash": "sha256-WybK5E3hpGxtCYtBwpRj1E9JoiVxe+8kX83snTNaFHE=", + "lastModified": 1729104314, + "narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "ff68f91754be6f3427e4986d7949e6273659be1d", + "rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1728729581, - "narHash": "sha256-oazkQ/z7r43YkDLLQdMg8oIB3CwWNb+2ZrYOxtLEWTQ=", + "lastModified": 1729455275, + "narHash": "sha256-THqzn/7um3oMHUEGXyq+1CJQE7EogwR3HjLMNOlhFBE=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "a8dd1b21995964b115b1e3ec639dd6ce24ab9806", + "rev": "9fcf30fccf8435f6390efec4a4d38e69c2268a36", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1728740863, - "narHash": "sha256-u+rxA79a0lyhG+u+oPBRtTDtzz8kvkc9a6SWSt9ekVc=", + "lastModified": 1729181673, + "narHash": "sha256-LDiPhQ3l+fBjRATNtnuDZsBS7hqoBtPkKBkhpoBHv3I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a3f9ad65a0bf298ed5847629a57808b97e6e8077", + "rev": "4eb33fe664af7b41a4c446f87d20c9a0a6321fa3", "type": "github" }, "original": { @@ -378,11 +378,11 @@ }, "nixpkgs-stable_3": { "locked": { - "lastModified": 1728156290, - "narHash": "sha256-uogSvuAp+1BYtdu6UWuObjHqSbBohpyARXDWqgI12Ss=", + "lastModified": 1729357638, + "narHash": "sha256-66RHecx+zohbZwJVEPF7uuwHeqf8rykZTMCTqIrOew4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "17ae88b569bb15590549ff478bab6494dde4a907", + "rev": "bb8c2cf7ea0dd2e18a52746b2c3a5b0c73b93c22", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1728933870, - "narHash": "sha256-QNTrtaZLyvLcnL7QwwVKINuBypNKlHa8SzM7ILkBPvQ=", + "lastModified": 1729494546, + "narHash": "sha256-7EQfszYNnqugacMrfOkLK8QynBOIB0y9t/1vIMzXqhc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "225211d8031e252e5019bcc001554f971b7d0618", + "rev": "47626c904b01b31ba104247714ae4700a3cb240e", "type": "github" }, "original": { @@ -410,11 +410,11 @@ }, "nur": { "locked": { - "lastModified": 1728930569, - "narHash": "sha256-OvKCDKpI8sHA07Ct+f5uotGr9ATrIJ/fUfwZZnD8Tmk=", + "lastModified": 1729491640, + "narHash": "sha256-k2mR4w+yvko/JsWaH+1fIqjWRFixEs+jv/lNw8qnfkQ=", "owner": "nix-community", "repo": "NUR", - "rev": "96670f5e62fc211ff06be5ed7654c44318ddf7e2", + "rev": "41ca6cfe238fdfab2831386c5a65f5c0a01e1cfd", "type": "github" }, "original": { @@ -436,11 +436,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1728564116, - "narHash": "sha256-BkEqM5zUrYAwRKrfqi7hPOqjgD6+N0NCJvooaY8aQoE=", + "lastModified": 1729173771, + "narHash": "sha256-rT2Vz1kFSj+NKHetVY7PJUACX+qBETdnuPSklzFKCsc=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "8a18db56dd62edd26458a87e4d335b7df84c3f3f", + "rev": "e67cc181b5bdf5aa46f1340fa9acd3910f6fb122", "type": "github" }, "original": { @@ -526,11 +526,11 @@ "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { - "lastModified": 1728345710, - "narHash": "sha256-lpunY1+bf90ts+sA2/FgxVNIegPDKCpEoWwOPu4ITTQ=", + "lastModified": 1729394972, + "narHash": "sha256-fADlzOzcSaGsrO+THUZ8SgckMMc7bMQftztKFCLVcFI=", "owner": "Mic92", "repo": "sops-nix", - "rev": "06535d0e3d0201e6a8080dd32dbfde339b94f01b", + "rev": "c504fd7ac946d7a1b17944d73b261ca0a0b226a5", "type": "github" }, "original": { From aa79e9a295eb4639d8286afac1fa72aa84fc14ca Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 23 Oct 2024 10:28:41 +0200 Subject: [PATCH 479/766] Fix JSON parse error on PHP warnings Redirect PHP warnings to stderr instead of stdout so that the JSON doesn't become invalid if there are PHP warnings. --- users/jalr/modules/mycli/myssh.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/users/jalr/modules/mycli/myssh.py b/users/jalr/modules/mycli/myssh.py index 1e25796..c79b430 100755 --- a/users/jalr/modules/mycli/myssh.py +++ b/users/jalr/modules/mycli/myssh.py @@ -28,20 +28,19 @@ def get_db_connecition_from_typo3_config(ssh_host, ssh_user, config_file): "--", "php", "-d", - "display_errors=1", + "display_errors=stderr", "--", config_file, ], check=True, input=php_code, stdout=subprocess.PIPE, - stderr=subprocess.PIPE, + stderr=sys.stderr, text=True, ) except subprocess.CalledProcessError as e: print(f"Error: Command failed with return code {e.returncode}") print(f"stdout: {e.stdout}") - print(f"stderr: {e.stderr}") raise return json.loads(proc.stdout) From a2d776548c2c4d136763250257c3ca3598dea80e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 23 Oct 2024 13:56:32 +0200 Subject: [PATCH 480/766] Enable periodic dumps --- hosts/magnesium/services/forgejo.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hosts/magnesium/services/forgejo.nix b/hosts/magnesium/services/forgejo.nix index 98042a7..9eef90f 100644 --- a/hosts/magnesium/services/forgejo.nix +++ b/hosts/magnesium/services/forgejo.nix @@ -49,6 +49,10 @@ in }; log.level = "Warn"; }; + dump = { + enable = true; + type = "tar.zst"; + }; }; networking.firewall.allowedTCPPorts = [ cfg.settings.server.SSH_PORT ]; From 6cbfa3e4dabdbc62655ced68b5a80dfaa4e037be Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 23 Oct 2024 13:57:49 +0200 Subject: [PATCH 481/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/a6a3179ddf396dfc28a078e2f169354d0c137125' (2024-10-18) → 'github:nix-community/disko/4be2aadf13b67ffbb993deb73adff77c46b728fc' (2024-10-22) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/9fcf30fccf8435f6390efec4a4d38e69c2268a36' (2024-10-20) → 'github:nixos/nixos-hardware/22e8de2729f40d29a445c8baeaf22740b8b25daf' (2024-10-22) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/4eb33fe664af7b41a4c446f87d20c9a0a6321fa3' (2024-10-17) → 'github:nixos/nixpkgs/89172919243df199fe237ba0f776c3e3e3d72367' (2024-10-20) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/47626c904b01b31ba104247714ae4700a3cb240e' (2024-10-21) → 'github:NixOS/nixpkgs/148aa178a9ab4c98b55b85d2935f3e1722130c51' (2024-10-23) • Updated input 'nur': 'github:nix-community/NUR/41ca6cfe238fdfab2831386c5a65f5c0a01e1cfd' (2024-10-21) → 'github:nix-community/NUR/b79837253f7eb49c14d8665b656202ef0d78845a' (2024-10-23) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/e67cc181b5bdf5aa46f1340fa9acd3910f6fb122' (2024-10-17) → 'github:nix-community/poetry2nix/f7f9446455084a6333c428371afe23229379cf62' (2024-10-22) • Updated input 'sops-nix': 'github:Mic92/sops-nix/c504fd7ac946d7a1b17944d73b261ca0a0b226a5' (2024-10-20) → 'github:Mic92/sops-nix/a4c33bfecb93458d90f9eb26f1cf695b47285243' (2024-10-23) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index aaa92a7..59cff38 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1729281548, - "narHash": "sha256-MuojlSnwAJAwfhgmW8ZtZrwm2Sko4fqubCvReqbUzYw=", + "lastModified": 1729588208, + "narHash": "sha256-PNONdMd+sG7JWzNIDerX7oVZXL8FTVlSAZ1BmUo2HjE=", "owner": "nix-community", "repo": "disko", - "rev": "a6a3179ddf396dfc28a078e2f169354d0c137125", + "rev": "4be2aadf13b67ffbb993deb73adff77c46b728fc", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1729455275, - "narHash": "sha256-THqzn/7um3oMHUEGXyq+1CJQE7EogwR3HjLMNOlhFBE=", + "lastModified": 1729624485, + "narHash": "sha256-iEffyT68tEU5kHQuyP05QRH+JhWNNLAwHfgZAzXFS7o=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "9fcf30fccf8435f6390efec4a4d38e69c2268a36", + "rev": "22e8de2729f40d29a445c8baeaf22740b8b25daf", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1729181673, - "narHash": "sha256-LDiPhQ3l+fBjRATNtnuDZsBS7hqoBtPkKBkhpoBHv3I=", + "lastModified": 1729449015, + "narHash": "sha256-Gf04dXB0n4q0A9G5nTGH3zuMGr6jtJppqdeljxua1fo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4eb33fe664af7b41a4c446f87d20c9a0a6321fa3", + "rev": "89172919243df199fe237ba0f776c3e3e3d72367", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1729494546, - "narHash": "sha256-7EQfszYNnqugacMrfOkLK8QynBOIB0y9t/1vIMzXqhc=", + "lastModified": 1729684406, + "narHash": "sha256-ogE0sFjMltcKiuLnP/yBhRfQhw00LE69E1ARgAV18Kg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "47626c904b01b31ba104247714ae4700a3cb240e", + "rev": "148aa178a9ab4c98b55b85d2935f3e1722130c51", "type": "github" }, "original": { @@ -410,11 +410,11 @@ }, "nur": { "locked": { - "lastModified": 1729491640, - "narHash": "sha256-k2mR4w+yvko/JsWaH+1fIqjWRFixEs+jv/lNw8qnfkQ=", + "lastModified": 1729683741, + "narHash": "sha256-IvsiJRTO5+BUAN3+jkWnZZ1h6LbgguHgtTgHGJia2VM=", "owner": "nix-community", "repo": "NUR", - "rev": "41ca6cfe238fdfab2831386c5a65f5c0a01e1cfd", + "rev": "b79837253f7eb49c14d8665b656202ef0d78845a", "type": "github" }, "original": { @@ -436,11 +436,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1729173771, - "narHash": "sha256-rT2Vz1kFSj+NKHetVY7PJUACX+qBETdnuPSklzFKCsc=", + "lastModified": 1729621708, + "narHash": "sha256-NEagK4dENd9Riu8Gc1JHOnrKL/3TmiAINDCAvXqWkL4=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "e67cc181b5bdf5aa46f1340fa9acd3910f6fb122", + "rev": "f7f9446455084a6333c428371afe23229379cf62", "type": "github" }, "original": { @@ -526,11 +526,11 @@ "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { - "lastModified": 1729394972, - "narHash": "sha256-fADlzOzcSaGsrO+THUZ8SgckMMc7bMQftztKFCLVcFI=", + "lastModified": 1729669122, + "narHash": "sha256-SpS3rSwYcskdOpx+jeCv1lcZDdkT/K5qT8dlenCBQ8c=", "owner": "Mic92", "repo": "sops-nix", - "rev": "c504fd7ac946d7a1b17944d73b261ca0a0b226a5", + "rev": "a4c33bfecb93458d90f9eb26f1cf695b47285243", "type": "github" }, "original": { From 540e720874ed38de2636ac2e7d3e923b3e749817 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 28 Oct 2024 15:02:53 +0100 Subject: [PATCH 482/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/4be2aadf13b67ffbb993deb73adff77c46b728fc' (2024-10-22) → 'github:nix-community/disko/89e458a3bb3693e769bfb2b2447c3fe72092d498' (2024-10-27) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/22e8de2729f40d29a445c8baeaf22740b8b25daf' (2024-10-22) → 'github:nixos/nixos-hardware/6906ac67a1078cf950b8527341e229eeecb5bc30' (2024-10-27) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/89172919243df199fe237ba0f776c3e3e3d72367' (2024-10-20) → 'github:nixos/nixpkgs/cd3e8833d70618c4eea8df06f95b364b016d4950' (2024-10-26) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/148aa178a9ab4c98b55b85d2935f3e1722130c51' (2024-10-23) → 'github:NixOS/nixpkgs/9b2bdcc99abfd60ccac074cc63541f757d21ec43' (2024-10-28) • Updated input 'nur': 'github:nix-community/NUR/b79837253f7eb49c14d8665b656202ef0d78845a' (2024-10-23) → 'github:nix-community/NUR/eeb8fce4d316d67fc9baf0169e626f9cb590c4b7' (2024-10-28) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/f7f9446455084a6333c428371afe23229379cf62' (2024-10-22) → 'github:nix-community/poetry2nix/caddf1463524201e73b201fa3fc51b5233bf7d5b' (2024-10-28) • Updated input 'sops-nix': 'github:Mic92/sops-nix/a4c33bfecb93458d90f9eb26f1cf695b47285243' (2024-10-23) → 'github:Mic92/sops-nix/1666d16426abe79af5c47b7c0efa82fd31bf4c56' (2024-10-27) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/bb8c2cf7ea0dd2e18a52746b2c3a5b0c73b93c22' (2024-10-19) → 'github:NixOS/nixpkgs/cd3e8833d70618c4eea8df06f95b364b016d4950' (2024-10-26) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 59cff38..b0dc780 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1729588208, - "narHash": "sha256-PNONdMd+sG7JWzNIDerX7oVZXL8FTVlSAZ1BmUo2HjE=", + "lastModified": 1730045523, + "narHash": "sha256-W5Avk1THhZALXITHGazKfZbIZ5+Bc4nSYvAYHUn96EU=", "owner": "nix-community", "repo": "disko", - "rev": "4be2aadf13b67ffbb993deb73adff77c46b728fc", + "rev": "89e458a3bb3693e769bfb2b2447c3fe72092d498", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1729624485, - "narHash": "sha256-iEffyT68tEU5kHQuyP05QRH+JhWNNLAwHfgZAzXFS7o=", + "lastModified": 1730068391, + "narHash": "sha256-jlAGtfMuI8pUUoUmNkm2P/38pOtHZdcAf3Az8XQLAf4=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "22e8de2729f40d29a445c8baeaf22740b8b25daf", + "rev": "6906ac67a1078cf950b8527341e229eeecb5bc30", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1729449015, - "narHash": "sha256-Gf04dXB0n4q0A9G5nTGH3zuMGr6jtJppqdeljxua1fo=", + "lastModified": 1729973466, + "narHash": "sha256-knnVBGfTCZlQgxY1SgH0vn2OyehH9ykfF8geZgS95bk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "89172919243df199fe237ba0f776c3e3e3d72367", + "rev": "cd3e8833d70618c4eea8df06f95b364b016d4950", "type": "github" }, "original": { @@ -378,11 +378,11 @@ }, "nixpkgs-stable_3": { "locked": { - "lastModified": 1729357638, - "narHash": "sha256-66RHecx+zohbZwJVEPF7uuwHeqf8rykZTMCTqIrOew4=", + "lastModified": 1729973466, + "narHash": "sha256-knnVBGfTCZlQgxY1SgH0vn2OyehH9ykfF8geZgS95bk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bb8c2cf7ea0dd2e18a52746b2c3a5b0c73b93c22", + "rev": "cd3e8833d70618c4eea8df06f95b364b016d4950", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1729684406, - "narHash": "sha256-ogE0sFjMltcKiuLnP/yBhRfQhw00LE69E1ARgAV18Kg=", + "lastModified": 1730123274, + "narHash": "sha256-kj/6VN+3i7Pwx/TzHTliUNBK0qAFg88mwVjkrBegydg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "148aa178a9ab4c98b55b85d2935f3e1722130c51", + "rev": "9b2bdcc99abfd60ccac074cc63541f757d21ec43", "type": "github" }, "original": { @@ -410,11 +410,11 @@ }, "nur": { "locked": { - "lastModified": 1729683741, - "narHash": "sha256-IvsiJRTO5+BUAN3+jkWnZZ1h6LbgguHgtTgHGJia2VM=", + "lastModified": 1730123330, + "narHash": "sha256-FiSuH3xb9Yh/3I8x0rz8TXhCHIsNGmZxwLIvQCW2qic=", "owner": "nix-community", "repo": "NUR", - "rev": "b79837253f7eb49c14d8665b656202ef0d78845a", + "rev": "eeb8fce4d316d67fc9baf0169e626f9cb590c4b7", "type": "github" }, "original": { @@ -436,11 +436,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1729621708, - "narHash": "sha256-NEagK4dENd9Riu8Gc1JHOnrKL/3TmiAINDCAvXqWkL4=", + "lastModified": 1730121131, + "narHash": "sha256-cRRa09+BhJ3L/0HoKR6V9bho6dUQKS5rIjlQp2oYktU=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "f7f9446455084a6333c428371afe23229379cf62", + "rev": "caddf1463524201e73b201fa3fc51b5233bf7d5b", "type": "github" }, "original": { @@ -526,11 +526,11 @@ "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { - "lastModified": 1729669122, - "narHash": "sha256-SpS3rSwYcskdOpx+jeCv1lcZDdkT/K5qT8dlenCBQ8c=", + "lastModified": 1729999681, + "narHash": "sha256-qm0uCtM9bg97LeJTKQ8dqV/FvqRN+ompyW4GIJruLuw=", "owner": "Mic92", "repo": "sops-nix", - "rev": "a4c33bfecb93458d90f9eb26f1cf695b47285243", + "rev": "1666d16426abe79af5c47b7c0efa82fd31bf4c56", "type": "github" }, "original": { From dd1210bceb1839a76a0c79fae60ade374caf1b9a Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 29 Oct 2024 19:53:24 +0100 Subject: [PATCH 483/766] Add ntfy service --- hosts/magnesium/ports.nix | 3 ++- hosts/magnesium/services/default.nix | 1 + hosts/magnesium/services/ntfy.nix | 34 ++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 hosts/magnesium/services/ntfy.nix diff --git a/hosts/magnesium/ports.nix b/hosts/magnesium/ports.nix index 0fa666e..7401906 100644 --- a/hosts/magnesium/ports.nix +++ b/hosts/magnesium/ports.nix @@ -5,9 +5,10 @@ custom-utils.validatePortAttrset { coturn-plain = { tcp = [ 3478 3479 ]; udp = [ 3478 3479 ]; }; coturn-relay.udp.range = [ 49160 49200 ]; coturn-tls = { tcp = [ 5349 5350 ]; udp = [ 5349 5350 ]; }; + forgejo-ssh.tcp = 2022; mosquitto.tcp = 1883; nginx-http.tcp = 80; nginx-https.tcp = 443; + ntfy.tcp = 12474; wireguard-public-ip-tunnel.udp = 51000; - forgejo-ssh.tcp = 2022; } diff --git a/hosts/magnesium/services/default.nix b/hosts/magnesium/services/default.nix index 9737c6c..ab5d185 100644 --- a/hosts/magnesium/services/default.nix +++ b/hosts/magnesium/services/default.nix @@ -4,6 +4,7 @@ ./forgejo.nix ./gitlab-runner.nix ./mosquitto.nix + ./ntfy.nix ./public-ip-tunnel.nix ./webserver.nix ]; diff --git a/hosts/magnesium/services/ntfy.nix b/hosts/magnesium/services/ntfy.nix new file mode 100644 index 0000000..4533c26 --- /dev/null +++ b/hosts/magnesium/services/ntfy.nix @@ -0,0 +1,34 @@ +args@{ lib, pkgs, config, custom-utils, ... }: +let + cfg = config.services.ntfy-sh; + ports = import ../ports.nix args; + domain = "ntfy.jalr.de"; + datadir = "/var/lib/ntfy-sh"; +in +{ + # ntfy access --auth-file /var/lib/private/ntfy-sh/user.db '*' 'up*' write-only + + services.ntfy-sh = { + enable = true; + settings = { + listen-http = "127.0.0.1:${toString ports.ntfy.tcp}"; + base-url = "https://${domain}"; + behind-proxy = true; + #web-root = "disable"; + #auth-default-access = "read-only"; + attachment-cache-dir = "${datadir}/attachments"; + auth-file = "${datadir}/user.db"; + cache-file = "${datadir}/cache-file.db"; + }; + }; + services.nginx.virtualHosts."${domain}" = { + enableACME = true; + forceSSL = true; + kTLS = true; + locations."/" = { + proxyPass = "http://${cfg.settings.listen-http}/"; + recommendedProxySettings = true; + proxyWebsockets = true; + }; + }; +} From 2d07256518c63de5195658c0342cd7780bd8cbaa Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 4 Nov 2024 09:43:51 +0100 Subject: [PATCH 484/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/89e458a3bb3693e769bfb2b2447c3fe72092d498' (2024-10-27) → 'github:nix-community/disko/380847d94ff0fedee8b50ee4baddb162c06678df' (2024-11-03) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/3c3e88f0f544d6bb54329832616af7eb971b6be6' (2024-10-16) → 'github:cachix/git-hooks.nix/af8a16fe5c264f5e9e18bcee2859b40a656876cf' (2024-10-30) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/6906ac67a1078cf950b8527341e229eeecb5bc30' (2024-10-27) → 'github:nixos/nixos-hardware/f6e0cd5c47d150c4718199084e5764f968f1b560' (2024-11-02) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/cd3e8833d70618c4eea8df06f95b364b016d4950' (2024-10-26) → 'github:nixos/nixpkgs/080166c15633801df010977d9d7474b4a6c549d7' (2024-10-30) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/9b2bdcc99abfd60ccac074cc63541f757d21ec43' (2024-10-28) → 'github:NixOS/nixpkgs/fe21dd5ab593b2cd974161e462b2e2b0c8e24bae' (2024-11-04) • Updated input 'nur': 'github:nix-community/NUR/eeb8fce4d316d67fc9baf0169e626f9cb590c4b7' (2024-10-28) → 'github:nix-community/NUR/6720812cce88e6bcd4fd20a081d2c48303e0388c' (2024-11-04) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/caddf1463524201e73b201fa3fc51b5233bf7d5b' (2024-10-28) → 'github:nix-community/poetry2nix/43a898b4d76f7f3f70df77a2cc2d40096bc9d75e' (2024-10-30) • Updated input 'poetry2nix/nix-github-actions': 'github:nix-community/nix-github-actions/622f829f5fe69310a866c8a6cd07e747c44ef820' (2024-07-04) → 'github:nix-community/nix-github-actions/e04df33f62cdcf93d73e9a04142464753a16db67' (2024-10-24) • Updated input 'poetry2nix/treefmt-nix': 'github:numtide/treefmt-nix/4446c7a6fc0775df028c5a3f6727945ba8400e64' (2024-10-03) → 'github:numtide/treefmt-nix/9ef337e492a5555d8e17a51c911ff1f02635be15' (2024-10-28) • Updated input 'sops-nix': 'github:Mic92/sops-nix/1666d16426abe79af5c47b7c0efa82fd31bf4c56' (2024-10-27) → 'github:Mic92/sops-nix/e9b5eef9b51cdf966c76143e13a9476725b2f760' (2024-11-03) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/cd3e8833d70618c4eea8df06f95b364b016d4950' (2024-10-26) → 'github:NixOS/nixpkgs/3c2f1c4ca372622cb2f9de8016c9a0b1cbd0f37c' (2024-11-03) --- flake.lock | 66 +++++++++++++++++++++++++++--------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/flake.lock b/flake.lock index b0dc780..66023b5 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1730045523, - "narHash": "sha256-W5Avk1THhZALXITHGazKfZbIZ5+Bc4nSYvAYHUn96EU=", + "lastModified": 1730675461, + "narHash": "sha256-Mhqz3p/HEiI/zxBJWO57LYQf6gGlJB0tci6fiVXLjd8=", "owner": "nix-community", "repo": "disko", - "rev": "89e458a3bb3693e769bfb2b2447c3fe72092d498", + "rev": "380847d94ff0fedee8b50ee4baddb162c06678df", "type": "github" }, "original": { @@ -275,11 +275,11 @@ ] }, "locked": { - "lastModified": 1720066371, - "narHash": "sha256-uPlLYH2S0ACj0IcgaK9Lsf4spmJoGejR9DotXiXSBZQ=", + "lastModified": 1729742964, + "narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=", "owner": "nix-community", "repo": "nix-github-actions", - "rev": "622f829f5fe69310a866c8a6cd07e747c44ef820", + "rev": "e04df33f62cdcf93d73e9a04142464753a16db67", "type": "github" }, "original": { @@ -298,11 +298,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1729104314, - "narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=", + "lastModified": 1730302582, + "narHash": "sha256-W1MIJpADXQCgosJZT8qBYLRuZls2KSiKdpnTVdKBuvU=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6", + "rev": "af8a16fe5c264f5e9e18bcee2859b40a656876cf", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1730068391, - "narHash": "sha256-jlAGtfMuI8pUUoUmNkm2P/38pOtHZdcAf3Az8XQLAf4=", + "lastModified": 1730537918, + "narHash": "sha256-GJB1/aaTnAtt9sso/EQ77TAGJ/rt6uvlP0RqZFnWue8=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "6906ac67a1078cf950b8527341e229eeecb5bc30", + "rev": "f6e0cd5c47d150c4718199084e5764f968f1b560", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1729973466, - "narHash": "sha256-knnVBGfTCZlQgxY1SgH0vn2OyehH9ykfF8geZgS95bk=", + "lastModified": 1730327045, + "narHash": "sha256-xKel5kd1AbExymxoIfQ7pgcX6hjw9jCgbiBjiUfSVJ8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "cd3e8833d70618c4eea8df06f95b364b016d4950", + "rev": "080166c15633801df010977d9d7474b4a6c549d7", "type": "github" }, "original": { @@ -378,11 +378,11 @@ }, "nixpkgs-stable_3": { "locked": { - "lastModified": 1729973466, - "narHash": "sha256-knnVBGfTCZlQgxY1SgH0vn2OyehH9ykfF8geZgS95bk=", + "lastModified": 1730602179, + "narHash": "sha256-efgLzQAWSzJuCLiCaQUCDu4NudNlHdg2NzGLX5GYaEY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cd3e8833d70618c4eea8df06f95b364b016d4950", + "rev": "3c2f1c4ca372622cb2f9de8016c9a0b1cbd0f37c", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1730123274, - "narHash": "sha256-kj/6VN+3i7Pwx/TzHTliUNBK0qAFg88mwVjkrBegydg=", + "lastModified": 1730707924, + "narHash": "sha256-B1VgouTS2j2pFsYPSAQWGees242Gp4iyCdapjK3lPpg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9b2bdcc99abfd60ccac074cc63541f757d21ec43", + "rev": "fe21dd5ab593b2cd974161e462b2e2b0c8e24bae", "type": "github" }, "original": { @@ -410,11 +410,11 @@ }, "nur": { "locked": { - "lastModified": 1730123330, - "narHash": "sha256-FiSuH3xb9Yh/3I8x0rz8TXhCHIsNGmZxwLIvQCW2qic=", + "lastModified": 1730708002, + "narHash": "sha256-I57tjJe+Yo2xLW1jSmOFFCf8Wk8Wr0hpoFGfPMTjhTs=", "owner": "nix-community", "repo": "NUR", - "rev": "eeb8fce4d316d67fc9baf0169e626f9cb590c4b7", + "rev": "6720812cce88e6bcd4fd20a081d2c48303e0388c", "type": "github" }, "original": { @@ -436,11 +436,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1730121131, - "narHash": "sha256-cRRa09+BhJ3L/0HoKR6V9bho6dUQKS5rIjlQp2oYktU=", + "lastModified": 1730284601, + "narHash": "sha256-eHYcKVLIRRv3J1vjmxurS6HVdGphB53qxUeAkylYrZY=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "caddf1463524201e73b201fa3fc51b5233bf7d5b", + "rev": "43a898b4d76f7f3f70df77a2cc2d40096bc9d75e", "type": "github" }, "original": { @@ -526,11 +526,11 @@ "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { - "lastModified": 1729999681, - "narHash": "sha256-qm0uCtM9bg97LeJTKQ8dqV/FvqRN+ompyW4GIJruLuw=", + "lastModified": 1730605784, + "narHash": "sha256-1NveNAMLHbxOg0BpBMSVuZ2yW2PpDnZLbZ25wV50PMc=", "owner": "Mic92", "repo": "sops-nix", - "rev": "1666d16426abe79af5c47b7c0efa82fd31bf4c56", + "rev": "e9b5eef9b51cdf966c76143e13a9476725b2f760", "type": "github" }, "original": { @@ -591,11 +591,11 @@ ] }, "locked": { - "lastModified": 1727984844, - "narHash": "sha256-xpRqITAoD8rHlXQafYZOLvUXCF6cnZkPfoq67ThN0Hc=", + "lastModified": 1730120726, + "narHash": "sha256-LqHYIxMrl/1p3/kvm2ir925tZ8DkI0KA10djk8wecSk=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "4446c7a6fc0775df028c5a3f6727945ba8400e64", + "rev": "9ef337e492a5555d8e17a51c911ff1f02635be15", "type": "github" }, "original": { From 7f03078b584d96dea7b44a0879d1a3d5648db8e4 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 7 Nov 2024 16:41:02 +0100 Subject: [PATCH 485/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/380847d94ff0fedee8b50ee4baddb162c06678df' (2024-11-03) → 'github:nix-community/disko/856a2902156ba304efebd4c1096dbf7465569454' (2024-11-04) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/af8a16fe5c264f5e9e18bcee2859b40a656876cf' (2024-10-30) → 'github:cachix/git-hooks.nix/d70155fdc00df4628446352fc58adc640cd705c2' (2024-11-05) • Updated input 'nix-pre-commit-hooks/nixpkgs-stable': 'github:NixOS/nixpkgs/194846768975b7ad2c4988bdb82572c00222c0d7' (2024-07-07) → 'github:NixOS/nixpkgs/d063c1dd113c91ab27959ba540c0d9753409edf3' (2024-11-04) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/f6e0cd5c47d150c4718199084e5764f968f1b560' (2024-11-02) → 'github:nixos/nixos-hardware/e1cc1f6483393634aee94514186d21a4871e78d7' (2024-11-06) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/080166c15633801df010977d9d7474b4a6c549d7' (2024-10-30) → 'github:nixos/nixpkgs/dba414932936fde69f0606b4f1d87c5bc0003ede' (2024-11-06) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/fe21dd5ab593b2cd974161e462b2e2b0c8e24bae' (2024-11-04) → 'github:NixOS/nixpkgs/a46925097143c5535a814c0d9ca53b29fb2a5d1d' (2024-11-07) • Updated input 'nur': 'github:nix-community/NUR/6720812cce88e6bcd4fd20a081d2c48303e0388c' (2024-11-04) → 'github:nix-community/NUR/bfd50d178dff545abb87dbf0663a3bd7abfad92d' (2024-11-07) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/43a898b4d76f7f3f70df77a2cc2d40096bc9d75e' (2024-10-30) → 'github:nix-community/poetry2nix/a1925e0848c62ab542b0b93b1b22875ee6efcb3d' (2024-11-07) • Updated input 'sops-nix': 'github:Mic92/sops-nix/e9b5eef9b51cdf966c76143e13a9476725b2f760' (2024-11-03) → 'github:Mic92/sops-nix/c5ae1e214ff935f2d3593187a131becb289ea639' (2024-11-06) --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index 66023b5..20d9f7f 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1730675461, - "narHash": "sha256-Mhqz3p/HEiI/zxBJWO57LYQf6gGlJB0tci6fiVXLjd8=", + "lastModified": 1730751873, + "narHash": "sha256-sdY29RWz0S7VbaoTwSy6RummdHKf0wUTaBlqPxrtvmQ=", "owner": "nix-community", "repo": "disko", - "rev": "380847d94ff0fedee8b50ee4baddb162c06678df", + "rev": "856a2902156ba304efebd4c1096dbf7465569454", "type": "github" }, "original": { @@ -298,11 +298,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1730302582, - "narHash": "sha256-W1MIJpADXQCgosJZT8qBYLRuZls2KSiKdpnTVdKBuvU=", + "lastModified": 1730814269, + "narHash": "sha256-fWPHyhYE6xvMI1eGY3pwBTq85wcy1YXqdzTZF+06nOg=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "af8a16fe5c264f5e9e18bcee2859b40a656876cf", + "rev": "d70155fdc00df4628446352fc58adc640cd705c2", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1730537918, - "narHash": "sha256-GJB1/aaTnAtt9sso/EQ77TAGJ/rt6uvlP0RqZFnWue8=", + "lastModified": 1730919458, + "narHash": "sha256-yMO0T0QJlmT/x4HEyvrCyigGrdYfIXX3e5gWqB64wLg=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "f6e0cd5c47d150c4718199084e5764f968f1b560", + "rev": "e1cc1f6483393634aee94514186d21a4871e78d7", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1730327045, - "narHash": "sha256-xKel5kd1AbExymxoIfQ7pgcX6hjw9jCgbiBjiUfSVJ8=", + "lastModified": 1730883749, + "narHash": "sha256-mwrFF0vElHJP8X3pFCByJR365Q2463ATp2qGIrDUdlE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "080166c15633801df010977d9d7474b4a6c549d7", + "rev": "dba414932936fde69f0606b4f1d87c5bc0003ede", "type": "github" }, "original": { @@ -362,11 +362,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1720386169, - "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", + "lastModified": 1730741070, + "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", + "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1730707924, - "narHash": "sha256-B1VgouTS2j2pFsYPSAQWGees242Gp4iyCdapjK3lPpg=", + "lastModified": 1730994033, + "narHash": "sha256-UL/aB8nufAq7tLPJAuyT380IqiZXAdnp4t+BrNUxWYo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fe21dd5ab593b2cd974161e462b2e2b0c8e24bae", + "rev": "a46925097143c5535a814c0d9ca53b29fb2a5d1d", "type": "github" }, "original": { @@ -410,11 +410,11 @@ }, "nur": { "locked": { - "lastModified": 1730708002, - "narHash": "sha256-I57tjJe+Yo2xLW1jSmOFFCf8Wk8Wr0hpoFGfPMTjhTs=", + "lastModified": 1730990741, + "narHash": "sha256-lfp3sBCEWsj/L83WjUvsBwusU0YX+BhajdC4VDdwknE=", "owner": "nix-community", "repo": "NUR", - "rev": "6720812cce88e6bcd4fd20a081d2c48303e0388c", + "rev": "bfd50d178dff545abb87dbf0663a3bd7abfad92d", "type": "github" }, "original": { @@ -436,11 +436,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1730284601, - "narHash": "sha256-eHYcKVLIRRv3J1vjmxurS6HVdGphB53qxUeAkylYrZY=", + "lastModified": 1730961552, + "narHash": "sha256-TjfCllZmU8U2Bs/ENsrii7GCHBDkorPsmZ0d97DcaAQ=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "43a898b4d76f7f3f70df77a2cc2d40096bc9d75e", + "rev": "a1925e0848c62ab542b0b93b1b22875ee6efcb3d", "type": "github" }, "original": { @@ -526,11 +526,11 @@ "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { - "lastModified": 1730605784, - "narHash": "sha256-1NveNAMLHbxOg0BpBMSVuZ2yW2PpDnZLbZ25wV50PMc=", + "lastModified": 1730883027, + "narHash": "sha256-pvXMOJIqRW0trsW+FzRMl6d5PbsM4rWfD5lcKCOrrwI=", "owner": "Mic92", "repo": "sops-nix", - "rev": "e9b5eef9b51cdf966c76143e13a9476725b2f760", + "rev": "c5ae1e214ff935f2d3593187a131becb289ea639", "type": "github" }, "original": { From 525be5d0d0e74fa8412538151b0eae6d560cdeec Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 7 Nov 2024 21:28:23 +0100 Subject: [PATCH 486/766] Add wshowkeys --- modules/sway.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/sway.nix b/modules/sway.nix index a35ca05..181f95d 100644 --- a/modules/sway.nix +++ b/modules/sway.nix @@ -28,4 +28,6 @@ lib.mkIf (config.jalr.gui.enable && config.jalr.gui.desktop == "sway") { }; icons.enable = true; }; + + programs.wshowkeys.enable = true; } From 27309cea2c4023163f2a3b7d92dd66ee8d962ec9 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 8 Nov 2024 14:42:26 +0100 Subject: [PATCH 487/766] Make tree-style-tabs close confirmation floating --- users/jalr/modules/sway/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/users/jalr/modules/sway/default.nix b/users/jalr/modules/sway/default.nix index b53f2fb..e878052 100644 --- a/users/jalr/modules/sway/default.nix +++ b/users/jalr/modules/sway/default.nix @@ -286,6 +286,13 @@ in criteria = { app_id = "firefox"; title = "Firefox — Sharing Indicator"; }; command = "kill"; } + { + criteria = { + app_id = "firefox-esr"; + title = "Extension: \\\\(Tree Style Tab\\\\) - Close tabs\\\\? — Mozilla Firefox"; + }; + command = "floating enable"; + } ]; window.border = 2; From e573cde83fda041d7d1f68bf8770827eeed72b02 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 8 Nov 2024 18:11:29 +0100 Subject: [PATCH 488/766] Fix handling of secrets --- hosts/iron/services/esphome/default.nix | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/hosts/iron/services/esphome/default.nix b/hosts/iron/services/esphome/default.nix index 6b08885..0e81496 100644 --- a/hosts/iron/services/esphome/default.nix +++ b/hosts/iron/services/esphome/default.nix @@ -2,9 +2,6 @@ args@{ lib, pkgs, config, custom-utils, ... }: let ports = import ../../ports.nix args; cfg = config.services.esphome; - devices = [ - ./yeelight-meteorite.yaml - ]; cfgdir = pkgs.stdenvNoCC.mkDerivation { name = "esphome-config"; src = ./devices; @@ -22,6 +19,7 @@ in { sops.secrets.esphome = { sopsFile = ../../secrets.yaml; + restartUnits = [ config.systemd.services.esphome.name ]; }; services.esphome = { @@ -29,11 +27,6 @@ in address = "127.0.0.1"; port = ports.esphome.tcp; package = pkgs.esphome; - #package = pkgs.esphome.overrideAttrs (attrs: { - # makeWrapperArgs = attrs.makeWrapperArgs ++ [ - # "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ pkgs.stdenv.cc.cc.lib ]}" - # ]; - #}); }; systemd.services.esphome = { @@ -41,13 +34,13 @@ in "PLATFORMIO_CORE_DIR" = lib.mkForce "/tmp/.platformio"; }; serviceConfig = { - BindPaths = [ - "/var/lib/esphome" - "/var/lib/private/esphome" - ]; BindReadOnlyPaths = [ "/nix/store" - "${cfgdir}" + cfgdir + "%d/secrets.yaml:/var/lib/esphome/secrets.yaml" + ]; + BindPaths = [ + "/var/lib/esphome" ]; DeviceAllow = [ "char-ttyACM rw" @@ -55,8 +48,7 @@ in "char-ttyUSB rw" ]; ExecStartPre = [ - "${pkgs.rsync}/bin/rsync -a --delete --exclude=.esphome --exclude=.platformio --exclude=.gitignore '${cfgdir}/' '/var/lib/esphome/'" - "${pkgs.coreutils}/bin/ln -snf '%d/secrets.yaml' '/var/lib/esphome/secrets.yaml'" + "${pkgs.rsync}/bin/rsync -a --delete --checksum --exclude secrets.yaml --exclude=.esphome --exclude=.platformio --exclude=.gitignore '${cfgdir}/' '/var/lib/esphome/'" ]; LoadCredential = "secrets.yaml:${config.sops.secrets.esphome.path}"; PrivateTmp = true; From a7f19adb605f0e6d63a57eaa66feeb83f5375c4d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 8 Nov 2024 20:27:30 +0100 Subject: [PATCH 489/766] Implement staircase lighting --- .../esphome/devices/tuersprechanlage.yaml | 34 +++++++++++++++---- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/hosts/iron/services/esphome/devices/tuersprechanlage.yaml b/hosts/iron/services/esphome/devices/tuersprechanlage.yaml index cb676ad..80a1843 100644 --- a/hosts/iron/services/esphome/devices/tuersprechanlage.yaml +++ b/hosts/iron/services/esphome/devices/tuersprechanlage.yaml @@ -32,7 +32,7 @@ wifi: binary_sensor: - platform: gpio name: Etagenklingel - id: etagenklingel + id: floor_bell pin: number: GPIO16 mode: @@ -43,7 +43,7 @@ binary_sensor: - platform: gpio name: Treppenlicht - id: treppenlicht + id: staircase_light pin: number: GPIO18 mode: @@ -52,19 +52,39 @@ binary_sensor: filters: - invert - delayed_off: 10s + on_press: + then: + - output.turn_on: output_staircase_light_ssr + - delay: 200ms + - output.turn_off: output_staircase_light_ssr output: - platform: gpio pin: GPIO15 - id: btn_door + id: output_door_opener + - platform: ledc + pin: + number: GPIO33 + inverted: true + id: output_staircase_light_ssr + frequency: 50000 + min_power: 0 + max_power: 0.12 button: - platform: template name: "Türöffner" - id: tueroeffner + id: btn_tueroeffner icon: mdi:lock-open on_press: - - logger.log: "Button pressed" - - output.turn_on: btn_door + - output.turn_on: output_door_opener - delay: 500ms - - output.turn_off: btn_door + - output.turn_off: output_door_opener + - platform: template + name: "Treppenlicht" + id: btn_staircase_light + icon: mdi:stairs + on_press: + - output.turn_on: output_staircase_light_ssr + - delay: 200ms + - output.turn_off: output_staircase_light_ssr From 8c30072409515440926ef6acfc480b73e4be4724 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 8 Nov 2024 20:28:16 +0100 Subject: [PATCH 490/766] Add wifi signal sensor --- hosts/iron/services/esphome/devices/badspiegel.yaml | 3 +++ .../services/esphome/devices/chinafrickeldeckenleuchte.yaml | 5 +++++ hosts/iron/services/esphome/devices/fussbodenheizung.yaml | 3 +++ hosts/iron/services/esphome/devices/kueche-leiste.yaml | 3 +++ .../services/esphome/devices/led-panel-schreibtisch.yaml | 5 +++++ hosts/iron/services/esphome/devices/pflanzenleuchte.yaml | 5 +++++ hosts/iron/services/esphome/devices/tuerschloss.yaml | 5 +++++ hosts/iron/services/esphome/devices/tuersprechanlage.yaml | 5 +++++ hosts/iron/services/esphome/devices/waschmaschine.yaml | 3 +++ hosts/iron/services/esphome/devices/yeelight-meteorite.yaml | 5 +++++ 10 files changed, 42 insertions(+) diff --git a/hosts/iron/services/esphome/devices/badspiegel.yaml b/hosts/iron/services/esphome/devices/badspiegel.yaml index 8041d2e..2ee052b 100644 --- a/hosts/iron/services/esphome/devices/badspiegel.yaml +++ b/hosts/iron/services/esphome/devices/badspiegel.yaml @@ -90,6 +90,9 @@ esp32_touch: sensor: + - platform: wifi_signal + name: "WiFi Signal Sensor" + update_interval: 60s - platform: dht pin: GPIO22 temperature: diff --git a/hosts/iron/services/esphome/devices/chinafrickeldeckenleuchte.yaml b/hosts/iron/services/esphome/devices/chinafrickeldeckenleuchte.yaml index 0edcf9f..802e77f 100644 --- a/hosts/iron/services/esphome/devices/chinafrickeldeckenleuchte.yaml +++ b/hosts/iron/services/esphome/devices/chinafrickeldeckenleuchte.yaml @@ -5,6 +5,11 @@ esp8266: logger: +sensor: + - platform: wifi_signal + name: "WiFi Signal Sensor" + update_interval: 60s + bp5758d: data_pin: GPIO4 clock_pin: GPIO5 diff --git a/hosts/iron/services/esphome/devices/fussbodenheizung.yaml b/hosts/iron/services/esphome/devices/fussbodenheizung.yaml index 1b1eff0..ac114f4 100644 --- a/hosts/iron/services/esphome/devices/fussbodenheizung.yaml +++ b/hosts/iron/services/esphome/devices/fussbodenheizung.yaml @@ -56,6 +56,9 @@ switch: icon: "mdi:electric-switch" sensor: + - platform: wifi_signal + name: "WiFi Signal Sensor" + update_interval: 60s - platform: dht pin: GPIO2 temperature: diff --git a/hosts/iron/services/esphome/devices/kueche-leiste.yaml b/hosts/iron/services/esphome/devices/kueche-leiste.yaml index de9d8cb..3b8f396 100644 --- a/hosts/iron/services/esphome/devices/kueche-leiste.yaml +++ b/hosts/iron/services/esphome/devices/kueche-leiste.yaml @@ -62,6 +62,9 @@ light: gamma_correct: 0 sensor: + - platform: wifi_signal + name: "WiFi Signal Sensor" + update_interval: 60s - platform: dht pin: GPIO5 temperature: diff --git a/hosts/iron/services/esphome/devices/led-panel-schreibtisch.yaml b/hosts/iron/services/esphome/devices/led-panel-schreibtisch.yaml index 0141c46..737d62e 100644 --- a/hosts/iron/services/esphome/devices/led-panel-schreibtisch.yaml +++ b/hosts/iron/services/esphome/devices/led-panel-schreibtisch.yaml @@ -39,6 +39,11 @@ esp32: logger: +sensor: + - platform: wifi_signal + name: "WiFi Signal Sensor" + update_interval: 60s + output: - platform: ledc pin: GPIO1 diff --git a/hosts/iron/services/esphome/devices/pflanzenleuchte.yaml b/hosts/iron/services/esphome/devices/pflanzenleuchte.yaml index d961943..d66b2b2 100644 --- a/hosts/iron/services/esphome/devices/pflanzenleuchte.yaml +++ b/hosts/iron/services/esphome/devices/pflanzenleuchte.yaml @@ -27,6 +27,11 @@ wifi: fast_connect: On output_power: 8.5 +sensor: + - platform: wifi_signal + name: "WiFi Signal Sensor" + update_interval: 60s + output: - platform: ledc pin: GPIO0 diff --git a/hosts/iron/services/esphome/devices/tuerschloss.yaml b/hosts/iron/services/esphome/devices/tuerschloss.yaml index b662b56..71863cf 100644 --- a/hosts/iron/services/esphome/devices/tuerschloss.yaml +++ b/hosts/iron/services/esphome/devices/tuerschloss.yaml @@ -27,6 +27,11 @@ wifi: fast_connect: On output_power: 8.5 +sensor: + - platform: wifi_signal + name: "WiFi Signal Sensor" + update_interval: 60s + output: - platform: gpio pin: diff --git a/hosts/iron/services/esphome/devices/tuersprechanlage.yaml b/hosts/iron/services/esphome/devices/tuersprechanlage.yaml index 80a1843..cc0ede7 100644 --- a/hosts/iron/services/esphome/devices/tuersprechanlage.yaml +++ b/hosts/iron/services/esphome/devices/tuersprechanlage.yaml @@ -29,6 +29,11 @@ wifi: power_save_mode: none output_power: 10 +sensor: + - platform: wifi_signal + name: "WiFi Signal Sensor" + update_interval: 60s + binary_sensor: - platform: gpio name: Etagenklingel diff --git a/hosts/iron/services/esphome/devices/waschmaschine.yaml b/hosts/iron/services/esphome/devices/waschmaschine.yaml index 3e4babb..82e25a3 100644 --- a/hosts/iron/services/esphome/devices/waschmaschine.yaml +++ b/hosts/iron/services/esphome/devices/waschmaschine.yaml @@ -27,6 +27,9 @@ external_components: components: [ miele_w433 ] sensor: + - platform: wifi_signal + name: "WiFi Signal Sensor" + update_interval: 60s - platform: miele_w433 enable_7segment_pin: 27 clock_pin: 14 diff --git a/hosts/iron/services/esphome/devices/yeelight-meteorite.yaml b/hosts/iron/services/esphome/devices/yeelight-meteorite.yaml index 842fceb..e6b1a4b 100644 --- a/hosts/iron/services/esphome/devices/yeelight-meteorite.yaml +++ b/hosts/iron/services/esphome/devices/yeelight-meteorite.yaml @@ -36,6 +36,11 @@ wifi: gateway: 10.20.0.1 subnet: 255.255.240.0 +sensor: + - platform: wifi_signal + name: "WiFi Signal Sensor" + update_interval: 60s + output: - platform: ledc pin: GPIO19 From 64dff5397b1995839a97bd10372bedd8ce66b863 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 8 Nov 2024 20:29:14 +0100 Subject: [PATCH 491/766] Reduce on/off times --- .../esphome/devices/fussbodenheizung.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/hosts/iron/services/esphome/devices/fussbodenheizung.yaml b/hosts/iron/services/esphome/devices/fussbodenheizung.yaml index ac114f4..7ad5cef 100644 --- a/hosts/iron/services/esphome/devices/fussbodenheizung.yaml +++ b/hosts/iron/services/esphome/devices/fussbodenheizung.yaml @@ -87,8 +87,8 @@ climate: name: "Bad" sensor: temperature_bathroom humidity_sensor: humidity_bathroom - min_heating_off_time: 300s - min_heating_run_time: 300s + min_heating_off_time: 1s + min_heating_run_time: 1s min_idle_time: 30s heat_action: - switch.turn_on: relay_1 @@ -125,8 +125,8 @@ climate: name: "West" sensor: temperature_kitchen humidity_sensor: humidity_kitchen - min_heating_off_time: 300s - min_heating_run_time: 300s + min_heating_off_time: 1s + min_heating_run_time: 1s min_idle_time: 30s heat_action: - switch.turn_on: relay_3 @@ -143,8 +143,8 @@ climate: name: "Mitte" sensor: temperature_local humidity_sensor: humidity - min_heating_off_time: 300s - min_heating_run_time: 300s + min_heating_off_time: 1s + min_heating_run_time: 1s min_idle_time: 30s heat_action: - switch.turn_on: relay_4 @@ -161,8 +161,8 @@ climate: name: "Ost" sensor: temperature_local # FIXME #humidity_sensor: - min_heating_off_time: 300s - min_heating_run_time: 300s + min_heating_off_time: 1s + min_heating_run_time: 1s min_idle_time: 30s heat_action: - switch.turn_on: relay_5 From 15b3b572ff444cabba3fb3b466ac5ed63089efbf Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 8 Nov 2024 20:30:03 +0100 Subject: [PATCH 492/766] Add bedroom --- .../esphome/devices/fussbodenheizung.yaml | 38 ++++++++++--------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/hosts/iron/services/esphome/devices/fussbodenheizung.yaml b/hosts/iron/services/esphome/devices/fussbodenheizung.yaml index 7ad5cef..616f5a5 100644 --- a/hosts/iron/services/esphome/devices/fussbodenheizung.yaml +++ b/hosts/iron/services/esphome/devices/fussbodenheizung.yaml @@ -103,24 +103,26 @@ climate: default_target_temperature_low: 20 °C - name: abwesend default_target_temperature_low: 16 °C - #- platform: thermostat - # name: "Schlafzimmer" - # #sensor: heating_livingroom - # #humidity_sensor: - # min_heating_off_time: 300s - # min_heating_run_time: 300s - # min_idle_time: 30s - # heat_action: - # - switch.turn_on: relay_2 - # idle_action: - # - switch.turn_off: relay_2 - # default_preset: zuhause - # on_boot_restore_from: memory - # preset: - # - name: zuhause - # default_target_temperature_low: 16 °C - # - name: abwesend - # default_target_temperature_low: 15 °C + - platform: thermostat + name: "Schlafzimmer" + #sensor: heating_livingroom + #humidity_sensor: + sensor: temperature_local # FIXME + humidity_sensor: humidity # FIXME + min_heating_off_time: 1s + min_heating_run_time: 1s + min_idle_time: 30s + heat_action: + - switch.turn_on: relay_2 + idle_action: + - switch.turn_off: relay_2 + default_preset: zuhause + on_boot_restore_from: memory + preset: + - name: zuhause + default_target_temperature_low: 16 °C + - name: abwesend + default_target_temperature_low: 15 °C - platform: thermostat name: "West" sensor: temperature_kitchen From 798d68b0f70ecc69ebc582ef813c07d97a750ecc Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 8 Nov 2024 21:53:12 +0100 Subject: [PATCH 493/766] Add pinspot --- hosts/iron/secrets.yaml | 6 +-- .../services/esphome/devices/pinspot.yaml | 52 +++++++++++++++++++ 2 files changed, 55 insertions(+), 3 deletions(-) create mode 100644 hosts/iron/services/esphome/devices/pinspot.yaml diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index 4e19154..cfc9d5a 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -10,7 +10,7 @@ dkim-keys: synapse-turn-shared-secret: ENC[AES256_GCM,data:Q1XRds3Zud1kYkvD6s9WUzP+kNDNsxB5SHd6oCAaLCHhHhYENSAYTZOF+rGjCPNyKFL0e/A=,iv:zScRQrz+pXHNUh/BGOaV+TVnDR3wu1Z/UO1zXarKwtA=,tag:ckpVziE+yb0FjctcT7tAkg==,type:str] matrix-sliding-sync: ENC[AES256_GCM,data:CmR8Q5NL1m+eixenK4u1n3MfVh49/Q3ZIRmWfSbuFMr3u79rIGrtFf2EjaThCwBHQyXdYw1wyTouxhGZql1Fcp/HYma8u4w5nJOaJa1TXg==,iv:/kFqA/+kpCkhHZKJdhadjH11pZwh4MFiQPjY96t8M5k=,tag:aZkDCcbtonHMTv4TdBv1sQ==,type:str] rmfakecloud: ENC[AES256_GCM,data:ktKBKb6cRv1VF8tRvXIpxIy9hPinVPKK05mgvYzz18PEdcrCLpldm5xf7ffHtY5XzDOAMXDCiz6x4xyv7071frrF0spOEPnIzVhxwG8H2Ck=,iv:qJdHjv0RziAs4G9UGeRwGQ4GE5kaObJWpIYWpRKhr9c=,tag:PXgvU1hZK/gvWGyFJaHekg==,type:str] -esphome: ENC[AES256_GCM,data:ufIZkZo1aP/Th/8a+9srkJBqLqPQI/ymElIEBmTKzqsJ3HE/mx9QJ1aH0vGVed9W/wSJ+7+huFpB+pNAebJMohK/fAmAVG3lzgT0wKWw8g4u33VHb6X8FIW6q1+CYRnOCQsocgM4EX26YfzaxVpw9P4PF/abwB1bVzr9xnEL2JdJfstzxnR70dKO88WTolykysc443iDW80i0scH+sCh8JIfDrV+V0l3jT+woAeTw1VA0hFa5x9i3tdfrHpzc/sN1/OW6F1CsMVS2pwUTkr7pKp5nfjxhEPi94iLMmakm0XWPZpay2213FQEUYiRqCIGmD1Oiyq0nSVcOAkc66TNwsqrdPCkCL8OPTXuTd+yIfAuU3267kUMNcN2A9kqGMx4Inj8JGlmvxuoQueuXIA4gvVFhJFBdovpl10HY/YkG/cGM0gazfF2+5xG93RgD9Uryq1g61XTFOkOaH7XtGs8Q13xnnXVwfq2pK/vnx9kQkgXJJQRU1Ng8PAg+Rw1VK6bzVz5ugj6q1ei56orNy4A8FU1z1aGyChfPT3XPaDwLr0pEXvc2Vz/6CxAosSpNHIQ6fO0XBM7nvIs/2jHZssXSVo2iwYRZsgZft60cg0FfBmDyc3QH6pVjYhoQGsBlfQt5CtW7XX3rJjQTcDLfzUlO8Ykax7TXZKnDcvtNonRm45bmV+1CqS9KLrBHouWN0axtweabAVW8dld9EnL3CrclE/RbTI0nPOR00S+Ip7wNuBto30yTACxaPHYF79izHu4rQjmm2N5Jt+nI8maEVva6IbAog16NUw6fYDaMwBDeSszBZm0BwNMf36EP/Mcp+MXrBfP1kOYe6HGjftMRDky83XYvP6Cx7FJcPXIZdsMQydxsXB3LKroFqoS2HsHBnCgQbbraQ5UWi40vKXANlKbgFcutqkATvoPW6Hbh07vfiLVfDeuHU9DUCFlgK7KHPWk/g+Uo+TUmgTVKNhbGU/vFu/9h4kIrbf/ocqL/tyMjwA5Yp9e0rQCez8w5Zqfbtqm4N1WB518Q7p52r8C+yLBAua7yB0gAc7SENXWFafkbHClchZXi3c0hY64YvuweDp8G/bPFT/yLuY/yBvA3F2G3CxZXzCMvhMVQfm2yzJeOL20vWumZ8LuIaXJ/13AzLp+lUrc8RmJvU/Hrp6xsEqzXz34qMiBNUR1BKjNAS86WJ1rzD3QtejeETGDwsw016jNbyIMcShgxiEMHnD6HXzWnfTv2fO5xICiAG/VMm5h+vC3MweW2XO01P3O0/Rq/OSy3R8ZlEFErlhR1HiXhc2CdxuuxqDySi0/rP/Jpxf25Zi8mY9YBTFlV0T9ApzJoTwlobMmmxHmqq+vQSKAxLq0lJ/bpO+8utchHbnQNUICveCkX4w+rK9Vnls3zbiLTBnsf+J4y5zpLZ5HkDCUNcEnD29ZR30IYoBTLUG3PlfyH++rLl5ynW5QKUWLnUdjvf9ZwS2veFAZw6tfHelzjkZ5tps5BkjS8YAi/x70Jw4qs3fzZudq6Lej4fsMdkBnYSSN2s7Sc3A1,iv:jSR/M4KS+cZMQgtTZWtPcpmKFD5QNr7s8ClAbXzpR2s=,tag:sp3BnZi+b9WuIiCPapG6Bw==,type:str] +esphome: ENC[AES256_GCM,data:QyPrVPhqvaCfx7oRmJ14EFpEIpQRwlLwTABK9qTP/wYcoflFsorNAmIoTiX/4KziQl050ByztnjIhrsxFx2dN6dv+RiLVWP+k0G63rfeS5gxe8QSgzsEtWWaUk3DE87i20DUusj1/B6yUsMApMohjaufuVzReL2MtVSVgtDUS6nVqGnRubrdujAxyRWvjQtamWBa1fjz39U876F10KMUYB+iGtObfNJGH18lAQ1arKEUQQSl8u1vNJuZiKqFhzxcu/IF6AhJgcKmCi2nrcEgbrv4ZwOcJ7+VG29qY7C4LCeAU4wOWJmtnCSf9osSwzR5hFco46L3Y8k0XXEOiEAJl+8ZLNKqQJpShh9wioMrj9XNpX/PvGCpBLTHsXTCGktDdbK/RLEGZnnL0s6If7Qs0XTwWZEe0q4IsltfdWJdZQWbvlY58ooUkK55wml/SlpuHgSdY6pOp/bOnBwvIrh/962DWtSXDxNnvps4Qy0eRUtpS2G6+rLIXXkq7KlSUg/A5XRNWbLGX5u7pJuvJ5xlldFW+tb1rqyrKXGIGra3Y6Ib4Z17znmajMSIeQItChj8UsOqlcHaCI5s8kDFjafJfpTTtAm0mj2cBFYmWHC/WR1YAtd2mrffr258CShtO+eeAqhSSTopIL637udKaY1Vto1dVReTmK24ANopQOaxnTtFjBdQaeluP4PAWrAGADBio1iwjsWIQlr0vnMjSBd0JcnW0Q3i+/5zhQfaEzZ6FQXOs05+l7ryLrGgBbyM2FRLTuAWBsv5yv3lz8FiSGVNaLMW5rofZpFvX0oa7P9HyU/RIpUzx307VBsIJlzrW2NgWvc9iLHLHWJDa7xcemGTvZDp/0BujYHeYYfVViPtVcCicLvDLikgtJRlkdPmyRoMSx0o3taoPsYoVZielo5EZpLiaLwuCNnCk2fRxAgPUa4+zGhZc2Z/BrOvK7sxcyIXEYRrZ8Ti2iNQJthNNb1CzSUXpdpSZtFi1jjiC45V0dlg/lSqrkRjyA9DpGbegt3WpO/6X+uc9vSAgR4f/0xNngTKzCfFV+fyUJXffpje9fQhQnecsTDjjc3aLiESqc3mx8MP6gHI9fS8z8PU72t+4tJxe8hjo7VWlInOVKV9zp9Tn+P4Ez1MebPJRlrwHGSVFsPhKct+CgzE+Q0B3vvcWyQfdJHeFCPWsTWmcCUoJf61fQO/3JwZI8YE3HET+NsRoxVHTl099LzWWCbrfT4uN3+O3VQbceLM+KxKCLVGNEHKlF8NHCIk4KCWhKNwhXvuMjf4GgtYbENFn1QbmiQFpYfIl8FA8PZVk7x+dzuROL4NpIKaBfrg34LQnxFpc2YCBnEsmsJVPybR5ZHC8eDL7JdVSg+FhvOxzBkvCeQjG8746/t0HJYPucisFCmP1isGpcn8Eku+BT/2XocHsUwpyo+RQoruWKwkLtnCHeaGSszqWzugSGXU4b4T2HB2yU9ORpt6uP+wbtc49GeMHrUGiO+w6BQm3TzPEZ0XMh4+8iayGhbd8T213C72sHpo5eCbv7C2zE/3dxHr2/+xtfstQFRuMPhq/r/4aqkeGKTwWEBcOwD1knlnbXo5OZsdvX9SeqF+mno/uDxZW00QqaWiQz89SWLGHtC4gjbE2wU2IpiGZMTOtNieOrjjCfdX3ZkrhA==,iv:Qn0nDrXRCOJaTJJBK6/PEGbhS1pbB0dTZYakgha5wJQ=,tag:8GeYWlsxgAGfFL61V5CwXg==,type:str] home-assistant: ENC[AES256_GCM,data:wcFMxDdRCHf/shO9v2WaGgrsa9J2WP62xFs=,iv:9ckeIO62cFZUo8fPyQj445CrJVTooNlwLapM/oTsrkk=,tag:mlfxtXDPsB3T79P9BX9oJQ==,type:str] sops: kms: [] @@ -27,8 +27,8 @@ sops: SU1USkxFUUY2NVhmUHBhZkdrNDR1Q0kKiXIicInELRjDR3tuyA+lnXeCcd9lYvbV GnBRGPM7BNO/6AA7HhAei48Kt+XE6+jQX66yTXyviKhK7Lpjrlb2YQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-09-11T16:10:31Z" - mac: ENC[AES256_GCM,data:7STJaln+9X6xZFAyLSoMCw2PKNiRr4GNhxGbZRPRf+nKfkFh7wJRS3YWVrxd9iOonSPsuHfPnBrAPiq7ILXqwfjNcyf2HtOIPxHz0utE6b0X7KvEwmLSRMOQG9rpsETE5UBQ+DgtU9IwZzTXgh9CGZpHWQAPeOI+lK4OKLlXvkk=,iv:E++ECn4SJy43lW5RWxjSDc7dj0LWDXIuO+5fVFE3+zU=,tag:QFvao9PWSllzXXhGwFQgrw==,type:str] + lastmodified: "2024-11-08T17:10:15Z" + mac: ENC[AES256_GCM,data:bCkqwd22O4K1Ivix4JWEY+RAiPB+8NP3y2KrDEeGXR3R03t6Xi2S+tXLKh9MBp0/jatUS2COs1tY0+hL2quC7rjpv25hufA+7oHA+jASgglD+5lKnc1OGpvBt4eMCszYorIKOP55glLLMn8WmYAPQm5PDPnfNtwZwEs1zmwffjA=,iv:YR38y2za5FrTr+t7hminVStO9/Z9zFbKoBRtuzrl+rI=,tag:ci5MZ2cjRjc8HYKJy11Jbg==,type:str] pgp: - created_at: "2024-01-31T01:20:30Z" enc: |- diff --git a/hosts/iron/services/esphome/devices/pinspot.yaml b/hosts/iron/services/esphome/devices/pinspot.yaml new file mode 100644 index 0000000..98fc572 --- /dev/null +++ b/hosts/iron/services/esphome/devices/pinspot.yaml @@ -0,0 +1,52 @@ +esphome: + name: "pinspot" + friendly_name: "Pinspot" + platformio_options: + board_build.flash_mode: dio + +esp32: + board: esp32-c3-devkitm-1 + variant: ESP32C3 + framework: + type: esp-idf + +logger: + +api: + encryption: + key: !secret apikey_pinspot + +ota: + password: !secret otapass_pinspot + +wifi: + ssid: !secret wifi_ssid_bw + password: !secret wifi_password_bw + domain: .iot.bw.jalr.de + enable_on_boot: True + fast_connect: On + output_power: 8.5 + +sensor: + - platform: wifi_signal + name: "WiFi Signal Sensor" + update_interval: 60s + +output: + - platform: ledc + pin: GPIO1 + id: output_led_brightness + min_power: 0.028 + zero_means_zero: true + - platform: ledc + pin: GPIO4 + inverted: true + id: output_led_colortemp + +light: + - platform: color_temperature + name: "Pinspot" + color_temperature: output_led_colortemp + brightness: output_led_brightness + cold_white_color_temperature: 6000 K + warm_white_color_temperature: 2700 K From 715276f7c7c2cb39bdd89be84286b5439d652f99 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 8 Nov 2024 22:16:19 +0100 Subject: [PATCH 494/766] Reduce opacity --- users/jalr/modules/alacritty.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/users/jalr/modules/alacritty.nix b/users/jalr/modules/alacritty.nix index 3c82e32..77f3b5b 100644 --- a/users/jalr/modules/alacritty.nix +++ b/users/jalr/modules/alacritty.nix @@ -114,7 +114,7 @@ let scrolling.history = 100000; - window.opacity = 0.95; + window.opacity = 0.9; }; settings = { dark = commonSettings // { From bae82fdec30933a80324455b83ecec7a89006565 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 8 Nov 2024 22:17:18 +0100 Subject: [PATCH 495/766] Install qbittorrent from master as the package on 24.05 channel has a vulnerability --- modules/qbittorrent/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/qbittorrent/default.nix b/modules/qbittorrent/default.nix index 810685b..6065479 100644 --- a/modules/qbittorrent/default.nix +++ b/modules/qbittorrent/default.nix @@ -59,7 +59,7 @@ in serviceConfig = { Restart = "always"; - ExecStart = "${pkgs.qbittorrent-nox}/bin/qbittorrent-nox --profile=${cfg.configDir} --webui-port=${toString cfg.webuiPort}"; + ExecStart = "${pkgs.master.qbittorrent-nox}/bin/qbittorrent-nox --profile=${cfg.configDir} --webui-port=${toString cfg.webuiPort}"; User = "qbittorrent"; Group = "qbittorrent"; From f881e0c22d6952d43de4e9f86d85878527e7363e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 10 Nov 2024 18:31:36 +0100 Subject: [PATCH 496/766] Remove raumtemp_hk_1 and rauchgasauslastung --- hosts/aluminium/services/home-assistant.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/hosts/aluminium/services/home-assistant.nix b/hosts/aluminium/services/home-assistant.nix index 5fc1fe8..2b19ab4 100644 --- a/hosts/aluminium/services/home-assistant.nix +++ b/hosts/aluminium/services/home-assistant.nix @@ -22,13 +22,11 @@ in { entity = "sensor.guntamaticbiostar_puffer_unten"; } { entity = "sensor.guntamaticbiostar_kesseltemperatur"; } { entity = "sensor.guntamaticbiostar_vorlauf_ist_1"; } - { entity = "sensor.guntamaticbiostar_raumtemp_hk_1"; } { entity = "sensor.guntamaticbiostar_aussentemperatur"; } { entity = "sensor.guntamaticbiostar_co2_gehalt"; } { entity = "select.guntamaticbiostar_program"; } { entity = "sensor.guntamaticbiostar_programm"; } { entity = "sensor.guntamaticbiostar_programm_hk1"; } - { entity = "sensor.guntamaticbiostar_rauchgasauslastung"; } { entity = "sensor.guntamaticbiostar_rucklauftemperatur"; } { entity = "sensor.guntamaticbiostar_servicezeit"; } ]; From 22bdf86a86691d0874ae93ace18e346b43dd911f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 10 Nov 2024 18:42:11 +0100 Subject: [PATCH 497/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/856a2902156ba304efebd4c1096dbf7465569454' (2024-11-04) → 'github:nix-community/disko/5e40e02978e3bd63c2a6a9fa6fa8ba0e310e747f' (2024-11-08) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/dba414932936fde69f0606b4f1d87c5bc0003ede' (2024-11-06) → 'github:nixos/nixpkgs/83fb6c028368e465cd19bb127b86f971a5e41ebc' (2024-11-07) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/a46925097143c5535a814c0d9ca53b29fb2a5d1d' (2024-11-07) → 'github:NixOS/nixpkgs/44bbe5ddad08599cb6556157c1e20242b5d9a0b2' (2024-11-10) • Updated input 'nur': 'github:nix-community/NUR/bfd50d178dff545abb87dbf0663a3bd7abfad92d' (2024-11-07) → 'github:nix-community/NUR/5b5350f16cefe83e1a3ed3f30d69b6af654f0d52' (2024-11-10) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/a1925e0848c62ab542b0b93b1b22875ee6efcb3d' (2024-11-07) → 'github:nix-community/poetry2nix/f554d27c1544d9c56e5f1f8e2b8aff399803674e' (2024-11-10) • Updated input 'sops-nix': 'github:Mic92/sops-nix/c5ae1e214ff935f2d3593187a131becb289ea639' (2024-11-06) → 'github:Mic92/sops-nix/f1675e3b0e1e663a4af49be67ecbc9e749f85eb7' (2024-11-10) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 20d9f7f..0525c8c 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1730751873, - "narHash": "sha256-sdY29RWz0S7VbaoTwSy6RummdHKf0wUTaBlqPxrtvmQ=", + "lastModified": 1731060864, + "narHash": "sha256-aYE7oAYZ+gPU1mPNhM0JwLAQNgjf0/JK1BF1ln2KBgk=", "owner": "nix-community", "repo": "disko", - "rev": "856a2902156ba304efebd4c1096dbf7465569454", + "rev": "5e40e02978e3bd63c2a6a9fa6fa8ba0e310e747f", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1730883749, - "narHash": "sha256-mwrFF0vElHJP8X3pFCByJR365Q2463ATp2qGIrDUdlE=", + "lastModified": 1730963269, + "narHash": "sha256-rz30HrFYCHiWEBCKHMffHbMdWJ35hEkcRVU0h7ms3x0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "dba414932936fde69f0606b4f1d87c5bc0003ede", + "rev": "83fb6c028368e465cd19bb127b86f971a5e41ebc", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1730994033, - "narHash": "sha256-UL/aB8nufAq7tLPJAuyT380IqiZXAdnp4t+BrNUxWYo=", + "lastModified": 1731260124, + "narHash": "sha256-BEOxhi+NnklFH0J+Zcar4p8iOzj/Qvm216JXYAvAreA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a46925097143c5535a814c0d9ca53b29fb2a5d1d", + "rev": "44bbe5ddad08599cb6556157c1e20242b5d9a0b2", "type": "github" }, "original": { @@ -410,11 +410,11 @@ }, "nur": { "locked": { - "lastModified": 1730990741, - "narHash": "sha256-lfp3sBCEWsj/L83WjUvsBwusU0YX+BhajdC4VDdwknE=", + "lastModified": 1731258665, + "narHash": "sha256-DVFTn7Ol69nWLSFwnBj/2T3wptOC97MH4i5NHlkQrzk=", "owner": "nix-community", "repo": "NUR", - "rev": "bfd50d178dff545abb87dbf0663a3bd7abfad92d", + "rev": "5b5350f16cefe83e1a3ed3f30d69b6af654f0d52", "type": "github" }, "original": { @@ -436,11 +436,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1730961552, - "narHash": "sha256-TjfCllZmU8U2Bs/ENsrii7GCHBDkorPsmZ0d97DcaAQ=", + "lastModified": 1731205797, + "narHash": "sha256-F7N1mxH1VrkVNHR3JGNMRvp9+98KYO4b832KS8Gl2xI=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "a1925e0848c62ab542b0b93b1b22875ee6efcb3d", + "rev": "f554d27c1544d9c56e5f1f8e2b8aff399803674e", "type": "github" }, "original": { @@ -526,11 +526,11 @@ "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { - "lastModified": 1730883027, - "narHash": "sha256-pvXMOJIqRW0trsW+FzRMl6d5PbsM4rWfD5lcKCOrrwI=", + "lastModified": 1731213149, + "narHash": "sha256-jR8i6nFLmSmm0cIoeRQ8Q4EBARa3oGaAtEER/OMMxus=", "owner": "Mic92", "repo": "sops-nix", - "rev": "c5ae1e214ff935f2d3593187a131becb289ea639", + "rev": "f1675e3b0e1e663a4af49be67ecbc9e749f85eb7", "type": "github" }, "original": { From 3ceac436b938d04606e9bdb48834ac67bf2aa180 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 10 Nov 2024 18:50:16 +0100 Subject: [PATCH 498/766] Add notification to stoke up --- hosts/aluminium/services/home-assistant.nix | 32 +++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/hosts/aluminium/services/home-assistant.nix b/hosts/aluminium/services/home-assistant.nix index 2b19ab4..2395ff9 100644 --- a/hosts/aluminium/services/home-assistant.nix +++ b/hosts/aluminium/services/home-assistant.nix @@ -83,6 +83,38 @@ in }; default_config = { }; "automation nix" = [ + { + alias = "Nachschüren"; + description = "Benachrichtigung auf iPad bei Wechsel auf Teillast"; + mode = "single"; + trigger = [ + { + platform = "state"; + entity_id = [ "sensor.guntamaticbiostar_betrieb" ]; + from = "VOLLLAST"; + to = "TEILLAST"; + } + ]; + condition = [ + { + condition = "numeric_state"; + entity_id = "sensor.guntamaticbiostar_pufferladung"; + below = "80"; + } + ]; + action = [ + { + device_id = "5612874405fa2ee539ad4518a1bb8e34"; + domain = "mobile_app"; + type = "notify"; + message = '' + Kessel läuft auf Teillast und Puffer ist unter 80%. Vielleicht willst du + nachschüren. + ''; + title = "Nachschüren?"; + } + ]; + } ]; "automation ui" = "!include automations.yaml"; "scene nix" = [ From 008269cdbafaaf4019a2b9b13f08a6c982756cd5 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 11 Nov 2024 11:42:58 +0100 Subject: [PATCH 499/766] Update README --- README.md | 8 +------- users/README.md | 9 +++++++-- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 32052e4..5d6c327 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,4 @@ -## home-manager -https://github.com/nix-community/home-manager - -For a systematic overview of Home Manager and its available options, please see -- the [Home Manager manual](https://nix-community.github.io/home-manager/index.html) and -- the [Home Manager configuration options](https://nix-community.github.io/home-manager/options.html). - +# jalr's NixOS Configuration ## Install a new host diff --git a/users/README.md b/users/README.md index e245e64..50675ba 100644 --- a/users/README.md +++ b/users/README.md @@ -1,2 +1,7 @@ -# Documentation -[Home Manager Manual](https://rycee.gitlab.io/home-manager/) +# Home Manager +The user configuration is managed by [Home Manager](https://github.com/nix-community/home-manager) + +For a systematic overview of Home Manager and its available options, please see +- the [Home Manager manual](https://nix-community.github.io/home-manager/index.html) and +- the [Home Manager configuration options](https://nix-community.github.io/home-manager/options.html). + From 883c7ed6a6e70527e13a4b296fdac1a4a1ed74ba Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 13 Nov 2024 14:35:02 +0100 Subject: [PATCH 500/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/5e40e02978e3bd63c2a6a9fa6fa8ba0e310e747f' (2024-11-08) → 'github:nix-community/disko/486250f404f4a4f4f33f8f669d83ca5f6e6b7dfc' (2024-11-10) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/d70155fdc00df4628446352fc58adc640cd705c2' (2024-11-05) → 'github:cachix/git-hooks.nix/cd1af27aa85026ac759d5d3fccf650abe7e1bbf0' (2024-11-11) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/e1cc1f6483393634aee94514186d21a4871e78d7' (2024-11-06) → 'github:nixos/nixos-hardware/f6581f1c3b137086e42a08a906bdada63045f991' (2024-11-12) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/83fb6c028368e465cd19bb127b86f971a5e41ebc' (2024-11-07) → 'github:nixos/nixpkgs/9256f7c71a195ebe7a218043d9f93390d49e6884' (2024-11-10) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/44bbe5ddad08599cb6556157c1e20242b5d9a0b2' (2024-11-10) → 'github:NixOS/nixpkgs/3f7e0ddd7bed4b519c01301b5be762f6e7576d38' (2024-11-13) • Updated input 'nur': 'github:nix-community/NUR/5b5350f16cefe83e1a3ed3f30d69b6af654f0d52' (2024-11-10) → 'github:nix-community/NUR/4b0e599bebf4bdf6725cdf8036a335096bf13097' (2024-11-13) • Updated input 'sops-nix': 'github:Mic92/sops-nix/f1675e3b0e1e663a4af49be67ecbc9e749f85eb7' (2024-11-10) → 'github:Mic92/sops-nix/4c91d52db103e757fc25b58998b0576ae702d659' (2024-11-11) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 0525c8c..c0308c4 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1731060864, - "narHash": "sha256-aYE7oAYZ+gPU1mPNhM0JwLAQNgjf0/JK1BF1ln2KBgk=", + "lastModified": 1731274291, + "narHash": "sha256-cZ0QMpv5p2a6WEE+o9uu0a4ma6RzQDOQTbm7PbixWz8=", "owner": "nix-community", "repo": "disko", - "rev": "5e40e02978e3bd63c2a6a9fa6fa8ba0e310e747f", + "rev": "486250f404f4a4f4f33f8f669d83ca5f6e6b7dfc", "type": "github" }, "original": { @@ -298,11 +298,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1730814269, - "narHash": "sha256-fWPHyhYE6xvMI1eGY3pwBTq85wcy1YXqdzTZF+06nOg=", + "lastModified": 1731363552, + "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "d70155fdc00df4628446352fc58adc640cd705c2", + "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1730919458, - "narHash": "sha256-yMO0T0QJlmT/x4HEyvrCyigGrdYfIXX3e5gWqB64wLg=", + "lastModified": 1731403644, + "narHash": "sha256-T9V7CTucjRZ4Qc6pUEV/kpgNGzQbHWfGcfK6JJLfUeI=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "e1cc1f6483393634aee94514186d21a4871e78d7", + "rev": "f6581f1c3b137086e42a08a906bdada63045f991", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1730963269, - "narHash": "sha256-rz30HrFYCHiWEBCKHMffHbMdWJ35hEkcRVU0h7ms3x0=", + "lastModified": 1731239293, + "narHash": "sha256-q2yjIWFFcTzp5REWQUOU9L6kHdCDmFDpqeix86SOvDc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "83fb6c028368e465cd19bb127b86f971a5e41ebc", + "rev": "9256f7c71a195ebe7a218043d9f93390d49e6884", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1731260124, - "narHash": "sha256-BEOxhi+NnklFH0J+Zcar4p8iOzj/Qvm216JXYAvAreA=", + "lastModified": 1731504820, + "narHash": "sha256-mRON3li1hSIkDk5u/DAr5Iv3QUMUiPHDIMaqVSOVTnc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "44bbe5ddad08599cb6556157c1e20242b5d9a0b2", + "rev": "3f7e0ddd7bed4b519c01301b5be762f6e7576d38", "type": "github" }, "original": { @@ -410,11 +410,11 @@ }, "nur": { "locked": { - "lastModified": 1731258665, - "narHash": "sha256-DVFTn7Ol69nWLSFwnBj/2T3wptOC97MH4i5NHlkQrzk=", + "lastModified": 1731494868, + "narHash": "sha256-gFzX+e1ATJmhjOMvbBmqf1v4WgMz770dZhtGN4dZtng=", "owner": "nix-community", "repo": "NUR", - "rev": "5b5350f16cefe83e1a3ed3f30d69b6af654f0d52", + "rev": "4b0e599bebf4bdf6725cdf8036a335096bf13097", "type": "github" }, "original": { @@ -526,11 +526,11 @@ "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { - "lastModified": 1731213149, - "narHash": "sha256-jR8i6nFLmSmm0cIoeRQ8Q4EBARa3oGaAtEER/OMMxus=", + "lastModified": 1731364708, + "narHash": "sha256-HC0anOL+KmUQ2hdRl0AtunbAckasxrkn4VLmxbW/WaA=", "owner": "Mic92", "repo": "sops-nix", - "rev": "f1675e3b0e1e663a4af49be67ecbc9e749f85eb7", + "rev": "4c91d52db103e757fc25b58998b0576ae702d659", "type": "github" }, "original": { From c7f0ec97751938247f26640b38a23f62c5678c11 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 13 Nov 2024 19:02:30 +0100 Subject: [PATCH 501/766] Add DHT model As autodetection is buggy and the sensor might report wrong values. --- hosts/iron/services/esphome/devices/badspiegel.yaml | 1 + hosts/iron/services/esphome/devices/fussbodenheizung.yaml | 1 + hosts/iron/services/esphome/devices/kueche-leiste.yaml | 1 + 3 files changed, 3 insertions(+) diff --git a/hosts/iron/services/esphome/devices/badspiegel.yaml b/hosts/iron/services/esphome/devices/badspiegel.yaml index 2ee052b..e80b97d 100644 --- a/hosts/iron/services/esphome/devices/badspiegel.yaml +++ b/hosts/iron/services/esphome/devices/badspiegel.yaml @@ -95,6 +95,7 @@ sensor: update_interval: 60s - platform: dht pin: GPIO22 + model: DHT22 temperature: name: "Temperatur" id: temperature diff --git a/hosts/iron/services/esphome/devices/fussbodenheizung.yaml b/hosts/iron/services/esphome/devices/fussbodenheizung.yaml index 616f5a5..618c606 100644 --- a/hosts/iron/services/esphome/devices/fussbodenheizung.yaml +++ b/hosts/iron/services/esphome/devices/fussbodenheizung.yaml @@ -60,6 +60,7 @@ sensor: name: "WiFi Signal Sensor" update_interval: 60s - platform: dht + model: DHT22 pin: GPIO2 temperature: name: "Temperatur" diff --git a/hosts/iron/services/esphome/devices/kueche-leiste.yaml b/hosts/iron/services/esphome/devices/kueche-leiste.yaml index 3b8f396..44bbd8d 100644 --- a/hosts/iron/services/esphome/devices/kueche-leiste.yaml +++ b/hosts/iron/services/esphome/devices/kueche-leiste.yaml @@ -66,6 +66,7 @@ sensor: name: "WiFi Signal Sensor" update_interval: 60s - platform: dht + model: DHT22 pin: GPIO5 temperature: name: "Temperatur" From 3c53540bb8238c61065c90c38f9ad1dc200b2e19 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 13 Nov 2024 19:03:38 +0100 Subject: [PATCH 502/766] Lower update interval of temp/humidity sensor --- hosts/iron/services/esphome/devices/badspiegel.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/iron/services/esphome/devices/badspiegel.yaml b/hosts/iron/services/esphome/devices/badspiegel.yaml index e80b97d..60220e1 100644 --- a/hosts/iron/services/esphome/devices/badspiegel.yaml +++ b/hosts/iron/services/esphome/devices/badspiegel.yaml @@ -103,7 +103,7 @@ sensor: name: "Feuchtigkeit" id: humidity accuracy_decimals: 1 - update_interval: 60s + update_interval: 30s binary_sensor: # ESP32 touch pins: 4, 13, 27, 32, 33 From d2b3027bc427a70eafbe97ecfe2f6d288a7a5a69 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 13 Nov 2024 19:04:25 +0100 Subject: [PATCH 503/766] Update touch pad values Crappy fixed the touch pads with tape :) --- hosts/iron/services/esphome/devices/badspiegel.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hosts/iron/services/esphome/devices/badspiegel.yaml b/hosts/iron/services/esphome/devices/badspiegel.yaml index 60220e1..71a2df6 100644 --- a/hosts/iron/services/esphome/devices/badspiegel.yaml +++ b/hosts/iron/services/esphome/devices/badspiegel.yaml @@ -107,19 +107,21 @@ sensor: binary_sensor: # ESP32 touch pins: 4, 13, 27, 32, 33 + # Touch Pad T4 - platform: esp32_touch name: "touch pad GPIO13" pin: GPIO13 - threshold: 923 + threshold: 902 on_press: then: - light.toggle: id: front_light internal: true + # Touch Pad T7 - platform: esp32_touch name: "touch pad GPIO27" pin: GPIO27 - threshold: 1125 + threshold: 1030 on_press: then: - light.toggle: From 9799e221a220fecd340e9adfc1526e74a5f77e49 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 13 Nov 2024 22:15:23 +0100 Subject: [PATCH 504/766] Add hedgedoc service --- hosts/magnesium/ports.nix | 1 + hosts/magnesium/services/default.nix | 1 + hosts/magnesium/services/hedgedoc.nix | 43 +++++++++++++++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 hosts/magnesium/services/hedgedoc.nix diff --git a/hosts/magnesium/ports.nix b/hosts/magnesium/ports.nix index 7401906..a346a5f 100644 --- a/hosts/magnesium/ports.nix +++ b/hosts/magnesium/ports.nix @@ -6,6 +6,7 @@ custom-utils.validatePortAttrset { coturn-relay.udp.range = [ 49160 49200 ]; coturn-tls = { tcp = [ 5349 5350 ]; udp = [ 5349 5350 ]; }; forgejo-ssh.tcp = 2022; + hedgedoc.tcp = 3000; mosquitto.tcp = 1883; nginx-http.tcp = 80; nginx-https.tcp = 443; diff --git a/hosts/magnesium/services/default.nix b/hosts/magnesium/services/default.nix index ab5d185..aba802f 100644 --- a/hosts/magnesium/services/default.nix +++ b/hosts/magnesium/services/default.nix @@ -3,6 +3,7 @@ ./coturn.nix ./forgejo.nix ./gitlab-runner.nix + ./hedgedoc.nix ./mosquitto.nix ./ntfy.nix ./public-ip-tunnel.nix diff --git a/hosts/magnesium/services/hedgedoc.nix b/hosts/magnesium/services/hedgedoc.nix new file mode 100644 index 0000000..b8df3e1 --- /dev/null +++ b/hosts/magnesium/services/hedgedoc.nix @@ -0,0 +1,43 @@ +args@{ config, custom-utils, ... }: + +let + domain = "pad.jalr.de"; + ports = import ../ports.nix args; + cfg = config.services.hedgedoc; +in +{ + services.hedgedoc = { + enable = true; + settings = { + domain = domain; + protocolUseSSL = true; + csp.enable = true; + port = ports.hedgedoc.tcp; + db = { + dialect = "postgres"; + host = "/run/postgresql"; + user = "hedgedoc"; + database = "hedgedoc"; + }; + allowEmailRegister = false; + }; + }; + + services.postgresql = { + enable = true; + ensureDatabases = [ "hedgedoc" ]; + ensureUsers = [{ + name = "hedgedoc"; + ensureDBOwnership = true; + }]; + }; + + services.nginx.virtualHosts."${domain}" = { + enableACME = true; + forceSSL = true; + + locations."/" = { + proxyPass = "http://${cfg.settings.host}:${toString cfg.settings.port}"; + }; + }; +} From 5f3faa705f3910eb0a642c899d352a7c5b65affe Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 15 Nov 2024 00:21:33 +0100 Subject: [PATCH 505/766] Update to 24.11 --- flake.lock | 16 +- flake.nix | 4 +- hosts/aluminium/services/dyndns.nix | 12 +- hosts/aluminium/services/unifi-controller.nix | 1 + hosts/iron/configuration.nix | 2 - hosts/iron/services/dyndns.nix | 14 +- hosts/iron/services/navidrome.nix | 4 +- hosts/iron/services/radicale.nix | 9 - hosts/iron/services/unifi-controller.nix | 1 + hosts/magnesium/configuration.nix | 10 +- hosts/magnesium/services/forgejo.nix | 2 +- hosts/weinturm-pretix-prod/configuration.nix | 10 +- modules/matrix/mautrix-signal.nix | 158 ++++-------------- modules/matrix/mautrix-whatsapp.nix | 3 +- modules/nix.nix | 11 +- modules/pipewire.nix | 1 - modules/sway.nix | 2 +- pkgs/fpvout/default.nix | 2 +- users/jalr/modules/gui.nix | 2 +- 19 files changed, 91 insertions(+), 173 deletions(-) diff --git a/flake.lock b/flake.lock index c0308c4..16c0ce6 100644 --- a/flake.lock +++ b/flake.lock @@ -203,16 +203,16 @@ ] }, "locked": { - "lastModified": 1726989464, - "narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=", + "lastModified": 1731832479, + "narHash": "sha256-icDDuYwJ0avTMZTxe1qyU/Baht5JOqw4pb5mWpR+hT0=", "owner": "nix-community", "repo": "home-manager", - "rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176", + "rev": "5056a1cf0ce7c2a08ab50713b6c4af77975f6111", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-24.05", + "ref": "master", "repo": "home-manager", "type": "github" } @@ -330,16 +330,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1731239293, - "narHash": "sha256-q2yjIWFFcTzp5REWQUOU9L6kHdCDmFDpqeix86SOvDc=", + "lastModified": 1731858824, + "narHash": "sha256-0KhJ6SOyWjx408tsgcoVQFx9nEn55DwrhFbCE49Oyac=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9256f7c71a195ebe7a218043d9f93390d49e6884", + "rev": "7937932921ea34c51c1b586e2505574f6f0be5a7", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-24.05", + "ref": "release-24.11", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index 4ae9e7f..9f867d0 100644 --- a/flake.nix +++ b/flake.nix @@ -10,7 +10,7 @@ gomod2nix.url = "github:nix-community/gomod2nix"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager/release-24.05"; + home-manager.url = "github:nix-community/home-manager/master"; krops.inputs.flake-utils.follows = "flake-utils"; krops.inputs.nixpkgs.follows = "nixpkgs"; @@ -24,7 +24,7 @@ nixos-hardware.url = "github:nixos/nixos-hardware/master"; - nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; + nixpkgs.url = "github:nixos/nixpkgs/release-24.11"; nixpkgsMaster.url = "github:NixOS/nixpkgs/master"; diff --git a/hosts/aluminium/services/dyndns.nix b/hosts/aluminium/services/dyndns.nix index ea0e38c..bbcdb34 100644 --- a/hosts/aluminium/services/dyndns.nix +++ b/hosts/aluminium/services/dyndns.nix @@ -1,4 +1,4 @@ -{ config, ... }: +{ config, pkgs, ... }: { sops.secrets.duckdns-secret = { sopsFile = ../secrets.yaml; @@ -11,6 +11,14 @@ username = "nouser"; passwordFile = config.sops.secrets.duckdns-secret.path; domains = [ "jalr-k" ]; - use = "if, if=ppp0"; + usev4 = "ifv4, ifv4=ppp0"; + package = pkgs.ddclient.overrideAttrs (p: rec { + nativeBuildInputs = p.nativeBuildInputs ++ [ pkgs.makeWrapper ]; + wrapperPath = pkgs.lib.makeBinPath [ pkgs.iproute2 ]; + postFixup = '' + wrapProgram $out/bin/ddclient \ + --prefix PATH : "${wrapperPath}" + ''; + }); }; } diff --git a/hosts/aluminium/services/unifi-controller.nix b/hosts/aluminium/services/unifi-controller.nix index 16489c6..4801621 100644 --- a/hosts/aluminium/services/unifi-controller.nix +++ b/hosts/aluminium/services/unifi-controller.nix @@ -7,6 +7,7 @@ in services.unifi = { enable = true; unifiPackage = pkgs.unifi8; + mongodbPackage = pkgs.mongodb-7_0; }; networking.firewall.interfaces.lechner.allowedTCPPorts = [ ports.unifi-inform.tcp diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index 80a60f2..d8e1203 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -1,7 +1,6 @@ { inputs, config, pkgs, lib, ... }: let interfaces = import ./interfaces.nix; - zfsKernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages; disks = [ "ata-Samsung_SSD_870_QVO_8TB_S5SSNG0R103837K" "ata-Samsung_SSD_870_QVO_8TB_S5SSNG0R103838A" @@ -118,7 +117,6 @@ with lib; { ''; boot = { - kernelPackages = zfsKernelPackages; kernel.sysctl = { "net.ipv6.conf.all.forwarding" = 1; }; diff --git a/hosts/iron/services/dyndns.nix b/hosts/iron/services/dyndns.nix index 710aceb..6f6e206 100644 --- a/hosts/iron/services/dyndns.nix +++ b/hosts/iron/services/dyndns.nix @@ -1,4 +1,4 @@ -{ config, ... }: +{ config, pkgs, ... }: let interfaces = import ../interfaces.nix; in @@ -14,7 +14,15 @@ in username = "nouser"; passwordFile = config.sops.secrets.duckdns-secret.path; domains = [ "jalr-bw" ]; - use = "if, if=${interfaces.wan}"; - #usev6=ifv6, ifv6=enp3s4 + usev4 = "ifv4, ifv4=${interfaces.wan}"; + usev6 = "ifv6, ifv6=${interfaces.wan}"; + package = pkgs.ddclient.overrideAttrs (p: rec { + nativeBuildInputs = p.nativeBuildInputs ++ [ pkgs.makeWrapper ]; + wrapperPath = pkgs.lib.makeBinPath [ pkgs.iproute2 ]; + postFixup = '' + wrapProgram $out/bin/ddclient \ + --prefix PATH : "${wrapperPath}" + ''; + }); }; } diff --git a/hosts/iron/services/navidrome.nix b/hosts/iron/services/navidrome.nix index 755f26c..f6b87e4 100644 --- a/hosts/iron/services/navidrome.nix +++ b/hosts/iron/services/navidrome.nix @@ -18,14 +18,14 @@ let if [ -e "''$password_encryption_key_file" ]; then export ND_PASSWORDENCRYPTIONKEY="$(cat "''$password_encryption_key_file")" fi - exec ${pkgs.navidrome}/bin/navidrome --configfile ${configFile} + exec ${config.services.navidrome.package}/bin/navidrome --configfile ${configFile} ''; in { services.navidrome.enable = true; systemd.services.navidrome = { serviceConfig = { - ExecStart = lib.mkForce "${utils.systemdUtils.lib.makeJobScript "navidrome-start" script} %d"; + ExecStart = lib.mkForce "${pkgs.writeShellScript "navidrome-start" script} %d"; } // lib.attrsets.optionalAttrs (passwordEncryptionKeyFile != null) { LoadCredential = "PasswordEncryptionKey:${passwordEncryptionKeyFile}"; }; diff --git a/hosts/iron/services/radicale.nix b/hosts/iron/services/radicale.nix index 538947f..ec367ce 100644 --- a/hosts/iron/services/radicale.nix +++ b/hosts/iron/services/radicale.nix @@ -54,14 +54,5 @@ in level = "warning"; }; }; - # Apply fix https://github.com/Kozea/Radicale/issues/1485 - package = pkgs.radicale.overrideAttrs (p: { - src = pkgs.fetchFromGitHub { - owner = "Kozea"; - repo = "Radicale"; - rev = "5146537915f0cb397ae4ef53fe8a4f91fac5d972"; - sha256 = "DRNiY665MHqmXAeGs39N3YfTAV0SEjzUNf3Nfk+kKvk="; - }; - }); }; } diff --git a/hosts/iron/services/unifi-controller.nix b/hosts/iron/services/unifi-controller.nix index 6eeed31..bbd67a8 100644 --- a/hosts/iron/services/unifi-controller.nix +++ b/hosts/iron/services/unifi-controller.nix @@ -8,6 +8,7 @@ in services.unifi = { enable = true; unifiPackage = pkgs.unifi8; + mongodbPackage = pkgs.mongodb-7_0; }; networking.firewall.interfaces."${interfaces.lan}".allowedTCPPorts = [ ports.unifi-http.tcp diff --git a/hosts/magnesium/configuration.nix b/hosts/magnesium/configuration.nix index 0529035..cf05901 100644 --- a/hosts/magnesium/configuration.nix +++ b/hosts/magnesium/configuration.nix @@ -24,16 +24,14 @@ ]; routes = [ { - routeConfig.Destination = "172.31.1.1"; + Destination = "172.31.1.1"; } { - routeConfig = { - Gateway = "172.31.1.1"; - GatewayOnLink = true; - }; + Gateway = "172.31.1.1"; + GatewayOnLink = true; } { - routeConfig.Gateway = "fe80::1"; + Gateway = "fe80::1"; } ]; }; diff --git a/hosts/magnesium/services/forgejo.nix b/hosts/magnesium/services/forgejo.nix index 9eef90f..90d7fb4 100644 --- a/hosts/magnesium/services/forgejo.nix +++ b/hosts/magnesium/services/forgejo.nix @@ -12,7 +12,7 @@ in services.forgejo = { enable = true; lfs.enable = true; - mailerPasswordFile = config.sops.secrets.forgejo-mail.path; + secrets.mailer.PASSWD = config.sops.secrets.forgejo-mail.path; settings = { DEFAULT.APP_NAME = "jalr's git"; avatar.DISABLE_GRAVATAR = true; diff --git a/hosts/weinturm-pretix-prod/configuration.nix b/hosts/weinturm-pretix-prod/configuration.nix index 97d6106..694dc1b 100644 --- a/hosts/weinturm-pretix-prod/configuration.nix +++ b/hosts/weinturm-pretix-prod/configuration.nix @@ -20,16 +20,14 @@ ]; routes = [ { - routeConfig.Destination = "172.31.1.1"; + Destination = "172.31.1.1"; } { - routeConfig = { - Gateway = "172.31.1.1"; - GatewayOnLink = true; - }; + Gateway = "172.31.1.1"; + GatewayOnLink = true; } { - routeConfig.Gateway = "fe80::1"; + Gateway = "fe80::1"; } ]; }; diff --git a/modules/matrix/mautrix-signal.nix b/modules/matrix/mautrix-signal.nix index a470546..d1db25d 100644 --- a/modules/matrix/mautrix-signal.nix +++ b/modules/matrix/mautrix-signal.nix @@ -4,133 +4,47 @@ let cfg = config.jalr.matrix; synapseCfg = config.services.matrix-synapse.settings; dataDir = "/var/lib/mautrix-signal"; - registrationFile = "${dataDir}/signal-registration.yaml"; - settings = { - homeserver = { - address = synapseCfg.public_baseurl; - domain = synapseCfg.server_name; - }; - appservice = rec { - hostname = "127.0.0.1"; - port = cfg.mautrix-signal.port; - address = "http://${hostname}:${toString port}"; - provisioning.shared_secret = "disable"; - database = "sqlite:///${dataDir}/mautrix-signal.db"; - }; - bridge = { - encryption = { - allow = true; - default = true; - }; - verification_levels = { - receive = "cross-signed-tofu"; - send = "cross-signed-tofu"; - share = "cross-signed-tofu"; - }; - }; - logging = { - version = 1; - min_level = "info"; - writers = lib.singleton { - type = "stdout"; - format = "pretty-colored"; - time_format = " "; - }; - }; - } // cfg.mautrix-signal.settings; - settingsFormat = pkgs.formats.json { }; - settingsFile = "${dataDir}/config.json"; - settingsFileUnsubstituted = - settingsFormat.generate "mautrix-signal-config.json" settings; in lib.mkIf cfg.mautrix-signal.enable { - systemd.services.mautrix-signal = { - description = "mautrix-signal, A Matrix-Signal puppeting bridge."; - wantedBy = [ "multi-user.target" ]; - wants = [ "network-online.target" ] ++ cfg.mautrix-signal.serviceDependencies; - after = [ "network-online.target" ] ++ cfg.mautrix-signal.serviceDependencies; - - environment.HOME = dataDir; - preStart = '' - # substitute the settings file by environment variables - # in this case read from EnvironmentFile - test -f '${settingsFile}' && rm -f '${settingsFile}' - old_umask=$(umask) - umask 0177 - ${pkgs.envsubst}/bin/envsubst \ - -o '${settingsFile}' \ - -i '${settingsFileUnsubstituted}' - - cp '${settingsFile}' '${settingsFile}.tmp' - umask $old_umask - - # generate the appservice's registration file if absent - if [ ! -f '${registrationFile}' ]; then - ${pkgs.mautrix-signal}/bin/mautrix-signal \ - --generate-registration \ - --config='${settingsFile}.tmp' \ - --registration='${registrationFile}' - fi - - umask 0177 - ${pkgs.yq}/bin/yq -s '.[0].appservice.as_token = .[1].as_token - | .[0].appservice.hs_token = .[1].hs_token - | .[0]' '${settingsFile}' '${registrationFile}' \ - > '${settingsFile}.tmp' - mv '${settingsFile}.tmp' '${settingsFile}' - umask $old_umask - ''; - serviceConfig = { - Type = "exec"; - User = "mautrix-signal"; - #EnvironmentFile = cfg.environmentFile; - WorkingDirectory = dataDir; - StateDirectory = lib.mkIf (dataDir == "/var/lib/mautrix-signal") "mautrix-signal"; - ExecStart = '' - ${pkgs.mautrix-signal}/bin/mautrix-signal \ - --config='${settingsFile}' \ - --no-update - ''; - Restart = "on-failure"; - RestartSec = "30s"; - - ReadWritePaths = dataDir; - NoNewPrivileges = true; - MemoryDenyWriteExecute = true; - PrivateDevices = true; - PrivateTmp = true; - #ProtectHome = true; - ProtectSystem = "strict"; - ProtectControlGroups = true; - RestrictSUIDSGID = true; - RestrictRealtime = true; - LockPersonality = true; - ProtectKernelLogs = true; - ProtectKernelTunables = true; - ProtectHostname = true; - ProtectKernelModules = true; - PrivateUsers = true; - ProtectClock = true; - SystemCallArchitectures = "native"; - SystemCallErrorNumber = "EPERM"; - SystemCallFilter = "@system-service"; - }; - restartTriggers = [ settingsFileUnsubstituted ]; + services.mautrix-signal = { + enable = true; + registerToSynapse = true; + settings = { + homeserver = { + address = synapseCfg.public_baseurl; + domain = synapseCfg.server_name; + }; + appservice = rec { + hostname = "127.0.0.1"; + port = cfg.mautrix-signal.port; + address = "http://${hostname}:${toString port}"; + provisioning.shared_secret = "disable"; + database = "sqlite:///${dataDir}/mautrix-signal.db"; + }; + bridge = { + encryption = { + allow = true; + default = true; + }; + verification_levels = { + receive = "cross-signed-tofu"; + send = "cross-signed-tofu"; + share = "cross-signed-tofu"; + }; + }; + logging = { + version = 1; + min_level = "info"; + writers = lib.singleton { + type = "stdout"; + format = "pretty-colored"; + time_format = " "; + }; + }; + } // cfg.mautrix-signal.settings; }; - users.users.mautrix-signal = { - isSystemUser = true; - group = "mautrix-signal"; - home = dataDir; - description = "mautrix-signal bridge user"; - }; - - users.groups.mautrix-signal = { }; - services.signald = { enable = true; - group = "mautrix-signal"; }; - - jalr.matrix.synapse.app_service_config."mautrix-signal" = "/var/lib/mautrix-signal/signal-registration.yaml"; } diff --git a/modules/matrix/mautrix-whatsapp.nix b/modules/matrix/mautrix-whatsapp.nix index c4f851d..aa49668 100644 --- a/modules/matrix/mautrix-whatsapp.nix +++ b/modules/matrix/mautrix-whatsapp.nix @@ -7,6 +7,7 @@ in lib.mkIf cfg.mautrix-whatsapp.enable { services.mautrix-whatsapp = { enable = true; + registerToSynapse = true; settings = { homeserver = { address = synapseCfg.public_baseurl; @@ -50,6 +51,4 @@ lib.mkIf cfg.mautrix-whatsapp.enable { }; } // cfg.mautrix-whatsapp.settings; }; - - jalr.matrix.synapse.app_service_config."mautrix-whatsapp" = "/var/lib/mautrix-whatsapp/whatsapp-registration.yaml"; } diff --git a/modules/nix.nix b/modules/nix.nix index 94aca4f..0ae40e8 100644 --- a/modules/nix.nix +++ b/modules/nix.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, inputs, system, ... }: +{ lib, pkgs, inputs, system, ... }: { nix = { @@ -14,7 +14,6 @@ experimental-features = [ "nix-command" "flakes" - "repl-flake" ]; trusted-users = [ "@wheel" ]; auto-optimise-store = true; @@ -35,8 +34,12 @@ systemd.services.nix-daemon.serviceConfig.OOMScoreAdjust = 250; - nixpkgs.overlays = with inputs; [ - self.overlays.default + nixpkgs.config.permittedInsecurePackages = [ + "olm-3.2.16" + ]; + + nixpkgs.overlays = [ + inputs.self.overlays.default (final: prev: { master = import inputs.nixpkgsMaster { inherit system; diff --git a/modules/pipewire.nix b/modules/pipewire.nix index cb4cf02..d5fa8b4 100644 --- a/modules/pipewire.nix +++ b/modules/pipewire.nix @@ -1,7 +1,6 @@ { config, lib, pkgs, ... }: lib.mkIf config.jalr.gui.enable { - sound.enable = true; hardware.pulseaudio.enable = false; # FIXME diff --git a/modules/sway.nix b/modules/sway.nix index 181f95d..4b47299 100644 --- a/modules/sway.nix +++ b/modules/sway.nix @@ -7,7 +7,7 @@ lib.mkIf (config.jalr.gui.enable && config.jalr.gui.desktop == "sway") { wrapperFeatures.gtk = true; }; - hardware.opengl.enable = true; + hardware.graphics.enable = true; security.polkit.enable = true; diff --git a/pkgs/fpvout/default.nix b/pkgs/fpvout/default.nix index 97ecad7..f4090d7 100644 --- a/pkgs/fpvout/default.nix +++ b/pkgs/fpvout/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = with pkgs; [ cmake pkg-config - libusb + libusb1 ]; installPhase = '' diff --git a/users/jalr/modules/gui.nix b/users/jalr/modules/gui.nix index dac9372..6e34d61 100644 --- a/users/jalr/modules/gui.nix +++ b/users/jalr/modules/gui.nix @@ -15,7 +15,7 @@ lib.mkIf nixosConfig.jalr.gui.enable { streamlink supersonic-wayland vlc - xdg_utils + xdg-utils ]; services.kanshi = { From 1025fbc46f4a51dc0a3222e7b165da68cedc0fc4 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 15 Nov 2024 00:23:33 +0100 Subject: [PATCH 506/766] Remove qtox --- users/jalr/modules/communication/default.nix | 1 - users/jalr/modules/communication/qtox.nix | 7 ------- 2 files changed, 8 deletions(-) delete mode 100644 users/jalr/modules/communication/qtox.nix diff --git a/users/jalr/modules/communication/default.nix b/users/jalr/modules/communication/default.nix index e9d1a28..d94f3b7 100644 --- a/users/jalr/modules/communication/default.nix +++ b/users/jalr/modules/communication/default.nix @@ -4,7 +4,6 @@ imports = [ ./element-desktop.nix ./mumble.nix - ./qtox.nix ./telegram-desktop.nix ]; } diff --git a/users/jalr/modules/communication/qtox.nix b/users/jalr/modules/communication/qtox.nix deleted file mode 100644 index 85aa45b..0000000 --- a/users/jalr/modules/communication/qtox.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ nixosConfig, lib, pkgs, ... }: - -lib.mkIf nixosConfig.jalr.gui.enable { - home.packages = with pkgs; [ - qtox - ]; -} From 98881dcfbcdd7112285db7bb3355d487f9d966dc Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 15 Nov 2024 00:32:35 +0100 Subject: [PATCH 507/766] Remove matrix-sliding-sync since matrix-synapse incorporated its functionality. --- hosts/iron/ports.nix | 1 - hosts/iron/secrets.yaml | 7 +++---- hosts/iron/services/matrix.nix | 7 ------- modules/matrix/default.nix | 11 ----------- modules/matrix/sliding-sync.nix | 18 ------------------ 5 files changed, 3 insertions(+), 41 deletions(-) delete mode 100644 modules/matrix/sliding-sync.nix diff --git a/hosts/iron/ports.nix b/hosts/iron/ports.nix index b5d9466..7fe675c 100644 --- a/hosts/iron/ports.nix +++ b/hosts/iron/ports.nix @@ -7,7 +7,6 @@ custom-utils.validatePortAttrset { home-assistant.tcp = 8123; jellyfin.tcp = 8096; matrix-synapse.tcp = 8008; - matrix-sliding-sync.tcp = 8009; mautrix-signal.tcp = 29319; mautrix-whatsapp.tcp = 29318; navidrome.tcp = 4533; diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index cfc9d5a..ddada4a 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -8,7 +8,6 @@ rspamd-worker-controller: ENC[AES256_GCM,data:7tS8bEr9i5F+YZoj3uPQa6Xd2SCsuC+jE5 dkim-keys: jalr.de.default: ENC[AES256_GCM,data:mnApsYKXYGtUAHddccmNmU9yZQtekDkTiTXbJ0UJxC0rFxzQCtGsinQslIROJdNUxsxciR1ilNzxawzjJD7AaWJbcAq2TYObGJJOQZBif7t/XEN/rIxEmnAFmdeAyrSONmFb9DiEn59m6DpsU+/9Y+hnc/uwwbzueO34WHJnTqmmsxFVNQZfGR+cbSckHS3wZrfjZSKKzCRt+9DU/xxJ4voyowXLO77w00LHVkyU5liwONi0v2XJ+QeP/jIMmJeKjujZcH+qvUm/kukijqyWKGrZoAYPC2cBlL/UrNECuVdSLMXvr4KBDDTCRZCSMRgUPJ0TAfpQPTPitKJ/0igK7qQl9n/6hckY7VyP8KDS7J7G2Z2XVxfZrAR4X/7ya9B2kneVr2CNx3w954EdTcV1/lD7rcKRjKynyl3ddf8gxJFJ21k1ybo2RLnftGCRVq25qNwhyfjU8x5c7AEs+YTPDrcnmxZ/Ui276eLwpMj61oZzTp8QQhiBVwS/+ruRLC+78pu2gb1gBF/Oo3nuvQD1SOpCRikLVewCYDvfXj/hrjo+oCsjTOj+9tWRcRAEDVlhkXWCMuPXDYrdt3HrIWbQuP8NW1ezd1Ll0r1ujjtPJeSwdd8cVcUSBIoA5gU+eXnYjFaSx9BZ+sIfKqG//W3S+aBYDqAEK/z4N5q66sReb5mtSQYfbZuIZDmox9bwNMG3tJmQX0lJZgEIiuJ5/ef4ra0sj9JsRFldmIn9KUmjW9OlIwzQ42cNNvQSMD/6haNiYsE6TPzVylJ/B2kNu9Qh5FfpCIPtVORv2BAGoNvZlyhjyEiXBEZ4x2hx1l5cBwGOaGhoJ0p+1wqn2zDalIBaEFjbBVdIB6DPC6/lccvpqSwF7HvW2ugyYhW+u92vgic71/BsI4i0OlsJV18gU/zVg0Yj8SK69kEwm4wkJTrkM/I4+kkUIc5OiSAknRfjOFJc0etkh3nO34xpHLOkSv9DrKfXSAGmGZtCLtVL5LGdZeCd/g6EK0JJh6bd9Gu9koSJVq5vjdDJJFf+sgk39TCvHAvk8k1/FgdK5jMJ+pR8heJtP8G96ay3DFVm5hpbjuNKqfBvbf2rkyV6++ywRFnAQGPUiMn9g6Q4F5Ks7CC1D0Ubl7b3dCUk6BDi8rHjxy9QS0/25Yz9cF0bFd6XQDfblnyRLMi9aB36M9Vp38Oh5aB16MyvNUHzcxpaAak0yknE6OuuEMBPQZgFVADCITfy9eUXl2FoXrMWEnBO78GybQ+cV8nhynn5t0U+3koMy2E8ju5kiEofQxXylys3Q76iKRRUbQqFkh/ndWtJVVfGNpi1GrUr1w1YZM0hBY9FqqeBjf7ckj+9BdiwWJ0XauuR70o7odm02mydk1/T3Hfzt3OE5nHIXnVbum9KyPx8wXj9qc6JGFm558pQOcRUgGUi+EzGoGckkoLx4Onl+XeGysW5sXP9dbYgMBug0Tjmdo9xkoBti6znDnN/zh93bbzWITNvxMgVs8zSWEhlM0c7F02UeUXSekbTFue5FOaMdYObMvPeb53jAKBOYLr34GVFvucJhKajIaNzDvfiI6fGCMxcSsWk+P3co7gdbRlWYZELsKDu2scktZsHr/gRwRiDZXAWOLiWZL4jswQ1vXSFXJgdblEV//hr2DwsAtCAsyFcgO/LGq30xi3xNqHTkUZXo6cZYSb6EVaIywMCI5ySEnTLAp/xedySANHuo8yyVqyLxkDPI7CnnSS7JcnQF3K5z+NZ0KnIpc1ewGupOhS0fKj31XxUkoSsHEY/iWJPLNA8+4VsBkADnGdkYXHTvy/yAGV6w1k1qtjiWhDAGcE9/o6NOHctYm3cx8CVsLpve/WFUaCkGgjWJdC8XP92xsUQoE6PENn6ZzFaqGHs7hgQqE1kBcEj8N5WkEqkoMo82giHE33iYoVUdkjOTkV4iDGEqyjg1BoM0GedR2A832LseDkP7u4DjIAQfpIDu7PaeiDh7xWkPRwIMV0oDTakXTdPkPGdgFikzTaxkTzRlpCbQuV769eITqVT04kJDp7+0Rb6dtjeXc0Ennv68wZSiyrlmXbrJntg7g1wrebq28q9NMIZETAPugfK6wNDu/Iw1q1kZn2ELo6xaDlcIxHDcpzK7e2VAYYuP1k3sYnSLU3oeq54j3/yS2z1me5FEqWlPOCrjdnLkE3/GjbeMsYo2YTYJEUEd2ncacSCoXUaUoxpBnjRYcHLRUV+6jy7Amp0/52rAPzSeVlBzc+SdNiKLYA2UQ74WrMU596Gkhw1SD8jSM5QqSBhH9sL+oE4GjhjLhstMUPdkNgiwxXDTZLKcIyjN1cn+RSmvNA2KXMH6MoXrkqSkJ9u2s0QAhla51zR/LZwWbzwGOO0dkh3rwh2x+pcCfuzvlk3lYr/x5XOF2k1n8yvehXY5zIX8nk6djjLbvAzzSr/yalS7R0WYIc6CjzoUl3qz+PlneMfKHcaX00hkOlIub/ZFQf1RE+JzZxi0qQq4M8Nt1XRKGDeS448Z6znDpedStUH29krZcnjMtyLmPX7ETTsjr3HLpCOd7MQ2K1rfhmvh5BtJkn1KSUf94puZbkLH7X+WnWN0hsc+KbSXnYZvqwJ8G0/7ptp/Q+wGljqhjv+HhOeA3NUwANv1xWgbiymVIlxCodXtQwn8mxS+jxSvslGwOnyUkTT76IbFbv/IpW6PNvj/xqwOqey8a/4WCGcqs403Y7TKQ+xCflG6K3tL7U5UbMnMgXTeZvoK+DooS2eIepF2WB5XqTuOZJV2OQ6GHfaBMjXN9iGVNLi6XgkbpmcMLQ4TZq+dVmgleJb14IaTFD3n74OfmbcT9lmRfPRJEpFEMNeL3ghH54P2a91zJFASgE7x+Uv2cGcmKFtMbyc/rrhH1F/Ixlv/R37huFo1T2dPMEZ/1ouuPpbUQ5oz/JlOWw3NOxd0O6oG0x9Xib+9KxSFOusLWcFEgx70jrBQKj8s2Jj+W0gZYv+BJtPMPY0KAkRj1amt4Fd6ZrPOEXJ392EHSAEv5jssO5ba52OHKA+QkYvPPL04rwkxSAQiTl57scnEj2WEIP+Lz0/qsMnwF+3rWuz856doJZcXX+U9iuzBCaYQqA1P3BojAYhEHnXBPeolHOA3BmhT9E2TJsZ6P9SQ+GaqyLm0i4vRXGlArlkLwRBs9EZv/l4DT8q0YHha53O4rhRzGJZKAOO252Dpha1YN7+FubYGAZjaUT5O0R/7xSPrGyBejddtM8asW8+NClAn4Y6xvj1IgUg6VRpEy7ZIpZEQ+UyDWt0A4nsipaz2NyZKZ5Vxza2v1qZDdYODK8nm/zj7fR/JykaNVEVj7ceTSHdaQlajfeEWWTs92msIBcqPUXqlaR005hoVvXm+WCnzIMIXLGiyRKRsAPIDYh2hGCtvfXLSq5TYm3bnGAImL0KW3Yllt1qSqSbOYsvm5QfDmTrrccvtSLGRj0rOU3Z8f4WXjf+1YgxjZ9h8fKL+LKA8x1S6M8fl0JVGBIAU8Xe8c4+r2F1VcygJp7h+0v8o8GudM6in4djAdeMLWBgXid7r0q744joFucP56opwYQp3Lu0oFEo0omS6Rh9yPfOjdGBU2eUdjcCNXXuEJD9yHSyebviSAvDw/KH1AxYSWYnjMWACCfcbOlXf3ej7PuQgq5MdFwF7+QawXm0john4YusUon4/0fqd/IFLd6oHYYesxcFdm1jN6DeS4SAqRgeEPuEWDFERgXjLHBxl5Xdi5n+NOR3Vc7ziJ9j9/CA1DKdwmsFBBDcVKMnr2FibXpN5WsSdlBng0L2zhkL22wRH9xbz8Xk5shN20/EHoxHB5HJvwfOgHIC7ooWKOUUuNTZH43+gVN+wzRzlMfiF4X71Edw+lTnQRp6Lh03M2k9do6JPoX2+UU0h6mOYiAFkhHKzCmK3DY12c4Smx+qLJNbUGhoMgthu/WnXObm0Hr+myCooTYSVNTJx6vVjI3GZtMcat2o8B9k38u/Y5/FxqTYmyXhROwS4v3W5fXwTAaxBqQy6Xj5s4V37omBBh/Z9a43nc2VlT7dKR1wIvNB/gqhiYyYrVMtYMJqGLkeCbu50LUWT4qXyR8uaqbZTVjyJCQRxZd6fd3Zfe9wIeYe3N5qKIXkFD3n1U2Q/EyRfb3TpiA+eYkAtl6JGK0vpeWpN5M2LJ3/V79e3cIG7B7/p6BrRxKxHDnBZcu57KKaN8XM+v2KTz7XdF8bjgeu1V/B9WoBwnpzCM+3s5ffNceuUcb2gJgRAUpZvcSDLYy+9aluGU2Tvsm49fCzr851p3VSEJepgPpnvuq874AX/MbPvqidF8Y21Kss1RUbl5wrlq5IihKdM+xCSq6mjvtSPVHRvw==,iv:2NBiTTW9slOH9BvM+kVbMB/+8EiS/Dc/eaqrtiwn4HY=,tag:0rc2+ZWy9XZYE7RK/oSo3g==,type:str] synapse-turn-shared-secret: ENC[AES256_GCM,data:Q1XRds3Zud1kYkvD6s9WUzP+kNDNsxB5SHd6oCAaLCHhHhYENSAYTZOF+rGjCPNyKFL0e/A=,iv:zScRQrz+pXHNUh/BGOaV+TVnDR3wu1Z/UO1zXarKwtA=,tag:ckpVziE+yb0FjctcT7tAkg==,type:str] -matrix-sliding-sync: ENC[AES256_GCM,data:CmR8Q5NL1m+eixenK4u1n3MfVh49/Q3ZIRmWfSbuFMr3u79rIGrtFf2EjaThCwBHQyXdYw1wyTouxhGZql1Fcp/HYma8u4w5nJOaJa1TXg==,iv:/kFqA/+kpCkhHZKJdhadjH11pZwh4MFiQPjY96t8M5k=,tag:aZkDCcbtonHMTv4TdBv1sQ==,type:str] rmfakecloud: ENC[AES256_GCM,data:ktKBKb6cRv1VF8tRvXIpxIy9hPinVPKK05mgvYzz18PEdcrCLpldm5xf7ffHtY5XzDOAMXDCiz6x4xyv7071frrF0spOEPnIzVhxwG8H2Ck=,iv:qJdHjv0RziAs4G9UGeRwGQ4GE5kaObJWpIYWpRKhr9c=,tag:PXgvU1hZK/gvWGyFJaHekg==,type:str] esphome: ENC[AES256_GCM,data:QyPrVPhqvaCfx7oRmJ14EFpEIpQRwlLwTABK9qTP/wYcoflFsorNAmIoTiX/4KziQl050ByztnjIhrsxFx2dN6dv+RiLVWP+k0G63rfeS5gxe8QSgzsEtWWaUk3DE87i20DUusj1/B6yUsMApMohjaufuVzReL2MtVSVgtDUS6nVqGnRubrdujAxyRWvjQtamWBa1fjz39U876F10KMUYB+iGtObfNJGH18lAQ1arKEUQQSl8u1vNJuZiKqFhzxcu/IF6AhJgcKmCi2nrcEgbrv4ZwOcJ7+VG29qY7C4LCeAU4wOWJmtnCSf9osSwzR5hFco46L3Y8k0XXEOiEAJl+8ZLNKqQJpShh9wioMrj9XNpX/PvGCpBLTHsXTCGktDdbK/RLEGZnnL0s6If7Qs0XTwWZEe0q4IsltfdWJdZQWbvlY58ooUkK55wml/SlpuHgSdY6pOp/bOnBwvIrh/962DWtSXDxNnvps4Qy0eRUtpS2G6+rLIXXkq7KlSUg/A5XRNWbLGX5u7pJuvJ5xlldFW+tb1rqyrKXGIGra3Y6Ib4Z17znmajMSIeQItChj8UsOqlcHaCI5s8kDFjafJfpTTtAm0mj2cBFYmWHC/WR1YAtd2mrffr258CShtO+eeAqhSSTopIL637udKaY1Vto1dVReTmK24ANopQOaxnTtFjBdQaeluP4PAWrAGADBio1iwjsWIQlr0vnMjSBd0JcnW0Q3i+/5zhQfaEzZ6FQXOs05+l7ryLrGgBbyM2FRLTuAWBsv5yv3lz8FiSGVNaLMW5rofZpFvX0oa7P9HyU/RIpUzx307VBsIJlzrW2NgWvc9iLHLHWJDa7xcemGTvZDp/0BujYHeYYfVViPtVcCicLvDLikgtJRlkdPmyRoMSx0o3taoPsYoVZielo5EZpLiaLwuCNnCk2fRxAgPUa4+zGhZc2Z/BrOvK7sxcyIXEYRrZ8Ti2iNQJthNNb1CzSUXpdpSZtFi1jjiC45V0dlg/lSqrkRjyA9DpGbegt3WpO/6X+uc9vSAgR4f/0xNngTKzCfFV+fyUJXffpje9fQhQnecsTDjjc3aLiESqc3mx8MP6gHI9fS8z8PU72t+4tJxe8hjo7VWlInOVKV9zp9Tn+P4Ez1MebPJRlrwHGSVFsPhKct+CgzE+Q0B3vvcWyQfdJHeFCPWsTWmcCUoJf61fQO/3JwZI8YE3HET+NsRoxVHTl099LzWWCbrfT4uN3+O3VQbceLM+KxKCLVGNEHKlF8NHCIk4KCWhKNwhXvuMjf4GgtYbENFn1QbmiQFpYfIl8FA8PZVk7x+dzuROL4NpIKaBfrg34LQnxFpc2YCBnEsmsJVPybR5ZHC8eDL7JdVSg+FhvOxzBkvCeQjG8746/t0HJYPucisFCmP1isGpcn8Eku+BT/2XocHsUwpyo+RQoruWKwkLtnCHeaGSszqWzugSGXU4b4T2HB2yU9ORpt6uP+wbtc49GeMHrUGiO+w6BQm3TzPEZ0XMh4+8iayGhbd8T213C72sHpo5eCbv7C2zE/3dxHr2/+xtfstQFRuMPhq/r/4aqkeGKTwWEBcOwD1knlnbXo5OZsdvX9SeqF+mno/uDxZW00QqaWiQz89SWLGHtC4gjbE2wU2IpiGZMTOtNieOrjjCfdX3ZkrhA==,iv:Qn0nDrXRCOJaTJJBK6/PEGbhS1pbB0dTZYakgha5wJQ=,tag:8GeYWlsxgAGfFL61V5CwXg==,type:str] home-assistant: ENC[AES256_GCM,data:wcFMxDdRCHf/shO9v2WaGgrsa9J2WP62xFs=,iv:9ckeIO62cFZUo8fPyQj445CrJVTooNlwLapM/oTsrkk=,tag:mlfxtXDPsB3T79P9BX9oJQ==,type:str] @@ -27,8 +26,8 @@ sops: SU1USkxFUUY2NVhmUHBhZkdrNDR1Q0kKiXIicInELRjDR3tuyA+lnXeCcd9lYvbV GnBRGPM7BNO/6AA7HhAei48Kt+XE6+jQX66yTXyviKhK7Lpjrlb2YQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-11-08T17:10:15Z" - mac: ENC[AES256_GCM,data:bCkqwd22O4K1Ivix4JWEY+RAiPB+8NP3y2KrDEeGXR3R03t6Xi2S+tXLKh9MBp0/jatUS2COs1tY0+hL2quC7rjpv25hufA+7oHA+jASgglD+5lKnc1OGpvBt4eMCszYorIKOP55glLLMn8WmYAPQm5PDPnfNtwZwEs1zmwffjA=,iv:YR38y2za5FrTr+t7hminVStO9/Z9zFbKoBRtuzrl+rI=,tag:ci5MZ2cjRjc8HYKJy11Jbg==,type:str] + lastmodified: "2024-11-14T23:31:19Z" + mac: ENC[AES256_GCM,data:0M0g9zxaeHDJS82HB+bUpK1txwf8Eojgg39NAl3phEsyGUalCLr8m/4JfAM58EUFfrmD89CJ5diIl8DGAaF4VSWDDOWDZ7q5Mlz2XDzIS9hM5HWOpSL2ZdhcUm+hu1YYwPrluCP27dEW0OMNxXorRPIVmougSYq0M2sw+xJ5hXE=,iv:9w6ojfH3Nnmg1DRvUjs5cZdcYz2f1uXNFw4FtPY8LtY=,tag:/LeqlUl0pOmwvobO/Cg0qw==,type:str] pgp: - created_at: "2024-01-31T01:20:30Z" enc: |- @@ -42,4 +41,4 @@ sops: -----END PGP MESSAGE----- fp: 3044E71E3DEFF49B586CF5809BF4FCCB90854DA9 unencrypted_suffix: _unencrypted - version: 3.8.1 + version: 3.9.1 diff --git a/hosts/iron/services/matrix.nix b/hosts/iron/services/matrix.nix index 93e413d..8cf62b5 100644 --- a/hosts/iron/services/matrix.nix +++ b/hosts/iron/services/matrix.nix @@ -11,19 +11,12 @@ in owner = "matrix-synapse"; sopsFile = ../secrets.yaml; }; - matrix-sliding-sync = { - sopsFile = ../secrets.yaml; - }; }; jalr.matrix = { enable = true; fqdn = "matrix.jalr.de"; domain = "jalr.de"; synapse.port = ports.matrix-synapse.tcp; - sliding-sync = { - port = ports.matrix-sliding-sync.tcp; - secretFile = config.sops.secrets.matrix-sliding-sync.path; - }; turn = { host = "turn.jalr.de"; sharedSecretFile = config.sops.secrets.synapse-turn-shared-secret.path; diff --git a/modules/matrix/default.nix b/modules/matrix/default.nix index 48dae11..d237ca5 100644 --- a/modules/matrix/default.nix +++ b/modules/matrix/default.nix @@ -21,16 +21,6 @@ in }; }; }; - sliding-sync = { - port = mkOption { - description = "TCP port for synapse service."; - type = port; - }; - secretFile = mkOption { - type = path; - description = "Location of the file to set secret environment variables."; - }; - }; fqdn = mkOption { type = str; description = '' @@ -92,7 +82,6 @@ in imports = [ ./mautrix-signal.nix ./mautrix-whatsapp.nix - ./sliding-sync.nix ./synapse.nix ]; } diff --git a/modules/matrix/sliding-sync.nix b/modules/matrix/sliding-sync.nix deleted file mode 100644 index 9ab2cba..0000000 --- a/modules/matrix/sliding-sync.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ config, lib, pkgs, ... }: - -let - cfg = config.jalr.matrix; -in -lib.mkIf cfg.enable { - services.matrix-sliding-sync = { - enable = true; - settings = { - SYNCV3_SERVER = "https://${cfg.fqdn}"; - SYNCV3_BINDADDR = "127.0.0.1:${toString cfg.sliding-sync.port}"; - }; - environmentFile = cfg.sliding-sync.secretFile; - }; - services.nginx.virtualHosts."${cfg.fqdn}".locations."/_matrix/client/unstable/org.matrix.msc3575/sync" = { - proxyPass = "http://127.0.0.1:${toString cfg.sliding-sync.port}"; - }; -} From 42929033eb20be88392edb2e524111557bf07df2 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 15 Nov 2024 01:20:01 +0100 Subject: [PATCH 508/766] Fix TLS certificate handling --- hosts/magnesium/services/coturn.nix | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/hosts/magnesium/services/coturn.nix b/hosts/magnesium/services/coturn.nix index 93479ad..a6d3dd6 100644 --- a/hosts/magnesium/services/coturn.nix +++ b/hosts/magnesium/services/coturn.nix @@ -37,9 +37,6 @@ in no-tcp-relay = true; - cert = "/run/turnserver/fullchain.pem"; - pkey = "/run/turnserver/key.pem"; - no-cli = true; extraConfig = '' @@ -80,9 +77,19 @@ in systemd.services.coturn = { after = [ "acme-finished-${fqdn}.target" ]; serviceConfig = { - ExecStartPre = lib.singleton "!${pkgs.writeShellScript "coturn-setup-tls" '' - cp ${config.security.acme.certs."${fqdn}".directory}/{fullchain,key}.pem /run/turnserver/ - chgrp turnserver /run/turnserver/{fullchain,key}.pem + Environment = [ + "CERT_FILE=%d/fullchain.pem" + "KEY_FILE=%d/key.pem" + ]; + LoadCredential = [ + "fullchain.pem:${config.security.acme.certs."${fqdn}".directory}/fullchain.pem" + "key.pem:${config.security.acme.certs."${fqdn}".directory}/key.pem" + ]; + ExecStartPre = lib.singleton "${pkgs.writeShellScript "coturn-setup-tls" '' + cat >> /run/coturn/turnserver.cfg << EOF + cert="$CERT_FILE"; + pkey="$KEY_FILE"; + EOF ''}"; }; }; From 38edf234c2fb7f7fba6458afba600051767968af Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 18 Nov 2024 17:31:13 +0100 Subject: [PATCH 509/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/486250f404f4a4f4f33f8f669d83ca5f6e6b7dfc?narHash=sha256-cZ0QMpv5p2a6WEE%2Bo9uu0a4ma6RzQDOQTbm7PbixWz8%3D' (2024-11-10) → 'github:nix-community/disko/639d1520df9417ca2761536c3072688569e83c80?narHash=sha256-z76Q/OXLxO/RxMII3fIt/TG665DANiE2lVvnolK2lXk%3D' (2024-11-18) • Updated input 'flake-utils': 'github:numtide/flake-utils/c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a?narHash=sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ%3D' (2024-09-17) → 'github:numtide/flake-utils/11707dc2f618dd54ca8739b309ec4fc024de578b?narHash=sha256-l0KFg5HjrsfsO/JpG%2Br7fRrqm12kzFHyUHqHCVpMMbI%3D' (2024-11-13) • Updated input 'home-manager': 'github:nix-community/home-manager/5056a1cf0ce7c2a08ab50713b6c4af77975f6111?narHash=sha256-icDDuYwJ0avTMZTxe1qyU/Baht5JOqw4pb5mWpR%2BhT0%3D' (2024-11-17) → 'github:nix-community/home-manager/f3a2ff69586f3a54b461526e5702b1a2f81e740a?narHash=sha256-uw7K/RsYioJicV79Nl39yjtfhdfTDU2aRxnBgvFhkZ8%3D' (2024-11-17) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/f6581f1c3b137086e42a08a906bdada63045f991?narHash=sha256-T9V7CTucjRZ4Qc6pUEV/kpgNGzQbHWfGcfK6JJLfUeI%3D' (2024-11-12) → 'github:nixos/nixos-hardware/672ac2ac86f7dff2f6f3406405bddecf960e0db6?narHash=sha256-UhWmEZhwJZmVZ1jfHZFzCg%2BZLO9Tb/v3Y6LC0UNyeTo%3D' (2024-11-16) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/7937932921ea34c51c1b586e2505574f6f0be5a7?narHash=sha256-0KhJ6SOyWjx408tsgcoVQFx9nEn55DwrhFbCE49Oyac%3D' (2024-11-17) → 'github:nixos/nixpkgs/783008b28c589eb73873b764525c36cc6f61c44b?narHash=sha256-gVlLTGJNnF6GVV0PRCKoDZ8MrUdwz0QMtdX4d6Yyk5M%3D' (2024-11-18) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/3f7e0ddd7bed4b519c01301b5be762f6e7576d38?narHash=sha256-mRON3li1hSIkDk5u/DAr5Iv3QUMUiPHDIMaqVSOVTnc%3D' (2024-11-13) → 'github:NixOS/nixpkgs/45533e4b16bcdafbd28eec81cc959028e8e9982c?narHash=sha256-CJ9wMq1B%2BbtL0mhPfnh3omClJddnN2qbLox5rD/jgX4%3D' (2024-11-18) • Updated input 'nur': 'github:nix-community/NUR/4b0e599bebf4bdf6725cdf8036a335096bf13097?narHash=sha256-gFzX%2Be1ATJmhjOMvbBmqf1v4WgMz770dZhtGN4dZtng%3D' (2024-11-13) → 'github:nix-community/NUR/81041938c7f8e36c9e31947e7ba3baf098ffdaf8?narHash=sha256-eqT3tCnjxK7oXW3OQPZpwDCsRxYTHLtN81t47n/fSF4%3D' (2024-11-18) • Updated input 'sops-nix': 'github:Mic92/sops-nix/4c91d52db103e757fc25b58998b0576ae702d659?narHash=sha256-HC0anOL%2BKmUQ2hdRl0AtunbAckasxrkn4VLmxbW/WaA%3D' (2024-11-11) → 'github:Mic92/sops-nix/472741cf3fee089241ac9ea705bb2b9e0bfa2978?narHash=sha256-NVUTFxKrJp/hjehlF1IvkPnlRYg/O9HFVutbxOM8zNM%3D' (2024-11-17) • Removed input 'sops-nix/nixpkgs-stable' --- flake.lock | 67 ++++++++++++++++++++---------------------------------- 1 file changed, 25 insertions(+), 42 deletions(-) diff --git a/flake.lock b/flake.lock index 16c0ce6..8d60baa 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1731274291, - "narHash": "sha256-cZ0QMpv5p2a6WEE+o9uu0a4ma6RzQDOQTbm7PbixWz8=", + "lastModified": 1731895210, + "narHash": "sha256-z76Q/OXLxO/RxMII3fIt/TG665DANiE2lVvnolK2lXk=", "owner": "nix-community", "repo": "disko", - "rev": "486250f404f4a4f4f33f8f669d83ca5f6e6b7dfc", + "rev": "639d1520df9417ca2761536c3072688569e83c80", "type": "github" }, "original": { @@ -99,11 +99,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -203,11 +203,11 @@ ] }, "locked": { - "lastModified": 1731832479, - "narHash": "sha256-icDDuYwJ0avTMZTxe1qyU/Baht5JOqw4pb5mWpR+hT0=", + "lastModified": 1731887066, + "narHash": "sha256-uw7K/RsYioJicV79Nl39yjtfhdfTDU2aRxnBgvFhkZ8=", "owner": "nix-community", "repo": "home-manager", - "rev": "5056a1cf0ce7c2a08ab50713b6c4af77975f6111", + "rev": "f3a2ff69586f3a54b461526e5702b1a2f81e740a", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1731403644, - "narHash": "sha256-T9V7CTucjRZ4Qc6pUEV/kpgNGzQbHWfGcfK6JJLfUeI=", + "lastModified": 1731797098, + "narHash": "sha256-UhWmEZhwJZmVZ1jfHZFzCg+ZLO9Tb/v3Y6LC0UNyeTo=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "f6581f1c3b137086e42a08a906bdada63045f991", + "rev": "672ac2ac86f7dff2f6f3406405bddecf960e0db6", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1731858824, - "narHash": "sha256-0KhJ6SOyWjx408tsgcoVQFx9nEn55DwrhFbCE49Oyac=", + "lastModified": 1731945907, + "narHash": "sha256-gVlLTGJNnF6GVV0PRCKoDZ8MrUdwz0QMtdX4d6Yyk5M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7937932921ea34c51c1b586e2505574f6f0be5a7", + "rev": "783008b28c589eb73873b764525c36cc6f61c44b", "type": "github" }, "original": { @@ -376,29 +376,13 @@ "type": "github" } }, - "nixpkgs-stable_3": { - "locked": { - "lastModified": 1730602179, - "narHash": "sha256-efgLzQAWSzJuCLiCaQUCDu4NudNlHdg2NzGLX5GYaEY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "3c2f1c4ca372622cb2f9de8016c9a0b1cbd0f37c", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "release-24.05", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgsMaster": { "locked": { - "lastModified": 1731504820, - "narHash": "sha256-mRON3li1hSIkDk5u/DAr5Iv3QUMUiPHDIMaqVSOVTnc=", + "lastModified": 1731945831, + "narHash": "sha256-CJ9wMq1B+btL0mhPfnh3omClJddnN2qbLox5rD/jgX4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3f7e0ddd7bed4b519c01301b5be762f6e7576d38", + "rev": "45533e4b16bcdafbd28eec81cc959028e8e9982c", "type": "github" }, "original": { @@ -410,11 +394,11 @@ }, "nur": { "locked": { - "lastModified": 1731494868, - "narHash": "sha256-gFzX+e1ATJmhjOMvbBmqf1v4WgMz770dZhtGN4dZtng=", + "lastModified": 1731944891, + "narHash": "sha256-eqT3tCnjxK7oXW3OQPZpwDCsRxYTHLtN81t47n/fSF4=", "owner": "nix-community", "repo": "NUR", - "rev": "4b0e599bebf4bdf6725cdf8036a335096bf13097", + "rev": "81041938c7f8e36c9e31947e7ba3baf098ffdaf8", "type": "github" }, "original": { @@ -522,15 +506,14 @@ "inputs": { "nixpkgs": [ "nixpkgs" - ], - "nixpkgs-stable": "nixpkgs-stable_3" + ] }, "locked": { - "lastModified": 1731364708, - "narHash": "sha256-HC0anOL+KmUQ2hdRl0AtunbAckasxrkn4VLmxbW/WaA=", + "lastModified": 1731862312, + "narHash": "sha256-NVUTFxKrJp/hjehlF1IvkPnlRYg/O9HFVutbxOM8zNM=", "owner": "Mic92", "repo": "sops-nix", - "rev": "4c91d52db103e757fc25b58998b0576ae702d659", + "rev": "472741cf3fee089241ac9ea705bb2b9e0bfa2978", "type": "github" }, "original": { From 920294917b19aed37967c2fd292b48986044e113 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 19 Nov 2024 19:34:57 +0100 Subject: [PATCH 510/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/639d1520df9417ca2761536c3072688569e83c80?narHash=sha256-z76Q/OXLxO/RxMII3fIt/TG665DANiE2lVvnolK2lXk%3D' (2024-11-18) → 'github:nix-community/disko/da52cf40206d7d1a419d07640eb47b2fb9ac2c21?narHash=sha256-SBosboLvLqDv%2B7mNgRTIYDQbHE61rDDkXTJWiRX3PPo%3D' (2024-11-19) • Updated input 'home-manager': 'github:nix-community/home-manager/f3a2ff69586f3a54b461526e5702b1a2f81e740a?narHash=sha256-uw7K/RsYioJicV79Nl39yjtfhdfTDU2aRxnBgvFhkZ8%3D' (2024-11-17) → 'github:nix-community/home-manager/a46e702093a5c46e192243edbd977d5749e7f294?narHash=sha256-qjEI64RKvDxRyEarY0jTzrZMa8ebezh2DEZmJJrpVdo%3D' (2024-11-19) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/cd1af27aa85026ac759d5d3fccf650abe7e1bbf0?narHash=sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf%2BInnSMT4jlMU%3D' (2024-11-11) → 'github:cachix/git-hooks.nix/3308484d1a443fc5bc92012435d79e80458fe43c?narHash=sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE%3D' (2024-11-19) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/783008b28c589eb73873b764525c36cc6f61c44b?narHash=sha256-gVlLTGJNnF6GVV0PRCKoDZ8MrUdwz0QMtdX4d6Yyk5M%3D' (2024-11-18) → 'github:nixos/nixpkgs/23f0925292d938d0682ddddf5696e2edb1d593f7?narHash=sha256-Fhxe9Yao1b4I8uq4fZ3o9Adv%2BhtAcFL4DO18bCvOkHU%3D' (2024-11-19) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/45533e4b16bcdafbd28eec81cc959028e8e9982c?narHash=sha256-CJ9wMq1B%2BbtL0mhPfnh3omClJddnN2qbLox5rD/jgX4%3D' (2024-11-18) → 'github:NixOS/nixpkgs/a254cdb551a3c095229a314a075bfcd9593b365e?narHash=sha256-3wkG87iMa13x0yGSumkC%2BGx4SNK7yWDTmolexXtW8MY%3D' (2024-11-19) • Updated input 'nur': 'github:nix-community/NUR/81041938c7f8e36c9e31947e7ba3baf098ffdaf8?narHash=sha256-eqT3tCnjxK7oXW3OQPZpwDCsRxYTHLtN81t47n/fSF4%3D' (2024-11-18) → 'github:nix-community/NUR/a2712ed4e2e98c0e86ebc074acb2af8248941cc8?narHash=sha256-83fCcCsW/f1DIBQoQfSvnp95L4WADvKTC%2BxMQFQ0RRI%3D' (2024-11-19) • Updated input 'sops-nix': 'github:Mic92/sops-nix/472741cf3fee089241ac9ea705bb2b9e0bfa2978?narHash=sha256-NVUTFxKrJp/hjehlF1IvkPnlRYg/O9HFVutbxOM8zNM%3D' (2024-11-17) → 'github:Mic92/sops-nix/e39947d0ee8e341fa7108bd02a33cdfa24a1360e?narHash=sha256-vvXx1m2Rsw7MkbKJdpcICzz4YPgZPApGKQGhNZfkhOI%3D' (2024-11-18) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 8d60baa..73b0642 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1731895210, - "narHash": "sha256-z76Q/OXLxO/RxMII3fIt/TG665DANiE2lVvnolK2lXk=", + "lastModified": 1732030699, + "narHash": "sha256-SBosboLvLqDv+7mNgRTIYDQbHE61rDDkXTJWiRX3PPo=", "owner": "nix-community", "repo": "disko", - "rev": "639d1520df9417ca2761536c3072688569e83c80", + "rev": "da52cf40206d7d1a419d07640eb47b2fb9ac2c21", "type": "github" }, "original": { @@ -203,11 +203,11 @@ ] }, "locked": { - "lastModified": 1731887066, - "narHash": "sha256-uw7K/RsYioJicV79Nl39yjtfhdfTDU2aRxnBgvFhkZ8=", + "lastModified": 1732025103, + "narHash": "sha256-qjEI64RKvDxRyEarY0jTzrZMa8ebezh2DEZmJJrpVdo=", "owner": "nix-community", "repo": "home-manager", - "rev": "f3a2ff69586f3a54b461526e5702b1a2f81e740a", + "rev": "a46e702093a5c46e192243edbd977d5749e7f294", "type": "github" }, "original": { @@ -298,11 +298,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1731363552, - "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=", + "lastModified": 1732021966, + "narHash": "sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0", + "rev": "3308484d1a443fc5bc92012435d79e80458fe43c", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1731945907, - "narHash": "sha256-gVlLTGJNnF6GVV0PRCKoDZ8MrUdwz0QMtdX4d6Yyk5M=", + "lastModified": 1732039841, + "narHash": "sha256-Fhxe9Yao1b4I8uq4fZ3o9Adv+htAcFL4DO18bCvOkHU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "783008b28c589eb73873b764525c36cc6f61c44b", + "rev": "23f0925292d938d0682ddddf5696e2edb1d593f7", "type": "github" }, "original": { @@ -378,11 +378,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1731945831, - "narHash": "sha256-CJ9wMq1B+btL0mhPfnh3omClJddnN2qbLox5rD/jgX4=", + "lastModified": 1732041242, + "narHash": "sha256-3wkG87iMa13x0yGSumkC+Gx4SNK7yWDTmolexXtW8MY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "45533e4b16bcdafbd28eec81cc959028e8e9982c", + "rev": "a254cdb551a3c095229a314a075bfcd9593b365e", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nur": { "locked": { - "lastModified": 1731944891, - "narHash": "sha256-eqT3tCnjxK7oXW3OQPZpwDCsRxYTHLtN81t47n/fSF4=", + "lastModified": 1732034903, + "narHash": "sha256-83fCcCsW/f1DIBQoQfSvnp95L4WADvKTC+xMQFQ0RRI=", "owner": "nix-community", "repo": "NUR", - "rev": "81041938c7f8e36c9e31947e7ba3baf098ffdaf8", + "rev": "a2712ed4e2e98c0e86ebc074acb2af8248941cc8", "type": "github" }, "original": { @@ -509,11 +509,11 @@ ] }, "locked": { - "lastModified": 1731862312, - "narHash": "sha256-NVUTFxKrJp/hjehlF1IvkPnlRYg/O9HFVutbxOM8zNM=", + "lastModified": 1731954233, + "narHash": "sha256-vvXx1m2Rsw7MkbKJdpcICzz4YPgZPApGKQGhNZfkhOI=", "owner": "Mic92", "repo": "sops-nix", - "rev": "472741cf3fee089241ac9ea705bb2b9e0bfa2978", + "rev": "e39947d0ee8e341fa7108bd02a33cdfa24a1360e", "type": "github" }, "original": { From 71e302547af1214b70e34ff1fb0e46a265d5a310 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 19 Nov 2024 22:09:41 +0100 Subject: [PATCH 511/766] Migrate to runner authentication token --- hosts/magnesium/services/gitlab-runner.nix | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/hosts/magnesium/services/gitlab-runner.nix b/hosts/magnesium/services/gitlab-runner.nix index 9f920eb..bc28c9f 100644 --- a/hosts/magnesium/services/gitlab-runner.nix +++ b/hosts/magnesium/services/gitlab-runner.nix @@ -17,13 +17,9 @@ description = "FabLab NEA Hetzner Cloud - labsync image builder"; limit = 5; executor = "docker+machine"; - registrationConfigFile = config.sops.secrets.gitlab-runner_fablab-nea-hcloud-labsync.path; + authenticationTokenConfigFile = config.sops.secrets.gitlab-runner_fablab-nea-hcloud-labsync.path; dockerImage = "quay.io/official-images/alpine:latest"; dockerPrivileged = true; - tagList = [ - "labsync-image" - ]; - maximumTimeout = 6 * 60 * 60; registrationFlags = [ "--docker-tlsverify" "--machine-idle-nodes 0" @@ -35,7 +31,7 @@ "--machine-machine-name gitlabrunner-%s" ] ++ (map (o: "--machine-machine-options=" + o) [ "hetzner-image=debian-12" - "hetzner-server-type=cx11" + "hetzner-server-type=cx22" "hetzner-server-location=nbg1" ]); }; From 1d714b04e6bf26d3c2ab4c9633ff169baebda3f3 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 19 Nov 2024 22:27:24 +0100 Subject: [PATCH 512/766] Fix home-assistant-custom-components overlay --- pkgs/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/default.nix b/pkgs/default.nix index 54cca56..57b9529 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -25,7 +25,7 @@ in contact = callPackage ./contact-page { }; }; wofi-bluetooth = callPackage ./wofi-bluetooth/wofi-bluetooth.nix { }; - home-assistant-custom-components = prev.recurseIntoAttrs { + home-assistant-custom-components = prev.home-assistant-custom-components // { circadian_lighting = callPackage ./home-assistant-custom-components/circadian_lighting.nix { }; guntamatic = callPackage ./home-assistant-custom-components/guntamatic.nix { }; }; From 4489ec18a9e51d36e60fcac5e729b618741dcb90 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 19 Nov 2024 22:48:32 +0100 Subject: [PATCH 513/766] Replace circadian_lighting with adaptive_lighting --- hosts/iron/services/home-assistant.nix | 42 ++++++------------- pkgs/default.nix | 1 - .../circadian_lighting.nix | 19 --------- 3 files changed, 12 insertions(+), 50 deletions(-) delete mode 100644 pkgs/home-assistant-custom-components/circadian_lighting.nix diff --git a/hosts/iron/services/home-assistant.nix b/hosts/iron/services/home-assistant.nix index c7f304a..76cbac5 100644 --- a/hosts/iron/services/home-assistant.nix +++ b/hosts/iron/services/home-assistant.nix @@ -1,14 +1,6 @@ args@{ lib, pkgs, config, custom-utils, ... }: let ports = import ../ports.nix args; - circadian_lighting_lights = [ - "light.yeelight_meteorite_ceiling_light" - "light.eingang_deckenleuchte_deckenleuchte" - "light.led_panel_schreibtisch_panel" - "light.kueche_leiste_led_light" - "light.badspiegel_background_light" - "light.badspiegel_front_light" - ]; in { sops.secrets.home-assistant = { @@ -26,12 +18,6 @@ in path = "default_view"; title = "Home"; cards = [ - { - type = "entities"; - entities = [ - "switch.circadian_lighting_circadian_lighting" - ]; - } { title = "Eingang"; type = "entities"; @@ -72,8 +58,8 @@ in "openweathermap" "xiaomi_ble" ]; - customComponents = [ - pkgs.home-assistant-custom-components.circadian_lighting + customComponents = with pkgs.home-assistant-custom-components; [ + adaptive_lighting ]; lovelaceConfigWritable = false; configWritable = false; @@ -92,20 +78,16 @@ in latitude = config.location.latitude; }; default_config = { }; - circadian_lighting = { }; - switch = [ - { - platform = "circadian_lighting"; - lights_ct = circadian_lighting_lights; - disable_brightness_adjust = true; - name = "Set color temperature by Circadian Lighting"; - } - { - platform = "circadian_lighting"; - lights_brightness = circadian_lighting_lights; - name = "Set brightness by Circadian Lighting"; - } - ]; + adaptive_lighting = { + lights = [ + "light.yeelight_meteorite_ceiling_light" + "light.eingang_deckenleuchte_deckenleuchte" + "light.led_panel_schreibtisch_panel" + "light.kueche_leiste_led_light" + "light.badspiegel_background_light" + "light.badspiegel_front_light" + ]; + }; "automation nix" = [ { alias = "Waschmaschine fertig Benachrichtigung"; diff --git a/pkgs/default.nix b/pkgs/default.nix index 57b9529..dd3e989 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -26,7 +26,6 @@ in }; wofi-bluetooth = callPackage ./wofi-bluetooth/wofi-bluetooth.nix { }; home-assistant-custom-components = prev.home-assistant-custom-components // { - circadian_lighting = callPackage ./home-assistant-custom-components/circadian_lighting.nix { }; guntamatic = callPackage ./home-assistant-custom-components/guntamatic.nix { }; }; vimPlugins = prev.vimPlugins // { diff --git a/pkgs/home-assistant-custom-components/circadian_lighting.nix b/pkgs/home-assistant-custom-components/circadian_lighting.nix deleted file mode 100644 index 54316f7..0000000 --- a/pkgs/home-assistant-custom-components/circadian_lighting.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ lib -, fetchFromGitHub -, buildHomeAssistantComponent -}: - -buildHomeAssistantComponent rec { - owner = "claytonjn"; - domain = "circadian_lighting"; - version = "2.1.4"; - - src = fetchFromGitHub { - owner = "claytonjn"; - repo = "hass-circadian_lighting"; - rev = "refs/tags/${version}"; - hash = "sha256-F67JP5PzMblWpI4CvrHyutPenzVd9KyKeHcHx8rcezA="; - }; - - dontBuild = true; -} From dbb58edd7b1be043d9635a523f16ec3941ec604b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 19 Nov 2024 23:57:15 +0100 Subject: [PATCH 514/766] Add valetudo to home-assistant --- hosts/iron/ports.nix | 1 + hosts/iron/secrets.yaml | 7 +++-- hosts/iron/services/home-assistant.nix | 36 ++++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 2 deletions(-) diff --git a/hosts/iron/ports.nix b/hosts/iron/ports.nix index 7fe675c..10760b1 100644 --- a/hosts/iron/ports.nix +++ b/hosts/iron/ports.nix @@ -9,6 +9,7 @@ custom-utils.validatePortAttrset { matrix-synapse.tcp = 8008; mautrix-signal.tcp = 29319; mautrix-whatsapp.tcp = 29318; + mqtt.tcp = 1883; navidrome.tcp = 4533; nginx-http.tcp = 80; nginx-https.tcp = 443; diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index ddada4a..7a87653 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -11,6 +11,9 @@ synapse-turn-shared-secret: ENC[AES256_GCM,data:Q1XRds3Zud1kYkvD6s9WUzP+kNDNsxB5 rmfakecloud: ENC[AES256_GCM,data:ktKBKb6cRv1VF8tRvXIpxIy9hPinVPKK05mgvYzz18PEdcrCLpldm5xf7ffHtY5XzDOAMXDCiz6x4xyv7071frrF0spOEPnIzVhxwG8H2Ck=,iv:qJdHjv0RziAs4G9UGeRwGQ4GE5kaObJWpIYWpRKhr9c=,tag:PXgvU1hZK/gvWGyFJaHekg==,type:str] esphome: ENC[AES256_GCM,data:QyPrVPhqvaCfx7oRmJ14EFpEIpQRwlLwTABK9qTP/wYcoflFsorNAmIoTiX/4KziQl050ByztnjIhrsxFx2dN6dv+RiLVWP+k0G63rfeS5gxe8QSgzsEtWWaUk3DE87i20DUusj1/B6yUsMApMohjaufuVzReL2MtVSVgtDUS6nVqGnRubrdujAxyRWvjQtamWBa1fjz39U876F10KMUYB+iGtObfNJGH18lAQ1arKEUQQSl8u1vNJuZiKqFhzxcu/IF6AhJgcKmCi2nrcEgbrv4ZwOcJ7+VG29qY7C4LCeAU4wOWJmtnCSf9osSwzR5hFco46L3Y8k0XXEOiEAJl+8ZLNKqQJpShh9wioMrj9XNpX/PvGCpBLTHsXTCGktDdbK/RLEGZnnL0s6If7Qs0XTwWZEe0q4IsltfdWJdZQWbvlY58ooUkK55wml/SlpuHgSdY6pOp/bOnBwvIrh/962DWtSXDxNnvps4Qy0eRUtpS2G6+rLIXXkq7KlSUg/A5XRNWbLGX5u7pJuvJ5xlldFW+tb1rqyrKXGIGra3Y6Ib4Z17znmajMSIeQItChj8UsOqlcHaCI5s8kDFjafJfpTTtAm0mj2cBFYmWHC/WR1YAtd2mrffr258CShtO+eeAqhSSTopIL637udKaY1Vto1dVReTmK24ANopQOaxnTtFjBdQaeluP4PAWrAGADBio1iwjsWIQlr0vnMjSBd0JcnW0Q3i+/5zhQfaEzZ6FQXOs05+l7ryLrGgBbyM2FRLTuAWBsv5yv3lz8FiSGVNaLMW5rofZpFvX0oa7P9HyU/RIpUzx307VBsIJlzrW2NgWvc9iLHLHWJDa7xcemGTvZDp/0BujYHeYYfVViPtVcCicLvDLikgtJRlkdPmyRoMSx0o3taoPsYoVZielo5EZpLiaLwuCNnCk2fRxAgPUa4+zGhZc2Z/BrOvK7sxcyIXEYRrZ8Ti2iNQJthNNb1CzSUXpdpSZtFi1jjiC45V0dlg/lSqrkRjyA9DpGbegt3WpO/6X+uc9vSAgR4f/0xNngTKzCfFV+fyUJXffpje9fQhQnecsTDjjc3aLiESqc3mx8MP6gHI9fS8z8PU72t+4tJxe8hjo7VWlInOVKV9zp9Tn+P4Ez1MebPJRlrwHGSVFsPhKct+CgzE+Q0B3vvcWyQfdJHeFCPWsTWmcCUoJf61fQO/3JwZI8YE3HET+NsRoxVHTl099LzWWCbrfT4uN3+O3VQbceLM+KxKCLVGNEHKlF8NHCIk4KCWhKNwhXvuMjf4GgtYbENFn1QbmiQFpYfIl8FA8PZVk7x+dzuROL4NpIKaBfrg34LQnxFpc2YCBnEsmsJVPybR5ZHC8eDL7JdVSg+FhvOxzBkvCeQjG8746/t0HJYPucisFCmP1isGpcn8Eku+BT/2XocHsUwpyo+RQoruWKwkLtnCHeaGSszqWzugSGXU4b4T2HB2yU9ORpt6uP+wbtc49GeMHrUGiO+w6BQm3TzPEZ0XMh4+8iayGhbd8T213C72sHpo5eCbv7C2zE/3dxHr2/+xtfstQFRuMPhq/r/4aqkeGKTwWEBcOwD1knlnbXo5OZsdvX9SeqF+mno/uDxZW00QqaWiQz89SWLGHtC4gjbE2wU2IpiGZMTOtNieOrjjCfdX3ZkrhA==,iv:Qn0nDrXRCOJaTJJBK6/PEGbhS1pbB0dTZYakgha5wJQ=,tag:8GeYWlsxgAGfFL61V5CwXg==,type:str] home-assistant: ENC[AES256_GCM,data:wcFMxDdRCHf/shO9v2WaGgrsa9J2WP62xFs=,iv:9ckeIO62cFZUo8fPyQj445CrJVTooNlwLapM/oTsrkk=,tag:mlfxtXDPsB3T79P9BX9oJQ==,type:str] +mqtt-users: + home-assistant: ENC[AES256_GCM,data:oIjCw7ZnA5iOBmQdW1jcy3QQnpjT32pY,iv:5HFRkXJBdMXQbjk2ubQs3sEy5qEteiqSe2hrNc8+H40=,tag:7B6yI4oCHanE0JE/gHaKnQ==,type:str] + valetudo: ENC[AES256_GCM,data:+HRz6X+A5dhmx43G99ka0u9VozuzOFWR,iv:SPw5yoiBqN7sBH5EofevacTtu45jmuTPqToKrar0aJ0=,tag:lf+usB/eNNP1yuWW/QyTqQ==,type:str] sops: kms: [] gcp_kms: [] @@ -26,8 +29,8 @@ sops: SU1USkxFUUY2NVhmUHBhZkdrNDR1Q0kKiXIicInELRjDR3tuyA+lnXeCcd9lYvbV GnBRGPM7BNO/6AA7HhAei48Kt+XE6+jQX66yTXyviKhK7Lpjrlb2YQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-11-14T23:31:19Z" - mac: ENC[AES256_GCM,data:0M0g9zxaeHDJS82HB+bUpK1txwf8Eojgg39NAl3phEsyGUalCLr8m/4JfAM58EUFfrmD89CJ5diIl8DGAaF4VSWDDOWDZ7q5Mlz2XDzIS9hM5HWOpSL2ZdhcUm+hu1YYwPrluCP27dEW0OMNxXorRPIVmougSYq0M2sw+xJ5hXE=,iv:9w6ojfH3Nnmg1DRvUjs5cZdcYz2f1uXNFw4FtPY8LtY=,tag:/LeqlUl0pOmwvobO/Cg0qw==,type:str] + lastmodified: "2024-11-19T22:31:29Z" + mac: ENC[AES256_GCM,data:VEeLfkMhm/JiB+R/mWVHzoX7vtQHT+b+G14kNk0ri8PtJ9WtvaDJFs8zX87gaH/XUorOhR6+2uNyafyoKQGBtKlWFjpaFufTHp2V3pSJ2GF1MLKBR9DvAE6Js/Odpp7u7Gm7AVDP3Q4N1wZ6uhL3Abzedd4/OcYlEvtd1Vod0i0=,iv:dnwOokPPpaNhkmP1S2pZiaAdt6F7unc3ZA0D0zrdhz0=,tag:VTMzfGMpmqO4stnjFVaDUQ==,type:str] pgp: - created_at: "2024-01-31T01:20:30Z" enc: |- diff --git a/hosts/iron/services/home-assistant.nix b/hosts/iron/services/home-assistant.nix index 76cbac5..bc1627c 100644 --- a/hosts/iron/services/home-assistant.nix +++ b/hosts/iron/services/home-assistant.nix @@ -1,6 +1,7 @@ args@{ lib, pkgs, config, custom-utils, ... }: let ports = import ../ports.nix args; + interfaces = import ../interfaces.nix; in { sops.secrets.home-assistant = { @@ -9,6 +10,12 @@ in group = "hass"; mode = "0640"; }; + sops.secrets."mqtt-users/home-assistant" = { + sopsFile = ../secrets.yaml; + }; + sops.secrets."mqtt-users/valetudo" = { + sopsFile = ../secrets.yaml; + }; services.home-assistant = { enable = true; lovelaceConfig = { @@ -61,6 +68,9 @@ in customComponents = with pkgs.home-assistant-custom-components; [ adaptive_lighting ]; + customLovelaceModules = with pkgs.home-assistant-custom-lovelace-modules; [ + valetudo-map-card + ]; lovelaceConfigWritable = false; configWritable = false; config = { @@ -150,9 +160,35 @@ in url = "https://cal.jalr.de/radicale"; } ]; + mqtt = { }; }; }; + services.mosquitto = { + enable = true; + persistence = true; + listeners = [ + { + port = ports.mqtt.tcp; + users = { + valetudo = { + passwordFile = config.sops.secrets."mqtt-users/valetudo".path; + acl = [ + "readwrite homeassistant/+/donald/#" + "readwrite valetudo/donald/#" + ]; + }; + home-assistant = { + passwordFile = config.sops.secrets."mqtt-users/home-assistant".path; + acl = [ "readwrite #" ]; + }; + }; + } + ]; + }; + networking.firewall.interfaces."${interfaces.lan}".allowedTCPPorts = [ ports.mqtt.tcp ]; + networking.firewall.interfaces.iot.allowedTCPPorts = [ ports.mqtt.tcp ]; + systemd.services.home-assistant.serviceConfig.ExecStartPre = [ ( pkgs.writeShellScript "home-assistant-secrets" '' From dc658529b3ce23f235dbdf69fc5429d1c32b7ef0 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 20 Nov 2024 00:13:30 +0100 Subject: [PATCH 515/766] Remove mosquitto This service is not used anymore. --- hosts/magnesium/ports.nix | 1 - hosts/magnesium/services/default.nix | 1 - hosts/magnesium/services/mosquitto.nix | 20 -------------------- 3 files changed, 22 deletions(-) delete mode 100644 hosts/magnesium/services/mosquitto.nix diff --git a/hosts/magnesium/ports.nix b/hosts/magnesium/ports.nix index a346a5f..a2cc556 100644 --- a/hosts/magnesium/ports.nix +++ b/hosts/magnesium/ports.nix @@ -7,7 +7,6 @@ custom-utils.validatePortAttrset { coturn-tls = { tcp = [ 5349 5350 ]; udp = [ 5349 5350 ]; }; forgejo-ssh.tcp = 2022; hedgedoc.tcp = 3000; - mosquitto.tcp = 1883; nginx-http.tcp = 80; nginx-https.tcp = 443; ntfy.tcp = 12474; diff --git a/hosts/magnesium/services/default.nix b/hosts/magnesium/services/default.nix index aba802f..33736cb 100644 --- a/hosts/magnesium/services/default.nix +++ b/hosts/magnesium/services/default.nix @@ -4,7 +4,6 @@ ./forgejo.nix ./gitlab-runner.nix ./hedgedoc.nix - ./mosquitto.nix ./ntfy.nix ./public-ip-tunnel.nix ./webserver.nix diff --git a/hosts/magnesium/services/mosquitto.nix b/hosts/magnesium/services/mosquitto.nix deleted file mode 100644 index e81027e..0000000 --- a/hosts/magnesium/services/mosquitto.nix +++ /dev/null @@ -1,20 +0,0 @@ -args@{ config, lib, pkgs, custom-utils, ... }: - -let - ports = import ../ports.nix args; -in -{ - services.mosquitto = { - enable = true; - persistence = true; - listeners = [ - { - port = ports.mosquitto.tcp; - settings = { - allow_anonymous = true; - }; - } - ]; - }; - networking.firewall.allowedTCPPorts = [ ports.mosquitto.tcp ]; -} From d8224b81b139d3a4ac0a11d75107a156004f333d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 21 Nov 2024 03:11:19 +0100 Subject: [PATCH 516/766] Add ota platform --- hosts/aluminium/services/esphome/devices/wasserbett.yaml | 3 ++- hosts/iron/services/esphome/devices/badspiegel.yaml | 3 ++- hosts/iron/services/esphome/devices/eingang-deckenleuchte.yaml | 3 ++- hosts/iron/services/esphome/devices/fussbodenheizung.yaml | 3 ++- hosts/iron/services/esphome/devices/kueche-leiste.yaml | 3 ++- .../iron/services/esphome/devices/led-panel-schreibtisch.yaml | 3 ++- hosts/iron/services/esphome/devices/pflanzenleuchte.yaml | 3 ++- hosts/iron/services/esphome/devices/pinspot.yaml | 3 ++- hosts/iron/services/esphome/devices/tuerschloss.yaml | 3 ++- hosts/iron/services/esphome/devices/tuersprechanlage.yaml | 3 ++- hosts/iron/services/esphome/devices/waschmaschine.yaml | 3 ++- hosts/iron/services/esphome/devices/yeelight-meteorite.yaml | 3 ++- 12 files changed, 24 insertions(+), 12 deletions(-) diff --git a/hosts/aluminium/services/esphome/devices/wasserbett.yaml b/hosts/aluminium/services/esphome/devices/wasserbett.yaml index d40b52e..8d0e6ab 100644 --- a/hosts/aluminium/services/esphome/devices/wasserbett.yaml +++ b/hosts/aluminium/services/esphome/devices/wasserbett.yaml @@ -14,7 +14,8 @@ api: key: !secret apikey_waterbed ota: - password: !secret otapass_waterbed + - platform: esphome + password: !secret otapass_waterbed wifi: ssid: !secret wifi_ssid_kbh diff --git a/hosts/iron/services/esphome/devices/badspiegel.yaml b/hosts/iron/services/esphome/devices/badspiegel.yaml index 71a2df6..74e451a 100644 --- a/hosts/iron/services/esphome/devices/badspiegel.yaml +++ b/hosts/iron/services/esphome/devices/badspiegel.yaml @@ -28,7 +28,8 @@ api: key: !secret apikey_badspiegel ota: - password: !secret otapass_badspiegel + - platform: esphome + password: !secret otapass_badspiegel wifi: ssid: !secret wifi_ssid_bw diff --git a/hosts/iron/services/esphome/devices/eingang-deckenleuchte.yaml b/hosts/iron/services/esphome/devices/eingang-deckenleuchte.yaml index b752069..b39f719 100644 --- a/hosts/iron/services/esphome/devices/eingang-deckenleuchte.yaml +++ b/hosts/iron/services/esphome/devices/eingang-deckenleuchte.yaml @@ -16,7 +16,8 @@ api: key: !secret apikey_eingang_deckenleuchte ota: - password: !secret otapass_eingang_deckenleuchte + - platform: esphome + password: !secret otapass_eingang_deckenleuchte wifi: ssid: !secret wifi_ssid_bw diff --git a/hosts/iron/services/esphome/devices/fussbodenheizung.yaml b/hosts/iron/services/esphome/devices/fussbodenheizung.yaml index 618c606..7b0db38 100644 --- a/hosts/iron/services/esphome/devices/fussbodenheizung.yaml +++ b/hosts/iron/services/esphome/devices/fussbodenheizung.yaml @@ -14,7 +14,8 @@ api: key: !secret apikey_fussbodenheizung ota: - password: !secret otapass_fussbodenheizung + - platform: esphome + password: !secret otapass_fussbodenheizung wifi: ssid: !secret wifi_ssid_bw diff --git a/hosts/iron/services/esphome/devices/kueche-leiste.yaml b/hosts/iron/services/esphome/devices/kueche-leiste.yaml index 44bbd8d..434c137 100644 --- a/hosts/iron/services/esphome/devices/kueche-leiste.yaml +++ b/hosts/iron/services/esphome/devices/kueche-leiste.yaml @@ -23,7 +23,8 @@ api: key: !secret apikey_kueche_leiste ota: - password: !secret otapass_kueche_leiste + - platform: esphome + password: !secret otapass_kueche_leiste wifi: ssid: !secret wifi_ssid_bw diff --git a/hosts/iron/services/esphome/devices/led-panel-schreibtisch.yaml b/hosts/iron/services/esphome/devices/led-panel-schreibtisch.yaml index 737d62e..ceff0b0 100644 --- a/hosts/iron/services/esphome/devices/led-panel-schreibtisch.yaml +++ b/hosts/iron/services/esphome/devices/led-panel-schreibtisch.yaml @@ -16,7 +16,8 @@ api: key: !secret apikey_panel_schreibtisch ota: - password: !secret otapass_panel_schreibtisch + - platform: esphome + password: !secret otapass_panel_schreibtisch wifi: ssid: !secret wifi_ssid_bw diff --git a/hosts/iron/services/esphome/devices/pflanzenleuchte.yaml b/hosts/iron/services/esphome/devices/pflanzenleuchte.yaml index d66b2b2..4c7af8b 100644 --- a/hosts/iron/services/esphome/devices/pflanzenleuchte.yaml +++ b/hosts/iron/services/esphome/devices/pflanzenleuchte.yaml @@ -17,7 +17,8 @@ api: key: !secret apikey_pflanzenleuchte ota: - password: !secret otapass_pflanzenleuchte + - platform: esphome + password: !secret otapass_pflanzenleuchte wifi: ssid: !secret wifi_ssid_bw diff --git a/hosts/iron/services/esphome/devices/pinspot.yaml b/hosts/iron/services/esphome/devices/pinspot.yaml index 98fc572..b7adc49 100644 --- a/hosts/iron/services/esphome/devices/pinspot.yaml +++ b/hosts/iron/services/esphome/devices/pinspot.yaml @@ -17,7 +17,8 @@ api: key: !secret apikey_pinspot ota: - password: !secret otapass_pinspot + - platform: esphome + password: !secret otapass_pinspot wifi: ssid: !secret wifi_ssid_bw diff --git a/hosts/iron/services/esphome/devices/tuerschloss.yaml b/hosts/iron/services/esphome/devices/tuerschloss.yaml index 71863cf..1560071 100644 --- a/hosts/iron/services/esphome/devices/tuerschloss.yaml +++ b/hosts/iron/services/esphome/devices/tuerschloss.yaml @@ -17,7 +17,8 @@ api: key: !secret apikey_tuerschloss ota: - password: !secret otapass_tuerschloss + - platform: esphome + password: !secret otapass_tuerschloss wifi: ssid: !secret wifi_ssid_bw diff --git a/hosts/iron/services/esphome/devices/tuersprechanlage.yaml b/hosts/iron/services/esphome/devices/tuersprechanlage.yaml index cc0ede7..49940a4 100644 --- a/hosts/iron/services/esphome/devices/tuersprechanlage.yaml +++ b/hosts/iron/services/esphome/devices/tuersprechanlage.yaml @@ -18,7 +18,8 @@ api: key: !secret apikey_tuersprechanlage ota: - password: !secret otapass_tuersprechanlage + - platform: esphome + password: !secret otapass_tuersprechanlage wifi: ssid: !secret wifi_ssid_bw diff --git a/hosts/iron/services/esphome/devices/waschmaschine.yaml b/hosts/iron/services/esphome/devices/waschmaschine.yaml index 82e25a3..fad1aea 100644 --- a/hosts/iron/services/esphome/devices/waschmaschine.yaml +++ b/hosts/iron/services/esphome/devices/waschmaschine.yaml @@ -7,7 +7,8 @@ api: key: !secret apikey_waschmaschine ota: - password: !secret otapass_waschmaschine + - platform: esphome + password: !secret otapass_waschmaschine wifi: ssid: !secret wifi_ssid_bw diff --git a/hosts/iron/services/esphome/devices/yeelight-meteorite.yaml b/hosts/iron/services/esphome/devices/yeelight-meteorite.yaml index e6b1a4b..54a5f14 100644 --- a/hosts/iron/services/esphome/devices/yeelight-meteorite.yaml +++ b/hosts/iron/services/esphome/devices/yeelight-meteorite.yaml @@ -24,7 +24,8 @@ api: key: !secret apikey_yeelight_meteorite ota: - password: !secret otapass_yeelight_meteorite + - platform: esphome + password: !secret otapass_yeelight_meteorite wifi: ssid: !secret wifi_ssid_bw From f08c879b4cf998d5b4172ce294dc69ca679cf295 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 21 Nov 2024 14:06:04 +0100 Subject: [PATCH 517/766] Use release-24.11 branch for home-manager --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 73b0642..e2afcb0 100644 --- a/flake.lock +++ b/flake.lock @@ -203,16 +203,16 @@ ] }, "locked": { - "lastModified": 1732025103, - "narHash": "sha256-qjEI64RKvDxRyEarY0jTzrZMa8ebezh2DEZmJJrpVdo=", + "lastModified": 1731880681, + "narHash": "sha256-FmYTkIyPBUxSWgA7DPIVTsCCMvSSbs56yOtHpLNSnKg=", "owner": "nix-community", "repo": "home-manager", - "rev": "a46e702093a5c46e192243edbd977d5749e7f294", + "rev": "aecd341dfead1c3ef7a3c15468ecd71e8343b7c6", "type": "github" }, "original": { "owner": "nix-community", - "ref": "master", + "ref": "release-24.11", "repo": "home-manager", "type": "github" } diff --git a/flake.nix b/flake.nix index 9f867d0..7b8b91e 100644 --- a/flake.nix +++ b/flake.nix @@ -10,7 +10,7 @@ gomod2nix.url = "github:nix-community/gomod2nix"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager/master"; + home-manager.url = "github:nix-community/home-manager/release-24.11"; krops.inputs.flake-utils.follows = "flake-utils"; krops.inputs.nixpkgs.follows = "nixpkgs"; From 3c63b586fad9269d323337a713508eea8616f3c6 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 21 Nov 2024 14:07:08 +0100 Subject: [PATCH 518/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/da52cf40206d7d1a419d07640eb47b2fb9ac2c21?narHash=sha256-SBosboLvLqDv%2B7mNgRTIYDQbHE61rDDkXTJWiRX3PPo%3D' (2024-11-19) → 'github:nix-community/disko/a0c384e0a3b8bcaed30a6bcf3783f8a7c8b35be4?narHash=sha256-iYh6h8yueU8IyOfNclbiBG2%2BfBFcjjUfXm90ZBzk0c0%3D' (2024-11-20) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/23f0925292d938d0682ddddf5696e2edb1d593f7?narHash=sha256-Fhxe9Yao1b4I8uq4fZ3o9Adv%2BhtAcFL4DO18bCvOkHU%3D' (2024-11-19) → 'github:nixos/nixpkgs/30e58f735716fe27491e729912f21e20dcc66a99?narHash=sha256-wT6U8OJYx0V7NfrUcmQmOFzPJnvPDShGvdlvzFR7gmU%3D' (2024-11-21) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/a254cdb551a3c095229a314a075bfcd9593b365e?narHash=sha256-3wkG87iMa13x0yGSumkC%2BGx4SNK7yWDTmolexXtW8MY%3D' (2024-11-19) → 'github:NixOS/nixpkgs/87678783d01353aab40133d49f028c2c6960e4ff?narHash=sha256-rm9ykabuykurbgBPbQDpUJtTMQDRCPfBJESvzvJKAbo%3D' (2024-11-21) • Updated input 'nur': 'github:nix-community/NUR/a2712ed4e2e98c0e86ebc074acb2af8248941cc8?narHash=sha256-83fCcCsW/f1DIBQoQfSvnp95L4WADvKTC%2BxMQFQ0RRI%3D' (2024-11-19) → 'github:nix-community/NUR/5e67f4745975ab2e5111ca7ff6c3ae02e9a555b8?narHash=sha256-l4YncGn8Ee2v8DW3WqtKI4qHeGk7aUc3KoAPvwunC%2Bo%3D' (2024-11-21) • Updated input 'sops-nix': 'github:Mic92/sops-nix/e39947d0ee8e341fa7108bd02a33cdfa24a1360e?narHash=sha256-vvXx1m2Rsw7MkbKJdpcICzz4YPgZPApGKQGhNZfkhOI%3D' (2024-11-18) → 'github:Mic92/sops-nix/53c853fb1a7e4f25f68805ee25c83d5de18dc699?narHash=sha256-N9JGWe/T8BC0Tss2Cv30plvZUYoiRmykP7ZdY2on2b0%3D' (2024-11-21) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index e2afcb0..269e1c3 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1732030699, - "narHash": "sha256-SBosboLvLqDv+7mNgRTIYDQbHE61rDDkXTJWiRX3PPo=", + "lastModified": 1732109232, + "narHash": "sha256-iYh6h8yueU8IyOfNclbiBG2+fBFcjjUfXm90ZBzk0c0=", "owner": "nix-community", "repo": "disko", - "rev": "da52cf40206d7d1a419d07640eb47b2fb9ac2c21", + "rev": "a0c384e0a3b8bcaed30a6bcf3783f8a7c8b35be4", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1732039841, - "narHash": "sha256-Fhxe9Yao1b4I8uq4fZ3o9Adv+htAcFL4DO18bCvOkHU=", + "lastModified": 1732194236, + "narHash": "sha256-wT6U8OJYx0V7NfrUcmQmOFzPJnvPDShGvdlvzFR7gmU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "23f0925292d938d0682ddddf5696e2edb1d593f7", + "rev": "30e58f735716fe27491e729912f21e20dcc66a99", "type": "github" }, "original": { @@ -378,11 +378,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1732041242, - "narHash": "sha256-3wkG87iMa13x0yGSumkC+Gx4SNK7yWDTmolexXtW8MY=", + "lastModified": 1732194398, + "narHash": "sha256-rm9ykabuykurbgBPbQDpUJtTMQDRCPfBJESvzvJKAbo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a254cdb551a3c095229a314a075bfcd9593b365e", + "rev": "87678783d01353aab40133d49f028c2c6960e4ff", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nur": { "locked": { - "lastModified": 1732034903, - "narHash": "sha256-83fCcCsW/f1DIBQoQfSvnp95L4WADvKTC+xMQFQ0RRI=", + "lastModified": 1732193657, + "narHash": "sha256-l4YncGn8Ee2v8DW3WqtKI4qHeGk7aUc3KoAPvwunC+o=", "owner": "nix-community", "repo": "NUR", - "rev": "a2712ed4e2e98c0e86ebc074acb2af8248941cc8", + "rev": "5e67f4745975ab2e5111ca7ff6c3ae02e9a555b8", "type": "github" }, "original": { @@ -509,11 +509,11 @@ ] }, "locked": { - "lastModified": 1731954233, - "narHash": "sha256-vvXx1m2Rsw7MkbKJdpcICzz4YPgZPApGKQGhNZfkhOI=", + "lastModified": 1732186149, + "narHash": "sha256-N9JGWe/T8BC0Tss2Cv30plvZUYoiRmykP7ZdY2on2b0=", "owner": "Mic92", "repo": "sops-nix", - "rev": "e39947d0ee8e341fa7108bd02a33cdfa24a1360e", + "rev": "53c853fb1a7e4f25f68805ee25c83d5de18dc699", "type": "github" }, "original": { From 5c4890aa860c70972897d9092065c80cbbe69480 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 27 Nov 2024 16:47:45 +0100 Subject: [PATCH 519/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/a0c384e0a3b8bcaed30a6bcf3783f8a7c8b35be4?narHash=sha256-iYh6h8yueU8IyOfNclbiBG2%2BfBFcjjUfXm90ZBzk0c0%3D' (2024-11-20) → 'github:nix-community/disko/869ba3a87486289a4197b52a6c9e7222edf00b3e?narHash=sha256-%2B4U2I2653JvPFxcux837ulwYS864QvEueIljUkwytsk%3D' (2024-11-26) • Updated input 'gomod2nix': 'github:nix-community/gomod2nix/5d387097aa716f35dd99d848dc26d8d5b62a104c?narHash=sha256-oquZeWTYWTr5IxfwEzgsxjtD8SSFZYLdO9DaQb70vNU%3D' (2024-10-20) → 'github:nix-community/gomod2nix/f11423d1a082d83710275913f05b2a0b606f5aed?narHash=sha256-i3FpT1w4x1hNZSKj20Rt2qHQvp1xp3Dz9rCPeSIQp0s%3D' (2024-11-25) • Updated input 'home-manager': 'github:nix-community/home-manager/aecd341dfead1c3ef7a3c15468ecd71e8343b7c6?narHash=sha256-FmYTkIyPBUxSWgA7DPIVTsCCMvSSbs56yOtHpLNSnKg%3D' (2024-11-17) → 'github:nix-community/home-manager/f3111f62a23451114433888902a55cf0692b408d?narHash=sha256-T1e5oceypZu3Q8vzICjv1X/sGs9XfJRMW5OuXHgpB3c%3D' (2024-11-24) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/672ac2ac86f7dff2f6f3406405bddecf960e0db6?narHash=sha256-UhWmEZhwJZmVZ1jfHZFzCg%2BZLO9Tb/v3Y6LC0UNyeTo%3D' (2024-11-16) → 'github:nixos/nixos-hardware/45348ad6fb8ac0e8415f6e5e96efe47dd7f39405?narHash=sha256-kF6rDeCshoCgmQz%2B7uiuPdREVFuzhIorGOoPXMalL2U%3D' (2024-11-24) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/30e58f735716fe27491e729912f21e20dcc66a99?narHash=sha256-wT6U8OJYx0V7NfrUcmQmOFzPJnvPDShGvdlvzFR7gmU%3D' (2024-11-21) → 'github:nixos/nixpkgs/f0fbc84ad2072de534b2981f0221ec7f6e239dd3?narHash=sha256-%2BeZwR8P6DsnyA5ySzloUcdMU9mJ7tu6N9oGHTn%2BvFJc%3D' (2024-11-27) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/87678783d01353aab40133d49f028c2c6960e4ff?narHash=sha256-rm9ykabuykurbgBPbQDpUJtTMQDRCPfBJESvzvJKAbo%3D' (2024-11-21) → 'github:NixOS/nixpkgs/6490fd94d60c5d666efb35bc1f022e7dfa379090?narHash=sha256-%2BFjR11WTPjTAAwLK%2BDxfOtjbsgPRdaeF7egW2S15Mz0%3D' (2024-11-27) • Updated input 'nur': 'github:nix-community/NUR/5e67f4745975ab2e5111ca7ff6c3ae02e9a555b8?narHash=sha256-l4YncGn8Ee2v8DW3WqtKI4qHeGk7aUc3KoAPvwunC%2Bo%3D' (2024-11-21) → 'github:nix-community/NUR/f2a9aa0e0cff734ea2ee8528aa97c2f367b92647?narHash=sha256-itN6gokrJekkGJ1bBduDxqc0NeZVDEPwGM1eBk89268%3D' (2024-11-27) • Updated input 'sops-nix': 'github:Mic92/sops-nix/53c853fb1a7e4f25f68805ee25c83d5de18dc699?narHash=sha256-N9JGWe/T8BC0Tss2Cv30plvZUYoiRmykP7ZdY2on2b0%3D' (2024-11-21) → 'github:Mic92/sops-nix/3433ea14fbd9e6671d0ff0dd45ed15ee4c156ffa?narHash=sha256-xtt95%2Bc7OUMoqZf4OvA/7AemiH3aVuWHQbErYQoPwFk%3D' (2024-11-25) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 269e1c3..e9ef20a 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1732109232, - "narHash": "sha256-iYh6h8yueU8IyOfNclbiBG2+fBFcjjUfXm90ZBzk0c0=", + "lastModified": 1732645828, + "narHash": "sha256-+4U2I2653JvPFxcux837ulwYS864QvEueIljUkwytsk=", "owner": "nix-community", "repo": "disko", - "rev": "a0c384e0a3b8bcaed30a6bcf3783f8a7c8b35be4", + "rev": "869ba3a87486289a4197b52a6c9e7222edf00b3e", "type": "github" }, "original": { @@ -183,11 +183,11 @@ ] }, "locked": { - "lastModified": 1729448365, - "narHash": "sha256-oquZeWTYWTr5IxfwEzgsxjtD8SSFZYLdO9DaQb70vNU=", + "lastModified": 1732540042, + "narHash": "sha256-i3FpT1w4x1hNZSKj20Rt2qHQvp1xp3Dz9rCPeSIQp0s=", "owner": "nix-community", "repo": "gomod2nix", - "rev": "5d387097aa716f35dd99d848dc26d8d5b62a104c", + "rev": "f11423d1a082d83710275913f05b2a0b606f5aed", "type": "github" }, "original": { @@ -203,11 +203,11 @@ ] }, "locked": { - "lastModified": 1731880681, - "narHash": "sha256-FmYTkIyPBUxSWgA7DPIVTsCCMvSSbs56yOtHpLNSnKg=", + "lastModified": 1732466619, + "narHash": "sha256-T1e5oceypZu3Q8vzICjv1X/sGs9XfJRMW5OuXHgpB3c=", "owner": "nix-community", "repo": "home-manager", - "rev": "aecd341dfead1c3ef7a3c15468ecd71e8343b7c6", + "rev": "f3111f62a23451114433888902a55cf0692b408d", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1731797098, - "narHash": "sha256-UhWmEZhwJZmVZ1jfHZFzCg+ZLO9Tb/v3Y6LC0UNyeTo=", + "lastModified": 1732483221, + "narHash": "sha256-kF6rDeCshoCgmQz+7uiuPdREVFuzhIorGOoPXMalL2U=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "672ac2ac86f7dff2f6f3406405bddecf960e0db6", + "rev": "45348ad6fb8ac0e8415f6e5e96efe47dd7f39405", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1732194236, - "narHash": "sha256-wT6U8OJYx0V7NfrUcmQmOFzPJnvPDShGvdlvzFR7gmU=", + "lastModified": 1732719247, + "narHash": "sha256-+eZwR8P6DsnyA5ySzloUcdMU9mJ7tu6N9oGHTn+vFJc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "30e58f735716fe27491e729912f21e20dcc66a99", + "rev": "f0fbc84ad2072de534b2981f0221ec7f6e239dd3", "type": "github" }, "original": { @@ -378,11 +378,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1732194398, - "narHash": "sha256-rm9ykabuykurbgBPbQDpUJtTMQDRCPfBJESvzvJKAbo=", + "lastModified": 1732721025, + "narHash": "sha256-+FjR11WTPjTAAwLK+DxfOtjbsgPRdaeF7egW2S15Mz0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "87678783d01353aab40133d49f028c2c6960e4ff", + "rev": "6490fd94d60c5d666efb35bc1f022e7dfa379090", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nur": { "locked": { - "lastModified": 1732193657, - "narHash": "sha256-l4YncGn8Ee2v8DW3WqtKI4qHeGk7aUc3KoAPvwunC+o=", + "lastModified": 1732712909, + "narHash": "sha256-itN6gokrJekkGJ1bBduDxqc0NeZVDEPwGM1eBk89268=", "owner": "nix-community", "repo": "NUR", - "rev": "5e67f4745975ab2e5111ca7ff6c3ae02e9a555b8", + "rev": "f2a9aa0e0cff734ea2ee8528aa97c2f367b92647", "type": "github" }, "original": { @@ -509,11 +509,11 @@ ] }, "locked": { - "lastModified": 1732186149, - "narHash": "sha256-N9JGWe/T8BC0Tss2Cv30plvZUYoiRmykP7ZdY2on2b0=", + "lastModified": 1732575825, + "narHash": "sha256-xtt95+c7OUMoqZf4OvA/7AemiH3aVuWHQbErYQoPwFk=", "owner": "Mic92", "repo": "sops-nix", - "rev": "53c853fb1a7e4f25f68805ee25c83d5de18dc699", + "rev": "3433ea14fbd9e6671d0ff0dd45ed15ee4c156ffa", "type": "github" }, "original": { From 813bd64820095dc1ea352c18d0a0d621589806c6 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 28 Nov 2024 00:49:44 +0100 Subject: [PATCH 520/766] Add bthome --- hosts/iron/services/home-assistant.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/iron/services/home-assistant.nix b/hosts/iron/services/home-assistant.nix index bc1627c..e6319fe 100644 --- a/hosts/iron/services/home-assistant.nix +++ b/hosts/iron/services/home-assistant.nix @@ -59,6 +59,7 @@ in }; extraComponents = [ # See https://www.home-assistant.io/integrations + "bthome" "caldav" "esphome" "local_todo" From c1486a7ffecd2f2be9ce32bc90457200822cd6e6 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 28 Nov 2024 00:44:55 +0100 Subject: [PATCH 521/766] Add sensor to bedroom --- .../services/esphome/devices/fussbodenheizung.yaml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/hosts/iron/services/esphome/devices/fussbodenheizung.yaml b/hosts/iron/services/esphome/devices/fussbodenheizung.yaml index 7b0db38..623b378 100644 --- a/hosts/iron/services/esphome/devices/fussbodenheizung.yaml +++ b/hosts/iron/services/esphome/devices/fussbodenheizung.yaml @@ -83,6 +83,12 @@ sensor: - platform: homeassistant id: humidity_bathroom entity_id: sensor.badspiegel_feuchtigkeit + - platform: homeassistant + entity_id: sensor.bthome_sensor_e8e8_temperature + id: temperature_bedroom + - platform: homeassistant + entity_id: sensor.bthome_sensor_e8e8_humidity + id: humidity_bedroom climate: - platform: thermostat @@ -107,10 +113,8 @@ climate: default_target_temperature_low: 16 °C - platform: thermostat name: "Schlafzimmer" - #sensor: heating_livingroom - #humidity_sensor: - sensor: temperature_local # FIXME - humidity_sensor: humidity # FIXME + sensor: temperature_bedroom + humidity_sensor: humidity_bedroom min_heating_off_time: 1s min_heating_run_time: 1s min_idle_time: 30s From 36d58100de0a55c62cec9d9f243d32bb31a26cd5 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 28 Nov 2024 00:45:26 +0100 Subject: [PATCH 522/766] Add presets --- .../esphome/devices/fussbodenheizung.yaml | 36 ++++++++++++------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/hosts/iron/services/esphome/devices/fussbodenheizung.yaml b/hosts/iron/services/esphome/devices/fussbodenheizung.yaml index 623b378..0e9019a 100644 --- a/hosts/iron/services/esphome/devices/fussbodenheizung.yaml +++ b/hosts/iron/services/esphome/devices/fussbodenheizung.yaml @@ -102,13 +102,15 @@ climate: - switch.turn_on: relay_1 idle_action: - switch.turn_off: relay_1 - default_preset: zuhause + default_preset: tag on_boot_restore_from: memory preset: - name: morgens default_target_temperature_low: 23 °C - - name: zuhause + - name: tag default_target_temperature_low: 20 °C + - name: nacht + default_target_temperature_low: 18 °C - name: abwesend default_target_temperature_low: 16 °C - platform: thermostat @@ -122,11 +124,13 @@ climate: - switch.turn_on: relay_2 idle_action: - switch.turn_off: relay_2 - default_preset: zuhause + default_preset: tag on_boot_restore_from: memory preset: - - name: zuhause - default_target_temperature_low: 16 °C + - name: tag + default_target_temperature_low: 22 °C + - name: nacht + default_target_temperature_low: 18 °C - name: abwesend default_target_temperature_low: 15 °C - platform: thermostat @@ -140,11 +144,13 @@ climate: - switch.turn_on: relay_3 idle_action: - switch.turn_off: relay_3 - default_preset: zuhause + default_preset: tag on_boot_restore_from: memory preset: - - name: zuhause - default_target_temperature_low: 18 °C + - name: tag + default_target_temperature_low: 19 °C + - name: nacht + default_target_temperature_low: 17 °C - name: abwesend default_target_temperature_low: 16 °C - platform: thermostat @@ -158,11 +164,13 @@ climate: - switch.turn_on: relay_4 idle_action: - switch.turn_off: relay_4 - default_preset: zuhause + default_preset: tag on_boot_restore_from: memory preset: - - name: zuhause + - name: tag default_target_temperature_low: 19 °C + - name: nacht + default_target_temperature_low: 17 °C - name: abwesend default_target_temperature_low: 16 °C - platform: thermostat @@ -176,10 +184,12 @@ climate: - switch.turn_on: relay_5 idle_action: - switch.turn_off: relay_5 - default_preset: zuhause + default_preset: tag on_boot_restore_from: memory preset: - - name: zuhause - default_target_temperature_low: 20 °C + - name: tag + default_target_temperature_low: 21 °C + - name: nacht + default_target_temperature_low: 19 °C - name: abwesend default_target_temperature_low: 16 °C From c989ffaeba4ef2335953c168b9987917f572e2f5 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 28 Nov 2024 00:46:39 +0100 Subject: [PATCH 523/766] Add extraHosts example --- hosts/copper/configuration.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/hosts/copper/configuration.nix b/hosts/copper/configuration.nix index 56d4a18..e468384 100644 --- a/hosts/copper/configuration.nix +++ b/hosts/copper/configuration.nix @@ -1,3 +1,5 @@ +{ lib, ... }: + { imports = [ ./hardware-configuration.nix @@ -8,6 +10,15 @@ networking = { hostName = "copper"; + extraHosts = lib.concatStringsSep "\n" ( + lib.attrsets.mapAttrsToList + (addr: hosts: + lib.concatStringsSep " " ([ addr ] ++ hosts) + ) + { + #"192.0.2.1" = ["example.com"]; + } + ); }; zramSwap = { From 2ea65edb28b2ab33fbefb07f94625a069befcfde Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 28 Nov 2024 00:48:28 +0100 Subject: [PATCH 524/766] Allow DNS and DHCP on virbr0 --- hosts/copper/configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hosts/copper/configuration.nix b/hosts/copper/configuration.nix index e468384..db1152b 100644 --- a/hosts/copper/configuration.nix +++ b/hosts/copper/configuration.nix @@ -19,6 +19,8 @@ #"192.0.2.1" = ["example.com"]; } ); + firewall.interfaces.virbr0.allowedTCPPorts = [ 53 ]; + firewall.interfaces.virbr0.allowedUDPPorts = [ 53 67 ]; }; zramSwap = { From 8e88a26cf98ef8840fba6d7f26eff35d60d152b5 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 28 Nov 2024 00:54:37 +0100 Subject: [PATCH 525/766] Rename iproute to iproute2 --- users/jalr/modules/sway/waybar.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/users/jalr/modules/sway/waybar.nix b/users/jalr/modules/sway/waybar.nix index f388388..c851c5f 100644 --- a/users/jalr/modules/sway/waybar.nix +++ b/users/jalr/modules/sway/waybar.nix @@ -180,7 +180,7 @@ in "custom/vpn" = { interval = 10; exec = pkgs.writeShellScript "vpn-state" '' - ${pkgs.iproute}/bin/ip -j link \ + ${pkgs.iproute2}/bin/ip -j link \ | ${pkgs.jq}/bin/jq --unbuffered --compact-output ' [[.[].ifname | select(. | startswith("mullvad"))][] | split("-")[1] + " 󰌾${thinsp}"] as $conns | { text: ($conns[0] // ""), class: (if $conns | length > 0 then "connected" else "disconnected" end) }' From 4571c2b24aa8f29721afef2e58bbe8ab5485cee9 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 3 Dec 2024 22:20:58 +0100 Subject: [PATCH 526/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/869ba3a87486289a4197b52a6c9e7222edf00b3e?narHash=sha256-%2B4U2I2653JvPFxcux837ulwYS864QvEueIljUkwytsk%3D' (2024-11-26) → 'github:nix-community/disko/785c1e02c7e465375df971949b8dcbde9ec362e5?narHash=sha256-8dupm9GfK%2BBowGdQd7EHK5V61nneLfr9xR6sc5vtDi0%3D' (2024-12-02) • Updated input 'home-manager': 'github:nix-community/home-manager/f3111f62a23451114433888902a55cf0692b408d?narHash=sha256-T1e5oceypZu3Q8vzICjv1X/sGs9XfJRMW5OuXHgpB3c%3D' (2024-11-24) → 'github:nix-community/home-manager/62d536255879be574ebfe9b87c4ac194febf47c5?narHash=sha256-lYnT%2BEYE47f5yY3KS/Kd4pJ6CO9fhCqumkYYkQ3TK20%3D' (2024-12-01) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/45348ad6fb8ac0e8415f6e5e96efe47dd7f39405?narHash=sha256-kF6rDeCshoCgmQz%2B7uiuPdREVFuzhIorGOoPXMalL2U%3D' (2024-11-24) → 'github:nixos/nixos-hardware/cceee0a31d2f01bcc98b2fbd591327c06a4ea4f9?narHash=sha256-fc6jTzIwCIVWTX50FtW6AZpuukuQWSEbPiyg6ZRGWFY%3D' (2024-12-03) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/f0fbc84ad2072de534b2981f0221ec7f6e239dd3?narHash=sha256-%2BeZwR8P6DsnyA5ySzloUcdMU9mJ7tu6N9oGHTn%2BvFJc%3D' (2024-11-27) → 'github:nixos/nixpkgs/6a6f5974bd2e78895e75c03f8734036d40f177f2?narHash=sha256-qsU2nHl/LEAmBY/tNZyxwzTh3ym3oyZRKthyk%2BHv3ow%3D' (2024-12-03) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/6490fd94d60c5d666efb35bc1f022e7dfa379090?narHash=sha256-%2BFjR11WTPjTAAwLK%2BDxfOtjbsgPRdaeF7egW2S15Mz0%3D' (2024-11-27) → 'github:NixOS/nixpkgs/229da450d6f628a9444c6d39d4b2349ea53b7e44?narHash=sha256-FgJ2/ateQWwLA78ERfCUIrzaZ/X5AaCOSWLq8I2hfCw%3D' (2024-12-03) • Updated input 'nur': 'github:nix-community/NUR/f2a9aa0e0cff734ea2ee8528aa97c2f367b92647?narHash=sha256-itN6gokrJekkGJ1bBduDxqc0NeZVDEPwGM1eBk89268%3D' (2024-11-27) → 'github:nix-community/NUR/0c7ae4a63afbc6c305e401a06191380027f5ec73?narHash=sha256-Uem1KaDdvbHcTxii4t1fuuFsJlC7WeEjmXH%2Bi1ElR/I%3D' (2024-12-03) • Updated input 'sops-nix': 'github:Mic92/sops-nix/3433ea14fbd9e6671d0ff0dd45ed15ee4c156ffa?narHash=sha256-xtt95%2Bc7OUMoqZf4OvA/7AemiH3aVuWHQbErYQoPwFk%3D' (2024-11-25) → 'github:Mic92/sops-nix/c6134b6fff6bda95a1ac872a2a9d5f32e3c37856?narHash=sha256-m6/qwJAJYcidGMEdLqjKzRIjapK4nUfMq7rDCTmZajc%3D' (2024-12-02) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index e9ef20a..a615154 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1732645828, - "narHash": "sha256-+4U2I2653JvPFxcux837ulwYS864QvEueIljUkwytsk=", + "lastModified": 1733168902, + "narHash": "sha256-8dupm9GfK+BowGdQd7EHK5V61nneLfr9xR6sc5vtDi0=", "owner": "nix-community", "repo": "disko", - "rev": "869ba3a87486289a4197b52a6c9e7222edf00b3e", + "rev": "785c1e02c7e465375df971949b8dcbde9ec362e5", "type": "github" }, "original": { @@ -203,11 +203,11 @@ ] }, "locked": { - "lastModified": 1732466619, - "narHash": "sha256-T1e5oceypZu3Q8vzICjv1X/sGs9XfJRMW5OuXHgpB3c=", + "lastModified": 1733050161, + "narHash": "sha256-lYnT+EYE47f5yY3KS/Kd4pJ6CO9fhCqumkYYkQ3TK20=", "owner": "nix-community", "repo": "home-manager", - "rev": "f3111f62a23451114433888902a55cf0692b408d", + "rev": "62d536255879be574ebfe9b87c4ac194febf47c5", "type": "github" }, "original": { @@ -314,11 +314,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1732483221, - "narHash": "sha256-kF6rDeCshoCgmQz+7uiuPdREVFuzhIorGOoPXMalL2U=", + "lastModified": 1733217105, + "narHash": "sha256-fc6jTzIwCIVWTX50FtW6AZpuukuQWSEbPiyg6ZRGWFY=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "45348ad6fb8ac0e8415f6e5e96efe47dd7f39405", + "rev": "cceee0a31d2f01bcc98b2fbd591327c06a4ea4f9", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1732719247, - "narHash": "sha256-+eZwR8P6DsnyA5ySzloUcdMU9mJ7tu6N9oGHTn+vFJc=", + "lastModified": 1733260348, + "narHash": "sha256-qsU2nHl/LEAmBY/tNZyxwzTh3ym3oyZRKthyk+Hv3ow=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f0fbc84ad2072de534b2981f0221ec7f6e239dd3", + "rev": "6a6f5974bd2e78895e75c03f8734036d40f177f2", "type": "github" }, "original": { @@ -378,11 +378,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1732721025, - "narHash": "sha256-+FjR11WTPjTAAwLK+DxfOtjbsgPRdaeF7egW2S15Mz0=", + "lastModified": 1733260817, + "narHash": "sha256-FgJ2/ateQWwLA78ERfCUIrzaZ/X5AaCOSWLq8I2hfCw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6490fd94d60c5d666efb35bc1f022e7dfa379090", + "rev": "229da450d6f628a9444c6d39d4b2349ea53b7e44", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nur": { "locked": { - "lastModified": 1732712909, - "narHash": "sha256-itN6gokrJekkGJ1bBduDxqc0NeZVDEPwGM1eBk89268=", + "lastModified": 1733260004, + "narHash": "sha256-Uem1KaDdvbHcTxii4t1fuuFsJlC7WeEjmXH+i1ElR/I=", "owner": "nix-community", "repo": "NUR", - "rev": "f2a9aa0e0cff734ea2ee8528aa97c2f367b92647", + "rev": "0c7ae4a63afbc6c305e401a06191380027f5ec73", "type": "github" }, "original": { @@ -509,11 +509,11 @@ ] }, "locked": { - "lastModified": 1732575825, - "narHash": "sha256-xtt95+c7OUMoqZf4OvA/7AemiH3aVuWHQbErYQoPwFk=", + "lastModified": 1733128155, + "narHash": "sha256-m6/qwJAJYcidGMEdLqjKzRIjapK4nUfMq7rDCTmZajc=", "owner": "Mic92", "repo": "sops-nix", - "rev": "3433ea14fbd9e6671d0ff0dd45ed15ee4c156ffa", + "rev": "c6134b6fff6bda95a1ac872a2a9d5f32e3c37856", "type": "github" }, "original": { From 691795d60e78363aeb7efb1ed713411adb8577a9 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 4 Dec 2024 03:55:17 +0100 Subject: [PATCH 527/766] Update USB RAM disk device path --- hosts/iron/configuration.nix | 2 +- justfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index d8e1203..121eedb 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -138,7 +138,7 @@ with lib; { device = "${devNodes}${dev}${partitionScheme.luksDev}"; allowDiscards = true; keyFileSize = 4096; - keyFile = "/dev/disk/by-id/usb-jalr_RAM_Mass_Storage_DE6270431F6F342C-0:0"; + keyFile = "/dev/disk/by-id/usb-jalr_USB_RAM_disk_prototype-01-0:0"; keyFileTimeout = 60; }; }) diff --git a/justfile b/justfile index 715cff1..6186025 100644 --- a/justfile +++ b/justfile @@ -1,4 +1,4 @@ -usb_ram_disk := "/dev/disk/by-id/usb-jalr_RAM_Mass_Storage_DE6270431F6F342C-0:0" +usb_ram_disk := "/dev/disk/by-id/usb-jalr_USB_RAM_disk_prototype-01-0:0" boot: nixos-rebuild boot --flake . --use-remote-sudo From 1832142b4ee4c9c7c61b763cc7938ed9a36bfb31 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 5 Dec 2024 14:34:33 +0100 Subject: [PATCH 528/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/3308484d1a443fc5bc92012435d79e80458fe43c?narHash=sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE%3D' (2024-11-19) → 'github:cachix/git-hooks.nix/6f4e2a2112050951a314d2733a994fbab94864c6?narHash=sha256-SVQVsbafSM1dJ4fpgyBqLZ%2BLft%2BjcQuMtEL3lQWx2Sk%3D' (2024-12-04) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/6a6f5974bd2e78895e75c03f8734036d40f177f2?narHash=sha256-qsU2nHl/LEAmBY/tNZyxwzTh3ym3oyZRKthyk%2BHv3ow%3D' (2024-12-03) → 'github:nixos/nixpkgs/c88114f800b48eeecd1b3a6413091f01b08f3539?narHash=sha256-QcLFaG3MnQ4yKxXg7UZKsOkKrQh3iTixWOm0BWve2VE%3D' (2024-12-05) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/229da450d6f628a9444c6d39d4b2349ea53b7e44?narHash=sha256-FgJ2/ateQWwLA78ERfCUIrzaZ/X5AaCOSWLq8I2hfCw%3D' (2024-12-03) → 'github:NixOS/nixpkgs/9894aea69bfd7e4f04ce35fded6f2ec9d2d9a1a2?narHash=sha256-zm8HdU5Hm7yhAxQrvV2VNUBLbHM4X1deInfCfAE58rA%3D' (2024-12-05) • Updated input 'nur': 'github:nix-community/NUR/0c7ae4a63afbc6c305e401a06191380027f5ec73?narHash=sha256-Uem1KaDdvbHcTxii4t1fuuFsJlC7WeEjmXH%2Bi1ElR/I%3D' (2024-12-03) → 'github:nix-community/NUR/e6098b0360b6436634f3604c134e99b608a8c252?narHash=sha256-AEBmhobRo6PcvaZn9oEfjsQ/NElKBIBj8Va7sivSyzw%3D' (2024-12-05) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index a615154..044d128 100644 --- a/flake.lock +++ b/flake.lock @@ -298,11 +298,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1732021966, - "narHash": "sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE=", + "lastModified": 1733318908, + "narHash": "sha256-SVQVsbafSM1dJ4fpgyBqLZ+Lft+jcQuMtEL3lQWx2Sk=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "3308484d1a443fc5bc92012435d79e80458fe43c", + "rev": "6f4e2a2112050951a314d2733a994fbab94864c6", "type": "github" }, "original": { @@ -330,11 +330,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1733260348, - "narHash": "sha256-qsU2nHl/LEAmBY/tNZyxwzTh3ym3oyZRKthyk+Hv3ow=", + "lastModified": 1733404344, + "narHash": "sha256-QcLFaG3MnQ4yKxXg7UZKsOkKrQh3iTixWOm0BWve2VE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6a6f5974bd2e78895e75c03f8734036d40f177f2", + "rev": "c88114f800b48eeecd1b3a6413091f01b08f3539", "type": "github" }, "original": { @@ -378,11 +378,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1733260817, - "narHash": "sha256-FgJ2/ateQWwLA78ERfCUIrzaZ/X5AaCOSWLq8I2hfCw=", + "lastModified": 1733405546, + "narHash": "sha256-zm8HdU5Hm7yhAxQrvV2VNUBLbHM4X1deInfCfAE58rA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "229da450d6f628a9444c6d39d4b2349ea53b7e44", + "rev": "9894aea69bfd7e4f04ce35fded6f2ec9d2d9a1a2", "type": "github" }, "original": { @@ -394,11 +394,11 @@ }, "nur": { "locked": { - "lastModified": 1733260004, - "narHash": "sha256-Uem1KaDdvbHcTxii4t1fuuFsJlC7WeEjmXH+i1ElR/I=", + "lastModified": 1733396819, + "narHash": "sha256-AEBmhobRo6PcvaZn9oEfjsQ/NElKBIBj8Va7sivSyzw=", "owner": "nix-community", "repo": "NUR", - "rev": "0c7ae4a63afbc6c305e401a06191380027f5ec73", + "rev": "e6098b0360b6436634f3604c134e99b608a8c252", "type": "github" }, "original": { From 9184561078f286099459d49a136a2721e5f85704 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 7 Dec 2024 15:05:42 +0100 Subject: [PATCH 529/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/62d536255879be574ebfe9b87c4ac194febf47c5?narHash=sha256-lYnT%2BEYE47f5yY3KS/Kd4pJ6CO9fhCqumkYYkQ3TK20%3D' (2024-12-01) → 'github:nix-community/home-manager/c7ffc9727d115e433fd884a62dc164b587ff651d?narHash=sha256-zjO6m5BqxXIyjrnUziAzk4%2BT4VleqjstNudSqWcpsHI%3D' (2024-12-07) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/cceee0a31d2f01bcc98b2fbd591327c06a4ea4f9?narHash=sha256-fc6jTzIwCIVWTX50FtW6AZpuukuQWSEbPiyg6ZRGWFY%3D' (2024-12-03) → 'github:nixos/nixos-hardware/e563803af3526852b6b1d77107a81908c66a9fcf?narHash=sha256-IS3bxa4N1VMSh3/P6vhEAHQZecQ3oAlKCDvzCQSO5Is%3D' (2024-12-06) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/c88114f800b48eeecd1b3a6413091f01b08f3539?narHash=sha256-QcLFaG3MnQ4yKxXg7UZKsOkKrQh3iTixWOm0BWve2VE%3D' (2024-12-05) → 'github:nixos/nixpkgs/ba3fa71b0a4442712885529f01291a084cf3f504?narHash=sha256-YZ2/U5x/6i5HZ7deI1diw48H9NQ3a5EJXUk1li15%2BD4%3D' (2024-12-07) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/9894aea69bfd7e4f04ce35fded6f2ec9d2d9a1a2?narHash=sha256-zm8HdU5Hm7yhAxQrvV2VNUBLbHM4X1deInfCfAE58rA%3D' (2024-12-05) → 'github:NixOS/nixpkgs/347d7e1d88770c4fd41fb758ac486563137240c4?narHash=sha256-2r0KpVWBz3BvExWsbRVk%2BBt8vhm%2BDMm37nkRJFuiTiA%3D' (2024-12-07) • Updated input 'nur': 'github:nix-community/NUR/e6098b0360b6436634f3604c134e99b608a8c252?narHash=sha256-AEBmhobRo6PcvaZn9oEfjsQ/NElKBIBj8Va7sivSyzw%3D' (2024-12-05) → 'github:nix-community/NUR/9e479b56f56dc09cc23d265c2957e3ed0f2fa7fe?narHash=sha256-YVvIoxhDCGYYDQhEj0%2BXtiTd4msUjjIXhE98AFenvDI%3D' (2024-12-07) • Added input 'nur/flake-parts': 'github:hercules-ci/flake-parts/205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9?narHash=sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c%3D' (2024-12-04) • Added input 'nur/flake-parts/nixpkgs-lib': follows 'nur/nixpkgs' • Added input 'nur/nixpkgs': 'github:nixos/nixpkgs/55d15ad12a74eb7d4646254e13638ad0c4128776?narHash=sha256-M1%2BuCoV5igihRfcUKrr1riygbe73/dzNnzPsmaLCmpo%3D' (2024-12-03) • Added input 'nur/treefmt-nix': 'github:numtide/treefmt-nix/49717b5af6f80172275d47a418c9719a31a78b53?narHash=sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM%3D' (2024-12-03) • Added input 'nur/treefmt-nix/nixpkgs': follows 'nur/nixpkgs' --- flake.lock | 97 ++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 80 insertions(+), 17 deletions(-) diff --git a/flake.lock b/flake.lock index 044d128..43e11d7 100644 --- a/flake.lock +++ b/flake.lock @@ -94,6 +94,27 @@ "type": "github" } }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "nur", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems" @@ -203,11 +224,11 @@ ] }, "locked": { - "lastModified": 1733050161, - "narHash": "sha256-lYnT+EYE47f5yY3KS/Kd4pJ6CO9fhCqumkYYkQ3TK20=", + "lastModified": 1733572789, + "narHash": "sha256-zjO6m5BqxXIyjrnUziAzk4+T4VleqjstNudSqWcpsHI=", "owner": "nix-community", "repo": "home-manager", - "rev": "62d536255879be574ebfe9b87c4ac194febf47c5", + "rev": "c7ffc9727d115e433fd884a62dc164b587ff651d", "type": "github" }, "original": { @@ -314,11 +335,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1733217105, - "narHash": "sha256-fc6jTzIwCIVWTX50FtW6AZpuukuQWSEbPiyg6ZRGWFY=", + "lastModified": 1733481457, + "narHash": "sha256-IS3bxa4N1VMSh3/P6vhEAHQZecQ3oAlKCDvzCQSO5Is=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "cceee0a31d2f01bcc98b2fbd591327c06a4ea4f9", + "rev": "e563803af3526852b6b1d77107a81908c66a9fcf", "type": "github" }, "original": { @@ -330,11 +351,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1733404344, - "narHash": "sha256-QcLFaG3MnQ4yKxXg7UZKsOkKrQh3iTixWOm0BWve2VE=", + "lastModified": 1733579763, + "narHash": "sha256-YZ2/U5x/6i5HZ7deI1diw48H9NQ3a5EJXUk1li15+D4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c88114f800b48eeecd1b3a6413091f01b08f3539", + "rev": "ba3fa71b0a4442712885529f01291a084cf3f504", "type": "github" }, "original": { @@ -378,11 +399,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1733405546, - "narHash": "sha256-zm8HdU5Hm7yhAxQrvV2VNUBLbHM4X1deInfCfAE58rA=", + "lastModified": 1733579837, + "narHash": "sha256-2r0KpVWBz3BvExWsbRVk+Bt8vhm+DMm37nkRJFuiTiA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9894aea69bfd7e4f04ce35fded6f2ec9d2d9a1a2", + "rev": "347d7e1d88770c4fd41fb758ac486563137240c4", "type": "github" }, "original": { @@ -392,13 +413,34 @@ "type": "github" } }, - "nur": { + "nixpkgs_2": { "locked": { - "lastModified": 1733396819, - "narHash": "sha256-AEBmhobRo6PcvaZn9oEfjsQ/NElKBIBj8Va7sivSyzw=", + "lastModified": 1733212471, + "narHash": "sha256-M1+uCoV5igihRfcUKrr1riygbe73/dzNnzPsmaLCmpo=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "55d15ad12a74eb7d4646254e13638ad0c4128776", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nur": { + "inputs": { + "flake-parts": "flake-parts_2", + "nixpkgs": "nixpkgs_2", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1733554674, + "narHash": "sha256-YVvIoxhDCGYYDQhEj0+XtiTd4msUjjIXhE98AFenvDI=", "owner": "nix-community", "repo": "NUR", - "rev": "e6098b0360b6436634f3604c134e99b608a8c252", + "rev": "9e479b56f56dc09cc23d265c2957e3ed0f2fa7fe", "type": "github" }, "original": { @@ -417,7 +459,7 @@ "nixpkgs" ], "systems": "systems_3", - "treefmt-nix": "treefmt-nix" + "treefmt-nix": "treefmt-nix_2" }, "locked": { "lastModified": 1731205797, @@ -567,6 +609,27 @@ } }, "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "nur", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733222881, + "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "49717b5af6f80172275d47a418c9719a31a78b53", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "treefmt-nix_2": { "inputs": { "nixpkgs": [ "poetry2nix", From 58974585abbc43e8797105d6f7f5cf0720ee75d5 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 9 Dec 2024 00:54:55 +0100 Subject: [PATCH 530/766] Fix nur overlay deprecation --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 7b8b91e..870a1bd 100644 --- a/flake.nix +++ b/flake.nix @@ -171,7 +171,7 @@ }; }) ] ++ [ - { nixpkgs.overlays = [ nur.overlay ]; } + { nixpkgs.overlays = [ nur.overlays.default ]; } home-manager.nixosModules.home-manager inputs.sops-nix.nixosModules.sops inputs.disko.nixosModules.disko From 2ec800234dead2af1efd7e745d43ae1d5feee93a Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 9 Dec 2024 00:52:14 +0100 Subject: [PATCH 531/766] Enable backups for home-manager managed files --- users/jalr/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/users/jalr/default.nix b/users/jalr/default.nix index 9d83727..5f43783 100644 --- a/users/jalr/default.nix +++ b/users/jalr/default.nix @@ -31,6 +31,7 @@ in home-manager = { useUserPackages = true; useGlobalPkgs = true; + backupFileExtension = "hm.bak"; users.jalr = { lib, pkgs, ... }: { imports = [ ./modules ]; config = { From c4fb41f93a6ea735aeae1cc3c9c208dd80efe266 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 8 Dec 2024 03:28:59 +0100 Subject: [PATCH 532/766] Add snapsync and mopidy --- hosts/iron/services/default.nix | 3 ++ hosts/iron/services/mopidy.nix | 65 ++++++++++++++++++++++++++++++ hosts/iron/services/snapclient.nix | 36 +++++++++++++++++ hosts/iron/services/snapserver.nix | 47 +++++++++++++++++++++ 4 files changed, 151 insertions(+) create mode 100644 hosts/iron/services/mopidy.nix create mode 100644 hosts/iron/services/snapclient.nix create mode 100644 hosts/iron/services/snapserver.nix diff --git a/hosts/iron/services/default.nix b/hosts/iron/services/default.nix index 40087e5..f2f47a0 100644 --- a/hosts/iron/services/default.nix +++ b/hosts/iron/services/default.nix @@ -8,12 +8,15 @@ ./jellyfin.nix ./mail.nix ./matrix.nix + ./mopidy.nix ./navidrome.nix ./nginx.nix ./ntp.nix ./public-ip-tunnel.nix ./radicale.nix ./remarkable.nix + ./snapclient.nix + ./snapserver.nix ./sturzbach.nix ./unifi-controller.nix ./whatsapp.nix diff --git a/hosts/iron/services/mopidy.nix b/hosts/iron/services/mopidy.nix new file mode 100644 index 0000000..9d76041 --- /dev/null +++ b/hosts/iron/services/mopidy.nix @@ -0,0 +1,65 @@ +args@{ lib, pkgs, config, custom-utils, ... }: +let + interfaces = import ../interfaces.nix; + mopidyConfig = { + audio.output = "audioresample ! audioconvert ! audio/x-raw,rate=48000,channels=2,format=S16LE ! wavenc ! filesink location=/run/snapserver/mopidy.fifo"; + file.enabled = false; + local = { + library = "sqlite"; + scan_flush_threshold = 100; + media_dir = "/var/lib/music"; + included_file_extensions = lib.strings.concatStringsSep "," [ + ".aac" + ".flac" + ".m4a" + ".mp3" + ".opus" + ]; + }; + m3u = { + playlists_dir = "$XDG_CONFIG_DIR/mopidy/playlists"; + }; + http = { + enabled = true; + hostname = "::"; + port = 6680; + }; + mpd = { + enabled = true; + hostname = "::"; + port = 6600; + }; + }; +in +{ + services.mopidy = { + enable = true; + extensionPackages = with pkgs; [ + mopidy-iris + mopidy-local + mopidy-moped + mopidy-mpd + mopidy-muse + mopidy-somafm + mopidy-ytmusic + ]; + configuration = lib.generators.toINI { } mopidyConfig; + }; + + networking.firewall.interfaces."${interfaces.lan}".allowedTCPPorts = [ + mopidyConfig.http.port + mopidyConfig.mpd.port + ]; + + environment.systemPackages = [ + (with config.systemd.services.mopidy.serviceConfig; + pkgs.writeShellScriptBin "mopidyctl" '' + cmd='sudo -u ${User} -- ${ExecStart}' + if [ $# -eq 0 ]; then + exec $cmd --help + fi + exec $cmd "$@" + '' + ) + ]; +} diff --git a/hosts/iron/services/snapclient.nix b/hosts/iron/services/snapclient.nix new file mode 100644 index 0000000..8093022 --- /dev/null +++ b/hosts/iron/services/snapclient.nix @@ -0,0 +1,36 @@ +{ lib, pkgs, ... }: + +let hostId = "Wohnzimmer"; +in +{ + #services.pipewire = { + # enable = true; + # pulse.enable = true; + # alsa.enable = true; + #}; + + #environment.systemPackages = with pkgs; [ + # pulseaudio # pacmd and pactl + # pulsemixer + #]; + + systemd.services.snapclient = { + enable = true; + description = "Snapcast client"; + wants = [ "network.target" "sound.target" ]; + after = [ "network.target" "sound.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + DynamicUser = "yes"; + ExecStart = "${pkgs.snapcast}/bin/snapclient --host 127.0.0.1 -s DAC"; + Group = "audio"; + NoNewPrivileges = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + RestrictAddressFamilies = "AF_INET AF_INET6 AF_UNIX"; + RestrictNamespaces = true; + }; + }; +} diff --git a/hosts/iron/services/snapserver.nix b/hosts/iron/services/snapserver.nix new file mode 100644 index 0000000..526070f --- /dev/null +++ b/hosts/iron/services/snapserver.nix @@ -0,0 +1,47 @@ +args@{ lib, pkgs, config, custom-utils, ... }: +let + ports = import ../ports.nix args; + interfaces = import ../interfaces.nix; +in +{ + services.snapserver = { + enable = true; + streams = { + mopidy = { + type = "pipe"; + location = "/run/snapserver/mopidy.fifo"; + }; + airplay = { + type = "airplay"; + location = lib.getExe' pkgs.shairport-sync "shairport-sync"; + query = { + devicename = "Snapcast"; + }; + }; + }; + }; + + #systemd.services.snapserver = { + #requires = [config.systemd.services.mopidy.name]; + #after = [config.systemd.services.mopidy.name]; + #}; + + services.home-assistant.config.media_player = [ + { + platform = "snapcast"; + host = "127.0.0.1"; + } + ]; + + networking.firewall.interfaces."${interfaces.lan}" = { + allowedTCPPorts = [ + config.services.snapserver.http.port + config.services.snapserver.port + config.services.snapserver.tcp.port + 5000 # airplay + ]; + allowedUDPPortRanges = [ + { from = 6001; to = 6011; } # airplay + ]; + }; +} From 2a8c2c2f3be8a31071dc705076c40047e79b2a2b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 8 Dec 2024 04:04:25 +0100 Subject: [PATCH 533/766] Add snapclient user unit --- users/jalr/modules/default.nix | 3 ++- users/jalr/modules/snapclient.nix | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 users/jalr/modules/snapclient.nix diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index eaa4602..6211b94 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -18,7 +18,7 @@ ./graphics ./gui.nix ./jameica.nix - ./kicad.nix + #./kicad.nix FIXME: kicad build fails ./mpv.nix ./mute-indicator.nix ./mycli @@ -32,6 +32,7 @@ ./pcmanfm.nix ./python.nix ./remarkable + ./snapclient.nix ./sound ./sway ./thunderbird.nix diff --git a/users/jalr/modules/snapclient.nix b/users/jalr/modules/snapclient.nix new file mode 100644 index 0000000..c391bfb --- /dev/null +++ b/users/jalr/modules/snapclient.nix @@ -0,0 +1,20 @@ +{ nixosConfig, lib, pkgs, ... }: + +lib.mkIf nixosConfig.jalr.gui.enable { + systemd.user.services.snapclient = { + Unit.Description = "Snapcast client"; + Service = { + BindPaths = [ "/run/user/1000/pulse" ]; + ExecStart = "${pkgs.snapcast}/bin/snapclient --player pulse"; + NoNewPrivileges = true; + ProtectControlGroups = true; + ProtectHome = "tmpfs"; + ProtectKernelModules = true; + ProtectKernelTunables = true; + RestrictAddressFamilies = "AF_INET AF_INET6 AF_UNIX"; + RestrictNamespaces = true; + Type = "simple"; + }; + Install.WantedBy = [ "default.target" ]; + }; +} From ffbe3c5d4943dececda5599ef6d3a01cd3fffb93 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 8 Dec 2024 20:12:44 +0100 Subject: [PATCH 534/766] Add avahi module --- modules/avahi.nix | 6 ++++++ modules/default.nix | 1 + 2 files changed, 7 insertions(+) create mode 100644 modules/avahi.nix diff --git a/modules/avahi.nix b/modules/avahi.nix new file mode 100644 index 0000000..f97e514 --- /dev/null +++ b/modules/avahi.nix @@ -0,0 +1,6 @@ +{ config, lib, ... }: + +lib.mkIf config.jalr.gui.enable { + services.avahi.enable = true; + services.avahi.nssmdns = true; +} diff --git a/modules/default.nix b/modules/default.nix index ae19e75..c009cda 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -17,6 +17,7 @@ ../pkgs/modules.nix ./adb.nix ./autologin.nix + ./avahi.nix ./aws.nix ./bluetooth.nix ./bootloader From be3127e7d27764100695e4c76c340dac2b514a9d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 8 Dec 2024 20:14:12 +0100 Subject: [PATCH 535/766] Add avahi service --- hosts/iron/services/avahi.nix | 18 ++++++++++++++++++ hosts/iron/services/default.nix | 1 + 2 files changed, 19 insertions(+) create mode 100644 hosts/iron/services/avahi.nix diff --git a/hosts/iron/services/avahi.nix b/hosts/iron/services/avahi.nix new file mode 100644 index 0000000..977c3ab --- /dev/null +++ b/hosts/iron/services/avahi.nix @@ -0,0 +1,18 @@ +args@{ lib, pkgs, config, custom-utils, ... }: +let + interfaces = import ../interfaces.nix; +in +{ + services.avahi = { + enable = true; + allowInterfaces = [ interfaces.lan ]; + publish.domain = true; + publish.enable = true; + publish.userServices = true; + publish.workstation = true; + }; + + networking.firewall.interfaces."${interfaces.lan}".allowedUDPPorts = [ + 5353 + ]; +} diff --git a/hosts/iron/services/default.nix b/hosts/iron/services/default.nix index f2f47a0..7afd50e 100644 --- a/hosts/iron/services/default.nix +++ b/hosts/iron/services/default.nix @@ -1,5 +1,6 @@ { imports = [ + ./avahi.nix ./calibre.nix ./dnsmasq.nix ./dyndns.nix From 9ffcefc612185326a3bb00117a7f053d73aba66f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 8 Dec 2024 23:03:02 +0100 Subject: [PATCH 536/766] Add LedFx --- hosts/iron/services/default.nix | 1 + hosts/iron/services/ledfx.nix | 57 +++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 hosts/iron/services/ledfx.nix diff --git a/hosts/iron/services/default.nix b/hosts/iron/services/default.nix index 7afd50e..0915d98 100644 --- a/hosts/iron/services/default.nix +++ b/hosts/iron/services/default.nix @@ -7,6 +7,7 @@ ./esphome ./home-assistant.nix ./jellyfin.nix + ./ledfx.nix ./mail.nix ./matrix.nix ./mopidy.nix diff --git a/hosts/iron/services/ledfx.nix b/hosts/iron/services/ledfx.nix new file mode 100644 index 0000000..1496923 --- /dev/null +++ b/hosts/iron/services/ledfx.nix @@ -0,0 +1,57 @@ +args@{ lib, pkgs, config, custom-utils, ... }: +let + interfaces = import ../interfaces.nix; +in +{ + networking.firewall.interfaces."${interfaces.lan}".allowedTCPPorts = [ + 8888 + ]; + + systemd.services.snapclient-ledfx = { + enable = true; + description = "Snapcast client"; + wants = [ "network.target" "sound.target" ]; + after = [ "network.target" "sound.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + DynamicUser = "yes"; + ExecStart = "${pkgs.snapcast}/bin/snapclient --host 127.0.0.1 --hostID ledfx -i 2 --player alsa -s ledfx"; + Group = "audio"; + NoNewPrivileges = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + RestrictAddressFamilies = "AF_INET AF_INET6 AF_UNIX"; + RestrictNamespaces = true; + RuntimeDirectory = "snapclient-ledfx"; + }; + }; + + systemd.services.ledfx = { + enable = true; + description = "LedFx"; + wants = [ "network.target" "sound.target" ]; + after = [ "network.target" "sound.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + DynamicUser = "yes"; + ExecStart = "${pkgs.ledfx}/bin/ledfx --host 0.0.0.0 -p 8888 -c %S/ledfx"; + Group = "audio"; + NoNewPrivileges = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + RestrictAddressFamilies = "AF_INET AF_INET6 AF_UNIX"; + RestrictNamespaces = true; + StateDirectory = "ledfx"; + StateDirectoryMode = "0755"; + }; + }; + + boot.kernelModules = [ "snd-aloop" ]; + boot.extraModprobeConfig = '' + options snd-aloop id=ledfx enable=1 pcm_substreams=1 + ''; +} From ca0f4663b0b3c88b277acd154bba199382d96878 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 9 Dec 2024 00:54:15 +0100 Subject: [PATCH 537/766] Enable snapcast-discover module --- modules/pipewire.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/modules/pipewire.nix b/modules/pipewire.nix index d5fa8b4..f3e2e36 100644 --- a/modules/pipewire.nix +++ b/modules/pipewire.nix @@ -18,6 +18,23 @@ lib.mkIf config.jalr.gui.enable { enable = true; support32Bit = true; }; + extraConfig.pipewire-pulse."10-snapcast-discover" = { + "context.modules" = [ + { + name = "libpipewire-module-snapcast-discover"; + args = { + stream.rules = [{ + matches = [{ + snapcast.ip = "~.*"; + }]; + actions = { + create-stream = { }; + }; + }]; + }; + } + ]; + }; }; environment.systemPackages = with pkgs; [ From ebad296d69f144bed1de60995da83ec74d607e23 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 11 Dec 2024 09:55:25 +0100 Subject: [PATCH 538/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'gomod2nix': 'github:nix-community/gomod2nix/f11423d1a082d83710275913f05b2a0b606f5aed?narHash=sha256-i3FpT1w4x1hNZSKj20Rt2qHQvp1xp3Dz9rCPeSIQp0s%3D' (2024-11-25) → 'github:nix-community/gomod2nix/514283ec89c39ad0079ff2f3b1437404e4cba608?narHash=sha256-tPsqU00FhgdFr0JiQUiBMgPVbl1jbPCY5gbFiJycL3I%3D' (2024-12-08) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/6f4e2a2112050951a314d2733a994fbab94864c6?narHash=sha256-SVQVsbafSM1dJ4fpgyBqLZ%2BLft%2BjcQuMtEL3lQWx2Sk%3D' (2024-12-04) → 'github:cachix/git-hooks.nix/d8c02f0ffef0ef39f6063731fc539d8c71eb463a?narHash=sha256-%2BXTFXYlFJBxohhMGLDpYdEnhUNdxN8dyTA8WAd%2Blh2A%3D' (2024-12-08) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/e563803af3526852b6b1d77107a81908c66a9fcf?narHash=sha256-IS3bxa4N1VMSh3/P6vhEAHQZecQ3oAlKCDvzCQSO5Is%3D' (2024-12-06) → 'github:nixos/nixos-hardware/cf737e2eba82b603f54f71b10cb8fd09d22ce3f5?narHash=sha256-%2BjjPup/ByS0LEVIrBbt7FnGugJgLeG9oc%2BivFASYn2U%3D' (2024-12-10) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/ba3fa71b0a4442712885529f01291a084cf3f504?narHash=sha256-YZ2/U5x/6i5HZ7deI1diw48H9NQ3a5EJXUk1li15%2BD4%3D' (2024-12-07) → 'github:nixos/nixpkgs/6d60fef390f5959497a1475633a367eff2531c6e?narHash=sha256-sh/6PyGBXVboXqHDCjnmRuJMlRfKRAEKiVDp/wq5md0%3D' (2024-12-11) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/347d7e1d88770c4fd41fb758ac486563137240c4?narHash=sha256-2r0KpVWBz3BvExWsbRVk%2BBt8vhm%2BDMm37nkRJFuiTiA%3D' (2024-12-07) → 'github:NixOS/nixpkgs/e09964d017754a834c6ea18691ab03fd79a8a5e9?narHash=sha256-92qbxStkOTkn2TcWZHJ6Q0EC3OYFZoy4BoKXgeGnYoM%3D' (2024-12-11) • Updated input 'nur': 'github:nix-community/NUR/9e479b56f56dc09cc23d265c2957e3ed0f2fa7fe?narHash=sha256-YVvIoxhDCGYYDQhEj0%2BXtiTd4msUjjIXhE98AFenvDI%3D' (2024-12-07) → 'github:nix-community/NUR/d0b75000239c951baf13a810249da08f849d617f?narHash=sha256-mscKfmp9UIhqlkf/OBQqgYqe6e0SnXZCinRA59swOqI%3D' (2024-12-11) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/55d15ad12a74eb7d4646254e13638ad0c4128776?narHash=sha256-M1%2BuCoV5igihRfcUKrr1riygbe73/dzNnzPsmaLCmpo%3D' (2024-12-03) → 'github:nixos/nixpkgs/a73246e2eef4c6ed172979932bc80e1404ba2d56?narHash=sha256-463SNPWmz46iLzJKRzO3Q2b0Aurff3U1n0nYItxq7jU%3D' (2024-12-09) • Updated input 'sops-nix': 'github:Mic92/sops-nix/c6134b6fff6bda95a1ac872a2a9d5f32e3c37856?narHash=sha256-m6/qwJAJYcidGMEdLqjKzRIjapK4nUfMq7rDCTmZajc%3D' (2024-12-02) → 'github:Mic92/sops-nix/a80af8929781b5fe92ddb8ae52e9027fae780d2a?narHash=sha256-pm4cfEcPXripE36PYCl0A2Tu5ruwHEvTee%2BHzNk%2BSQE%3D' (2024-12-09) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 43e11d7..6bf85b0 100644 --- a/flake.lock +++ b/flake.lock @@ -204,11 +204,11 @@ ] }, "locked": { - "lastModified": 1732540042, - "narHash": "sha256-i3FpT1w4x1hNZSKj20Rt2qHQvp1xp3Dz9rCPeSIQp0s=", + "lastModified": 1733668782, + "narHash": "sha256-tPsqU00FhgdFr0JiQUiBMgPVbl1jbPCY5gbFiJycL3I=", "owner": "nix-community", "repo": "gomod2nix", - "rev": "f11423d1a082d83710275913f05b2a0b606f5aed", + "rev": "514283ec89c39ad0079ff2f3b1437404e4cba608", "type": "github" }, "original": { @@ -319,11 +319,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1733318908, - "narHash": "sha256-SVQVsbafSM1dJ4fpgyBqLZ+Lft+jcQuMtEL3lQWx2Sk=", + "lastModified": 1733665616, + "narHash": "sha256-+XTFXYlFJBxohhMGLDpYdEnhUNdxN8dyTA8WAd+lh2A=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "6f4e2a2112050951a314d2733a994fbab94864c6", + "rev": "d8c02f0ffef0ef39f6063731fc539d8c71eb463a", "type": "github" }, "original": { @@ -335,11 +335,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1733481457, - "narHash": "sha256-IS3bxa4N1VMSh3/P6vhEAHQZecQ3oAlKCDvzCQSO5Is=", + "lastModified": 1733861262, + "narHash": "sha256-+jjPup/ByS0LEVIrBbt7FnGugJgLeG9oc+ivFASYn2U=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "e563803af3526852b6b1d77107a81908c66a9fcf", + "rev": "cf737e2eba82b603f54f71b10cb8fd09d22ce3f5", "type": "github" }, "original": { @@ -351,11 +351,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1733579763, - "narHash": "sha256-YZ2/U5x/6i5HZ7deI1diw48H9NQ3a5EJXUk1li15+D4=", + "lastModified": 1733904937, + "narHash": "sha256-sh/6PyGBXVboXqHDCjnmRuJMlRfKRAEKiVDp/wq5md0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ba3fa71b0a4442712885529f01291a084cf3f504", + "rev": "6d60fef390f5959497a1475633a367eff2531c6e", "type": "github" }, "original": { @@ -399,11 +399,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1733579837, - "narHash": "sha256-2r0KpVWBz3BvExWsbRVk+Bt8vhm+DMm37nkRJFuiTiA=", + "lastModified": 1733907127, + "narHash": "sha256-92qbxStkOTkn2TcWZHJ6Q0EC3OYFZoy4BoKXgeGnYoM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "347d7e1d88770c4fd41fb758ac486563137240c4", + "rev": "e09964d017754a834c6ea18691ab03fd79a8a5e9", "type": "github" }, "original": { @@ -415,11 +415,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1733212471, - "narHash": "sha256-M1+uCoV5igihRfcUKrr1riygbe73/dzNnzPsmaLCmpo=", + "lastModified": 1733759999, + "narHash": "sha256-463SNPWmz46iLzJKRzO3Q2b0Aurff3U1n0nYItxq7jU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "55d15ad12a74eb7d4646254e13638ad0c4128776", + "rev": "a73246e2eef4c6ed172979932bc80e1404ba2d56", "type": "github" }, "original": { @@ -436,11 +436,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1733554674, - "narHash": "sha256-YVvIoxhDCGYYDQhEj0+XtiTd4msUjjIXhE98AFenvDI=", + "lastModified": 1733907038, + "narHash": "sha256-mscKfmp9UIhqlkf/OBQqgYqe6e0SnXZCinRA59swOqI=", "owner": "nix-community", "repo": "NUR", - "rev": "9e479b56f56dc09cc23d265c2957e3ed0f2fa7fe", + "rev": "d0b75000239c951baf13a810249da08f849d617f", "type": "github" }, "original": { @@ -551,11 +551,11 @@ ] }, "locked": { - "lastModified": 1733128155, - "narHash": "sha256-m6/qwJAJYcidGMEdLqjKzRIjapK4nUfMq7rDCTmZajc=", + "lastModified": 1733785344, + "narHash": "sha256-pm4cfEcPXripE36PYCl0A2Tu5ruwHEvTee+HzNk+SQE=", "owner": "Mic92", "repo": "sops-nix", - "rev": "c6134b6fff6bda95a1ac872a2a9d5f32e3c37856", + "rev": "a80af8929781b5fe92ddb8ae52e9027fae780d2a", "type": "github" }, "original": { From 185b8503ed5ae0efdc9b2a06371bcc8de27e28f4 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 11 Dec 2024 16:38:51 +0100 Subject: [PATCH 539/766] Disable banktool --- hosts/weinturm-pretix-prod/services/pretix.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/weinturm-pretix-prod/services/pretix.nix b/hosts/weinturm-pretix-prod/services/pretix.nix index 29edd2b..5145484 100644 --- a/hosts/weinturm-pretix-prod/services/pretix.nix +++ b/hosts/weinturm-pretix-prod/services/pretix.nix @@ -59,7 +59,7 @@ in users.users.pretix.extraGroups = [ "redis-pretix" ]; services.pretix-banktool = { - enable = true; + enable = false; days = 14; secretsFile = config.sops.secrets.pretix-banktool-cfg.path; }; From 2b4a244fb7c9acc14ed547a0f0a2f82faafe30c7 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 12 Dec 2024 03:05:20 +0100 Subject: [PATCH 540/766] Add mpd --- hosts/iron/services/home-assistant.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/hosts/iron/services/home-assistant.nix b/hosts/iron/services/home-assistant.nix index e6319fe..25f5ea6 100644 --- a/hosts/iron/services/home-assistant.nix +++ b/hosts/iron/services/home-assistant.nix @@ -162,6 +162,13 @@ in } ]; mqtt = { }; + media_player = [ + { + platform = "mpd"; + name = "mpd@iron"; + host = "127.0.0.1"; + } + ]; }; }; From d89a84cb9ec7b0e823b263e3e917e49d6d32da9f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 12 Dec 2024 03:05:59 +0100 Subject: [PATCH 541/766] Add TTS to Home Assistant --- hosts/iron/services/default.nix | 1 + hosts/iron/services/home-assistant.nix | 50 +++++++++++++++++++++++++- hosts/iron/services/snapserver.nix | 8 +++++ hosts/iron/services/tts.nix | 7 ++++ 4 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 hosts/iron/services/tts.nix diff --git a/hosts/iron/services/default.nix b/hosts/iron/services/default.nix index 0915d98..c0523da 100644 --- a/hosts/iron/services/default.nix +++ b/hosts/iron/services/default.nix @@ -20,6 +20,7 @@ ./snapclient.nix ./snapserver.nix ./sturzbach.nix + ./tts.nix ./unifi-controller.nix ./whatsapp.nix ]; diff --git a/hosts/iron/services/home-assistant.nix b/hosts/iron/services/home-assistant.nix index 25f5ea6..792890d 100644 --- a/hosts/iron/services/home-assistant.nix +++ b/hosts/iron/services/home-assistant.nix @@ -2,6 +2,7 @@ args@{ lib, pkgs, config, custom-utils, ... }: let ports = import ../ports.nix args; interfaces = import ../interfaces.nix; + domain = "hass.jalr.de"; in { sops.secrets.home-assistant = { @@ -64,7 +65,9 @@ in "esphome" "local_todo" "openweathermap" + "wyoming" "xiaomi_ble" + "vlc_telnet" ]; customComponents = with pkgs.home-assistant-custom-components; [ adaptive_lighting @@ -87,6 +90,8 @@ in temperature_unit = "C"; longitude = config.location.longitude; latitude = config.location.latitude; + external_url = "https://${domain}/"; + internal_url = "https://${domain}/"; }; default_config = { }; adaptive_lighting = { @@ -194,6 +199,49 @@ in } ]; }; + + systemd.services.hass-vlc = { + script = '' + exec ${pkgs.vlc}/bin/cvlc \ + --no-video \ + -I telnet \ + --telnet-password=vlc \ + --sout='#transcode{acodec=s16le,channels=2,samplerate=48000}:std{access=file,mux=raw,dst=/run/snapserver/hass.fifo}' \ + --aout=none + ''; + serviceConfig = { + BindPaths = [ "/run/snapserver/hass.fifo" ]; + BindReadOnlyPaths = [ "/nix/store" "/etc/ssl/certs" "/etc/static/ssl/certs" ]; + CapabilityBoundingSet = ""; + DynamicUser = "true"; + Group = "snapserver"; + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateDevices = lib.mkForce true; + PrivateUsers = true; + ProcSubset = "pid"; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "noaccess"; + ProtectSystem = "strict"; + RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + RootDirectory = "/run/hass-vlc"; + RuntimeDirectory = "hass-vlc"; + SystemCallArchitectures = "native"; + SystemCallFilter = [ "@system-service" "~@privileged" ]; + }; + wantedBy = [ "multi-user.target" ]; + }; + networking.firewall.interfaces."${interfaces.lan}".allowedTCPPorts = [ ports.mqtt.tcp ]; networking.firewall.interfaces.iot.allowedTCPPorts = [ ports.mqtt.tcp ]; @@ -210,7 +258,7 @@ in "f ${config.services.home-assistant.configDir}/scenes.yaml 0755 hass hass" ]; - services.nginx.virtualHosts."hass.jalr.de" = { + services.nginx.virtualHosts."${domain}" = { enableACME = true; forceSSL = true; kTLS = true; diff --git a/hosts/iron/services/snapserver.nix b/hosts/iron/services/snapserver.nix index 526070f..02ba3bd 100644 --- a/hosts/iron/services/snapserver.nix +++ b/hosts/iron/services/snapserver.nix @@ -7,10 +7,18 @@ in services.snapserver = { enable = true; streams = { + default = { + type = "meta"; + location = "meta:///hass/airplay/mopidy"; + }; mopidy = { type = "pipe"; location = "/run/snapserver/mopidy.fifo"; }; + hass = { + type = "pipe"; + location = "/run/snapserver/hass.fifo"; + }; airplay = { type = "airplay"; location = lib.getExe' pkgs.shairport-sync "shairport-sync"; diff --git a/hosts/iron/services/tts.nix b/hosts/iron/services/tts.nix new file mode 100644 index 0000000..344e6ef --- /dev/null +++ b/hosts/iron/services/tts.nix @@ -0,0 +1,7 @@ +{ + services.wyoming.piper.servers.default = { + enable = true; + uri = "tcp://127.0.0.1:10200"; + voice = "de_DE-thorsten-high"; + }; +} From 84e7d76f140d5afc19a690ff0224f12b3548e1fe Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 16 Dec 2024 03:15:58 +0100 Subject: [PATCH 542/766] Add bluetooth sink --- hosts/iron/services/default.nix | 5 +- hosts/iron/services/snapcast/alsa.nix | 6 ++ .../iron/services/snapcast/bluetooth-sink.nix | 77 +++++++++++++++++++ hosts/iron/services/snapcast/default.nix | 10 +++ hosts/iron/services/{ => snapcast}/ledfx.nix | 7 +- hosts/iron/services/{ => snapcast}/mopidy.nix | 2 +- .../services/{ => snapcast}/snapclient.nix | 0 .../services/{ => snapcast}/snapserver.nix | 18 +++-- 8 files changed, 107 insertions(+), 18 deletions(-) create mode 100644 hosts/iron/services/snapcast/alsa.nix create mode 100644 hosts/iron/services/snapcast/bluetooth-sink.nix create mode 100644 hosts/iron/services/snapcast/default.nix rename hosts/iron/services/{ => snapcast}/ledfx.nix (89%) rename hosts/iron/services/{ => snapcast}/mopidy.nix (97%) rename hosts/iron/services/{ => snapcast}/snapclient.nix (100%) rename hosts/iron/services/{ => snapcast}/snapserver.nix (73%) diff --git a/hosts/iron/services/default.nix b/hosts/iron/services/default.nix index c0523da..94f5ccb 100644 --- a/hosts/iron/services/default.nix +++ b/hosts/iron/services/default.nix @@ -7,18 +7,15 @@ ./esphome ./home-assistant.nix ./jellyfin.nix - ./ledfx.nix ./mail.nix ./matrix.nix - ./mopidy.nix ./navidrome.nix ./nginx.nix ./ntp.nix ./public-ip-tunnel.nix ./radicale.nix ./remarkable.nix - ./snapclient.nix - ./snapserver.nix + ./snapcast ./sturzbach.nix ./tts.nix ./unifi-controller.nix diff --git a/hosts/iron/services/snapcast/alsa.nix b/hosts/iron/services/snapcast/alsa.nix new file mode 100644 index 0000000..1b8566e --- /dev/null +++ b/hosts/iron/services/snapcast/alsa.nix @@ -0,0 +1,6 @@ +{ + boot.kernelModules = [ "snd-aloop" ]; + boot.extraModprobeConfig = '' + options snd-aloop id=ledfx,bluetooth enable=1,1 pcm_substreams=2,2 + ''; +} diff --git a/hosts/iron/services/snapcast/bluetooth-sink.nix b/hosts/iron/services/snapcast/bluetooth-sink.nix new file mode 100644 index 0000000..77418a4 --- /dev/null +++ b/hosts/iron/services/snapcast/bluetooth-sink.nix @@ -0,0 +1,77 @@ +{ pkgs, ... }: +{ + environment.systemPackages = with pkgs; [ + bluez-alsa + ]; + + hardware.bluetooth = { + enable = true; + settings = { + General = { + Enable = "Source,Sink,Media,Socket"; + Class = "0x00041C"; + # Pairing always on + AlwaysPairable = "true"; + # Don't disable discoverability after timeout + DiscoverableTimeout = "0"; + # Faster but uses more power + FastConnectable = "true"; + # Allow repairing of existing devices + JustWorksRepairing = "always"; + }; + }; + }; + + services.blueman.enable = true; + + systemd.services.bluetooth-auto-pair = { + wantedBy = [ + "bluetooth.service" + ]; + after = [ + "bluetooth.service" + ]; + bindsTo = [ + "bluetooth.service" + ]; + serviceConfig = { + Type = "simple"; + ExecStart = pkgs.writeShellScript "exec-start" '' + ${pkgs.bluez}/bin/bluetoothctl < Date: Sat, 28 Dec 2024 13:35:07 +0100 Subject: [PATCH 543/766] Fix service dependencies --- hosts/iron/services/home-assistant.nix | 2 ++ hosts/iron/services/snapcast/ledfx.nix | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/hosts/iron/services/home-assistant.nix b/hosts/iron/services/home-assistant.nix index 792890d..d2bea9e 100644 --- a/hosts/iron/services/home-assistant.nix +++ b/hosts/iron/services/home-assistant.nix @@ -209,6 +209,8 @@ in --sout='#transcode{acodec=s16le,channels=2,samplerate=48000}:std{access=file,mux=raw,dst=/run/snapserver/hass.fifo}' \ --aout=none ''; + wants = [ "snapserver.service" ]; + after = [ "snapserver.service" ]; serviceConfig = { BindPaths = [ "/run/snapserver/hass.fifo" ]; BindReadOnlyPaths = [ "/nix/store" "/etc/ssl/certs" "/etc/static/ssl/certs" ]; diff --git a/hosts/iron/services/snapcast/ledfx.nix b/hosts/iron/services/snapcast/ledfx.nix index a6ade67..9f78c71 100644 --- a/hosts/iron/services/snapcast/ledfx.nix +++ b/hosts/iron/services/snapcast/ledfx.nix @@ -31,8 +31,8 @@ in systemd.services.ledfx = { enable = true; description = "LedFx"; - wants = [ "network.target" "sound.target" ]; - after = [ "network.target" "sound.target" ]; + wants = [ "network.target" "sound.target" "snapclient-ledfx.service" ]; + after = [ "network.target" "sound.target" "snapclient-ledfx.service" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { DynamicUser = "yes"; From 208d7d8b7d9cc9ddd4d33606b034454affc7bfb3 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 28 Dec 2024 13:38:21 +0100 Subject: [PATCH 544/766] Replace inline lua scripts with lua type --- users/jalr/modules/neovim.nix | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/users/jalr/modules/neovim.nix b/users/jalr/modules/neovim.nix index ad9fe28..d1f585b 100644 --- a/users/jalr/modules/neovim.nix +++ b/users/jalr/modules/neovim.nix @@ -88,18 +88,20 @@ in nvim-lspconfig { plugin = telescope-nvim; + type = "lua"; config = '' - lua require('telescope').setup() - nnoremap Telescope find_files - nnoremap Telescope live_grep - nnoremap Telescope buffers + require('telescope').setup() + vim.keymap.set('n', '', 'Telescope find_files') + vim.keymap.set('n', '', 'Telescope live_grep') + vim.keymap.set('n', '', 'Telescope buffers') ''; } nvim-treesitter-parsers.twig { plugin = nvim-treesitter; + type = "lua"; config = '' - lua require'nvim-treesitter.configs'.setup { highlight = { enable = true, }, } + require'nvim-treesitter.configs'.setup { highlight = { enable = true, }, } ''; } { @@ -117,7 +119,8 @@ in ( lib.mkIf nixosConfig.jalr.workstation.enable { plugin = lsp_signature-nvim; - config = "lua require('lsp_signature').setup()"; + type = "lua"; + config = "require('lsp_signature').setup()"; } ) ]); From 374daf8d7408033010b00f73f1c4e436e23de1cb Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 28 Dec 2024 13:43:47 +0100 Subject: [PATCH 545/766] Add instructions how to build a system config --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 5d6c327..332bf77 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,12 @@ nix run github:nix-community/nixos-anywhere -- --flake .# root@ Date: Mon, 30 Dec 2024 19:49:58 +0100 Subject: [PATCH 546/766] Add 38C3 wifi config --- modules/networking/network-manager.nix | 41 ++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/modules/networking/network-manager.nix b/modules/networking/network-manager.nix index 18a6426..d70a218 100644 --- a/modules/networking/network-manager.nix +++ b/modules/networking/network-manager.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ config, lib, ... }: lib.mkIf config.jalr.gui.enable { programs.nm-applet = { @@ -6,5 +6,42 @@ lib.mkIf config.jalr.gui.enable { indicator = true; }; - networking.networkmanager.enable = true; + networking.networkmanager = { + enable = true; + ensureProfiles.profiles = { + "38C3" = { + connection = { + id = "38C3"; + type = "wifi"; + }; + wifi = { + mode = "infrastructure"; + ssid = "38C3"; + }; + wifi-security = { + auth-alg = "open"; + key-mgmt = "wpa-eap"; + }; + "802-1x" = { + anonymous-identity = "38C3"; + eap = "ttls;"; + identity = "38C3"; + password = "38C3"; + phase2-auth = "pap"; + altsubject-matches = "DNS:radius.c3noc.net"; + ca-cert = "${builtins.fetchurl { + url = "https://letsencrypt.org/certs/isrgrootx1.pem"; + sha256 = "sha256:1la36n2f31j9s03v847ig6ny9lr875q3g7smnq33dcsmf2i5gd92"; + }}"; + }; + ipv4 = { + method = "auto"; + }; + ipv6 = { + addr-gen-mode = "default"; + method = "auto"; + }; + }; + }; + }; } From 5fcaf0b00e2d5b6cf3ea27cbe6061c72c1846290 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 31 Dec 2024 17:01:34 +0100 Subject: [PATCH 547/766] Add EQ for Framework laptop --- users/jalr/modules/default.nix | 2 -- users/jalr/modules/sound/default.nix | 1 + users/jalr/modules/sound/easyeffects.nix | 7 +++++++ users/jalr/modules/sound/pipewire.nix | 1 - 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index 6211b94..429c3d0 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -1,5 +1,3 @@ -{ nixosConfig, ... }: - { imports = [ ./3d-printing.nix diff --git a/users/jalr/modules/sound/default.nix b/users/jalr/modules/sound/default.nix index 5c7de31..21f8976 100644 --- a/users/jalr/modules/sound/default.nix +++ b/users/jalr/modules/sound/default.nix @@ -3,6 +3,7 @@ { imports = [ ./audacity.nix + ./easyeffects.nix ./pipewire.nix ]; } diff --git a/users/jalr/modules/sound/easyeffects.nix b/users/jalr/modules/sound/easyeffects.nix index 215ba9a..eaad63c 100644 --- a/users/jalr/modules/sound/easyeffects.nix +++ b/users/jalr/modules/sound/easyeffects.nix @@ -4,4 +4,11 @@ lib.mkIf nixosConfig.jalr.gui.enable { home.packages = with pkgs; [ easyeffects ]; + + services.easyeffects.enable = true; + + xdg.configFile."easyeffects/output/framework-16.json".source = pkgs.fetchurl { + url = "https://gist.githubusercontent.com/amesb/cc5d717472d7e322b5f551b643ff03f4/raw/85029e48072ab3802615b2824dce7df204f0d8ab/amesb%2520fw16%2520EE%2520profile.json"; + sha256 = "sha256-Te8S9DsG5P/NuNk5WE6mSB/DjHS+rKjOFRN7mDEVg8g="; + }; } diff --git a/users/jalr/modules/sound/pipewire.nix b/users/jalr/modules/sound/pipewire.nix index 0be3f41..22503f8 100644 --- a/users/jalr/modules/sound/pipewire.nix +++ b/users/jalr/modules/sound/pipewire.nix @@ -2,7 +2,6 @@ lib.mkIf nixosConfig.jalr.gui.enable { home.packages = with pkgs; [ - easyeffects pavucontrol qpwgraph ]; From 643de2a5d4c556bc9a549d0b6037bf3c4b2690d3 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 8 Jan 2025 02:06:47 +0100 Subject: [PATCH 548/766] Add keys assistant prototype --- hosts/iron/secrets.yaml | 8 +- .../esphome/devices/wohnungstuer.yaml | 196 ++++++++++++++++++ 2 files changed, 200 insertions(+), 4 deletions(-) create mode 100644 hosts/iron/services/esphome/devices/wohnungstuer.yaml diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index 7a87653..7594642 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -9,7 +9,7 @@ dkim-keys: jalr.de.default: ENC[AES256_GCM,data:mnApsYKXYGtUAHddccmNmU9yZQtekDkTiTXbJ0UJxC0rFxzQCtGsinQslIROJdNUxsxciR1ilNzxawzjJD7AaWJbcAq2TYObGJJOQZBif7t/XEN/rIxEmnAFmdeAyrSONmFb9DiEn59m6DpsU+/9Y+hnc/uwwbzueO34WHJnTqmmsxFVNQZfGR+cbSckHS3wZrfjZSKKzCRt+9DU/xxJ4voyowXLO77w00LHVkyU5liwONi0v2XJ+QeP/jIMmJeKjujZcH+qvUm/kukijqyWKGrZoAYPC2cBlL/UrNECuVdSLMXvr4KBDDTCRZCSMRgUPJ0TAfpQPTPitKJ/0igK7qQl9n/6hckY7VyP8KDS7J7G2Z2XVxfZrAR4X/7ya9B2kneVr2CNx3w954EdTcV1/lD7rcKRjKynyl3ddf8gxJFJ21k1ybo2RLnftGCRVq25qNwhyfjU8x5c7AEs+YTPDrcnmxZ/Ui276eLwpMj61oZzTp8QQhiBVwS/+ruRLC+78pu2gb1gBF/Oo3nuvQD1SOpCRikLVewCYDvfXj/hrjo+oCsjTOj+9tWRcRAEDVlhkXWCMuPXDYrdt3HrIWbQuP8NW1ezd1Ll0r1ujjtPJeSwdd8cVcUSBIoA5gU+eXnYjFaSx9BZ+sIfKqG//W3S+aBYDqAEK/z4N5q66sReb5mtSQYfbZuIZDmox9bwNMG3tJmQX0lJZgEIiuJ5/ef4ra0sj9JsRFldmIn9KUmjW9OlIwzQ42cNNvQSMD/6haNiYsE6TPzVylJ/B2kNu9Qh5FfpCIPtVORv2BAGoNvZlyhjyEiXBEZ4x2hx1l5cBwGOaGhoJ0p+1wqn2zDalIBaEFjbBVdIB6DPC6/lccvpqSwF7HvW2ugyYhW+u92vgic71/BsI4i0OlsJV18gU/zVg0Yj8SK69kEwm4wkJTrkM/I4+kkUIc5OiSAknRfjOFJc0etkh3nO34xpHLOkSv9DrKfXSAGmGZtCLtVL5LGdZeCd/g6EK0JJh6bd9Gu9koSJVq5vjdDJJFf+sgk39TCvHAvk8k1/FgdK5jMJ+pR8heJtP8G96ay3DFVm5hpbjuNKqfBvbf2rkyV6++ywRFnAQGPUiMn9g6Q4F5Ks7CC1D0Ubl7b3dCUk6BDi8rHjxy9QS0/25Yz9cF0bFd6XQDfblnyRLMi9aB36M9Vp38Oh5aB16MyvNUHzcxpaAak0yknE6OuuEMBPQZgFVADCITfy9eUXl2FoXrMWEnBO78GybQ+cV8nhynn5t0U+3koMy2E8ju5kiEofQxXylys3Q76iKRRUbQqFkh/ndWtJVVfGNpi1GrUr1w1YZM0hBY9FqqeBjf7ckj+9BdiwWJ0XauuR70o7odm02mydk1/T3Hfzt3OE5nHIXnVbum9KyPx8wXj9qc6JGFm558pQOcRUgGUi+EzGoGckkoLx4Onl+XeGysW5sXP9dbYgMBug0Tjmdo9xkoBti6znDnN/zh93bbzWITNvxMgVs8zSWEhlM0c7F02UeUXSekbTFue5FOaMdYObMvPeb53jAKBOYLr34GVFvucJhKajIaNzDvfiI6fGCMxcSsWk+P3co7gdbRlWYZELsKDu2scktZsHr/gRwRiDZXAWOLiWZL4jswQ1vXSFXJgdblEV//hr2DwsAtCAsyFcgO/LGq30xi3xNqHTkUZXo6cZYSb6EVaIywMCI5ySEnTLAp/xedySANHuo8yyVqyLxkDPI7CnnSS7JcnQF3K5z+NZ0KnIpc1ewGupOhS0fKj31XxUkoSsHEY/iWJPLNA8+4VsBkADnGdkYXHTvy/yAGV6w1k1qtjiWhDAGcE9/o6NOHctYm3cx8CVsLpve/WFUaCkGgjWJdC8XP92xsUQoE6PENn6ZzFaqGHs7hgQqE1kBcEj8N5WkEqkoMo82giHE33iYoVUdkjOTkV4iDGEqyjg1BoM0GedR2A832LseDkP7u4DjIAQfpIDu7PaeiDh7xWkPRwIMV0oDTakXTdPkPGdgFikzTaxkTzRlpCbQuV769eITqVT04kJDp7+0Rb6dtjeXc0Ennv68wZSiyrlmXbrJntg7g1wrebq28q9NMIZETAPugfK6wNDu/Iw1q1kZn2ELo6xaDlcIxHDcpzK7e2VAYYuP1k3sYnSLU3oeq54j3/yS2z1me5FEqWlPOCrjdnLkE3/GjbeMsYo2YTYJEUEd2ncacSCoXUaUoxpBnjRYcHLRUV+6jy7Amp0/52rAPzSeVlBzc+SdNiKLYA2UQ74WrMU596Gkhw1SD8jSM5QqSBhH9sL+oE4GjhjLhstMUPdkNgiwxXDTZLKcIyjN1cn+RSmvNA2KXMH6MoXrkqSkJ9u2s0QAhla51zR/LZwWbzwGOO0dkh3rwh2x+pcCfuzvlk3lYr/x5XOF2k1n8yvehXY5zIX8nk6djjLbvAzzSr/yalS7R0WYIc6CjzoUl3qz+PlneMfKHcaX00hkOlIub/ZFQf1RE+JzZxi0qQq4M8Nt1XRKGDeS448Z6znDpedStUH29krZcnjMtyLmPX7ETTsjr3HLpCOd7MQ2K1rfhmvh5BtJkn1KSUf94puZbkLH7X+WnWN0hsc+KbSXnYZvqwJ8G0/7ptp/Q+wGljqhjv+HhOeA3NUwANv1xWgbiymVIlxCodXtQwn8mxS+jxSvslGwOnyUkTT76IbFbv/IpW6PNvj/xqwOqey8a/4WCGcqs403Y7TKQ+xCflG6K3tL7U5UbMnMgXTeZvoK+DooS2eIepF2WB5XqTuOZJV2OQ6GHfaBMjXN9iGVNLi6XgkbpmcMLQ4TZq+dVmgleJb14IaTFD3n74OfmbcT9lmRfPRJEpFEMNeL3ghH54P2a91zJFASgE7x+Uv2cGcmKFtMbyc/rrhH1F/Ixlv/R37huFo1T2dPMEZ/1ouuPpbUQ5oz/JlOWw3NOxd0O6oG0x9Xib+9KxSFOusLWcFEgx70jrBQKj8s2Jj+W0gZYv+BJtPMPY0KAkRj1amt4Fd6ZrPOEXJ392EHSAEv5jssO5ba52OHKA+QkYvPPL04rwkxSAQiTl57scnEj2WEIP+Lz0/qsMnwF+3rWuz856doJZcXX+U9iuzBCaYQqA1P3BojAYhEHnXBPeolHOA3BmhT9E2TJsZ6P9SQ+GaqyLm0i4vRXGlArlkLwRBs9EZv/l4DT8q0YHha53O4rhRzGJZKAOO252Dpha1YN7+FubYGAZjaUT5O0R/7xSPrGyBejddtM8asW8+NClAn4Y6xvj1IgUg6VRpEy7ZIpZEQ+UyDWt0A4nsipaz2NyZKZ5Vxza2v1qZDdYODK8nm/zj7fR/JykaNVEVj7ceTSHdaQlajfeEWWTs92msIBcqPUXqlaR005hoVvXm+WCnzIMIXLGiyRKRsAPIDYh2hGCtvfXLSq5TYm3bnGAImL0KW3Yllt1qSqSbOYsvm5QfDmTrrccvtSLGRj0rOU3Z8f4WXjf+1YgxjZ9h8fKL+LKA8x1S6M8fl0JVGBIAU8Xe8c4+r2F1VcygJp7h+0v8o8GudM6in4djAdeMLWBgXid7r0q744joFucP56opwYQp3Lu0oFEo0omS6Rh9yPfOjdGBU2eUdjcCNXXuEJD9yHSyebviSAvDw/KH1AxYSWYnjMWACCfcbOlXf3ej7PuQgq5MdFwF7+QawXm0john4YusUon4/0fqd/IFLd6oHYYesxcFdm1jN6DeS4SAqRgeEPuEWDFERgXjLHBxl5Xdi5n+NOR3Vc7ziJ9j9/CA1DKdwmsFBBDcVKMnr2FibXpN5WsSdlBng0L2zhkL22wRH9xbz8Xk5shN20/EHoxHB5HJvwfOgHIC7ooWKOUUuNTZH43+gVN+wzRzlMfiF4X71Edw+lTnQRp6Lh03M2k9do6JPoX2+UU0h6mOYiAFkhHKzCmK3DY12c4Smx+qLJNbUGhoMgthu/WnXObm0Hr+myCooTYSVNTJx6vVjI3GZtMcat2o8B9k38u/Y5/FxqTYmyXhROwS4v3W5fXwTAaxBqQy6Xj5s4V37omBBh/Z9a43nc2VlT7dKR1wIvNB/gqhiYyYrVMtYMJqGLkeCbu50LUWT4qXyR8uaqbZTVjyJCQRxZd6fd3Zfe9wIeYe3N5qKIXkFD3n1U2Q/EyRfb3TpiA+eYkAtl6JGK0vpeWpN5M2LJ3/V79e3cIG7B7/p6BrRxKxHDnBZcu57KKaN8XM+v2KTz7XdF8bjgeu1V/B9WoBwnpzCM+3s5ffNceuUcb2gJgRAUpZvcSDLYy+9aluGU2Tvsm49fCzr851p3VSEJepgPpnvuq874AX/MbPvqidF8Y21Kss1RUbl5wrlq5IihKdM+xCSq6mjvtSPVHRvw==,iv:2NBiTTW9slOH9BvM+kVbMB/+8EiS/Dc/eaqrtiwn4HY=,tag:0rc2+ZWy9XZYE7RK/oSo3g==,type:str] synapse-turn-shared-secret: ENC[AES256_GCM,data:Q1XRds3Zud1kYkvD6s9WUzP+kNDNsxB5SHd6oCAaLCHhHhYENSAYTZOF+rGjCPNyKFL0e/A=,iv:zScRQrz+pXHNUh/BGOaV+TVnDR3wu1Z/UO1zXarKwtA=,tag:ckpVziE+yb0FjctcT7tAkg==,type:str] rmfakecloud: ENC[AES256_GCM,data:ktKBKb6cRv1VF8tRvXIpxIy9hPinVPKK05mgvYzz18PEdcrCLpldm5xf7ffHtY5XzDOAMXDCiz6x4xyv7071frrF0spOEPnIzVhxwG8H2Ck=,iv:qJdHjv0RziAs4G9UGeRwGQ4GE5kaObJWpIYWpRKhr9c=,tag:PXgvU1hZK/gvWGyFJaHekg==,type:str] -esphome: ENC[AES256_GCM,data:QyPrVPhqvaCfx7oRmJ14EFpEIpQRwlLwTABK9qTP/wYcoflFsorNAmIoTiX/4KziQl050ByztnjIhrsxFx2dN6dv+RiLVWP+k0G63rfeS5gxe8QSgzsEtWWaUk3DE87i20DUusj1/B6yUsMApMohjaufuVzReL2MtVSVgtDUS6nVqGnRubrdujAxyRWvjQtamWBa1fjz39U876F10KMUYB+iGtObfNJGH18lAQ1arKEUQQSl8u1vNJuZiKqFhzxcu/IF6AhJgcKmCi2nrcEgbrv4ZwOcJ7+VG29qY7C4LCeAU4wOWJmtnCSf9osSwzR5hFco46L3Y8k0XXEOiEAJl+8ZLNKqQJpShh9wioMrj9XNpX/PvGCpBLTHsXTCGktDdbK/RLEGZnnL0s6If7Qs0XTwWZEe0q4IsltfdWJdZQWbvlY58ooUkK55wml/SlpuHgSdY6pOp/bOnBwvIrh/962DWtSXDxNnvps4Qy0eRUtpS2G6+rLIXXkq7KlSUg/A5XRNWbLGX5u7pJuvJ5xlldFW+tb1rqyrKXGIGra3Y6Ib4Z17znmajMSIeQItChj8UsOqlcHaCI5s8kDFjafJfpTTtAm0mj2cBFYmWHC/WR1YAtd2mrffr258CShtO+eeAqhSSTopIL637udKaY1Vto1dVReTmK24ANopQOaxnTtFjBdQaeluP4PAWrAGADBio1iwjsWIQlr0vnMjSBd0JcnW0Q3i+/5zhQfaEzZ6FQXOs05+l7ryLrGgBbyM2FRLTuAWBsv5yv3lz8FiSGVNaLMW5rofZpFvX0oa7P9HyU/RIpUzx307VBsIJlzrW2NgWvc9iLHLHWJDa7xcemGTvZDp/0BujYHeYYfVViPtVcCicLvDLikgtJRlkdPmyRoMSx0o3taoPsYoVZielo5EZpLiaLwuCNnCk2fRxAgPUa4+zGhZc2Z/BrOvK7sxcyIXEYRrZ8Ti2iNQJthNNb1CzSUXpdpSZtFi1jjiC45V0dlg/lSqrkRjyA9DpGbegt3WpO/6X+uc9vSAgR4f/0xNngTKzCfFV+fyUJXffpje9fQhQnecsTDjjc3aLiESqc3mx8MP6gHI9fS8z8PU72t+4tJxe8hjo7VWlInOVKV9zp9Tn+P4Ez1MebPJRlrwHGSVFsPhKct+CgzE+Q0B3vvcWyQfdJHeFCPWsTWmcCUoJf61fQO/3JwZI8YE3HET+NsRoxVHTl099LzWWCbrfT4uN3+O3VQbceLM+KxKCLVGNEHKlF8NHCIk4KCWhKNwhXvuMjf4GgtYbENFn1QbmiQFpYfIl8FA8PZVk7x+dzuROL4NpIKaBfrg34LQnxFpc2YCBnEsmsJVPybR5ZHC8eDL7JdVSg+FhvOxzBkvCeQjG8746/t0HJYPucisFCmP1isGpcn8Eku+BT/2XocHsUwpyo+RQoruWKwkLtnCHeaGSszqWzugSGXU4b4T2HB2yU9ORpt6uP+wbtc49GeMHrUGiO+w6BQm3TzPEZ0XMh4+8iayGhbd8T213C72sHpo5eCbv7C2zE/3dxHr2/+xtfstQFRuMPhq/r/4aqkeGKTwWEBcOwD1knlnbXo5OZsdvX9SeqF+mno/uDxZW00QqaWiQz89SWLGHtC4gjbE2wU2IpiGZMTOtNieOrjjCfdX3ZkrhA==,iv:Qn0nDrXRCOJaTJJBK6/PEGbhS1pbB0dTZYakgha5wJQ=,tag:8GeYWlsxgAGfFL61V5CwXg==,type:str] +esphome: ENC[AES256_GCM,data:/qvYCozy6r5p3mx5QJUTcPF3NOnO0eowN4xAxt7eKbDIFgZ4E6lHOiEbZE+EluRsIiex3G7JvXeuGOG01U95caUjZ18lFQze+VxM31DACzbMB2u5QxKsWnNRABD6JdFM90HCymajEQTrZJWZJ0V6VyeJf6mj7ZYXJGjVyDxzVIRWF+2B4g1zY6211JFhwl2eo6//EamCqTuLYt6XagyiJfJJ3gp4yHF4ehxlU01IwO5OcBUhgWYGMf6y0JqLIkxqryQsl9L+VrWgjgx2fcjMhGA5C4yZ8dLOstSlOAsKYbxqDyKF0PoBf07WTiCcNx9ReW5wdfg/vb2tVXS0i58SrD81/G0p6gExKvnXmgdSU74hvzOaRNIMbRXUq+6ZXxZMJm/HahHpZ9klMWptmyQ/Y9eBiWEW0EflFZkGuIVI3ycn2admcRdF9SGi+dONeshbjdutFUrGfm+WRBD0FU103KwGjtxFFy5dC89PhMkOXFSR903d7Fy0DZ+qEo1LxzYS7prpTZz7LIYEC1H30du9PTWJhFMRSP7PFjmbPKxcG46dNYLh/I6quzHHmsinTO1zkE3/KgjchQcATuHV6t32admJccjsR8R69bcEEyWwixofhauQ35zlMC9jF2Q1GhWosisIQFLalHH1zitdH5K9qE+jh1MvEPh1tHJy/7RL2CMduBNQcGC/Af5T//4S868XknCxrjL1m8f/7As1+Iinu7Pee28vmtDeKPzQmJogqntMOoz9w6R5hERz5N8ch9RWqKU0z6hV5ciUG18PlyU/WWZ4rDaZJeUHM7vae+Y+or1O1PuemjMLHQhClYEGwbS+J93UrXKFsEytEz1s1BiJLpgJxYKzhb4zNFIha9SINtUq6ahHmzkjwtc/h1LDn9kQ/40nAIzUEt+UvUkeKpst+BbUEbAQi4WMU5BARl/Ogvpx2BocfE0GgsPksUbcwjv8y4AOXuHf89nTqVNOj8vyBr0oyQdsDayBQ9qLsp2xun7q9BLYw0BHLjWNwY7zp9vUXX476zcIWxhd1nOcl4Hma8z/GiceLBuMNnWNiou7G7sAWWKQIWSw5Kf6ebaP6uAY7wS0W0MdN90ascHcgZd1EHqluKSqxSPKVgQ1vfQtBh6uIPec12oJzcBxPj0yB4MnH5dsdaMjVUElRdzs8F+0T0SCYZSY+OK2OL8xN1WGW96bH3/+UEQDYHLmXOcsDcNGHHWkPAllArRLS65pDoI2IOFYdJzhdDWI+qVZZsxQf0NeW91ATN7qE/B+MlCIWugBUFOo9mIBrR/+FqUB66FnFvuO7J3Yaz/tHe5UDKJFqxgBVt4JwFHgxnwIjFHiNPbmeXhLJNy0yOhj4CF/Ah9sw1gDtULHMD5TiL/+0TFXaUZV7RqYK6dZtKW85LO3P62SM33Y6/HFlU+aEowfY2ZJKeAuOifbl8FQKFdMr/DY3pz+rJLY6SolMwn2tVq/u1OVfRCVLGTMU9V7nyyN5NfNSaucncqdb1HoybqbXvfE+iFjOkndwkU9aPhvw7ivK8EAeEpaKF3JXdlb01zl9ra8izjLVALCBIpmAJj8a4nP6z+zybxbfGiV20kFTGljvAGQ+G0fRtiH03jR8zdhuVHGkVDbKz8M9X80LM8eDFpaObA76SxtHTlQ7mlnreUQyQF4dEtL8dTDUcf8U1Sm8MkB1FW7vKVaXrSe/4FR9kayVo2GbjZUqzs1tEh2yBIOI4AnPz4ZxlapAiz9+/Msb46XwvXxO76Ax/lbzD9MnNgL3W0CUuCTtp2FG9AOBa60A22Tmk4DTNh6,iv:n/n2dgY5SQb8Z6fo+PROESZY4J4HpCOV/Gau4GcWiFQ=,tag:4vz12dpzqQQeY8GAHLXS9w==,type:str] home-assistant: ENC[AES256_GCM,data:wcFMxDdRCHf/shO9v2WaGgrsa9J2WP62xFs=,iv:9ckeIO62cFZUo8fPyQj445CrJVTooNlwLapM/oTsrkk=,tag:mlfxtXDPsB3T79P9BX9oJQ==,type:str] mqtt-users: home-assistant: ENC[AES256_GCM,data:oIjCw7ZnA5iOBmQdW1jcy3QQnpjT32pY,iv:5HFRkXJBdMXQbjk2ubQs3sEy5qEteiqSe2hrNc8+H40=,tag:7B6yI4oCHanE0JE/gHaKnQ==,type:str] @@ -29,8 +29,8 @@ sops: SU1USkxFUUY2NVhmUHBhZkdrNDR1Q0kKiXIicInELRjDR3tuyA+lnXeCcd9lYvbV GnBRGPM7BNO/6AA7HhAei48Kt+XE6+jQX66yTXyviKhK7Lpjrlb2YQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-11-19T22:31:29Z" - mac: ENC[AES256_GCM,data:VEeLfkMhm/JiB+R/mWVHzoX7vtQHT+b+G14kNk0ri8PtJ9WtvaDJFs8zX87gaH/XUorOhR6+2uNyafyoKQGBtKlWFjpaFufTHp2V3pSJ2GF1MLKBR9DvAE6Js/Odpp7u7Gm7AVDP3Q4N1wZ6uhL3Abzedd4/OcYlEvtd1Vod0i0=,iv:dnwOokPPpaNhkmP1S2pZiaAdt6F7unc3ZA0D0zrdhz0=,tag:VTMzfGMpmqO4stnjFVaDUQ==,type:str] + lastmodified: "2025-01-07T22:04:49Z" + mac: ENC[AES256_GCM,data:Hii5uCxSS1GStQO7af++sSbGaRK+WPZjQYNSd0EpB5p5+qbWvvBgmOnAFLqMDkhq0aSHYnrFnGkTGuxNciRYIIvOXTE109YxeloT8PQNSKlMMduyb7iUfeAQVQFTTx3Vs6YVe3Jd7oVztqK+zztgkIOX8uoTzE5CHSmhJkLYLTA=,iv:2W7Al1OgcvA98FqkmlXtdpQiAXybBgxsS5h7VA9JcKs=,tag:ZmrkPN+OtLDm2oeSoWsxqA==,type:str] pgp: - created_at: "2024-01-31T01:20:30Z" enc: |- @@ -44,4 +44,4 @@ sops: -----END PGP MESSAGE----- fp: 3044E71E3DEFF49B586CF5809BF4FCCB90854DA9 unencrypted_suffix: _unencrypted - version: 3.9.1 + version: 3.9.2 diff --git a/hosts/iron/services/esphome/devices/wohnungstuer.yaml b/hosts/iron/services/esphome/devices/wohnungstuer.yaml new file mode 100644 index 0000000..46b47c8 --- /dev/null +++ b/hosts/iron/services/esphome/devices/wohnungstuer.yaml @@ -0,0 +1,196 @@ +esphome: + name: "wohnungstuer" + friendly_name: "Wohnungstür" + +api: + encryption: + key: !secret apikey_wohnungstuer + +ota: + - platform: esphome + password: !secret otapass_wohnungstuer + +wifi: + ssid: !secret wifi_ssid_bw + password: !secret wifi_password_bw + domain: .iot.bw.jalr.de + +esp32: + board: esp32doit-devkit-v1 + framework: + type: arduino + version: recommended + +logger: + +sensor: + - platform: wifi_signal + name: "WiFi Signal Sensor" + update_interval: 60s + +globals: + - id: leaving + type: int + restore_value: no + initial_value: '0' + +binary_sensor: + - platform: template + name: "At home" + id: presence + device_class: presence + - platform: gpio + name: Tür + id: door + pin: + number: GPIO32 + mode: + input: true + pullup: true + device_class: door + on_press: # on opening door + then: + - lambda: |- + id(leaving) |= 1; + - if: + condition: + # bowl is occupied + binary_sensor.is_on: key_bowl + then: + - light.turn_on: + id: pixels + effect: strobe_red + else: + - if: + condition: + binary_sensor.is_off: presence # when away + then: + - light.turn_on: + id: pixels + effect: "None" + red: 75% + green: 75% + + on_release: # on closing door + then: + - if: + condition: + binary_sensor.is_off: presence # when away + then: + - light.turn_on: + id: pixels + effect: "scan" + red: 0% + green: 0% + blue: 100% + - if: + condition: + lambda: |- + return id(leaving) == 3; + then: + - light.turn_off: + id: pixels + - binary_sensor.template.publish: # set away state + id: presence + state: OFF + else: + - if: + condition: + # when keys are in the bowl + binary_sensor.is_on: key_bowl + then: + - light.turn_on: + id: pixels + effect: "None" + red: 0% + green: 50% + blue: 0% + - delay: 30s + - light.turn_off: + id: pixels + transition_length: 3s + - lambda: |- + id(leaving) = 0; + - if: + condition: + binary_sensor.is_on: presence # when at home + then: + - light.turn_off: + id: pixels + + - platform: gpio + name: Schlüsselschale + id: key_bowl + pin: + number: GPIO23 + mode: + input: true + pullup: true + device_class: occupancy + filters: + - invert: + - delayed_on: 100ms + - delayed_off: 100ms + on_press: # when keys fall in bowl + then: + - binary_sensor.template.publish: # set at home state + id: presence + state: ON + - lambda: |- + id(leaving) = 0; + - if: + condition: + # door is closed + binary_sensor.is_off: door + then: + - light.turn_on: + id: pixels + effect: "None" + red: 0% + green: 50% + blue: 0% + - delay: 30s + - light.turn_off: + id: pixels + transition_length: 3s + on_release: # when keys are removed from bowl + then: + - lambda: |- + id(leaving) |= 2; + - if: + condition: + # door is closed + binary_sensor.is_off: door + then: + - light.turn_on: + id: pixels + effect: "rainbow" + +light: + - platform: esp32_rmt_led_strip + id: pixels + rgb_order: GRB + pin: GPIO12 + num_leds: 5 + rmt_channel: 0 + chipset: ws2812 + effects: + - strobe: + name: strobe_red + colors: + - state: true + brightness: 100% + red: 100% + green: 0% + blue: 0% + duration: 250ms + - state: false + duration: 250ms + - addressable_rainbow: + name: rainbow + speed: 20 + width: 10 + - addressable_scan: + name: scan + move_interval: 40ms + scan_width: 1 From ebbb62a6b2787c7a59f7a3946f90c856b7fe48ea Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 11 Jan 2025 17:25:02 +0100 Subject: [PATCH 549/766] Re-add kicad build is fixed since 24.11 release --- users/jalr/modules/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index 429c3d0..077656d 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -16,7 +16,7 @@ ./graphics ./gui.nix ./jameica.nix - #./kicad.nix FIXME: kicad build fails + ./kicad.nix ./mpv.nix ./mute-indicator.nix ./mycli From 82cbda5bcd5754fc21897481ec2aa98ae8895527 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 11 Jan 2025 17:25:55 +0100 Subject: [PATCH 550/766] Increase session life to 90d and use static secret --- hosts/magnesium/secrets.yaml | 7 +++--- hosts/magnesium/services/hedgedoc.nix | 34 +++++++++++++++++---------- 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/hosts/magnesium/secrets.yaml b/hosts/magnesium/secrets.yaml index f7c505b..23e5d88 100644 --- a/hosts/magnesium/secrets.yaml +++ b/hosts/magnesium/secrets.yaml @@ -2,6 +2,7 @@ wireguard_key_hetzner-ha: ENC[AES256_GCM,data:HEW+EalHg6/mq7pRKZkasGz0nqbkSppkf0 turn-static-auth-secret: ENC[AES256_GCM,data:rzhixUemFPwKj1BcVPZd7KtUO9OA6A2R4qEQ1BZGVG0=,iv:uYHYe4Cywxovt3b/Ho1tQVHrpgVic+AKh9AjYMYSZcM=,tag:rr8RW/if06t38GpZCYQB4w==,type:str] gitlab-runner_fablab-nea-hcloud-labsync: ENC[AES256_GCM,data:+znVO8cQxjDdhch7oUALZvt84iJmWnAx6lTM0+WGkGtaRWTCTPjgnst5waSJpw/Oysrd1PkXZKmLHyHuU7K/CHQij7sWH50G3ZcUum58klJc3dCPztlrLpDVHeSwyYiLpsqkQTfjqLPfrMkxuxBgTEVXlq2ZnFuyOGbFx9hubPxLeyQKakiW3qZWGjbFXYAps7Gl61AVdKJj3y1otX2JbCjG9x2i6FHZpl5ywwQCjKNM,iv:7v+I/oJtWDap6PNIJ4Qm3Si9dGs7a79SaMhnr/tbe1A=,tag:7jgoLtdWAEKMkWoXZ10owA==,type:str] forgejo-mail: ENC[AES256_GCM,data:eZv9dM0a06wFJaDUZjo=,iv:L32ab5k/AX8HqSACJA5w+WbzLlBijA5++Gcr2SrnYIU=,tag:ddyTXikWTMnxq86IijgyYg==,type:str] +hedgedoc-session-secret: ENC[AES256_GCM,data:AYUiUF7R+5C3F5kNRL0R95e1l3Y59tIP388uY0IYCskBhR0H0XMVvyrX/gIM33Twwkc5it+fQtNPNXsbrAnoKQ==,iv:Q6pDEdFplp845/DCHutwni/g7Ch39pTCvfNs4Eh28CQ=,tag:aqVGs3iThmepT7iJusLOMA==,type:str] sops: kms: [] gcp_kms: [] @@ -17,8 +18,8 @@ sops: QTBqZDZLeDFLK0k2MHF4Uk1mQTIxRHcKeLHz+lSnHLyTgw2Aq+IVGpIi9X8SQx+Q bCSPPMPIZsL4VLInuZmcd2n/kEr80fQM2P3/ktW8RnViQjTU+kKbMg== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-09-17T12:35:12Z" - mac: ENC[AES256_GCM,data:ji+KDLN/7nQG448ZMxOFCuCTrzwnn00xbey84itd2cHpGP3oWYCFDWqdMg18C7koZ8eVtudgi3v6++bYLunAMONcvVwqconiEgEy17GKMzaladkEVDzSTRLipbcby/k4VYzS+iBP02eEn1gHYaNWTeIN/8X+42kIdhq3Itx44fU=,iv:X72KO/yNE1RI8lSPEc5llmCUuO0bZrtD4kizHf4dnzA=,tag:jZOIX1hhF1yfy7U8f47/VA==,type:str] + lastmodified: "2025-01-11T15:28:59Z" + mac: ENC[AES256_GCM,data:1RnyUrbEI2JKpicmA3QV+5ob+vByahMjc4+ZpLbcMyZv/KXn02VP+OQaLm9NgPfpZmSmRgbdPNQAP4f71z/EjcceyANAhnvql3zuYgSXNp5l/IYo5UFZdWgQa14XTGO518969CDLW1zJnlkBtbtLEVlMJiQ/EraV1eNtgCr5UEU=,iv:0fLjboGiejUI9LxHW80ed+/Lf+jlN5UH7tVqfBptq0w=,tag:4Tyrqy9XwQAm0etooVBNZg==,type:str] pgp: - created_at: "2024-01-31T01:20:03Z" enc: |- @@ -32,4 +33,4 @@ sops: -----END PGP MESSAGE----- fp: 3044E71E3DEFF49B586CF5809BF4FCCB90854DA9 unencrypted_suffix: _unencrypted - version: 3.8.1 + version: 3.9.2 diff --git a/hosts/magnesium/services/hedgedoc.nix b/hosts/magnesium/services/hedgedoc.nix index b8df3e1..0963f20 100644 --- a/hosts/magnesium/services/hedgedoc.nix +++ b/hosts/magnesium/services/hedgedoc.nix @@ -6,21 +6,31 @@ let cfg = config.services.hedgedoc; in { + sops.secrets.hedgedoc-session-secret = { + owner = config.systemd.services.hedgedoc.serviceConfig.User; + sopsFile = ../secrets.yaml; + }; services.hedgedoc = { enable = true; - settings = { - domain = domain; - protocolUseSSL = true; - csp.enable = true; - port = ports.hedgedoc.tcp; - db = { - dialect = "postgres"; - host = "/run/postgresql"; - user = "hedgedoc"; - database = "hedgedoc"; + settings = + let + day = 24 * 60 * 60 * 1000; + in + { + domain = domain; + protocolUseSSL = true; + csp.enable = true; + port = ports.hedgedoc.tcp; + db = { + dialect = "postgres"; + host = "/run/postgresql"; + user = "hedgedoc"; + database = "hedgedoc"; + }; + allowEmailRegister = false; + sessionSecret = config.sops.secrets.hedgedoc-session-secret.path; + sessionLife = 90 * day; }; - allowEmailRegister = false; - }; }; services.postgresql = { From 5dcc7d77f3bdd654fa29ebad05424ee6c3cabbc8 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 13 Jan 2025 10:15:14 +0100 Subject: [PATCH 551/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/785c1e02c7e465375df971949b8dcbde9ec362e5?narHash=sha256-8dupm9GfK%2BBowGdQd7EHK5V61nneLfr9xR6sc5vtDi0%3D' (2024-12-02) → 'github:nix-community/disko/f720e64ec37fa16ebba6354eadf310f81555cc07?narHash=sha256-8hKhPQuMtXfJi%2B4lPvw3FBk/zSJVHeb726Zo0uF1PP8%3D' (2025-01-12) • Updated input 'home-manager': 'github:nix-community/home-manager/c7ffc9727d115e433fd884a62dc164b587ff651d?narHash=sha256-zjO6m5BqxXIyjrnUziAzk4%2BT4VleqjstNudSqWcpsHI%3D' (2024-12-07) → 'github:nix-community/home-manager/bd65bc3cde04c16755955630b344bc9e35272c56?narHash=sha256-dinzAqCjenWDxuy%2BMqUQq0I4zUSfaCvN9rzuCmgMZJY%3D' (2025-01-08) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/d8c02f0ffef0ef39f6063731fc539d8c71eb463a?narHash=sha256-%2BXTFXYlFJBxohhMGLDpYdEnhUNdxN8dyTA8WAd%2Blh2A%3D' (2024-12-08) → 'github:cachix/git-hooks.nix/a5a961387e75ae44cc20f0a57ae463da5e959656?narHash=sha256-3FZAG%2BpGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110%3D' (2025-01-03) • Removed input 'nix-pre-commit-hooks/nixpkgs-stable' • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/cf737e2eba82b603f54f71b10cb8fd09d22ce3f5?narHash=sha256-%2BjjPup/ByS0LEVIrBbt7FnGugJgLeG9oc%2BivFASYn2U%3D' (2024-12-10) → 'github:nixos/nixos-hardware/8870dcaff63dfc6647fb10648b827e9d40b0a337?narHash=sha256-OL7leZ6KBhcDF3nEKe4aZVfIm6xQpb1Kb%2BmxySIP93o%3D' (2025-01-09) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/6d60fef390f5959497a1475633a367eff2531c6e?narHash=sha256-sh/6PyGBXVboXqHDCjnmRuJMlRfKRAEKiVDp/wq5md0%3D' (2024-12-11) → 'github:nixos/nixpkgs/67e9c880898889470f153157a96b595e758167fc?narHash=sha256-hcETjfECLklW1ND8svDvN0Nw6H/1qtuoz3rbFNQ1Lrk%3D' (2025-01-13) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/e09964d017754a834c6ea18691ab03fd79a8a5e9?narHash=sha256-92qbxStkOTkn2TcWZHJ6Q0EC3OYFZoy4BoKXgeGnYoM%3D' (2024-12-11) → 'github:NixOS/nixpkgs/74dbb1b3cbf8b06b8d9874e6bd2a9ac2e2b483d3?narHash=sha256-4aJg0cDkUWK3mNqGXYzYSyRYQqSrsm2YGmmSSti/CUA%3D' (2025-01-13) • Updated input 'nur': 'github:nix-community/NUR/d0b75000239c951baf13a810249da08f849d617f?narHash=sha256-mscKfmp9UIhqlkf/OBQqgYqe6e0SnXZCinRA59swOqI%3D' (2024-12-11) → 'github:nix-community/NUR/e7493220ca728cb9d9df1a04ab681427e3ad88e9?narHash=sha256-sSD%2BITN1CuOnUMPU2VmLmZno963ydG/oKV%2B4TrMjGRE%3D' (2025-01-13) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/a73246e2eef4c6ed172979932bc80e1404ba2d56?narHash=sha256-463SNPWmz46iLzJKRzO3Q2b0Aurff3U1n0nYItxq7jU%3D' (2024-12-09) → 'github:nixos/nixpkgs/130595eba61081acde9001f43de3248d8888ac4a?narHash=sha256-Xb8mke6UCYjge9kPR9o4P1nVrhk7QBbKv3xQ9cj7h2s%3D' (2025-01-10) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/f554d27c1544d9c56e5f1f8e2b8aff399803674e?narHash=sha256-F7N1mxH1VrkVNHR3JGNMRvp9%2B98KYO4b832KS8Gl2xI%3D' (2024-11-10) → 'github:nix-community/poetry2nix/29b2641c1c6e67d836f9a9fda8a6de85be9644ac?narHash=sha256-lUSZtb4%2BlONT7MKradw9FLMzc%2BfxtrkKGX7w3oKJmJg%3D' (2025-01-08) • Updated input 'sops-nix': 'github:Mic92/sops-nix/a80af8929781b5fe92ddb8ae52e9027fae780d2a?narHash=sha256-pm4cfEcPXripE36PYCl0A2Tu5ruwHEvTee%2BHzNk%2BSQE%3D' (2024-12-09) → 'github:Mic92/sops-nix/f214c1b76c347a4e9c8fb68c73d4293a6820d125?narHash=sha256-4P99yL8vGehwzytkpP87eklBePt6aqeEC5JFsIzhfUs%3D' (2025-01-10) --- flake.lock | 84 ++++++++++++++++++++++-------------------------------- 1 file changed, 34 insertions(+), 50 deletions(-) diff --git a/flake.lock b/flake.lock index 6bf85b0..2867118 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1733168902, - "narHash": "sha256-8dupm9GfK+BowGdQd7EHK5V61nneLfr9xR6sc5vtDi0=", + "lastModified": 1736711425, + "narHash": "sha256-8hKhPQuMtXfJi+4lPvw3FBk/zSJVHeb726Zo0uF1PP8=", "owner": "nix-community", "repo": "disko", - "rev": "785c1e02c7e465375df971949b8dcbde9ec362e5", + "rev": "f720e64ec37fa16ebba6354eadf310f81555cc07", "type": "github" }, "original": { @@ -224,11 +224,11 @@ ] }, "locked": { - "lastModified": 1733572789, - "narHash": "sha256-zjO6m5BqxXIyjrnUziAzk4+T4VleqjstNudSqWcpsHI=", + "lastModified": 1736373539, + "narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=", "owner": "nix-community", "repo": "home-manager", - "rev": "c7ffc9727d115e433fd884a62dc164b587ff651d", + "rev": "bd65bc3cde04c16755955630b344bc9e35272c56", "type": "github" }, "original": { @@ -315,15 +315,14 @@ "gitignore": "gitignore_2", "nixpkgs": [ "nixpkgs" - ], - "nixpkgs-stable": "nixpkgs-stable_2" + ] }, "locked": { - "lastModified": 1733665616, - "narHash": "sha256-+XTFXYlFJBxohhMGLDpYdEnhUNdxN8dyTA8WAd+lh2A=", + "lastModified": 1735882644, + "narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "d8c02f0ffef0ef39f6063731fc539d8c71eb463a", + "rev": "a5a961387e75ae44cc20f0a57ae463da5e959656", "type": "github" }, "original": { @@ -335,11 +334,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1733861262, - "narHash": "sha256-+jjPup/ByS0LEVIrBbt7FnGugJgLeG9oc+ivFASYn2U=", + "lastModified": 1736441705, + "narHash": "sha256-OL7leZ6KBhcDF3nEKe4aZVfIm6xQpb1Kb+mxySIP93o=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "cf737e2eba82b603f54f71b10cb8fd09d22ce3f5", + "rev": "8870dcaff63dfc6647fb10648b827e9d40b0a337", "type": "github" }, "original": { @@ -351,11 +350,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1733904937, - "narHash": "sha256-sh/6PyGBXVboXqHDCjnmRuJMlRfKRAEKiVDp/wq5md0=", + "lastModified": 1736754065, + "narHash": "sha256-hcETjfECLklW1ND8svDvN0Nw6H/1qtuoz3rbFNQ1Lrk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6d60fef390f5959497a1475633a367eff2531c6e", + "rev": "67e9c880898889470f153157a96b595e758167fc", "type": "github" }, "original": { @@ -381,29 +380,13 @@ "type": "github" } }, - "nixpkgs-stable_2": { - "locked": { - "lastModified": 1730741070, - "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.05", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgsMaster": { "locked": { - "lastModified": 1733907127, - "narHash": "sha256-92qbxStkOTkn2TcWZHJ6Q0EC3OYFZoy4BoKXgeGnYoM=", + "lastModified": 1736759503, + "narHash": "sha256-4aJg0cDkUWK3mNqGXYzYSyRYQqSrsm2YGmmSSti/CUA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e09964d017754a834c6ea18691ab03fd79a8a5e9", + "rev": "74dbb1b3cbf8b06b8d9874e6bd2a9ac2e2b483d3", "type": "github" }, "original": { @@ -415,11 +398,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1733759999, - "narHash": "sha256-463SNPWmz46iLzJKRzO3Q2b0Aurff3U1n0nYItxq7jU=", + "lastModified": 1736523798, + "narHash": "sha256-Xb8mke6UCYjge9kPR9o4P1nVrhk7QBbKv3xQ9cj7h2s=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a73246e2eef4c6ed172979932bc80e1404ba2d56", + "rev": "130595eba61081acde9001f43de3248d8888ac4a", "type": "github" }, "original": { @@ -436,11 +419,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1733907038, - "narHash": "sha256-mscKfmp9UIhqlkf/OBQqgYqe6e0SnXZCinRA59swOqI=", + "lastModified": 1736755461, + "narHash": "sha256-sSD+ITN1CuOnUMPU2VmLmZno963ydG/oKV+4TrMjGRE=", "owner": "nix-community", "repo": "NUR", - "rev": "d0b75000239c951baf13a810249da08f849d617f", + "rev": "e7493220ca728cb9d9df1a04ab681427e3ad88e9", "type": "github" }, "original": { @@ -462,11 +445,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1731205797, - "narHash": "sha256-F7N1mxH1VrkVNHR3JGNMRvp9+98KYO4b832KS8Gl2xI=", + "lastModified": 1736323755, + "narHash": "sha256-lUSZtb4+lONT7MKradw9FLMzc+fxtrkKGX7w3oKJmJg=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "f554d27c1544d9c56e5f1f8e2b8aff399803674e", + "rev": "29b2641c1c6e67d836f9a9fda8a6de85be9644ac", "type": "github" }, "original": { @@ -551,11 +534,11 @@ ] }, "locked": { - "lastModified": 1733785344, - "narHash": "sha256-pm4cfEcPXripE36PYCl0A2Tu5ruwHEvTee+HzNk+SQE=", + "lastModified": 1736515725, + "narHash": "sha256-4P99yL8vGehwzytkpP87eklBePt6aqeEC5JFsIzhfUs=", "owner": "Mic92", "repo": "sops-nix", - "rev": "a80af8929781b5fe92ddb8ae52e9027fae780d2a", + "rev": "f214c1b76c347a4e9c8fb68c73d4293a6820d125", "type": "github" }, "original": { @@ -604,8 +587,9 @@ "type": "github" }, "original": { - "id": "systems", - "type": "indirect" + "owner": "nix-systems", + "repo": "default", + "type": "github" } }, "treefmt-nix": { From 6c8be2e071c27b921d576d470fe30a74d1f43aef Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 14 Jan 2025 15:56:28 +0100 Subject: [PATCH 552/766] Enable RealtimeKit system service --- modules/pipewire.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/pipewire.nix b/modules/pipewire.nix index f3e2e36..34f4c7d 100644 --- a/modules/pipewire.nix +++ b/modules/pipewire.nix @@ -51,4 +51,6 @@ lib.mkIf config.jalr.gui.enable { value = "unlimited"; } ]; + + security.rtkit.enable = true; } From 20857a4fa2caffa561e6038f7f4a1d65b4b8bed5 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 14 Jan 2025 16:42:33 +0100 Subject: [PATCH 553/766] Enable Flatpak --- hosts/copper/configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hosts/copper/configuration.nix b/hosts/copper/configuration.nix index db1152b..f7c224b 100644 --- a/hosts/copper/configuration.nix +++ b/hosts/copper/configuration.nix @@ -45,5 +45,7 @@ }; system.stateVersion = "24.05"; + + services.flatpak.enable = true; } From 935e5e367df63f4b995bc55d698f01f529d95655 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 14 Jan 2025 16:50:31 +0100 Subject: [PATCH 554/766] Replace Element and Telegram with Ferdium --- users/jalr/modules/communication/default.nix | 3 +- .../modules/communication/element-desktop.nix | 54 ------------------- users/jalr/modules/communication/ferdium.nix | 14 +++++ .../communication/telegram-desktop.nix | 7 --- 4 files changed, 15 insertions(+), 63 deletions(-) delete mode 100644 users/jalr/modules/communication/element-desktop.nix create mode 100644 users/jalr/modules/communication/ferdium.nix delete mode 100644 users/jalr/modules/communication/telegram-desktop.nix diff --git a/users/jalr/modules/communication/default.nix b/users/jalr/modules/communication/default.nix index d94f3b7..5dc2faf 100644 --- a/users/jalr/modules/communication/default.nix +++ b/users/jalr/modules/communication/default.nix @@ -2,8 +2,7 @@ { imports = [ - ./element-desktop.nix + ./ferdium.nix ./mumble.nix - ./telegram-desktop.nix ]; } diff --git a/users/jalr/modules/communication/element-desktop.nix b/users/jalr/modules/communication/element-desktop.nix deleted file mode 100644 index d634e21..0000000 --- a/users/jalr/modules/communication/element-desktop.nix +++ /dev/null @@ -1,54 +0,0 @@ -{ nixosConfig, lib, pkgs, ... }: - -let - profiles = { - "digitaler-dienst" = { - description = "Digitaler Dienst"; - icon = pkgs.fetchurl { - url = "https://matrix.digitaler-dienst.gmbh/_matrix/media/v3/thumbnail/digitaler-dienst.gmbh/kfUmmNxpmbsLtdIRvZcxkWAh?width=256&height=256"; - sha256 = "uSxx9avx3I/rDzFnwgEZUwLVktsTeZiSWcDHjPzcUtw="; - }; - }; - "private" = { - description = "private"; - }; - }; -in -lib.mkIf nixosConfig.jalr.gui.enable { - # Create an empty directory in nix store - # as we want to use Element only with `--profile-dir` - xdg.configFile.Element = { - source = pkgs.runCommand "empty-Element-directory" { } "mkdir $out"; - target = "Element"; - }; - - xdg.desktopEntries = lib.attrsets.mapAttrs' - (name: value: lib.attrsets.nameValuePair "element-desktop-${name}" ( - let - package = ( - if value ? icon then - pkgs.element-desktop.overrideAttrs - (oldAttrs: { - patchPhase = oldAttrs.patchPhase or "" + '' - rm build/icons/* res/img/* - cp ${value.icon} res/img/element.png - ''; - }) - else pkgs.element-desktop - ); - in - { - categories = [ "Network" "InstantMessaging" "Chat" ]; - exec = toString (pkgs.writeShellScript "element-desktop-${name}" '' - exec "${package}/bin/element-desktop" --profile-dir "$HOME/.config/element-profiles/${name}" - ''); - genericName = "Matrix Client"; - icon = "${package}/share/element/img/element.png"; - mimeType = [ "x-scheme-handler/element" ]; - name = "Element ${value.description}"; - terminal = false; - type = "Application"; - } - )) - profiles; -} diff --git a/users/jalr/modules/communication/ferdium.nix b/users/jalr/modules/communication/ferdium.nix new file mode 100644 index 0000000..1d0b4d5 --- /dev/null +++ b/users/jalr/modules/communication/ferdium.nix @@ -0,0 +1,14 @@ +{ nixosConfig, lib, ... }: + +lib.mkIf nixosConfig.jalr.gui.enable { + xdg.desktopEntries.Ferdium = { + name = "Ferdium"; + exec = "flatpak run --branch=stable --arch=x86_64 --command=ferdium --file-forwarding org.ferdium.Ferdium @@u %U @@"; + terminal = false; + type = "Application"; + icon = "org.ferdium.Ferdium"; + comment = "Desktop app bringing all your messaging services into one installable"; + mimeType = [ "x-scheme-handler/ferdium" ]; + categories = [ "Network" "InstantMessaging" ]; + }; +} diff --git a/users/jalr/modules/communication/telegram-desktop.nix b/users/jalr/modules/communication/telegram-desktop.nix deleted file mode 100644 index d8876cc..0000000 --- a/users/jalr/modules/communication/telegram-desktop.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ nixosConfig, lib, pkgs, ... }: - -lib.mkIf nixosConfig.jalr.gui.enable { - home.packages = with pkgs; [ - tdesktop - ]; -} From 69d5ac43f58971dbeddacae7890ad91e6ff5f25d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 16 Jan 2025 17:08:53 +0100 Subject: [PATCH 555/766] Replace PCManFM with Thunar --- users/jalr/modules/default.nix | 2 +- users/jalr/modules/{pcmanfm.nix => thunar.nix} | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) rename users/jalr/modules/{pcmanfm.nix => thunar.nix} (74%) diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index 077656d..d0d8f34 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -27,12 +27,12 @@ ./openscad.nix ./ots.nix ./pass.nix - ./pcmanfm.nix ./python.nix ./remarkable ./snapclient.nix ./sound ./sway + ./thunar.nix ./thunderbird.nix ./tmux.nix ./tor-browser.nix diff --git a/users/jalr/modules/pcmanfm.nix b/users/jalr/modules/thunar.nix similarity index 74% rename from users/jalr/modules/pcmanfm.nix rename to users/jalr/modules/thunar.nix index 49819d8..28b5b0b 100644 --- a/users/jalr/modules/pcmanfm.nix +++ b/users/jalr/modules/thunar.nix @@ -1,7 +1,8 @@ { nixosConfig, lib, pkgs, ... }: lib.mkIf nixosConfig.jalr.gui.enable { home.packages = with pkgs; [ - pcmanfm + xfce.thunar + xfce.thunar-volman ]; } From 3e1b573df8c8569881df4df37f23a66586ff6d8b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 16 Jan 2025 17:10:02 +0100 Subject: [PATCH 556/766] Fix link opening in Flatpak apps --- modules/sway.nix | 7 +++++++ users/jalr/default.nix | 6 ++++++ users/jalr/modules/sway/default.nix | 2 +- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/modules/sway.nix b/modules/sway.nix index 4b47299..a840d71 100644 --- a/modules/sway.nix +++ b/modules/sway.nix @@ -25,9 +25,16 @@ lib.mkIf (config.jalr.gui.enable && config.jalr.gui.desktop == "sway") { xdg-desktop-portal-wlr xdg-desktop-portal-gtk ]; + xdgOpenUsePortal = true; }; icons.enable = true; }; programs.wshowkeys.enable = true; + + programs.dconf.enable = true; + + environment.systemPackages = with pkgs; [ + adwaita-icon-theme + ]; } diff --git a/users/jalr/default.nix b/users/jalr/default.nix index 5f43783..93e99b1 100644 --- a/users/jalr/default.nix +++ b/users/jalr/default.nix @@ -62,7 +62,13 @@ in enable = true; defaultApplications = { "application/pdf" = "org.gnome.Evince.desktop"; + "image/svg+xml" = "org.inkscape.Inkscape.desktop"; + + "x-scheme-handler/http" = "firefox-esr.desktop"; + "x-scheme-handler/https" = "firefox-esr.desktop"; + + "x-scheme-handler/mailto" = "thunderbird.desktop"; }; }; diff --git a/users/jalr/modules/sway/default.nix b/users/jalr/modules/sway/default.nix index e878052..bb16c26 100644 --- a/users/jalr/modules/sway/default.nix +++ b/users/jalr/modules/sway/default.nix @@ -92,7 +92,7 @@ in export XDG_SESSION_TYPE="wayland" # otherwise set to tty set -e __HM_SESS_VARS_SOURCED set -e __NIXOS_SET_ENVIRONMENT_DONE - exec systemd-cat -t sway sway + exec systemd-cat -t sway dbus-run-session sway end ''; From d3e7c79ddea1cf3fe1a354a8a40c10931ae74523 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 17 Jan 2025 17:36:30 +0100 Subject: [PATCH 557/766] Update kanshi config --- users/jalr/modules/gui.nix | 77 ++++++++++++++++++++++++-------------- 1 file changed, 49 insertions(+), 28 deletions(-) diff --git a/users/jalr/modules/gui.nix b/users/jalr/modules/gui.nix index 6e34d61..4352a9c 100644 --- a/users/jalr/modules/gui.nix +++ b/users/jalr/modules/gui.nix @@ -18,32 +18,53 @@ lib.mkIf nixosConfig.jalr.gui.enable { xdg-utils ]; - services.kanshi = { - enable = true; - settings = [ - { - profile.name = "laemmermann"; - profile.outputs = [ - { - criteria = "ViewSonic Corporation VX3276-QHD VSX2403A0490"; - status = "enable"; - mode = "2560x1440@59.951Hz"; - position = "0,0"; - } - { - criteria = "ViewSonic Corporation VX3276-QHD VSX2351A0801"; - status = "enable"; - mode = "2560x1440@59.951Hz"; - position = "2560,0"; - } - { - criteria = "eDP-1"; - status = "enable"; - mode = "2560x1600"; - position = "5120,0"; - } - ]; - } - ]; - }; + services.kanshi = + let + internalDisplay = { + criteria = "BOE 0x0BC9 Unknown"; + status = "enable"; + mode = "2560x1600"; + }; + in + { + enable = true; + settings = [ + { + profile.name = "laemmermann"; + profile.outputs = [ + { + criteria = "ViewSonic Corporation VX3276-QHD VSX2403A0490"; + status = "enable"; + mode = "2560x1440@59.951Hz"; + position = "0,0"; + } + { + criteria = "ViewSonic Corporation VX3276-QHD VSX2351A0801"; + status = "enable"; + mode = "2560x1440@59.951Hz"; + position = "2560,0"; + } + (internalDisplay // { position = "5120,0"; }) + ]; + } + { + profile.name = "digitaler-dienst"; + profile.outputs = [ + (internalDisplay // { position = "0,0"; }) + { + criteria = "Lenovo Group Limited L27q-38 URB731YF"; + status = "enable"; + mode = "2560x1440@59.951Hz"; + position = "2048,0"; + } + { + criteria = "Lenovo Group Limited L27q-35 URB5T16R"; + status = "enable"; + mode = "2560x1440@59.951Hz"; + position = "4380,0"; + } + ]; + } + ]; + }; } From 5475efb4644ca420983c9d62d4dfabb91186c389 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 18 Jan 2025 16:42:21 +0100 Subject: [PATCH 558/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/f720e64ec37fa16ebba6354eadf310f81555cc07?narHash=sha256-8hKhPQuMtXfJi%2B4lPvw3FBk/zSJVHeb726Zo0uF1PP8%3D' (2025-01-12) → 'github:nix-community/disko/bf0abfde48f469c256f2b0f481c6281ff04a5db2?narHash=sha256-rMEuiK69MDhjz1JgbaeQ9mBDXMJ2/P8vmOYRbFndXsk%3D' (2025-01-16) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/a5a961387e75ae44cc20f0a57ae463da5e959656?narHash=sha256-3FZAG%2BpGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110%3D' (2025-01-03) → 'github:cachix/git-hooks.nix/94ee657f6032d913fe0ef49adaa743804635b0bb?narHash=sha256-I/OuxGwXwRi5gnFPsyCvVR%2BIfFstA%2BQXEpHu1hvsgD8%3D' (2025-01-16) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/8870dcaff63dfc6647fb10648b827e9d40b0a337?narHash=sha256-OL7leZ6KBhcDF3nEKe4aZVfIm6xQpb1Kb%2BmxySIP93o%3D' (2025-01-09) → 'github:nixos/nixos-hardware/b678606690027913f3434dea3864e712b862dde5?narHash=sha256-oMr3PVIQ8XPDI8/x6BHxsWEPBRU98Pam6KGVwUh8MPk%3D' (2025-01-15) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/67e9c880898889470f153157a96b595e758167fc?narHash=sha256-hcETjfECLklW1ND8svDvN0Nw6H/1qtuoz3rbFNQ1Lrk%3D' (2025-01-13) → 'github:nixos/nixpkgs/c387cc8d7f36f39c664ec4ebd31bbd599afee63a?narHash=sha256-GTMaOEhGHMBh4FooFVAs7ItAMx%2Bj2BXnSDCUrrjETVY%3D' (2025-01-18) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/74dbb1b3cbf8b06b8d9874e6bd2a9ac2e2b483d3?narHash=sha256-4aJg0cDkUWK3mNqGXYzYSyRYQqSrsm2YGmmSSti/CUA%3D' (2025-01-13) → 'github:NixOS/nixpkgs/f52cc903969954c3c683711a2df89491f6c1a8c6?narHash=sha256-VS6ZgiEsizutKhCncL2bcM5i49DP/f2P4LteFaOc4uE%3D' (2025-01-18) • Updated input 'nur': 'github:nix-community/NUR/e7493220ca728cb9d9df1a04ab681427e3ad88e9?narHash=sha256-sSD%2BITN1CuOnUMPU2VmLmZno963ydG/oKV%2B4TrMjGRE%3D' (2025-01-13) → 'github:nix-community/NUR/c3f3c0e11ff74832a59cccd6a0db1b5add3fb369?narHash=sha256-dVEcx6ijAyxcnCE6ZDLJ2PYXHUY7gSd9QS03D4BWe58%3D' (2025-01-18) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/130595eba61081acde9001f43de3248d8888ac4a?narHash=sha256-Xb8mke6UCYjge9kPR9o4P1nVrhk7QBbKv3xQ9cj7h2s%3D' (2025-01-10) → 'github:nixos/nixpkgs/5df43628fdf08d642be8ba5b3625a6c70731c19c?narHash=sha256-Tbk1MZbtV2s5aG%2BiM99U8FqwxU/YNArMcWAv6clcsBc%3D' (2025-01-16) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/29b2641c1c6e67d836f9a9fda8a6de85be9644ac?narHash=sha256-lUSZtb4%2BlONT7MKradw9FLMzc%2BfxtrkKGX7w3oKJmJg%3D' (2025-01-08) → 'github:nix-community/poetry2nix/75d0515332b7ca269f6d7abfd2c44c47a7cbca7b?narHash=sha256-eiCqmKl0BIRiYk5/ZhZozwn4/7Km9CWTbc15Cv%2BVX5k%3D' (2025-01-14) • Updated input 'sops-nix': 'github:Mic92/sops-nix/f214c1b76c347a4e9c8fb68c73d4293a6820d125?narHash=sha256-4P99yL8vGehwzytkpP87eklBePt6aqeEC5JFsIzhfUs%3D' (2025-01-10) → 'github:Mic92/sops-nix/4c4fb93f18b9072c6fa1986221f9a3d7bf1fe4b6?narHash=sha256-GXUE9%2BFgxoZU8v0p6ilBJ8NH7k8nKmZjp/7dmMrCv3o%3D' (2025-01-17) --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index 2867118..62f68a4 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1736711425, - "narHash": "sha256-8hKhPQuMtXfJi+4lPvw3FBk/zSJVHeb726Zo0uF1PP8=", + "lastModified": 1737038063, + "narHash": "sha256-rMEuiK69MDhjz1JgbaeQ9mBDXMJ2/P8vmOYRbFndXsk=", "owner": "nix-community", "repo": "disko", - "rev": "f720e64ec37fa16ebba6354eadf310f81555cc07", + "rev": "bf0abfde48f469c256f2b0f481c6281ff04a5db2", "type": "github" }, "original": { @@ -318,11 +318,11 @@ ] }, "locked": { - "lastModified": 1735882644, - "narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=", + "lastModified": 1737043064, + "narHash": "sha256-I/OuxGwXwRi5gnFPsyCvVR+IfFstA+QXEpHu1hvsgD8=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "a5a961387e75ae44cc20f0a57ae463da5e959656", + "rev": "94ee657f6032d913fe0ef49adaa743804635b0bb", "type": "github" }, "original": { @@ -334,11 +334,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1736441705, - "narHash": "sha256-OL7leZ6KBhcDF3nEKe4aZVfIm6xQpb1Kb+mxySIP93o=", + "lastModified": 1736978406, + "narHash": "sha256-oMr3PVIQ8XPDI8/x6BHxsWEPBRU98Pam6KGVwUh8MPk=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "8870dcaff63dfc6647fb10648b827e9d40b0a337", + "rev": "b678606690027913f3434dea3864e712b862dde5", "type": "github" }, "original": { @@ -350,11 +350,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1736754065, - "narHash": "sha256-hcETjfECLklW1ND8svDvN0Nw6H/1qtuoz3rbFNQ1Lrk=", + "lastModified": 1737213358, + "narHash": "sha256-GTMaOEhGHMBh4FooFVAs7ItAMx+j2BXnSDCUrrjETVY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "67e9c880898889470f153157a96b595e758167fc", + "rev": "c387cc8d7f36f39c664ec4ebd31bbd599afee63a", "type": "github" }, "original": { @@ -382,11 +382,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1736759503, - "narHash": "sha256-4aJg0cDkUWK3mNqGXYzYSyRYQqSrsm2YGmmSSti/CUA=", + "lastModified": 1737213921, + "narHash": "sha256-VS6ZgiEsizutKhCncL2bcM5i49DP/f2P4LteFaOc4uE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "74dbb1b3cbf8b06b8d9874e6bd2a9ac2e2b483d3", + "rev": "f52cc903969954c3c683711a2df89491f6c1a8c6", "type": "github" }, "original": { @@ -398,11 +398,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1736523798, - "narHash": "sha256-Xb8mke6UCYjge9kPR9o4P1nVrhk7QBbKv3xQ9cj7h2s=", + "lastModified": 1737062831, + "narHash": "sha256-Tbk1MZbtV2s5aG+iM99U8FqwxU/YNArMcWAv6clcsBc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "130595eba61081acde9001f43de3248d8888ac4a", + "rev": "5df43628fdf08d642be8ba5b3625a6c70731c19c", "type": "github" }, "original": { @@ -419,11 +419,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1736755461, - "narHash": "sha256-sSD+ITN1CuOnUMPU2VmLmZno963ydG/oKV+4TrMjGRE=", + "lastModified": 1737214132, + "narHash": "sha256-dVEcx6ijAyxcnCE6ZDLJ2PYXHUY7gSd9QS03D4BWe58=", "owner": "nix-community", "repo": "NUR", - "rev": "e7493220ca728cb9d9df1a04ab681427e3ad88e9", + "rev": "c3f3c0e11ff74832a59cccd6a0db1b5add3fb369", "type": "github" }, "original": { @@ -445,11 +445,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1736323755, - "narHash": "sha256-lUSZtb4+lONT7MKradw9FLMzc+fxtrkKGX7w3oKJmJg=", + "lastModified": 1736884309, + "narHash": "sha256-eiCqmKl0BIRiYk5/ZhZozwn4/7Km9CWTbc15Cv+VX5k=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "29b2641c1c6e67d836f9a9fda8a6de85be9644ac", + "rev": "75d0515332b7ca269f6d7abfd2c44c47a7cbca7b", "type": "github" }, "original": { @@ -534,11 +534,11 @@ ] }, "locked": { - "lastModified": 1736515725, - "narHash": "sha256-4P99yL8vGehwzytkpP87eklBePt6aqeEC5JFsIzhfUs=", + "lastModified": 1737107480, + "narHash": "sha256-GXUE9+FgxoZU8v0p6ilBJ8NH7k8nKmZjp/7dmMrCv3o=", "owner": "Mic92", "repo": "sops-nix", - "rev": "f214c1b76c347a4e9c8fb68c73d4293a6820d125", + "rev": "4c4fb93f18b9072c6fa1986221f9a3d7bf1fe4b6", "type": "github" }, "original": { From 4c51c018fa0ddd59de05739ab91bfa6b3a7485e8 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Jan 2025 13:27:03 +0100 Subject: [PATCH 559/766] Add buzzer --- .../esphome/devices/wohnungstuer.yaml | 42 ++++++++++++++++++- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/hosts/iron/services/esphome/devices/wohnungstuer.yaml b/hosts/iron/services/esphome/devices/wohnungstuer.yaml index 46b47c8..86ba80a 100644 --- a/hosts/iron/services/esphome/devices/wohnungstuer.yaml +++ b/hosts/iron/services/esphome/devices/wohnungstuer.yaml @@ -60,6 +60,11 @@ binary_sensor: - light.turn_on: id: pixels effect: strobe_red + - script.execute: + id: beep + on_ms: 250 + off_ms: 250 + else: - if: condition: @@ -69,7 +74,7 @@ binary_sensor: id: pixels effect: "None" red: 75% - green: 75% + green: 25% on_release: # on closing door then: @@ -83,6 +88,10 @@ binary_sensor: red: 0% green: 0% blue: 100% + - script.execute: + id: beep + on_ms: 100 + off_ms: 1000 - if: condition: lambda: |- @@ -90,6 +99,8 @@ binary_sensor: then: - light.turn_off: id: pixels + - script.stop: beep + - switch.turn_off: buzzer - binary_sensor.template.publish: # set away state id: presence state: OFF @@ -99,6 +110,8 @@ binary_sensor: # when keys are in the bowl binary_sensor.is_on: key_bowl then: + - script.stop: beep + - switch.turn_off: buzzer - light.turn_on: id: pixels effect: "None" @@ -117,6 +130,8 @@ binary_sensor: then: - light.turn_off: id: pixels + - script.stop: beep + - switch.turn_off: buzzer - platform: gpio name: Schlüsselschale @@ -143,6 +158,8 @@ binary_sensor: # door is closed binary_sensor.is_off: door then: + - script.stop: beep + - switch.turn_off: buzzer - light.turn_on: id: pixels effect: "None" @@ -192,5 +209,26 @@ light: width: 10 - addressable_scan: name: scan - move_interval: 40ms + move_interval: 20ms scan_width: 1 + +switch: + - platform: gpio + pin: GPIO22 + id: buzzer + +script: + - id: beep + mode: restart + parameters: + on_ms: int + off_ms: int + then: + - while: + condition: + lambda: 'return true;' + then: + - switch.turn_on: buzzer + - delay: !lambda return on_ms; + - switch.turn_off: buzzer + - delay: !lambda return off_ms; From a0f42f9725ea0cc4113a27b6290ed2d4d1874869 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 22 Jan 2025 13:28:21 +0100 Subject: [PATCH 560/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/94ee657f6032d913fe0ef49adaa743804635b0bb?narHash=sha256-I/OuxGwXwRi5gnFPsyCvVR%2BIfFstA%2BQXEpHu1hvsgD8%3D' (2025-01-16) → 'github:cachix/git-hooks.nix/9364dc02281ce2d37a1f55b6e51f7c0f65a75f17?narHash=sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg%3D' (2025-01-21) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/b678606690027913f3434dea3864e712b862dde5?narHash=sha256-oMr3PVIQ8XPDI8/x6BHxsWEPBRU98Pam6KGVwUh8MPk%3D' (2025-01-15) → 'github:nixos/nixos-hardware/61c79181e77ef774ab0468b28a24bc2647d498d6?narHash=sha256-utplyRM6pqnN940gfaLFBb9oUCSzkan86IvmkhsVlN8%3D' (2025-01-20) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/c387cc8d7f36f39c664ec4ebd31bbd599afee63a?narHash=sha256-GTMaOEhGHMBh4FooFVAs7ItAMx%2Bj2BXnSDCUrrjETVY%3D' (2025-01-18) → 'github:nixos/nixpkgs/9b6cdf829fdef63efed466cf537c838dc685da41?narHash=sha256-Oa91e3B0/T1E4iL3HRO2ZOIxBxZGkCjHYY8VpFHOrwQ%3D' (2025-01-22) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/f52cc903969954c3c683711a2df89491f6c1a8c6?narHash=sha256-VS6ZgiEsizutKhCncL2bcM5i49DP/f2P4LteFaOc4uE%3D' (2025-01-18) → 'github:NixOS/nixpkgs/66292a47a4f13788e9d286f888021770a439acdc?narHash=sha256-oCUz3dmHN24ygfLwG8ziIP5zMCTQ1f8EYbID4CHdaCw%3D' (2025-01-22) • Updated input 'nur': 'github:nix-community/NUR/c3f3c0e11ff74832a59cccd6a0db1b5add3fb369?narHash=sha256-dVEcx6ijAyxcnCE6ZDLJ2PYXHUY7gSd9QS03D4BWe58%3D' (2025-01-18) → 'github:nix-community/NUR/e40ac9c9b6aedbbfcddb32e94de8aa2f4a9a26bb?narHash=sha256-ZwJ3d0XiO8CQWf9C18inGojVGlCy8wWHt3v5HHaZJKM%3D' (2025-01-22) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/5df43628fdf08d642be8ba5b3625a6c70731c19c?narHash=sha256-Tbk1MZbtV2s5aG%2BiM99U8FqwxU/YNArMcWAv6clcsBc%3D' (2025-01-16) → 'github:nixos/nixpkgs/9e4d5190a9482a1fb9d18adf0bdb83c6e506eaab?narHash=sha256-nmKOgAU48S41dTPIXAq0AHZSehWUn6ZPrUKijHAMmIk%3D' (2025-01-21) • Updated input 'sops-nix': 'github:Mic92/sops-nix/4c4fb93f18b9072c6fa1986221f9a3d7bf1fe4b6?narHash=sha256-GXUE9%2BFgxoZU8v0p6ilBJ8NH7k8nKmZjp/7dmMrCv3o%3D' (2025-01-17) → 'github:Mic92/sops-nix/015d461c16678fc02a2f405eb453abb509d4e1d4?narHash=sha256-j9IdflJwRtqo9WpM0OfAZml47eBblUHGNQTe62OUqTw%3D' (2025-01-20) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 62f68a4..fcaaca2 100644 --- a/flake.lock +++ b/flake.lock @@ -318,11 +318,11 @@ ] }, "locked": { - "lastModified": 1737043064, - "narHash": "sha256-I/OuxGwXwRi5gnFPsyCvVR+IfFstA+QXEpHu1hvsgD8=", + "lastModified": 1737465171, + "narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "94ee657f6032d913fe0ef49adaa743804635b0bb", + "rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", "type": "github" }, "original": { @@ -334,11 +334,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1736978406, - "narHash": "sha256-oMr3PVIQ8XPDI8/x6BHxsWEPBRU98Pam6KGVwUh8MPk=", + "lastModified": 1737359802, + "narHash": "sha256-utplyRM6pqnN940gfaLFBb9oUCSzkan86IvmkhsVlN8=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "b678606690027913f3434dea3864e712b862dde5", + "rev": "61c79181e77ef774ab0468b28a24bc2647d498d6", "type": "github" }, "original": { @@ -350,11 +350,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1737213358, - "narHash": "sha256-GTMaOEhGHMBh4FooFVAs7ItAMx+j2BXnSDCUrrjETVY=", + "lastModified": 1737545261, + "narHash": "sha256-Oa91e3B0/T1E4iL3HRO2ZOIxBxZGkCjHYY8VpFHOrwQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c387cc8d7f36f39c664ec4ebd31bbd599afee63a", + "rev": "9b6cdf829fdef63efed466cf537c838dc685da41", "type": "github" }, "original": { @@ -382,11 +382,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1737213921, - "narHash": "sha256-VS6ZgiEsizutKhCncL2bcM5i49DP/f2P4LteFaOc4uE=", + "lastModified": 1737547357, + "narHash": "sha256-oCUz3dmHN24ygfLwG8ziIP5zMCTQ1f8EYbID4CHdaCw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f52cc903969954c3c683711a2df89491f6c1a8c6", + "rev": "66292a47a4f13788e9d286f888021770a439acdc", "type": "github" }, "original": { @@ -398,11 +398,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1737062831, - "narHash": "sha256-Tbk1MZbtV2s5aG+iM99U8FqwxU/YNArMcWAv6clcsBc=", + "lastModified": 1737469691, + "narHash": "sha256-nmKOgAU48S41dTPIXAq0AHZSehWUn6ZPrUKijHAMmIk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5df43628fdf08d642be8ba5b3625a6c70731c19c", + "rev": "9e4d5190a9482a1fb9d18adf0bdb83c6e506eaab", "type": "github" }, "original": { @@ -419,11 +419,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1737214132, - "narHash": "sha256-dVEcx6ijAyxcnCE6ZDLJ2PYXHUY7gSd9QS03D4BWe58=", + "lastModified": 1737548889, + "narHash": "sha256-ZwJ3d0XiO8CQWf9C18inGojVGlCy8wWHt3v5HHaZJKM=", "owner": "nix-community", "repo": "NUR", - "rev": "c3f3c0e11ff74832a59cccd6a0db1b5add3fb369", + "rev": "e40ac9c9b6aedbbfcddb32e94de8aa2f4a9a26bb", "type": "github" }, "original": { @@ -534,11 +534,11 @@ ] }, "locked": { - "lastModified": 1737107480, - "narHash": "sha256-GXUE9+FgxoZU8v0p6ilBJ8NH7k8nKmZjp/7dmMrCv3o=", + "lastModified": 1737411508, + "narHash": "sha256-j9IdflJwRtqo9WpM0OfAZml47eBblUHGNQTe62OUqTw=", "owner": "Mic92", "repo": "sops-nix", - "rev": "4c4fb93f18b9072c6fa1986221f9a3d7bf1fe4b6", + "rev": "015d461c16678fc02a2f405eb453abb509d4e1d4", "type": "github" }, "original": { From acc99ede489a6bdf16e838b826a34399f24dfe34 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 27 Jan 2025 08:28:48 +0100 Subject: [PATCH 561/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/61c79181e77ef774ab0468b28a24bc2647d498d6?narHash=sha256-utplyRM6pqnN940gfaLFBb9oUCSzkan86IvmkhsVlN8%3D' (2025-01-20) → 'github:nixos/nixos-hardware/dfad538f751a5aa5d4436d9781ab27a6128ec9d4?narHash=sha256-ZEbOJ9iT72iwqXsiEMbEa8wWjyFvRA9Ugx8utmYbpz4%3D' (2025-01-24) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/9b6cdf829fdef63efed466cf537c838dc685da41?narHash=sha256-Oa91e3B0/T1E4iL3HRO2ZOIxBxZGkCjHYY8VpFHOrwQ%3D' (2025-01-22) → 'github:nixos/nixpkgs/e7d1ad8950c9c4d3f17626b5a44965b26ca1a44a?narHash=sha256-AFirXjuOH227NzuDeVn%2BgLsTkSGjo0Ve2oPR1JA8fjU%3D' (2025-01-27) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/66292a47a4f13788e9d286f888021770a439acdc?narHash=sha256-oCUz3dmHN24ygfLwG8ziIP5zMCTQ1f8EYbID4CHdaCw%3D' (2025-01-22) → 'github:NixOS/nixpkgs/f104c8eca09a5affe9fa1de5d98d33affb31ade3?narHash=sha256-Nb4mQxo%2BYww06Z1v6QgZkAV/9tUPMUGBudvcRbzxfRw%3D' (2025-01-27) • Updated input 'nur': 'github:nix-community/NUR/e40ac9c9b6aedbbfcddb32e94de8aa2f4a9a26bb?narHash=sha256-ZwJ3d0XiO8CQWf9C18inGojVGlCy8wWHt3v5HHaZJKM%3D' (2025-01-22) → 'github:nix-community/NUR/be257bb480af81493b38f11c5ffde5a4c2594b73?narHash=sha256-f1YmugFJjPguW65Mn0jNmvS6NO6YWK0B092Pmx7ihWo%3D' (2025-01-27) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/9e4d5190a9482a1fb9d18adf0bdb83c6e506eaab?narHash=sha256-nmKOgAU48S41dTPIXAq0AHZSehWUn6ZPrUKijHAMmIk%3D' (2025-01-21) → 'github:nixos/nixpkgs/852ff1d9e153d8875a83602e03fdef8a63f0ecf8?narHash=sha256-Zf0hSrtzaM1DEz8//%2BXs51k/wdSajticVrATqDrfQjg%3D' (2025-01-26) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index fcaaca2..160134e 100644 --- a/flake.lock +++ b/flake.lock @@ -334,11 +334,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1737359802, - "narHash": "sha256-utplyRM6pqnN940gfaLFBb9oUCSzkan86IvmkhsVlN8=", + "lastModified": 1737751639, + "narHash": "sha256-ZEbOJ9iT72iwqXsiEMbEa8wWjyFvRA9Ugx8utmYbpz4=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "61c79181e77ef774ab0468b28a24bc2647d498d6", + "rev": "dfad538f751a5aa5d4436d9781ab27a6128ec9d4", "type": "github" }, "original": { @@ -350,11 +350,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1737545261, - "narHash": "sha256-Oa91e3B0/T1E4iL3HRO2ZOIxBxZGkCjHYY8VpFHOrwQ=", + "lastModified": 1737958377, + "narHash": "sha256-AFirXjuOH227NzuDeVn+gLsTkSGjo0Ve2oPR1JA8fjU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9b6cdf829fdef63efed466cf537c838dc685da41", + "rev": "e7d1ad8950c9c4d3f17626b5a44965b26ca1a44a", "type": "github" }, "original": { @@ -382,11 +382,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1737547357, - "narHash": "sha256-oCUz3dmHN24ygfLwG8ziIP5zMCTQ1f8EYbID4CHdaCw=", + "lastModified": 1737961843, + "narHash": "sha256-Nb4mQxo+Yww06Z1v6QgZkAV/9tUPMUGBudvcRbzxfRw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "66292a47a4f13788e9d286f888021770a439acdc", + "rev": "f104c8eca09a5affe9fa1de5d98d33affb31ade3", "type": "github" }, "original": { @@ -398,11 +398,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1737469691, - "narHash": "sha256-nmKOgAU48S41dTPIXAq0AHZSehWUn6ZPrUKijHAMmIk=", + "lastModified": 1737885589, + "narHash": "sha256-Zf0hSrtzaM1DEz8//+Xs51k/wdSajticVrATqDrfQjg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9e4d5190a9482a1fb9d18adf0bdb83c6e506eaab", + "rev": "852ff1d9e153d8875a83602e03fdef8a63f0ecf8", "type": "github" }, "original": { @@ -419,11 +419,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1737548889, - "narHash": "sha256-ZwJ3d0XiO8CQWf9C18inGojVGlCy8wWHt3v5HHaZJKM=", + "lastModified": 1737954724, + "narHash": "sha256-f1YmugFJjPguW65Mn0jNmvS6NO6YWK0B092Pmx7ihWo=", "owner": "nix-community", "repo": "NUR", - "rev": "e40ac9c9b6aedbbfcddb32e94de8aa2f4a9a26bb", + "rev": "be257bb480af81493b38f11c5ffde5a4c2594b73", "type": "github" }, "original": { From fa980d17532797f9c4d7374f32410ac4137dfb22 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 28 Jan 2025 02:18:27 +0100 Subject: [PATCH 562/766] Enable color interlock otherwise, adaptive lighting will also set a color. --- .../iron/services/esphome/devices/chinafrickeldeckenleuchte.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/iron/services/esphome/devices/chinafrickeldeckenleuchte.yaml b/hosts/iron/services/esphome/devices/chinafrickeldeckenleuchte.yaml index 802e77f..88224a9 100644 --- a/hosts/iron/services/esphome/devices/chinafrickeldeckenleuchte.yaml +++ b/hosts/iron/services/esphome/devices/chinafrickeldeckenleuchte.yaml @@ -57,3 +57,4 @@ light: cold_white: output_ch5 warm_white_color_temperature: 2700 K cold_white_color_temperature: 6500 K + color_interlock: true From 88c5c3c885b0494bd8b17b07e3eb9f2063a7dee3 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 29 Jan 2025 01:26:46 +0100 Subject: [PATCH 563/766] Changes for esp32 client - Use recommended settings for esp32 client, see https://github.com/DavidVentura/esp-snapcast - Allow access from iot network --- hosts/iron/services/snapcast/snapserver.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/hosts/iron/services/snapcast/snapserver.nix b/hosts/iron/services/snapcast/snapserver.nix index 4dbda43..e007634 100644 --- a/hosts/iron/services/snapcast/snapserver.nix +++ b/hosts/iron/services/snapcast/snapserver.nix @@ -10,6 +10,11 @@ in default = { type = "meta"; location = "meta:///hass/bluetooth/airplay/mopidy"; + query = { + chunk_ms = "30"; + buffer = "690"; + codec = "flac"; + }; }; mopidy = { type = "pipe"; @@ -56,4 +61,10 @@ in { from = 6001; to = 6011; } # airplay ]; }; + + networking.firewall.interfaces.iot = { + allowedTCPPorts = [ + config.services.snapserver.port + ]; + }; } From 5eeaf11e6c0aebe2218464f590b822c1daba492c Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 29 Jan 2025 11:06:13 +0100 Subject: [PATCH 564/766] Improve git diff --- users/jalr/modules/git.nix | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/users/jalr/modules/git.nix b/users/jalr/modules/git.nix index 9d4391f..83e4b79 100644 --- a/users/jalr/modules/git.nix +++ b/users/jalr/modules/git.nix @@ -17,6 +17,7 @@ in }; diff-so-fancy = { enable = true; + markEmptyLines = false; }; extraConfig = { init.defaultBranch = "main"; @@ -24,11 +25,30 @@ in pull.ff = "only"; alias.find-merge = "!sh -c 'commit=$0 && branch=\${1:-HEAD} && (git rev-list $commit..$branch --ancestry-path | cat -n; git rev-list $commit..$branch --first-parent | cat -n) | sort -k2 -s | uniq -f1 -d | sort -n | tail -1 | cut -f2'"; alias.show-merge = "!sh -c 'merge=$(git find-merge $0 $1) && [ -n \"$merge\" ] && git show $merge'"; + color = { + ui = true; + meta = "11"; + frag = "magenta bold"; + func = "146 bold"; + commit = "yellow bold"; + old = "red bold"; + new = "green bold"; + whitespace = "red reverse"; + diff-highlight = { + oldNormal = "red bold"; + oldHighlight = "red bold 52"; + newNormal = "green bold"; + newHighlight = "green bold 22"; + }; + }; }; lfs.enable = true; }; lazygit = { enable = true; + settings = { + gui.scrollHeight = 8; + }; }; fish = { shellAbbrs = { From 4e45e263f56163d4ed9b19a461b013d53df110f6 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 29 Jan 2025 13:18:45 +0100 Subject: [PATCH 565/766] Add permanent staircase light switch --- .../esphome/devices/tuersprechanlage.yaml | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/hosts/iron/services/esphome/devices/tuersprechanlage.yaml b/hosts/iron/services/esphome/devices/tuersprechanlage.yaml index 49940a4..d40d2c4 100644 --- a/hosts/iron/services/esphome/devices/tuersprechanlage.yaml +++ b/hosts/iron/services/esphome/devices/tuersprechanlage.yaml @@ -76,6 +76,17 @@ output: frequency: 50000 min_power: 0 max_power: 0.12 + - platform: template + type: binary + id: output_staircase_light_permanent + write_action: + - if: + condition: + lambda: 'return state;' + then: + - script.execute: script_staircase_permanent + else: + - script.stop: script_staircase_permanent button: - platform: template @@ -94,3 +105,20 @@ button: - output.turn_on: output_staircase_light_ssr - delay: 200ms - output.turn_off: output_staircase_light_ssr + +light: + - platform: binary + id: staircase_permanent + name: Treppenlicht permanent + output: output_staircase_light_permanent + +script: + - id: script_staircase_permanent + mode: restart + then: + - while: + condition: + lambda: 'return true;' + then: + - button.press: btn_staircase_light + - delay: 90s From 86cf49d8812578f728d32d7f4f67df40d8984372 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 29 Jan 2025 13:19:29 +0100 Subject: [PATCH 566/766] Stop alarm when removing keys if door is open --- .../services/esphome/devices/wohnungstuer.yaml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/hosts/iron/services/esphome/devices/wohnungstuer.yaml b/hosts/iron/services/esphome/devices/wohnungstuer.yaml index 86ba80a..8926b4e 100644 --- a/hosts/iron/services/esphome/devices/wohnungstuer.yaml +++ b/hosts/iron/services/esphome/devices/wohnungstuer.yaml @@ -47,6 +47,8 @@ binary_sensor: mode: input: true pullup: true + filters: + - delayed_on_off: 1s device_class: door on_press: # on opening door then: @@ -144,8 +146,7 @@ binary_sensor: device_class: occupancy filters: - invert: - - delayed_on: 100ms - - delayed_off: 100ms + - delayed_on_off: 250ms on_press: # when keys fall in bowl then: - binary_sensor.template.publish: # set at home state @@ -172,6 +173,15 @@ binary_sensor: transition_length: 3s on_release: # when keys are removed from bowl then: + - if: + condition: + lambda: |- + return id(leaving) == 1; + then: + - light.turn_off: + id: pixels + - script.stop: beep + - switch.turn_off: buzzer - lambda: |- id(leaving) |= 2; - if: From 261a05745805a138362eff936454f864b29ddd2e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 31 Jan 2025 14:23:27 +0100 Subject: [PATCH 567/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/bf0abfde48f469c256f2b0f481c6281ff04a5db2?narHash=sha256-rMEuiK69MDhjz1JgbaeQ9mBDXMJ2/P8vmOYRbFndXsk%3D' (2025-01-16) → 'github:nix-community/disko/18d0a984cc2bc82cf61df19523a34ad463aa7f54?narHash=sha256-KYOATYEwaKysL3HdHdS5kbQMXvzS4iPJzJrML%2B3TKAo%3D' (2025-01-29) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/e7d1ad8950c9c4d3f17626b5a44965b26ca1a44a?narHash=sha256-AFirXjuOH227NzuDeVn%2BgLsTkSGjo0Ve2oPR1JA8fjU%3D' (2025-01-27) → 'github:nixos/nixpkgs/bff401190a036ff01401d57f3b1a30b311cfdec9?narHash=sha256-l3Tn6TREbT%2BSQNWhol5EIjrdt60MLTKRJobacesN/0w%3D' (2025-01-31) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/f104c8eca09a5affe9fa1de5d98d33affb31ade3?narHash=sha256-Nb4mQxo%2BYww06Z1v6QgZkAV/9tUPMUGBudvcRbzxfRw%3D' (2025-01-27) → 'github:NixOS/nixpkgs/2b5331b146af2487829bfba45d01cd6904f4cccd?narHash=sha256-k/tJ6wBMWjrdOaQ138AT6Wa/KLIeFOTn4SXZTnYqtm0%3D' (2025-01-31) • Updated input 'nur': 'github:nix-community/NUR/be257bb480af81493b38f11c5ffde5a4c2594b73?narHash=sha256-f1YmugFJjPguW65Mn0jNmvS6NO6YWK0B092Pmx7ihWo%3D' (2025-01-27) → 'github:nix-community/NUR/df289edee9290b9adc0a8f3aa20c702f312f3658?narHash=sha256-meglyu9QhgFeTFp0AQdwYAyUvQ%2B4fRDgVH7PAS4jc7A%3D' (2025-01-31) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/852ff1d9e153d8875a83602e03fdef8a63f0ecf8?narHash=sha256-Zf0hSrtzaM1DEz8//%2BXs51k/wdSajticVrATqDrfQjg%3D' (2025-01-26) → 'github:nixos/nixpkgs/9d3ae807ebd2981d593cddd0080856873139aa40?narHash=sha256-NGqpVVxNAHwIicXpgaVqJEJWeyqzoQJ9oc8lnK9%2BWC4%3D' (2025-01-29) • Updated input 'sops-nix': 'github:Mic92/sops-nix/015d461c16678fc02a2f405eb453abb509d4e1d4?narHash=sha256-j9IdflJwRtqo9WpM0OfAZml47eBblUHGNQTe62OUqTw%3D' (2025-01-20) → 'github:Mic92/sops-nix/4c1251904d8a08c86ac6bc0d72cc09975e89aef7?narHash=sha256-wkwYJc8cKmmQWUloyS9KwttBnja2ONRuJQDEsmef320%3D' (2025-01-31) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 160134e..77132b3 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1737038063, - "narHash": "sha256-rMEuiK69MDhjz1JgbaeQ9mBDXMJ2/P8vmOYRbFndXsk=", + "lastModified": 1738148035, + "narHash": "sha256-KYOATYEwaKysL3HdHdS5kbQMXvzS4iPJzJrML+3TKAo=", "owner": "nix-community", "repo": "disko", - "rev": "bf0abfde48f469c256f2b0f481c6281ff04a5db2", + "rev": "18d0a984cc2bc82cf61df19523a34ad463aa7f54", "type": "github" }, "original": { @@ -350,11 +350,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1737958377, - "narHash": "sha256-AFirXjuOH227NzuDeVn+gLsTkSGjo0Ve2oPR1JA8fjU=", + "lastModified": 1738329486, + "narHash": "sha256-l3Tn6TREbT+SQNWhol5EIjrdt60MLTKRJobacesN/0w=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e7d1ad8950c9c4d3f17626b5a44965b26ca1a44a", + "rev": "bff401190a036ff01401d57f3b1a30b311cfdec9", "type": "github" }, "original": { @@ -382,11 +382,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1737961843, - "narHash": "sha256-Nb4mQxo+Yww06Z1v6QgZkAV/9tUPMUGBudvcRbzxfRw=", + "lastModified": 1738329037, + "narHash": "sha256-k/tJ6wBMWjrdOaQ138AT6Wa/KLIeFOTn4SXZTnYqtm0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f104c8eca09a5affe9fa1de5d98d33affb31ade3", + "rev": "2b5331b146af2487829bfba45d01cd6904f4cccd", "type": "github" }, "original": { @@ -398,11 +398,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1737885589, - "narHash": "sha256-Zf0hSrtzaM1DEz8//+Xs51k/wdSajticVrATqDrfQjg=", + "lastModified": 1738142207, + "narHash": "sha256-NGqpVVxNAHwIicXpgaVqJEJWeyqzoQJ9oc8lnK9+WC4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "852ff1d9e153d8875a83602e03fdef8a63f0ecf8", + "rev": "9d3ae807ebd2981d593cddd0080856873139aa40", "type": "github" }, "original": { @@ -419,11 +419,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1737954724, - "narHash": "sha256-f1YmugFJjPguW65Mn0jNmvS6NO6YWK0B092Pmx7ihWo=", + "lastModified": 1738319198, + "narHash": "sha256-meglyu9QhgFeTFp0AQdwYAyUvQ+4fRDgVH7PAS4jc7A=", "owner": "nix-community", "repo": "NUR", - "rev": "be257bb480af81493b38f11c5ffde5a4c2594b73", + "rev": "df289edee9290b9adc0a8f3aa20c702f312f3658", "type": "github" }, "original": { @@ -534,11 +534,11 @@ ] }, "locked": { - "lastModified": 1737411508, - "narHash": "sha256-j9IdflJwRtqo9WpM0OfAZml47eBblUHGNQTe62OUqTw=", + "lastModified": 1738291974, + "narHash": "sha256-wkwYJc8cKmmQWUloyS9KwttBnja2ONRuJQDEsmef320=", "owner": "Mic92", "repo": "sops-nix", - "rev": "015d461c16678fc02a2f405eb453abb509d4e1d4", + "rev": "4c1251904d8a08c86ac6bc0d72cc09975e89aef7", "type": "github" }, "original": { From f216123b80828c4267f75ec5c9429a1ea76acf23 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 31 Jan 2025 14:24:59 +0100 Subject: [PATCH 568/766] Update gpg key --- pkgs/contact-page/src/gpg/3044E71E.txt | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/pkgs/contact-page/src/gpg/3044E71E.txt b/pkgs/contact-page/src/gpg/3044E71E.txt index 329f049..da79b74 100644 --- a/pkgs/contact-page/src/gpg/3044E71E.txt +++ b/pkgs/contact-page/src/gpg/3044E71E.txt @@ -6,18 +6,18 @@ ZlmbOQe0HEpha29iIExlY2huZXIgPGphbHJAamFsci5kZT6IjgQTFgoANhYhBDBE gAAKCRCb9PzLkIVNqbmFAQDG8xNgbZsZx6N2ssVC9k98IUvuKuMZQ6Gju86EsnNY dgD/eSVRfAKCtIPSGtoLvE5zL80hk117R4f8rbMEvrmt9gm4MwRluY53FgkrBgEE AdpHDwEBB0DRonRUQIQSfkqX7yHFHewbEYnc/spaPufL6EnSPVLvZ4j1BBgWCgAm -FiEEMETnHj3v9JtYbPWAm/T8y5CFTakFAmW5jncCGwIFCQHhM4AAgQkQm/T8y5CF -Tal2IAQZFgoAHRYhBDp0/wfiMHs2RqSZ6EYNR7hAgU8/BQJluY53AAoJEEYNR7hA -gU8/HikBAPOziBknk+WcsKODsdViFedagVgtnjW8J6mJZRKNcD2fAP4/42g9wU2i -KHKHypLlGdmgOVOpSGNcubkcPFcOOHH7AZevAQDUU/UNpIHe7R3rYq4sFT2iYa9T -ZKpmOostoAzyYOViZwD/RA2suqGyrSe96JLnxwzy3LccYgV3VwEbHDWeUTvOCAy4 +AhsCFiEEMETnHj3v9JtYbPWAm/T8y5CFTakFAmeapjEFCQPEYEkAgXYgBBkWCgAd +FiEEOnT/B+IwezZGpJnoRg1HuECBTz8FAmW5jncACgkQRg1HuECBTz8eKQEA87OI +GSeT5Zywo4Ox1WIV51qBWC2eNbwnqYllEo1wPZ8A/j/jaD3BTaIocofKkuUZ2aA5 +U6lIY1y5uRw8Vw44cfsBCRCb9PzLkIVNqcQ/AP9jUZhRTIN68wJVgum+gvha4TEr +jFO2kNknySPCBRlaDwD9EY8S8vFHgdYiKznegRSPxpMCvQJaCY45iz+C3f2RVg64 OARluY6pEgorBgEEAZdVAQUBAQdAAXZvPoXdFpBhYS8KgCeXweUMlSwsCnXmgiDh -neSFMwsDAQgHiH4EGBYKACYWIQQwROcePe/0m1hs9YCb9PzLkIVNqQUCZbmOqQIb -DAUJAeEzgAAKCRCb9PzLkIVNqbmEAQDSBggKtjGkLuYtIHBBCfBF4Dx7odOapasa -tYqZTU7twwD/VhDvRGPbTl7X7DYQ36bmyjTe6cZAj3/M0ueQhlTrJAW4MwRluY7E +neSFMwsDAQgHiH4EGBYKACYCGwwWIQQwROcePe/0m1hs9YCb9PzLkIVNqQUCZ5qm +MQUJA8RgFwAKCRCb9PzLkIVNqTe+AQDfwIANBVThT7sU+aG4Bp3uyVV1QrGp0Ofl +yatQaNUUoQD6AhuvEjRP4zX3j+iQeDQ0S80kkAAlLm4j02BQZ/76YA64MwRluY7E FgkrBgEEAdpHDwEBB0B95fmIsa7I4c3ttAko71CuEI/wTam0zYrYJNtL7sz3o4h+ -BBgWCgAmFiEEMETnHj3v9JtYbPWAm/T8y5CFTakFAmW5jsQCGyAFCQHhM4AACgkQ -m/T8y5CFTamxRwD6A9TAs2Ac2VUQDCGgIEgUeULB2fZ1i0s0zydXctKJf7wBAL64 -utFE0ryrkFHMGY4xHMwZfvWosYH/qfLlKadnb3cK -=WgEZ +BBgWCgAmAhsgFiEEMETnHj3v9JtYbPWAm/T8y5CFTakFAmeapjEFCQPEX/wACgkQ +m/T8y5CFTankYgEAvtt26Zb7UQCndmcrm8kp/7aoO+QDpZvcNxBZdkJAtOYBANUM +lKvWENxPyWSXttGzffFlMekZsxoEtBMvLgHWJ0YK +=spOi -----END PGP PUBLIC KEY BLOCK----- From aef0a15dc8cd75e2b4ac0390e91d0235a0263aae Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 3 Feb 2025 23:35:44 +0100 Subject: [PATCH 569/766] Update docker-machine-gitlab --- pkgs/default.nix | 4 +- pkgs/docker-machine-gitlab/default.nix | 103 +++++++--- pkgs/docker-machine-gitlab/gomod2nix.toml | 232 ++++++++++++++++++++++ 3 files changed, 309 insertions(+), 30 deletions(-) create mode 100644 pkgs/docker-machine-gitlab/gomod2nix.toml diff --git a/pkgs/default.nix b/pkgs/default.nix index dd3e989..62b61c9 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -11,7 +11,9 @@ in docker-machine-driver-hetzner = callPackage ./docker-machine-driver-hetzner { inherit (inputs.gomod2nix.legacyPackages.${system}) buildGoApplication; }; - docker-machine-gitlab = callPackage ./docker-machine-gitlab { }; + docker-machine-gitlab = callPackage ./docker-machine-gitlab { + inherit (inputs.gomod2nix.legacyPackages.${system}) buildGoApplication; + }; fpvout = callPackage ./fpvout { }; mute-indicator = callPackage ./mute-indicator { }; myintercom-doorbell = callPackage ./myintercom-doorbell { diff --git a/pkgs/docker-machine-gitlab/default.nix b/pkgs/docker-machine-gitlab/default.nix index 48469ea..ca847bd 100644 --- a/pkgs/docker-machine-gitlab/default.nix +++ b/pkgs/docker-machine-gitlab/default.nix @@ -1,35 +1,80 @@ -{ lib, buildGoPackage, fetchFromGitLab, installShellFiles, docker-machine-driver-hetzner, makeWrapper, openssh }: +{ lib +, buildGoApplication +, fetchFromGitLab +, installShellFiles +, docker-machine-driver-hetzner +, makeWrapper +, openssh +, rsync +, +}: +( + buildGoApplication rec { + pname = "docker-machine-gitlab"; + version = "0.16.2-gitlab.32"; + goPackagePath = "github.com/docker/machine"; + modules = ./gomod2nix.toml; -buildGoPackage rec { - pname = "docker-machine-gitlab"; - version = "0.16.2-gitlab.22"; + src = fetchFromGitLab { + rev = "v${version}"; + group = "gitlab-org"; + owner = "ci-cd"; + repo = "docker-machine"; + sha256 = "sha256-jipKo3LRTDUVKMkBK2qH/JIUcj3vJh7SdcQ8FMTr2Ok="; + }; - goPackagePath = "github.com/docker/machine"; + nativeBuildInputs = [ + docker-machine-driver-hetzner + installShellFiles + makeWrapper + openssh + rsync + ]; - src = fetchFromGitLab { - rev = "v${version}"; - group = "gitlab-org"; - owner = "ci-cd"; - repo = "docker-machine"; - sha256 = "sha256-WYnaY/0FJzXDiECms1gGNR1jN4DUQ3s296KG9r1c2io="; - }; - - nativeBuildInputs = [ - docker-machine-driver-hetzner - installShellFiles - makeWrapper - openssh - ]; - - postInstall = '' - pushd go/src/${goPackagePath}/contrib/completion - installShellCompletion --bash bash/* - installShellCompletion --zsh zsh/* - popd - wrapProgram $out/bin/docker-machine \ - --prefix PATH : ${lib.makeBinPath [ + postInstall = '' + pushd contrib/completion + installShellCompletion --bash bash/* + installShellCompletion --zsh zsh/* + popd + wrapProgram $out/bin/docker-machine \ + --prefix PATH : ${lib.makeBinPath [ docker-machine-driver-hetzner openssh + rsync ]} - ''; -} + ''; + } +).overrideAttrs (attrs: { + checkPhase = + '' + export USER="unknown" + ln -s $GOPATH/bin bin + + # Disable failing test + cat > cmd/docker-machine/machine_test.go << EOF + package main + + import ( + "os" + "testing" + + "github.com/docker/machine/commands/mcndirs" + ) + + func TestStorePathSetCorrectly(t *testing.T) { + mcndirs.BaseDir = "" + os.Args = []string{"docker-machine", "--storage-path", "/tmp/foo"} + main() + /* + if mcndirs.BaseDir != "/tmp/foo" { + t.Fatal("Expected MACHINE_STORAGE_PATH environment variable to be /tmp/foo but was ", os.Getenv("MACHINE_STORAGE_PATH")) + } + */ + } + EOF + + sed -i 's#exec.Command("/usr/bin/scp"#exec.Command("${openssh}/bin/scp"#' commands/scp_test.go + sed -i 's#exec.Command("/usr/bin/rsync"#exec.Command("${rsync}/bin/rsync"#' commands/scp_test.go + '' + + attrs.checkPhase; +}) diff --git a/pkgs/docker-machine-gitlab/gomod2nix.toml b/pkgs/docker-machine-gitlab/gomod2nix.toml new file mode 100644 index 0000000..f2bae8f --- /dev/null +++ b/pkgs/docker-machine-gitlab/gomod2nix.toml @@ -0,0 +1,232 @@ +schema = 3 + +[mod] + [mod."cloud.google.com/go/compute"] + version = "v1.25.1" + hash = "sha256-A5Wiq8eKgolb81ZpAnoGaBNrTtHpDLLPFgXBJaKcnSA=" + [mod."cloud.google.com/go/compute/metadata"] + version = "v0.2.3" + hash = "sha256-kYB1FTQRdTDqCqJzSU/jJYbVUGyxbkASUKbEs36FUyU=" + [mod."github.com/Azure/azure-sdk-for-go"] + version = "v5.0.0-beta+incompatible" + hash = "sha256-wH+ODrNrEx6aLsbJd1LKztHBz4MDric0gVUHtlq26cg=" + [mod."github.com/Azure/go-autorest"] + version = "v7.2.1+incompatible" + hash = "sha256-yPtI1uwZs5FIJXU+ZUZfSxsnA+b7AmokMzkzXhQz1z4=" + [mod."github.com/Microsoft/go-winio"] + version = "v0.6.1" + hash = "sha256-BL0BVaHtmPKQts/711W59AbHXjGKqFS4ZTal0RYnR9I=" + [mod."github.com/aws/aws-sdk-go"] + version = "v1.36.21" + hash = "sha256-Lko4zIyNdBdKI1u7dWgcf8mjuf1HdpvV8lC6u9TmuUM=" + [mod."github.com/bitly/go-simplejson"] + version = "v0.5.1" + hash = "sha256-ypd4SyAww1+1IlxXlAeGYbTKwl/mahlj9k0MjXJkAJ0=" + [mod."github.com/bugsnag/bugsnag-go"] + version = "v1.0.6-0.20151120182711-02e952891c52" + hash = "sha256-D0oYpL2bgzUlBTs10AM+2MkmwbgfNod4W5hGf4KsP0s=" + [mod."github.com/bugsnag/osext"] + version = "v0.0.0-20130617224835-0dd3f918b21b" + hash = "sha256-Q/iSW9oc9UZEH3GFjTouJoMngM6jPp+bszVcQyv+7Ao=" + [mod."github.com/bugsnag/panicwrap"] + version = "v0.0.0-20160118154447-aceac81c6e2f" + hash = "sha256-q4qH0IhNfxOOjNsWqR4t8Kk0duRexYRAm+P+oaW+nds=" + [mod."github.com/cenkalti/backoff"] + version = "v0.0.0-20141124221459-9831e1e25c87" + hash = "sha256-KyUBfBPlFd37Y9P3xnORI1SbFLxBEtWTsnNf0MaaXkQ=" + [mod."github.com/codegangsta/cli"] + version = "v1.11.1-0.20151120215642-0302d3914d2a" + hash = "sha256-D8uAVNyBdtLvpUD97l0521hSJd+Mk/0oT3xW95cklto=" + [mod."github.com/containerd/log"] + version = "v0.1.0" + hash = "sha256-vuE6Mie2gSxiN3jTKTZovjcbdBd1YEExb7IBe3GM+9s=" + [mod."github.com/davecgh/go-spew"] + version = "v1.1.1" + hash = "sha256-nhzSUrE1fCkN0+RL04N4h8jWmRFPPPWbCuDc7Ss0akI=" + [mod."github.com/dgrijalva/jwt-go"] + version = "v4.5.0" + hash = "sha256-dyKL8wQRApkdCkKxJ1knllvixsrBLw+BtRS0SjlN7NQ=" + replaced = "github.com/golang-jwt/jwt/v4" + [mod."github.com/digitalocean/godo"] + version = "v1.0.1-0.20170317202744-d59ed2fe842b" + hash = "sha256-YwkNqher0TEfaHghZK/YTNOoTpAVtsr27Kk72CIvtfM=" + [mod."github.com/distribution/reference"] + version = "v0.6.0" + hash = "sha256-gr4tL+qz4jKyAtl8LINcxMSanztdt+pybj1T+2ulQv4=" + [mod."github.com/docker/docker"] + version = "v25.0.6+incompatible" + hash = "sha256-sUMANzDY4ORfD6qQ25NUhi7PPWF5v8NlOFquiVeDZmc=" + [mod."github.com/docker/go-connections"] + version = "v0.4.0" + hash = "sha256-GHNIjOuuNp5lFQ308+nDNwQPGESCVV7bCUxSW5ZxZlc=" + [mod."github.com/docker/go-units"] + version = "v0.2.1-0.20151230175859-0bbddae09c5a" + hash = "sha256-PbojDBnjJeH425NPmFUb70+0oAfOUH3r0VdXCT6ViXw=" + [mod."github.com/exoscale/egoscale"] + version = "v0.9.23" + hash = "sha256-DftIgQ0YcZAi+fl/XT2Qnwr/jBGw2g7y4d5vgy67/xE=" + [mod."github.com/felixge/httpsnoop"] + version = "v1.0.4" + hash = "sha256-c1JKoRSndwwOyOxq9ddCe+8qn7mG9uRq2o/822x5O/c=" + [mod."github.com/go-logr/logr"] + version = "v1.4.2" + hash = "sha256-/W6qGilFlZNTb9Uq48xGZ4IbsVeSwJiAMLw4wiNYHLI=" + [mod."github.com/go-logr/stdr"] + version = "v1.2.2" + hash = "sha256-rRweAP7XIb4egtT1f2gkz4sYOu7LDHmcJ5iNsJUd0sE=" + [mod."github.com/gogo/protobuf"] + version = "v1.3.2" + hash = "sha256-pogILFrrk+cAtb0ulqn9+gRZJ7sGnnLLdtqITvxvG6c=" + [mod."github.com/golang/groupcache"] + version = "v0.0.0-20210331224755-41bb18bfe9da" + hash = "sha256-7Gs7CS9gEYZkbu5P4hqPGBpeGZWC64VDwraSKFF+VR0=" + [mod."github.com/golang/protobuf"] + version = "v1.5.4" + hash = "sha256-N3+Lv9lEZjrdOWdQhFj6Y3Iap4rVLEQeI8/eFFyAMZ0=" + [mod."github.com/google/go-querystring"] + version = "v0.0.0-20140804062624-30f7a39f4a21" + hash = "sha256-gjDRAELJKrQF7NgL2iSz3X260oHwykhsx23pGfN8iP4=" + [mod."github.com/google/s2a-go"] + version = "v0.1.7" + hash = "sha256-E+SX/3VmRI5qN7SbnRP4Tt+gQTq93pScpY9U2tTmIU0=" + [mod."github.com/google/uuid"] + version = "v1.6.0" + hash = "sha256-VWl9sqUzdOuhW0KzQlv0gwwUQClYkmZwSydHG2sALYw=" + [mod."github.com/googleapis/enterprise-certificate-proxy"] + version = "v0.3.2" + hash = "sha256-wVuR3QC0mYFl5LNeKdRXdKdod7BGP5sv2h6VVib85v8=" + [mod."github.com/googleapis/gax-go/v2"] + version = "v2.12.2" + hash = "sha256-Ip0d68jgTxN3v1MWFW6nwCsMc70Q9PCM87bhXJdOkHY=" + [mod."github.com/intel-go/cpuid"] + version = "v0.0.0-20181003105527-1a4a6f06a1c6" + hash = "sha256-iGtI0TF0jB5FEWy1J4YFuHzDYjZM3YBlmENJEgNNkYg=" + [mod."github.com/jinzhu/copier"] + version = "v0.0.0-20180308034124-7e38e58719c3" + hash = "sha256-F3zQzaS79GsZP6pLtxSYnsX/GgTN14TuBE8QqdBnJw4=" + [mod."github.com/jmespath/go-jmespath"] + version = "v0.4.0" + hash = "sha256-xpT9g2qIXmPq7eeHUXHiDqJeQoHCudh44G/KCSFbcuo=" + [mod."github.com/juju/loggo"] + version = "v1.0.0" + hash = "sha256-kfQSM4ZtqGXJJ0838/ClX2/SinwCKoDGrvpNVYVqsyk=" + [mod."github.com/mitchellh/mapstructure"] + version = "v0.0.0-20140721150620-740c764bc614" + hash = "sha256-ix0FerxJyiTrNxmysA9vGDCPig14/8pBtsWQX/NIn2Y=" + [mod."github.com/moby/term"] + version = "v0.5.0" + hash = "sha256-jy0kbkeUsr0KoiE33WLxNAgYXZIERKR2O5+saXBwdD8=" + [mod."github.com/morikuni/aec"] + version = "v1.0.0" + hash = "sha256-5zYgLeGr3K+uhGKlN3xv0PO67V+2Zw+cezjzNCmAWOE=" + [mod."github.com/opencontainers/go-digest"] + version = "v1.0.0" + hash = "sha256-cfVDjHyWItmUGZ2dzQhCHgmOmou8v7N+itDkLZVkqkQ=" + [mod."github.com/opencontainers/image-spec"] + version = "v1.0.2" + hash = "sha256-X7kZoMYZNOIDpx8ziK7V+5YM07qiYWOE4yJo+sTOjjU=" + [mod."github.com/pkg/errors"] + version = "v0.9.1" + hash = "sha256-mNfQtcrQmu3sNg/7IwiieKWOgFQOVVe2yXgKBpe/wZw=" + [mod."github.com/pmezard/go-difflib"] + version = "v1.0.0" + hash = "sha256-/FtmHnaGjdvEIKAJtrUfEhV7EVo5A/eYrtdnUkuxLDA=" + [mod."github.com/rackspace/gophercloud"] + version = "v1.0.1-0.20150408191457-ce0f487f6747" + hash = "sha256-MCFOrRu/ctp6LlaSjpLYTrPia3NUUaI0DOxUPLMp9HA=" + [mod."github.com/skarademir/naturalsort"] + version = "v0.0.0-20150715044055-69a5d87bef62" + hash = "sha256-0pVMtl/t6ZpDftoVPY4tVa/3nUyPZtc59WsqbOHzKwI=" + [mod."github.com/stretchr/objx"] + version = "v0.5.2" + hash = "sha256-VKYxrrFb1nkX6Wu3tE5DoP9+fCttwSl9pgLN6567nck=" + [mod."github.com/stretchr/testify"] + version = "v1.9.0" + hash = "sha256-uUp/On+1nK+lARkTVtb5RxlW15zxtw2kaAFuIASA+J0=" + [mod."github.com/tent/http-link-go"] + version = "v0.0.0-20130702225549-ac974c61c2f9" + hash = "sha256-0jlX8F7SZJfMmKG51E0x9ZT4nnPTz+nGqYzcbVYQ8Lo=" + [mod."github.com/vmware/govcloudair"] + version = "v0.0.2" + hash = "sha256-Hk+WfrVIB1GupSP+XbfPO9szJaKUXz0kfoUX8RxIrKw=" + [mod."github.com/vmware/govmomi"] + version = "v0.6.2" + hash = "sha256-MPxva4racsmd4vH76ttps85fhYHW6Ze1uNmCqwdT2so=" + [mod."go.opencensus.io"] + version = "v0.24.0" + hash = "sha256-4H+mGZgG2c9I1y0m8avF4qmt8LUKxxVsTqR8mKgP4yo=" + [mod."go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"] + version = "v0.49.0" + hash = "sha256-1/7YxtXZM4i75rXXIO6UN4CTY93nE/v2k2htS0uUOVg=" + [mod."go.opentelemetry.io/otel"] + version = "v1.28.0" + hash = "sha256-bilBBr2cuADs9bQ7swnGLTuC7h0DooU6BQtrQqMqIjs=" + [mod."go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp"] + version = "v1.28.0" + hash = "sha256-nst5au6viPt71JG2TOd6JKfJGJ3QfbktC321XQJUfbU=" + [mod."go.opentelemetry.io/otel/metric"] + version = "v1.28.0" + hash = "sha256-k3p1lYcvrODwIkZo/j2jvCoDFUelz4yVJEEVdUKUmGU=" + [mod."go.opentelemetry.io/otel/sdk"] + version = "v1.28.0" + hash = "sha256-X48fV4A9vgxfjBpmUIQumod2nyI+tUc5lnhFkeKBRsc=" + [mod."go.opentelemetry.io/otel/trace"] + version = "v1.28.0" + hash = "sha256-8uxmlm0/5VGoWegxwy0q8NgeY+pyicSoV08RkvD9Q98=" + [mod."golang.org/x/crypto"] + version = "v0.31.0" + hash = "sha256-ZBjoG7ZOuTEmjaXPP9txAvjAjC46DeaLs0zrNzi8EQw=" + [mod."golang.org/x/mod"] + version = "v0.17.0" + hash = "sha256-CLaPeF6uTFuRDv4oHwOQE6MCMvrzkUjWN3NuyywZjKU=" + [mod."golang.org/x/net"] + version = "v0.33.0" + hash = "sha256-9swkU9vp6IflUUqAzK+y8PytSmrKLuryidP3RmRfe0w=" + [mod."golang.org/x/oauth2"] + version = "v0.18.0" + hash = "sha256-TX4CvtvHU+SGSmqlxaQqlgJjlJiOtLGYAZa0zeBfZak=" + [mod."golang.org/x/sync"] + version = "v0.10.0" + hash = "sha256-HWruKClrdoBKVdxKCyoazxeQV4dIYLdkHekQvx275/o=" + [mod."golang.org/x/sys"] + version = "v0.28.0" + hash = "sha256-kzSlDo5FKsQU9cLefIt2dueGUfz9XuEW+mGSGlPATGc=" + [mod."golang.org/x/term"] + version = "v0.27.0" + hash = "sha256-cb5p/yOlVL7dbkxugUVfqESTVpZ2LtrUWPnx9yue3r0=" + [mod."golang.org/x/text"] + version = "v0.21.0" + hash = "sha256-QaMwddBRnoS2mv9Y86eVC2x2wx/GZ7kr2zAJvwDeCPc=" + [mod."golang.org/x/tools"] + version = "v0.21.1-0.20240508182429-e35e4ccd0d2d" + hash = "sha256-KfnS+3fREPAWQUBoUedPupQp9yLrugxMmmEoHvyzKNE=" + [mod."google.golang.org/api"] + version = "v0.169.0" + hash = "sha256-7+EAvbTTnUutkXpQBbxPSmZTS5P0mrKTiFooMI81w0k=" + [mod."google.golang.org/appengine"] + version = "v1.6.8" + hash = "sha256-decMa0MiWfW/Bzr8QPPzzpeya0YWGHhZAt4Cr/bD1wQ=" + [mod."google.golang.org/genproto/googleapis/api"] + version = "v0.0.0-20240701130421-f6361c86f094" + hash = "sha256-uDvld45ensSUweUJYFdUfVt/0mNRrexpuQ3Jas3GMv4=" + [mod."google.golang.org/genproto/googleapis/rpc"] + version = "v0.0.0-20240701130421-f6361c86f094" + hash = "sha256-ass/74EkCljwk7DaASDtK2zipn2cZv6tCLKvwONUWgY=" + [mod."google.golang.org/grpc"] + version = "v1.64.1" + hash = "sha256-A1+kiePmeqRIdigryUGNJWZiILLacDPtMTEyO6CqDpY=" + [mod."google.golang.org/protobuf"] + version = "v1.34.2" + hash = "sha256-nMTlrDEE2dbpWz50eQMPBQXCyQh4IdjrTIccaU0F3m0=" + [mod."gopkg.in/check.v1"] + version = "v1.0.0-20160105164936-4f90aeace3a2" + hash = "sha256-2+om0xBiwyEtUZRY78rYvWU8ECLVhEipNngXz9ttiVE=" + [mod."gopkg.in/yaml.v3"] + version = "v3.0.1" + hash = "sha256-FqL9TKYJ0XkNwJFnq9j0VvJ5ZUU1RvH/52h/f5bkYAU=" + [mod."gotest.tools/v3"] + version = "v3.5.1" + hash = "sha256-ps2GEc3P2xvlrU4TCtXz+nLTxyP0RrF7SScz5jUqE5E=" + [mod."launchpad.net/gocheck"] + version = "v0.0.0-20140225173054-000000000087" + hash = "sha256-gDJ3emyS6+PruKHOf9BvukVENNUxzXhfKC4Gs6tQLvk=" From f632cd79aea1a4148cd2650996fc7769bfd37751 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 31 Dec 2024 15:56:27 +0100 Subject: [PATCH 570/766] Add ksoloti --- pkgs/default.nix | 5 +- pkgs/ksoloti/default.nix | 110 +++++++++++++++++++++++++++ pkgs/ksoloti/module.nix | 5 ++ pkgs/modules.nix | 1 + users/jalr/modules/sound/default.nix | 3 +- users/jalr/modules/sound/ksoloti.nix | 7 ++ 6 files changed, 129 insertions(+), 2 deletions(-) create mode 100644 pkgs/ksoloti/default.nix create mode 100644 pkgs/ksoloti/module.nix create mode 100644 users/jalr/modules/sound/ksoloti.nix diff --git a/pkgs/default.nix b/pkgs/default.nix index 62b61c9..677507c 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -2,12 +2,15 @@ final: prev: let - inherit (prev) callPackage system; + inherit (prev) callPackage system pkgsCross darwin; poetry2nix = callPackage inputs.poetry2nix { }; in { ariang = callPackage ./ariang { }; asterisk-sounds-de = callPackage ./asterisk-sounds-de { }; + ksoloti = callPackage ./ksoloti { + gcc-arm-embedded = pkgsCross.arm-embedded.buildPackages.gcc; + }; docker-machine-driver-hetzner = callPackage ./docker-machine-driver-hetzner { inherit (inputs.gomod2nix.legacyPackages.${system}) buildGoApplication; }; diff --git a/pkgs/ksoloti/default.nix b/pkgs/ksoloti/default.nix new file mode 100644 index 0000000..54cdb30 --- /dev/null +++ b/pkgs/ksoloti/default.nix @@ -0,0 +1,110 @@ +{ lib +, pkgs +, stdenv +, fetchFromGitHub +, gnumake +, gcc-arm-embedded +, jdk +, libfaketime +, ant +, makeWrapper +, dfu-util +}: + +stdenv.mkDerivation rec { + version = "1.1.0beta"; + pname = "ksoloti"; + + src = fetchFromGitHub { + owner = "ksoloti"; + repo = "ksoloti"; + rev = version; + sha256 = "sha256-RRwar0X2gI0LyM/pNhnlLet06MzrG4z4lm3kCmzWwBc="; + }; + + buildInputs = [ jdk libfaketime ]; + + nativeBuildInputs = [ + ant + gcc-arm-embedded + gnumake + makeWrapper + ]; + + propagatedBuildInputs = [ + dfu-util + gcc-arm-embedded + ]; + + /* + # Hardcode dfu-util path + substituteInPlace "platform_linux/upload_fw_dfu.sh" \ + --replace-fail "/bin/dfu-util" "" + substituteInPlace "platform_linux/upload_fw_dfu.sh" \ + --replace-fail "./dfu-util" "${dfu-util-ksoloti}/bin/dfu-util" + + */ + patchPhase = '' + # Hardcode path to "make" + for f in "firmware/compile_firmware_linux.sh" \ + "firmware/compile_patch_linux.sh"; do + substituteInPlace "$f" \ + --replace "make" "${gnumake}/bin/make" + done + + # Fix build version + substituteInPlace "build.xml" \ + --replace-fail "(git missing)" "${version}" + # Remove build time + substituteInPlace "build.xml" \ + --replace-fail "" "" + substituteInPlace "build.xml" \ + --replace-fail \ + '' \ + '' + substituteInPlace "build.xml" \ + --replace-fail "" "" + substituteInPlace "build.xml" \ + --replace-fail \ + '{line.separator}' \ + '{line.separator} ' + ''; + + buildPhase = '' + ( + find . -exec touch -d '1970-01-01 00:00' {} \; + (cd platform_linux; PATH="${pkgs.gcc-arm-embedded}/bin:$PATH" sh compile_firmware.sh BOARD_AXOLOTI_CORE) + faketime "1970-01-01 00:00:00" ant -Dbuild.runtime=true + ) + ''; + + installPhase = '' + mkdir -p $out/bin $out/share/ksoloti + + cp -r doc firmware chibios platform_linux CMSIS *.txt $out/share/ksoloti/ + install -vD dist/Ksoloti.jar $out/share/ksoloti/ + + patchShebangs $out/share/ksoloti/platform_linux/*.sh + + rm $out/share/ksoloti/platform_linux/bin/dfu-util + ln -s ${dfu-util}/bin/dfu-util $out/share/ksoloti/platform_linux/bin/dfu-util + + makeWrapper ${jdk}/bin/java $out/bin/ksoloti --add-flags "-Dksoloti_release=$out/share/ksoloti -Dksoloti_runtime=$out/share/ksoloti -jar $out/share/ksoloti/Ksoloti.jar" --prefix PATH : ${ + lib.makeBinPath [ + pkgs.gcc-arm-embedded + ] + } + ''; + + meta = with lib; { + homepage = "http://ksoloti.github.io"; + description = '' + Sketching embedded digital audio algorithms. + + To fix permissions of the Ksoloti USB device node, add a similar udev rule to services.udev.extraRules: + SUBSYSTEM=="usb", ATTR{idVendor}=="16c0", ATTR{idProduct}=="0442", OWNER="someuser", GROUP="somegroup" + ''; + license = licenses.gpl3; + maintainers = with maintainers; [ ]; + }; +} diff --git a/pkgs/ksoloti/module.nix b/pkgs/ksoloti/module.nix new file mode 100644 index 0000000..2948be5 --- /dev/null +++ b/pkgs/ksoloti/module.nix @@ -0,0 +1,5 @@ +{ + services.udev.extraRules = '' + SUBSYSTEM=="usb", ATTR{idVendor}=="16c0", ATTR{idProduct}=="0442", OWNER="jalr", GROUP="users" + ''; +} diff --git a/pkgs/modules.nix b/pkgs/modules.nix index cdfda2f..25865fa 100644 --- a/pkgs/modules.nix +++ b/pkgs/modules.nix @@ -3,6 +3,7 @@ { imports = [ ./asterisk-sounds-de/module.nix + ./ksoloti/module.nix ./myintercom-doorbell/module.nix ./pretix-banktool/module.nix ]; diff --git a/users/jalr/modules/sound/default.nix b/users/jalr/modules/sound/default.nix index 21f8976..37008dd 100644 --- a/users/jalr/modules/sound/default.nix +++ b/users/jalr/modules/sound/default.nix @@ -1,9 +1,10 @@ -{ nixosConfig, ... }: +{ nixosConfig, pkgs, ... }: { imports = [ ./audacity.nix ./easyeffects.nix ./pipewire.nix + ./ksoloti.nix ]; } diff --git a/users/jalr/modules/sound/ksoloti.nix b/users/jalr/modules/sound/ksoloti.nix new file mode 100644 index 0000000..3528602 --- /dev/null +++ b/users/jalr/modules/sound/ksoloti.nix @@ -0,0 +1,7 @@ +{ nixosConfig, lib, pkgs, ... }: + +lib.mkIf nixosConfig.jalr.gui.enable { + home.packages = with pkgs; [ + ksoloti + ]; +} From defa57dabdd521df3bba3c28f42001fb77652301 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 4 Feb 2025 23:45:54 +0100 Subject: [PATCH 571/766] Enable GPG for thunderbird --- users/jalr/modules/thunderbird.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/users/jalr/modules/thunderbird.nix b/users/jalr/modules/thunderbird.nix index c2698d0..4a36097 100644 --- a/users/jalr/modules/thunderbird.nix +++ b/users/jalr/modules/thunderbird.nix @@ -2,7 +2,10 @@ { programs.thunderbird = { enable = nixosConfig.jalr.gui.enable; - profiles."default".isDefault = true; + profiles."default" = { + isDefault = true; + withExternalGnupg = true; + }; settings = { "mail.chat.enabled" = false; }; From 371f201c4c2ec58d8e8adb931af2b403ee1d5751 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 6 Feb 2025 10:01:07 +0100 Subject: [PATCH 572/766] Change screen positions --- users/jalr/modules/gui.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/users/jalr/modules/gui.nix b/users/jalr/modules/gui.nix index 4352a9c..b1c6b40 100644 --- a/users/jalr/modules/gui.nix +++ b/users/jalr/modules/gui.nix @@ -50,19 +50,19 @@ lib.mkIf nixosConfig.jalr.gui.enable { { profile.name = "digitaler-dienst"; profile.outputs = [ - (internalDisplay // { position = "0,0"; }) { - criteria = "Lenovo Group Limited L27q-38 URB731YF"; + criteria = "Lenovo Group Limited L27q-35 URB5T16W"; status = "enable"; mode = "2560x1440@59.951Hz"; - position = "2048,0"; + position = "0,0"; } { - criteria = "Lenovo Group Limited L27q-35 URB5T16R"; + criteria = "Lenovo Group Limited L27q-35 URB5T174"; status = "enable"; mode = "2560x1440@59.951Hz"; - position = "4380,0"; + position = "2560,0"; } + (internalDisplay // { position = "5120,0"; }) ]; } ]; From 03c6fa98727f4ea7b8d4b808550e043c2fed48dc Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 8 Feb 2025 20:39:34 +0100 Subject: [PATCH 573/766] Don't open firewall for Avahi instead, use the already configured rule to allow it only on the local network. --- hosts/iron/services/avahi.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/iron/services/avahi.nix b/hosts/iron/services/avahi.nix index 977c3ab..e19be81 100644 --- a/hosts/iron/services/avahi.nix +++ b/hosts/iron/services/avahi.nix @@ -10,6 +10,7 @@ in publish.enable = true; publish.userServices = true; publish.workstation = true; + openFirewall = false; }; networking.firewall.interfaces."${interfaces.lan}".allowedUDPPorts = [ From 934784cab54b1714d0c2bf59a49cd5fe2ecbdfb1 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 10 Feb 2025 14:40:41 +0100 Subject: [PATCH 574/766] Use thunderbird-esr package --- users/jalr/modules/thunderbird.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/users/jalr/modules/thunderbird.nix b/users/jalr/modules/thunderbird.nix index 4a36097..8e39247 100644 --- a/users/jalr/modules/thunderbird.nix +++ b/users/jalr/modules/thunderbird.nix @@ -2,6 +2,7 @@ { programs.thunderbird = { enable = nixosConfig.jalr.gui.enable; + package = pkgs.thunderbird-esr; profiles."default" = { isDefault = true; withExternalGnupg = true; From 4897a2cd8af045e3c70a78010324b808877697f0 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 10 Feb 2025 14:43:41 +0100 Subject: [PATCH 575/766] Disable zfs trim as it is buggy (causes high sytem load and never completes) --- hosts/iron/configuration.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index 121eedb..e52a1d1 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -232,5 +232,8 @@ with lib; { priority = 1; }; + services.zfs = { + trim.enable = false; + }; }; } From 754f6856c1bb40e8a8fe8f94e4480fd6985a798e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 28 Feb 2025 14:14:49 +0100 Subject: [PATCH 576/766] Revert "Disable banktool" This reverts commit 185b8503ed5ae0efdc9b2a06371bcc8de27e28f4. --- hosts/weinturm-pretix-prod/services/pretix.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/weinturm-pretix-prod/services/pretix.nix b/hosts/weinturm-pretix-prod/services/pretix.nix index 5145484..29edd2b 100644 --- a/hosts/weinturm-pretix-prod/services/pretix.nix +++ b/hosts/weinturm-pretix-prod/services/pretix.nix @@ -59,7 +59,7 @@ in users.users.pretix.extraGroups = [ "redis-pretix" ]; services.pretix-banktool = { - enable = false; + enable = true; days = 14; secretsFile = config.sops.secrets.pretix-banktool-cfg.path; }; From 24466ee811b4294a2d232610d9894a521446985a Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 28 Feb 2025 14:19:04 +0100 Subject: [PATCH 577/766] Update bank pin (password) --- hosts/weinturm-pretix-prod/secrets.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hosts/weinturm-pretix-prod/secrets.yaml b/hosts/weinturm-pretix-prod/secrets.yaml index 2fba100..11052e5 100644 --- a/hosts/weinturm-pretix-prod/secrets.yaml +++ b/hosts/weinturm-pretix-prod/secrets.yaml @@ -1,5 +1,5 @@ pretix-cfg: ENC[AES256_GCM,data:sfgKDr9aNOdwlumoltRuD7u1ksykFdEKtzt3MldjQnG0b4iAEspEhjcxqaNvPpXYm8EZKtsLBBQgdd1ifyQgs3k69c/GfzQ/jZ/yQ2OUkCO7U9A=,iv:FADYpPbGEEM/pD6EI85s9wVMv8yMrGJa+miE25XQ+t8=,tag:WJ9LHCNFHSr9RmmUi6hxnw==,type:str] -pretix-banktool-cfg: ENC[AES256_GCM,data:Dl84Wu/za3wXEGlPmuBKONRKhxr44R6Hd8N+Tumy2x4XU3u4sv4t7qIsMfJAqFnBiBW93Fi6xvyoh2q17Ey2cnuTaF2Ix+OTrLqgdvaREWzlYMv0jnHHCDm8SP30g0yf9QS7P0q79A+JmLKAmPTFCtMxF4iDyQqJe/jNjULDI8lOR47QqSwsOJh0gcZrwqGUPrK+Ru01ZsI1NCyiNO3HDy6IfK9oRm9GcI0qU1kA6RiP8NqngyIt2xLHctXdZhjxE35tTfo55OjlBX/twqSYch5PVMUkBbJlYdZ9TH60zeD+4e641g6c/BSPAYUy1knbtXEZ+RE3QU6IHtFhe72dcvurYFwPIOqqjp7gxsQXuLSH0MH4o5UWqOvRvrm8BdbfLoqk7RD//XYmJMmXE3WEZbZtfHPqg5b2wV0/66DlmVTT9ZODlLOGt4WxMYCfU6YlAZdJQ1OYLSvatdN2pR9GkdNVgwu2glK9nEmCjMBytBXOtSZ+4l8gYg9+lQ==,iv:Od3/+WLCp9ney/ZZDzShkVDvLgmduS/xdTVIs4DJv7Q=,tag:7UnV4YlEuotcEi44r6ZuWA==,type:str] +pretix-banktool-cfg: ENC[AES256_GCM,data:qHo4qfjDAe1wwdMa/HH5vgySO1XSBLQBouY8mUFlZiSI2lLCQgjQRzBu0C/p3FPqFkydtz2LEkQ6Cs/Zu0NbYB36CSinISZbGJABaNcF8mGJYKkohXF8GDYRNe7g5gxrKQlHWuPjChzxWRVLEV7VypYXE7Iad2tiiz4ZTxWZr8ylBLIbvCT1lWQU6rN4H6DjdI3gL0wmvHBg027xoelUME/g1bZvvkG3hw94Z8UKrFdZ9/DWqQ9G/VHRk0hVuBW6/b1VWooq3EF/JDEFO2oi7xW/TnwF5YMMkBQGS0b+pxK/rT6ir1DQywfFhSU09nWnRT/jw270QAwk762359e8+jl+p43dp6o+Ll1kzDQ9jbi5e2uXZrBaZGtnjDNLJHEFDJWpHtYmXNRIq4AQs/8cKaYx8uAXOTANE45GUiVpoA+m3clc02ABpBrHBENeKmJw/smGSbUKFnsu6WgigEyme8TxIMqiHghpppTzLDCZYXpBH+2n+eXNX2ovNA==,iv:kihK0wFCwvUUQg5+aKqQ6YNRyJjPvYllh0oVxJnee2w=,tag:InZaflGdiz7lXP2V+ZsyoA==,type:str] sops: kms: [] gcp_kms: [] @@ -15,8 +15,8 @@ sops: MGh3UVh2R05WWDU3SDVFKzdvODRGQVUKo1u58Ra1dhAfBmv3xwLk/6+6/mFPJn0Z FyL7yjU6JMWzR/8FUv5lJAubudiZ8MnuH+10deGvQnT5AxG9fNzi5w== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-03-15T15:46:51Z" - mac: ENC[AES256_GCM,data:W37WHI4w3BgCGuZ+wKtg6lqWxWKxjKuqy8OjpDmz9DTwSyvhVK3zt061Xw+HFDG7kPOKXzEb3Q+C9FjYU1B1V4GbBGHWtrVg0LSLs0KvQ0N+DhLkrbdRwvt/rLinXTgo7j4c/0w/YZQTQBrWEscZ3C2dhuTpFT+htjEFDhQKyhU=,iv:qRaM75MXCSfEfAIf1d2+uN1Sn/nAAHJUtKFAoiIOHBU=,tag:FjxJLH3cIZPLuCQNTlrqJQ==,type:str] + lastmodified: "2025-02-28T13:17:03Z" + mac: ENC[AES256_GCM,data:Ytsc+CdGosiIkIS/Ck6YIYMFgSArM9o6VR9Hx4B1xlWUQV9DfUuJ+5Ev6SuAPfIhXLfBEpbAzmfqZaYq81M+tERQxYXEuOiz9+l/5j9hOTlrfporscz4Jb8wrPDOTj8kTVbWF9K73uB08zla4T+y5N735DBb+YOpztDouoLO1rw=,iv:vu78iCIv6M5vO4mLhlBTRl7cpys4BBsdPWnRUqd+Fmo=,tag:/GlbV2/IhRZuXNkzSVwOMQ==,type:str] pgp: - created_at: "2024-01-31T01:20:41Z" enc: |- @@ -30,4 +30,4 @@ sops: -----END PGP MESSAGE----- fp: 3044E71E3DEFF49B586CF5809BF4FCCB90854DA9 unencrypted_suffix: _unencrypted - version: 3.8.1 + version: 3.9.4 From 0dbe3fea165240f9ba16d1a6cf14bfcda859e6ab Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 1 Mar 2025 16:05:50 +0100 Subject: [PATCH 578/766] Add raop discover module --- modules/pipewire.nix | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/modules/pipewire.nix b/modules/pipewire.nix index 34f4c7d..1591e95 100644 --- a/modules/pipewire.nix +++ b/modules/pipewire.nix @@ -18,23 +18,31 @@ lib.mkIf config.jalr.gui.enable { enable = true; support32Bit = true; }; - extraConfig.pipewire-pulse."10-snapcast-discover" = { - "context.modules" = [ - { - name = "libpipewire-module-snapcast-discover"; - args = { - stream.rules = [{ - matches = [{ - snapcast.ip = "~.*"; + extraConfig = { + pipewire-pulse."10-snapcast-discover" = { + "context.modules" = [ + { + name = "libpipewire-module-snapcast-discover"; + args = { + stream.rules = [{ + matches = [{ + snapcast.ip = "~.*"; + }]; + actions = { + create-stream = { }; + }; }]; - actions = { - create-stream = { }; - }; - }]; - }; - } - ]; + }; + } + ]; + }; + pipewire."raop-sink" = { + "context.modules" = [ + { name = "libpipewire-module-raop-discover"; args = { }; } + ]; + }; }; + raopOpenFirewall = true; }; environment.systemPackages = with pkgs; [ @@ -53,4 +61,5 @@ lib.mkIf config.jalr.gui.enable { ]; security.rtkit.enable = true; + } From a21c54cfe87d42b9a3f858dadb56e469a58f4ab2 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 1 Mar 2025 18:11:46 +0100 Subject: [PATCH 579/766] Add bluetooth proxy --- hosts/iron/services/esphome/devices/wohnungstuer.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hosts/iron/services/esphome/devices/wohnungstuer.yaml b/hosts/iron/services/esphome/devices/wohnungstuer.yaml index 8926b4e..11c0675 100644 --- a/hosts/iron/services/esphome/devices/wohnungstuer.yaml +++ b/hosts/iron/services/esphome/devices/wohnungstuer.yaml @@ -15,6 +15,15 @@ wifi: password: !secret wifi_password_bw domain: .iot.bw.jalr.de +esp32_ble_tracker: + scan_parameters: + active: false + +bluetooth_proxy: + active: true + +xiaomi_ble: + esp32: board: esp32doit-devkit-v1 framework: From af4e6ef214333915a3f476bbc2e8705e5d23e6ad Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 1 Mar 2025 18:33:54 +0100 Subject: [PATCH 580/766] Implement yaml file download --- hosts/iron/services/esphome/devices/.env | 2 ++ hosts/iron/services/esphome/devices/.gitignore | 2 ++ hosts/iron/services/esphome/devices/justfile | 17 +++++++++++++++++ 3 files changed, 21 insertions(+) create mode 100644 hosts/iron/services/esphome/devices/.env create mode 100644 hosts/iron/services/esphome/devices/.gitignore create mode 100644 hosts/iron/services/esphome/devices/justfile diff --git a/hosts/iron/services/esphome/devices/.env b/hosts/iron/services/esphome/devices/.env new file mode 100644 index 0000000..2eee41c --- /dev/null +++ b/hosts/iron/services/esphome/devices/.env @@ -0,0 +1,2 @@ +ESPHOME_HOST="192.168.42.1" +ESPHOME_SECRETS_FILE="esphome_${ESPHOME_HOST}_secrets.yaml" diff --git a/hosts/iron/services/esphome/devices/.gitignore b/hosts/iron/services/esphome/devices/.gitignore new file mode 100644 index 0000000..163bec7 --- /dev/null +++ b/hosts/iron/services/esphome/devices/.gitignore @@ -0,0 +1,2 @@ +/.esphome/ +/secrets.yaml diff --git a/hosts/iron/services/esphome/devices/justfile b/hosts/iron/services/esphome/devices/justfile new file mode 100644 index 0000000..fb628ca --- /dev/null +++ b/hosts/iron/services/esphome/devices/justfile @@ -0,0 +1,17 @@ +import '../../../../../justfile' +set dotenv-load + +download: + rsync \ + -r \ + --rsync-path='sudo rsync' \ + --exclude '/build' \ + --exclude '/.esphome' \ + --exclude '.gitignore' \ + --exclude 'secrets.yaml' \ + 192.168.42.1:/var/lib/esphome/ ./ + +download-secrets: + umask 0077 && ssh 192.168.42.1 sudo cat /run/secrets/esphome > "/dev/shm/${ESPHOME_SECRETS_FILE}" + ln -sf "/dev/shm/${ESPHOME_SECRETS_FILE}" "{{justfile_directory()}}/secrets.yaml" + From d1f2b397ba43b5cf1b8c8dc2977ad615c75ff8ac Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 2 Mar 2025 03:21:03 +0100 Subject: [PATCH 581/766] Add water-bottle --- hosts/iron/secrets.yaml | 8 +- .../esphome/devices/water-bottle.yaml | 238 ++++++++++++++++++ 2 files changed, 242 insertions(+), 4 deletions(-) create mode 100644 hosts/iron/services/esphome/devices/water-bottle.yaml diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index 7594642..e6feaa5 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -9,7 +9,7 @@ dkim-keys: jalr.de.default: ENC[AES256_GCM,data:mnApsYKXYGtUAHddccmNmU9yZQtekDkTiTXbJ0UJxC0rFxzQCtGsinQslIROJdNUxsxciR1ilNzxawzjJD7AaWJbcAq2TYObGJJOQZBif7t/XEN/rIxEmnAFmdeAyrSONmFb9DiEn59m6DpsU+/9Y+hnc/uwwbzueO34WHJnTqmmsxFVNQZfGR+cbSckHS3wZrfjZSKKzCRt+9DU/xxJ4voyowXLO77w00LHVkyU5liwONi0v2XJ+QeP/jIMmJeKjujZcH+qvUm/kukijqyWKGrZoAYPC2cBlL/UrNECuVdSLMXvr4KBDDTCRZCSMRgUPJ0TAfpQPTPitKJ/0igK7qQl9n/6hckY7VyP8KDS7J7G2Z2XVxfZrAR4X/7ya9B2kneVr2CNx3w954EdTcV1/lD7rcKRjKynyl3ddf8gxJFJ21k1ybo2RLnftGCRVq25qNwhyfjU8x5c7AEs+YTPDrcnmxZ/Ui276eLwpMj61oZzTp8QQhiBVwS/+ruRLC+78pu2gb1gBF/Oo3nuvQD1SOpCRikLVewCYDvfXj/hrjo+oCsjTOj+9tWRcRAEDVlhkXWCMuPXDYrdt3HrIWbQuP8NW1ezd1Ll0r1ujjtPJeSwdd8cVcUSBIoA5gU+eXnYjFaSx9BZ+sIfKqG//W3S+aBYDqAEK/z4N5q66sReb5mtSQYfbZuIZDmox9bwNMG3tJmQX0lJZgEIiuJ5/ef4ra0sj9JsRFldmIn9KUmjW9OlIwzQ42cNNvQSMD/6haNiYsE6TPzVylJ/B2kNu9Qh5FfpCIPtVORv2BAGoNvZlyhjyEiXBEZ4x2hx1l5cBwGOaGhoJ0p+1wqn2zDalIBaEFjbBVdIB6DPC6/lccvpqSwF7HvW2ugyYhW+u92vgic71/BsI4i0OlsJV18gU/zVg0Yj8SK69kEwm4wkJTrkM/I4+kkUIc5OiSAknRfjOFJc0etkh3nO34xpHLOkSv9DrKfXSAGmGZtCLtVL5LGdZeCd/g6EK0JJh6bd9Gu9koSJVq5vjdDJJFf+sgk39TCvHAvk8k1/FgdK5jMJ+pR8heJtP8G96ay3DFVm5hpbjuNKqfBvbf2rkyV6++ywRFnAQGPUiMn9g6Q4F5Ks7CC1D0Ubl7b3dCUk6BDi8rHjxy9QS0/25Yz9cF0bFd6XQDfblnyRLMi9aB36M9Vp38Oh5aB16MyvNUHzcxpaAak0yknE6OuuEMBPQZgFVADCITfy9eUXl2FoXrMWEnBO78GybQ+cV8nhynn5t0U+3koMy2E8ju5kiEofQxXylys3Q76iKRRUbQqFkh/ndWtJVVfGNpi1GrUr1w1YZM0hBY9FqqeBjf7ckj+9BdiwWJ0XauuR70o7odm02mydk1/T3Hfzt3OE5nHIXnVbum9KyPx8wXj9qc6JGFm558pQOcRUgGUi+EzGoGckkoLx4Onl+XeGysW5sXP9dbYgMBug0Tjmdo9xkoBti6znDnN/zh93bbzWITNvxMgVs8zSWEhlM0c7F02UeUXSekbTFue5FOaMdYObMvPeb53jAKBOYLr34GVFvucJhKajIaNzDvfiI6fGCMxcSsWk+P3co7gdbRlWYZELsKDu2scktZsHr/gRwRiDZXAWOLiWZL4jswQ1vXSFXJgdblEV//hr2DwsAtCAsyFcgO/LGq30xi3xNqHTkUZXo6cZYSb6EVaIywMCI5ySEnTLAp/xedySANHuo8yyVqyLxkDPI7CnnSS7JcnQF3K5z+NZ0KnIpc1ewGupOhS0fKj31XxUkoSsHEY/iWJPLNA8+4VsBkADnGdkYXHTvy/yAGV6w1k1qtjiWhDAGcE9/o6NOHctYm3cx8CVsLpve/WFUaCkGgjWJdC8XP92xsUQoE6PENn6ZzFaqGHs7hgQqE1kBcEj8N5WkEqkoMo82giHE33iYoVUdkjOTkV4iDGEqyjg1BoM0GedR2A832LseDkP7u4DjIAQfpIDu7PaeiDh7xWkPRwIMV0oDTakXTdPkPGdgFikzTaxkTzRlpCbQuV769eITqVT04kJDp7+0Rb6dtjeXc0Ennv68wZSiyrlmXbrJntg7g1wrebq28q9NMIZETAPugfK6wNDu/Iw1q1kZn2ELo6xaDlcIxHDcpzK7e2VAYYuP1k3sYnSLU3oeq54j3/yS2z1me5FEqWlPOCrjdnLkE3/GjbeMsYo2YTYJEUEd2ncacSCoXUaUoxpBnjRYcHLRUV+6jy7Amp0/52rAPzSeVlBzc+SdNiKLYA2UQ74WrMU596Gkhw1SD8jSM5QqSBhH9sL+oE4GjhjLhstMUPdkNgiwxXDTZLKcIyjN1cn+RSmvNA2KXMH6MoXrkqSkJ9u2s0QAhla51zR/LZwWbzwGOO0dkh3rwh2x+pcCfuzvlk3lYr/x5XOF2k1n8yvehXY5zIX8nk6djjLbvAzzSr/yalS7R0WYIc6CjzoUl3qz+PlneMfKHcaX00hkOlIub/ZFQf1RE+JzZxi0qQq4M8Nt1XRKGDeS448Z6znDpedStUH29krZcnjMtyLmPX7ETTsjr3HLpCOd7MQ2K1rfhmvh5BtJkn1KSUf94puZbkLH7X+WnWN0hsc+KbSXnYZvqwJ8G0/7ptp/Q+wGljqhjv+HhOeA3NUwANv1xWgbiymVIlxCodXtQwn8mxS+jxSvslGwOnyUkTT76IbFbv/IpW6PNvj/xqwOqey8a/4WCGcqs403Y7TKQ+xCflG6K3tL7U5UbMnMgXTeZvoK+DooS2eIepF2WB5XqTuOZJV2OQ6GHfaBMjXN9iGVNLi6XgkbpmcMLQ4TZq+dVmgleJb14IaTFD3n74OfmbcT9lmRfPRJEpFEMNeL3ghH54P2a91zJFASgE7x+Uv2cGcmKFtMbyc/rrhH1F/Ixlv/R37huFo1T2dPMEZ/1ouuPpbUQ5oz/JlOWw3NOxd0O6oG0x9Xib+9KxSFOusLWcFEgx70jrBQKj8s2Jj+W0gZYv+BJtPMPY0KAkRj1amt4Fd6ZrPOEXJ392EHSAEv5jssO5ba52OHKA+QkYvPPL04rwkxSAQiTl57scnEj2WEIP+Lz0/qsMnwF+3rWuz856doJZcXX+U9iuzBCaYQqA1P3BojAYhEHnXBPeolHOA3BmhT9E2TJsZ6P9SQ+GaqyLm0i4vRXGlArlkLwRBs9EZv/l4DT8q0YHha53O4rhRzGJZKAOO252Dpha1YN7+FubYGAZjaUT5O0R/7xSPrGyBejddtM8asW8+NClAn4Y6xvj1IgUg6VRpEy7ZIpZEQ+UyDWt0A4nsipaz2NyZKZ5Vxza2v1qZDdYODK8nm/zj7fR/JykaNVEVj7ceTSHdaQlajfeEWWTs92msIBcqPUXqlaR005hoVvXm+WCnzIMIXLGiyRKRsAPIDYh2hGCtvfXLSq5TYm3bnGAImL0KW3Yllt1qSqSbOYsvm5QfDmTrrccvtSLGRj0rOU3Z8f4WXjf+1YgxjZ9h8fKL+LKA8x1S6M8fl0JVGBIAU8Xe8c4+r2F1VcygJp7h+0v8o8GudM6in4djAdeMLWBgXid7r0q744joFucP56opwYQp3Lu0oFEo0omS6Rh9yPfOjdGBU2eUdjcCNXXuEJD9yHSyebviSAvDw/KH1AxYSWYnjMWACCfcbOlXf3ej7PuQgq5MdFwF7+QawXm0john4YusUon4/0fqd/IFLd6oHYYesxcFdm1jN6DeS4SAqRgeEPuEWDFERgXjLHBxl5Xdi5n+NOR3Vc7ziJ9j9/CA1DKdwmsFBBDcVKMnr2FibXpN5WsSdlBng0L2zhkL22wRH9xbz8Xk5shN20/EHoxHB5HJvwfOgHIC7ooWKOUUuNTZH43+gVN+wzRzlMfiF4X71Edw+lTnQRp6Lh03M2k9do6JPoX2+UU0h6mOYiAFkhHKzCmK3DY12c4Smx+qLJNbUGhoMgthu/WnXObm0Hr+myCooTYSVNTJx6vVjI3GZtMcat2o8B9k38u/Y5/FxqTYmyXhROwS4v3W5fXwTAaxBqQy6Xj5s4V37omBBh/Z9a43nc2VlT7dKR1wIvNB/gqhiYyYrVMtYMJqGLkeCbu50LUWT4qXyR8uaqbZTVjyJCQRxZd6fd3Zfe9wIeYe3N5qKIXkFD3n1U2Q/EyRfb3TpiA+eYkAtl6JGK0vpeWpN5M2LJ3/V79e3cIG7B7/p6BrRxKxHDnBZcu57KKaN8XM+v2KTz7XdF8bjgeu1V/B9WoBwnpzCM+3s5ffNceuUcb2gJgRAUpZvcSDLYy+9aluGU2Tvsm49fCzr851p3VSEJepgPpnvuq874AX/MbPvqidF8Y21Kss1RUbl5wrlq5IihKdM+xCSq6mjvtSPVHRvw==,iv:2NBiTTW9slOH9BvM+kVbMB/+8EiS/Dc/eaqrtiwn4HY=,tag:0rc2+ZWy9XZYE7RK/oSo3g==,type:str] synapse-turn-shared-secret: ENC[AES256_GCM,data:Q1XRds3Zud1kYkvD6s9WUzP+kNDNsxB5SHd6oCAaLCHhHhYENSAYTZOF+rGjCPNyKFL0e/A=,iv:zScRQrz+pXHNUh/BGOaV+TVnDR3wu1Z/UO1zXarKwtA=,tag:ckpVziE+yb0FjctcT7tAkg==,type:str] rmfakecloud: ENC[AES256_GCM,data:ktKBKb6cRv1VF8tRvXIpxIy9hPinVPKK05mgvYzz18PEdcrCLpldm5xf7ffHtY5XzDOAMXDCiz6x4xyv7071frrF0spOEPnIzVhxwG8H2Ck=,iv:qJdHjv0RziAs4G9UGeRwGQ4GE5kaObJWpIYWpRKhr9c=,tag:PXgvU1hZK/gvWGyFJaHekg==,type:str] -esphome: ENC[AES256_GCM,data:/qvYCozy6r5p3mx5QJUTcPF3NOnO0eowN4xAxt7eKbDIFgZ4E6lHOiEbZE+EluRsIiex3G7JvXeuGOG01U95caUjZ18lFQze+VxM31DACzbMB2u5QxKsWnNRABD6JdFM90HCymajEQTrZJWZJ0V6VyeJf6mj7ZYXJGjVyDxzVIRWF+2B4g1zY6211JFhwl2eo6//EamCqTuLYt6XagyiJfJJ3gp4yHF4ehxlU01IwO5OcBUhgWYGMf6y0JqLIkxqryQsl9L+VrWgjgx2fcjMhGA5C4yZ8dLOstSlOAsKYbxqDyKF0PoBf07WTiCcNx9ReW5wdfg/vb2tVXS0i58SrD81/G0p6gExKvnXmgdSU74hvzOaRNIMbRXUq+6ZXxZMJm/HahHpZ9klMWptmyQ/Y9eBiWEW0EflFZkGuIVI3ycn2admcRdF9SGi+dONeshbjdutFUrGfm+WRBD0FU103KwGjtxFFy5dC89PhMkOXFSR903d7Fy0DZ+qEo1LxzYS7prpTZz7LIYEC1H30du9PTWJhFMRSP7PFjmbPKxcG46dNYLh/I6quzHHmsinTO1zkE3/KgjchQcATuHV6t32admJccjsR8R69bcEEyWwixofhauQ35zlMC9jF2Q1GhWosisIQFLalHH1zitdH5K9qE+jh1MvEPh1tHJy/7RL2CMduBNQcGC/Af5T//4S868XknCxrjL1m8f/7As1+Iinu7Pee28vmtDeKPzQmJogqntMOoz9w6R5hERz5N8ch9RWqKU0z6hV5ciUG18PlyU/WWZ4rDaZJeUHM7vae+Y+or1O1PuemjMLHQhClYEGwbS+J93UrXKFsEytEz1s1BiJLpgJxYKzhb4zNFIha9SINtUq6ahHmzkjwtc/h1LDn9kQ/40nAIzUEt+UvUkeKpst+BbUEbAQi4WMU5BARl/Ogvpx2BocfE0GgsPksUbcwjv8y4AOXuHf89nTqVNOj8vyBr0oyQdsDayBQ9qLsp2xun7q9BLYw0BHLjWNwY7zp9vUXX476zcIWxhd1nOcl4Hma8z/GiceLBuMNnWNiou7G7sAWWKQIWSw5Kf6ebaP6uAY7wS0W0MdN90ascHcgZd1EHqluKSqxSPKVgQ1vfQtBh6uIPec12oJzcBxPj0yB4MnH5dsdaMjVUElRdzs8F+0T0SCYZSY+OK2OL8xN1WGW96bH3/+UEQDYHLmXOcsDcNGHHWkPAllArRLS65pDoI2IOFYdJzhdDWI+qVZZsxQf0NeW91ATN7qE/B+MlCIWugBUFOo9mIBrR/+FqUB66FnFvuO7J3Yaz/tHe5UDKJFqxgBVt4JwFHgxnwIjFHiNPbmeXhLJNy0yOhj4CF/Ah9sw1gDtULHMD5TiL/+0TFXaUZV7RqYK6dZtKW85LO3P62SM33Y6/HFlU+aEowfY2ZJKeAuOifbl8FQKFdMr/DY3pz+rJLY6SolMwn2tVq/u1OVfRCVLGTMU9V7nyyN5NfNSaucncqdb1HoybqbXvfE+iFjOkndwkU9aPhvw7ivK8EAeEpaKF3JXdlb01zl9ra8izjLVALCBIpmAJj8a4nP6z+zybxbfGiV20kFTGljvAGQ+G0fRtiH03jR8zdhuVHGkVDbKz8M9X80LM8eDFpaObA76SxtHTlQ7mlnreUQyQF4dEtL8dTDUcf8U1Sm8MkB1FW7vKVaXrSe/4FR9kayVo2GbjZUqzs1tEh2yBIOI4AnPz4ZxlapAiz9+/Msb46XwvXxO76Ax/lbzD9MnNgL3W0CUuCTtp2FG9AOBa60A22Tmk4DTNh6,iv:n/n2dgY5SQb8Z6fo+PROESZY4J4HpCOV/Gau4GcWiFQ=,tag:4vz12dpzqQQeY8GAHLXS9w==,type:str] +esphome: ENC[AES256_GCM,data:tuv07FGh4ubI40nOISNoW86J1dWg+wgvf7+/pYVBx2qUcquGALTPIoXMz+42PSrXliUvb2ZKnPbeU00cMWZ7kffOznjcQxhCRCnVfpgkIdSDurCWgGzblGzbjVjJ2Ph1mnn8QZ33sztarIFiG25eB7tF5iEL2jajxf/90BMcrF1Vb9NwadGS9Wv8ApfkMgnpSLEJwpyTas5womeA5gJV6dP8UH7BbKRmowu9yKMTtlIONuuquzGlhTsNsQMlO9a8V7HO/L6Km93uSnWE+oudID1gzMXmGKE5tuNuo40xtAS1+v73k6fR6/tA9MCHXiyLwsd34iD5FPPbeS0uBk+JQqlIWqF6PZER22OlqEd6aGCn9jHBjENTsyf9N78sbMYKCWxbrWtV1Zk1JBMHyl1R2dApyFWxy4NLq4O2swqyRPe59AMOPXhQbuNrGd0CKx6vvvVkxB66y5VR289PHyUL8SHUMBPvnVb8katVPNK4qBmucmD1LDVx+HipjRFuZtmTrzprtwQ+wrJTUznP4uyW7Qn1vYy6P6UWfp8U70sqRQnvUJCeMHtIEj9lJGaQYiitEtIcdJJOYYXL1tn7YVyRpHWZMqaeAuMNQcI6qpCJKOyl64wXaljNwb30NU3lpBCsgl3EF+hFkRUKrgPsOOtGxlMHVroptWahs9UlxbgjhpcAh+hiw+GHFPGuSZ5VfQO8MhOZlRTBhwdMT5N0JQO66L2bBF3XO5G1WVOG78Y0/dkv8xKZkfwTmmD8+InLcuPVBRukfm7S1HiwVJ5yN0huMcEfo1dfGbvlzI9uTZuoJtxp/PgZVPxyZDnsn7jZLIY3Ln+eUZDZyk5jdLqPsP9+4TY6F5QN7Tw6xTeIp+GaY0ZdY/KQVVNPBN2TvPBylLlisceyD6xfn5m3hkG1CXRIXKfFvsJfUN0LTd1vJiLTLVXqXu5LUo3BpAcE6U4fbliBX3mPoxk1+7edtLVzD99ho1y58To3kQbwuOkyYgse6DTVhjF0p+cxp+aDB5h/jT2/tmMc7YZAeY52cO7cIbkcOOvQzDyAOj028xPTmteOSnYe3MFq1e5HRTbdRUh0BzHzSN0IH+5HXWhKW6k9PG6l4yaMj3qqSw3IyL97KL9+jLeyUer0CoGyGpd6JYq9nS6WlKYu+GN3HbdMF6TBOyRC3oFQG+jIZGlXNeclDjJ5hJTzYAT7ioYU5EQQw9rl2J2TherLcS+61ZXnn3QXxDThgFhnn0Q+ozb/i31DMhQXCNjsN1SUVOyLpmWkr8CZnpiKaF58Kuz8Pvyk7Ih30GlZKZL74XSV8fz222qXMn4IP7Sb+PU4X/LJyz+/Ml+ktzB+Yt9UB9uwzNdwY1b4w1gUJI40ju6bKIlEEqhiATbMuX1Bio6Dt9NZ5v6Z7eD4VlgvSqJng7kO4YPoYdFykDhugpZ4BKyJRLE/MqT6ZI2WApgIhy6U4fPZTQNWtxHsobSUMvFLSdUprh4VQ9Auqjz1nqNAcVIjA5fPK1C1tEOx1KPEJXaqC6et17wpjt5ajLhB5td12XGIsUClKg4G2hYiyisFM0Z2fDbK4tlhFb/BJ7ZLY4zQudXu4FaeIxoD82zmqiyo78dn3KQK7+rhWsoR+wR6i7Tn9HjXevlcqvuU4D8raSgl3RcUeKnvJK5y6olcpJvbsfd0Lr1AH8MqwFuRDqufAZx0xoRZ1FhkK6ik+lc7XQkUsknIyvnn4rxYHP2GP+A1LaE4lyBqiC7xsj6ar1zjr/W0mB4vhpF5dRMHNsK6JXzHmoYYJxfY+lwlsYSbmwRBOyPO71TCPE6us/CuSJrkqiiRjWltuy/+uvzffLvh3Y+6wRC05aSbui0I4WaUGcRsM7nzH3/kO5bek3Nw7mLeTbqLkk+slKcCUfqdftibHiOxb5xxHWlbI33IG6dgLc/vBpyhvePB73fAAw==,iv:At2BvPMxMrsLEBFdTHacejtCwcCSNccHE4TXLyGKK2I=,tag:r7G2LvBJdbqPvgOxx87ofw==,type:str] home-assistant: ENC[AES256_GCM,data:wcFMxDdRCHf/shO9v2WaGgrsa9J2WP62xFs=,iv:9ckeIO62cFZUo8fPyQj445CrJVTooNlwLapM/oTsrkk=,tag:mlfxtXDPsB3T79P9BX9oJQ==,type:str] mqtt-users: home-assistant: ENC[AES256_GCM,data:oIjCw7ZnA5iOBmQdW1jcy3QQnpjT32pY,iv:5HFRkXJBdMXQbjk2ubQs3sEy5qEteiqSe2hrNc8+H40=,tag:7B6yI4oCHanE0JE/gHaKnQ==,type:str] @@ -29,8 +29,8 @@ sops: SU1USkxFUUY2NVhmUHBhZkdrNDR1Q0kKiXIicInELRjDR3tuyA+lnXeCcd9lYvbV GnBRGPM7BNO/6AA7HhAei48Kt+XE6+jQX66yTXyviKhK7Lpjrlb2YQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-01-07T22:04:49Z" - mac: ENC[AES256_GCM,data:Hii5uCxSS1GStQO7af++sSbGaRK+WPZjQYNSd0EpB5p5+qbWvvBgmOnAFLqMDkhq0aSHYnrFnGkTGuxNciRYIIvOXTE109YxeloT8PQNSKlMMduyb7iUfeAQVQFTTx3Vs6YVe3Jd7oVztqK+zztgkIOX8uoTzE5CHSmhJkLYLTA=,iv:2W7Al1OgcvA98FqkmlXtdpQiAXybBgxsS5h7VA9JcKs=,tag:ZmrkPN+OtLDm2oeSoWsxqA==,type:str] + lastmodified: "2025-03-01T23:14:53Z" + mac: ENC[AES256_GCM,data:1m+Ml5Vhm87U4xz1kKNZ/4E+RqweUt2ypYh1JTYVHHV3dgySJytkwn0pFZj3RfR+z4r03hrvSuBt0ldWSn8UvGLHsJj8L9AqfDXyPg3SI6uRS6UeAbqZFs5HhNQzkNKwPnZ9KPbXJ8ab8Ck+jSfEcrtPShDOgDp9jTJZ91hTB1c=,iv:6tVJI31180asGh+MMguAeKtD4SY6W/2Pizqjt0SV4v8=,tag:0ghRP8locNjtvpIYL8tDlg==,type:str] pgp: - created_at: "2024-01-31T01:20:30Z" enc: |- @@ -44,4 +44,4 @@ sops: -----END PGP MESSAGE----- fp: 3044E71E3DEFF49B586CF5809BF4FCCB90854DA9 unencrypted_suffix: _unencrypted - version: 3.9.2 + version: 3.9.4 diff --git a/hosts/iron/services/esphome/devices/water-bottle.yaml b/hosts/iron/services/esphome/devices/water-bottle.yaml new file mode 100644 index 0000000..456b973 --- /dev/null +++ b/hosts/iron/services/esphome/devices/water-bottle.yaml @@ -0,0 +1,238 @@ +substitutions: + tolerance: "10" + minimum_sip: "20" + default_bottle_tare: "198" + +esphome: + name: "water-bottle" + friendly_name: "Water bottle" + +esp32: + board: lolin_s2_mini + variant: ESP32S2 + framework: + type: esp-idf + sdkconfig_options: + CONFIG_ESP_CONSOLE_USB_CDC: y + +logger: + hardware_uart: USB_CDC + +api: + encryption: + key: !secret apikey_water_bottle + on_client_connected: + - light.turn_on: + id: pixels + effect: "scan" + red: 0% + green: 25% + blue: 0% + - delay: 2s + - light.turn_off: + id: pixels + +ota: + - platform: esphome + password: !secret otapass_water_bottle + +wifi: + ssid: !secret wifi_ssid_bw + password: !secret wifi_password_bw + domain: .iot.bw.jalr.de + enable_on_boot: True + fast_connect: True + power_save_mode: none + output_power: 10 + +globals: + - id: volume_when_removed + type: int + restore_value: no + initial_value: "NAN" + - id: bottle_returned + type: bool + restore_value: no + initial_value: "false" + +sensor: + - platform: wifi_signal + name: "WiFi Signal Sensor" + update_interval: 60s + - platform: hx711 + internal: true + id: scale + dout_pin: GPIO16 + clk_pin: GPIO17 + gain: 128 + update_interval: 0.1s + unit_of_measurement: g + filters: + - quantile: + window_size: 10 + send_every: 5 + send_first_at: 5 + quantile: .9 + - calibrate_linear: + - 197155 -> 0 + - 246676 -> 50 + - platform: copy + name: "absolute volume" + id: volume_absolute + icon: "mdi:water" + source_id: scale + filters: + - lambda: "return x - id(bottle_tare).state;" + - clamp: + min_value: 0 + ignore_out_of_range: true + - quantile: + window_size: 5 + send_every: 5 + send_first_at: 5 + quantile: .9 + on_value: + then: + - if: + condition: + lambda: |- + if (id(bottle_returned)) { + id(bottle_returned) = false; + return true; + } + return false; + then: + - lambda: |- + ESP_LOGI("main", "Bottle returned, waiting to settle"); + ESP_LOGI("main", "Volume absolute: %f", id(volume_absolute).state); + - delay: 3s + - lambda: |- + ESP_LOGI("main", "Bottle settled"); + ESP_LOGI("main", "Volume when removed: %d", id(volume_when_removed)); + ESP_LOGI("main", "Volume absolute: %f", id(volume_absolute).state); + if (id(volume_when_removed) > id(volume_absolute).state + ${minimum_sip}) { + ESP_LOGI("main", "Volume total before: %f", id(volume_total).state); + auto call = id(volume_total).make_call(); + call.set_value(id(volume_when_removed) - id(volume_absolute).state + id(volume_total).state); + call.perform(); + ESP_LOGI("main", "Volume total now: %f", id(volume_total).state); + } + - platform: template + name: "Water consumption rate" + id: "volume_total_derivative" + unit_of_measurement: "ml/h" + icon: "mdi:water-check" + lambda: |- + static float last_value = 0; + static float last_time = 0; + float time = (float) millis(); + if (last_time == 0){ + last_value = id(volume_total).state; + last_time = time; + return {}; + } + float change = ( ( id(volume_total).state - last_value ) / ( time - last_time ) ) *1000*60*60; + last_value = id(volume_total).state; + last_time = time; + return change; + filters: + - sliding_window_moving_average: + window_size: 3 + send_every: 2 + - or: + - delta: 0.01 + - heartbeat: 120minutes + - throttle: 30s + +number: + - platform: template + name: "Bottle tare" + id: bottle_tare + icon: mdi:weight-gram + optimistic: true + initial_value: "${default_bottle_tare}" + unit_of_measurement: "g" + step: 1 + min_value: 0 + max_value: 1000 + - platform: template + name: "total volume" + id: volume_total + optimistic: true + icon: "mdi:water" + unit_of_measurement: "ml" + step: 1 + min_value: 0 + max_value: 10000 + +binary_sensor: + - platform: template + name: "Bottle present" + id: bottle_present + lambda: |- + if (id(scale).state > id(bottle_tare).state - ${tolerance}) { + return true; + } else { + return false; + } + on_release: + then: + - lambda: |- + id(volume_when_removed) = id(volume_absolute).state; + ESP_LOGI("main", "Volume absolute: %f ml", id(volume_absolute).state); + ESP_LOGI("main", "Bottle removed with %d ml", id(volume_when_removed)); + - light.turn_on: + id: pixels + effect: "normal_pulse" + red: 75% + green: 0% + blue: 0% + on_press: + then: + - globals.set: + id: bottle_returned + value: "true" + - if: + condition: + lambda: "return id(volume_absolute).state > 250;" + then: + - light.turn_on: + id: pixels + effect: "normal_pulse" + red: 0% + green: 50% + blue: 50% + else: + - light.turn_on: + id: pixels + effect: "normal_pulse" + red: 50% + green: 25% + blue: 0% + - delay: 2s + - light.turn_off: + id: pixels + +e131: + method: multicast + +light: + - platform: esp32_rmt_led_strip + id: pixels + rgb_order: GRB + pin: GPIO12 + num_leds: 8 + rmt_channel: 0 + chipset: ws2812 + effects: + - addressable_scan: + name: scan + move_interval: 20ms + scan_width: 1 + - pulse: + name: slow_pulse + transition_length: 500ms + update_interval: 10s + - pulse: + name: normal_pulse + min_brightness: 20% From b339a6ac5d5b1fc92e5bcdec3d1de0d5d71a1e83 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 12 Mar 2025 22:09:06 +0100 Subject: [PATCH 582/766] Add android ntfy url --- .sops.yaml | 7 +++++++ hosts/copper/secrets.yaml | 32 +++++++++++++++++++++++++++++++ hosts/copper/services/default.nix | 1 + hosts/copper/services/ntfy.nix | 7 +++++++ 4 files changed, 47 insertions(+) create mode 100644 hosts/copper/secrets.yaml create mode 100644 hosts/copper/services/ntfy.nix diff --git a/.sops.yaml b/.sops.yaml index 8284cc4..a331d98 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -6,6 +6,7 @@ keys: - &host_iron age1hx7fdu4mcha7kkxe7yevtvs6xgzgaafgenm3drhvr609wlj94sgqm497je - &host_magnesium age1swv42gad884z2v75kateem6k2za6ltkq6wu90ewqp6dp7gxprawslwz0w0 - &host_weinturm_pretix_prod age1djjxl3lcvzs85nj0met6w8ujsz8pvr6ngmmdwlxfh0k9d5lkrpdqlzzehf + - &host_copper age1rrut5ntrkqmvttvmpa5jcmjhr2pfpyaqgu9dmtx6v07lgjxx5ppsl7e5v3 creation_rules: - path_regex: hosts/aluminium/secrets\.yaml$ key_groups: @@ -37,6 +38,12 @@ creation_rules: - *admin_jalr age: - *host_weinturm_pretix_prod + - path_regex: hosts/copper/secrets\.yaml$ + key_groups: + - pgp: + - *admin_jalr + age: + - *host_copper - path_regex: secrets\.yaml$ key_groups: - pgp: diff --git a/hosts/copper/secrets.yaml b/hosts/copper/secrets.yaml new file mode 100644 index 0000000..5ad148c --- /dev/null +++ b/hosts/copper/secrets.yaml @@ -0,0 +1,32 @@ +ntfy_shiftphone: ENC[AES256_GCM,data:WG/LlELNgEh2BiyrOYLDvYk3AlObSvUYUH8v3Cq9oHOhN1+Iwg==,iv:MVwLBIQjY8Z31V9mXf7Ge/jGb9S7ceLFx2TffcsO+o4=,tag:skeQbBPLYH8D4CPDorJ0fQ==,type:str] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: + - recipient: age1rrut5ntrkqmvttvmpa5jcmjhr2pfpyaqgu9dmtx6v07lgjxx5ppsl7e5v3 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzbXFqbHJFM0xxL284dWZD + TDkzcGVSRGorRWQvV3h3dkJ6UjNOeUxVcGdRCk5jTkZDeVFORVVWdm1vZm5XUHdk + S0ZBTEdEeDgramZNZm5xK3RkVkkxSDgKLS0tIFZ6dysvVm1YNlJzOVFXZXhrdXBE + dU0reGFSUmRxb0ZlUHgyYlpjU0FOQUEKuOMKvkZcynBGyMHmAYmz13Jy32YKyVK0 + ztCWcXbl9qCe6KtI0yW+t8DLk/PaRrmSrB+2ICTMFqPh7HiBoX+KgQ== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-03-12T20:36:21Z" + mac: ENC[AES256_GCM,data:BpwQmtqj8NkTNO7cJHMoOeILY4HRcb7OasiCcnXsBwIFvbeDgwj+DMZOeKbitLXwzS5frWhZWg0eBHQ4BZQFjX1K0KReVacH9CblHnSZLxjMg3x6o3upB70YjdmD3KKBisOwfMCjklwk0rKwx0w5vzac3r1nJU+PGtFw1luIiBs=,iv:bYIRVFWVGjwgmaGu6JqvpCa0TIp8idP5Bc5cYV7Bri8=,tag:D2xS1PK9a9Dd1mm8+R9RRA==,type:str] + pgp: + - created_at: "2025-03-12T20:51:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DY/xpNY5WhB0SAQdAhB2C4sQhoL04j1RiWoeNCNSbGxDkrqXP+IffdoY8DWgw + x8aogh0b7CpTplBG/4g/WMVB4N/86uvI+mLYxJMyRb9b0f0bDr5dPpnhk//r/MDg + 0l4B9+hcSzmkwXlKh7L8Ds4cZr/z3RlqnR424KSfKbiaaigYttui5l4xgEEPZE1H + 1yfIJ5lBMgG1HTj3HX5mqM9ocA4HVzIkfPPqrFRAgjZdqeDEbLBT3lItMlvsOwy4 + =kS0b + -----END PGP MESSAGE----- + fp: 3044E71E3DEFF49B586CF5809BF4FCCB90854DA9 + unencrypted_suffix: _unencrypted + version: 3.9.4 diff --git a/hosts/copper/services/default.nix b/hosts/copper/services/default.nix index f407703..e865371 100644 --- a/hosts/copper/services/default.nix +++ b/hosts/copper/services/default.nix @@ -1,5 +1,6 @@ { imports = [ + ./ntfy.nix ./webdev.nix ]; } diff --git a/hosts/copper/services/ntfy.nix b/hosts/copper/services/ntfy.nix new file mode 100644 index 0000000..d252d96 --- /dev/null +++ b/hosts/copper/services/ntfy.nix @@ -0,0 +1,7 @@ +{ pkgs, lib, ... }: +{ + sops.secrets.ntfy_shiftphone = { + sopsFile = ../secrets.yaml; + owner = "jalr"; + }; +} From d1f2e8d10b861a56721da0f8b3e63145ea573a61 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 13 Mar 2025 04:10:09 +0100 Subject: [PATCH 583/766] Remove mpd widget --- users/jalr/modules/sway/waybar.nix | 49 ------------------------------ 1 file changed, 49 deletions(-) diff --git a/users/jalr/modules/sway/waybar.nix b/users/jalr/modules/sway/waybar.nix index c851c5f..ecd196c 100644 --- a/users/jalr/modules/sway/waybar.nix +++ b/users/jalr/modules/sway/waybar.nix @@ -42,7 +42,6 @@ in "custom/redshift" "idle_inhibitor" "backlight" - "mpd" "pulseaudio" "network" "custom/vpn" @@ -119,37 +118,6 @@ in on-scroll-up = "${pkgs.brightnessctl}/bin/brightnessctl -q set +5%"; on-scroll-down = "${pkgs.brightnessctl}/bin/brightnessctl -q set 5%-"; }; - mpd = { - server = config.services.mpd.network.listenAddress; - format = "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} – {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) 󰎈"; - format-disconnected = "Disconnected 󰎈"; - format-stopped = "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped 󰎈"; - unknown-tag = "N/A"; - interval = 2; - tooltip-format = "MPD (connected)"; - tooltip-format-disconnected = "MPD (disconnected)"; - on-scroll-up = "${pkgs.mpc_cli}/bin/mpc -q -h ${config.services.mpd.network.listenAddress} volume +2"; - on-scroll-down = "${pkgs.mpc_cli}/bin/mpc -q -h ${config.services.mpd.network.listenAddress} volume -2"; - title-len = 48; - artist-len = 24; - consume-icons = { - on = "󰩫 "; - }; - random-icons = { - off = "󰒞 "; - on = "󰒝 "; - }; - repeat-icons = { - on = "󰑖 "; - }; - single-icons = { - on = "󰑘 "; - }; - state-icons = { - paused = "󰏤 "; - playing = "󰐊 "; - }; - }; pulseaudio = { format = "{volume}% {icon} {format_source}"; format-bluetooth = "{volume}% {icon}󰗾{format_source}"; @@ -419,23 +387,6 @@ in color: @base00; } - #mpd { - background-color: @base0B; - color: @base01; - } - - #mpd.disconnected { - background-color: @base08; - } - - #mpd.stopped { - background-color: @base09; - } - - #mpd.paused { - background-color: @base0A; - } - #custom-redshift { color: @base01; } From a4c4b3ef325ad990cf04cf501f427f1cc60bff76 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 13 Mar 2025 04:10:26 +0100 Subject: [PATCH 584/766] Remove vpn widget --- users/jalr/modules/sway/waybar.nix | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/users/jalr/modules/sway/waybar.nix b/users/jalr/modules/sway/waybar.nix index ecd196c..960af9d 100644 --- a/users/jalr/modules/sway/waybar.nix +++ b/users/jalr/modules/sway/waybar.nix @@ -44,7 +44,6 @@ in "backlight" "pulseaudio" "network" - "custom/vpn" "memory" "cpu" "temperature" @@ -145,18 +144,6 @@ in tooltip = false; on-click-right = "${config.programs.alacritty.package}/bin/alacritty -e ${pkgs.networkmanager}/bin/nmtui"; }; - "custom/vpn" = { - interval = 10; - exec = pkgs.writeShellScript "vpn-state" '' - ${pkgs.iproute2}/bin/ip -j link \ - | ${pkgs.jq}/bin/jq --unbuffered --compact-output ' - [[.[].ifname | select(. | startswith("mullvad"))][] | split("-")[1] + " 󰌾${thinsp}"] as $conns - | { text: ($conns[0] // ""), class: (if $conns | length > 0 then "connected" else "disconnected" end) }' - ''; - return-type = "json"; - format = "{}"; - tooltip = false; - }; memory = { interval = 2; format = "{:2}% 󰍛 "; @@ -358,11 +345,6 @@ in color: @base01 } - #custom-vpn { - background-color: @base0D; - color: @base01 - } - #network.disconnected { background-color: @base08; } From 3fd75c4991a55a9c8db1a6ac947898985b35210d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 13 Mar 2025 04:10:47 +0100 Subject: [PATCH 585/766] Remove calendar widget --- users/jalr/modules/sway/waybar.nix | 44 ------------------------------ 1 file changed, 44 deletions(-) diff --git a/users/jalr/modules/sway/waybar.nix b/users/jalr/modules/sway/waybar.nix index 960af9d..ad8a8a5 100644 --- a/users/jalr/modules/sway/waybar.nix +++ b/users/jalr/modules/sway/waybar.nix @@ -49,7 +49,6 @@ in "temperature" "battery" "clock" - "custom/calendar" ]; "sway/workspaces" = { @@ -178,44 +177,6 @@ in format-alt = "{:%Y-%m-%d (%a)}"; tooltip-format = "{:%Y %B}\n{calendar}"; }; - "custom/calendar" = { - interval = 300; - exec = pkgs.writeScript "calendar" /* python */ '' - #!${pkgs.python3}/bin/python3 - import json - import subprocess - - - def khal(args): - completed = subprocess.run(["${pkgs.khal}/bin/khal"] + args, capture_output=True) - assert completed.returncode == 0 - return completed.stdout.decode("utf-8") - - - events_today = khal(["list", "today", "today", "-df", "", "-f", "{title}"]).rstrip().split("\n") - events_2d = khal(["list", "today", "tomorrow", "-df", "{name}, {date}"]).rstrip() - - if len(events_today) == 1 and events_today[0] == "No events": - events_today = [] - - if len(events_today) == 0: - text = "󰃮 " - else: - text = f"{len(events_today)} 󰃶 " - - print( - json.dumps( - { - "class": "active" if len(events_today) > 0 else "", - "text": text, - "tooltip": events_2d, - } - ) - ) - ''; - return-type = "json"; - format = "{}"; - }; }; xdg.configFile."waybar/theme-light.css".text = solarizedColors { @@ -399,11 +360,6 @@ in animation-iteration-count: infinite; animation-direction: alternate; } - - #custom-calendar.active { - background-color: @base07; - color: @base03; - } ''; systemd.user.services.waybar = { From 2b7ce9a5d4a18551e867fc6554cbe104784ed01c Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 13 Mar 2025 04:11:45 +0100 Subject: [PATCH 586/766] Implement changing screencast mode for mako --- users/jalr/modules/sway/waybar.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/users/jalr/modules/sway/waybar.nix b/users/jalr/modules/sway/waybar.nix index ad8a8a5..e3ca9d8 100644 --- a/users/jalr/modules/sway/waybar.nix +++ b/users/jalr/modules/sway/waybar.nix @@ -78,7 +78,7 @@ in deactivated = "󰈉 "; }; }; - "custom/screencast" = { + "custom/screencast" = let makoctl = "${pkgs.mako}/bin/makoctl"; in { exec = pkgs.writeScript "screencast-monitor" /* python */ '' #!${pkgs.python3}/bin/python3 import subprocess @@ -102,8 +102,10 @@ in if active_outputs > 0: print("󱒃") + subprocess.run(["${makoctl}", "mode", "-a" "screencast"], stdout=subprocess.DEVNULL) else: print() + subprocess.run(["${makoctl}", "mode", "-r" "screencast"], stdout=subprocess.DEVNULL) sys.stdout.flush() ''; From 3bfe9a367ef96dc0fd43681ddbd675be0bf4dd06 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 13 Mar 2025 04:17:48 +0100 Subject: [PATCH 587/766] Add do-not-disturb scripts --- users/jalr/modules/default.nix | 1 + .../modules/do-not-disturb/android-set-dnd.py | 26 ++++++++++++++++++ users/jalr/modules/do-not-disturb/default.nix | 27 +++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100755 users/jalr/modules/do-not-disturb/android-set-dnd.py create mode 100644 users/jalr/modules/do-not-disturb/default.nix diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index d0d8f34..f7734d5 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -7,6 +7,7 @@ ./cli ./communication ./direnv.nix + ./do-not-disturb ./dynamic-colors.nix ./firefox ./fish.nix diff --git a/users/jalr/modules/do-not-disturb/android-set-dnd.py b/users/jalr/modules/do-not-disturb/android-set-dnd.py new file mode 100755 index 0000000..0ca4381 --- /dev/null +++ b/users/jalr/modules/do-not-disturb/android-set-dnd.py @@ -0,0 +1,26 @@ +import os +import sys +from urllib import request + + +def read_url(): + try: + with open(os.getenv("NTFY_URL_FILE")) as f: + return f.read() + except FileNotFoundError: + return None + + +def set_android_dnd(active: bool): + url = read_url() + if url is not None: + request.urlopen( + request.Request( + read_url(), method="POST", data=("on" if active else "off").encode() + ) + ) + + +if __name__ == "__main__": + _, state = sys.argv + set_android_dnd(state == "on") diff --git a/users/jalr/modules/do-not-disturb/default.nix b/users/jalr/modules/do-not-disturb/default.nix new file mode 100644 index 0000000..0d3daf2 --- /dev/null +++ b/users/jalr/modules/do-not-disturb/default.nix @@ -0,0 +1,27 @@ +{ nixosConfig, lib, pkgs, ... }: + +let + androidSetDnd = pkgs.writeScript "android-set-dnd" '' + #!${pkgs.python3}/bin/python3 + ${builtins.readFile ./android-set-dnd.py} + ''; + do-not-disturb = pkgs.writeShellScriptBin "dnd" '' + if [[ "$1" != off && "$1" != on ]]; then + echo "USAGE: $0 [on|off]" >&2 + exit 1 + fi + + export NTFY_URL_FILE=/run/secrets/ntfy_shiftphone + ${androidSetDnd} $1 + + if [[ $1 == on ]]; then + makoctl mode -a dnd > /dev/null + else + makoctl mode -r dnd > /dev/null + fi + ''; + +in +lib.mkIf nixosConfig.jalr.gui.enable { + home.packages = [ do-not-disturb ]; +} From e7f35b08fd83df7f7f4adf1528c78c2980c21e61 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 13 Mar 2025 05:00:20 +0100 Subject: [PATCH 588/766] Add pomodoro timer --- pkgs/default.nix | 1 + pkgs/pomodoro-timer/default.nix | 52 +++++ pkgs/pomodoro-timer/pomodorotimer.svg | 274 ++++++++++++++++++++++++++ users/jalr/modules/default.nix | 1 + users/jalr/modules/pomodoro.nix | 69 +++++++ users/jalr/modules/sway/default.nix | 7 + users/jalr/modules/sway/waybar.nix | 32 +++ 7 files changed, 436 insertions(+) create mode 100644 pkgs/pomodoro-timer/default.nix create mode 100644 pkgs/pomodoro-timer/pomodorotimer.svg create mode 100644 users/jalr/modules/pomodoro.nix diff --git a/pkgs/default.nix b/pkgs/default.nix index 677507c..d81563a 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -22,6 +22,7 @@ in myintercom-doorbell = callPackage ./myintercom-doorbell { inherit poetry2nix; }; + pomodoro-timer = callPackage ./pomodoro-timer { }; pretix-banktool = callPackage ./pretix-banktool { }; tabbed-box-maker = callPackage ./tabbed-box-maker { }; vesc-firmware = callPackage ./vesc-tool/firmware.nix { }; diff --git a/pkgs/pomodoro-timer/default.nix b/pkgs/pomodoro-timer/default.nix new file mode 100644 index 0000000..839ac12 --- /dev/null +++ b/pkgs/pomodoro-timer/default.nix @@ -0,0 +1,52 @@ +{ lib +, stdenv +, yad +, uair +, gnused +, writeShellScript +, makeDesktopItem +}: + +let + pomodoroTimer = writeShellScript "pomodoro-timer" '' + export PATH=${lib.makeBinPath [yad uair gnused]} + uairctl listen -o yad \ + | yad \ + --title="Pomodoro" \ + --geometry="300x50" \ + --scale \ + --progress \ + --no-buttons \ + --css="* { font-size: 60px;} progress { min-height: 1200px; margin: -100px -8px -6px;}" + ''; +in +stdenv.mkDerivation rec { + pname = "pomodoro-timer"; + version = "1.0.0"; + src = ./pomodorotimer.svg; + dontUnpack = true; + + installPhase = '' + dir=$out/share/icons/hicolor/scalable/apps/ + mkdir -p $dir + cp $src $dir/pomodorotimer.svg + mkdir $out/bin + cp "${pomodoroTimer}" $out/bin/pomodoro-timer + ln -s "${desktopItem}/share/applications" $out/share/ + ''; + + desktopItem = makeDesktopItem { + name = pname; + exec = pname; + icon = "pomodorotimer"; + desktopName = pname; + comment = meta.description; + categories = [ "Utility" ]; + }; + + meta = with lib; { + description = "Pomodoro timer (GUI for uair)"; + maintainers = with maintainers; [ jalr ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/pomodoro-timer/pomodorotimer.svg b/pkgs/pomodoro-timer/pomodorotimer.svg new file mode 100644 index 0000000..b771a33 --- /dev/null +++ b/pkgs/pomodoro-timer/pomodorotimer.svg @@ -0,0 +1,274 @@ + + + + + + + + + + + + + + + + + + + + + + + + Pomodoro Timer + + + + + + + image/svg+xml + + + + + Openclipart + + + Pomodoro Timer + 2011-05-03T21:58:11 + The Pomodoro Technique® is a way to get the most out of time management. Develop by Francesco Cirillo. + https://openclipart.org/detail/135631/pomodoro-timer-by-fairhonanth + + + fairhonanth + + + + + management + pomodoro + productivity + techinique + timer + + + + + + + + + + + diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index f7734d5..b72ee3d 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -28,6 +28,7 @@ ./openscad.nix ./ots.nix ./pass.nix + ./pomodoro.nix ./python.nix ./remarkable ./snapclient.nix diff --git a/users/jalr/modules/pomodoro.nix b/users/jalr/modules/pomodoro.nix new file mode 100644 index 0000000..42b1bc3 --- /dev/null +++ b/users/jalr/modules/pomodoro.nix @@ -0,0 +1,69 @@ +{ nixosConfig, lib, pkgs, config, ... }: + +let + tomlFormat = pkgs.formats.toml { }; +in +lib.mkIf nixosConfig.jalr.gui.enable { + home.packages = with pkgs; [ + uair + pomodoro-timer + ]; + + xdg.configFile."uair/uair.toml".source = tomlFormat.generate "uair.toml" { + defaults = { + loop_on_end = true; + paused_state_text = "paused"; + resumed_state_text = "resumed"; + overrides = { + yad = { + format = "{percent}\n#{time}\n"; + }; + json = { + format = ''{"name": "{name}", "percent": {percent}", "time": "{time}", "running": {state}, "total": "{total}"} + ''; + paused_state_text = "false"; + resumed_state_text = "true"; + }; + waybar = { + format = ''{"text": "{name}: {time}", "class": "{state}"} + ''; + paused_state_text = "paused"; + resumed_state_text = "resumed"; + }; + }; + }; + sessions = + let + work-finished = "notify-send 'Pomodoro done! Enjoy your break.'; dnd off"; + break-finished = "notify-send 'Get back to work!'; dnd on"; + in + [ + { name = "Work 1"; duration = "25m"; command = work-finished; } + { name = "Break 1"; duration = "5m"; command = break-finished; } + { name = "Work 2"; duration = "25m"; command = work-finished; } + { name = "Break 2"; duration = "5m"; command = break-finished; } + { name = "Work 3"; duration = "25m"; command = work-finished; } + { name = "Break 3"; duration = "5m"; command = break-finished; } + { name = "Work 4"; duration = "25m"; command = work-finished; } + { name = "Long Break"; duration = "20m"; command = break-finished; } + ]; + }; + + systemd.user.services.uair = { + Unit.Description = "Pomodoro timer"; + Service = { + ExecStart = "${pkgs.uair}/bin/uair"; + NoNewPrivileges = true; + ProtectControlGroups = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + RestrictAddressFamilies = "AF_INET AF_INET6 AF_UNIX"; + RestrictNamespaces = true; + Type = "simple"; + Environment = [ + "PATH=/etc/profiles/per-user/jalr/bin:/run/current-system/sw/bin/" + ]; + }; + Install.WantedBy = [ "default.target" ]; + }; +} diff --git a/users/jalr/modules/sway/default.nix b/users/jalr/modules/sway/default.nix index bb16c26..2f3a27a 100644 --- a/users/jalr/modules/sway/default.nix +++ b/users/jalr/modules/sway/default.nix @@ -293,6 +293,13 @@ in }; command = "floating enable"; } + { + criteria = { + app_id = "yad"; + title = "Pomodoro"; + }; + command = "floating enable"; + } ]; window.border = 2; diff --git a/users/jalr/modules/sway/waybar.nix b/users/jalr/modules/sway/waybar.nix index e3ca9d8..377f4d2 100644 --- a/users/jalr/modules/sway/waybar.nix +++ b/users/jalr/modules/sway/waybar.nix @@ -41,6 +41,7 @@ in "custom/screencast" "custom/redshift" "idle_inhibitor" + "custom/pomodoro" "backlight" "pulseaudio" "network" @@ -71,6 +72,32 @@ in format = "󰌵"; tooltip = false; }; + "custom/pomodoro" = let uairctl = "${pkgs.uair}/bin/uairctl"; in { + # We need to remove nul-characters + # See https://github.com/metent/uair/issues/15 + exec = pkgs.writeShellScript "uairctl-without-null-characters" '' + ${uairctl} listen -o waybar | ${pkgs.gnused}/bin/sed --unbuffered 's/\x0//g' + ''; + + on-click = "${uairctl} toggle"; + on-scroll-up = "${uairctl} next"; + on-scroll-down = "${uairctl} prev"; + on-click-middle = "${uairctl} finish"; + menu = "on-click-right"; + /* + menu-actions = { + "work 1" = "${uairctl} jump 0"; + "break 1" = "${uairctl} jump 1"; + "work 2" = "${uairctl} jump 2"; + "break 2" = "${uairctl} jump 3"; + "work 3" = "${uairctl} jump 4"; + "break 3" = "${uairctl} jump 5"; + "work 4" = "${uairctl} jump 6"; + "long break" = "${uairctl} jump 7"; + }; + */ + return-type = "json"; + }; idle_inhibitor = { format = "{icon}"; format-icons = { @@ -362,6 +389,11 @@ in animation-iteration-count: infinite; animation-direction: alternate; } + + #custom-pomodoro.resumed { + color: @base01; + background-color: @base0B; + } ''; systemd.user.services.waybar = { From fc482184878789ef6c87451d5491ae388eda6185 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 13 Mar 2025 05:58:39 +0100 Subject: [PATCH 589/766] Add mako configuration --- users/jalr/modules/sway/default.nix | 3 ++- users/jalr/modules/sway/mako.nix | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 users/jalr/modules/sway/mako.nix diff --git a/users/jalr/modules/sway/default.nix b/users/jalr/modules/sway/default.nix index 2f3a27a..af4dff4 100644 --- a/users/jalr/modules/sway/default.nix +++ b/users/jalr/modules/sway/default.nix @@ -58,10 +58,11 @@ in { imports = lib.optionals nixosConfig.jalr.gui.enable [ ./gammastep.nix + ./mako.nix ./screenshare.nix ./waybar.nix - ./wofi.nix ./wofi-bluetooth.nix + ./wofi.nix ./yubikey-touch-detector.nix ]; } // (lib.mkIf nixosConfig.jalr.gui.enable { diff --git a/users/jalr/modules/sway/mako.nix b/users/jalr/modules/sway/mako.nix new file mode 100644 index 0000000..48d52df --- /dev/null +++ b/users/jalr/modules/sway/mako.nix @@ -0,0 +1,10 @@ +{ + xdg.configFile."mako/config".text = '' + [mode=dnd] + invisible=1 + + [mode=screencast] + icons=0 + format=%a + ''; +} From 3ed8370ebfbeeb16c13cf39c80e74327af788f67 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 13 Mar 2025 05:59:30 +0100 Subject: [PATCH 590/766] Increase screencast indicator animation duration --- users/jalr/modules/sway/waybar.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/users/jalr/modules/sway/waybar.nix b/users/jalr/modules/sway/waybar.nix index 377f4d2..696fc7d 100644 --- a/users/jalr/modules/sway/waybar.nix +++ b/users/jalr/modules/sway/waybar.nix @@ -384,8 +384,8 @@ in background-color: @base08; color: @base00; animation-name: blink; - animation-duration: 0.5s; - animation-timing-function: cubic-bezier(1, 0, 0, 1); + animation-duration: 1s; + animation-timing-function: ease-in-out; animation-iteration-count: infinite; animation-direction: alternate; } From 2dedde53de6b2ce97d0f668f3512f7a1bbe491f3 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 13 Mar 2025 06:01:46 +0100 Subject: [PATCH 591/766] Fix dark mode for pavucontrol --- users/jalr/modules/dynamic-colors.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/users/jalr/modules/dynamic-colors.nix b/users/jalr/modules/dynamic-colors.nix index d28d856..2b1548a 100644 --- a/users/jalr/modules/dynamic-colors.nix +++ b/users/jalr/modules/dynamic-colors.nix @@ -46,6 +46,13 @@ let else null ); } + { + exec = ( + if nixosConfig.jalr.gui.enable + then [ "/usr/bin/env" "gsettings" "set" "org.gnome.desktop.interface" "gtk-theme" "Adwaita-%scheme%" ] + else null + ); + } ]; dynamic-colors = pkgs.writers.writePython3Bin "dynamic-colors" { } '' import json From 7f489b0e5aacad90787c062f3ddfe9001d337f72 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 13 Mar 2025 15:08:28 +0100 Subject: [PATCH 592/766] Add icon to pomodoro timer --- pkgs/pomodoro-timer/default.nix | 12 +++++++++++- users/jalr/modules/pomodoro.nix | 5 +++-- users/jalr/modules/sway/mako.nix | 6 ++++++ 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/pkgs/pomodoro-timer/default.nix b/pkgs/pomodoro-timer/default.nix index 839ac12..4af648b 100644 --- a/pkgs/pomodoro-timer/default.nix +++ b/pkgs/pomodoro-timer/default.nix @@ -5,6 +5,7 @@ , gnused , writeShellScript , makeDesktopItem +, imagemagick }: let @@ -27,12 +28,21 @@ stdenv.mkDerivation rec { dontUnpack = true; installPhase = '' + icon_size=64x64 dir=$out/share/icons/hicolor/scalable/apps/ - mkdir -p $dir + mkdir -p \ + $out/share/icons/hicolor/scalable/apps/ \ + $out/share/icons/hicolor/$icon_size/apps/ + cp $src $dir/pomodorotimer.svg mkdir $out/bin cp "${pomodoroTimer}" $out/bin/pomodoro-timer ln -s "${desktopItem}/share/applications" $out/share/ + + ${imagemagick}/bin/convert \ + -size $icon_size \ + $src \ + $out/share/icons/hicolor/$icon_size/apps/pomodorotimer.png ''; desktopItem = makeDesktopItem { diff --git a/users/jalr/modules/pomodoro.nix b/users/jalr/modules/pomodoro.nix index 42b1bc3..85e1b78 100644 --- a/users/jalr/modules/pomodoro.nix +++ b/users/jalr/modules/pomodoro.nix @@ -34,8 +34,9 @@ lib.mkIf nixosConfig.jalr.gui.enable { }; sessions = let - work-finished = "notify-send 'Pomodoro done! Enjoy your break.'; dnd off"; - break-finished = "notify-send 'Get back to work!'; dnd on"; + notify-send = "notify-send --app-name='Pomodoro timer' --icon='pomodorotimer'"; + work-finished = "${notify-send} 'Pomodoro done! Enjoy your break.'; dnd off"; + break-finished = "${notify-send} 'Get back to work!'; dnd on"; in [ { name = "Work 1"; duration = "25m"; command = work-finished; } diff --git a/users/jalr/modules/sway/mako.nix b/users/jalr/modules/sway/mako.nix index 48d52df..767e6b5 100644 --- a/users/jalr/modules/sway/mako.nix +++ b/users/jalr/modules/sway/mako.nix @@ -1,3 +1,5 @@ +{ pkgs, ... }: + { xdg.configFile."mako/config".text = '' [mode=dnd] @@ -6,5 +8,9 @@ [mode=screencast] icons=0 format=%a + + [app-name="Pomodoro timer"] + invisible=0 + icon-path="${pkgs.pomodoro-timer}/share/icons/hicolor" ''; } From 770e354480b78fdeac135e953454d04dd50ae576 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 13 Mar 2025 17:30:31 +0100 Subject: [PATCH 593/766] Add do-not-disturb widget to waybar --- users/jalr/modules/do-not-disturb/default.nix | 2 + users/jalr/modules/sway/waybar.nix | 362 ++++++++++-------- 2 files changed, 195 insertions(+), 169 deletions(-) diff --git a/users/jalr/modules/do-not-disturb/default.nix b/users/jalr/modules/do-not-disturb/default.nix index 0d3daf2..29b0c2f 100644 --- a/users/jalr/modules/do-not-disturb/default.nix +++ b/users/jalr/modules/do-not-disturb/default.nix @@ -6,6 +6,8 @@ let ${builtins.readFile ./android-set-dnd.py} ''; do-not-disturb = pkgs.writeShellScriptBin "dnd" '' + export PATH=${pkgs.lib.makeBinPath [pkgs.mako]} + if [[ "$1" != off && "$1" != on ]]; then echo "USAGE: $0 [on|off]" >&2 exit 1 diff --git a/users/jalr/modules/sway/waybar.nix b/users/jalr/modules/sway/waybar.nix index 696fc7d..a678232 100644 --- a/users/jalr/modules/sway/waybar.nix +++ b/users/jalr/modules/sway/waybar.nix @@ -22,69 +22,74 @@ let in { # home-manager’s waybar module performs additional checks that are overly strict - xdg.configFile."waybar/config".text = lib.generators.toJSON { } { - layer = "top"; - output = [ - "!HEADLESS-1" - "*" - ]; - position = "top"; - height = 24; + xdg.configFile."waybar/config".text = + let + makoctl = "${pkgs.mako}/bin/makoctl"; + in + lib.generators.toJSON { } { + layer = "top"; + output = [ + "!HEADLESS-1" + "*" + ]; + position = "top"; + height = 24; - modules-center = [ ]; - modules-left = [ - "sway/workspaces" - "sway/mode" - ]; - modules-right = [ - "tray" - "custom/screencast" - "custom/redshift" - "idle_inhibitor" - "custom/pomodoro" - "backlight" - "pulseaudio" - "network" - "memory" - "cpu" - "temperature" - "battery" - "clock" - ]; + modules-center = [ ]; + modules-left = [ + "sway/workspaces" + "sway/mode" + ]; + modules-right = [ + "tray" + "custom/screencast" + "custom/redshift" + "idle_inhibitor" + "custom/pomodoro" + "backlight" + "pulseaudio" + "network" + "memory" + "cpu" + "temperature" + "battery" + "clock" + "custom/dnd" + ]; - "sway/workspaces" = { - disable-scroll = true; - }; - "sway/mode" = { - format = "{}"; - }; + "sway/workspaces" = { + disable-scroll = true; + }; + "sway/mode" = { + format = "{}"; + }; - tray = { - spacing = 5; - }; - "custom/redshift" = { - exec = watchUserUnitState - "gammastep" - { class = "active"; } - { class = "inactive"; }; - on-click = toggleUserUnitState "gammastep"; - return-type = "json"; - format = "󰌵"; - tooltip = false; - }; - "custom/pomodoro" = let uairctl = "${pkgs.uair}/bin/uairctl"; in { - # We need to remove nul-characters - # See https://github.com/metent/uair/issues/15 - exec = pkgs.writeShellScript "uairctl-without-null-characters" '' - ${uairctl} listen -o waybar | ${pkgs.gnused}/bin/sed --unbuffered 's/\x0//g' - ''; + tray = { + spacing = 5; + }; + "custom/redshift" = { + exec = watchUserUnitState + "gammastep" + { class = "active"; } + { class = "inactive"; }; + on-click = toggleUserUnitState "gammastep"; + return-type = "json"; + format = "󰌵"; + tooltip = false; + }; + "custom/pomodoro" = let uairctl = "${pkgs.uair}/bin/uairctl"; in { + # We need to remove nul-characters + # See https://github.com/metent/uair/issues/15 + exec = pkgs.writeShellScript "uairctl-without-null-characters" '' + ${uairctl} listen -o waybar | ${pkgs.gnused}/bin/sed --unbuffered 's/\x0//g' + ''; - on-click = "${uairctl} toggle"; - on-scroll-up = "${uairctl} next"; - on-scroll-down = "${uairctl} prev"; - on-click-middle = "${uairctl} finish"; - menu = "on-click-right"; - /* + on-click = "${uairctl} toggle"; + on-scroll-up = "${uairctl} next"; + on-scroll-down = "${uairctl} prev"; + on-click-middle = "${uairctl} finish"; + menu = "on-click-right"; + /* menu-actions = { "work 1" = "${uairctl} jump 0"; "break 1" = "${uairctl} jump 1"; @@ -95,118 +100,132 @@ in "work 4" = "${uairctl} jump 6"; "long break" = "${uairctl} jump 7"; }; - */ - return-type = "json"; - }; - idle_inhibitor = { - format = "{icon}"; - format-icons = { - activated = "󰈈 "; - deactivated = "󰈉 "; + */ + return-type = "json"; + }; + idle_inhibitor = { + format = "{icon}"; + format-icons = { + activated = "󰈈 "; + deactivated = "󰈉 "; + }; + }; + "custom/screencast" = { + exec = pkgs.writeScript "screencast-monitor" /* python */ '' + #!${pkgs.python3}/bin/python3 + import subprocess + import sys + + active_outputs = 0 + + with subprocess.Popen( + ["${pkgs.coreutils}/bin/stdbuf", "-o0", "${nixosConfig.services.pipewire.package}/bin/pw-link", "-m", "-o", "xdg-desktop-portal-wlr"], + stdout=subprocess.PIPE, + text=True, + ) as proc: + for line in proc.stdout: + action = line.split(" ")[0] + if action == "=" or action == "+": + active_outputs += 1 + elif action == "-": + active_outputs -= 1 + else: + print(f"Invalid action {action} (in line {line})", file=sys.stderr) + + if active_outputs > 0: + print("󱒃") + subprocess.run(["${makoctl}", "mode", "-a" "screencast"], stdout=subprocess.DEVNULL) + else: + print() + subprocess.run(["${makoctl}", "mode", "-r" "screencast"], stdout=subprocess.DEVNULL) + + sys.stdout.flush() + ''; + format = "{}"; + tooltip = false; + }; + backlight = { + format = "{percent}% {icon}"; + format-icons = [ "󰛩" "󱩎" "󱩏" "󱩐" "󱩑" "󱩒" "󱩓" "󱩔" "󱩕" "󱩖" "󰛨" ]; + on-scroll-up = "${pkgs.brightnessctl}/bin/brightnessctl -q set +5%"; + on-scroll-down = "${pkgs.brightnessctl}/bin/brightnessctl -q set 5%-"; + }; + pulseaudio = { + format = "{volume}% {icon} {format_source}"; + format-bluetooth = "{volume}% {icon}󰗾{format_source}"; + format-bluetooth-muted = "{icon}󰗿{format_source}"; + format-muted = "󰝟 {format_source}"; + format-source = "{volume}% ${thinsp}"; + format-source-muted = "${thinsp}"; + format-icons = { + car = "󰄋 "; + default = [ "󰕿" "󰖀" "󰕾" ]; + hands-free = "󰋎"; + headphone = "󰋋"; + headset = "󰋎"; + phone = "󰏲"; + portable = "󰏲"; + }; + on-click-right = "${pkgs.pavucontrol}/bin/pavucontrol"; + }; + network = { + format-wifi = "{essid} ({signalStrength}%) 󰖩 "; + format-ethernet = "{ipaddr}/{cidr} 󰈀 "; + format-linked = "{ifname} (No IP) 󰈀 "; + format-disconnected = "Disconnected ⚠ "; + format-alt = "{ifname}: {ipaddr}/{cidr}"; + tooltip = false; + on-click-right = "${config.programs.alacritty.package}/bin/alacritty -e ${pkgs.networkmanager}/bin/nmtui"; + }; + memory = { + interval = 2; + format = "{:2}% 󰍛 "; + }; + cpu = { + interval = 2; + format = "{usage:2}%  "; + tooltip = false; + }; + temperature = { + critical-threshold = 80; + format = "{temperatureC}°C {icon}"; + format-icons = [ "" "" "" "" "" ]; + } // (lib.optionalAttrs (nixosConfig.networking.hostName == "mayushii") { + hwmon-path = "/sys/class/hwmon/hwmon3/temp1_input"; + }); + battery = { + interval = 5; + format = "{capacity}% {icon}"; + format-charging = "{capacity}% "; + format-plugged = "{capacity}% x"; + format-alt = "{time} {icon}"; + format-icons = [ "󰂎" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹" ]; + states = { + critical = 15; + good = 95; + warning = 30; + }; + }; + clock = { + format = "{:%H:%M %Z}"; + format-alt = "{:%Y-%m-%d (%a)}"; + tooltip-format = "{:%Y %B}\n{calendar}"; + }; + "custom/dnd" = { + exec = pkgs.writeShellScript "waybar-dnd-widget" '' + export PATH=${pkgs.lib.makeBinPath [pkgs.gnugrep]} + if ${makoctl} mode | grep -Fxq 'dnd'; then + echo '{"text": "󰂛", "class": "active"}' + else + echo '{"text": "󰂚", "class": "inactive"}' + fi + ''; + on-click = "/etc/profiles/per-user/jalr/bin/dnd on"; + on-click-right = "/etc/profiles/per-user/jalr/bin/dnd off"; + interval = 10; + return-type = "json"; }; }; - "custom/screencast" = let makoctl = "${pkgs.mako}/bin/makoctl"; in { - exec = pkgs.writeScript "screencast-monitor" /* python */ '' - #!${pkgs.python3}/bin/python3 - import subprocess - import sys - - active_outputs = 0 - - with subprocess.Popen( - ["${pkgs.coreutils}/bin/stdbuf", "-o0", "${nixosConfig.services.pipewire.package}/bin/pw-link", "-m", "-o", "xdg-desktop-portal-wlr"], - stdout=subprocess.PIPE, - text=True, - ) as proc: - for line in proc.stdout: - action = line.split(" ")[0] - if action == "=" or action == "+": - active_outputs += 1 - elif action == "-": - active_outputs -= 1 - else: - print(f"Invalid action {action} (in line {line})", file=sys.stderr) - - if active_outputs > 0: - print("󱒃") - subprocess.run(["${makoctl}", "mode", "-a" "screencast"], stdout=subprocess.DEVNULL) - else: - print() - subprocess.run(["${makoctl}", "mode", "-r" "screencast"], stdout=subprocess.DEVNULL) - - sys.stdout.flush() - ''; - format = "{}"; - tooltip = false; - }; - backlight = { - format = "{percent}% {icon}"; - format-icons = [ "󰛩" "󱩎" "󱩏" "󱩐" "󱩑" "󱩒" "󱩓" "󱩔" "󱩕" "󱩖" "󰛨" ]; - on-scroll-up = "${pkgs.brightnessctl}/bin/brightnessctl -q set +5%"; - on-scroll-down = "${pkgs.brightnessctl}/bin/brightnessctl -q set 5%-"; - }; - pulseaudio = { - format = "{volume}% {icon} {format_source}"; - format-bluetooth = "{volume}% {icon}󰗾{format_source}"; - format-bluetooth-muted = "{icon}󰗿{format_source}"; - format-muted = "󰝟 {format_source}"; - format-source = "{volume}% ${thinsp}"; - format-source-muted = "${thinsp}"; - format-icons = { - car = "󰄋 "; - default = [ "󰕿" "󰖀" "󰕾" ]; - hands-free = "󰋎"; - headphone = "󰋋"; - headset = "󰋎"; - phone = "󰏲"; - portable = "󰏲"; - }; - on-click-right = "${pkgs.pavucontrol}/bin/pavucontrol"; - }; - network = { - format-wifi = "{essid} ({signalStrength}%) 󰖩 "; - format-ethernet = "{ipaddr}/{cidr} 󰈀 "; - format-linked = "{ifname} (No IP) 󰈀 "; - format-disconnected = "Disconnected ⚠ "; - format-alt = "{ifname}: {ipaddr}/{cidr}"; - tooltip = false; - on-click-right = "${config.programs.alacritty.package}/bin/alacritty -e ${pkgs.networkmanager}/bin/nmtui"; - }; - memory = { - interval = 2; - format = "{:2}% 󰍛 "; - }; - cpu = { - interval = 2; - format = "{usage:2}%  "; - tooltip = false; - }; - temperature = { - critical-threshold = 80; - format = "{temperatureC}°C {icon}"; - format-icons = [ "" "" "" "" "" ]; - } // (lib.optionalAttrs (nixosConfig.networking.hostName == "mayushii") { - hwmon-path = "/sys/class/hwmon/hwmon3/temp1_input"; - }); - battery = { - interval = 5; - format = "{capacity}% {icon}"; - format-charging = "{capacity}% "; - format-plugged = "{capacity}% x"; - format-alt = "{time} {icon}"; - format-icons = [ "󰂎" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹" ]; - states = { - critical = 15; - good = 95; - warning = 30; - }; - }; - clock = { - format = "{:%H:%M %Z}"; - format-alt = "{:%Y-%m-%d (%a)}"; - tooltip-format = "{:%Y %B}\n{calendar}"; - }; - }; xdg.configFile."waybar/theme-light.css".text = solarizedColors { base00 = "base3"; @@ -394,6 +413,11 @@ in color: @base01; background-color: @base0B; } + + #custom-dnd.active { + color: @base01; + background-color: @base0B; + } ''; systemd.user.services.waybar = { From 27b349923e7e2f8de072665a84bb1722a46d2798 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 31 Dec 2024 17:46:06 +0100 Subject: [PATCH 594/766] Add illuminanced --- pkgs/default.nix | 1 + pkgs/illuminanced/default.nix | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 pkgs/illuminanced/default.nix diff --git a/pkgs/default.nix b/pkgs/default.nix index d81563a..5a2fdeb 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -18,6 +18,7 @@ in inherit (inputs.gomod2nix.legacyPackages.${system}) buildGoApplication; }; fpvout = callPackage ./fpvout { }; + illuminanced = callPackage ./illuminanced { }; mute-indicator = callPackage ./mute-indicator { }; myintercom-doorbell = callPackage ./myintercom-doorbell { inherit poetry2nix; diff --git a/pkgs/illuminanced/default.nix b/pkgs/illuminanced/default.nix new file mode 100644 index 0000000..cf27e6f --- /dev/null +++ b/pkgs/illuminanced/default.nix @@ -0,0 +1,18 @@ +{ rustPlatform +, fetchFromGitHub +, pkgs +}: + +rustPlatform.buildRustPackage { + pname = "illuminanced"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "mikhail-m1"; + repo = "illuminanced"; + rev = "ee95f97dc1ed197abe3a7c4f3ad45121a077d3eb"; + sha256 = "sha256-dilApolbxgl//2YVbd4ITYVNwfCQQ8LPayqmmW5Jhv8="; + }; + + cargoHash = "sha256-y0Fuzgjz7s9VD/cqMshU1LiytlXskTMZ6dlQsYtAvsk="; +} From 588d69325071a98c954226d28ff85438c1e6ea72 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 18 Mar 2025 01:19:58 +0100 Subject: [PATCH 595/766] Add illuminanced service --- hosts/copper/services/default.nix | 1 + hosts/copper/services/illuminanced.nix | 94 ++++++++++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 hosts/copper/services/illuminanced.nix diff --git a/hosts/copper/services/default.nix b/hosts/copper/services/default.nix index e865371..93eb10c 100644 --- a/hosts/copper/services/default.nix +++ b/hosts/copper/services/default.nix @@ -1,5 +1,6 @@ { imports = [ + ./illuminanced.nix ./ntfy.nix ./webdev.nix ]; diff --git a/hosts/copper/services/illuminanced.nix b/hosts/copper/services/illuminanced.nix new file mode 100644 index 0000000..877eaa7 --- /dev/null +++ b/hosts/copper/services/illuminanced.nix @@ -0,0 +1,94 @@ +{ lib, pkgs, ... }: + +let + tomlFormat = pkgs.formats.toml { }; + cfg = { + daemonize = { + log_to = "syslog"; + pid_file = "/run/illuminanced/illuminanced.pid"; + #log_level = "OFF", "ERROR", "WARN", "INFO", "DEBUG", "TRACE" + log_level = "ERROR"; + }; + general = { + check_period_in_seconds = 1; + light_steps = 100; + min_backlight = 20; + step_barrier = 0.1; + max_backlight_file = "/sys/class/backlight/amdgpu_bl1/max_brightness"; + backlight_file = "/sys/class/backlight/amdgpu_bl1/brightness"; + illuminance_file = "/sys/bus/iio/devices/iio:device0/in_illuminance_raw"; + #event_device_mask = "/dev/input/event*"; + #event_device_name = "Asus WMI hotkeys"; + enable_max_brightness_mode = true; + filename_for_sensor_activation = ""; + }; + kalman = { + q = 1; + r = 20; + covariance = 10; + }; + light = { + points_count = 6; + + illuminance_0 = 0; + light_0 = 0; + illuminance_1 = 20; + light_1 = 35; + illuminance_2 = 70; + light_2 = 50; + illuminance_3 = 120; + light_3 = 65; + illuminance_4 = 200; + light_4 = 75; + illuminance_5 = 255; + light_5 = 100; + }; + }; + configFile = tomlFormat.generate "illuminanced.toml" cfg; +in +{ + systemd.services.illuminanced = { + description = "Ambient Light Sensor Daemon"; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "exec"; + Restart = "always"; + ExecStart = "${pkgs.illuminanced}/bin/illuminanced -c ${configFile}"; + PIDFile = cfg.daemonize.pid_file; + StandardOutput = "journal"; + BindReadOnlyPaths = [ + "/nix/store" + "/dev/log" + "/run/systemd/journal/socket" + "/run/systemd/journal/stdout" + cfg.general.max_backlight_file + (lib.strings.escape [ ":" ] cfg.general.illuminance_file) + ]; + BindPaths = [ + cfg.general.backlight_file + ]; + CapabilityBoundingSet = null; + IPAddressDeny = "any"; + LockPersonality = true; + PrivateDevices = true; + PrivateTmp = true; + PrivateUsers = true; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "noaccess"; + ProtectSystem = "strict"; + RestrictAddressFamilies = [ ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RootDirectory = "/run/illuminanced"; + RuntimeDirectory = "illuminanced"; + SystemCallArchitectures = "native"; + SystemCallFilter = "@system-service"; + }; + }; +} From d3a3ae6ec118c9a2f32a8b4405b9c70d5b21ee88 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 18 Mar 2025 09:48:59 +0100 Subject: [PATCH 596/766] Rename option --- modules/avahi.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/avahi.nix b/modules/avahi.nix index f97e514..7111a14 100644 --- a/modules/avahi.nix +++ b/modules/avahi.nix @@ -2,5 +2,5 @@ lib.mkIf config.jalr.gui.enable { services.avahi.enable = true; - services.avahi.nssmdns = true; + services.avahi.nssmdns4 = true; } From 1d1829d0ed1e298a97050daaa55ecb1bf8dea9dc Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 19 Mar 2025 17:15:22 +0100 Subject: [PATCH 597/766] Remove vim-puppet --- users/jalr/modules/neovim.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/users/jalr/modules/neovim.nix b/users/jalr/modules/neovim.nix index d1f585b..1e52996 100644 --- a/users/jalr/modules/neovim.nix +++ b/users/jalr/modules/neovim.nix @@ -113,7 +113,6 @@ in vim-gitgutter vim-indent-guides vim-nix - vim-puppet vim-terraform vim-typoscript ( From ef464facd6fcda874dea69ed39eaf20242161190 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 19 Mar 2025 17:54:05 +0100 Subject: [PATCH 598/766] Move colorscheme to plugin config --- users/jalr/modules/neovim.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/users/jalr/modules/neovim.nix b/users/jalr/modules/neovim.nix index 1e52996..5fcf689 100644 --- a/users/jalr/modules/neovim.nix +++ b/users/jalr/modules/neovim.nix @@ -9,8 +9,6 @@ in vimAlias = true; defaultEditor = true; extraConfig = '' - colorscheme NeoSolarized - """"""""""""""""" " Swap and undo " set noswapfile @@ -81,7 +79,12 @@ in #Valloric/MatchTagAlways #frankier/neovim-colors-solarized-truecolor-only #nvie/vim-rst-tables - NeoSolarized + { + plugin = NeoSolarized; + config = '' + colorscheme NeoSolarized + ''; + } deoplete-nvim editorconfig-vim jinja-vim From 30188e02d0265ec88f9e2402d88285f1620816f4 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 19 Mar 2025 17:55:28 +0100 Subject: [PATCH 599/766] Remove commented plugins --- users/jalr/modules/neovim.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/users/jalr/modules/neovim.nix b/users/jalr/modules/neovim.nix index 5fcf689..f5675ed 100644 --- a/users/jalr/modules/neovim.nix +++ b/users/jalr/modules/neovim.nix @@ -76,9 +76,6 @@ in ] ++ # nix-env -f '' -qaP -A vimPlugins (with pkgs.vimPlugins; [ - #Valloric/MatchTagAlways - #frankier/neovim-colors-solarized-truecolor-only - #nvie/vim-rst-tables { plugin = NeoSolarized; config = '' From c5291bbf74f075501faa68fd4aa292b01ce8b6b8 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 19 Mar 2025 18:07:16 +0100 Subject: [PATCH 600/766] Move neovim to directory --- users/jalr/modules/default.nix | 2 +- users/jalr/modules/{neovim.nix => neovim/default.nix} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename users/jalr/modules/{neovim.nix => neovim/default.nix} (100%) diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index b72ee3d..2d910b0 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -22,7 +22,7 @@ ./mute-indicator.nix ./mycli ./neo.nix - ./neovim.nix + ./neovim ./nix-index.nix ./obs-studio ./openscad.nix diff --git a/users/jalr/modules/neovim.nix b/users/jalr/modules/neovim/default.nix similarity index 100% rename from users/jalr/modules/neovim.nix rename to users/jalr/modules/neovim/default.nix From 1e33e70f5fb6e3051c91dfe249f065bf507c7bdf Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 9 Apr 2025 10:18:57 +0200 Subject: [PATCH 601/766] Add ultisnips and telescope-ultisnips-nvim --- users/jalr/modules/neovim/default.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/users/jalr/modules/neovim/default.nix b/users/jalr/modules/neovim/default.nix index f5675ed..8c9c53d 100644 --- a/users/jalr/modules/neovim/default.nix +++ b/users/jalr/modules/neovim/default.nix @@ -96,6 +96,13 @@ in vim.keymap.set('n', '', 'Telescope buffers') ''; } + { + plugin = telescope-ultisnips-nvim; + type = "lua"; + config = '' + require('telescope').load_extension('ultisnips') + ''; + } nvim-treesitter-parsers.twig { plugin = nvim-treesitter; @@ -104,6 +111,13 @@ in require'nvim-treesitter.configs'.setup { highlight = { enable = true, }, } ''; } + { + plugin = ultisnips; + config = ''; + let g:UltiSnipsSnippetDirectories = [ "UltiSnips" ] + inoremap :Telescope ultisnips + ''; + } { plugin = vim-fluid; config = '' From e8a41265302186ec4b1b926575eb330ae747fab1 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 28 Mar 2025 12:10:43 +0100 Subject: [PATCH 602/766] Improve mycli color scheme --- users/jalr/modules/mycli/default.nix | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/users/jalr/modules/mycli/default.nix b/users/jalr/modules/mycli/default.nix index f688679..6495a48 100644 --- a/users/jalr/modules/mycli/default.nix +++ b/users/jalr/modules/mycli/default.nix @@ -107,27 +107,34 @@ let colors = { common = { + "output.header" = "bold ${solarized.green.hex}"; "sql.datatype" = "nobold ${solarized.yellow.hex}"; - "sql.function" = "bg:#FF0000 #0000FF"; - "sql.keyword" = "${solarized.green.hex}"; + "sql.function" = "bold ${solarized.violet.hex}"; + "sql.keyword" = solarized.green.hex; "sql.literal" = solarized.green.hex; "sql.number" = solarized.cyan.hex; "sql.string" = solarized.cyan.hex; + "sql.variable" = solarized.red.hex; + "sql.quoted-schema-object" = solarized.blue.hex; }; light = { "prompt" = "bg:${solarized.blue.hex} ${solarized.base02.hex}"; "selected" = "bg:${solarized.base2.hex} ${solarized.base00.hex}"; + "output.odd-row" = "${solarized.base01.hex}"; + "output.even-row" = "${solarized.base01.hex} bg:${solarized.base2.hex}"; "sql.comment" = "italic ${solarized.base1.hex}"; - "sql.operator" = "${solarized.base02.hex}"; - "sql.punctuation" = "${solarized.base01.hex}"; + "sql.operator" = "bold ${solarized.base02.hex}"; + "sql.punctuation" = "bold ${solarized.base01.hex}"; "sql.symbol" = "${solarized.base01.hex}"; }; dark = { "prompt" = "bg:${solarized.blue.hex} ${solarized.base2.hex}"; "selected" = "bg:${solarized.base02.hex} ${solarized.base0.hex}"; + "output.odd-row" = "${solarized.base1.hex}"; + "output.even-row" = "${solarized.base1.hex} bg:${solarized.base02.hex}"; "sql.comment" = "italic ${solarized.base01.hex}"; - "sql.operator" = "${solarized.base2.hex}"; - "sql.punctuation" = "${solarized.base1.hex}"; + "sql.operator" = "bold ${solarized.base2.hex}"; + "sql.punctuation" = "bold ${solarized.base1.hex}"; "sql.symbol" = "${solarized.base1.hex}"; }; }; From 2232ae4aca6335449e9cd503adfd1382ea5b8043 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 28 Mar 2025 12:10:59 +0100 Subject: [PATCH 603/766] Use `pipe` output format as it produces markdown tables and I often copy&paste output into a markdown-featured messenger :) --- users/jalr/modules/mycli/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/users/jalr/modules/mycli/default.nix b/users/jalr/modules/mycli/default.nix index 6495a48..758eb36 100644 --- a/users/jalr/modules/mycli/default.nix +++ b/users/jalr/modules/mycli/default.nix @@ -43,7 +43,7 @@ let # psql, plain, simple, grid, fancy_grid, pipe, orgtbl, rst, mediawiki, html, # latex, latex_booktabs, textile, moinmoin, jira, vertical, tsv, csv. # Recommended: ascii - table_format = "ascii"; + table_format = "pipe"; # Syntax coloring style. Possible values (many support the "-dark" suffix): # manni, igor, xcode, vim, autumn, vs, rrt, native, perldoc, borland, tango, emacs, From eabbabc417f334627af556a1d6dff40faf9bdc4e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 28 Mar 2025 14:51:01 +0100 Subject: [PATCH 604/766] Add tig --- users/jalr/modules/git.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/users/jalr/modules/git.nix b/users/jalr/modules/git.nix index 83e4b79..da57290 100644 --- a/users/jalr/modules/git.nix +++ b/users/jalr/modules/git.nix @@ -199,5 +199,6 @@ in }; home.packages = with pkgs; [ git-crypt + tig ]; } From 49c95ffc6a91ce9365e98361152bfc43e2a4c19d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 4 Apr 2025 18:38:13 +0200 Subject: [PATCH 605/766] Add debug module --- modules/debug.nix | 16 ++++++++++++++++ modules/default.nix | 1 + 2 files changed, 17 insertions(+) create mode 100644 modules/debug.nix diff --git a/modules/debug.nix b/modules/debug.nix new file mode 100644 index 0000000..9cc70b5 --- /dev/null +++ b/modules/debug.nix @@ -0,0 +1,16 @@ +{ config, lib, ... }: +let + cfg = config.jalr.debug; +in +{ + options.jalr.debug = { + enable = lib.mkEnableOption "debugging helpers, DO NOT USE IN PRODUCTION!"; + }; + + config = lib.mkIf cfg.enable { + services.getty.autologinUser = "root"; + boot.initrd.systemd.emergencyAccess = true; + systemd.enableEmergencyMode = true; + boot.kernelParams = [ "systemd.setenv=SYSTEMD_SULOGIN_FORCE=1" ]; + }; +} diff --git a/modules/default.nix b/modules/default.nix index c009cda..908dfd9 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -21,6 +21,7 @@ ./aws.nix ./bluetooth.nix ./bootloader + ./debug.nix ./dji-goggles.nix ./dns.nix ./fish.nix From 239fbf70e0e157f233fb63feb9c9c6aa134e6937 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 4 Apr 2025 16:43:44 +0200 Subject: [PATCH 606/766] Use file to unlock LUKS from usb media --- hosts/iron/configuration.nix | 57 +++++++++-------- justfile | 10 +-- modules/default.nix | 1 + modules/luksusb.nix | 116 +++++++++++++++++++++++++++++++++++ 4 files changed, 154 insertions(+), 30 deletions(-) create mode 100644 modules/luksusb.nix diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index e52a1d1..f130428 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -1,13 +1,13 @@ { inputs, config, pkgs, lib, ... }: let interfaces = import ./interfaces.nix; - disks = [ - "ata-Samsung_SSD_870_QVO_8TB_S5SSNG0R103837K" - "ata-Samsung_SSD_870_QVO_8TB_S5SSNG0R103838A" - "ata-Samsung_SSD_870_QVO_8TB_S5SSNG0R104926N" - "ata-Samsung_SSD_870_QVO_8TB_S5SSNG0R104934H" - "ata-Samsung_SSD_870_QVO_8TB_S5SSNJ0W206517Y" - ]; + disks = { + slot1 = "ata-Samsung_SSD_870_QVO_8TB_S5SSNG0R103837K"; + slot2 = "ata-Samsung_SSD_870_QVO_8TB_S5SSNG0R103838A"; + slot3 = "ata-Samsung_SSD_870_QVO_8TB_S5SSNG0R104926N"; + slot4 = "ata-Samsung_SSD_870_QVO_8TB_S5SSNG0R104934H"; + slot5 = "ata-Samsung_SSD_870_QVO_8TB_S5SSNJ0W206517Y"; + }; removableEfi = true; devNodes = "/dev/disk/by-id/"; datasets = { @@ -28,7 +28,7 @@ let luksDev = "-part3"; biosBoot = "-part4"; }; - efiSystemPartitions = (map (diskName: diskName + partitionScheme.efiBoot) disks); + efiSystemPartitions = (map (diskName: diskName + partitionScheme.efiBoot) (lib.attrValues disks)); in with lib; { imports = [ @@ -116,6 +116,19 @@ with lib; { ia_pd 1/::/64 ${interfaces.lan}/0/64 ''; + jalr.luksUsbUnlock = { + enable = true; + devices = builtins.mapAttrs + (name: dev: + { + keyPath = "iron.key"; + usbDevice = "by-label/RAM_USB"; + waitForDevice = 10; + } + ) + disks; + }; + boot = { kernel.sysctl = { "net.ipv6.conf.all.forwarding" = 1; @@ -130,20 +143,14 @@ with lib; { "xhci_pci" ]; systemd.enable = true; - luks.devices = lib.listToAttrs ( - map - (dev: { - name = "LUKS-${dev}${partitionScheme.luksDev}"; - value = { - device = "${devNodes}${dev}${partitionScheme.luksDev}"; - allowDiscards = true; - keyFileSize = 4096; - keyFile = "/dev/disk/by-id/usb-jalr_USB_RAM_disk_prototype-01-0:0"; - keyFileTimeout = 60; - }; - }) - disks - ); + luks.devices = builtins.mapAttrs + (name: dev: + { + device = "${devNodes}${dev}${partitionScheme.luksDev}"; + allowDiscards = true; + } + ) + disks; }; supportedFilesystems = [ "zfs" ]; zfs = { @@ -153,13 +160,13 @@ with lib; { loader = { efi = { canTouchEfiVariables = (if removableEfi then false else true); - efiSysMountPoint = ("/boot/efis/" + (head disks) + efiSysMountPoint = ("/boot/efis/" + (head (lib.attrValues disks)) + partitionScheme.efiBoot); }; generationsDir.copyKernels = true; grub = { enable = true; - devices = (map (diskName: devNodes + diskName) disks); + devices = (map (diskName: devNodes + diskName) (attrValues disks)); efiInstallAsRemovable = removableEfi; copyKernels = true; efiSupport = true; @@ -173,7 +180,7 @@ with lib; { (diskName: '' ${pkgs.coreutils-full}/bin/cp -r ${config.boot.loader.efi.efiSysMountPoint}/EFI /boot/efis/${diskName}${partitionScheme.efiBoot} '') - (tail disks))); + (tail (attrValues disks)))); }; }; kernelParams = [ diff --git a/justfile b/justfile index 6186025..d1d2a9a 100644 --- a/justfile +++ b/justfile @@ -1,4 +1,5 @@ -usb_ram_disk := "/dev/disk/by-id/usb-jalr_USB_RAM_disk_prototype-01-0:0" +usb_ram_disk := "/dev/disk/by-label/RAM_USB" +usb_ram_mountpoint := shell("findmnt -n -o TARGET $1 || true", usb_ram_disk) boot: nixos-rebuild boot --flake . --use-remote-sudo @@ -26,9 +27,8 @@ repl: " luks-pass host: - @if [ -b "{{usb_ram_disk}}" ]; then \ - gpg -d hosts/{{host}}/luks-passfile.gpg | sudo dd of={{usb_ram_disk}}; \ + @if [ -d "{{usb_ram_mountpoint}}" ]; then \ + gpg -d hosts/{{host}}/luks-passfile.gpg > "{{usb_ram_mountpoint}}/{{host}}.key"; \ else \ - echo "{{usb_ram_disk}} is not a block device" >&2; \ + echo "Mount point not found. Is the usb device plugged and mounted?" >&2; \ fi - diff --git a/modules/default.nix b/modules/default.nix index 908dfd9..ff6f458 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -32,6 +32,7 @@ ./kvm-switch-enable-screen.nix ./libvirt.nix ./localization.nix + ./luksusb.nix ./mailserver ./matrix ./mobile-network.nix diff --git a/modules/luksusb.nix b/modules/luksusb.nix new file mode 100644 index 0000000..1edb442 --- /dev/null +++ b/modules/luksusb.nix @@ -0,0 +1,116 @@ +{ config, lib, pkgs, ... }: +let + cfg = config.jalr.luksUsbUnlock; +in +{ + options.jalr.luksUsbUnlock = with lib; with lib.types; { + enable = mkEnableOption "unlock LUKS volumes with a USB device on boot"; + devices = mkOption { + default = { }; + example = { + cryptroot = { + keyPath = "/path/to/the/key"; + usbDevice = "by-label/MY_USB"; + }; + }; + type = types.attrsOf (types.submodule { + options = { + keyPath = mkOption { + example = "/mykey.key"; + description = mdDoc '' + Path to the key file inside the USB device's filesystem. + `/` is relative to the device's filesystem root. + ''; + type = types.str; + }; + + usbDevice = mkOption { + example = "by-label/BOOTKEY"; + description = mdDoc '' + Path to the USB device that contains the keys. (Path relative to `/dev/disk/`) + ''; + type = types.str; + }; + + waitForDevice = mkOption { + default = 5; + example = 10; + description = mdDoc '' + How many seconds to wait for the USB device to be detected by the + kernel. + ''; + type = types.ints.unsigned; + }; + }; + }); + }; + }; + config = lib.mkIf cfg.enable + ( + let + makeUsbDevPath = usbDevice: "/dev/disk/" + usbDevice; + makeMountPath = usbDevice: "/key/" + (builtins.hashString "md5" usbDevice); + usbFsType = "vfat"; + + mapAttrsNameValue = f: set: + lib.listToAttrs (map f (lib.attrsToList set)); + in + { + boot.initrd.kernelModules = [ "uas" "usbcore" "usb_storage" "vfat" "nls_cp437" "nls_iso8859_1" ]; + + boot.initrd.systemd.services = + let + makeService = name: { keyPath, usbDevice, waitForDevice }: + let + usbDevPath = makeUsbDevPath usbDevice; + usbMountPath = makeMountPath usbDevice; + in + { + description = "Mount ${name} key"; + wantedBy = [ "cryptsetup.target" ]; + before = [ "systemd-cryptsetup@${name}.service" ]; + after = [ "systemd-modules-load.service" ]; + unitConfig.DefaultDependencies = "no"; + serviceConfig.Type = "oneshot"; + + script = '' + if awk -v mountpoint="${usbMountPath}" '$2==mountpoint {f=1} END {exit !f}' /proc/mounts; then + exit 0 + fi + + attempts=0 + while [ ! -e ${lib.escapeShellArg usbDevPath} ]; do + sleep 1 + if [ $attempts -ge ${toString waitForDevice} ]; then + break; + fi + attempts=$((attempts+1)) + done + + if [ -e ${lib.escapeShellArg usbDevPath} ]; then + mkdir -m0500 -p ${lib.escapeShellArg usbMountPath} + mount -n -t ${lib.escapeShellArg usbFsType} -o ro,fmask=0137,dmask=0027 ${lib.escapeShellArg usbDevPath} ${lib.escapeShellArg usbMountPath} + fi + ''; + }; + in + mapAttrsNameValue + ({ name, value }: { + name = "luksusb-${name}"; + value = makeService name value; + }) + cfg.devices; + + boot.initrd.luks.devices = builtins.mapAttrs + (name: { keyPath, usbDevice, ... }: + let + usbMountPath = makeMountPath usbDevice; + in + { + keyFile = "${usbMountPath}/${keyPath}"; + keyFileTimeout = 1; + }) + cfg.devices; + } + ); +} From c98fdbabb21c56323d8ca0243726d185b927940f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 7 Apr 2025 22:06:35 +0200 Subject: [PATCH 607/766] Enable fstrim service --- hosts/copper/configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hosts/copper/configuration.nix b/hosts/copper/configuration.nix index f7c224b..ed1d01a 100644 --- a/hosts/copper/configuration.nix +++ b/hosts/copper/configuration.nix @@ -8,6 +8,8 @@ ./services ]; + services.fstrim.enable = true; + networking = { hostName = "copper"; extraHosts = lib.concatStringsSep "\n" ( From 20b548c73dd4bdf8c535502a6d922c5980969337 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 7 Apr 2025 22:05:18 +0200 Subject: [PATCH 608/766] Change btrfs compression mount options --- hosts/copper/disko.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hosts/copper/disko.nix b/hosts/copper/disko.nix index af624e2..1d60f7f 100644 --- a/hosts/copper/disko.nix +++ b/hosts/copper/disko.nix @@ -32,15 +32,15 @@ subvolumes = { "/root" = { mountpoint = "/"; - mountOptions = [ "compress=zstd" "noatime" ]; + mountOptions = [ "compress-force=zstd:1" "noatime" ]; }; "/home" = { mountpoint = "/home"; - mountOptions = [ "compress=zstd" "noatime" "nodev" "nosuid" ]; + mountOptions = [ "compress-force=zstd:1" "noatime" "nodev" "nosuid" ]; }; "/nix" = { mountpoint = "/nix"; - mountOptions = [ "compress=zstd" "noatime" "noatime" "nodev" ]; + mountOptions = [ "compress-force=zstd:1" "noatime" "noatime" "nodev" ]; }; }; }; From 5e8e4671cd58a416e45597fb81d32a286f7618a2 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 7 Apr 2025 22:05:47 +0200 Subject: [PATCH 609/766] Enable btrfs snapshots for /home --- hosts/copper/configuration.nix | 21 +++++++++++++++++++++ hosts/copper/disko.nix | 3 +++ 2 files changed, 24 insertions(+) diff --git a/hosts/copper/configuration.nix b/hosts/copper/configuration.nix index ed1d01a..f69f1ba 100644 --- a/hosts/copper/configuration.nix +++ b/hosts/copper/configuration.nix @@ -32,6 +32,27 @@ priority = 1; }; + services.snapper.configs = { + home = { + SUBVOLUME = "/home"; + ALLOW_USERS = [ "jalr" ]; + TIMELINE_CREATE = true; + TIMELINE_CLEANUP = true; + TIMELINE_LIMIT_HOURLY = 12; + TIMELINE_LIMIT_DAILY = 7; + TIMELINE_LIMIT_WEEKLY = 4; + TIMELINE_LIMIT_MONTHLY = 3; + TIMELINE_LIMIT_YEARLY = 0; + BACKGROUND_COMPARISON = "yes"; + NUMBER_CLEANUP = "no"; + NUMBER_MIN_AGE = "1800"; + NUMBER_LIMIT = "100"; + NUMBER_LIMIT_IMPORTANT = "10"; + EMPTY_PRE_POST_CLEANUP = "yes"; + EMPTY_PRE_POST_MIN_AGE = "1800"; + }; + }; + jalr = { bootloader = "lanzaboote"; bluetooth.enable = true; diff --git a/hosts/copper/disko.nix b/hosts/copper/disko.nix index 1d60f7f..bdbbf17 100644 --- a/hosts/copper/disko.nix +++ b/hosts/copper/disko.nix @@ -38,6 +38,9 @@ mountpoint = "/home"; mountOptions = [ "compress-force=zstd:1" "noatime" "nodev" "nosuid" ]; }; + "/home/.snapshots" = { + mountOptions = [ "compress-force=zstd:1" "noatime" "nodev" "nosuid" ]; + }; "/nix" = { mountpoint = "/nix"; mountOptions = [ "compress-force=zstd:1" "noatime" "noatime" "nodev" ]; From d994258dc5357e0e9504c50516c90381b10ec7ae Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 7 Apr 2025 23:23:53 +0200 Subject: [PATCH 610/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/18d0a984cc2bc82cf61df19523a34ad463aa7f54?narHash=sha256-KYOATYEwaKysL3HdHdS5kbQMXvzS4iPJzJrML%2B3TKAo%3D' (2025-01-29) → 'github:nix-community/disko/329d3d7e8bc63dd30c39e14e6076db590a6eabe6?narHash=sha256-ViE7NoFWytYO2uJONTAX35eGsvTYXNHjWALeHAg8OQY%3D' (2025-04-02) • Updated input 'gomod2nix': 'github:nix-community/gomod2nix/514283ec89c39ad0079ff2f3b1437404e4cba608?narHash=sha256-tPsqU00FhgdFr0JiQUiBMgPVbl1jbPCY5gbFiJycL3I%3D' (2024-12-08) → 'github:nix-community/gomod2nix/8f3534eb8f6c5c3fce799376dc3b91bae6b11884?narHash=sha256-jMy1XqXqD0/tJprEbUmKilTkvbDY/C0ZGSsJJH4TNCE%3D' (2025-03-17) • Updated input 'home-manager': 'github:nix-community/home-manager/bd65bc3cde04c16755955630b344bc9e35272c56?narHash=sha256-dinzAqCjenWDxuy%2BMqUQq0I4zUSfaCvN9rzuCmgMZJY%3D' (2025-01-08) → 'github:nix-community/home-manager/a9f8b3db211b4609ddd83683f9db89796c7f6ac6?narHash=sha256-2lDQBOmlz9ggPxcS7/GvcVdzXMIiT%2BPpMao6FbLJSr0%3D' (2025-04-04) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/9364dc02281ce2d37a1f55b6e51f7c0f65a75f17?narHash=sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg%3D' (2025-01-21) → 'github:cachix/git-hooks.nix/dcf5072734cb576d2b0c59b2ac44f5050b5eac82?narHash=sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco%3D' (2025-03-22) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/dfad538f751a5aa5d4436d9781ab27a6128ec9d4?narHash=sha256-ZEbOJ9iT72iwqXsiEMbEa8wWjyFvRA9Ugx8utmYbpz4%3D' (2025-01-24) → 'github:nixos/nixos-hardware/de6fc5551121c59c01e2a3d45b277a6d05077bc4?narHash=sha256-b/exDDQSLmENZZgbAEI3qi9yHkuXAXCPbormD8CSJXo%3D' (2025-03-31) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/bff401190a036ff01401d57f3b1a30b311cfdec9?narHash=sha256-l3Tn6TREbT%2BSQNWhol5EIjrdt60MLTKRJobacesN/0w%3D' (2025-01-31) → 'github:nixos/nixpkgs/b6776fe38f7fb784cd7a4a64fb88a4af660b6749?narHash=sha256-E74YMZ/88tuiyPxrnkd43sNL3hhtOhq7PbTR97FynSg%3D' (2025-04-07) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/2b5331b146af2487829bfba45d01cd6904f4cccd?narHash=sha256-k/tJ6wBMWjrdOaQ138AT6Wa/KLIeFOTn4SXZTnYqtm0%3D' (2025-01-31) → 'github:NixOS/nixpkgs/29bdac6ae99f07eeb5f44b1f0499a8bbc86d508b?narHash=sha256-WYm6KLZw5JhrT48h6Vkr2H4eh2j5/nDgN3d0Hj6vd4k%3D' (2025-04-07) • Updated input 'nur': 'github:nix-community/NUR/df289edee9290b9adc0a8f3aa20c702f312f3658?narHash=sha256-meglyu9QhgFeTFp0AQdwYAyUvQ%2B4fRDgVH7PAS4jc7A%3D' (2025-01-31) → 'github:nix-community/NUR/6123b345b32b960842a53c6c330e9575639c5f98?narHash=sha256-eLQt1nwY5TkWltZMhncTFnVIUqlJCNMU8iDOVS0Kpl4%3D' (2025-04-07) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/9d3ae807ebd2981d593cddd0080856873139aa40?narHash=sha256-NGqpVVxNAHwIicXpgaVqJEJWeyqzoQJ9oc8lnK9%2BWC4%3D' (2025-01-29) → 'github:nixos/nixpkgs/42a1c966be226125b48c384171c44c651c236c22?narHash=sha256-rpqepOZ8Eo1zg%2BKJeWoq1HAOgoMCDloqv5r2EAa9TSA%3D' (2025-04-05) • Updated input 'poetry2nix': 'github:nix-community/poetry2nix/75d0515332b7ca269f6d7abfd2c44c47a7cbca7b?narHash=sha256-eiCqmKl0BIRiYk5/ZhZozwn4/7Km9CWTbc15Cv%2BVX5k%3D' (2025-01-14) → 'github:nix-community/poetry2nix/ce2369db77f45688172384bbeb962bc6c2ea6f94?narHash=sha256-cX98bUuKuihOaRp8dNV1Mq7u6/CQZWTPth2IJPATBXc%3D' (2025-04-03) • Updated input 'sops-nix': 'github:Mic92/sops-nix/4c1251904d8a08c86ac6bc0d72cc09975e89aef7?narHash=sha256-wkwYJc8cKmmQWUloyS9KwttBnja2ONRuJQDEsmef320%3D' (2025-01-31) → 'github:Mic92/sops-nix/523f58a4faff6c67f5f685bed33a7721e984c304?narHash=sha256-zr2jmWeWyhCD8WmO2aWov2g0WPPuZfcJDKzMJZYGq3Y%3D' (2025-04-06) --- flake.lock | 66 +++++++++++++++++++++++++++--------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/flake.lock b/flake.lock index 77132b3..25a3022 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1738148035, - "narHash": "sha256-KYOATYEwaKysL3HdHdS5kbQMXvzS4iPJzJrML+3TKAo=", + "lastModified": 1743598667, + "narHash": "sha256-ViE7NoFWytYO2uJONTAX35eGsvTYXNHjWALeHAg8OQY=", "owner": "nix-community", "repo": "disko", - "rev": "18d0a984cc2bc82cf61df19523a34ad463aa7f54", + "rev": "329d3d7e8bc63dd30c39e14e6076db590a6eabe6", "type": "github" }, "original": { @@ -204,11 +204,11 @@ ] }, "locked": { - "lastModified": 1733668782, - "narHash": "sha256-tPsqU00FhgdFr0JiQUiBMgPVbl1jbPCY5gbFiJycL3I=", + "lastModified": 1742209644, + "narHash": "sha256-jMy1XqXqD0/tJprEbUmKilTkvbDY/C0ZGSsJJH4TNCE=", "owner": "nix-community", "repo": "gomod2nix", - "rev": "514283ec89c39ad0079ff2f3b1437404e4cba608", + "rev": "8f3534eb8f6c5c3fce799376dc3b91bae6b11884", "type": "github" }, "original": { @@ -224,11 +224,11 @@ ] }, "locked": { - "lastModified": 1736373539, - "narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=", + "lastModified": 1743808813, + "narHash": "sha256-2lDQBOmlz9ggPxcS7/GvcVdzXMIiT+PpMao6FbLJSr0=", "owner": "nix-community", "repo": "home-manager", - "rev": "bd65bc3cde04c16755955630b344bc9e35272c56", + "rev": "a9f8b3db211b4609ddd83683f9db89796c7f6ac6", "type": "github" }, "original": { @@ -318,11 +318,11 @@ ] }, "locked": { - "lastModified": 1737465171, - "narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", + "lastModified": 1742649964, + "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", + "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", "type": "github" }, "original": { @@ -334,11 +334,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1737751639, - "narHash": "sha256-ZEbOJ9iT72iwqXsiEMbEa8wWjyFvRA9Ugx8utmYbpz4=", + "lastModified": 1743420942, + "narHash": "sha256-b/exDDQSLmENZZgbAEI3qi9yHkuXAXCPbormD8CSJXo=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "dfad538f751a5aa5d4436d9781ab27a6128ec9d4", + "rev": "de6fc5551121c59c01e2a3d45b277a6d05077bc4", "type": "github" }, "original": { @@ -350,11 +350,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1738329486, - "narHash": "sha256-l3Tn6TREbT+SQNWhol5EIjrdt60MLTKRJobacesN/0w=", + "lastModified": 1744059796, + "narHash": "sha256-E74YMZ/88tuiyPxrnkd43sNL3hhtOhq7PbTR97FynSg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bff401190a036ff01401d57f3b1a30b311cfdec9", + "rev": "b6776fe38f7fb784cd7a4a64fb88a4af660b6749", "type": "github" }, "original": { @@ -382,11 +382,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1738329037, - "narHash": "sha256-k/tJ6wBMWjrdOaQ138AT6Wa/KLIeFOTn4SXZTnYqtm0=", + "lastModified": 1744060879, + "narHash": "sha256-WYm6KLZw5JhrT48h6Vkr2H4eh2j5/nDgN3d0Hj6vd4k=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2b5331b146af2487829bfba45d01cd6904f4cccd", + "rev": "29bdac6ae99f07eeb5f44b1f0499a8bbc86d508b", "type": "github" }, "original": { @@ -398,11 +398,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1738142207, - "narHash": "sha256-NGqpVVxNAHwIicXpgaVqJEJWeyqzoQJ9oc8lnK9+WC4=", + "lastModified": 1743827369, + "narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9d3ae807ebd2981d593cddd0080856873139aa40", + "rev": "42a1c966be226125b48c384171c44c651c236c22", "type": "github" }, "original": { @@ -419,11 +419,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1738319198, - "narHash": "sha256-meglyu9QhgFeTFp0AQdwYAyUvQ+4fRDgVH7PAS4jc7A=", + "lastModified": 1744057897, + "narHash": "sha256-eLQt1nwY5TkWltZMhncTFnVIUqlJCNMU8iDOVS0Kpl4=", "owner": "nix-community", "repo": "NUR", - "rev": "df289edee9290b9adc0a8f3aa20c702f312f3658", + "rev": "6123b345b32b960842a53c6c330e9575639c5f98", "type": "github" }, "original": { @@ -445,11 +445,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1736884309, - "narHash": "sha256-eiCqmKl0BIRiYk5/ZhZozwn4/7Km9CWTbc15Cv+VX5k=", + "lastModified": 1743690424, + "narHash": "sha256-cX98bUuKuihOaRp8dNV1Mq7u6/CQZWTPth2IJPATBXc=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "75d0515332b7ca269f6d7abfd2c44c47a7cbca7b", + "rev": "ce2369db77f45688172384bbeb962bc6c2ea6f94", "type": "github" }, "original": { @@ -534,11 +534,11 @@ ] }, "locked": { - "lastModified": 1738291974, - "narHash": "sha256-wkwYJc8cKmmQWUloyS9KwttBnja2ONRuJQDEsmef320=", + "lastModified": 1743910657, + "narHash": "sha256-zr2jmWeWyhCD8WmO2aWov2g0WPPuZfcJDKzMJZYGq3Y=", "owner": "Mic92", "repo": "sops-nix", - "rev": "4c1251904d8a08c86ac6bc0d72cc09975e89aef7", + "rev": "523f58a4faff6c67f5f685bed33a7721e984c304", "type": "github" }, "original": { From 7c87ce787671c4d32db901e56e182d894c05a6ba Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 7 Apr 2025 23:27:30 +0200 Subject: [PATCH 611/766] Add ratelimit --- modules/avahi.nix | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/modules/avahi.nix b/modules/avahi.nix index 7111a14..d0653bf 100644 --- a/modules/avahi.nix +++ b/modules/avahi.nix @@ -1,6 +1,15 @@ { config, lib, ... }: lib.mkIf config.jalr.gui.enable { - services.avahi.enable = true; - services.avahi.nssmdns4 = true; + services.avahi = { + enable = true; + nssmdns4 = true; + extraConfig = '' + [server] + ratelimit-interval-usec=500000 + ratelimit-burst=500 + [wide-area] + enable-wide-area=no + ''; + }; } From 7d68ccab85bf1e0755afc44b6b27c3a2f5fa8a6f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 7 Apr 2025 23:29:02 +0200 Subject: [PATCH 612/766] Set download-buffer-size --- modules/nix.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/nix.nix b/modules/nix.nix index 0ae40e8..3135b37 100644 --- a/modules/nix.nix +++ b/modules/nix.nix @@ -24,6 +24,8 @@ # Avoid disk full issues max-free = lib.mkDefault (3000 * 1024 * 1024); min-free = lib.mkDefault (512 * 1024 * 10); + + download-buffer-size = lib.mkDefault (512 * 1024 * 1024); }; gc = { automatic = true; From 464a1847a67f4018c5548a6ef0b7b4f7918363fa Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 8 Apr 2025 21:56:13 +0200 Subject: [PATCH 613/766] Remove smtpd_tls_dh1024_param_file support for parameter "smtpd_tls_dh1024_param_file" will be removed --- modules/mailserver/postfix.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/modules/mailserver/postfix.nix b/modules/mailserver/postfix.nix index 62b7eaa..15d1d72 100644 --- a/modules/mailserver/postfix.nix +++ b/modules/mailserver/postfix.nix @@ -35,7 +35,6 @@ let cfg.cleanHeaders); in lib.mkIf cfg.enable { - security.dhparams.params.postfix = { }; services.postfix = { enable = true; @@ -105,8 +104,6 @@ lib.mkIf cfg.enable { "DHE-RSA-AES256-GCM-SHA384" ]; tls_preempt_cipherlist = "no"; - - smtpd_tls_dh1024_param_file = config.security.dhparams.params.postfix.path; }; # plain/STARTTLS (forced with smtpd_tls_security_level) From dcb50b0970268ef9c3b43a2a710b1f1eee424f38 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 9 Apr 2025 03:26:34 +0200 Subject: [PATCH 614/766] Reinstall magnesium --- .sops.yaml | 2 +- flake.lock | 16 +++ flake.nix | 6 +- hosts/default.nix | 6 +- hosts/magnesium/configuration.nix | 58 +++-------- hosts/magnesium/hardware-configuration.nix | 57 ----------- hosts/magnesium/persistence.nix | 37 +++++++ hosts/magnesium/secrets.yaml | 24 ++--- modules/providers/hetzner-cloud.nix | 108 +++++++++++++++++++++ 9 files changed, 194 insertions(+), 120 deletions(-) delete mode 100644 hosts/magnesium/hardware-configuration.nix create mode 100644 hosts/magnesium/persistence.nix create mode 100644 modules/providers/hetzner-cloud.nix diff --git a/.sops.yaml b/.sops.yaml index a331d98..44b3cd9 100644 --- a/.sops.yaml +++ b/.sops.yaml @@ -4,7 +4,7 @@ keys: - &host_aluminium age1ne08hny30vrkejqhh7dcx4ql6dmkx6jw9dqkf3cz7mzvt53njy0qh59w44 - &host_hafnium age1ahnfjspcpwxxk7getcxkj3fypwt37rr6p3xsmp8n2tqqqz8jtg7q2am0et - &host_iron age1hx7fdu4mcha7kkxe7yevtvs6xgzgaafgenm3drhvr609wlj94sgqm497je - - &host_magnesium age1swv42gad884z2v75kateem6k2za6ltkq6wu90ewqp6dp7gxprawslwz0w0 + - &host_magnesium age19qkgfaq08kmyxghet48dq4gxwjuy9zpvuyxys9jkmcqa5634537qlxjcd8 - &host_weinturm_pretix_prod age1djjxl3lcvzs85nj0met6w8ujsz8pvr6ngmmdwlxfh0k9d5lkrpdqlzzehf - &host_copper age1rrut5ntrkqmvttvmpa5jcmjhr2pfpyaqgu9dmtx6v07lgjxx5ppsl7e5v3 creation_rules: diff --git a/flake.lock b/flake.lock index 25a3022..bdf190f 100644 --- a/flake.lock +++ b/flake.lock @@ -238,6 +238,21 @@ "type": "github" } }, + "impermanence": { + "locked": { + "lastModified": 1737831083, + "narHash": "sha256-LJggUHbpyeDvNagTUrdhe/pRVp4pnS6wVKALS782gRI=", + "owner": "nix-community", + "repo": "impermanence", + "rev": "4b3e914cdf97a5b536a889e939fb2fd2b043a170", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "impermanence", + "type": "github" + } + }, "krops": { "inputs": { "flake-utils": [ @@ -491,6 +506,7 @@ "flake-utils": "flake-utils", "gomod2nix": "gomod2nix", "home-manager": "home-manager", + "impermanence": "impermanence", "krops": "krops", "lanzaboote": "lanzaboote", "nix-pre-commit-hooks": "nix-pre-commit-hooks", diff --git a/flake.nix b/flake.nix index 870a1bd..e671879 100644 --- a/flake.nix +++ b/flake.nix @@ -12,6 +12,8 @@ home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.url = "github:nix-community/home-manager/release-24.11"; + impermanence.url = "github:nix-community/impermanence"; + krops.inputs.flake-utils.follows = "flake-utils"; krops.inputs.nixpkgs.follows = "nixpkgs"; krops.url = "github:Mic92/krops"; @@ -107,6 +109,7 @@ command = targetPath: '' nixos-rebuild switch --flake ${targetPath}/config -L --keep-going ''; + force = true; } ) self.nixosConfigurations); @@ -173,9 +176,10 @@ ] ++ [ { nixpkgs.overlays = [ nur.overlays.default ]; } home-manager.nixosModules.home-manager - inputs.sops-nix.nixosModules.sops inputs.disko.nixosModules.disko + inputs.impermanence.nixosModules.impermanence inputs.lanzaboote.nixosModules.lanzaboote + inputs.sops-nix.nixosModules.sops ] ++ extraModules; }) (import ./hosts inputs); diff --git a/hosts/default.nix b/hosts/default.nix index 27f156e..bdb1e83 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -4,7 +4,7 @@ let in { aluminium = { - targetHost = "192.168.0.1"; + targetHost = "jalr-k.duckdns.org"; system = "x86_64-linux"; }; jalr-t520 = { @@ -23,8 +23,8 @@ in targetHost = "jalr-bw.duckdns.org"; }; magnesium = { - system = "aarch64"; - targetHost = "162.55.35.199"; + system = "x86_64-linux"; + targetHost = "magnesium.jalr.de"; }; tin = { system = "x86_64-linux"; diff --git a/hosts/magnesium/configuration.nix b/hosts/magnesium/configuration.nix index cf05901..855b1d1 100644 --- a/hosts/magnesium/configuration.nix +++ b/hosts/magnesium/configuration.nix @@ -1,58 +1,24 @@ -{ config, lib, pkgs, ... }: +{ config, lib, ... }: { imports = [ - ./hardware-configuration.nix - ../../users/jalr + ../../modules/providers/hetzner-cloud.nix ./services + ../../users/jalr + ./persistence.nix ]; networking.hostName = "magnesium"; - services.openssh.enable = true; + + disko.devices.disk.virt.device = "/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_60640534"; + security.sudo.wheelNeedsPassword = false; - networking.useDHCP = false; + systemd.network.networks."10-wan".address = [ + "2a01:4f8:c013:bab7::1/64" + ]; - systemd.network = { - enable = true; - networks."10-wan" = { - matchConfig.Name = "enp1s0"; - networkConfig.DHCP = "no"; - address = [ - "162.55.35.199/32" - "2a01:4f8:c012:21ba::/64" - ]; - routes = [ - { - Destination = "172.31.1.1"; - } - { - Gateway = "172.31.1.1"; - GatewayOnLink = true; - } - { - Gateway = "fe80::1"; - } - ]; - }; - }; - - # Use the systemd-boot EFI boot loader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - - jalr = { - bootloader = "systemd-boot"; - uefi.enable = true; - }; - - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It's perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "23.11"; # Did you read the comment? + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + system.stateVersion = "24.11"; } - diff --git a/hosts/magnesium/hardware-configuration.nix b/hosts/magnesium/hardware-configuration.nix deleted file mode 100644 index 2c6ccd7..0000000 --- a/hosts/magnesium/hardware-configuration.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = - [ - (modulesPath + "/profiles/qemu-guest.nix") - ]; - - boot.initrd.availableKernelModules = [ "xhci_pci" "virtio_pci" "virtio_scsi" "usbhid" "sr_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ ]; - boot.extraModulePackages = [ ]; - - fileSystems = { - "/" = { - device = "/dev/disk/by-uuid/45dcac99-1f65-48ab-b5bf-8a1507f0b75a"; - fsType = "btrfs"; - options = [ - "subvol=root" - "compress=zstd" - ]; - }; - "/proc" = { - device = "/proc"; - options = [ "nosuid" "noexec" "nodev" "hidepid=2" ]; - }; - "/home" = { - device = "/dev/disk/by-uuid/45dcac99-1f65-48ab-b5bf-8a1507f0b75a"; - fsType = "btrfs"; - options = [ - "subvol=home" - "compress=zstd" - "nodev" - "nosuid" - ]; - }; - "/nix" = { - device = "/dev/disk/by-uuid/45dcac99-1f65-48ab-b5bf-8a1507f0b75a"; - fsType = "btrfs"; - options = [ - "subvol=nix" - "compress=zstd" - "noatime" - "nodev" - ]; - }; - "/boot" = { - device = "/dev/disk/by-uuid/7836-0C48"; - fsType = "vfat"; - options = [ "nodev" "nosuid" "noexec" ]; - }; - }; - - swapDevices = [ ]; - - nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux"; -} diff --git a/hosts/magnesium/persistence.nix b/hosts/magnesium/persistence.nix new file mode 100644 index 0000000..5fc03d5 --- /dev/null +++ b/hosts/magnesium/persistence.nix @@ -0,0 +1,37 @@ +{ config, lib, ... }: +{ + boot.initrd.postDeviceCommands = + let + device = config.disko.devices.disk.virt.content.partitions.linux.device; + in + lib.mkAfter '' + mkdir /mnt + mount -t btrfs "${device}" /mnt + btrfs subvolume list -o /mnt/root | cut -f9 -d' ' | while read subvolume; do + btrfs subvolume delete "/mnt/$subvolume" + done + btrfs subvolume delete /mnt/root + btrfs subvolume snapshot /mnt/root-blank /mnt/root + ''; + + services.openssh = { + hostKeys = lib.mkForce [{ + path = "/persist/etc/ssh/ssh_host_ed25519_key"; + type = "ed25519"; + }]; + }; + + services.forgejo.stateDir = "/persist/var/lib/forgejo"; + services.postgresql.dataDir = "/persist/var/lib/postgresql/${config.services.postgresql.package.psqlSchema}"; + + fileSystems."/persist".neededForBoot = true; + environment.persistence."/persist" = { + hideMounts = true; + directories = [ + "/var/lib/acme" + "/var/lib/hedgedoc" + "/var/lib/nixos" + "/var/lib/private/ntfy-sh" + ]; + }; +} diff --git a/hosts/magnesium/secrets.yaml b/hosts/magnesium/secrets.yaml index 23e5d88..317d48e 100644 --- a/hosts/magnesium/secrets.yaml +++ b/hosts/magnesium/secrets.yaml @@ -9,27 +9,27 @@ sops: azure_kv: [] hc_vault: [] age: - - recipient: age1swv42gad884z2v75kateem6k2za6ltkq6wu90ewqp6dp7gxprawslwz0w0 + - recipient: age19qkgfaq08kmyxghet48dq4gxwjuy9zpvuyxys9jkmcqa5634537qlxjcd8 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNS0svemgzNTVsOEo3cDI5 - QVJ1dDVpK0Zyb3UwTUhWR29RalNPTENiQm1rCjdPbkZBd0hwQ3VvUmRTT2hlZEhp - Snk3cC9OTWZFSFhzMFBoSENMTHB4Qk0KLS0tIEltSEpUWkVmclRKdTA5b09RcGpT - QTBqZDZLeDFLK0k2MHF4Uk1mQTIxRHcKeLHz+lSnHLyTgw2Aq+IVGpIi9X8SQx+Q - bCSPPMPIZsL4VLInuZmcd2n/kEr80fQM2P3/ktW8RnViQjTU+kKbMg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHMW5lbkRNQS9Gc0VUWndk + VlJiczFVM1dHUGc2QWZnMHVIVGZzdWJKUUJzCngyNGxaR2JFNG9HbG81c1ZNSlQ3 + MlgvMlNYWVduY1diM3g2U3BiL0J3U2sKLS0tIHBscWxMTzVISkE5WW1CZTNYK1ZM + elNwdVlJS2NCWUlXcEZvZWsvZ29FRnMK/qa6Qj1yQc91PWk9tMKSyFkMfYcHIKpQ + jcPmGWbpi2NPL/F0Xz2X/zQQxWzs9uzlS1VH+y8JRe1EPMYJ78NXZw== -----END AGE ENCRYPTED FILE----- lastmodified: "2025-01-11T15:28:59Z" mac: ENC[AES256_GCM,data:1RnyUrbEI2JKpicmA3QV+5ob+vByahMjc4+ZpLbcMyZv/KXn02VP+OQaLm9NgPfpZmSmRgbdPNQAP4f71z/EjcceyANAhnvql3zuYgSXNp5l/IYo5UFZdWgQa14XTGO518969CDLW1zJnlkBtbtLEVlMJiQ/EraV1eNtgCr5UEU=,iv:0fLjboGiejUI9LxHW80ed+/Lf+jlN5UH7tVqfBptq0w=,tag:4Tyrqy9XwQAm0etooVBNZg==,type:str] pgp: - - created_at: "2024-01-31T01:20:03Z" + - created_at: "2025-04-08T22:53:53Z" enc: |- -----BEGIN PGP MESSAGE----- - hF4DY/xpNY5WhB0SAQdAKi5BqRHyG+CaeCKH8KuQWVWS8TbO/Kj38hTzbkBuyF8w - lxCni2VsyI4GDdBwy1jzJpqaqkqCwlzUXh7quHKNjZksHSsb8UTy6aZhDt+sz8Xk - 0l4BM0Dv37SESplctQ4hj8Go48nu3KaYfiE7pyP+HfsZksGn7KTeOWoqC+ET3HX0 - k/w1905xtcxInOalYgCpl2NzowAvKKy1mhzN8+bHW9xJq3ca5nYv0qfT0eFDJE1O - =pqvJ + hF4DY/xpNY5WhB0SAQdAbrDTh/Nvu8ky1ec34AAkKQcTH1G1nDlUCSfobMQsCmAw + XPI7V41rBAY2m6J1P/0oy9cHVfE/LUi4E/yCgNG7YIGdUbb9x29x7A3uoP1NAhE5 + 0l4BZQGZ+GGa69KZ2mOnWhbKfjtOVNDoaxcpgNWHxrtO35c/tNSCxJ2Uj2Q2u3Nj + +SRaHB3tsF8VL85Tn0FEXSWLzL7SfHj78wvaZ/3AxbqdF7WDJkl1hXEnrf2DjBCC + =Gi/Y -----END PGP MESSAGE----- fp: 3044E71E3DEFF49B586CF5809BF4FCCB90854DA9 unencrypted_suffix: _unencrypted diff --git a/modules/providers/hetzner-cloud.nix b/modules/providers/hetzner-cloud.nix new file mode 100644 index 0000000..3fb1032 --- /dev/null +++ b/modules/providers/hetzner-cloud.nix @@ -0,0 +1,108 @@ +{ config +, pkgs +, modulesPath +, ... +}: +let + cfg = config.disko; +in +{ + imports = [ + (modulesPath + "/profiles/qemu-guest.nix") + ]; + + config = { + networking.useDHCP = false; + + systemd.network = { + enable = true; + networks."10-wan" = { + matchConfig.Name = "enp1s0"; + networkConfig.DHCP = "ipv4"; + routes = [ + { Gateway = "fe80::1"; } + ]; + }; + }; + + boot = { + loader = { + grub.enable = pkgs.hostPlatform.system == "x86_64-linux"; + systemd-boot = { + enable = pkgs.hostPlatform.system == "aarch64-linux"; + configurationLimit = 10; + }; + efi = { + efiSysMountPoint = "/boot"; + canTouchEfiVariables = true; + }; + }; + }; + disko.devices = { + disk = { + virt = { + type = "disk"; + content = { + type = "gpt"; + partitions = { + boot = { + size = "1M"; + type = "EF02"; # for grub MBR + priority = 1; # Needs to be first partition + }; + esp = { + type = "EF00"; + size = "1024M"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + mountOptions = [ "uid=0" "gid=0" "fmask=0077" "dmask=0077" "nodev" "nosuid" "noexec" ]; + }; + }; + linux = { + size = "100%"; + content = { + type = "btrfs"; + extraArgs = [ "-f" ]; + postCreateHook = + let + device = cfg.devices.disk.virt.content.partitions.linux.device; + in + '' + mountpoint="$(mktemp -d)" + mount "${device}" "$mountpoint" -o subvol=/ + trap 'umount "$mountpoint"; rmdir "$mountpoint"' EXIT + btrfs subvolume snapshot -r $mountpoint/root $mountpoint/root-blank + ''; + subvolumes = { + "/root" = { + mountpoint = "/"; + mountOptions = [ "compress-force=zstd:1" "noatime" ]; + }; + "/home" = { + mountpoint = "/home"; + mountOptions = [ "compress-force=zstd:1" "noatime" "nodev" "nosuid" ]; + }; + "/nix" = { + mountpoint = "/nix"; + mountOptions = [ "compress-force=zstd:1" "noatime" "nodev" ]; + }; + "/log" = { + mountpoint = "/var/log"; + mountOptions = [ "compress-force=zstd:1" "noatime" "nodev" "nosuid" ]; + }; + "/persist" = { + mountpoint = "/persist"; + mountOptions = [ "compress-force=zstd:1" "noatime" "nodev" "nosuid" ]; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; +} From ea30ca33ea972cbad798abc33db7eb5b64a6ebf3 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 8 Apr 2025 00:06:34 +0200 Subject: [PATCH 615/766] Add trilium --- hosts/magnesium/persistence.nix | 6 ++++++ hosts/magnesium/ports.nix | 1 + hosts/magnesium/services/default.nix | 1 + hosts/magnesium/services/trilium.nix | 23 +++++++++++++++++++++++ users/jalr/modules/default.nix | 1 + users/jalr/modules/trilium.nix | 6 ++++++ 6 files changed, 38 insertions(+) create mode 100644 hosts/magnesium/services/trilium.nix create mode 100644 users/jalr/modules/trilium.nix diff --git a/hosts/magnesium/persistence.nix b/hosts/magnesium/persistence.nix index 5fc03d5..9746b37 100644 --- a/hosts/magnesium/persistence.nix +++ b/hosts/magnesium/persistence.nix @@ -32,6 +32,12 @@ "/var/lib/hedgedoc" "/var/lib/nixos" "/var/lib/private/ntfy-sh" + { + directory = "/var/lib/trilium"; + user = "trilium"; + group = "trilium"; + mode = "u=rwx,g=rx,o="; + } ]; }; } diff --git a/hosts/magnesium/ports.nix b/hosts/magnesium/ports.nix index a2cc556..8956bca 100644 --- a/hosts/magnesium/ports.nix +++ b/hosts/magnesium/ports.nix @@ -10,5 +10,6 @@ custom-utils.validatePortAttrset { nginx-http.tcp = 80; nginx-https.tcp = 443; ntfy.tcp = 12474; + trilium.tcp = 12783; wireguard-public-ip-tunnel.udp = 51000; } diff --git a/hosts/magnesium/services/default.nix b/hosts/magnesium/services/default.nix index 33736cb..b4fdf50 100644 --- a/hosts/magnesium/services/default.nix +++ b/hosts/magnesium/services/default.nix @@ -6,6 +6,7 @@ ./hedgedoc.nix ./ntfy.nix ./public-ip-tunnel.nix + ./trilium.nix ./webserver.nix ]; } diff --git a/hosts/magnesium/services/trilium.nix b/hosts/magnesium/services/trilium.nix new file mode 100644 index 0000000..0546897 --- /dev/null +++ b/hosts/magnesium/services/trilium.nix @@ -0,0 +1,23 @@ +args@{ config, lib, pkgs, custom-utils, ... }: + +let + ports = import ../ports.nix args; + domain = "notes.jalr.de"; +in +{ + services.trilium-server = { + enable = true; + package = pkgs.master.trilium-next-server; + host = "127.0.0.1"; + port = ports.trilium.tcp; + nginx = { + enable = true; + hostName = domain; + }; + }; + + services.nginx.virtualHosts."${domain}" = { + enableACME = true; + forceSSL = true; + }; +} diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index 2d910b0..b0657d1 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -38,6 +38,7 @@ ./thunderbird.nix ./tmux.nix ./tor-browser.nix + ./trilium.nix ./vdirsyncer.nix ./vesc-tool.nix ]; diff --git a/users/jalr/modules/trilium.nix b/users/jalr/modules/trilium.nix new file mode 100644 index 0000000..b219820 --- /dev/null +++ b/users/jalr/modules/trilium.nix @@ -0,0 +1,6 @@ +{ nixosConfig, lib, pkgs, ... }: +lib.mkIf nixosConfig.jalr.gui.enable { + home.packages = with pkgs.master; [ + trilium-next-desktop + ]; +} From 1a0bf8803f977e4325618b7fb0c99902dd2db38f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 9 Apr 2025 10:36:30 +0200 Subject: [PATCH 616/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/329d3d7e8bc63dd30c39e14e6076db590a6eabe6?narHash=sha256-ViE7NoFWytYO2uJONTAX35eGsvTYXNHjWALeHAg8OQY%3D' (2025-04-02) → 'github:nix-community/disko/76c0a6dba345490508f36c1aa3c7ba5b6b460989?narHash=sha256-I2oILRiJ6G%2BBOSjY%2B0dGrTPe080L3pbKpc%2BgCV3Nmyk%3D' (2025-04-08) • Updated input 'home-manager': 'github:nix-community/home-manager/a9f8b3db211b4609ddd83683f9db89796c7f6ac6?narHash=sha256-2lDQBOmlz9ggPxcS7/GvcVdzXMIiT%2BPpMao6FbLJSr0%3D' (2025-04-04) → 'github:nix-community/home-manager/b4e98224ad1336751a2ac7493967a4c9f6d9cb3f?narHash=sha256-t7dFCDl4vIOOUMhEZnJF15aAzkpaup9x4ZRGToDFYWI%3D' (2025-04-08) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/b6776fe38f7fb784cd7a4a64fb88a4af660b6749?narHash=sha256-E74YMZ/88tuiyPxrnkd43sNL3hhtOhq7PbTR97FynSg%3D' (2025-04-07) → 'github:nixos/nixpkgs/60e405b241edb6f0573f3d9f944617fe33ac4a73?narHash=sha256-S9M4HddBCxbbX1CKSyDYgZ8NCVyHcbKnBfoUXeRu2jQ%3D' (2025-04-09) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/29bdac6ae99f07eeb5f44b1f0499a8bbc86d508b?narHash=sha256-WYm6KLZw5JhrT48h6Vkr2H4eh2j5/nDgN3d0Hj6vd4k%3D' (2025-04-07) → 'github:NixOS/nixpkgs/3edf77d2a07e051182310440f299dbb3ca09046a?narHash=sha256-id2VxKm1SVaYLQi/28OMjEsFeaAMGC8KbJxy%2B0h1gUM%3D' (2025-04-09) • Updated input 'nur': 'github:nix-community/NUR/6123b345b32b960842a53c6c330e9575639c5f98?narHash=sha256-eLQt1nwY5TkWltZMhncTFnVIUqlJCNMU8iDOVS0Kpl4%3D' (2025-04-07) → 'github:nix-community/NUR/85dc40ee54ecef0d520af9bbaaeb0e6f1df42495?narHash=sha256-pB/mVkkfjZD98fFHzo9WYzMZOISDMV5m1ua9cO1kRfE%3D' (2025-04-09) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/42a1c966be226125b48c384171c44c651c236c22?narHash=sha256-rpqepOZ8Eo1zg%2BKJeWoq1HAOgoMCDloqv5r2EAa9TSA%3D' (2025-04-05) → 'github:nixos/nixpkgs/c8cd81426f45942bb2906d5ed2fe21d2f19d95b7?narHash=sha256-tzCdyIJj9AjysC3OuKA%2BtMD/kDEDAF9mICPDU7ix0JA%3D' (2025-04-08) • Updated input 'sops-nix': 'github:Mic92/sops-nix/523f58a4faff6c67f5f685bed33a7721e984c304?narHash=sha256-zr2jmWeWyhCD8WmO2aWov2g0WPPuZfcJDKzMJZYGq3Y%3D' (2025-04-06) → 'github:Mic92/sops-nix/69d5a5a4635c27dae5a742f36108beccc506c1ba?narHash=sha256-SR6%2BqjkPjGQG%2B8eM4dCcVtss8r9bre/LAxFMPJpaZeU%3D' (2025-04-08) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index bdf190f..e111536 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1743598667, - "narHash": "sha256-ViE7NoFWytYO2uJONTAX35eGsvTYXNHjWALeHAg8OQY=", + "lastModified": 1744145203, + "narHash": "sha256-I2oILRiJ6G+BOSjY+0dGrTPe080L3pbKpc+gCV3Nmyk=", "owner": "nix-community", "repo": "disko", - "rev": "329d3d7e8bc63dd30c39e14e6076db590a6eabe6", + "rev": "76c0a6dba345490508f36c1aa3c7ba5b6b460989", "type": "github" }, "original": { @@ -224,11 +224,11 @@ ] }, "locked": { - "lastModified": 1743808813, - "narHash": "sha256-2lDQBOmlz9ggPxcS7/GvcVdzXMIiT+PpMao6FbLJSr0=", + "lastModified": 1744117652, + "narHash": "sha256-t7dFCDl4vIOOUMhEZnJF15aAzkpaup9x4ZRGToDFYWI=", "owner": "nix-community", "repo": "home-manager", - "rev": "a9f8b3db211b4609ddd83683f9db89796c7f6ac6", + "rev": "b4e98224ad1336751a2ac7493967a4c9f6d9cb3f", "type": "github" }, "original": { @@ -365,11 +365,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1744059796, - "narHash": "sha256-E74YMZ/88tuiyPxrnkd43sNL3hhtOhq7PbTR97FynSg=", + "lastModified": 1744168086, + "narHash": "sha256-S9M4HddBCxbbX1CKSyDYgZ8NCVyHcbKnBfoUXeRu2jQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b6776fe38f7fb784cd7a4a64fb88a4af660b6749", + "rev": "60e405b241edb6f0573f3d9f944617fe33ac4a73", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1744060879, - "narHash": "sha256-WYm6KLZw5JhrT48h6Vkr2H4eh2j5/nDgN3d0Hj6vd4k=", + "lastModified": 1744187498, + "narHash": "sha256-id2VxKm1SVaYLQi/28OMjEsFeaAMGC8KbJxy+0h1gUM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "29bdac6ae99f07eeb5f44b1f0499a8bbc86d508b", + "rev": "3edf77d2a07e051182310440f299dbb3ca09046a", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1743827369, - "narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=", + "lastModified": 1744098102, + "narHash": "sha256-tzCdyIJj9AjysC3OuKA+tMD/kDEDAF9mICPDU7ix0JA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "42a1c966be226125b48c384171c44c651c236c22", + "rev": "c8cd81426f45942bb2906d5ed2fe21d2f19d95b7", "type": "github" }, "original": { @@ -434,11 +434,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1744057897, - "narHash": "sha256-eLQt1nwY5TkWltZMhncTFnVIUqlJCNMU8iDOVS0Kpl4=", + "lastModified": 1744184848, + "narHash": "sha256-pB/mVkkfjZD98fFHzo9WYzMZOISDMV5m1ua9cO1kRfE=", "owner": "nix-community", "repo": "NUR", - "rev": "6123b345b32b960842a53c6c330e9575639c5f98", + "rev": "85dc40ee54ecef0d520af9bbaaeb0e6f1df42495", "type": "github" }, "original": { @@ -550,11 +550,11 @@ ] }, "locked": { - "lastModified": 1743910657, - "narHash": "sha256-zr2jmWeWyhCD8WmO2aWov2g0WPPuZfcJDKzMJZYGq3Y=", + "lastModified": 1744103455, + "narHash": "sha256-SR6+qjkPjGQG+8eM4dCcVtss8r9bre/LAxFMPJpaZeU=", "owner": "Mic92", "repo": "sops-nix", - "rev": "523f58a4faff6c67f5f685bed33a7721e984c304", + "rev": "69d5a5a4635c27dae5a742f36108beccc506c1ba", "type": "github" }, "original": { From 1cb1cbbd6e501dfa9fa4e6d957b57cd1cdf74c0e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 9 Apr 2025 22:22:44 +0200 Subject: [PATCH 617/766] Remove ariang as it is now part of nixpkgs --- pkgs/ariang/default.nix | 29 ----------------------------- pkgs/default.nix | 1 - 2 files changed, 30 deletions(-) delete mode 100644 pkgs/ariang/default.nix diff --git a/pkgs/ariang/default.nix b/pkgs/ariang/default.nix deleted file mode 100644 index 3d4a4d7..0000000 --- a/pkgs/ariang/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ lib -, stdenvNoCC -, fetchurl -, unzip -, pkgs -}: - -stdenvNoCC.mkDerivation rec { - pname = "ariang"; - version = "1.3.4"; - - src = fetchurl { - url = "https://github.com/mayswind/AriaNg/releases/download/${version}/AriaNg-${version}.zip"; - sha256 = "sha256-HYKPbDWOO531LXm4a0XZ3ZjzGom1ZbbkwyyBbp7Dduw="; - }; - - nativeBuildInputs = [ unzip ]; - - unpackPhase = '' - unpackFile $src - ''; - - dontBuild = true; - - installPhase = '' - mkdir $out - cp -r * $out - ''; -} diff --git a/pkgs/default.nix b/pkgs/default.nix index 5a2fdeb..974d6a2 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -6,7 +6,6 @@ let poetry2nix = callPackage inputs.poetry2nix { }; in { - ariang = callPackage ./ariang { }; asterisk-sounds-de = callPackage ./asterisk-sounds-de { }; ksoloti = callPackage ./ksoloti { gcc-arm-embedded = pkgsCross.arm-embedded.buildPackages.gcc; From ee89fbb07229fcd0505ebad2cd75ecc85918be08 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 9 Apr 2025 21:38:11 +0200 Subject: [PATCH 618/766] Remove t520 --- hosts/default.nix | 3 -- hosts/jalr-t520/configuration.nix | 61 ---------------------- hosts/jalr-t520/hardware-configuration.nix | 61 ---------------------- 3 files changed, 125 deletions(-) delete mode 100644 hosts/jalr-t520/configuration.nix delete mode 100644 hosts/jalr-t520/hardware-configuration.nix diff --git a/hosts/default.nix b/hosts/default.nix index bdb1e83..7f460c8 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -7,9 +7,6 @@ in targetHost = "jalr-k.duckdns.org"; system = "x86_64-linux"; }; - jalr-t520 = { - system = "x86_64-linux"; - }; cadmium = { system = "x86_64-linux"; }; diff --git a/hosts/jalr-t520/configuration.nix b/hosts/jalr-t520/configuration.nix deleted file mode 100644 index 9cd08a5..0000000 --- a/hosts/jalr-t520/configuration.nix +++ /dev/null @@ -1,61 +0,0 @@ -{ config, pkgs, ... }: - -{ - imports = [ - ./hardware-configuration.nix - ../../users/jalr - ]; - - networking = { - hostName = "jalr-t520"; - useDHCP = false; - }; - - # List packages installed in system profile. To search, run: - # $ nix search wget - environment.systemPackages = with pkgs; [ - gnome3.adwaita-icon-theme - ]; - - environment.variables.EDITOR = "nvim"; - - programs.mtr.enable = true; - programs.wireshark.enable = true; - - hardware.sane.enable = true; - - services.udisks2.enable = true; - - services.avahi.enable = true; - services.avahi.nssmdns = true; - - services.udev.extraRules = '' - # 16C0:0442 - Axoloti Core - SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="0442", MODE:="0666" - # 0483:df11 - Axoloti Core (STM32 microcontroller) in DFU mode - SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE:="0666" - - # Samsung A5 - SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6860", GROUP="dialout", MODE="0660" - ''; - - jalr = { - bootloader = "grub2"; - bluetooth.enable = true; - gui.enable = true; - workstation.enable = true; - sdr.enable = true; - libvirt.enable = true; - autologin.enable = true; - autologin.username = "jalr"; - }; - - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It‘s perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "23.11"; # Did you read the comment? - -} diff --git a/hosts/jalr-t520/hardware-configuration.nix b/hosts/jalr-t520/hardware-configuration.nix deleted file mode 100644 index 7de2199..0000000 --- a/hosts/jalr-t520/hardware-configuration.nix +++ /dev/null @@ -1,61 +0,0 @@ -{ lib, pkgs, modulesPath, ... }: - -{ - imports = [ - "${modulesPath}/installer/scan/not-detected.nix" - ]; - - boot = { - initrd = { - availableKernelModules = [ - "aes_generic" - "aesni_intel" - "ahci" - "cryptd" - "ehci_pci" - "firewire_ohci" - "i915" - "sd_mod" - "sdhci_pci" - "usb_storage" - "usbhid" - ]; - kernelModules = [ "dm-snapshot" ]; - luks.devices = { - pvcrypt = { - device = "/dev/disk/by-uuid/3a1a8fec-b028-45c0-8432-7fcbe4615f44"; - preLVM = true; - }; - }; - }; - kernelModules = [ "kvm-intel" ]; - }; - - fileSystems = { - "/" = { - device = "/dev/disk/by-uuid/62e31097-dc6e-4f91-a043-1a6b8a154201"; - fsType = "ext4"; - }; - "/boot" = { - device = "/dev/disk/by-uuid/c4df83d7-8985-47df-b5cd-bf18bd490a50"; - fsType = "ext2"; - options = [ "nodev" "nosuid" "noexec" ]; - }; - }; - - boot.loader.grub.devices = [ "/dev/disk/by-id/ata-INTEL_SSDSC2BB016T4_BTWD531101JM1P6HGN" ]; - - nix.settings.max-jobs = 4; - - hardware.cpu.intel.updateMicrocode = true; - - powerManagement.cpuFreqGovernor = "performance"; - - environment.systemPackages = with pkgs; [ - intel-media-driver - libva - libva-utils - libva1 - ]; - hardware.opengl.extraPackages = lib.singleton pkgs.vaapiIntel; -} From 8ecbdb046370649ed22b6f9be9d1e18a09f00754 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 9 Apr 2025 21:45:38 +0200 Subject: [PATCH 619/766] Remove tin --- hosts/default.nix | 4 -- hosts/tin/configuration.nix | 32 ---------------- hosts/tin/hardware-configuration.nix | 56 ---------------------------- 3 files changed, 92 deletions(-) delete mode 100644 hosts/tin/configuration.nix delete mode 100644 hosts/tin/hardware-configuration.nix diff --git a/hosts/default.nix b/hosts/default.nix index 7f460c8..aa78b0f 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -23,10 +23,6 @@ in system = "x86_64-linux"; targetHost = "magnesium.jalr.de"; }; - tin = { - system = "x86_64-linux"; - targetHost = "tin.lan.bw.jalr.de"; - }; copper = { system = "x86_64-linux"; targetHost = "copper.lan.bw.jalr.de"; diff --git a/hosts/tin/configuration.nix b/hosts/tin/configuration.nix deleted file mode 100644 index 03af0d7..0000000 --- a/hosts/tin/configuration.nix +++ /dev/null @@ -1,32 +0,0 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page, on -# https://search.nixos.org/options and in the NixOS manual (`nixos-help`). - -{ config, lib, pkgs, ... }: - -{ - imports = [ - ./hardware-configuration.nix - ../../users/jalr - ]; - - networking = { - hostName = "tin"; - useDHCP = false; - }; - - system.stateVersion = "23.11"; # Did you read the comment? - - jalr = { - bootloader = "systemd-boot"; - bluetooth.enable = true; - uefi.enable = true; - gui.enable = true; - gui.desktop = "gnome"; - workstation.enable = true; - sdr.enable = false; - #autologin.enable = true; - #autologin.username = "jal"; - }; -} - diff --git a/hosts/tin/hardware-configuration.nix b/hosts/tin/hardware-configuration.nix deleted file mode 100644 index a797e49..0000000 --- a/hosts/tin/hardware-configuration.nix +++ /dev/null @@ -1,56 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = - [ - (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { - device = "/dev/disk/by-uuid/a939bba5-2eb2-4e9f-97f8-7d1604cb3f76"; - fsType = "btrfs"; - options = [ "compress=zstd" "subvol=root" ]; - }; - - fileSystems."/home" = - { - device = "/dev/disk/by-uuid/a939bba5-2eb2-4e9f-97f8-7d1604cb3f76"; - fsType = "btrfs"; - options = [ "compress=zstd" "subvol=home" ]; - }; - - fileSystems."/nix" = - { - device = "/dev/disk/by-uuid/a939bba5-2eb2-4e9f-97f8-7d1604cb3f76"; - fsType = "btrfs"; - options = [ "compress=zstd" "subvol=nix" ]; - }; - - fileSystems."/boot" = - { - device = "/dev/disk/by-uuid/BC71-DDC2"; - fsType = "vfat"; - options = [ "fmask=0022" "dmask=0022" ]; - }; - - swapDevices = [ ]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp0s25.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} From 209526d7c0a9a6b57590a47046dc6e66af24bf35 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 9 Apr 2025 20:47:18 +0200 Subject: [PATCH 620/766] Add statix --- flake.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/flake.nix b/flake.nix index e671879..f4a0dbe 100644 --- a/flake.nix +++ b/flake.nix @@ -66,6 +66,10 @@ black.enable = true; nixpkgs-fmt.enable = true; shellcheck.enable = true; + statix = { + enable = true; + settings.ignore = [ ".direnv" ]; + }; }; }; }; From 8e8041e4232aa22a3be2aef1fa733d0d3b7dc38b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 9 Apr 2025 21:45:49 +0200 Subject: [PATCH 621/766] Refactoring --- custom-utils/default.nix | 6 +- custom-utils/ports.nix | 6 +- flake.nix | 56 ++- hosts/aluminium/configuration.nix | 21 +- hosts/aluminium/services/asterisk/default.nix | 174 +++---- hosts/aluminium/services/home-assistant.nix | 4 +- hosts/copper/configuration.nix | 44 +- hosts/default.nix | 2 +- hosts/iron/configuration.nix | 16 +- hosts/iron/services/avahi.nix | 10 +- hosts/iron/services/calibre.nix | 38 +- hosts/iron/services/home-assistant.nix | 472 +++++++++--------- hosts/iron/services/public-ip-tunnel.nix | 38 +- hosts/iron/services/radicale.nix | 26 +- hosts/iron/services/remarkable.nix | 4 +- .../iron/services/snapcast/bluetooth-sink.nix | 80 ++- hosts/iron/services/whatsapp.nix | 74 +-- hosts/magnesium/persistence.nix | 19 +- hosts/magnesium/services/hedgedoc.nix | 72 +-- hosts/magnesium/services/public-ip-tunnel.nix | 51 +- .../hardware-configuration.nix | 12 +- .../weinturm-pretix-prod/services/pretix.nix | 118 ++--- modules/bluetooth.nix | 8 +- modules/luksusb.nix | 39 +- modules/mailserver/postfix.nix | 14 +- modules/mailserver/rspamd.nix | 2 +- modules/matrix/default.nix | 4 +- modules/matrix/mautrix-signal.nix | 2 +- modules/matrix/mautrix-whatsapp.nix | 2 +- modules/matrix/synapse.nix | 177 +++---- modules/nix.nix | 2 +- modules/providers/hetzner-cloud.nix | 2 +- modules/qbittorrent/default.nix | 2 +- modules/sway.nix | 18 +- modules/unfree.nix | 4 +- pkgs/default.nix | 2 +- pkgs/myintercom-doorbell/module.nix | 122 ++--- pkgs/wofi-bluetooth/wofi-bluetooth.nix | 4 +- users/jalr/modules/alacritty.nix | 2 +- users/jalr/modules/aws.nix | 4 +- users/jalr/modules/cli/htop.nix | 3 +- users/jalr/modules/dynamic-colors.nix | 10 +- users/jalr/modules/firefox/default.nix | 210 ++++---- users/jalr/modules/fish.nix | 56 ++- users/jalr/modules/gnuradio.nix | 4 +- users/jalr/modules/neovim/default.nix | 185 +++---- users/jalr/modules/obs-studio/default.nix | 2 +- users/jalr/modules/sway/default.nix | 71 +-- users/jalr/modules/sway/waybar.nix | 334 +++++++------ users/jalr/modules/sway/wofi.nix | 152 +++--- users/jalr/modules/thunderbird.nix | 2 +- 51 files changed, 1414 insertions(+), 1368 deletions(-) diff --git a/custom-utils/default.nix b/custom-utils/default.nix index 66a9a15..5db6ecb 100644 --- a/custom-utils/default.nix +++ b/custom-utils/default.nix @@ -8,9 +8,9 @@ let ) ) ); - onlyUniqueItemsInList = (x: lib.lists.length x == lib.lists.length (lib.lists.unique x)); - protocols = (x: lib.lists.unique (lib.flatten (map builtins.attrNames (lib.attrValues x)))); - mkRange = (x: lib.lists.range (builtins.elemAt x 0) (builtins.elemAt x 1)); + onlyUniqueItemsInList = x: lib.lists.length x == lib.lists.length (lib.lists.unique x); + protocols = x: lib.lists.unique (lib.flatten (map builtins.attrNames (lib.attrValues x))); + mkRange = x: lib.lists.range (builtins.elemAt x 0) (builtins.elemAt x 1); validateList = allowed: builtins.all (x: builtins.elem x allowed); in { diff --git a/custom-utils/ports.nix b/custom-utils/ports.nix index 66a9a15..5db6ecb 100644 --- a/custom-utils/ports.nix +++ b/custom-utils/ports.nix @@ -8,9 +8,9 @@ let ) ) ); - onlyUniqueItemsInList = (x: lib.lists.length x == lib.lists.length (lib.lists.unique x)); - protocols = (x: lib.lists.unique (lib.flatten (map builtins.attrNames (lib.attrValues x)))); - mkRange = (x: lib.lists.range (builtins.elemAt x 0) (builtins.elemAt x 1)); + onlyUniqueItemsInList = x: lib.lists.length x == lib.lists.length (lib.lists.unique x); + protocols = x: lib.lists.unique (lib.flatten (map builtins.attrNames (lib.attrValues x))); + mkRange = x: lib.lists.range (builtins.elemAt x 0) (builtins.elemAt x 1); validateList = allowed: builtins.all (x: builtins.elem x allowed); in { diff --git a/flake.nix b/flake.nix index f4a0dbe..fbfe64e 100644 --- a/flake.nix +++ b/flake.nix @@ -5,24 +5,34 @@ flake-utils.url = "github:numtide/flake-utils"; - gomod2nix.inputs.flake-utils.follows = "flake-utils"; - gomod2nix.inputs.nixpkgs.follows = "nixpkgs"; - gomod2nix.url = "github:nix-community/gomod2nix"; + gomod2nix = { + url = "github:nix-community/gomod2nix"; + inputs.flake-utils.follows = "flake-utils"; + inputs.nixpkgs.follows = "nixpkgs"; + }; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager/release-24.11"; + home-manager = { + url = "github:nix-community/home-manager/release-24.11"; + inputs.nixpkgs.follows = "nixpkgs"; + }; impermanence.url = "github:nix-community/impermanence"; - krops.inputs.flake-utils.follows = "flake-utils"; - krops.inputs.nixpkgs.follows = "nixpkgs"; - krops.url = "github:Mic92/krops"; + krops = { + url = "github:Mic92/krops"; + inputs.flake-utils.follows = "flake-utils"; + inputs.nixpkgs.follows = "nixpkgs"; + }; - lanzaboote.url = "github:nix-community/lanzaboote/v0.4.1"; - lanzaboote.inputs.nixpkgs.follows = "nixpkgs"; + lanzaboote = { + url = "github:nix-community/lanzaboote/v0.4.1"; + inputs.nixpkgs.follows = "nixpkgs"; + }; - nix-pre-commit-hooks.inputs.nixpkgs.follows = "nixpkgs"; - nix-pre-commit-hooks.url = "github:cachix/git-hooks.nix/master"; + nix-pre-commit-hooks = { + url = "github:cachix/git-hooks.nix/master"; + inputs.nixpkgs.follows = "nixpkgs"; + }; nixos-hardware.url = "github:nixos/nixos-hardware/master"; @@ -32,12 +42,16 @@ nur.url = "github:nix-community/NUR"; - poetry2nix.inputs.flake-utils.follows = "flake-utils"; - poetry2nix.inputs.nixpkgs.follows = "nixpkgs"; - poetry2nix.url = "github:nix-community/poetry2nix"; + poetry2nix = { + url = "github:nix-community/poetry2nix"; + inputs.flake-utils.follows = "flake-utils"; + inputs.nixpkgs.follows = "nixpkgs"; + }; - sops-nix.inputs.nixpkgs.follows = "nixpkgs"; - sops-nix.url = "github:Mic92/sops-nix"; + sops-nix = { + url = "github:Mic92/sops-nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = { self @@ -74,14 +88,14 @@ }; }; devShells.default = pkgs.mkShell { - buildInputs = (with pkgs; [ + buildInputs = with pkgs; [ black just nixpkgs-fmt shellcheck sops ssh-to-age - ]); + ]; shellHook = '' ${self.checks.${system}.pre-commit-check.shellHook} @@ -159,8 +173,8 @@ { _module.args = { - inputs = inputs; - custom-utils = import ./custom-utils { lib = nixpkgs.lib; }; + inherit inputs; + custom-utils = import ./custom-utils { inherit (nixpkgs) lib; }; }; } diff --git a/hosts/aluminium/configuration.nix b/hosts/aluminium/configuration.nix index cdd652a..6b89247 100644 --- a/hosts/aluminium/configuration.nix +++ b/hosts/aluminium/configuration.nix @@ -7,11 +7,11 @@ ./services ]; - networking.hostName = "aluminium"; services.openssh.enable = true; security.sudo.wheelNeedsPassword = false; networking = { + hostName = "aluminium"; useDHCP = false; vlans = { lechner = { @@ -78,6 +78,15 @@ iifname "voice" udp dport 5059 accept ip saddr 217.10.68.150 udp dport 5060 accept ''; + nftables.tables.pppoe = { + family = "ip"; + content = '' + chain clamp { + type filter hook forward priority mangle; + oifname "ppp0" tcp flags syn tcp option maxseg size set rt mtu comment "clamp MSS to Path MTU" + } + ''; + }; }; @@ -116,16 +125,6 @@ }; }; - networking.nftables.tables.pppoe = { - family = "ip"; - content = '' - chain clamp { - type filter hook forward priority mangle; - oifname "ppp0" tcp flags syn tcp option maxseg size set rt mtu comment "clamp MSS to Path MTU" - } - ''; - }; - zramSwap = { enable = true; algorithm = "zstd"; diff --git a/hosts/aluminium/services/asterisk/default.nix b/hosts/aluminium/services/asterisk/default.nix index c6d8cd7..92f945d 100644 --- a/hosts/aluminium/services/asterisk/default.nix +++ b/hosts/aluminium/services/asterisk/default.nix @@ -14,21 +14,6 @@ let voicemail-sounds = pkgs.callPackage ./voicemail-sounds { }; in { - systemd.services.asterisk-voicemail-sounds = { - wantedBy = [ "asterisk.service" ]; - after = [ "asterisk.service" ]; - script = '' - ln -sfn \ - ${voicemail-sounds}/unavail.wav \ - /var/spool/asterisk/voicemail/lechner/876/unavail.wav - ''; - restartTriggers = [ voicemail-sounds ]; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - }; - }; - services.asterisk = { enable = true; confFiles = { @@ -169,12 +154,12 @@ in useTheseDefaultConfFiles = [ ]; }; - sops.secrets = (lib.listToAttrs (map + sops.secrets = lib.listToAttrs (map (name: lib.nameValuePair "asterisk-${name}" { sopsFile = ../../secrets.yaml; owner = config.users.users.asterisk.name; }) - secretConfigFiles)); + secretConfigFiles); environment.etc = lib.mapAttrs' (name: _: lib.nameValuePair "asterisk/${name}.conf" @@ -194,84 +179,99 @@ in }; }; - systemd.services."asterisk-reload-endpoint@" = { - description = "Check if asterisk endpoint is identified and reload it when it is not."; - serviceConfig = { - Type = "oneshot"; + systemd.services = { + "asterisk-reload-endpoint@" = { + description = "Check if asterisk endpoint is identified and reload it when it is not."; + serviceConfig = { + Type = "oneshot"; + }; + environment = { + ENDPOINT = "%I"; + }; + script = '' + export PATH=${pkgs.lib.makeBinPath [pkgs.asterisk pkgs.gnused pkgs.gnugrep]} + if ! asterisk -r -x "pjsip show endpoint $ENDPOINT" | sed -n '/^===/,/^\s*ParameterName/{//!p}' | grep -q 'Identify:'; then + asterisk -r -x "module reload res_pjsip_endpoint_identifier_ip.so" + fi + ''; }; - environment = { - ENDPOINT = "%I"; + asterisk-voicemail-sounds = { + wantedBy = [ "asterisk.service" ]; + after = [ "asterisk.service" ]; + script = '' + ln -sfn \ + ${voicemail-sounds}/unavail.wav \ + /var/spool/asterisk/voicemail/lechner/876/unavail.wav + ''; + restartTriggers = [ voicemail-sounds ]; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; }; - script = '' - export PATH=${pkgs.lib.makeBinPath [pkgs.asterisk pkgs.gnused pkgs.gnugrep]} - if ! asterisk -r -x "pjsip show endpoint $ENDPOINT" | sed -n '/^===/,/^\s*ParameterName/{//!p}' | grep -q 'Identify:'; then - asterisk -r -x "module reload res_pjsip_endpoint_identifier_ip.so" - fi - ''; - }; + "asterisk-voicemail-call@" = { + description = "Check if voicemail exists and place a call to the voicemail application."; + serviceConfig = { + Type = "oneshot"; + }; + scriptArgs = "%I"; + script = '' + export PATH=${pkgs.lib.makeBinPath [pkgs.asterisk pkgs.coreutils pkgs.findutils]} + number="$(echo "$1" | cut -d ':' -f 1)" + user="$(echo "$1" | cut -d ':' -f 2)" + channel="PJSIP/$(echo "$1" | cut -d ':' -f 3)" - systemd.timers.asterisk-reload-endpoint = { - description = "Check if asterisk endpoint is identified and reload it when it is not."; - after = [ "asterisk.service" ]; - wantedBy = [ "timers.target" ]; - timerConfig = { - Persistent = true; - OnCalendar = "*-*-* *:*:00"; - Unit = "asterisk-reload-endpoint@sipgate.service"; + if ! find "/var/spool/asterisk/voicemail/$user/$number/INBOX/" -mindepth 1 -maxdepth 1 | read; then + exit + fi + + callfile="$(mktemp -p /tmp XXXXXXXXXX.call)" + chmod 644 "$callfile" + + cat > "$callfile" << EOF + Channel: $channel + WaitTime: 15 + Application: VoiceMailMain + Data: $number@$user + CallerID: Voicemail + EOF + + mv "$callfile" /var/spool/asterisk/outgoing/ + ''; }; }; - systemd.services."asterisk-voicemail-call@" = { - description = "Check if voicemail exists and place a call to the voicemail application."; - serviceConfig = { - Type = "oneshot"; + systemd.timers = { + asterisk-reload-endpoint = { + description = "Check if asterisk endpoint is identified and reload it when it is not."; + after = [ "asterisk.service" ]; + wantedBy = [ "timers.target" ]; + timerConfig = { + Persistent = true; + OnCalendar = "*-*-* *:*:00"; + Unit = "asterisk-reload-endpoint@sipgate.service"; + }; }; - scriptArgs = "%I"; - script = '' - export PATH=${pkgs.lib.makeBinPath [pkgs.asterisk pkgs.coreutils pkgs.findutils]} - number="$(echo "$1" | cut -d ':' -f 1)" - user="$(echo "$1" | cut -d ':' -f 2)" - channel="PJSIP/$(echo "$1" | cut -d ':' -f 3)" - if ! find "/var/spool/asterisk/voicemail/$user/$number/INBOX/" -mindepth 1 -maxdepth 1 | read; then - exit - fi - - callfile="$(mktemp -p /tmp XXXXXXXXXX.call)" - chmod 644 "$callfile" - - cat > "$callfile" << EOF - Channel: $channel - WaitTime: 15 - Application: VoiceMailMain - Data: $number@$user - CallerID: Voicemail - EOF - - mv "$callfile" /var/spool/asterisk/outgoing/ - ''; - }; - - systemd.timers.asterisk-voicemail-call-10 = { - description = "Check if voicemail exists and place a call to the voicemail application."; - after = [ "asterisk.service" ]; - wantedBy = [ "timers.target" ]; - timerConfig = { - Persistent = true; - OnCalendar = "*-*-* 07..22:00,20,40:00"; - Unit = "asterisk-voicemail-call@876:lechner:10.service"; + asterisk-voicemail-call-10 = { + description = "Check if voicemail exists and place a call to the voicemail application."; + after = [ "asterisk.service" ]; + wantedBy = [ "timers.target" ]; + timerConfig = { + Persistent = true; + OnCalendar = "*-*-* 07..22:00,20,40:00"; + Unit = "asterisk-voicemail-call@876:lechner:10.service"; + }; + }; + asterisk-voicemail-call-11 = { + description = "Check if voicemail exists and place a call to the voicemail application."; + after = [ "asterisk.service" ]; + wantedBy = [ "timers.target" ]; + timerConfig = { + Persistent = true; + OnCalendar = "*-*-* 07..22:00,10,30:50"; + Unit = "asterisk-voicemail-call@876:lechner:11.service"; + }; }; }; - systemd.timers.asterisk-voicemail-call-11 = { - description = "Check if voicemail exists and place a call to the voicemail application."; - after = [ "asterisk.service" ]; - wantedBy = [ "timers.target" ]; - timerConfig = { - Persistent = true; - OnCalendar = "*-*-* 07..22:00,10,30:50"; - Unit = "asterisk-voicemail-call@876:lechner:11.service"; - }; - }; - - #voicemailCallScript } diff --git a/hosts/aluminium/services/home-assistant.nix b/hosts/aluminium/services/home-assistant.nix index 2395ff9..aed7b78 100644 --- a/hosts/aluminium/services/home-assistant.nix +++ b/hosts/aluminium/services/home-assistant.nix @@ -78,8 +78,8 @@ in unit_system = "metric"; time_zone = "Europe/Berlin"; temperature_unit = "C"; - longitude = config.location.longitude; - latitude = config.location.latitude; + inherit (config.location) longitude; + inherit (config.location) latitude; }; default_config = { }; "automation nix" = [ diff --git a/hosts/copper/configuration.nix b/hosts/copper/configuration.nix index f69f1ba..d6b5718 100644 --- a/hosts/copper/configuration.nix +++ b/hosts/copper/configuration.nix @@ -8,8 +8,6 @@ ./services ]; - services.fstrim.enable = true; - networking = { hostName = "copper"; extraHosts = lib.concatStringsSep "\n" ( @@ -32,24 +30,28 @@ priority = 1; }; - services.snapper.configs = { - home = { - SUBVOLUME = "/home"; - ALLOW_USERS = [ "jalr" ]; - TIMELINE_CREATE = true; - TIMELINE_CLEANUP = true; - TIMELINE_LIMIT_HOURLY = 12; - TIMELINE_LIMIT_DAILY = 7; - TIMELINE_LIMIT_WEEKLY = 4; - TIMELINE_LIMIT_MONTHLY = 3; - TIMELINE_LIMIT_YEARLY = 0; - BACKGROUND_COMPARISON = "yes"; - NUMBER_CLEANUP = "no"; - NUMBER_MIN_AGE = "1800"; - NUMBER_LIMIT = "100"; - NUMBER_LIMIT_IMPORTANT = "10"; - EMPTY_PRE_POST_CLEANUP = "yes"; - EMPTY_PRE_POST_MIN_AGE = "1800"; + services = { + fstrim.enable = true; + flatpak.enable = true; + snapper.configs = { + home = { + SUBVOLUME = "/home"; + ALLOW_USERS = [ "jalr" ]; + TIMELINE_CREATE = true; + TIMELINE_CLEANUP = true; + TIMELINE_LIMIT_HOURLY = 12; + TIMELINE_LIMIT_DAILY = 7; + TIMELINE_LIMIT_WEEKLY = 4; + TIMELINE_LIMIT_MONTHLY = 3; + TIMELINE_LIMIT_YEARLY = 0; + BACKGROUND_COMPARISON = "yes"; + NUMBER_CLEANUP = "no"; + NUMBER_MIN_AGE = "1800"; + NUMBER_LIMIT = "100"; + NUMBER_LIMIT_IMPORTANT = "10"; + EMPTY_PRE_POST_CLEANUP = "yes"; + EMPTY_PRE_POST_MIN_AGE = "1800"; + }; }; }; @@ -68,7 +70,5 @@ }; system.stateVersion = "24.05"; - - services.flatpak.enable = true; } diff --git a/hosts/default.nix b/hosts/default.nix index aa78b0f..a23a65f 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -1,4 +1,4 @@ -{ ... }@inputs: +inputs: let hardware = inputs.nixos-hardware.nixosModules; in diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index f130428..ac8ee66 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -28,7 +28,7 @@ let luksDev = "-part3"; biosBoot = "-part4"; }; - efiSystemPartitions = (map (diskName: diskName + partitionScheme.efiBoot) (lib.attrValues disks)); + efiSystemPartitions = map (diskName: diskName + partitionScheme.efiBoot) (lib.attrValues disks); in with lib; { imports = [ @@ -154,19 +154,19 @@ with lib; { }; supportedFilesystems = [ "zfs" ]; zfs = { - devNodes = devNodes; + inherit devNodes; forceImportRoot = false; }; loader = { efi = { - canTouchEfiVariables = (if removableEfi then false else true); - efiSysMountPoint = ("/boot/efis/" + (head (lib.attrValues disks)) - + partitionScheme.efiBoot); + canTouchEfiVariables = if removableEfi then false else true; + efiSysMountPoint = "/boot/efis/" + (head (lib.attrValues disks)) + + partitionScheme.efiBoot; }; generationsDir.copyKernels = true; grub = { enable = true; - devices = (map (diskName: devNodes + diskName) (attrValues disks)); + devices = map (diskName: devNodes + diskName) (attrValues disks); efiInstallAsRemovable = removableEfi; copyKernels = true; efiSupport = true; @@ -176,11 +176,11 @@ with lib; { terminal_input --append serial terminal_output --append serial ''; - extraInstallCommands = (toString (map + extraInstallCommands = toString (map (diskName: '' ${pkgs.coreutils-full}/bin/cp -r ${config.boot.loader.efi.efiSysMountPoint}/EFI /boot/efis/${diskName}${partitionScheme.efiBoot} '') - (tail (attrValues disks)))); + (tail (attrValues disks))); }; }; kernelParams = [ diff --git a/hosts/iron/services/avahi.nix b/hosts/iron/services/avahi.nix index e19be81..6c14bcd 100644 --- a/hosts/iron/services/avahi.nix +++ b/hosts/iron/services/avahi.nix @@ -6,11 +6,13 @@ in services.avahi = { enable = true; allowInterfaces = [ interfaces.lan ]; - publish.domain = true; - publish.enable = true; - publish.userServices = true; - publish.workstation = true; openFirewall = false; + publish = { + domain = true; + enable = true; + userServices = true; + workstation = true; + }; }; networking.firewall.interfaces."${interfaces.lan}".allowedUDPPorts = [ diff --git a/hosts/iron/services/calibre.nix b/hosts/iron/services/calibre.nix index f738170..0f30021 100644 --- a/hosts/iron/services/calibre.nix +++ b/hosts/iron/services/calibre.nix @@ -8,23 +8,29 @@ in sopsFile = ../secrets.yaml; }; - services.calibre-server = { - enable = true; - port = ports.calibre-server.tcp; - host = "127.0.0.1"; - }; - - services.calibre-web = { - enable = true; - user = config.services.calibre-server.user; - group = config.services.calibre-server.group; - listen = { - ip = "127.0.0.1"; - port = ports.calibre-web.tcp; + services = { + calibre-server = { + enable = true; + port = ports.calibre-server.tcp; + host = "127.0.0.1"; + }; + + calibre-web = { + enable = true; + inherit (config.services.calibre-server) user; + inherit (config.services.calibre-server) group; + listen = { + ip = "127.0.0.1"; + port = ports.calibre-web.tcp; + }; + options = { + enableBookUploading = true; + reverseProxyAuth = { + enable = true; + header = "X-Remote-User"; + }; + }; }; - options.enableBookUploading = true; - options.reverseProxyAuth.enable = true; - options.reverseProxyAuth.header = "X-Remote-User"; }; systemd.services.calibre-web = { diff --git a/hosts/iron/services/home-assistant.nix b/hosts/iron/services/home-assistant.nix index d2bea9e..1bf6d3e 100644 --- a/hosts/iron/services/home-assistant.nix +++ b/hosts/iron/services/home-assistant.nix @@ -5,256 +5,264 @@ let domain = "hass.jalr.de"; in { - sops.secrets.home-assistant = { - sopsFile = ../secrets.yaml; - owner = "root"; - group = "hass"; - mode = "0640"; - }; - sops.secrets."mqtt-users/home-assistant" = { - sopsFile = ../secrets.yaml; - }; - sops.secrets."mqtt-users/valetudo" = { - sopsFile = ../secrets.yaml; - }; - services.home-assistant = { - enable = true; - lovelaceConfig = { - title = "Home"; - views = [ - { - path = "default_view"; - title = "Home"; - cards = [ - { - title = "Eingang"; - type = "entities"; - entities = [ - { - entity = "light.eingang_deckenleuchte_deckenleuchte"; - name = "Deckenleuchte"; - } - ]; - } - { - name = "Esstisch"; - type = "entities"; - entities = [ - { - entity = "light.yeelight_meteorite_ambient_light"; - name = "Ambient light"; - } - { - entity = "light.yeelight_meteorite_ceiling_light"; - name = "Ceiling light"; - } - { - entity = "light.yeelight_meteorite_night_light"; - name = "Night light"; - } - ]; - } - ]; - } - ]; + sops.secrets = { + home-assistant = { + sopsFile = ../secrets.yaml; + owner = "root"; + group = "hass"; + mode = "0640"; }; - extraComponents = [ - # See https://www.home-assistant.io/integrations - "bthome" - "caldav" - "esphome" - "local_todo" - "openweathermap" - "wyoming" - "xiaomi_ble" - "vlc_telnet" - ]; - customComponents = with pkgs.home-assistant-custom-components; [ - adaptive_lighting - ]; - customLovelaceModules = with pkgs.home-assistant-custom-lovelace-modules; [ - valetudo-map-card - ]; - lovelaceConfigWritable = false; - configWritable = false; - config = { - http = { - server_host = [ "127.0.0.1" ]; - server_port = ports.home-assistant.tcp; - use_x_forwarded_for = true; - trusted_proxies = [ "127.0.0.1" ]; - }; - homeassistant = { - unit_system = "metric"; - time_zone = "Europe/Berlin"; - temperature_unit = "C"; - longitude = config.location.longitude; - latitude = config.location.latitude; - external_url = "https://${domain}/"; - internal_url = "https://${domain}/"; - }; - default_config = { }; - adaptive_lighting = { - lights = [ - "light.yeelight_meteorite_ceiling_light" - "light.eingang_deckenleuchte_deckenleuchte" - "light.led_panel_schreibtisch_panel" - "light.kueche_leiste_led_light" - "light.badspiegel_background_light" - "light.badspiegel_front_light" + "mqtt-users/home-assistant" = { + sopsFile = ../secrets.yaml; + }; + "mqtt-users/valetudo" = { + sopsFile = ../secrets.yaml; + }; + }; + + networking.firewall.interfaces = { + "${interfaces.lan}".allowedTCPPorts = [ ports.mqtt.tcp ]; + iot.allowedTCPPorts = [ ports.mqtt.tcp ]; + }; + + services = { + home-assistant = { + enable = true; + lovelaceConfig = { + title = "Home"; + views = [ + { + path = "default_view"; + title = "Home"; + cards = [ + { + title = "Eingang"; + type = "entities"; + entities = [ + { + entity = "light.eingang_deckenleuchte_deckenleuchte"; + name = "Deckenleuchte"; + } + ]; + } + { + name = "Esstisch"; + type = "entities"; + entities = [ + { + entity = "light.yeelight_meteorite_ambient_light"; + name = "Ambient light"; + } + { + entity = "light.yeelight_meteorite_ceiling_light"; + name = "Ceiling light"; + } + { + entity = "light.yeelight_meteorite_night_light"; + name = "Night light"; + } + ]; + } + ]; + } ]; }; - "automation nix" = [ - { - alias = "Waschmaschine fertig Benachrichtigung"; - trigger = { - platform = "state"; - entity_id = "sensor.waschmaschine_aktueller_vorgang"; - to = "Knitterschutz/Ende"; - }; - action = [ - { - service = "notify.mobile_app_shift6mq"; - data = { - message = "Die Waschmaschine hat das Programm beendet."; - title = "Wäsche fertig"; - }; - } + extraComponents = [ + # See https://www.home-assistant.io/integrations + "bthome" + "caldav" + "esphome" + "local_todo" + "openweathermap" + "wyoming" + "xiaomi_ble" + "vlc_telnet" + ]; + customComponents = with pkgs.home-assistant-custom-components; [ + adaptive_lighting + ]; + customLovelaceModules = with pkgs.home-assistant-custom-lovelace-modules; [ + valetudo-map-card + ]; + lovelaceConfigWritable = false; + configWritable = false; + config = { + http = { + server_host = [ "127.0.0.1" ]; + server_port = ports.home-assistant.tcp; + use_x_forwarded_for = true; + trusted_proxies = [ "127.0.0.1" ]; + }; + homeassistant = { + unit_system = "metric"; + time_zone = "Europe/Berlin"; + temperature_unit = "C"; + inherit (config.location) longitude; + inherit (config.location) latitude; + external_url = "https://${domain}/"; + internal_url = "https://${domain}/"; + }; + default_config = { }; + adaptive_lighting = { + lights = [ + "light.yeelight_meteorite_ceiling_light" + "light.eingang_deckenleuchte_deckenleuchte" + "light.led_panel_schreibtisch_panel" + "light.kueche_leiste_led_light" + "light.badspiegel_background_light" + "light.badspiegel_front_light" ]; - } - ]; - "automation ui" = "!include automations.yaml"; - "scene nix" = [ - ]; - "scene ui" = "!include scenes.yaml"; - bluetooth = { }; - device_tracker = [ - { - platform = "bluetooth_le_tracker"; - } - ]; - "script nix" = [ - { - lights_off_except = { - icon = "mdi:home-lightbulb"; - fields.exclude_lights.description = "Excluded lights as list"; - sequence = [ + }; + "automation nix" = [ + { + alias = "Waschmaschine fertig Benachrichtigung"; + trigger = { + platform = "state"; + entity_id = "sensor.waschmaschine_aktueller_vorgang"; + to = "Knitterschutz/Ende"; + }; + action = [ { - service = "logbook.log"; - data_template = { - entity_id = "script.turn_off_lights"; - name = "Exclude log"; - message = "Turning of all lights except: {{ exclude_lights }}"; + service = "notify.mobile_app_shift6mq"; + data = { + message = "Die Waschmaschine hat das Programm beendet."; + title = "Wäsche fertig"; }; } - { - service = "light.turn_off"; - data_template.entity_id = '' - {{ states.light | rejectattr('entity_id', 'in', exclude_lights) | rejectattr('state', 'in', 'off') | join(',', attribute='entity_id') }} - ''; - } ]; + } + ]; + "automation ui" = "!include automations.yaml"; + "scene nix" = [ + ]; + "scene ui" = "!include scenes.yaml"; + bluetooth = { }; + device_tracker = [ + { + platform = "bluetooth_le_tracker"; + } + ]; + "script nix" = [ + { + lights_off_except = { + icon = "mdi:home-lightbulb"; + fields.exclude_lights.description = "Excluded lights as list"; + sequence = [ + { + service = "logbook.log"; + data_template = { + entity_id = "script.turn_off_lights"; + name = "Exclude log"; + message = "Turning of all lights except: {{ exclude_lights }}"; + }; + } + { + service = "light.turn_off"; + data_template.entity_id = '' + {{ states.light | rejectattr('entity_id', 'in', exclude_lights) | rejectattr('state', 'in', 'off') | join(',', attribute='entity_id') }} + ''; + } + ]; + }; + } + ]; + "script ui" = "!include scripts.yaml"; + calendar = [ + { + platform = "caldav"; + username = "jalr@jalr.de"; + password = "!secret radicale"; + url = "https://cal.jalr.de/radicale"; + } + ]; + mqtt = { }; + media_player = [ + { + platform = "mpd"; + name = "mpd@iron"; + host = "127.0.0.1"; + } + ]; + }; + }; + + mosquitto = { + enable = true; + persistence = true; + listeners = [ + { + port = ports.mqtt.tcp; + users = { + valetudo = { + passwordFile = config.sops.secrets."mqtt-users/valetudo".path; + acl = [ + "readwrite homeassistant/+/donald/#" + "readwrite valetudo/donald/#" + ]; + }; + home-assistant = { + passwordFile = config.sops.secrets."mqtt-users/home-assistant".path; + acl = [ "readwrite #" ]; + }; }; } ]; - "script ui" = "!include scripts.yaml"; - calendar = [ - { - platform = "caldav"; - username = "jalr@jalr.de"; - password = "!secret radicale"; - url = "https://cal.jalr.de/radicale"; - } - ]; - mqtt = { }; - media_player = [ - { - platform = "mpd"; - name = "mpd@iron"; - host = "127.0.0.1"; - } - ]; }; }; - services.mosquitto = { - enable = true; - persistence = true; - listeners = [ - { - port = ports.mqtt.tcp; - users = { - valetudo = { - passwordFile = config.sops.secrets."mqtt-users/valetudo".path; - acl = [ - "readwrite homeassistant/+/donald/#" - "readwrite valetudo/donald/#" - ]; - }; - home-assistant = { - passwordFile = config.sops.secrets."mqtt-users/home-assistant".path; - acl = [ "readwrite #" ]; - }; - }; - } + systemd.services = { + home-assistant.serviceConfig.ExecStartPre = [ + ( + pkgs.writeShellScript "home-assistant-secrets" '' + ln -sf "${config.sops.secrets.home-assistant.path}" "${config.services.home-assistant.configDir}/secrets.yaml" + '' + ) ]; - }; - - systemd.services.hass-vlc = { - script = '' - exec ${pkgs.vlc}/bin/cvlc \ - --no-video \ - -I telnet \ - --telnet-password=vlc \ - --sout='#transcode{acodec=s16le,channels=2,samplerate=48000}:std{access=file,mux=raw,dst=/run/snapserver/hass.fifo}' \ - --aout=none - ''; - wants = [ "snapserver.service" ]; - after = [ "snapserver.service" ]; - serviceConfig = { - BindPaths = [ "/run/snapserver/hass.fifo" ]; - BindReadOnlyPaths = [ "/nix/store" "/etc/ssl/certs" "/etc/static/ssl/certs" ]; - CapabilityBoundingSet = ""; - DynamicUser = "true"; - Group = "snapserver"; - LockPersonality = true; - MemoryDenyWriteExecute = true; - NoNewPrivileges = true; - PrivateDevices = lib.mkForce true; - PrivateUsers = true; - ProcSubset = "pid"; - ProtectClock = true; - ProtectControlGroups = true; - ProtectHome = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectProc = "noaccess"; - ProtectSystem = "strict"; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; - RestrictNamespaces = true; - RestrictRealtime = true; - RestrictSUIDSGID = true; - RootDirectory = "/run/hass-vlc"; - RuntimeDirectory = "hass-vlc"; - SystemCallArchitectures = "native"; - SystemCallFilter = [ "@system-service" "~@privileged" ]; + hass-vlc = { + script = '' + exec ${pkgs.vlc}/bin/cvlc \ + --no-video \ + -I telnet \ + --telnet-password=vlc \ + --sout='#transcode{acodec=s16le,channels=2,samplerate=48000}:std{access=file,mux=raw,dst=/run/snapserver/hass.fifo}' \ + --aout=none + ''; + wants = [ "snapserver.service" ]; + after = [ "snapserver.service" ]; + serviceConfig = { + BindPaths = [ "/run/snapserver/hass.fifo" ]; + BindReadOnlyPaths = [ "/nix/store" "/etc/ssl/certs" "/etc/static/ssl/certs" ]; + CapabilityBoundingSet = ""; + DynamicUser = "true"; + Group = "snapserver"; + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateDevices = lib.mkForce true; + PrivateUsers = true; + ProcSubset = "pid"; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "noaccess"; + ProtectSystem = "strict"; + RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + RootDirectory = "/run/hass-vlc"; + RuntimeDirectory = "hass-vlc"; + SystemCallArchitectures = "native"; + SystemCallFilter = [ "@system-service" "~@privileged" ]; + }; + wantedBy = [ "multi-user.target" ]; }; - wantedBy = [ "multi-user.target" ]; }; - networking.firewall.interfaces."${interfaces.lan}".allowedTCPPorts = [ ports.mqtt.tcp ]; - networking.firewall.interfaces.iot.allowedTCPPorts = [ ports.mqtt.tcp ]; - - systemd.services.home-assistant.serviceConfig.ExecStartPre = [ - ( - pkgs.writeShellScript "home-assistant-secrets" '' - ln -sf "${config.sops.secrets.home-assistant.path}" "${config.services.home-assistant.configDir}/secrets.yaml" - '' - ) - ]; - systemd.tmpfiles.rules = [ "f ${config.services.home-assistant.configDir}/automations.yaml 0755 hass hass" "f ${config.services.home-assistant.configDir}/scenes.yaml 0755 hass hass" diff --git a/hosts/iron/services/public-ip-tunnel.nix b/hosts/iron/services/public-ip-tunnel.nix index 2e1dca8..612b041 100644 --- a/hosts/iron/services/public-ip-tunnel.nix +++ b/hosts/iron/services/public-ip-tunnel.nix @@ -13,27 +13,27 @@ let }; in { - sops.secrets = ( - lib.listToAttrs (map - (name: lib.nameValuePair "wireguard_key_${name}" { - sopsFile = ../secrets.yaml; - }) - [ - "hetzner-ha" - ] - ) + sops.secrets = lib.listToAttrs (map + (name: lib.nameValuePair "wireguard_key_${name}" { + sopsFile = ../secrets.yaml; + }) + [ + "hetzner-ha" + ] ); - networking.iproute2.enable = true; - networking.iproute2.rttablesExtraConfig = '' - ${toString rtTable.id} ${rtTable.name} - ''; - - networking.wireguard.interfaces = { - hetzner-ha = { + networking = { + iproute2 = { + enable = true; + rttablesExtraConfig = '' + ${toString rtTable.id} ${rtTable.name} + ''; + }; + firewall.allowedUDPPorts = [ listenPort ]; + wireguard.interfaces.hetzner-ha = { ips = [ "${externalIp}/32" ]; privateKeyFile = config.sops.secrets.wireguard_key_hetzner-ha.path; - listenPort = listenPort; + inherit listenPort; table = rtTable.name; postSetup = '' ${pkgs.iproute2}/bin/ip rule add from ${externalIp} to 192.168.0.0/16 table main priority 10 @@ -44,7 +44,7 @@ in ${pkgs.iproute2}/bin/ip rule del from ${externalIp} table ${rtTable.name} priority 20 ''; peers = [{ - publicKey = publicKey; + inherit publicKey; endpoint = "${remoteHost}:${toString remotePort}"; persistentKeepalive = 25; allowedIPs = [ @@ -53,6 +53,4 @@ in }]; }; }; - - networking.firewall.allowedUDPPorts = [ listenPort ]; } diff --git a/hosts/iron/services/radicale.nix b/hosts/iron/services/radicale.nix index ec367ce..b41a67d 100644 --- a/hosts/iron/services/radicale.nix +++ b/hosts/iron/services/radicale.nix @@ -14,19 +14,21 @@ in enableACME = true; forceSSL = true; basicAuthFile = config.sops.secrets.radicale-htpasswd.path; - locations."/radicale/" = { - proxyPass = "http://127.0.0.1:${toString ports.radicale.tcp}/"; - recommendedProxySettings = true; - #basicAuthFile = ""; - extraConfig = '' - proxy_set_header X-Script-Name /radicale; - proxy_set_header X-Remote-User $remote_user; - ''; - # proxy_pass_request_headers = on; - # underscores_in_headers = on; + locations = { + "/radicale/" = { + proxyPass = "http://127.0.0.1:${toString ports.radicale.tcp}/"; + recommendedProxySettings = true; + #basicAuthFile = ""; + extraConfig = '' + proxy_set_header X-Script-Name /radicale; + proxy_set_header X-Remote-User $remote_user; + ''; + # proxy_pass_request_headers = on; + # underscores_in_headers = on; + }; + "/.well-known/caldav".return = "301 $scheme://$host:$server_port/radicale"; + "/.well-known/carddav".return = "301 $scheme://$host:$server_port/radicale"; }; - locations."/.well-known/caldav".return = "301 $scheme://$host:$server_port/radicale"; - locations."/.well-known/carddav".return = "301 $scheme://$host:$server_port/radicale"; }; }; diff --git a/hosts/iron/services/remarkable.nix b/hosts/iron/services/remarkable.nix index a7b6cad..b8729ac 100644 --- a/hosts/iron/services/remarkable.nix +++ b/hosts/iron/services/remarkable.nix @@ -3,9 +3,9 @@ let ports = import ../ports.nix args; domain = "rmfakecloud.jalr.de"; cfg = config.services.rmfakecloud; - mkEnvironment = (settings: lib.strings.concatLines ( + mkEnvironment = settings: lib.strings.concatLines ( lib.attrsets.mapAttrsToList (name: value: "export ${name}='${value}'") settings - )); + ); managementScript = pkgs.writeShellScriptBin "rmfakecloud" '' [[ $(id -u) == "rmfakecloud" ]] || exec sudo -u rmfakecloud -- "$0" "$@" set -a diff --git a/hosts/iron/services/snapcast/bluetooth-sink.nix b/hosts/iron/services/snapcast/bluetooth-sink.nix index 77418a4..38cf8e3 100644 --- a/hosts/iron/services/snapcast/bluetooth-sink.nix +++ b/hosts/iron/services/snapcast/bluetooth-sink.nix @@ -24,54 +24,44 @@ services.blueman.enable = true; - systemd.services.bluetooth-auto-pair = { - wantedBy = [ - "bluetooth.service" - ]; - after = [ - "bluetooth.service" - ]; - bindsTo = [ - "bluetooth.service" - ]; - serviceConfig = { - Type = "simple"; - ExecStart = pkgs.writeShellScript "exec-start" '' - ${pkgs.bluez}/bin/bluetoothctl < /dev/null; do - sleep 1 - done + port=5555 + adb connect "$host:$port" - echo "Sleeping..." - sleep 5m + echo "Waiting for WhatsApp" + while ! adb -s "$host:$port" shell -- pgrep com.whatsapp > /dev/null; do + sleep 1 + done - echo "Shutting down Android" - adb -s "$host:$port" shell -- reboot -p - ''; + echo "Sleeping..." + sleep 5m + + echo "Shutting down Android" + adb -s "$host:$port" shell -- reboot -p + ''; + }; }; systemd.timers."whatsapp-${vmName}" = { description = "Start Android VM to run WhatsApp"; diff --git a/hosts/magnesium/persistence.nix b/hosts/magnesium/persistence.nix index 9746b37..ed97650 100644 --- a/hosts/magnesium/persistence.nix +++ b/hosts/magnesium/persistence.nix @@ -2,7 +2,7 @@ { boot.initrd.postDeviceCommands = let - device = config.disko.devices.disk.virt.content.partitions.linux.device; + inherit (config.disko.devices.disk.virt.content.partitions.linux) device; in lib.mkAfter '' mkdir /mnt @@ -14,16 +14,17 @@ btrfs subvolume snapshot /mnt/root-blank /mnt/root ''; - services.openssh = { - hostKeys = lib.mkForce [{ - path = "/persist/etc/ssh/ssh_host_ed25519_key"; - type = "ed25519"; - }]; + services = { + openssh = { + hostKeys = lib.mkForce [{ + path = "/persist/etc/ssh/ssh_host_ed25519_key"; + type = "ed25519"; + }]; + }; + forgejo.stateDir = "/persist/var/lib/forgejo"; + postgresql.dataDir = "/persist/var/lib/postgresql/${config.services.postgresql.package.psqlSchema}"; }; - services.forgejo.stateDir = "/persist/var/lib/forgejo"; - services.postgresql.dataDir = "/persist/var/lib/postgresql/${config.services.postgresql.package.psqlSchema}"; - fileSystems."/persist".neededForBoot = true; environment.persistence."/persist" = { hideMounts = true; diff --git a/hosts/magnesium/services/hedgedoc.nix b/hosts/magnesium/services/hedgedoc.nix index 0963f20..633fbdc 100644 --- a/hosts/magnesium/services/hedgedoc.nix +++ b/hosts/magnesium/services/hedgedoc.nix @@ -10,44 +10,44 @@ in owner = config.systemd.services.hedgedoc.serviceConfig.User; sopsFile = ../secrets.yaml; }; - services.hedgedoc = { - enable = true; - settings = - let - day = 24 * 60 * 60 * 1000; - in - { - domain = domain; - protocolUseSSL = true; - csp.enable = true; - port = ports.hedgedoc.tcp; - db = { - dialect = "postgres"; - host = "/run/postgresql"; - user = "hedgedoc"; - database = "hedgedoc"; + services = { + hedgedoc = { + enable = true; + settings = + let + day = 24 * 60 * 60 * 1000; + in + { + inherit domain; + protocolUseSSL = true; + csp.enable = true; + port = ports.hedgedoc.tcp; + db = { + dialect = "postgres"; + host = "/run/postgresql"; + user = "hedgedoc"; + database = "hedgedoc"; + }; + allowEmailRegister = false; + sessionSecret = config.sops.secrets.hedgedoc-session-secret.path; + sessionLife = 90 * day; }; - allowEmailRegister = false; - sessionSecret = config.sops.secrets.hedgedoc-session-secret.path; - sessionLife = 90 * day; + }; + postgresql = { + enable = true; + ensureDatabases = [ "hedgedoc" ]; + ensureUsers = [{ + name = "hedgedoc"; + ensureDBOwnership = true; + }]; + }; + nginx.virtualHosts."${domain}" = { + enableACME = true; + forceSSL = true; + + locations."/" = { + proxyPass = "http://${cfg.settings.host}:${toString cfg.settings.port}"; }; - }; - - services.postgresql = { - enable = true; - ensureDatabases = [ "hedgedoc" ]; - ensureUsers = [{ - name = "hedgedoc"; - ensureDBOwnership = true; - }]; - }; - - services.nginx.virtualHosts."${domain}" = { - enableACME = true; - forceSSL = true; - - locations."/" = { - proxyPass = "http://${cfg.settings.host}:${toString cfg.settings.port}"; }; }; } diff --git a/hosts/magnesium/services/public-ip-tunnel.nix b/hosts/magnesium/services/public-ip-tunnel.nix index 510fff8..28d917d 100644 --- a/hosts/magnesium/services/public-ip-tunnel.nix +++ b/hosts/magnesium/services/public-ip-tunnel.nix @@ -6,15 +6,13 @@ let publicKey = "GCmQs7upvDYFueEfqD2yJkkOZg3K7YaGluWWzdjsyTo="; in { - sops.secrets = ( - lib.listToAttrs (map - (name: lib.nameValuePair "wireguard_key_${name}" { - sopsFile = ../secrets.yaml; - }) - [ - "hetzner-ha" - ] - ) + sops.secrets = lib.listToAttrs (map + (name: lib.nameValuePair "wireguard_key_${name}" { + sopsFile = ../secrets.yaml; + }) + [ + "hetzner-ha" + ] ); #boot.kernel.sysctl = { @@ -22,24 +20,27 @@ in # "net.ipv4.conf.hetzner-ha.proxy_arp" = 1; # "net.ipv4.conf.enp1s0.proxy_arp" = 1; #}; - networking.interfaces.hetzner-ha.proxyARP = true; - networking.interfaces.enp1s0.proxyARP = true; - networking.wireguard.interfaces = { - hetzner-ha = { - ips = [ ]; - privateKeyFile = config.sops.secrets.wireguard_key_hetzner-ha.path; - listenPort = listenPort; + networking = { + interfaces = { + hetzner-ha.proxyARP = true; + enp1s0.proxyARP = true; + }; + firewall.allowedUDPPorts = [ listenPort ]; + wireguard.interfaces = { + hetzner-ha = { + ips = [ ]; + privateKeyFile = config.sops.secrets.wireguard_key_hetzner-ha.path; + inherit listenPort; - peers = [{ - publicKey = publicKey; - persistentKeepalive = 25; - allowedIPs = [ - "159.69.103.126/32" - ]; - }]; + peers = [{ + inherit publicKey; + persistentKeepalive = 25; + allowedIPs = [ + "159.69.103.126/32" + ]; + }]; + }; }; }; - - networking.firewall.allowedUDPPorts = [ listenPort ]; } diff --git a/hosts/weinturm-pretix-prod/hardware-configuration.nix b/hosts/weinturm-pretix-prod/hardware-configuration.nix index ba13c46..a0ae780 100644 --- a/hosts/weinturm-pretix-prod/hardware-configuration.nix +++ b/hosts/weinturm-pretix-prod/hardware-configuration.nix @@ -2,10 +2,14 @@ { imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "virtio_pci" "virtio_scsi" "usbhid" "sr_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ ]; - boot.extraModulePackages = [ ]; + boot = { + initrd = { + availableKernelModules = [ "xhci_pci" "virtio_pci" "virtio_scsi" "usbhid" "sr_mod" ]; + kernelModules = [ ]; + }; + kernelModules = [ ]; + extraModulePackages = [ ]; + }; fileSystems = { "/" = { diff --git a/hosts/weinturm-pretix-prod/services/pretix.nix b/hosts/weinturm-pretix-prod/services/pretix.nix index 29edd2b..7fe04d7 100644 --- a/hosts/weinturm-pretix-prod/services/pretix.nix +++ b/hosts/weinturm-pretix-prod/services/pretix.nix @@ -23,67 +23,15 @@ in }; }; - services.pretix = { - enable = true; - settings = { - pretix = { - instance_name = "Digitaler Dienst GmbH"; - url = "https://${domain}"; - registration = false; - password_reset = true; - }; - locale = { - default = "de"; - timezone = "Europe/Berlin"; - }; - mail = { - from = "no-reply@tickets.weinturm-open-air.de"; - }; - redis.location = "unix:///run/redis-pretix/redis.sock?db=0"; - celery.backend = "redis+socket:///run/redis-pretix/redis.sock?virtual_host=2"; - celery.broker = "redis+socket:///run/redis-pretix/redis.sock?virtual_host=1"; - }; - nginx = { - enable = true; - inherit domain; - }; - gunicorn = { - extraArgs = [ - "--workers=${toString gunicornWorkers}" - ]; - }; - }; - # Add user to `redis-pretix` group # to grant access to /run/redis-pretix/redis.sock users.users.pretix.extraGroups = [ "redis-pretix" ]; - services.pretix-banktool = { - enable = true; - days = 14; - secretsFile = config.sops.secrets.pretix-banktool-cfg.path; - }; - networking.firewall.allowedTCPPorts = [ 80 443 ]; - services.nginx = lib.mkIf cfg.nginx.enable { - recommendedGzipSettings = true; - recommendedOptimisation = true; - recommendedProxySettings = true; - recommendedTlsSettings = true; - virtualHosts = { - "${cfg.nginx.domain}" = { - enableACME = true; - forceSSL = true; - kTLS = true; - extraConfig = '' - add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains; preload' always; - more_set_headers Referrer-Policy same-origin; - more_set_headers X-Content-Type-Options nosniff; - ''; - serverAliases = extraDomains; - }; - }; + security.acme = { + acceptTerms = true; + defaults.email = lib.mkForce "helfer@weinturm-open-air.de"; }; jalr.mailserver = { @@ -101,8 +49,62 @@ in spam.enable = false; }; - security.acme = { - acceptTerms = true; - defaults.email = lib.mkForce "helfer@weinturm-open-air.de"; + services = { + pretix = { + enable = true; + settings = { + pretix = { + instance_name = "Digitaler Dienst GmbH"; + url = "https://${domain}"; + registration = false; + password_reset = true; + }; + locale = { + default = "de"; + timezone = "Europe/Berlin"; + }; + mail = { + from = "no-reply@tickets.weinturm-open-air.de"; + }; + redis.location = "unix:///run/redis-pretix/redis.sock?db=0"; + celery.backend = "redis+socket:///run/redis-pretix/redis.sock?virtual_host=2"; + celery.broker = "redis+socket:///run/redis-pretix/redis.sock?virtual_host=1"; + }; + nginx = { + enable = true; + inherit domain; + }; + gunicorn = { + extraArgs = [ + "--workers=${toString gunicornWorkers}" + ]; + }; + }; + + pretix-banktool = { + enable = true; + days = 14; + secretsFile = config.sops.secrets.pretix-banktool-cfg.path; + }; + + nginx = lib.mkIf cfg.nginx.enable { + recommendedGzipSettings = true; + recommendedOptimisation = true; + recommendedProxySettings = true; + recommendedTlsSettings = true; + virtualHosts = { + "${cfg.nginx.domain}" = { + enableACME = true; + forceSSL = true; + kTLS = true; + extraConfig = '' + add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains; preload' always; + more_set_headers Referrer-Policy same-origin; + more_set_headers X-Content-Type-Options nosniff; + ''; + serverAliases = extraDomains; + }; + }; + }; }; } diff --git a/modules/bluetooth.nix b/modules/bluetooth.nix index 4b3cf33..6c478b7 100644 --- a/modules/bluetooth.nix +++ b/modules/bluetooth.nix @@ -9,9 +9,11 @@ in }; config = lib.mkIf cfg.bluetooth.enable { hardware.bluetooth.enable = true; - services.blueman.enable = true; - services.ofono.enable = true; - services.upower.enable = true; + services = { + blueman.enable = true; + ofono.enable = true; + upower.enable = true; + }; hardware.bluetooth.settings.General.Experimental = true; # to show battery state }; } diff --git a/modules/luksusb.nix b/modules/luksusb.nix index 1edb442..2015955 100644 --- a/modules/luksusb.nix +++ b/modules/luksusb.nix @@ -45,20 +45,19 @@ in }); }; }; - config = lib.mkIf cfg.enable - ( - let - makeUsbDevPath = usbDevice: "/dev/disk/" + usbDevice; - makeMountPath = usbDevice: "/key/" + (builtins.hashString "md5" usbDevice); - usbFsType = "vfat"; + config = lib.mkIf cfg.enable ( + let + makeUsbDevPath = usbDevice: "/dev/disk/" + usbDevice; + makeMountPath = usbDevice: "/key/" + (builtins.hashString "md5" usbDevice); + usbFsType = "vfat"; - mapAttrsNameValue = f: set: - lib.listToAttrs (map f (lib.attrsToList set)); - in - { - boot.initrd.kernelModules = [ "uas" "usbcore" "usb_storage" "vfat" "nls_cp437" "nls_iso8859_1" ]; - - boot.initrd.systemd.services = + mapAttrsNameValue = f: set: + lib.listToAttrs (map f (lib.attrsToList set)); + in + { + boot.initrd = { + kernelModules = [ "uas" "usbcore" "usb_storage" "vfat" "nls_cp437" "nls_iso8859_1" ]; + systemd.services = let makeService = name: { keyPath, usbDevice, waitForDevice }: let @@ -89,7 +88,12 @@ in if [ -e ${lib.escapeShellArg usbDevPath} ]; then mkdir -m0500 -p ${lib.escapeShellArg usbMountPath} - mount -n -t ${lib.escapeShellArg usbFsType} -o ro,fmask=0137,dmask=0027 ${lib.escapeShellArg usbDevPath} ${lib.escapeShellArg usbMountPath} + mount \ + -n \ + -t ${lib.escapeShellArg usbFsType} \ + -o ro,fmask=0137,dmask=0027 \ + ${lib.escapeShellArg usbDevPath} \ + ${lib.escapeShellArg usbMountPath} fi ''; }; @@ -101,7 +105,7 @@ in }) cfg.devices; - boot.initrd.luks.devices = builtins.mapAttrs + luks.devices = builtins.mapAttrs (name: { keyPath, usbDevice, ... }: let usbMountPath = makeMountPath usbDevice; @@ -111,6 +115,7 @@ in keyFileTimeout = 1; }) cfg.devices; - } - ); + }; + } + ); } diff --git a/modules/mailserver/postfix.nix b/modules/mailserver/postfix.nix index 15d1d72..78ee32b 100644 --- a/modules/mailserver/postfix.nix +++ b/modules/mailserver/postfix.nix @@ -5,26 +5,26 @@ let listToString = lib.concatStringsSep ","; # List of attribute sets with single key-value pair - plainAliases = (lib.flatten + plainAliases = lib.flatten (map ({ address, aliases, ... }: map (alias: { "${alias}" = address; }) (aliases ++ lib.singleton address)) - cfg.users)); + cfg.users); # Attribute set with every alias mapped to a list of receivers - mergedAliases = (lib.attrsets.foldAttrs + mergedAliases = lib.attrsets.foldAttrs (val: col: lib.singleton val ++ col) [ ] - plainAliases); + plainAliases; # Contents of the aliases file - aliasesString = (lib.concatStringsSep + aliasesString = lib.concatStringsSep "\n" (lib.mapAttrsToList (alias: addresses: "${alias} ${listToString addresses}") - mergedAliases)); + mergedAliases); valiases = pkgs.writeText "valiases" aliasesString; @@ -38,7 +38,7 @@ lib.mkIf cfg.enable { services.postfix = { enable = true; - relayPort = cfg.relayPort; + inherit (cfg) relayPort; enableSubmission = false; # plain/STARTTLS (latter is forced in submissionOptions) enableSubmissions = true; # submission with implicit TLS (TCP/465) diff --git a/modules/mailserver/rspamd.nix b/modules/mailserver/rspamd.nix index a7e0992..ee205de 100644 --- a/modules/mailserver/rspamd.nix +++ b/modules/mailserver/rspamd.nix @@ -6,7 +6,7 @@ let # nix shell nixpkgs#rspamd -c \ # rspamadm dkim_keygen -s default -d example.com -b 4096 -k /dev/shm/dkim.key > dkim.txt - dkimEnabledDomains = (lib.filter (d: d.enableDKIM) cfg.domains); + dkimEnabledDomains = lib.filter (d: d.enableDKIM) cfg.domains; dkimSignatureDir = pkgs.stdenvNoCC.mkDerivation { name = "dkim-signatures"; dontUnpack = true; diff --git a/modules/matrix/default.nix b/modules/matrix/default.nix index d237ca5..bbdce2d 100644 --- a/modules/matrix/default.nix +++ b/modules/matrix/default.nix @@ -65,7 +65,7 @@ in type = port; }; settings = mkOption { - type = (pkgs.formats.json { }).type; + inherit ((pkgs.formats.json { })) type; }; }; mautrix-whatsapp = { @@ -75,7 +75,7 @@ in type = port; }; settings = mkOption { - type = (pkgs.formats.json { }).type; + inherit ((pkgs.formats.json { })) type; }; }; }; diff --git a/modules/matrix/mautrix-signal.nix b/modules/matrix/mautrix-signal.nix index d1db25d..09c932e 100644 --- a/modules/matrix/mautrix-signal.nix +++ b/modules/matrix/mautrix-signal.nix @@ -16,7 +16,7 @@ lib.mkIf cfg.mautrix-signal.enable { }; appservice = rec { hostname = "127.0.0.1"; - port = cfg.mautrix-signal.port; + inherit (cfg.mautrix-signal) port; address = "http://${hostname}:${toString port}"; provisioning.shared_secret = "disable"; database = "sqlite:///${dataDir}/mautrix-signal.db"; diff --git a/modules/matrix/mautrix-whatsapp.nix b/modules/matrix/mautrix-whatsapp.nix index aa49668..f365efc 100644 --- a/modules/matrix/mautrix-whatsapp.nix +++ b/modules/matrix/mautrix-whatsapp.nix @@ -15,7 +15,7 @@ lib.mkIf cfg.mautrix-whatsapp.enable { }; appservice = rec { hostname = "127.0.0.1"; - port = cfg.mautrix-whatsapp.port; + inherit (cfg.mautrix-whatsapp) port; address = "http://${hostname}:${toString port}"; provisioning.shared_secret = "disable"; database = { diff --git a/modules/matrix/synapse.nix b/modules/matrix/synapse.nix index d29c4d4..c590b42 100644 --- a/modules/matrix/synapse.nix +++ b/modules/matrix/synapse.nix @@ -4,84 +4,107 @@ let cfg = config.jalr.matrix; in lib.mkIf cfg.enable { - services.matrix-synapse = { - enable = true; + services = { + matrix-synapse = { + enable = true; - settings = { - server_name = cfg.domain; - public_baseurl = "https://${cfg.fqdn}"; + settings = { + server_name = cfg.domain; + public_baseurl = "https://${cfg.fqdn}"; - database.name = "sqlite3"; + database.name = "sqlite3"; - listeners = lib.singleton { - port = cfg.synapse.port; - bind_addresses = [ "127.0.0.1" "::1" ]; - type = "http"; - tls = false; - x_forwarded = true; - resources = lib.singleton { - names = [ "client" "federation" "metrics" ]; - compress = false; + listeners = lib.singleton { + inherit (cfg.synapse) port; + bind_addresses = [ "127.0.0.1" "::1" ]; + type = "http"; + tls = false; + x_forwarded = true; + resources = lib.singleton { + names = [ "client" "federation" "metrics" ]; + compress = false; + }; }; + + turn_uris = [ + "turns:${cfg.turn.host}:5349?transport=udp" + "turns:${cfg.turn.host}:5349?transport=tcp" + "turn:${cfg.turn.host}:3478?transport=udp" + "turn:${cfg.turn.host}:3478?transport=tcp" + ]; + turn_user_lifetime = "1h"; + + enable_metrics = true; + + # adapted from https://github.com/NixOS/nixpkgs/blob/7e10bf4327491a6ebccbe1aaa8e6c6c0aca4663a/nixos/modules/services/misc/matrix-synapse-log_config.yaml + # - set root.level to WARNING instead of INFO + log_config = pkgs.writeText "log_config.yaml" (builtins.toJSON { + version = 1; + + formatters.journal_fmt.format = "%(name)s: [%(request)s] %(message)s"; + + filters.context = { + "()" = "synapse.util.logcontext.LoggingContextFilter"; + request = ""; + }; + + handlers.journal = { + class = "systemd.journal.JournalHandler"; + formatter = "journal_fmt"; + filters = [ "context" ]; + SYSLOG_IDENTIFIER = "synapse"; + }; + + root = { + level = "WARNING"; + handlers = [ "journal" ]; + }; + + disable_existing_loggers = false; + }); + + max_upload_size = "50M"; + + # I’m okay with using matrix.org as trusted key server + suppress_key_server_warning = true; + + # For mautrix-whatsapp backfilling + experimental_features.msc2716_enabled = true; }; - turn_uris = [ - "turns:${cfg.turn.host}:5349?transport=udp" - "turns:${cfg.turn.host}:5349?transport=tcp" - "turn:${cfg.turn.host}:3478?transport=udp" - "turn:${cfg.turn.host}:3478?transport=tcp" + extraConfigFiles = [ + cfg.turn.sharedSecretFile ]; - turn_user_lifetime = "1h"; - - enable_metrics = true; - - # adapted from https://github.com/NixOS/nixpkgs/blob/7e10bf4327491a6ebccbe1aaa8e6c6c0aca4663a/nixos/modules/services/misc/matrix-synapse-log_config.yaml - # - set root.level to WARNING instead of INFO - log_config = pkgs.writeText "log_config.yaml" (builtins.toJSON { - version = 1; - - formatters.journal_fmt.format = "%(name)s: [%(request)s] %(message)s"; - - filters.context = { - "()" = "synapse.util.logcontext.LoggingContextFilter"; - request = ""; - }; - - handlers.journal = { - class = "systemd.journal.JournalHandler"; - formatter = "journal_fmt"; - filters = [ "context" ]; - SYSLOG_IDENTIFIER = "synapse"; - }; - - root = { - level = "WARNING"; - handlers = [ "journal" ]; - }; - - disable_existing_loggers = false; - }); - - max_upload_size = "50M"; - - # I’m okay with using matrix.org as trusted key server - suppress_key_server_warning = true; - - # For mautrix-whatsapp backfilling - experimental_features.msc2716_enabled = true; }; - extraConfigFiles = [ - cfg.turn.sharedSecretFile - ]; + matrix-synapse.settings.app_service_config_files = lib.attrsets.mapAttrsToList + ( + name: value: + "/run/matrix-synapse/app_service_config/${name}.yaml" + ) + cfg.synapse.app_service_config; + + nginx.virtualHosts = { + "${cfg.fqdn}" = { + enableACME = true; + forceSSL = true; + + locations."/_matrix" = + let + listenerCfg = lib.elemAt config.services.matrix-synapse.settings.listeners 0; + in + { + proxyPass = "http://${lib.elemAt listenerCfg.bind_addresses 0}:${toString listenerCfg.port}"; + + extraConfig = '' + client_max_body_size ${config.services.matrix-synapse.settings.max_upload_size}; + ''; + }; + }; + + }; }; - services.matrix-synapse.settings.app_service_config_files = lib.attrsets.mapAttrsToList - ( - name: value: - "/run/matrix-synapse/app_service_config/${name}.yaml" - ) - cfg.synapse.app_service_config; systemd.services.matrix-synapse = { restartTriggers = lib.attrsets.mapAttrsToList ( @@ -109,24 +132,4 @@ lib.mkIf cfg.enable { cfg.synapse.app_service_config; }; }; - - services.nginx.virtualHosts = { - "${cfg.fqdn}" = { - enableACME = true; - forceSSL = true; - - locations."/_matrix" = - let - listenerCfg = (lib.elemAt config.services.matrix-synapse.settings.listeners 0); - in - { - proxyPass = "http://${lib.elemAt listenerCfg.bind_addresses 0}:${toString listenerCfg.port}"; - - extraConfig = '' - client_max_body_size ${config.services.matrix-synapse.settings.max_upload_size}; - ''; - }; - }; - - }; } diff --git a/modules/nix.nix b/modules/nix.nix index 3135b37..689184e 100644 --- a/modules/nix.nix +++ b/modules/nix.nix @@ -45,7 +45,7 @@ (final: prev: { master = import inputs.nixpkgsMaster { inherit system; - config = prev.config; + inherit (prev) config; }; }) ]; diff --git a/modules/providers/hetzner-cloud.nix b/modules/providers/hetzner-cloud.nix index 3fb1032..c1e0b16 100644 --- a/modules/providers/hetzner-cloud.nix +++ b/modules/providers/hetzner-cloud.nix @@ -67,7 +67,7 @@ in extraArgs = [ "-f" ]; postCreateHook = let - device = cfg.devices.disk.virt.content.partitions.linux.device; + inherit (cfg.devices.disk.virt.content.partitions.linux) device; in '' mountpoint="$(mktemp -d)" diff --git a/modules/qbittorrent/default.nix b/modules/qbittorrent/default.nix index 6065479..12771a4 100644 --- a/modules/qbittorrent/default.nix +++ b/modules/qbittorrent/default.nix @@ -49,7 +49,7 @@ in ]; sops.secrets.sturzbach-htpasswd = { - sopsFile = cfg.sopsFile; + inherit (cfg) sopsFile; owner = "nginx"; }; diff --git a/modules/sway.nix b/modules/sway.nix index a840d71..5dda16f 100644 --- a/modules/sway.nix +++ b/modules/sway.nix @@ -1,10 +1,14 @@ { config, lib, pkgs, ... }: lib.mkIf (config.jalr.gui.enable && config.jalr.gui.desktop == "sway") { - programs.sway = { - enable = true; - xwayland.enable = true; - wrapperFeatures.gtk = true; + programs = { + wshowkeys.enable = true; + dconf.enable = true; + sway = { + enable = true; + xwayland.enable = true; + wrapperFeatures.gtk = true; + }; }; hardware.graphics.enable = true; @@ -19,6 +23,7 @@ lib.mkIf (config.jalr.gui.enable && config.jalr.gui.desktop == "sway") { }]; xdg = { + icons.enable = true; portal = { enable = true; extraPortals = with pkgs; [ @@ -27,13 +32,8 @@ lib.mkIf (config.jalr.gui.enable && config.jalr.gui.desktop == "sway") { ]; xdgOpenUsePortal = true; }; - icons.enable = true; }; - programs.wshowkeys.enable = true; - - programs.dconf.enable = true; - environment.systemPackages = with pkgs; [ adwaita-icon-theme ]; diff --git a/modules/unfree.nix b/modules/unfree.nix index 3394261..e5f3549 100644 --- a/modules/unfree.nix +++ b/modules/unfree.nix @@ -1,8 +1,8 @@ { lib, ... }: { - nixpkgs.config.allowUnfreePredicate = (pkg: lib.elem (lib.getName pkg) [ + nixpkgs.config.allowUnfreePredicate = pkg: lib.elem (lib.getName pkg) [ "unifi-controller" "mongodb" - ]); + ]; } diff --git a/pkgs/default.nix b/pkgs/default.nix index 974d6a2..2671fe0 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,4 +1,4 @@ -{ ... }@inputs: +inputs: final: prev: let diff --git a/pkgs/myintercom-doorbell/module.nix b/pkgs/myintercom-doorbell/module.nix index 066b9ca..3dfefde 100644 --- a/pkgs/myintercom-doorbell/module.nix +++ b/pkgs/myintercom-doorbell/module.nix @@ -84,73 +84,73 @@ in config = lib.mkIf cfg.enable { environment.etc."myintercom-doorbell/settings.json".text = builtins.toJSON { - host = cfg.host; - username = cfg.username; - passwordFile = cfg.passwordFile; + inherit (cfg) host; + inherit (cfg) username; + inherit (cfg) passwordFile; audiosocket = { - address = cfg.audiosocket.address; - port = cfg.audiosocket.port; - uuid = cfg.audiosocket.uuid; + inherit (cfg.audiosocket) address; + inherit (cfg.audiosocket) port; + inherit (cfg.audiosocket) uuid; }; - callerId = cfg.callerId; - dialTime = cfg.dialTime; + inherit (cfg) callerId; + inherit (cfg) dialTime; }; - systemd.services.myintercom-doorbell-poll = { - enable = cfg.enable; - description = "Polls myintercom doorbell ring button status."; - after = [ "asterisk.service" "network.target" ]; - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - Type = "simple"; - User = "asterisk"; - # @TODO: Use unstable only until 23.11 is released - ExecStart = "${pkgs.myintercom-doorbell}/bin/myintercom-doorbell-poll"; + systemd.services = { + myintercom-doorbell-poll = { + inherit (cfg) enable; + description = "Polls myintercom doorbell ring button status."; + after = [ "asterisk.service" "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "simple"; + User = "asterisk"; + # @TODO: Use unstable only until 23.11 is released + ExecStart = "${pkgs.myintercom-doorbell}/bin/myintercom-doorbell-poll"; + }; }; - }; - - systemd.services.myintercom-doorbell-audiosocket = { - enable = cfg.enable; - description = "myintercom doorbell AudioSocket for Asterisk"; - requires = [ "asterisk.service" ]; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - Type = "simple"; - DynamicUser = true; - CapabilityBoundingSet = null; - PrivateUsers = true; - ProtectHome = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; - RestrictNamespaces = true; - SystemCallFilter = "@system-service"; - LoadCredential = "password:${cfg.passwordFile}"; - Environment = [ - "LISTEN_ADDRESS=${cfg.audiosocket.address}" - "LISTEN_PORT=${toString cfg.audiosocket.port}" - "HOST=${cfg.host}" - "USERNAME=${cfg.username}" - "PASSWORD_FILE=%d/password" - ]; - ExecStart = "${pkgs.myintercom-doorbell}/bin/myintercom-doorbell-audiosocket"; + myintercom-doorbell-audiosocket = { + inherit (cfg) enable; + description = "myintercom doorbell AudioSocket for Asterisk"; + requires = [ "asterisk.service" ]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "simple"; + DynamicUser = true; + CapabilityBoundingSet = null; + PrivateUsers = true; + ProtectHome = true; + RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + RestrictNamespaces = true; + SystemCallFilter = "@system-service"; + LoadCredential = "password:${cfg.passwordFile}"; + Environment = [ + "LISTEN_ADDRESS=${cfg.audiosocket.address}" + "LISTEN_PORT=${toString cfg.audiosocket.port}" + "HOST=${cfg.host}" + "USERNAME=${cfg.username}" + "PASSWORD_FILE=%d/password" + ]; + ExecStart = "${pkgs.myintercom-doorbell}/bin/myintercom-doorbell-audiosocket"; + }; }; - }; - - systemd.services.myintercom-doorbell-cam-proxy = { - enable = cfg.cam.enable; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - description = "Proxies the videostream of myintercom doorbell."; - script = '' - sed "s:__PASSWORD__:$(cat "$PASSWORD_FILE"):" "${mediamtxConfig}" | ${pkgs.master.mediamtx}/bin/mediamtx /dev/stdin - ''; - serviceConfig = { - Type = "simple"; - DynamicUser = true; - LoadCredential = "password:${cfg.passwordFile}"; - Environment = [ - "PASSWORD_FILE=%d/password" - ]; + myintercom-doorbell-cam-proxy = { + inherit (cfg.cam) enable; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + description = "Proxies the videostream of myintercom doorbell."; + script = '' + sed "s:__PASSWORD__:$(cat "$PASSWORD_FILE"):" "${mediamtxConfig}" | ${pkgs.master.mediamtx}/bin/mediamtx /dev/stdin + ''; + serviceConfig = { + Type = "simple"; + DynamicUser = true; + LoadCredential = "password:${cfg.passwordFile}"; + Environment = [ + "PASSWORD_FILE=%d/password" + ]; + }; }; }; }; diff --git a/pkgs/wofi-bluetooth/wofi-bluetooth.nix b/pkgs/wofi-bluetooth/wofi-bluetooth.nix index 1b1cad6..5f6e408 100644 --- a/pkgs/wofi-bluetooth/wofi-bluetooth.nix +++ b/pkgs/wofi-bluetooth/wofi-bluetooth.nix @@ -8,8 +8,8 @@ stdenv.mkDerivation rec { pname = "wofi-bluetooth"; - version = rofi-bluetooth.version; - src = rofi-bluetooth.src; + inherit (rofi-bluetooth) version; + inherit (rofi-bluetooth) src; patches = [ ./wofi-bluetooth.patch ]; diff --git a/users/jalr/modules/alacritty.nix b/users/jalr/modules/alacritty.nix index 77f3b5b..4196df8 100644 --- a/users/jalr/modules/alacritty.nix +++ b/users/jalr/modules/alacritty.nix @@ -128,7 +128,7 @@ in { programs.alacritty = { - enable = nixosConfig.jalr.gui.enable; + inherit (nixosConfig.jalr.gui) enable; }; xdg.configFile = lib.attrsets.mapAttrs' diff --git a/users/jalr/modules/aws.nix b/users/jalr/modules/aws.nix index 85bbd23..c37e6d5 100644 --- a/users/jalr/modules/aws.nix +++ b/users/jalr/modules/aws.nix @@ -1,7 +1,7 @@ { nixosConfig, lib, pkgs, config, ... }: let - xdg = config.xdg; + inherit (config) xdg; in { config = lib.mkIf nixosConfig.jalr.aws.enable { @@ -17,7 +17,7 @@ in xdg.configFile."aws/config".text = lib.generators.toINI { } ( lib.mapAttrs' (name: value: - lib.attrsets.nameValuePair ("profile ${name}") (value) + lib.attrsets.nameValuePair "profile ${name}" value ) nixosConfig.jalr.aws.accounts // diff --git a/users/jalr/modules/cli/htop.nix b/users/jalr/modules/cli/htop.nix index 86dbf6c..cc0b753 100644 --- a/users/jalr/modules/cli/htop.nix +++ b/users/jalr/modules/cli/htop.nix @@ -12,8 +12,7 @@ } // (with config.lib.htop; leftMeters ([ (bar "LeftCPUs") (bar "Memory") - ] ++ lib.lists.optional nixosConfig.zramSwap.enable (bar "Zram") ++ [ - ] ++ lib.lists.optional (!(nixosConfig.swapDevices == [ ])) (bar "Swap") ++ [ + ] ++ lib.lists.optional nixosConfig.zramSwap.enable (bar "Zram") ++ lib.lists.optional (nixosConfig.swapDevices != [ ]) (bar "Swap") ++ [ (bar "DiskIO") ])) // (with config.lib.htop; rightMeters [ (bar "RightCPUs") diff --git a/users/jalr/modules/dynamic-colors.nix b/users/jalr/modules/dynamic-colors.nix index 2b1548a..cb318e0 100644 --- a/users/jalr/modules/dynamic-colors.nix +++ b/users/jalr/modules/dynamic-colors.nix @@ -40,18 +40,16 @@ let target = "myclirc"; } { - exec = ( + exec = if nixosConfig.jalr.gui.enable then [ "/usr/bin/env" "gsettings" "set" "org.gnome.desktop.interface" "color-scheme" "prefer-%scheme%" ] - else null - ); + else null; } { - exec = ( + exec = if nixosConfig.jalr.gui.enable then [ "/usr/bin/env" "gsettings" "set" "org.gnome.desktop.interface" "gtk-theme" "Adwaita-%scheme%" ] - else null - ); + else null; } ]; dynamic-colors = pkgs.writers.writePython3Bin "dynamic-colors" { } '' diff --git a/users/jalr/modules/firefox/default.nix b/users/jalr/modules/firefox/default.nix index aab0eac..db34d62 100644 --- a/users/jalr/modules/firefox/default.nix +++ b/users/jalr/modules/firefox/default.nix @@ -1,7 +1,7 @@ { nixosConfig, pkgs, ... }: { programs.firefox = { - enable = nixosConfig.jalr.gui.enable; + inherit (nixosConfig.jalr.gui) enable; package = pkgs.firefox-esr; policies = { AllowedDomainsForApps = ""; @@ -155,113 +155,115 @@ } ]; */ - SearchEngines.Default = "DuckDuckGo"; - SearchEngines.Remove = [ - "Google" - "Wikipedia (en)" - ]; - SearchEngines.Add = [ - { - Name = "Startpage"; - URLTemplate = "https://www.startpage.com/sp/search"; - Method = "POST"; - PostData = "qadf=none&query={searchTerms}"; - IconURL = "https://www.startpage.com/sp/cdn/favicons/mobile/android-icon-192x192.png"; - Alias = "sp"; - } - { - Name = "DuckDuckGo"; - URLTemplate = "https://duckduckgo.com/?q={searchTerms}"; - Method = "GET"; - IconURL = "https://duckduckgo.com/favicon.ico"; - Alias = "ddg"; - } + SearchEngines = { + Default = "DuckDuckGo"; + Remove = [ + "Google" + "Wikipedia (en)" + ]; + Add = [ + { + Name = "Startpage"; + URLTemplate = "https://www.startpage.com/sp/search"; + Method = "POST"; + PostData = "qadf=none&query={searchTerms}"; + IconURL = "https://www.startpage.com/sp/cdn/favicons/mobile/android-icon-192x192.png"; + Alias = "sp"; + } + { + Name = "DuckDuckGo"; + URLTemplate = "https://duckduckgo.com/?q={searchTerms}"; + Method = "GET"; + IconURL = "https://duckduckgo.com/favicon.ico"; + Alias = "ddg"; + } - # Wikipedia - { - Name = "Wikipedia en"; - URLTemplate = "https://en.wikipedia.org/wiki/Special:Search?search={searchTerms}"; - Method = "GET"; - IconURL = "https://en.wikipedia.org/static/images/icons/wikipedia.png"; - Alias = "wen"; - } - { - Name = "Wikipedia de"; - URLTemplate = "https://de.wikipedia.org/w/index.php?search={searchTerms}"; - Method = "GET"; - IconURL = "https://www.wikipedia.de/img/wikipedia.png"; - Alias = "wde"; - } - { - Name = "Nix Packages"; - URLTemplate = "https://search.nixos.org/packages?query={searchTerms}"; - Method = "GET"; - IconURL = "https://nixos.org/favicon.png"; - Alias = "pkg"; - } - { - Name = "NixOS Options"; - URLTemplate = "https://search.nixos.org/options?query={searchTerms}"; - Method = "GET"; - IconURL = "https://nixos.org/favicon.png"; - Alias = "opt"; - } - { - Name = "Docker images"; - URLTemplate = "https://hub.docker.com/search/?q={searchTerms}"; - Method = "GET"; - IconURL = "https://hub.docker.com/favicon.ico"; - Alias = "docker"; - } - { - Name = "GitHub"; - URLTemplate = "https://github.com/search?q={searchTerms}"; - Method = "GET"; - IconURL = "https://github.githubassets.com/favicons/favicon.svg"; - Alias = "gh"; - } + # Wikipedia + { + Name = "Wikipedia en"; + URLTemplate = "https://en.wikipedia.org/wiki/Special:Search?search={searchTerms}"; + Method = "GET"; + IconURL = "https://en.wikipedia.org/static/images/icons/wikipedia.png"; + Alias = "wen"; + } + { + Name = "Wikipedia de"; + URLTemplate = "https://de.wikipedia.org/w/index.php?search={searchTerms}"; + Method = "GET"; + IconURL = "https://www.wikipedia.de/img/wikipedia.png"; + Alias = "wde"; + } + { + Name = "Nix Packages"; + URLTemplate = "https://search.nixos.org/packages?query={searchTerms}"; + Method = "GET"; + IconURL = "https://nixos.org/favicon.png"; + Alias = "pkg"; + } + { + Name = "NixOS Options"; + URLTemplate = "https://search.nixos.org/options?query={searchTerms}"; + Method = "GET"; + IconURL = "https://nixos.org/favicon.png"; + Alias = "opt"; + } + { + Name = "Docker images"; + URLTemplate = "https://hub.docker.com/search/?q={searchTerms}"; + Method = "GET"; + IconURL = "https://hub.docker.com/favicon.ico"; + Alias = "docker"; + } + { + Name = "GitHub"; + URLTemplate = "https://github.com/search?q={searchTerms}"; + Method = "GET"; + IconURL = "https://github.githubassets.com/favicons/favicon.svg"; + Alias = "gh"; + } - # Shopping - { - Name = "Amazon de"; - URLTemplate = "https://www.amazon.de/s?k={searchTerms}"; - Method = "GET"; - IconURL = "https://www.amazon.de/favicon.ico"; - Alias = "amde"; - } - { - Name = "Ebay de"; - URLTemplate = "https://www.ebay.de/sch/i.html?_nkw={searchTerms}"; - Method = "GET"; - IconURL = "https://pages.ebay.com/favicon.ico"; - Alias = "ebde"; - } + # Shopping + { + Name = "Amazon de"; + URLTemplate = "https://www.amazon.de/s?k={searchTerms}"; + Method = "GET"; + IconURL = "https://www.amazon.de/favicon.ico"; + Alias = "amde"; + } + { + Name = "Ebay de"; + URLTemplate = "https://www.ebay.de/sch/i.html?_nkw={searchTerms}"; + Method = "GET"; + IconURL = "https://pages.ebay.com/favicon.ico"; + Alias = "ebde"; + } - # Dictionary - { - Name = "dict.cc"; - URLTemplate = "https://www.dict.cc/?s={searchTerms}"; - Method = "GET"; - IconURL = "https://www4.dict.cc/img/favicons/favicon4.png"; - Alias = "dcc"; - } - { - Name = "Duden"; - URLTemplate = "https://www.duden.de/suchen/dudenonline/{searchTerms}"; - Method = "GET"; - IconURL = "https://www.duden.de/sites/default/res/apple-touch-icon/180x180.png"; - Alias = "duden"; - } + # Dictionary + { + Name = "dict.cc"; + URLTemplate = "https://www.dict.cc/?s={searchTerms}"; + Method = "GET"; + IconURL = "https://www4.dict.cc/img/favicons/favicon4.png"; + Alias = "dcc"; + } + { + Name = "Duden"; + URLTemplate = "https://www.duden.de/suchen/dudenonline/{searchTerms}"; + Method = "GET"; + IconURL = "https://www.duden.de/sites/default/res/apple-touch-icon/180x180.png"; + Alias = "duden"; + } - # Map - { - Name = "OpenStreetMap"; - URLTemplate = "https://www.openstreetmap.org/search?query={searchTerms}"; - Method = "GET"; - IconURL = "https://www.openstreetmap.org/assets/favicon-194x194-79d3fb0152c735866e64b1d7535d504483cd13c2fad0131a6142bd9629d30de2.png"; - Alias = "osm"; - } - ]; + # Map + { + Name = "OpenStreetMap"; + URLTemplate = "https://www.openstreetmap.org/search?query={searchTerms}"; + Method = "GET"; + IconURL = "https://www.openstreetmap.org/assets/favicon-194x194-79d3fb0152c735866e64b1d7535d504483cd13c2fad0131a6142bd9629d30de2.png"; + Alias = "osm"; + } + ]; + }; }; profiles.default = { id = 0; diff --git a/users/jalr/modules/fish.nix b/users/jalr/modules/fish.nix index 0ca1af4..02ff97b 100644 --- a/users/jalr/modules/fish.nix +++ b/users/jalr/modules/fish.nix @@ -169,36 +169,38 @@ }; }; - xdg.configFile."fish/completions/mycli.fish".text = '' - complete -e -c mycli - complete -c mycli -f - complete -c mycli -f -s h -l host -d "Host address of the database." - complete -c mycli -f -s P -l port -d "Port number to use for connection." - complete -c mycli -f -s u -l user -d "User name to connect to the database." - complete -c mycli -f -s S -l socket -d "The socket file to use for connection." - complete -c mycli -f -s p -l pass \ - -l password -d "Password to connect to the database." - complete -c mycli -f -s V -l version -d "Output mycli's version." - complete -c mycli -f -s v -l verbose -d "Verbose output." - complete -c mycli -f -s d -l dsn -d "Use DSN configured into the [alias_dsn] section of myclirc file." - complete -c mycli -f -l list-dsn -d "list of DSN configured into the [alias_dsn] section of myclirc file." + xdg.configFile = { + "fish/completions/mycli.fish".text = '' + complete -e -c mycli + complete -c mycli -f + complete -c mycli -f -s h -l host -d "Host address of the database." + complete -c mycli -f -s P -l port -d "Port number to use for connection." + complete -c mycli -f -s u -l user -d "User name to connect to the database." + complete -c mycli -f -s S -l socket -d "The socket file to use for connection." + complete -c mycli -f -s p -l pass \ + -l password -d "Password to connect to the database." + complete -c mycli -f -s V -l version -d "Output mycli's version." + complete -c mycli -f -s v -l verbose -d "Verbose output." + complete -c mycli -f -s d -l dsn -d "Use DSN configured into the [alias_dsn] section of myclirc file." + complete -c mycli -f -l list-dsn -d "list of DSN configured into the [alias_dsn] section of myclirc file." - complete -c mycli -f -s t -l table -d "Display batch output in table format." - complete -c mycli -f -l csv -d "Display batch output in CSV format." - complete -c mycli -f -l warn \ - -l no-warn -d "Warn before running a destructive query." - complete -c mycli -f -s e -l execute -d "Execute command and quit." + complete -c mycli -f -s t -l table -d "Display batch output in table format." + complete -c mycli -f -l csv -d "Display batch output in CSV format." + complete -c mycli -f -l warn \ + -l no-warn -d "Warn before running a destructive query." + complete -c mycli -f -s e -l execute -d "Execute command and quit." - complete -c mycli -f -s h -l host -r -a '(__fish_print_hostnames)' - complete -c mycli -f -s d -l dsn -r -a '(mycli --list-dsn)' - ''; + complete -c mycli -f -s h -l host -r -a '(__fish_print_hostnames)' + complete -c mycli -f -s d -l dsn -r -a '(mycli --list-dsn)' + ''; - xdg.configFile."fish/completions/myssh.fish".text = '' - complete -c myssh -f -a '(myssh --list)' - ''; + "fish/completions/myssh.fish".text = '' + complete -c myssh -f -a '(myssh --list)' + ''; - xdg.configFile."fish/completions/just.fish".source = pkgs.runCommand "just-fish-completions" { } '' - ${pkgs.just}/bin/just --completions fish > $out - ''; + "fish/completions/just.fish".source = pkgs.runCommand "just-fish-completions" { } '' + ${pkgs.just}/bin/just --completions fish > $out + ''; + }; } diff --git a/users/jalr/modules/gnuradio.nix b/users/jalr/modules/gnuradio.nix index d3bec15..05bb580 100644 --- a/users/jalr/modules/gnuradio.nix +++ b/users/jalr/modules/gnuradio.nix @@ -8,6 +8,6 @@ let pkgs.gnuradio3_8Packages; }; in -(lib.mkIf nixosConfig.jalr.gui.enable { +lib.mkIf nixosConfig.jalr.gui.enable { home.packages = [ gnuradioEnv ]; -}) +} diff --git a/users/jalr/modules/neovim/default.nix b/users/jalr/modules/neovim/default.nix index 8c9c53d..7effe7b 100644 --- a/users/jalr/modules/neovim/default.nix +++ b/users/jalr/modules/neovim/default.nix @@ -139,111 +139,112 @@ in ]); }; - xdg.configFile."nvim/lua/init.lua".text = builtins.concatStringsSep "\n" ( - [ - '' - -- init.lua - -- this configuration applies to servers and workstations - '' - ] ++ lib.optional nixosConfig.jalr.workstation.enable ( - '' - -- this configuration applies to workstations only - -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md - local lsp = require('lspconfig') - '' + - builtins.concatStringsSep "\n" ( - lib.mapAttrsToList - ( - lang: cfg: "lsp.${lang}.setup\n" + lib.generators.toLua { } cfg - ) - { - # C and C++ - ccls = { - cmd = [ "${pkgs.ccls}/bin/ccls" ]; - }; + xdg.configFile = { + "nvim/ftplugin/gitcommit.vim".text = '' + setlocal spell + setlocal colorcolumn=73 + ''; + "nvim/ftplugin/markdown.vim".text = '' + setlocal spell + setlocal colorcolumn=81 + ''; + "nvim/ftplugin/sshconfig.vim".text = '' + setlocal tabstop=4 shiftwidth=4 softtabstop=4 expandtab + ''; + "nvim/lua/init.lua".text = builtins.concatStringsSep "\n" ( + [ + '' + -- init.lua + -- this configuration applies to servers and workstations + '' + ] ++ lib.optional nixosConfig.jalr.workstation.enable ( + '' + -- this configuration applies to workstations only + -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md + local lsp = require('lspconfig') + '' + + builtins.concatStringsSep "\n" ( + lib.mapAttrsToList + ( + lang: cfg: "lsp.${lang}.setup\n" + lib.generators.toLua { } cfg + ) + { + # C and C++ + ccls = { + cmd = [ "${pkgs.ccls}/bin/ccls" ]; + }; - # Nix - nixd = { - cmd = [ "${pkgs.nixd}/bin/nixd" ]; - }; + # Nix + nixd = { + cmd = [ "${pkgs.nixd}/bin/nixd" ]; + }; - # PHP - phpactor = { - cmd = [ "${pkgs.phpactor}/bin/phpactor" "language-server" ]; - }; + # PHP + phpactor = { + cmd = [ "${pkgs.phpactor}/bin/phpactor" "language-server" ]; + }; - # Python - pylsp = { - cmd = [ "${pkgs.python3Packages.python-lsp-server}/bin/pylsp" ]; - settings = { - # https://github.com/python-lsp/python-lsp-server/blob/develop/CONFIGURATION.md - pylsp = { - plugins = { - flake8 = { - enabled = true; - executable = "${pkgs.python3Packages.flake8}/bin/flake8"; + # Python + pylsp = { + cmd = [ "${pkgs.python3Packages.python-lsp-server}/bin/pylsp" ]; + settings = { + # https://github.com/python-lsp/python-lsp-server/blob/develop/CONFIGURATION.md + pylsp = { + plugins = { + flake8 = { + enabled = true; + executable = "${pkgs.python3Packages.flake8}/bin/flake8"; + }; + jedi_completion = { enabled = true; }; + jedi_definition = { enabled = true; }; + jedi_hover = { enabled = true; }; + jedi_references = { enabled = true; }; + jedi_signature_help = { enabled = true; }; + jedi_symbols = { enabled = true; }; + mccabe = { enabled = true; }; + lsp_signature-nvim = { enabled = true; }; + preload = { enabled = true; }; + pycodestyle = { enabled = true; }; + pyflakes = { enabled = true; }; + rope_completion = { enabled = true; }; + yapf = { enabled = true; }; }; - jedi_completion = { enabled = true; }; - jedi_definition = { enabled = true; }; - jedi_hover = { enabled = true; }; - jedi_references = { enabled = true; }; - jedi_signature_help = { enabled = true; }; - jedi_symbols = { enabled = true; }; - mccabe = { enabled = true; }; - lsp_signature-nvim = { enabled = true; }; - preload = { enabled = true; }; - pycodestyle = { enabled = true; }; - pyflakes = { enabled = true; }; - rope_completion = { enabled = true; }; - yapf = { enabled = true; }; }; }; }; - }; - # Ruby - solargraph = { - cmd = [ "${pkgs.solargraph}/bin/solargraph" "stdio" ]; - }; + # Ruby + solargraph = { + cmd = [ "${pkgs.solargraph}/bin/solargraph" "stdio" ]; + }; - # Rust - rust_analyzer = { - cmd = [ "${pkgs.rust-analyzer}/bin/rust-analyzer" ]; - }; + # Rust + rust_analyzer = { + cmd = [ "${pkgs.rust-analyzer}/bin/rust-analyzer" ]; + }; - # Bash - bashls = { - cmd = [ "${pkgs.nodePackages.bash-language-server}/bin/bash-language-server" "start" ]; - }; + # Bash + bashls = { + cmd = [ "${pkgs.nodePackages.bash-language-server}/bin/bash-language-server" "start" ]; + }; - # Terraform - terraformls = { - cmd = [ "${pkgs.terraform-ls}/bin/terraform-ls" "serve" ]; - }; + # Terraform + terraformls = { + cmd = [ "${pkgs.terraform-ls}/bin/terraform-ls" "serve" ]; + }; - # YAML - yamlls = { - cmd = [ "${pkgs.nodePackages.yaml-language-server}/bin/yaml-language-server" "--stdio" ]; - settings = { - yaml = { - keyOrdering = false; + # YAML + yamlls = { + cmd = [ "${pkgs.nodePackages.yaml-language-server}/bin/yaml-language-server" "--stdio" ]; + settings = { + yaml = { + keyOrdering = false; + }; }; }; - }; - } + } + ) ) - ) - ); - - xdg.configFile."nvim/ftplugin/gitcommit.vim".text = '' - setlocal spell - setlocal colorcolumn=73 - ''; - xdg.configFile."nvim/ftplugin/markdown.vim".text = '' - setlocal spell - setlocal colorcolumn=81 - ''; - xdg.configFile."nvim/ftplugin/sshconfig.vim".text = '' - setlocal tabstop=4 shiftwidth=4 softtabstop=4 expandtab - ''; + ); + }; } diff --git a/users/jalr/modules/obs-studio/default.nix b/users/jalr/modules/obs-studio/default.nix index 545bcbd..ffd39b3 100644 --- a/users/jalr/modules/obs-studio/default.nix +++ b/users/jalr/modules/obs-studio/default.nix @@ -2,7 +2,7 @@ { programs.obs-studio = { - enable = nixosConfig.jalr.gui.enable; + inherit (nixosConfig.jalr.gui) enable; plugins = with pkgs; [ obs-studio-plugins.wlrobs ]; diff --git a/users/jalr/modules/sway/default.nix b/users/jalr/modules/sway/default.nix index af4dff4..5139fc9 100644 --- a/users/jalr/modules/sway/default.nix +++ b/users/jalr/modules/sway/default.nix @@ -35,7 +35,7 @@ let #gsettings set $gnome_schema gtk-theme 'Dracula' ${pkgs.glib}/bin/gsettings "$@" ''; - matchHostname = (hostname: lib.optionalAttrs (nixosConfig.networking.hostName == hostname)); + matchHostname = hostname: lib.optionalAttrs (nixosConfig.networking.hostName == hostname); resumeTimeTrackingNotification = pkgs.writeShellScript "resume-time-tracking-notification" '' export PATH=${pkgs.lib.makeBinPath [pkgs.timewarrior pkgs.libnotify]} task="$1" @@ -97,19 +97,6 @@ in end ''; - xdg.configFile."sway/light-theme".text = with solarized; '' - client.focused ${base01.hex} ${blue.hex} ${base3.hex} ${blue.hex} ${blue.hex} - client.focused_inactive ${base2.hex} ${base2.hex} ${base01.hex} ${base0.hex} ${base2.hex} - client.unfocused ${base2.hex} ${base3.hex} ${base01.hex} ${base2.hex} ${base2.hex} - client.urgent ${red.hex} ${red.hex} ${base3.hex} ${red.hex} ${red.hex} - ''; - xdg.configFile."sway/dark-theme".text = with solarized; '' - client.focused ${base1.hex} ${blue.hex} ${base03.hex} ${blue.hex} ${blue.hex} - client.focused_inactive ${base02.hex} ${base02.hex} ${base1.hex} ${base03.hex} ${base02.hex} - client.unfocused ${base02.hex} ${base03.hex} ${base1.hex} ${base02.hex} ${base02.hex} - client.urgent ${red.hex} ${red.hex} ${base03.hex} ${red.hex} ${red.hex} - ''; - wayland.windowManager.sway = { enable = true; @@ -379,26 +366,40 @@ in }; }; - xdg.configFile."swaynag/config".text = - let - # adding it to the header doesn’t work since the defaults overwrite it - commonConfig = /* ini */ '' - background=${lib.substring 1 6 solarized.base3.hex} - border-bottom=${lib.substring 1 6 solarized.base2.hex} - border=${lib.substring 1 6 solarized.base2.hex} - button-background=${lib.substring 1 6 solarized.base3.hex} - button-text=${lib.substring 1 6 solarized.base00.hex} - ''; - in - /* ini */ '' - font=Monospace 12 - - [warning] - text=${lib.substring 1 6 solarized.yellow.hex} - ${commonConfig} - - [error] - text=${lib.substring 1 6 solarized.red.hex} - ${commonConfig} + xdg.configFile = { + "sway/light-theme".text = with solarized; '' + client.focused ${base01.hex} ${blue.hex} ${base3.hex} ${blue.hex} ${blue.hex} + client.focused_inactive ${base2.hex} ${base2.hex} ${base01.hex} ${base0.hex} ${base2.hex} + client.unfocused ${base2.hex} ${base3.hex} ${base01.hex} ${base2.hex} ${base2.hex} + client.urgent ${red.hex} ${red.hex} ${base3.hex} ${red.hex} ${red.hex} ''; + "sway/dark-theme".text = with solarized; '' + client.focused ${base1.hex} ${blue.hex} ${base03.hex} ${blue.hex} ${blue.hex} + client.focused_inactive ${base02.hex} ${base02.hex} ${base1.hex} ${base03.hex} ${base02.hex} + client.unfocused ${base02.hex} ${base03.hex} ${base1.hex} ${base02.hex} ${base02.hex} + client.urgent ${red.hex} ${red.hex} ${base03.hex} ${red.hex} ${red.hex} + ''; + "swaynag/config".text = + let + # adding it to the header doesn’t work since the defaults overwrite it + commonConfig = /* ini */ '' + background=${lib.substring 1 6 solarized.base3.hex} + border-bottom=${lib.substring 1 6 solarized.base2.hex} + border=${lib.substring 1 6 solarized.base2.hex} + button-background=${lib.substring 1 6 solarized.base3.hex} + button-text=${lib.substring 1 6 solarized.base00.hex} + ''; + in + /* ini */ '' + font=Monospace 12 + + [warning] + text=${lib.substring 1 6 solarized.yellow.hex} + ${commonConfig} + + [error] + text=${lib.substring 1 6 solarized.red.hex} + ${commonConfig} + ''; + }; }) diff --git a/users/jalr/modules/sway/waybar.nix b/users/jalr/modules/sway/waybar.nix index a678232..7ff5976 100644 --- a/users/jalr/modules/sway/waybar.nix +++ b/users/jalr/modules/sway/waybar.nix @@ -18,7 +18,7 @@ let thinsp = " "; solarized = import ../solarized.nix; - solarizedColors = (as: lib.strings.concatLines (lib.attrsets.mapAttrsToList (name: value: let color = solarized."${value}".hex; in "@define-color ${name} ${color};") as)); + solarizedColors = as: lib.strings.concatLines (lib.attrsets.mapAttrsToList (name: value: let color = solarized."${value}".hex; in "@define-color ${name} ${color};") as); in { # home-manager’s waybar module performs additional checks that are overly strict @@ -227,198 +227,200 @@ in }; }; - xdg.configFile."waybar/theme-light.css".text = solarizedColors { - base00 = "base3"; - base01 = "base2"; - base02 = "base1"; - base03 = "base0"; - base04 = "base00"; - base05 = "base01"; - base06 = "base02"; - base07 = "base03"; - base08 = "red"; - base09 = "orange"; - base0A = "yellow"; - base0B = "green"; - base0C = "cyan"; - base0D = "blue"; - base0E = "violet"; - base0F = "magenta"; - }; - xdg.configFile."waybar/theme-dark.css".text = solarizedColors { - base00 = "base03"; - base01 = "base02"; - base02 = "base01"; - base03 = "base00"; - base04 = "base0"; - base05 = "base1"; - base06 = "base2"; - base07 = "base3"; - base08 = "red"; - base09 = "orange"; - base0A = "yellow"; - base0B = "green"; - base0C = "cyan"; - base0D = "blue"; - base0E = "violet"; - base0F = "magenta"; - }; - xdg.configFile."waybar/style.css".text = '' - @import "theme.css"; + xdg.configFile = { + "waybar/theme-light.css".text = solarizedColors { + base00 = "base3"; + base01 = "base2"; + base02 = "base1"; + base03 = "base0"; + base04 = "base00"; + base05 = "base01"; + base06 = "base02"; + base07 = "base03"; + base08 = "red"; + base09 = "orange"; + base0A = "yellow"; + base0B = "green"; + base0C = "cyan"; + base0D = "blue"; + base0E = "violet"; + base0F = "magenta"; + }; + "waybar/theme-dark.css".text = solarizedColors { + base00 = "base03"; + base01 = "base02"; + base02 = "base01"; + base03 = "base00"; + base04 = "base0"; + base05 = "base1"; + base06 = "base2"; + base07 = "base3"; + base08 = "red"; + base09 = "orange"; + base0A = "yellow"; + base0B = "green"; + base0C = "cyan"; + base0D = "blue"; + base0E = "violet"; + base0F = "magenta"; + }; + "waybar/style.css".text = '' + @import "theme.css"; - * { - border-radius: 0; - border: none; - font-family: "Iosevka Nerd Font"; - font-size: 14px; - min-height: 0; - transition-property: none; - } + * { + border-radius: 0; + border: none; + font-family: "Iosevka Nerd Font"; + font-size: 14px; + min-height: 0; + transition-property: none; + } - window#waybar { - background-color: @base00; - color: @base04; - } + window#waybar { + background-color: @base00; + color: @base04; + } - #workspaces button { - padding: 0 5px; - background-color: @base00; - color: inherit; - border-bottom: 2px solid transparent; - } + #workspaces button { + padding: 0 5px; + background-color: @base00; + color: inherit; + border-bottom: 2px solid transparent; + } - #workspaces button:hover { - background: @base01; - box-shadow: inherit; - text-shadow: inherit; - } + #workspaces button:hover { + background: @base01; + box-shadow: inherit; + text-shadow: inherit; + } - #workspaces button.focused { - border-bottom: 2px solid @base0B; - } + #workspaces button.focused { + border-bottom: 2px solid @base0B; + } - #workspaces button.urgent { - background-color: @base08; - } + #workspaces button.urgent { + background-color: @base08; + } - #mode { - background-color: @base01; - font-style: italic; - } + #mode { + background-color: @base01; + font-style: italic; + } - /* all modules on the right */ - #waybar > box > box:nth-child(3) > widget > label { - padding: 0 10px; - } + /* all modules on the right */ + #waybar > box > box:nth-child(3) > widget > label { + padding: 0 10px; + } - #battery.charging { - color: @base01; - background-color: @base0B; - } + #battery.charging { + color: @base01; + background-color: @base0B; + } - @keyframes blink { - to { + @keyframes blink { + to { + background-color: @base07; + color: @base03; + } + } + + #battery.critical:not(.charging), + #temperature.critical { + background-color: @base08; + animation-name: blink; + animation-duration: 0.5s; + /* FIXME use nearest neighbor interpolation if possible */ + animation-timing-function: cubic-bezier(1, 0, 0, 1); + animation-iteration-count: infinite; + animation-direction: alternate; + } + + #cpu { + background-color: @base0C; + color: @base01 + } + + #memory { + background-color: @base0A; + color: @base01 + } + + #backlight { background-color: @base07; color: @base03; } - } - #battery.critical:not(.charging), - #temperature.critical { - background-color: @base08; - animation-name: blink; - animation-duration: 0.5s; - /* FIXME use nearest neighbor interpolation if possible */ - animation-timing-function: cubic-bezier(1, 0, 0, 1); - animation-iteration-count: infinite; - animation-direction: alternate; - } + #network { + background-color: @base0E; + color: @base01 + } - #cpu { - background-color: @base0C; - color: @base01 - } + #network.disconnected { + background-color: @base08; + } - #memory { - background-color: @base0A; - color: @base01 - } + #pulseaudio { + background-color: @base07; + color: @base03; + } - #backlight { - background-color: @base07; - color: @base03; - } + #pulseaudio.muted { + background-color: @base00; + color: @base04; + } - #network { - background-color: @base0E; - color: @base01 - } + #temperature { + background-color: @base0F; + color: @base01; + } - #network.disconnected { - background-color: @base08; - } + #idle_inhibitor.activated { + background-color: @base07; + color: @base00; + } - #pulseaudio { - background-color: @base07; - color: @base03; - } + #custom-redshift { + color: @base01; + } - #pulseaudio.muted { - background-color: @base00; - color: @base04; - } + #custom-redshift.active { + background-color: @base08; + } - #temperature { - background-color: @base0F; - color: @base01; - } + #custom-redshift.inactive { + background-color: @base0D; + } - #idle_inhibitor.activated { - background-color: @base07; - color: @base00; - } + #tray { + padding: 0 5px; + } - #custom-redshift { - color: @base01; - } + #custom-notification_inhibitor.active { + background-color: @base07; + color: @base00; + } - #custom-redshift.active { - background-color: @base08; - } + #custom-screencast { + background-color: @base08; + color: @base00; + animation-name: blink; + animation-duration: 1s; + animation-timing-function: ease-in-out; + animation-iteration-count: infinite; + animation-direction: alternate; + } - #custom-redshift.inactive { - background-color: @base0D; - } + #custom-pomodoro.resumed { + color: @base01; + background-color: @base0B; + } - #tray { - padding: 0 5px; - } - - #custom-notification_inhibitor.active { - background-color: @base07; - color: @base00; - } - - #custom-screencast { - background-color: @base08; - color: @base00; - animation-name: blink; - animation-duration: 1s; - animation-timing-function: ease-in-out; - animation-iteration-count: infinite; - animation-direction: alternate; - } - - #custom-pomodoro.resumed { - color: @base01; - background-color: @base0B; - } - - #custom-dnd.active { - color: @base01; - background-color: @base0B; - } - ''; + #custom-dnd.active { + color: @base01; + background-color: @base0B; + } + ''; + }; systemd.user.services.waybar = { Unit = { diff --git a/users/jalr/modules/sway/wofi.nix b/users/jalr/modules/sway/wofi.nix index a5ed905..9180509 100644 --- a/users/jalr/modules/sway/wofi.nix +++ b/users/jalr/modules/sway/wofi.nix @@ -4,86 +4,88 @@ let solarized = import ../solarized.nix; in { - xdg.configFile."wofi/color-light".text = lib.strings.concatLines (map (c: solarized."${c}".hex) [ - "base3" - "base2" - "base1" - "base0" - "base00" - "base01" - "base02" - "base03" - "red" - "orange" - "yellow" - "green" - "cyan" - "blue" - "violet" - "magenta" - ]); - xdg.configFile."wofi/color-dark".text = lib.strings.concatLines (map (c: solarized."${c}".hex) [ - "base03" - "base02" - "base01" - "base00" - "base0" - "base1" - "base2" - "base3" - "red" - "orange" - "yellow" - "green" - "cyan" - "blue" - "violet" - "magenta" - ]); - xdg.configFile."wofi/style.css".text = '' - window { - margin: 0px; - border: 3px solid --wofi-color1; - border-radius: 8px; - background-color: rgba(--wofi-rgb-color0,0.8); - } + xdg.configFile = { + "wofi/color-light".text = lib.strings.concatLines (map (c: solarized."${c}".hex) [ + "base3" + "base2" + "base1" + "base0" + "base00" + "base01" + "base02" + "base03" + "red" + "orange" + "yellow" + "green" + "cyan" + "blue" + "violet" + "magenta" + ]); + "wofi/color-dark".text = lib.strings.concatLines (map (c: solarized."${c}".hex) [ + "base03" + "base02" + "base01" + "base00" + "base0" + "base1" + "base2" + "base3" + "red" + "orange" + "yellow" + "green" + "cyan" + "blue" + "violet" + "magenta" + ]); + "wofi/style.css".text = '' + window { + margin: 0px; + border: 3px solid --wofi-color1; + border-radius: 8px; + background-color: rgba(--wofi-rgb-color0,0.8); + } - #input { - margin: 5px; - border: none; - color: --wofi-color4; - background-color: rgba(--wofi-rgb-color1,0.8); - } + #input { + margin: 5px; + border: none; + color: --wofi-color4; + background-color: rgba(--wofi-rgb-color1,0.8); + } - #inner-box { - margin: 5px; - border: none; - background: none; - } + #inner-box { + margin: 5px; + border: none; + background: none; + } - #outer-box { - margin: 5px; - border: none; - background: none; - } + #outer-box { + margin: 5px; + border: none; + background: none; + } - #scroll { - margin: 0px; - border: none; - } + #scroll { + margin: 0px; + border: none; + } - #text { - margin: 5px; - border: none; - color: --wofi-color4; - } + #text { + margin: 5px; + border: none; + color: --wofi-color4; + } - #entry:selected { - background-color: rgba(--wofi-rgb-color1,0.8); - } + #entry:selected { + background-color: rgba(--wofi-rgb-color1,0.8); + } - #entry:selected #text{ - color: --wofi-color11; - } - ''; + #entry:selected #text{ + color: --wofi-color11; + } + ''; + }; } diff --git a/users/jalr/modules/thunderbird.nix b/users/jalr/modules/thunderbird.nix index 8e39247..e8cd892 100644 --- a/users/jalr/modules/thunderbird.nix +++ b/users/jalr/modules/thunderbird.nix @@ -1,7 +1,7 @@ { nixosConfig, pkgs, ... }: { programs.thunderbird = { - enable = nixosConfig.jalr.gui.enable; + inherit (nixosConfig.jalr.gui) enable; package = pkgs.thunderbird-esr; profiles."default" = { isDefault = true; From eaf3a29871bb491fffd5dfc4d39524361737120b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 9 Apr 2025 21:47:51 +0200 Subject: [PATCH 622/766] Add deadnix --- flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/flake.nix b/flake.nix index fbfe64e..c05fa48 100644 --- a/flake.nix +++ b/flake.nix @@ -78,6 +78,7 @@ src = self; hooks = { black.enable = true; + deadnix.enable = true; nixpkgs-fmt.enable = true; shellcheck.enable = true; statix = { From af5a07ca1920fecc99e7902043237c1c4889faad Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 9 Apr 2025 22:06:45 +0200 Subject: [PATCH 623/766] Add snapserver ports --- hosts/iron/ports.nix | 3 +++ hosts/iron/services/snapcast/snapserver.nix | 3 +++ 2 files changed, 6 insertions(+) diff --git a/hosts/iron/ports.nix b/hosts/iron/ports.nix index 10760b1..0d753b8 100644 --- a/hosts/iron/ports.nix +++ b/hosts/iron/ports.nix @@ -19,6 +19,9 @@ custom-utils.validatePortAttrset { qbittorrent-webui.tcp = 8099; radicale.tcp = 5232; rmfakecloud.tcp = 3000; + snapserver.tcp = 1704; + snapserverTcp.tcp = 1705; + snapserverHttp.tcp = 1780; unifi-http.tcp = 8080; unifi-https.tcp = 8443; wireguard-public-ip-tunnel.udp = 51000; diff --git a/hosts/iron/services/snapcast/snapserver.nix b/hosts/iron/services/snapcast/snapserver.nix index e007634..f1807aa 100644 --- a/hosts/iron/services/snapcast/snapserver.nix +++ b/hosts/iron/services/snapcast/snapserver.nix @@ -6,6 +6,9 @@ in { services.snapserver = { enable = true; + port = ports.snapserver.tcp; + tcp.port = ports.snapserverTcp.tcp; + http.port = ports.snapserverHttp.tcp; streams = { default = { type = "meta"; From 48e71f75f8ca80e57dd8aa7b98258045071a6fab Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 9 Apr 2025 22:44:36 +0200 Subject: [PATCH 624/766] Remove unused code --- custom-utils/default.nix | 2 +- custom-utils/ports.nix | 2 +- flake.nix | 4 +-- hosts/aluminium/configuration.nix | 2 +- hosts/aluminium/hardware-configuration.nix | 2 +- hosts/aluminium/ports.nix | 2 +- hosts/aluminium/services/asterisk/default.nix | 2 +- .../asterisk/voicemail-sounds/default.nix | 2 +- hosts/aluminium/services/dnsmasq.nix | 5 +--- hosts/aluminium/services/doorbell.nix | 2 +- hosts/aluminium/services/esphome/default.nix | 7 +---- hosts/aluminium/services/home-assistant.nix | 2 +- hosts/aluminium/services/nginx.nix | 2 +- hosts/aluminium/services/ntp.nix | 1 - hosts/aluminium/services/unifi-controller.nix | 2 +- hosts/cadmium/configuration.nix | 2 +- hosts/copper/services/ntfy.nix | 1 - hosts/iron/configuration.nix | 24 +++++++--------- hosts/iron/ports.nix | 2 +- hosts/iron/services/avahi.nix | 1 - hosts/iron/services/calibre.nix | 2 +- hosts/iron/services/dnsmasq.nix | 3 +- hosts/iron/services/esphome/default.nix | 7 +---- hosts/iron/services/home-assistant.nix | 2 +- hosts/iron/services/jellyfin.nix | 2 +- hosts/iron/services/mail.nix | 2 +- hosts/iron/services/matrix.nix | 2 +- hosts/iron/services/navidrome.nix | 2 +- hosts/iron/services/nginx.nix | 2 +- hosts/iron/services/ntp.nix | 1 - hosts/iron/services/public-ip-tunnel.nix | 2 +- hosts/iron/services/radicale.nix | 2 +- hosts/iron/services/remarkable.nix | 2 +- hosts/iron/services/snapcast/ledfx.nix | 2 +- hosts/iron/services/snapcast/mopidy.nix | 2 +- hosts/iron/services/snapcast/snapclient.nix | 15 +--------- hosts/iron/services/snapcast/snapserver.nix | 2 +- hosts/iron/services/sturzbach.nix | 2 +- hosts/iron/services/unifi-controller.nix | 2 +- hosts/iron/services/whatsapp.nix | 2 +- hosts/magnesium/configuration.nix | 3 +- hosts/magnesium/ports.nix | 28 +++++++++---------- hosts/magnesium/services/coturn.nix | 14 ++++------ hosts/magnesium/services/forgejo.nix | 4 +-- hosts/magnesium/services/gitlab-runner.nix | 2 +- hosts/magnesium/services/hedgedoc.nix | 4 +-- hosts/magnesium/services/ntfy.nix | 4 +-- hosts/magnesium/services/public-ip-tunnel.nix | 4 +-- hosts/magnesium/services/trilium.nix | 4 +-- hosts/magnesium/services/webserver.nix | 4 +-- .../hardware-configuration.nix | 2 +- hosts/weinturm-pretix-prod/ports.nix | 2 +- .../weinturm-pretix-prod/services/pretix.nix | 2 +- modules/adb.nix | 2 +- modules/aws.nix | 2 +- modules/bootloader/grub2.nix | 2 +- modules/gnome.nix | 2 +- modules/journald.nix | 2 -- modules/kdeconnect.nix | 2 +- modules/localization.nix | 2 +- modules/luksusb.nix | 6 ++-- modules/mailserver/default.nix | 2 +- modules/matrix/default.nix | 4 +-- modules/matrix/mautrix-signal.nix | 2 +- modules/matrix/mautrix-whatsapp.nix | 2 +- modules/matrix/synapse.nix | 5 ++-- modules/networking/default.nix | 1 + modules/networking/ports.nix | 20 +++++++++++++ modules/nix.nix | 2 +- modules/printers/p-touch_p700.nix | 2 -- modules/qbittorrent/default.nix | 2 +- modules/sudo.nix | 1 - modules/udmx.nix | 2 -- pkgs/asterisk-sounds-de/default.nix | 3 +- pkgs/contact-page/default.nix | 2 +- pkgs/default.nix | 4 +-- .../docker-machine-driver-hetzner/default.nix | 8 +++--- pkgs/fpvout/default.nix | 3 +- .../guntamatic.nix | 3 +- pkgs/illuminanced/default.nix | 1 - pkgs/modules.nix | 2 -- pkgs/myintercom-doorbell/default.nix | 6 ++-- pkgs/pretix-banktool/module.nix | 11 -------- users/jalr/default.nix | 2 +- users/jalr/modules/aws.nix | 2 +- users/jalr/modules/cli/default.nix | 2 +- users/jalr/modules/communication/default.nix | 2 -- users/jalr/modules/dynamic-colors.nix | 2 +- users/jalr/modules/git.nix | 2 +- users/jalr/modules/graphics/default.nix | 2 -- users/jalr/modules/mycli/default.nix | 4 +-- users/jalr/modules/neo.nix | 1 - users/jalr/modules/ots.nix | 5 +--- users/jalr/modules/pomodoro.nix | 2 +- users/jalr/modules/remarkable/restream.nix | 2 +- users/jalr/modules/remarkable/rmview.nix | 4 +-- users/jalr/modules/solarized.nix | 2 +- users/jalr/modules/sound/default.nix | 2 -- users/jalr/modules/sway/default.nix | 2 +- .../modules/sway/move-to-output/default.nix | 4 +-- users/jalr/modules/sway/wofi.nix | 2 +- .../modules/sway/yubikey-touch-detector.nix | 2 +- users/jalr/modules/tmux.nix | 1 - users/jalr/modules/vdirsyncer.nix | 21 -------------- 104 files changed, 151 insertions(+), 229 deletions(-) create mode 100644 modules/networking/ports.nix diff --git a/custom-utils/default.nix b/custom-utils/default.nix index 5db6ecb..101f08c 100644 --- a/custom-utils/default.nix +++ b/custom-utils/default.nix @@ -4,7 +4,7 @@ let filterPort = pm: port: ( lib.attrsets.catAttrs port ( lib.attrsets.attrValues ( - lib.attrsets.filterAttrs (n: v: v ? "${port}") pm + lib.attrsets.filterAttrs (_: v: v ? "${port}") pm ) ) ); diff --git a/custom-utils/ports.nix b/custom-utils/ports.nix index 5db6ecb..101f08c 100644 --- a/custom-utils/ports.nix +++ b/custom-utils/ports.nix @@ -4,7 +4,7 @@ let filterPort = pm: port: ( lib.attrsets.catAttrs port ( lib.attrsets.attrValues ( - lib.attrsets.filterAttrs (n: v: v ? "${port}") pm + lib.attrsets.filterAttrs (_: v: v ? "${port}") pm ) ) ); diff --git a/flake.nix b/flake.nix index c05fa48..74808d5 100644 --- a/flake.nix +++ b/flake.nix @@ -56,13 +56,11 @@ outputs = { self , flake-utils - , gomod2nix , home-manager , krops , nix-pre-commit-hooks , nixpkgs , nur - , poetry2nix , ... }@inputs: flake-utils.lib.eachSystem [ "x86_64-linux" @@ -104,7 +102,7 @@ }; apps = lib.mapAttrs - (name: program: { type = "app"; program = toString program; }) + (_: program: { type = "app"; program = toString program; }) (flake-utils.lib.flattenTree { deploy = lib.recurseIntoAttrs (lib.mapAttrs (hostname: machine: diff --git a/hosts/aluminium/configuration.nix b/hosts/aluminium/configuration.nix index 6b89247..43c1b5d 100644 --- a/hosts/aluminium/configuration.nix +++ b/hosts/aluminium/configuration.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ config, ... }: { imports = [ diff --git a/hosts/aluminium/hardware-configuration.nix b/hosts/aluminium/hardware-configuration.nix index f146835..6b60bb6 100644 --- a/hosts/aluminium/hardware-configuration.nix +++ b/hosts/aluminium/hardware-configuration.nix @@ -1,7 +1,7 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: +{ config, lib, modulesPath, ... }: { imports = diff --git a/hosts/aluminium/ports.nix b/hosts/aluminium/ports.nix index 34bfdaf..f07e09d 100644 --- a/hosts/aluminium/ports.nix +++ b/hosts/aluminium/ports.nix @@ -1,4 +1,4 @@ -{ lib, custom-utils, ... }: +{ custom-utils, ... }: custom-utils.validatePortAttrset { asterisk-rtp = { udp.range = [ 10000 10200 ]; }; diff --git a/hosts/aluminium/services/asterisk/default.nix b/hosts/aluminium/services/asterisk/default.nix index 92f945d..1fe50cb 100644 --- a/hosts/aluminium/services/asterisk/default.nix +++ b/hosts/aluminium/services/asterisk/default.nix @@ -1,4 +1,4 @@ -args@{ config, lib, pkgs, custom-utils, ... }: +args@{ config, lib, pkgs, ... }: let ports = import ../../ports.nix args; diff --git a/hosts/aluminium/services/asterisk/voicemail-sounds/default.nix b/hosts/aluminium/services/asterisk/voicemail-sounds/default.nix index a4a810c..06451f1 100644 --- a/hosts/aluminium/services/asterisk/voicemail-sounds/default.nix +++ b/hosts/aluminium/services/asterisk/voicemail-sounds/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenvNoCC }: +{ stdenvNoCC }: stdenvNoCC.mkDerivation { name = "voicemail-sounds"; diff --git a/hosts/aluminium/services/dnsmasq.nix b/hosts/aluminium/services/dnsmasq.nix index ff4549a..c6ada0d 100644 --- a/hosts/aluminium/services/dnsmasq.nix +++ b/hosts/aluminium/services/dnsmasq.nix @@ -1,8 +1,5 @@ { lib, pkgs, ... }: -let - stateDir = "/var/lib/dnsmasq"; -in { services.dnsmasq = { enable = true; @@ -54,7 +51,7 @@ in "voice" ] ( - interface: { + _: { allowedUDPPorts = [ 53 67 ]; allowedTCPPorts = [ 53 ]; } diff --git a/hosts/aluminium/services/doorbell.nix b/hosts/aluminium/services/doorbell.nix index e2b7229..7d2f45d 100644 --- a/hosts/aluminium/services/doorbell.nix +++ b/hosts/aluminium/services/doorbell.nix @@ -1,4 +1,4 @@ -args@{ config, lib, pkgs, custom-utils, ... }: +args@{ config, ... }: let ports = import ../ports.nix args; diff --git a/hosts/aluminium/services/esphome/default.nix b/hosts/aluminium/services/esphome/default.nix index b64c343..bf8f9bc 100644 --- a/hosts/aluminium/services/esphome/default.nix +++ b/hosts/aluminium/services/esphome/default.nix @@ -1,7 +1,6 @@ -args@{ lib, pkgs, config, custom-utils, ... }: +args@{ lib, pkgs, config, ... }: let ports = import ../../ports.nix args; - cfg = config.services.esphome; cfgdir = pkgs.stdenvNoCC.mkDerivation { name = "esphome-config"; src = ./devices; @@ -11,10 +10,6 @@ let cp -r * $out ''; }; - esphomeParams = - if cfg.enableUnixSocket - then "--socket /run/esphome/esphome.sock" - else "--address ${cfg.address} --port ${toString cfg.port}"; in { sops.secrets.esphome = { diff --git a/hosts/aluminium/services/home-assistant.nix b/hosts/aluminium/services/home-assistant.nix index aed7b78..bab9944 100644 --- a/hosts/aluminium/services/home-assistant.nix +++ b/hosts/aluminium/services/home-assistant.nix @@ -1,4 +1,4 @@ -args@{ lib, pkgs, config, custom-utils, ... }: +args@{ pkgs, config, ... }: let ports = import ../ports.nix args; in diff --git a/hosts/aluminium/services/nginx.nix b/hosts/aluminium/services/nginx.nix index 71bdff2..b2e020e 100644 --- a/hosts/aluminium/services/nginx.nix +++ b/hosts/aluminium/services/nginx.nix @@ -1,4 +1,4 @@ -args@{ pkgs, custom-utils, ... }: +args: let ports = import ../ports.nix args; diff --git a/hosts/aluminium/services/ntp.nix b/hosts/aluminium/services/ntp.nix index aed11f4..45917cf 100644 --- a/hosts/aluminium/services/ntp.nix +++ b/hosts/aluminium/services/ntp.nix @@ -1,4 +1,3 @@ -{ lib, pkgs, ... }: { services.chrony = { enable = true; diff --git a/hosts/aluminium/services/unifi-controller.nix b/hosts/aluminium/services/unifi-controller.nix index 4801621..deeae22 100644 --- a/hosts/aluminium/services/unifi-controller.nix +++ b/hosts/aluminium/services/unifi-controller.nix @@ -1,4 +1,4 @@ -args@{ pkgs, custom-utils, ... }: +args@{ pkgs, ... }: let ports = import ../ports.nix args; diff --git a/hosts/cadmium/configuration.nix b/hosts/cadmium/configuration.nix index 55d51ab..1bb11aa 100644 --- a/hosts/cadmium/configuration.nix +++ b/hosts/cadmium/configuration.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ pkgs, ... }: { imports = [ diff --git a/hosts/copper/services/ntfy.nix b/hosts/copper/services/ntfy.nix index d252d96..7f910c5 100644 --- a/hosts/copper/services/ntfy.nix +++ b/hosts/copper/services/ntfy.nix @@ -1,4 +1,3 @@ -{ pkgs, lib, ... }: { sops.secrets.ntfy_shiftphone = { sopsFile = ../secrets.yaml; diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index ac8ee66..789aca1 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -1,4 +1,4 @@ -{ inputs, config, pkgs, lib, ... }: +{ config, pkgs, lib, ... }: let interfaces = import ./interfaces.nix; disks = { @@ -119,13 +119,11 @@ with lib; { jalr.luksUsbUnlock = { enable = true; devices = builtins.mapAttrs - (name: dev: - { - keyPath = "iron.key"; - usbDevice = "by-label/RAM_USB"; - waitForDevice = 10; - } - ) + (_: _: { + keyPath = "iron.key"; + usbDevice = "by-label/RAM_USB"; + waitForDevice = 10; + }) disks; }; @@ -144,12 +142,10 @@ with lib; { ]; systemd.enable = true; luks.devices = builtins.mapAttrs - (name: dev: - { - device = "${devNodes}${dev}${partitionScheme.luksDev}"; - allowDiscards = true; - } - ) + (_: dev: { + device = "${devNodes}${dev}${partitionScheme.luksDev}"; + allowDiscards = true; + }) disks; }; supportedFilesystems = [ "zfs" ]; diff --git a/hosts/iron/ports.nix b/hosts/iron/ports.nix index 0d753b8..9c3a7fc 100644 --- a/hosts/iron/ports.nix +++ b/hosts/iron/ports.nix @@ -1,4 +1,4 @@ -{ lib, custom-utils, ... }: +{ custom-utils, ... }: custom-utils.validatePortAttrset { calibre-server.tcp = 8081; diff --git a/hosts/iron/services/avahi.nix b/hosts/iron/services/avahi.nix index 6c14bcd..f15827b 100644 --- a/hosts/iron/services/avahi.nix +++ b/hosts/iron/services/avahi.nix @@ -1,4 +1,3 @@ -args@{ lib, pkgs, config, custom-utils, ... }: let interfaces = import ../interfaces.nix; in diff --git a/hosts/iron/services/calibre.nix b/hosts/iron/services/calibre.nix index 0f30021..831cbce 100644 --- a/hosts/iron/services/calibre.nix +++ b/hosts/iron/services/calibre.nix @@ -1,4 +1,4 @@ -args@{ lib, config, pkgs, custom-utils, ... }: +args@{ lib, config, ... }: let ports = import ../ports.nix args; in diff --git a/hosts/iron/services/dnsmasq.nix b/hosts/iron/services/dnsmasq.nix index b277cf4..ea0f6b2 100644 --- a/hosts/iron/services/dnsmasq.nix +++ b/hosts/iron/services/dnsmasq.nix @@ -2,7 +2,6 @@ let interfaces = import ../interfaces.nix; - stateDir = "/var/lib/dnsmasq"; in { services.dnsmasq = { @@ -47,7 +46,7 @@ in "iot" ] ( - interface: { + _: { allowedUDPPorts = [ 53 67 ]; allowedTCPPorts = [ 53 ]; } diff --git a/hosts/iron/services/esphome/default.nix b/hosts/iron/services/esphome/default.nix index 0e81496..b49ec96 100644 --- a/hosts/iron/services/esphome/default.nix +++ b/hosts/iron/services/esphome/default.nix @@ -1,7 +1,6 @@ -args@{ lib, pkgs, config, custom-utils, ... }: +args@{ lib, pkgs, config, ... }: let ports = import ../../ports.nix args; - cfg = config.services.esphome; cfgdir = pkgs.stdenvNoCC.mkDerivation { name = "esphome-config"; src = ./devices; @@ -11,10 +10,6 @@ let cp -r * $out ''; }; - esphomeParams = - if cfg.enableUnixSocket - then "--socket /run/esphome/esphome.sock" - else "--address ${cfg.address} --port ${toString cfg.port}"; in { sops.secrets.esphome = { diff --git a/hosts/iron/services/home-assistant.nix b/hosts/iron/services/home-assistant.nix index 1bf6d3e..8901256 100644 --- a/hosts/iron/services/home-assistant.nix +++ b/hosts/iron/services/home-assistant.nix @@ -1,4 +1,4 @@ -args@{ lib, pkgs, config, custom-utils, ... }: +args@{ lib, pkgs, config, ... }: let ports = import ../ports.nix args; interfaces = import ../interfaces.nix; diff --git a/hosts/iron/services/jellyfin.nix b/hosts/iron/services/jellyfin.nix index 01aff39..2f0230f 100644 --- a/hosts/iron/services/jellyfin.nix +++ b/hosts/iron/services/jellyfin.nix @@ -1,4 +1,4 @@ -args@{ lib, pkgs, custom-utils, ... }: +args@{ lib, ... }: let ports = import ../ports.nix args; in diff --git a/hosts/iron/services/mail.nix b/hosts/iron/services/mail.nix index 98b4364..db2c2d2 100644 --- a/hosts/iron/services/mail.nix +++ b/hosts/iron/services/mail.nix @@ -1,4 +1,4 @@ -args@{ config, pkgs, custom-utils, ... }: +args: let ports = import ../ports.nix args; diff --git a/hosts/iron/services/matrix.nix b/hosts/iron/services/matrix.nix index 8cf62b5..4f7dd3d 100644 --- a/hosts/iron/services/matrix.nix +++ b/hosts/iron/services/matrix.nix @@ -1,4 +1,4 @@ -args@{ config, pkgs, custom-utils, ... }: +args@{ config, pkgs, ... }: let ports = import ../ports.nix args; diff --git a/hosts/iron/services/navidrome.nix b/hosts/iron/services/navidrome.nix index f6b87e4..054f38f 100644 --- a/hosts/iron/services/navidrome.nix +++ b/hosts/iron/services/navidrome.nix @@ -1,4 +1,4 @@ -args@{ config, lib, pkgs, utils, custom-utils, ... }: +args@{ config, lib, pkgs, ... }: let ports = import ../ports.nix args; diff --git a/hosts/iron/services/nginx.nix b/hosts/iron/services/nginx.nix index 71bdff2..b2e020e 100644 --- a/hosts/iron/services/nginx.nix +++ b/hosts/iron/services/nginx.nix @@ -1,4 +1,4 @@ -args@{ pkgs, custom-utils, ... }: +args: let ports = import ../ports.nix args; diff --git a/hosts/iron/services/ntp.nix b/hosts/iron/services/ntp.nix index edf7dbf..b10a245 100644 --- a/hosts/iron/services/ntp.nix +++ b/hosts/iron/services/ntp.nix @@ -1,4 +1,3 @@ -{ lib, pkgs, ... }: { services.chrony = { enable = true; diff --git a/hosts/iron/services/public-ip-tunnel.nix b/hosts/iron/services/public-ip-tunnel.nix index 612b041..67ee737 100644 --- a/hosts/iron/services/public-ip-tunnel.nix +++ b/hosts/iron/services/public-ip-tunnel.nix @@ -1,4 +1,4 @@ -args@{ config, lib, pkgs, custom-utils, ... }: +args@{ config, lib, pkgs, ... }: let ports = import ../ports.nix args; diff --git a/hosts/iron/services/radicale.nix b/hosts/iron/services/radicale.nix index b41a67d..7f327b6 100644 --- a/hosts/iron/services/radicale.nix +++ b/hosts/iron/services/radicale.nix @@ -1,4 +1,4 @@ -args@{ config, lib, pkgs, custom-utils, ... }: +args@{ config, ... }: let ports = import ../ports.nix args; diff --git a/hosts/iron/services/remarkable.nix b/hosts/iron/services/remarkable.nix index b8729ac..b3d6938 100644 --- a/hosts/iron/services/remarkable.nix +++ b/hosts/iron/services/remarkable.nix @@ -1,4 +1,4 @@ -args@{ lib, config, pkgs, custom-utils, ... }: +args@{ lib, config, pkgs, ... }: let ports = import ../ports.nix args; domain = "rmfakecloud.jalr.de"; diff --git a/hosts/iron/services/snapcast/ledfx.nix b/hosts/iron/services/snapcast/ledfx.nix index 9f78c71..4a4a3d6 100644 --- a/hosts/iron/services/snapcast/ledfx.nix +++ b/hosts/iron/services/snapcast/ledfx.nix @@ -1,4 +1,4 @@ -args@{ lib, pkgs, config, custom-utils, ... }: +{ pkgs, ... }: let interfaces = import ../../interfaces.nix; in diff --git a/hosts/iron/services/snapcast/mopidy.nix b/hosts/iron/services/snapcast/mopidy.nix index 5b66864..18be1a5 100644 --- a/hosts/iron/services/snapcast/mopidy.nix +++ b/hosts/iron/services/snapcast/mopidy.nix @@ -1,4 +1,4 @@ -args@{ lib, pkgs, config, custom-utils, ... }: +{ lib, pkgs, config, ... }: let interfaces = import ../../interfaces.nix; mopidyConfig = { diff --git a/hosts/iron/services/snapcast/snapclient.nix b/hosts/iron/services/snapcast/snapclient.nix index 8093022..27bb202 100644 --- a/hosts/iron/services/snapcast/snapclient.nix +++ b/hosts/iron/services/snapcast/snapclient.nix @@ -1,19 +1,6 @@ -{ lib, pkgs, ... }: +{ pkgs, ... }: -let hostId = "Wohnzimmer"; -in { - #services.pipewire = { - # enable = true; - # pulse.enable = true; - # alsa.enable = true; - #}; - - #environment.systemPackages = with pkgs; [ - # pulseaudio # pacmd and pactl - # pulsemixer - #]; - systemd.services.snapclient = { enable = true; description = "Snapcast client"; diff --git a/hosts/iron/services/snapcast/snapserver.nix b/hosts/iron/services/snapcast/snapserver.nix index f1807aa..3aa31ff 100644 --- a/hosts/iron/services/snapcast/snapserver.nix +++ b/hosts/iron/services/snapcast/snapserver.nix @@ -1,4 +1,4 @@ -args@{ lib, pkgs, config, custom-utils, ... }: +args@{ lib, pkgs, config, ... }: let ports = import ../../ports.nix args; interfaces = import ../../interfaces.nix; diff --git a/hosts/iron/services/sturzbach.nix b/hosts/iron/services/sturzbach.nix index ea0430a..ce7cbe6 100644 --- a/hosts/iron/services/sturzbach.nix +++ b/hosts/iron/services/sturzbach.nix @@ -1,4 +1,4 @@ -args@{ config, lib, custom-utils, ... }: +args: let ports = import ../ports.nix args; diff --git a/hosts/iron/services/unifi-controller.nix b/hosts/iron/services/unifi-controller.nix index bbd67a8..841fdba 100644 --- a/hosts/iron/services/unifi-controller.nix +++ b/hosts/iron/services/unifi-controller.nix @@ -1,4 +1,4 @@ -args@{ pkgs, custom-utils, ... }: +args@{ pkgs, ... }: let ports = import ../ports.nix args; diff --git a/hosts/iron/services/whatsapp.nix b/hosts/iron/services/whatsapp.nix index 9021758..6ef117c 100644 --- a/hosts/iron/services/whatsapp.nix +++ b/hosts/iron/services/whatsapp.nix @@ -1,4 +1,4 @@ -args@{ config, pkgs, custom-utils, ... }: +args@{ pkgs, ... }: let ports = import ../ports.nix args; diff --git a/hosts/magnesium/configuration.nix b/hosts/magnesium/configuration.nix index 855b1d1..1903e48 100644 --- a/hosts/magnesium/configuration.nix +++ b/hosts/magnesium/configuration.nix @@ -1,4 +1,4 @@ -{ config, lib, ... }: +{ lib, ... }: { imports = [ @@ -6,6 +6,7 @@ ./services ../../users/jalr ./persistence.nix + ./ports.nix ]; networking.hostName = "magnesium"; diff --git a/hosts/magnesium/ports.nix b/hosts/magnesium/ports.nix index 8956bca..79e6a0b 100644 --- a/hosts/magnesium/ports.nix +++ b/hosts/magnesium/ports.nix @@ -1,15 +1,15 @@ -{ custom-utils, ... }: - -custom-utils.validatePortAttrset { - coturn-cli.tcp = 5766; - coturn-plain = { tcp = [ 3478 3479 ]; udp = [ 3478 3479 ]; }; - coturn-relay.udp.range = [ 49160 49200 ]; - coturn-tls = { tcp = [ 5349 5350 ]; udp = [ 5349 5350 ]; }; - forgejo-ssh.tcp = 2022; - hedgedoc.tcp = 3000; - nginx-http.tcp = 80; - nginx-https.tcp = 443; - ntfy.tcp = 12474; - trilium.tcp = 12783; - wireguard-public-ip-tunnel.udp = 51000; +{ + config.networking.ports = { + coturn-cli.tcp = 5766; + coturn-plain = { tcp = [ 3478 3479 ]; udp = [ 3478 3479 ]; }; + coturn-relay.udp = { from = 49160; to = 49200; }; + coturn-tls = { tcp = [ 5349 5350 ]; udp = [ 5349 5350 ]; }; + forgejo-ssh.tcp = 2022; + hedgedoc.tcp = 3000; + nginx-http.tcp = 80; + nginx-https.tcp = 443; + ntfy.tcp = 12474; + trilium.tcp = 12783; + wireguard-public-ip-tunnel.udp = 51000; + }; } diff --git a/hosts/magnesium/services/coturn.nix b/hosts/magnesium/services/coturn.nix index a6d3dd6..e48af8b 100644 --- a/hosts/magnesium/services/coturn.nix +++ b/hosts/magnesium/services/coturn.nix @@ -1,9 +1,9 @@ -args@{ config, lib, pkgs, custom-utils, ... }: +{ config, lib, pkgs, ... }: let - ports = import ../ports.nix args; cfg = config.services.coturn; fqdn = "turn.jalr.de"; + ports = config.networking.ports; in { sops.secrets.turn-static-auth-secret = { @@ -22,8 +22,8 @@ in tls-listening-port = builtins.elemAt ports.coturn-tls.tcp 0; alt-tls-listening-port = builtins.elemAt ports.coturn-tls.tcp 1; cli-port = ports.coturn-cli.tcp; - min-port = builtins.elemAt ports.coturn-relay.udp.range 0; - max-port = builtins.elemAt ports.coturn-relay.udp.range 1; + min-port = ports.coturn-relay.udp.from; + max-port = ports.coturn-relay.udp.to; } ) // { enable = true; @@ -108,10 +108,6 @@ in networking.firewall = { allowedTCPPorts = with cfg; [ listening-port alt-listening-port tls-listening-port alt-tls-listening-port ]; allowedUDPPorts = with cfg; [ listening-port alt-listening-port tls-listening-port alt-tls-listening-port ]; - - allowedUDPPortRanges = lib.singleton { - from = builtins.elemAt ports.coturn-relay.udp.range 0; - to = builtins.elemAt ports.coturn-relay.udp.range 1; - }; + allowedUDPPortRanges = lib.singleton ports.coturn-relay.udp; }; } diff --git a/hosts/magnesium/services/forgejo.nix b/hosts/magnesium/services/forgejo.nix index 90d7fb4..459e6e4 100644 --- a/hosts/magnesium/services/forgejo.nix +++ b/hosts/magnesium/services/forgejo.nix @@ -1,8 +1,8 @@ -args@{ config, custom-utils, ... }: +{ config, ... }: let domain = "git.jalr.de"; cfg = config.services.forgejo; - ports = import ../ports.nix args; + ports = config.networking.ports; in { sops.secrets.forgejo-mail = { diff --git a/hosts/magnesium/services/gitlab-runner.nix b/hosts/magnesium/services/gitlab-runner.nix index bc28c9f..24f6c68 100644 --- a/hosts/magnesium/services/gitlab-runner.nix +++ b/hosts/magnesium/services/gitlab-runner.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ config, pkgs, ... }: { sops.secrets.gitlab-runner_fablab-nea-hcloud-labsync = { diff --git a/hosts/magnesium/services/hedgedoc.nix b/hosts/magnesium/services/hedgedoc.nix index 633fbdc..aa9f1f8 100644 --- a/hosts/magnesium/services/hedgedoc.nix +++ b/hosts/magnesium/services/hedgedoc.nix @@ -1,9 +1,9 @@ -args@{ config, custom-utils, ... }: +{ config, ... }: let domain = "pad.jalr.de"; - ports = import ../ports.nix args; cfg = config.services.hedgedoc; + ports = config.networking.ports; in { sops.secrets.hedgedoc-session-secret = { diff --git a/hosts/magnesium/services/ntfy.nix b/hosts/magnesium/services/ntfy.nix index 4533c26..17848fa 100644 --- a/hosts/magnesium/services/ntfy.nix +++ b/hosts/magnesium/services/ntfy.nix @@ -1,9 +1,9 @@ -args@{ lib, pkgs, config, custom-utils, ... }: +{ config, ... }: let cfg = config.services.ntfy-sh; - ports = import ../ports.nix args; domain = "ntfy.jalr.de"; datadir = "/var/lib/ntfy-sh"; + ports = config.networking.ports; in { # ntfy access --auth-file /var/lib/private/ntfy-sh/user.db '*' 'up*' write-only diff --git a/hosts/magnesium/services/public-ip-tunnel.nix b/hosts/magnesium/services/public-ip-tunnel.nix index 28d917d..80a9800 100644 --- a/hosts/magnesium/services/public-ip-tunnel.nix +++ b/hosts/magnesium/services/public-ip-tunnel.nix @@ -1,9 +1,9 @@ -args@{ config, lib, pkgs, custom-utils, ... }: +{ config, lib, ... }: let - ports = import ../ports.nix args; listenPort = ports.wireguard-public-ip-tunnel.udp; publicKey = "GCmQs7upvDYFueEfqD2yJkkOZg3K7YaGluWWzdjsyTo="; + ports = config.networking.ports; in { sops.secrets = lib.listToAttrs (map diff --git a/hosts/magnesium/services/trilium.nix b/hosts/magnesium/services/trilium.nix index 0546897..964db27 100644 --- a/hosts/magnesium/services/trilium.nix +++ b/hosts/magnesium/services/trilium.nix @@ -1,8 +1,8 @@ -args@{ config, lib, pkgs, custom-utils, ... }: +{ config, pkgs, ... }: let - ports = import ../ports.nix args; domain = "notes.jalr.de"; + ports = config.networking.ports; in { services.trilium-server = { diff --git a/hosts/magnesium/services/webserver.nix b/hosts/magnesium/services/webserver.nix index 8ab2c50..c0aa71f 100644 --- a/hosts/magnesium/services/webserver.nix +++ b/hosts/magnesium/services/webserver.nix @@ -1,9 +1,9 @@ -args@{ config, lib, pkgs, custom-utils, ... }: +{ config, lib, pkgs, ... }: let - ports = import ../ports.nix args; domain = "jalr.de"; matrixDomain = "matrix.jalr.de"; + ports = config.networking.ports; in { networking.firewall.allowedTCPPorts = [ ports.nginx-http.tcp ports.nginx-https.tcp ]; diff --git a/hosts/weinturm-pretix-prod/hardware-configuration.nix b/hosts/weinturm-pretix-prod/hardware-configuration.nix index a0ae780..178664e 100644 --- a/hosts/weinturm-pretix-prod/hardware-configuration.nix +++ b/hosts/weinturm-pretix-prod/hardware-configuration.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, modulesPath, ... }: +{ lib, modulesPath, ... }: { imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; diff --git a/hosts/weinturm-pretix-prod/ports.nix b/hosts/weinturm-pretix-prod/ports.nix index 5de5641..cabfead 100644 --- a/hosts/weinturm-pretix-prod/ports.nix +++ b/hosts/weinturm-pretix-prod/ports.nix @@ -1,4 +1,4 @@ -{ lib, custom-utils, ... }: +{ custom-utils, ... }: custom-utils.validatePortAttrset { nginx-http.tcp = 80; diff --git a/hosts/weinturm-pretix-prod/services/pretix.nix b/hosts/weinturm-pretix-prod/services/pretix.nix index 7fe04d7..174c68d 100644 --- a/hosts/weinturm-pretix-prod/services/pretix.nix +++ b/hosts/weinturm-pretix-prod/services/pretix.nix @@ -1,4 +1,4 @@ -args@{ config, lib, pkgs, custom-utils, ... }: +args@{ config, lib, ... }: let cfg = config.services.pretix; diff --git a/modules/adb.nix b/modules/adb.nix index 1aae96c..47198c1 100644 --- a/modules/adb.nix +++ b/modules/adb.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ config, lib, ... }: lib.mkIf config.jalr.gui.enable { programs.adb.enable = true; diff --git a/modules/aws.nix b/modules/aws.nix index f94580a..2b6eddb 100644 --- a/modules/aws.nix +++ b/modules/aws.nix @@ -4,7 +4,7 @@ options.jalr.aws = { enable = lib.mkEnableOption "Enable AWS CLI"; accounts = with lib; mkOption { - type = with types; attrsOf (submodule ({ config, name, ... }: { + type = with types; attrsOf (submodule (_: { options = { sso_account_id = mkOption { type = int; diff --git a/modules/bootloader/grub2.nix b/modules/bootloader/grub2.nix index a2ec2ee..2037be7 100644 --- a/modules/bootloader/grub2.nix +++ b/modules/bootloader/grub2.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ config, lib, ... }: lib.mkIf (config.jalr.bootloader == "grub2") { boot.loader.grub = { diff --git a/modules/gnome.nix b/modules/gnome.nix index 1bd91bb..528934b 100644 --- a/modules/gnome.nix +++ b/modules/gnome.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ config, lib, ... }: lib.mkIf (config.jalr.gui.enable && config.jalr.gui.desktop == "gnome") { services.xserver = { diff --git a/modules/journald.nix b/modules/journald.nix index c6f1271..e527dc6 100644 --- a/modules/journald.nix +++ b/modules/journald.nix @@ -1,5 +1,3 @@ -{ lib, ... }: - { services.journald.extraConfig = '' MaxRetentionSec=90day diff --git a/modules/kdeconnect.nix b/modules/kdeconnect.nix index 87cbf5d..96b3016 100644 --- a/modules/kdeconnect.nix +++ b/modules/kdeconnect.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ config, lib, ... }: let portRange = { diff --git a/modules/localization.nix b/modules/localization.nix index b1a7ea0..0034c23 100644 --- a/modules/localization.nix +++ b/modules/localization.nix @@ -1,4 +1,4 @@ -{ lib, config, pkgs, ... }: +{ config, ... }: { i18n = { defaultLocale = "en_GB.UTF-8"; diff --git a/modules/luksusb.nix b/modules/luksusb.nix index 2015955..315c6a0 100644 --- a/modules/luksusb.nix +++ b/modules/luksusb.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ config, lib, ... }: let cfg = config.jalr.luksUsbUnlock; in @@ -59,7 +59,7 @@ in kernelModules = [ "uas" "usbcore" "usb_storage" "vfat" "nls_cp437" "nls_iso8859_1" ]; systemd.services = let - makeService = name: { keyPath, usbDevice, waitForDevice }: + makeService = name: { usbDevice, waitForDevice, ... }: let usbDevPath = makeUsbDevPath usbDevice; usbMountPath = makeMountPath usbDevice; @@ -106,7 +106,7 @@ in cfg.devices; luks.devices = builtins.mapAttrs - (name: { keyPath, usbDevice, ... }: + (_: { keyPath, usbDevice, ... }: let usbMountPath = makeMountPath usbDevice; in diff --git a/modules/mailserver/default.nix b/modules/mailserver/default.nix index 93abbbf..59a8e2c 100644 --- a/modules/mailserver/default.nix +++ b/modules/mailserver/default.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ config, lib, ... }: let cfg = config.jalr.mailserver; in diff --git a/modules/matrix/default.nix b/modules/matrix/default.nix index bbdce2d..4f3c745 100644 --- a/modules/matrix/default.nix +++ b/modules/matrix/default.nix @@ -1,7 +1,5 @@ { config, lib, pkgs, ... }: -let - cfg = config.jalr.matrix; -in + { options.jalr.matrix = with lib; with lib.types; { enable = mkEnableOption "simple matrix server"; diff --git a/modules/matrix/mautrix-signal.nix b/modules/matrix/mautrix-signal.nix index 09c932e..e00ec3a 100644 --- a/modules/matrix/mautrix-signal.nix +++ b/modules/matrix/mautrix-signal.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ config, lib, ... }: let cfg = config.jalr.matrix; diff --git a/modules/matrix/mautrix-whatsapp.nix b/modules/matrix/mautrix-whatsapp.nix index f365efc..d4438fe 100644 --- a/modules/matrix/mautrix-whatsapp.nix +++ b/modules/matrix/mautrix-whatsapp.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ config, lib, ... }: let cfg = config.jalr.matrix; diff --git a/modules/matrix/synapse.nix b/modules/matrix/synapse.nix index c590b42..f97ddd6 100644 --- a/modules/matrix/synapse.nix +++ b/modules/matrix/synapse.nix @@ -79,7 +79,7 @@ lib.mkIf cfg.enable { matrix-synapse.settings.app_service_config_files = lib.attrsets.mapAttrsToList ( - name: value: + name: _: "/run/matrix-synapse/app_service_config/${name}.yaml" ) cfg.synapse.app_service_config; @@ -108,8 +108,7 @@ lib.mkIf cfg.enable { systemd.services.matrix-synapse = { restartTriggers = lib.attrsets.mapAttrsToList ( - name: value: - "${value}" + _: value: "${value}" ) cfg.synapse.app_service_config; serviceConfig = { diff --git a/modules/networking/default.nix b/modules/networking/default.nix index 065c24b..80cdff2 100644 --- a/modules/networking/default.nix +++ b/modules/networking/default.nix @@ -5,6 +5,7 @@ { imports = [ ./network-manager.nix + ./ports.nix ]; networking.firewall.logRefusedConnections = lib.mkDefault false; diff --git a/modules/networking/ports.nix b/modules/networking/ports.nix new file mode 100644 index 0000000..74293ac --- /dev/null +++ b/modules/networking/ports.nix @@ -0,0 +1,20 @@ +{lib, ...}: + +{ + options.networking.ports = with lib; with lib.types; mkOption { + type = attrsOf (types.submodule { + options = { + tcp = mkOption { + type = oneOf [ port (listOf port) (attrsOf port) (listOf (attrsOf lib.types.port)) ]; + description = "TCP ports"; + default = [ ]; + }; + udp = mkOption { + type = oneOf [ port (listOf port) (attrsOf port) (listOf (attrsOf lib.types.port)) ]; + description = "UDP ports"; + default = [ ]; + }; + }; + }); + }; +} diff --git a/modules/nix.nix b/modules/nix.nix index 689184e..0be49a4 100644 --- a/modules/nix.nix +++ b/modules/nix.nix @@ -42,7 +42,7 @@ nixpkgs.overlays = [ inputs.self.overlays.default - (final: prev: { + (_: prev: { master = import inputs.nixpkgsMaster { inherit system; inherit (prev) config; diff --git a/modules/printers/p-touch_p700.nix b/modules/printers/p-touch_p700.nix index 627ad56..07076b1 100644 --- a/modules/printers/p-touch_p700.nix +++ b/modules/printers/p-touch_p700.nix @@ -1,5 +1,3 @@ -{ config, lib, ... }: - { services.udev.extraRules = '' SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="04f9", ATTR{idProduct}=="2061", OWNER="root", GROUP="users", MODE="660" diff --git a/modules/qbittorrent/default.nix b/modules/qbittorrent/default.nix index 12771a4..9165d4d 100644 --- a/modules/qbittorrent/default.nix +++ b/modules/qbittorrent/default.nix @@ -1,4 +1,4 @@ -{ config, inputs, lib, pkgs, ... }: +{ config, lib, pkgs, ... }: let cfg = config.jalr.qbittorrent; in diff --git a/modules/sudo.nix b/modules/sudo.nix index d47d889..da6577a 100644 --- a/modules/sudo.nix +++ b/modules/sudo.nix @@ -1,4 +1,3 @@ -{ pkgs, inputs, ... }: let commandsWithoutPassword = [ "/run/current-system/sw/bin/systemctl restart tor.service" diff --git a/modules/udmx.nix b/modules/udmx.nix index da8df93..3d7befe 100644 --- a/modules/udmx.nix +++ b/modules/udmx.nix @@ -1,5 +1,3 @@ -{ config, lib, pkgs, ... }: - { services.udev.extraRules = '' # uDMX diff --git a/pkgs/asterisk-sounds-de/default.nix b/pkgs/asterisk-sounds-de/default.nix index ba9a9b0..ca5cad5 100644 --- a/pkgs/asterisk-sounds-de/default.nix +++ b/pkgs/asterisk-sounds-de/default.nix @@ -1,5 +1,4 @@ -{ lib -, stdenvNoCC +{ stdenvNoCC , fetchurl , unzip }: diff --git a/pkgs/contact-page/default.nix b/pkgs/contact-page/default.nix index 1a487ca..170b787 100644 --- a/pkgs/contact-page/default.nix +++ b/pkgs/contact-page/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenvNoCC }: +{ stdenvNoCC }: stdenvNoCC.mkDerivation { name = "jalr-contact"; diff --git a/pkgs/default.nix b/pkgs/default.nix index 2671fe0..2eb4b51 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,8 +1,8 @@ inputs: -final: prev: +_: prev: let - inherit (prev) callPackage system pkgsCross darwin; + inherit (prev) callPackage system pkgsCross; poetry2nix = callPackage inputs.poetry2nix { }; in { diff --git a/pkgs/docker-machine-driver-hetzner/default.nix b/pkgs/docker-machine-driver-hetzner/default.nix index 83cfd12..aa0efa1 100644 --- a/pkgs/docker-machine-driver-hetzner/default.nix +++ b/pkgs/docker-machine-driver-hetzner/default.nix @@ -1,12 +1,12 @@ -{ lib, stdenv, buildGoApplication, fetchFromGitHub }: +{ buildGoApplication, fetchFromGitHub }: buildGoApplication rec { pname = "docker-machine-driver-hetzner"; version = "5.0.1"; src = fetchFromGitHub { - rev = "${version}"; - owner = "JonasProgrammer"; - repo = "docker-machine-driver-hetzner"; + rev = "${version}"; + owner = "JonasProgrammer"; + repo = "docker-machine-driver-hetzner"; sha256 = "sha256-JREn6AzayaHkyhdOTJ8P2H/s/5RaKLe+Qb8GV5dI2pA="; }; modules = ./gomod2nix.toml; diff --git a/pkgs/fpvout/default.nix b/pkgs/fpvout/default.nix index f4090d7..7664f9c 100644 --- a/pkgs/fpvout/default.nix +++ b/pkgs/fpvout/default.nix @@ -1,5 +1,4 @@ -{ lib -, stdenv +{ stdenv , fetchFromGitHub , pkgs }: diff --git a/pkgs/home-assistant-custom-components/guntamatic.nix b/pkgs/home-assistant-custom-components/guntamatic.nix index b7f86bb..8ddb7cd 100644 --- a/pkgs/home-assistant-custom-components/guntamatic.nix +++ b/pkgs/home-assistant-custom-components/guntamatic.nix @@ -1,5 +1,4 @@ -{ lib -, fetchFromGitHub +{ fetchFromGitHub , buildHomeAssistantComponent }: diff --git a/pkgs/illuminanced/default.nix b/pkgs/illuminanced/default.nix index cf27e6f..2683fdc 100644 --- a/pkgs/illuminanced/default.nix +++ b/pkgs/illuminanced/default.nix @@ -1,6 +1,5 @@ { rustPlatform , fetchFromGitHub -, pkgs }: rustPlatform.buildRustPackage { diff --git a/pkgs/modules.nix b/pkgs/modules.nix index 25865fa..8a82e06 100644 --- a/pkgs/modules.nix +++ b/pkgs/modules.nix @@ -1,5 +1,3 @@ -{ pkgs, ... }: - { imports = [ ./asterisk-sounds-de/module.nix diff --git a/pkgs/myintercom-doorbell/default.nix b/pkgs/myintercom-doorbell/default.nix index 9d7fd58..23a4101 100644 --- a/pkgs/myintercom-doorbell/default.nix +++ b/pkgs/myintercom-doorbell/default.nix @@ -1,10 +1,10 @@ -{ lib, python3, poetry2nix }: +{ poetry2nix }: -poetry2nix.mkPoetryApplication rec { +poetry2nix.mkPoetryApplication { pname = "myintercom-audiosocket"; version = "0.0.1"; projectDir = ./.; - overrides = poetry2nix.overrides.withDefaults (final: prev: { + overrides = poetry2nix.overrides.withDefaults (_: prev: { urllib3 = prev.urllib3.override { preferWheel = true; }; diff --git a/pkgs/pretix-banktool/module.nix b/pkgs/pretix-banktool/module.nix index 253a519..9c58157 100644 --- a/pkgs/pretix-banktool/module.nix +++ b/pkgs/pretix-banktool/module.nix @@ -2,17 +2,6 @@ let cfg = config.services.pretix-banktool; - mkTimer = { description, unit, onCalendar }: { - inherit description; - requires = [ "pretix-migrate.service" ]; - after = [ "network.target" ]; - wantedBy = [ "timers.target" ]; - timerConfig = { - Persistent = true; - OnCalendar = onCalendar; - Unit = unit; - }; - }; in { options.services.pretix-banktool = with lib; with lib.types; { diff --git a/users/jalr/default.nix b/users/jalr/default.nix index 93e99b1..d08ba2e 100644 --- a/users/jalr/default.nix +++ b/users/jalr/default.nix @@ -32,7 +32,7 @@ in useUserPackages = true; useGlobalPkgs = true; backupFileExtension = "hm.bak"; - users.jalr = { lib, pkgs, ... }: { + users.jalr = { pkgs, ... }: { imports = [ ./modules ]; config = { home.stateVersion = config.system.stateVersion; diff --git a/users/jalr/modules/aws.nix b/users/jalr/modules/aws.nix index c37e6d5..2e85f92 100644 --- a/users/jalr/modules/aws.nix +++ b/users/jalr/modules/aws.nix @@ -1,4 +1,4 @@ -{ nixosConfig, lib, pkgs, config, ... }: +{ nixosConfig, lib, config, ... }: let inherit (config) xdg; diff --git a/users/jalr/modules/cli/default.nix b/users/jalr/modules/cli/default.nix index 978c846..a0d6ca9 100644 --- a/users/jalr/modules/cli/default.nix +++ b/users/jalr/modules/cli/default.nix @@ -1,4 +1,4 @@ -{ nixosConfig, lib, pkgs, ... }: +{ nixosConfig, pkgs, ... }: { imports = [ ./htop.nix diff --git a/users/jalr/modules/communication/default.nix b/users/jalr/modules/communication/default.nix index 5dc2faf..f461097 100644 --- a/users/jalr/modules/communication/default.nix +++ b/users/jalr/modules/communication/default.nix @@ -1,5 +1,3 @@ -{ nixosConfig, ... }: - { imports = [ ./ferdium.nix diff --git a/users/jalr/modules/dynamic-colors.nix b/users/jalr/modules/dynamic-colors.nix index cb318e0..31e1893 100644 --- a/users/jalr/modules/dynamic-colors.nix +++ b/users/jalr/modules/dynamic-colors.nix @@ -1,4 +1,4 @@ -{ nixosConfig, lib, config, pkgs, ... }: +{ nixosConfig, lib, pkgs, ... }: let loadSwayTheme = pkgs.writeShellScript "load-sway-theme" '' diff --git a/users/jalr/modules/git.nix b/users/jalr/modules/git.nix index da57290..93e9d9f 100644 --- a/users/jalr/modules/git.nix +++ b/users/jalr/modules/git.nix @@ -1,4 +1,4 @@ -{ nixosConfig, pkgs, ... }: +{ pkgs, ... }: let identity.DigitalerDienst = { name = "Jakob Lechner"; diff --git a/users/jalr/modules/graphics/default.nix b/users/jalr/modules/graphics/default.nix index 802e665..3af9b75 100644 --- a/users/jalr/modules/graphics/default.nix +++ b/users/jalr/modules/graphics/default.nix @@ -1,5 +1,3 @@ -{ nixosConfig, ... }: - { imports = [ ./gimp.nix diff --git a/users/jalr/modules/mycli/default.nix b/users/jalr/modules/mycli/default.nix index 758eb36..4f90e9e 100644 --- a/users/jalr/modules/mycli/default.nix +++ b/users/jalr/modules/mycli/default.nix @@ -1,8 +1,8 @@ { lib, pkgs, ... }: let quoteValues = ini: lib.mapAttrs - (section: attrs: - lib.mapAttrs (key: value: if builtins.isString value then ''"${value}"'' else value) attrs + (_: attrs: + lib.mapAttrs (_: value: if builtins.isString value then ''"${value}"'' else value) attrs ) ini; diff --git a/users/jalr/modules/neo.nix b/users/jalr/modules/neo.nix index 48bbb3b..9acef59 100644 --- a/users/jalr/modules/neo.nix +++ b/users/jalr/modules/neo.nix @@ -1,4 +1,3 @@ -{ config, pkgs, ... }: { home.sessionVariables = { XKB_DEFAULT_LAYOUT = "de,de"; diff --git a/users/jalr/modules/ots.nix b/users/jalr/modules/ots.nix index 68369e2..4f3e85c 100644 --- a/users/jalr/modules/ots.nix +++ b/users/jalr/modules/ots.nix @@ -1,8 +1,5 @@ -{ lib, pkgs, ... }: +{ pkgs, ... }: -let - configFile = "ots/ots.json"; -in { home.packages = [ ( diff --git a/users/jalr/modules/pomodoro.nix b/users/jalr/modules/pomodoro.nix index 85e1b78..6df182a 100644 --- a/users/jalr/modules/pomodoro.nix +++ b/users/jalr/modules/pomodoro.nix @@ -1,4 +1,4 @@ -{ nixosConfig, lib, pkgs, config, ... }: +{ nixosConfig, lib, pkgs, ... }: let tomlFormat = pkgs.formats.toml { }; diff --git a/users/jalr/modules/remarkable/restream.nix b/users/jalr/modules/remarkable/restream.nix index f2725f8..6dcbec5 100644 --- a/users/jalr/modules/remarkable/restream.nix +++ b/users/jalr/modules/remarkable/restream.nix @@ -1,4 +1,4 @@ -{ nixosConfig, lib, pkgs, ... }: +{ pkgs, ... }: { home.packages = with pkgs; [ diff --git a/users/jalr/modules/remarkable/rmview.nix b/users/jalr/modules/remarkable/rmview.nix index e87366b..0bf96ed 100644 --- a/users/jalr/modules/remarkable/rmview.nix +++ b/users/jalr/modules/remarkable/rmview.nix @@ -1,4 +1,4 @@ -{ nixosConfig, lib, pkgs, ... }: +{ lib, pkgs, ... }: let config = { @@ -16,7 +16,7 @@ in { home.packages = with pkgs; [ ( - pkgs.writeShellScriptBin "rmview" '' + writeShellScriptBin "rmview" '' export QT_QPA_PLATFORM=xcb exec ${pkgs.rmview}/bin/rmview "$@" '' diff --git a/users/jalr/modules/solarized.nix b/users/jalr/modules/solarized.nix index c814420..5390a31 100644 --- a/users/jalr/modules/solarized.nix +++ b/users/jalr/modules/solarized.nix @@ -1,5 +1,5 @@ builtins.mapAttrs - (name: hex: { + (_: hex: { inherit hex; rgb = builtins.concatStringsSep "," (map (f: toString (builtins.fromTOML "i = 0x${f hex}").i) (map (pos: builtins.substring pos 2) [ 1 3 5 ])); }) diff --git a/users/jalr/modules/sound/default.nix b/users/jalr/modules/sound/default.nix index 37008dd..79ed3c4 100644 --- a/users/jalr/modules/sound/default.nix +++ b/users/jalr/modules/sound/default.nix @@ -1,5 +1,3 @@ -{ nixosConfig, pkgs, ... }: - { imports = [ ./audacity.nix diff --git a/users/jalr/modules/sway/default.nix b/users/jalr/modules/sway/default.nix index 5139fc9..2d1a004 100644 --- a/users/jalr/modules/sway/default.nix +++ b/users/jalr/modules/sway/default.nix @@ -1,4 +1,4 @@ -{ nixosConfig, config, lib, pkgs, stdenv, ... }: +{ nixosConfig, config, lib, pkgs, ... }: let solarized = import ../solarized.nix; diff --git a/users/jalr/modules/sway/move-to-output/default.nix b/users/jalr/modules/sway/move-to-output/default.nix index 4c3fa5e..0daabfe 100644 --- a/users/jalr/modules/sway/move-to-output/default.nix +++ b/users/jalr/modules/sway/move-to-output/default.nix @@ -1,5 +1,5 @@ -{ lib, stdenv, pkgs, writeShellScript, ... }: -stdenv.mkDerivation rec { +{ stdenv, pkgs, ... }: +stdenv.mkDerivation { name = "sway-move-to-output"; phases = "installPhase"; installPhase = '' diff --git a/users/jalr/modules/sway/wofi.nix b/users/jalr/modules/sway/wofi.nix index 9180509..ca8eb9a 100644 --- a/users/jalr/modules/sway/wofi.nix +++ b/users/jalr/modules/sway/wofi.nix @@ -1,4 +1,4 @@ -{ nixosConfig, config, lib, pkgs, ... }: +{ lib, ... }: let solarized = import ../solarized.nix; diff --git a/users/jalr/modules/sway/yubikey-touch-detector.nix b/users/jalr/modules/sway/yubikey-touch-detector.nix index 658f653..0d01b60 100644 --- a/users/jalr/modules/sway/yubikey-touch-detector.nix +++ b/users/jalr/modules/sway/yubikey-touch-detector.nix @@ -1,4 +1,4 @@ -{ nixosConfig, config, lib, pkgs, ... }: +{ pkgs, ... }: { systemd.user.services.yubikey-touch-detector = { diff --git a/users/jalr/modules/tmux.nix b/users/jalr/modules/tmux.nix index a0781e4..c8d4c10 100644 --- a/users/jalr/modules/tmux.nix +++ b/users/jalr/modules/tmux.nix @@ -1,4 +1,3 @@ -{ config, pkgs, ... }: { programs.tmux = { enable = true; diff --git a/users/jalr/modules/vdirsyncer.nix b/users/jalr/modules/vdirsyncer.nix index c8c828d..c853db1 100644 --- a/users/jalr/modules/vdirsyncer.nix +++ b/users/jalr/modules/vdirsyncer.nix @@ -45,27 +45,6 @@ let }; }; - mkWebcalSection = { name, url ? null, urlCommand ? null }: assert url == null -> urlCommand != null; { - "pair calendar_${name}" = { - a = "calendar_${name}_local"; - b = "calendar_${name}_remote"; - collections = null; - }; - - "storage calendar_${name}_local" = { - type = "filesystem"; - path = "${calendarBasePath}/${name}/"; - fileext = ".ics"; - }; - - "storage calendar_${name}_remote" = { - type = "http"; - } // (if urlCommand != null then { - "url.fetch" = fetchCommand urlCommand; - } else { - inherit url; - }); - }; in { home.packages = with pkgs; [ From 6f01431032619f4ea26487041fb2d29298afcade Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 10 Apr 2025 01:13:11 +0200 Subject: [PATCH 625/766] Fix duplicate port check --- custom-utils/default.nix | 30 +---------- custom-utils/ports.nix | 42 +++++++-------- hosts/aluminium/configuration.nix | 1 + hosts/aluminium/ports.nix | 24 +++++---- hosts/aluminium/services/asterisk/default.nix | 19 ++----- hosts/aluminium/services/doorbell.nix | 4 +- hosts/aluminium/services/esphome/default.nix | 4 +- hosts/aluminium/services/home-assistant.nix | 4 +- hosts/aluminium/services/nginx.nix | 4 +- hosts/aluminium/services/unifi-controller.nix | 4 +- hosts/iron/configuration.nix | 1 + hosts/iron/ports.nix | 52 ++++++++++--------- hosts/iron/services/calibre.nix | 4 +- hosts/iron/services/esphome/default.nix | 4 +- hosts/iron/services/home-assistant.nix | 4 +- hosts/iron/services/jellyfin.nix | 4 +- hosts/iron/services/mail.nix | 4 +- hosts/iron/services/matrix.nix | 4 +- hosts/iron/services/navidrome.nix | 4 +- hosts/iron/services/nginx.nix | 4 +- hosts/iron/services/public-ip-tunnel.nix | 4 +- hosts/iron/services/radicale.nix | 4 +- hosts/iron/services/remarkable.nix | 4 +- hosts/iron/services/snapcast/snapserver.nix | 4 +- hosts/iron/services/sturzbach.nix | 4 +- hosts/iron/services/unifi-controller.nix | 4 +- hosts/iron/services/whatsapp.nix | 4 +- hosts/magnesium/ports.nix | 4 +- hosts/magnesium/services/coturn.nix | 2 +- hosts/magnesium/services/forgejo.nix | 2 +- hosts/magnesium/services/hedgedoc.nix | 2 +- hosts/magnesium/services/ntfy.nix | 2 +- hosts/magnesium/services/public-ip-tunnel.nix | 2 +- hosts/magnesium/services/trilium.nix | 2 +- hosts/magnesium/services/webserver.nix | 2 +- hosts/weinturm-pretix-prod/configuration.nix | 1 + hosts/weinturm-pretix-prod/ports.nix | 12 +++-- .../weinturm-pretix-prod/services/pretix.nix | 4 +- modules/networking/ports.nix | 6 +-- 39 files changed, 132 insertions(+), 158 deletions(-) diff --git a/custom-utils/default.nix b/custom-utils/default.nix index 101f08c..9bc4a53 100644 --- a/custom-utils/default.nix +++ b/custom-utils/default.nix @@ -1,33 +1,5 @@ { lib, ... }: -let - filterPort = pm: port: ( - lib.attrsets.catAttrs port ( - lib.attrsets.attrValues ( - lib.attrsets.filterAttrs (_: v: v ? "${port}") pm - ) - ) - ); - onlyUniqueItemsInList = x: lib.lists.length x == lib.lists.length (lib.lists.unique x); - protocols = x: lib.lists.unique (lib.flatten (map builtins.attrNames (lib.attrValues x))); - mkRange = x: lib.lists.range (builtins.elemAt x 0) (builtins.elemAt x 1); - validateList = allowed: builtins.all (x: builtins.elem x allowed); -in { - validatePortAttrset = portmap: - if ! onlyUniqueItemsInList (lib.flatten (map - (x: - if lib.isInt x then x - else if lib.isList x then x - else if lib.isAttrs x then - ( - if ! validateList [ "range" ] (builtins.attrNames x) then builtins.abort "found invalid attribute name" - else if x ? "range" then if lib.lists.length x.range == 2 then mkRange x.range else builtins.abort "range needs a list with exactly two items" - else builtins.abort "found invalid attrset" - ) - else builtins.abort "found invalid entry in portmap" - ) - (filterPort portmap "udp"))) then builtins.abort "Found duplicate ports." - else if ! validateList [ "tcp" "udp" ] (protocols portmap) then builtins.abort "Found invalid protocol." - else portmap; + validatePortAttrset = import ./ports.nix { inherit lib; }; } diff --git a/custom-utils/ports.nix b/custom-utils/ports.nix index 101f08c..a8d1a54 100644 --- a/custom-utils/ports.nix +++ b/custom-utils/ports.nix @@ -9,25 +9,25 @@ let ) ); onlyUniqueItemsInList = x: lib.lists.length x == lib.lists.length (lib.lists.unique x); - protocols = x: lib.lists.unique (lib.flatten (map builtins.attrNames (lib.attrValues x))); - mkRange = x: lib.lists.range (builtins.elemAt x 0) (builtins.elemAt x 1); - validateList = allowed: builtins.all (x: builtins.elem x allowed); + mkRange = { from, to }: (lib.lists.range from to); in -{ - validatePortAttrset = portmap: - if ! onlyUniqueItemsInList (lib.flatten (map - (x: - if lib.isInt x then x - else if lib.isList x then x - else if lib.isAttrs x then - ( - if ! validateList [ "range" ] (builtins.attrNames x) then builtins.abort "found invalid attribute name" - else if x ? "range" then if lib.lists.length x.range == 2 then mkRange x.range else builtins.abort "range needs a list with exactly two items" - else builtins.abort "found invalid attrset" - ) - else builtins.abort "found invalid entry in portmap" - ) - (filterPort portmap "udp"))) then builtins.abort "Found duplicate ports." - else if ! validateList [ "tcp" "udp" ] (protocols portmap) then builtins.abort "Found invalid protocol." - else portmap; -} +portmap: +if builtins.all + ( + proto: + if onlyUniqueItemsInList + ( + lib.flatten ( + map + (x: + if lib.isInt x then x + else if lib.isList x then x + else if lib.isAttrs x then mkRange x + else builtins.abort "found invalid entry in portmap" + ) + (filterPort portmap proto) + ) + ) then true else builtins.abort "Found duplicate ${proto} ports." + ) [ "tcp" "udp" ] +then portmap +else builtins.abort "Found duplicate ports." diff --git a/hosts/aluminium/configuration.nix b/hosts/aluminium/configuration.nix index 43c1b5d..fabaecc 100644 --- a/hosts/aluminium/configuration.nix +++ b/hosts/aluminium/configuration.nix @@ -5,6 +5,7 @@ ./hardware-configuration.nix ../../users/jalr ./services + ./ports.nix ]; services.openssh.enable = true; diff --git a/hosts/aluminium/ports.nix b/hosts/aluminium/ports.nix index f07e09d..f83f360 100644 --- a/hosts/aluminium/ports.nix +++ b/hosts/aluminium/ports.nix @@ -1,14 +1,16 @@ { custom-utils, ... }: -custom-utils.validatePortAttrset { - asterisk-rtp = { udp.range = [ 10000 10200 ]; }; - doorbell-audiosocket.tcp = 9092; - doorbell-webrtc-ice.tcp = 8189; - doorbell-webrtc.tcp = 8889; - esphome.tcp = 6052; - home-assistant.tcp = 8123; - nginx-http.tcp = 80; - nginx-https.tcp = 443; - unifi-inform.tcp = 8080; - unifi-ui.tcp = 8443; +{ + config.networking.ports = custom-utils.validatePortAttrset { + asterisk-rtp.udp = { from = 10000; to = 10200; }; + doorbell-audiosocket.tcp = 9092; + doorbell-webrtc-ice.tcp = 8189; + doorbell-webrtc.tcp = 8889; + esphome.tcp = 6052; + home-assistant.tcp = 8123; + nginx-http.tcp = 80; + nginx-https.tcp = 443; + unifi-inform.tcp = 8080; + unifi-ui.tcp = 8443; + }; } diff --git a/hosts/aluminium/services/asterisk/default.nix b/hosts/aluminium/services/asterisk/default.nix index 1fe50cb..88eee25 100644 --- a/hosts/aluminium/services/asterisk/default.nix +++ b/hosts/aluminium/services/asterisk/default.nix @@ -1,16 +1,12 @@ -args@{ config, lib, pkgs, ... }: +{ config, lib, pkgs, ... }: let - ports = import ../../ports.nix args; + inherit (config.networking) ports; secretConfigFiles = [ "ari" "pjsip" "voicemail" ]; - rtp = { - start = builtins.elemAt ports.asterisk-rtp.udp.range 0; - end = builtins.elemAt ports.asterisk-rtp.udp.range 1; - }; voicemail-sounds = pkgs.callPackage ./voicemail-sounds { }; in { @@ -142,8 +138,8 @@ in ''; "rtp.conf" = '' [general] - rtpstart=${toString rtp.start} - rtpend=${toString rtp.end} + rtpstart=${toString ports.asterisk-rtp.udp.from} + rtpend=${toString ports.asterisk-rtp.udp.to} ''; "dnsmgr.conf" = '' [general] @@ -167,12 +163,7 @@ in (lib.listToAttrs (map (name: lib.nameValuePair name { }) secretConfigFiles)); networking.firewall = { - allowedUDPPortRanges = [ - { - from = rtp.start; - to = rtp.end; - } - ]; + allowedUDPPortRanges = lib.singleton ports.asterisk-rtp.udp; interfaces.voice = { allowedTCPPorts = [ 5060 ]; allowedUDPPorts = [ 5060 ]; diff --git a/hosts/aluminium/services/doorbell.nix b/hosts/aluminium/services/doorbell.nix index 7d2f45d..9d8c5af 100644 --- a/hosts/aluminium/services/doorbell.nix +++ b/hosts/aluminium/services/doorbell.nix @@ -1,7 +1,7 @@ -args@{ config, ... }: +{ config, ... }: let - ports = import ../ports.nix args; + inherit (config.networking) ports; in { sops.secrets.myintercom-doorbell-password = { diff --git a/hosts/aluminium/services/esphome/default.nix b/hosts/aluminium/services/esphome/default.nix index bf8f9bc..144bb06 100644 --- a/hosts/aluminium/services/esphome/default.nix +++ b/hosts/aluminium/services/esphome/default.nix @@ -1,6 +1,6 @@ -args@{ lib, pkgs, config, ... }: +{ lib, pkgs, config, ... }: let - ports = import ../../ports.nix args; + inherit (config.networking) ports; cfgdir = pkgs.stdenvNoCC.mkDerivation { name = "esphome-config"; src = ./devices; diff --git a/hosts/aluminium/services/home-assistant.nix b/hosts/aluminium/services/home-assistant.nix index bab9944..633b210 100644 --- a/hosts/aluminium/services/home-assistant.nix +++ b/hosts/aluminium/services/home-assistant.nix @@ -1,6 +1,6 @@ -args@{ pkgs, config, ... }: +{ pkgs, config, ... }: let - ports = import ../ports.nix args; + inherit (config.networking) ports; in { services.home-assistant = { diff --git a/hosts/aluminium/services/nginx.nix b/hosts/aluminium/services/nginx.nix index b2e020e..6eb78ee 100644 --- a/hosts/aluminium/services/nginx.nix +++ b/hosts/aluminium/services/nginx.nix @@ -1,7 +1,7 @@ -args: +{ config, ... }: let - ports = import ../ports.nix args; + inherit (config.networking) ports; in { services.nginx = { diff --git a/hosts/aluminium/services/unifi-controller.nix b/hosts/aluminium/services/unifi-controller.nix index deeae22..f5a70a9 100644 --- a/hosts/aluminium/services/unifi-controller.nix +++ b/hosts/aluminium/services/unifi-controller.nix @@ -1,7 +1,7 @@ -args@{ pkgs, ... }: +{ config, pkgs, ... }: let - ports = import ../ports.nix args; + inherit (config.networking) ports; in { services.unifi = { diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index 789aca1..3c47261 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -34,6 +34,7 @@ with lib; { imports = [ ../../users/jalr ./services + ./ports.nix ]; config = { system.stateVersion = "23.11"; diff --git a/hosts/iron/ports.nix b/hosts/iron/ports.nix index 9c3a7fc..679a355 100644 --- a/hosts/iron/ports.nix +++ b/hosts/iron/ports.nix @@ -1,28 +1,30 @@ { custom-utils, ... }: -custom-utils.validatePortAttrset { - calibre-server.tcp = 8081; - calibre-web.tcp = 8082; - esphome.tcp = 6052; - home-assistant.tcp = 8123; - jellyfin.tcp = 8096; - matrix-synapse.tcp = 8008; - mautrix-signal.tcp = 29319; - mautrix-whatsapp.tcp = 29318; - mqtt.tcp = 1883; - navidrome.tcp = 4533; - nginx-http.tcp = 80; - nginx-https.tcp = 443; - postfix-relay.tcp = 25; - postfix-submission.tcp = [ 465 ]; - qbittorrent-torrent.tcp = 59832; - qbittorrent-webui.tcp = 8099; - radicale.tcp = 5232; - rmfakecloud.tcp = 3000; - snapserver.tcp = 1704; - snapserverTcp.tcp = 1705; - snapserverHttp.tcp = 1780; - unifi-http.tcp = 8080; - unifi-https.tcp = 8443; - wireguard-public-ip-tunnel.udp = 51000; +{ + config.networking.ports = custom-utils.validatePortAttrset { + calibre-server.tcp = 8081; + calibre-web.tcp = 8082; + esphome.tcp = 6052; + home-assistant.tcp = 8123; + jellyfin.tcp = 8096; + matrix-synapse.tcp = 8008; + mautrix-signal.tcp = 29319; + mautrix-whatsapp.tcp = 29318; + mqtt.tcp = 1883; + navidrome.tcp = 4533; + nginx-http.tcp = 80; + nginx-https.tcp = 443; + postfix-relay.tcp = 25; + postfix-submission.tcp = 465; + qbittorrent-torrent.tcp = 59832; + qbittorrent-webui.tcp = 8099; + radicale.tcp = 5232; + rmfakecloud.tcp = 3000; + snapserver.tcp = 1704; + snapserverTcp.tcp = 1705; + snapserverHttp.tcp = 1780; + unifi-http.tcp = 8080; + unifi-https.tcp = 8443; + wireguard-public-ip-tunnel.udp = 51000; + }; } diff --git a/hosts/iron/services/calibre.nix b/hosts/iron/services/calibre.nix index 831cbce..90f0b83 100644 --- a/hosts/iron/services/calibre.nix +++ b/hosts/iron/services/calibre.nix @@ -1,6 +1,6 @@ -args@{ lib, config, ... }: +{ lib, config, ... }: let - ports = import ../ports.nix args; + inherit (config.networking) ports; in { sops.secrets.calibre-htpasswd = { diff --git a/hosts/iron/services/esphome/default.nix b/hosts/iron/services/esphome/default.nix index b49ec96..cf83681 100644 --- a/hosts/iron/services/esphome/default.nix +++ b/hosts/iron/services/esphome/default.nix @@ -1,6 +1,6 @@ -args@{ lib, pkgs, config, ... }: +{ lib, pkgs, config, ... }: let - ports = import ../../ports.nix args; + inherit (config.networking) ports; cfgdir = pkgs.stdenvNoCC.mkDerivation { name = "esphome-config"; src = ./devices; diff --git a/hosts/iron/services/home-assistant.nix b/hosts/iron/services/home-assistant.nix index 8901256..fb520a9 100644 --- a/hosts/iron/services/home-assistant.nix +++ b/hosts/iron/services/home-assistant.nix @@ -1,6 +1,6 @@ -args@{ lib, pkgs, config, ... }: +{ lib, pkgs, config, ... }: let - ports = import ../ports.nix args; + inherit (config.networking) ports; interfaces = import ../interfaces.nix; domain = "hass.jalr.de"; in diff --git a/hosts/iron/services/jellyfin.nix b/hosts/iron/services/jellyfin.nix index 2f0230f..ad5e9a0 100644 --- a/hosts/iron/services/jellyfin.nix +++ b/hosts/iron/services/jellyfin.nix @@ -1,6 +1,6 @@ -args@{ lib, ... }: +{ config, lib, ... }: let - ports = import ../ports.nix args; + inherit (config.networking) ports; in { services.jellyfin = { diff --git a/hosts/iron/services/mail.nix b/hosts/iron/services/mail.nix index db2c2d2..c18aae9 100644 --- a/hosts/iron/services/mail.nix +++ b/hosts/iron/services/mail.nix @@ -1,7 +1,7 @@ -args: +{ config, ... }: let - ports = import ../ports.nix args; + inherit (config.networking) ports; in { #sops.secrets."domain_key_jalr.de" = { diff --git a/hosts/iron/services/matrix.nix b/hosts/iron/services/matrix.nix index 4f7dd3d..f325a9b 100644 --- a/hosts/iron/services/matrix.nix +++ b/hosts/iron/services/matrix.nix @@ -1,7 +1,7 @@ -args@{ config, pkgs, ... }: +{ config, pkgs, ... }: let - ports = import ../ports.nix args; + inherit (config.networking) ports; signalPhoneNumber = "+4915566437153"; signalUser = "jalr"; in diff --git a/hosts/iron/services/navidrome.nix b/hosts/iron/services/navidrome.nix index 054f38f..e36bef4 100644 --- a/hosts/iron/services/navidrome.nix +++ b/hosts/iron/services/navidrome.nix @@ -1,7 +1,7 @@ -args@{ config, lib, pkgs, ... }: +{ config, lib, pkgs, ... }: let - ports = import ../ports.nix args; + inherit (config.networking) ports; settings = { # https://www.navidrome.org/docs/usage/configuration-options/#available-options Address = "127.0.0.1"; diff --git a/hosts/iron/services/nginx.nix b/hosts/iron/services/nginx.nix index b2e020e..6eb78ee 100644 --- a/hosts/iron/services/nginx.nix +++ b/hosts/iron/services/nginx.nix @@ -1,7 +1,7 @@ -args: +{ config, ... }: let - ports = import ../ports.nix args; + inherit (config.networking) ports; in { services.nginx = { diff --git a/hosts/iron/services/public-ip-tunnel.nix b/hosts/iron/services/public-ip-tunnel.nix index 67ee737..92d6f29 100644 --- a/hosts/iron/services/public-ip-tunnel.nix +++ b/hosts/iron/services/public-ip-tunnel.nix @@ -1,7 +1,7 @@ -args@{ config, lib, pkgs, ... }: +{ config, lib, pkgs, ... }: let - ports = import ../ports.nix args; + inherit (config.networking) ports; listenPort = ports.wireguard-public-ip-tunnel.udp; remoteHost = "magnesium.jalr.de"; remotePort = 51000; diff --git a/hosts/iron/services/radicale.nix b/hosts/iron/services/radicale.nix index 7f327b6..f0aa757 100644 --- a/hosts/iron/services/radicale.nix +++ b/hosts/iron/services/radicale.nix @@ -1,7 +1,7 @@ -args@{ config, ... }: +{ config, ... }: let - ports = import ../ports.nix args; + inherit (config.networking) ports; in { sops.secrets.radicale-htpasswd = { diff --git a/hosts/iron/services/remarkable.nix b/hosts/iron/services/remarkable.nix index b3d6938..5080072 100644 --- a/hosts/iron/services/remarkable.nix +++ b/hosts/iron/services/remarkable.nix @@ -1,6 +1,6 @@ -args@{ lib, config, pkgs, ... }: +{ lib, config, pkgs, ... }: let - ports = import ../ports.nix args; + inherit (config.networking) ports; domain = "rmfakecloud.jalr.de"; cfg = config.services.rmfakecloud; mkEnvironment = settings: lib.strings.concatLines ( diff --git a/hosts/iron/services/snapcast/snapserver.nix b/hosts/iron/services/snapcast/snapserver.nix index 3aa31ff..0d44d04 100644 --- a/hosts/iron/services/snapcast/snapserver.nix +++ b/hosts/iron/services/snapcast/snapserver.nix @@ -1,6 +1,6 @@ -args@{ lib, pkgs, config, ... }: +{ lib, pkgs, config, ... }: let - ports = import ../../ports.nix args; + inherit (config.networking) ports; interfaces = import ../../interfaces.nix; in { diff --git a/hosts/iron/services/sturzbach.nix b/hosts/iron/services/sturzbach.nix index ce7cbe6..4f02a9a 100644 --- a/hosts/iron/services/sturzbach.nix +++ b/hosts/iron/services/sturzbach.nix @@ -1,7 +1,7 @@ -args: +{ config, ... }: let - ports = import ../ports.nix args; + inherit (config.networking) ports; in { jalr.qbittorrent = { diff --git a/hosts/iron/services/unifi-controller.nix b/hosts/iron/services/unifi-controller.nix index 841fdba..87144fa 100644 --- a/hosts/iron/services/unifi-controller.nix +++ b/hosts/iron/services/unifi-controller.nix @@ -1,7 +1,7 @@ -args@{ pkgs, ... }: +{ config, pkgs, ... }: let - ports = import ../ports.nix args; + inherit (config.networking) ports; interfaces = import ../interfaces.nix; in { diff --git a/hosts/iron/services/whatsapp.nix b/hosts/iron/services/whatsapp.nix index 6ef117c..19c2dae 100644 --- a/hosts/iron/services/whatsapp.nix +++ b/hosts/iron/services/whatsapp.nix @@ -1,7 +1,7 @@ -args@{ pkgs, ... }: +{ config, pkgs, ... }: let - ports = import ../ports.nix args; + inherit (config.networking) ports; shutdownAndroidVm = pkgs.writeShellScript "shutdown-android-vm" '' set -e export PATH=${pkgs.lib.makeBinPath [pkgs.libvirt pkgs.gnused pkgs.android-tools]} diff --git a/hosts/magnesium/ports.nix b/hosts/magnesium/ports.nix index 79e6a0b..52d3ddf 100644 --- a/hosts/magnesium/ports.nix +++ b/hosts/magnesium/ports.nix @@ -1,5 +1,7 @@ +{ custom-utils, ... }: + { - config.networking.ports = { + config.networking.ports = custom-utils.validatePortAttrset { coturn-cli.tcp = 5766; coturn-plain = { tcp = [ 3478 3479 ]; udp = [ 3478 3479 ]; }; coturn-relay.udp = { from = 49160; to = 49200; }; diff --git a/hosts/magnesium/services/coturn.nix b/hosts/magnesium/services/coturn.nix index e48af8b..d9e8447 100644 --- a/hosts/magnesium/services/coturn.nix +++ b/hosts/magnesium/services/coturn.nix @@ -3,7 +3,7 @@ let cfg = config.services.coturn; fqdn = "turn.jalr.de"; - ports = config.networking.ports; + inherit (config.networking) ports; in { sops.secrets.turn-static-auth-secret = { diff --git a/hosts/magnesium/services/forgejo.nix b/hosts/magnesium/services/forgejo.nix index 459e6e4..98ec795 100644 --- a/hosts/magnesium/services/forgejo.nix +++ b/hosts/magnesium/services/forgejo.nix @@ -2,7 +2,7 @@ let domain = "git.jalr.de"; cfg = config.services.forgejo; - ports = config.networking.ports; + inherit (config.networking) ports; in { sops.secrets.forgejo-mail = { diff --git a/hosts/magnesium/services/hedgedoc.nix b/hosts/magnesium/services/hedgedoc.nix index aa9f1f8..44db703 100644 --- a/hosts/magnesium/services/hedgedoc.nix +++ b/hosts/magnesium/services/hedgedoc.nix @@ -3,7 +3,7 @@ let domain = "pad.jalr.de"; cfg = config.services.hedgedoc; - ports = config.networking.ports; + inherit (config.networking) ports; in { sops.secrets.hedgedoc-session-secret = { diff --git a/hosts/magnesium/services/ntfy.nix b/hosts/magnesium/services/ntfy.nix index 17848fa..16f9129 100644 --- a/hosts/magnesium/services/ntfy.nix +++ b/hosts/magnesium/services/ntfy.nix @@ -3,7 +3,7 @@ let cfg = config.services.ntfy-sh; domain = "ntfy.jalr.de"; datadir = "/var/lib/ntfy-sh"; - ports = config.networking.ports; + inherit (config.networking) ports; in { # ntfy access --auth-file /var/lib/private/ntfy-sh/user.db '*' 'up*' write-only diff --git a/hosts/magnesium/services/public-ip-tunnel.nix b/hosts/magnesium/services/public-ip-tunnel.nix index 80a9800..f8fb289 100644 --- a/hosts/magnesium/services/public-ip-tunnel.nix +++ b/hosts/magnesium/services/public-ip-tunnel.nix @@ -3,7 +3,7 @@ let listenPort = ports.wireguard-public-ip-tunnel.udp; publicKey = "GCmQs7upvDYFueEfqD2yJkkOZg3K7YaGluWWzdjsyTo="; - ports = config.networking.ports; + inherit (config.networking) ports; in { sops.secrets = lib.listToAttrs (map diff --git a/hosts/magnesium/services/trilium.nix b/hosts/magnesium/services/trilium.nix index 964db27..c61c5cf 100644 --- a/hosts/magnesium/services/trilium.nix +++ b/hosts/magnesium/services/trilium.nix @@ -2,7 +2,7 @@ let domain = "notes.jalr.de"; - ports = config.networking.ports; + inherit (config.networking) ports; in { services.trilium-server = { diff --git a/hosts/magnesium/services/webserver.nix b/hosts/magnesium/services/webserver.nix index c0aa71f..a30a098 100644 --- a/hosts/magnesium/services/webserver.nix +++ b/hosts/magnesium/services/webserver.nix @@ -3,7 +3,7 @@ let domain = "jalr.de"; matrixDomain = "matrix.jalr.de"; - ports = config.networking.ports; + inherit (config.networking) ports; in { networking.firewall.allowedTCPPorts = [ ports.nginx-http.tcp ports.nginx-https.tcp ]; diff --git a/hosts/weinturm-pretix-prod/configuration.nix b/hosts/weinturm-pretix-prod/configuration.nix index 694dc1b..774ab83 100644 --- a/hosts/weinturm-pretix-prod/configuration.nix +++ b/hosts/weinturm-pretix-prod/configuration.nix @@ -3,6 +3,7 @@ ./hardware-configuration.nix ../../users/jalr ./services + ./ports.nix ]; networking.hostName = "weinturm-pretix-prod"; diff --git a/hosts/weinturm-pretix-prod/ports.nix b/hosts/weinturm-pretix-prod/ports.nix index cabfead..c41bae4 100644 --- a/hosts/weinturm-pretix-prod/ports.nix +++ b/hosts/weinturm-pretix-prod/ports.nix @@ -1,8 +1,10 @@ { custom-utils, ... }: -custom-utils.validatePortAttrset { - nginx-http.tcp = 80; - nginx-https.tcp = 443; - ports.postfix-relay.tcp = 25; - ports.postfix-submission.tcp = [ 465 ]; +{ + config.networking.ports = custom-utils.validatePortAttrset { + nginx-http.tcp = 80; + nginx-https.tcp = 443; + postfix-relay.tcp = 25; + postfix-submission.tcp = 465; + }; } diff --git a/hosts/weinturm-pretix-prod/services/pretix.nix b/hosts/weinturm-pretix-prod/services/pretix.nix index 174c68d..94fa3ab 100644 --- a/hosts/weinturm-pretix-prod/services/pretix.nix +++ b/hosts/weinturm-pretix-prod/services/pretix.nix @@ -1,8 +1,8 @@ -args@{ config, lib, ... }: +{ config, lib, ... }: let cfg = config.services.pretix; - ports = import ../ports.nix args; + inherit (config.networking) ports; domain = "tickets.weinturm-open-air.de"; extraDomains = [ "tickets.weinturm.jalr.de" diff --git a/modules/networking/ports.nix b/modules/networking/ports.nix index 74293ac..3e656aa 100644 --- a/modules/networking/ports.nix +++ b/modules/networking/ports.nix @@ -1,16 +1,16 @@ -{lib, ...}: +{ lib, ... }: { options.networking.ports = with lib; with lib.types; mkOption { type = attrsOf (types.submodule { options = { tcp = mkOption { - type = oneOf [ port (listOf port) (attrsOf port) (listOf (attrsOf lib.types.port)) ]; + type = oneOf [ port (listOf port) (attrsOf port) ]; description = "TCP ports"; default = [ ]; }; udp = mkOption { - type = oneOf [ port (listOf port) (attrsOf port) (listOf (attrsOf lib.types.port)) ]; + type = oneOf [ port (listOf port) (attrsOf port) ]; description = "UDP ports"; default = [ ]; }; From 7be4097ec940b6df982df1c508b2d25abda3d346 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 10 Apr 2025 01:41:26 +0200 Subject: [PATCH 626/766] Disable ksoloti as it is currently broken --- users/jalr/modules/sound/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/users/jalr/modules/sound/default.nix b/users/jalr/modules/sound/default.nix index 79ed3c4..d5764d3 100644 --- a/users/jalr/modules/sound/default.nix +++ b/users/jalr/modules/sound/default.nix @@ -3,6 +3,6 @@ ./audacity.nix ./easyeffects.nix ./pipewire.nix - ./ksoloti.nix + #./ksoloti.nix ]; } From 5b3ea1819dee6f2a2510bb98218142a90e2c21c1 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 10 Apr 2025 01:59:14 +0200 Subject: [PATCH 627/766] Fix browserpass --- users/jalr/modules/firefox/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/users/jalr/modules/firefox/default.nix b/users/jalr/modules/firefox/default.nix index db34d62..411773e 100644 --- a/users/jalr/modules/firefox/default.nix +++ b/users/jalr/modules/firefox/default.nix @@ -2,7 +2,11 @@ { programs.firefox = { inherit (nixosConfig.jalr.gui) enable; - package = pkgs.firefox-esr; + package = pkgs.firefox-esr.override { + nativeMessagingHosts = [ + pkgs.browserpass + ]; + }; policies = { AllowedDomainsForApps = ""; CaptivePortal = false; From d655696ffd4991136b9a636f6d43caf26f7f7c3e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 14 Apr 2025 15:24:10 +0200 Subject: [PATCH 628/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/de6fc5551121c59c01e2a3d45b277a6d05077bc4?narHash=sha256-b/exDDQSLmENZZgbAEI3qi9yHkuXAXCPbormD8CSJXo%3D' (2025-03-31) → 'github:nixos/nixos-hardware/9a049b4a421076d27fee3eec664a18b2066824cb?narHash=sha256-fbWE4Xpw6eH0Q6in%2BymNuDwTkqmFmtxcQEmtRuKDTTk%3D' (2025-04-14) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/60e405b241edb6f0573f3d9f944617fe33ac4a73?narHash=sha256-S9M4HddBCxbbX1CKSyDYgZ8NCVyHcbKnBfoUXeRu2jQ%3D' (2025-04-09) → 'github:nixos/nixpkgs/706209a65a7ca7ea829454dd9c40a80dc3eb0074?narHash=sha256-IY/KgztXwI%2Bs%2BBxG5ek1ayHOJBuDDmNxZmw732k9qw0%3D' (2025-04-14) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/3edf77d2a07e051182310440f299dbb3ca09046a?narHash=sha256-id2VxKm1SVaYLQi/28OMjEsFeaAMGC8KbJxy%2B0h1gUM%3D' (2025-04-09) → 'github:NixOS/nixpkgs/58703017d8a85361b67f02d7efbb8baf02bc1333?narHash=sha256-Np5pgX4m4h7IaCP1BwQPMz2p7XIRvjSfhaO1/IdgyIQ%3D' (2025-04-14) • Updated input 'nur': 'github:nix-community/NUR/85dc40ee54ecef0d520af9bbaaeb0e6f1df42495?narHash=sha256-pB/mVkkfjZD98fFHzo9WYzMZOISDMV5m1ua9cO1kRfE%3D' (2025-04-09) → 'github:nix-community/NUR/91cf72548fc06e8effab92add042cb256b0a5ffa?narHash=sha256-kgJIH0MIyPShPmuCK7jmTL4MHJ14j/xU9ITbm5HaDUw%3D' (2025-04-14) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/c8cd81426f45942bb2906d5ed2fe21d2f19d95b7?narHash=sha256-tzCdyIJj9AjysC3OuKA%2BtMD/kDEDAF9mICPDU7ix0JA%3D' (2025-04-08) → 'github:nixos/nixpkgs/2631b0b7abcea6e640ce31cd78ea58910d31e650?narHash=sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR%2BXhw3kr/3Xd0GPTM%3D' (2025-04-12) • Updated input 'sops-nix': 'github:Mic92/sops-nix/69d5a5a4635c27dae5a742f36108beccc506c1ba?narHash=sha256-SR6%2BqjkPjGQG%2B8eM4dCcVtss8r9bre/LAxFMPJpaZeU%3D' (2025-04-08) → 'github:Mic92/sops-nix/7e147a1ae90f0d4a374938cdc3df3cdaecb9d388?narHash=sha256-lv52pnfiRGp5%2BxkZEgWr56DWiRgkMFXpiGba3eJ3krE%3D' (2025-04-13) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index e111536..5619299 100644 --- a/flake.lock +++ b/flake.lock @@ -349,11 +349,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1743420942, - "narHash": "sha256-b/exDDQSLmENZZgbAEI3qi9yHkuXAXCPbormD8CSJXo=", + "lastModified": 1744633460, + "narHash": "sha256-fbWE4Xpw6eH0Q6in+ymNuDwTkqmFmtxcQEmtRuKDTTk=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "de6fc5551121c59c01e2a3d45b277a6d05077bc4", + "rev": "9a049b4a421076d27fee3eec664a18b2066824cb", "type": "github" }, "original": { @@ -365,11 +365,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1744168086, - "narHash": "sha256-S9M4HddBCxbbX1CKSyDYgZ8NCVyHcbKnBfoUXeRu2jQ=", + "lastModified": 1744636565, + "narHash": "sha256-IY/KgztXwI+s+BxG5ek1ayHOJBuDDmNxZmw732k9qw0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "60e405b241edb6f0573f3d9f944617fe33ac4a73", + "rev": "706209a65a7ca7ea829454dd9c40a80dc3eb0074", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1744187498, - "narHash": "sha256-id2VxKm1SVaYLQi/28OMjEsFeaAMGC8KbJxy+0h1gUM=", + "lastModified": 1744636776, + "narHash": "sha256-Np5pgX4m4h7IaCP1BwQPMz2p7XIRvjSfhaO1/IdgyIQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3edf77d2a07e051182310440f299dbb3ca09046a", + "rev": "58703017d8a85361b67f02d7efbb8baf02bc1333", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1744098102, - "narHash": "sha256-tzCdyIJj9AjysC3OuKA+tMD/kDEDAF9mICPDU7ix0JA=", + "lastModified": 1744463964, + "narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c8cd81426f45942bb2906d5ed2fe21d2f19d95b7", + "rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650", "type": "github" }, "original": { @@ -434,11 +434,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1744184848, - "narHash": "sha256-pB/mVkkfjZD98fFHzo9WYzMZOISDMV5m1ua9cO1kRfE=", + "lastModified": 1744633454, + "narHash": "sha256-kgJIH0MIyPShPmuCK7jmTL4MHJ14j/xU9ITbm5HaDUw=", "owner": "nix-community", "repo": "NUR", - "rev": "85dc40ee54ecef0d520af9bbaaeb0e6f1df42495", + "rev": "91cf72548fc06e8effab92add042cb256b0a5ffa", "type": "github" }, "original": { @@ -550,11 +550,11 @@ ] }, "locked": { - "lastModified": 1744103455, - "narHash": "sha256-SR6+qjkPjGQG+8eM4dCcVtss8r9bre/LAxFMPJpaZeU=", + "lastModified": 1744518500, + "narHash": "sha256-lv52pnfiRGp5+xkZEgWr56DWiRgkMFXpiGba3eJ3krE=", "owner": "Mic92", "repo": "sops-nix", - "rev": "69d5a5a4635c27dae5a742f36108beccc506c1ba", + "rev": "7e147a1ae90f0d4a374938cdc3df3cdaecb9d388", "type": "github" }, "original": { From 96de741c61bb136080b7186ac4d1b86c6db4a518 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 14 Apr 2025 21:29:36 +0200 Subject: [PATCH 629/766] Use nixos-24.11 branch of nixpkgs --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 5619299..d95c3a7 100644 --- a/flake.lock +++ b/flake.lock @@ -365,16 +365,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1744636565, - "narHash": "sha256-IY/KgztXwI+s+BxG5ek1ayHOJBuDDmNxZmw732k9qw0=", + "lastModified": 1744440957, + "narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "706209a65a7ca7ea829454dd9c40a80dc3eb0074", + "rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d", "type": "github" }, "original": { "owner": "nixos", - "ref": "release-24.11", + "ref": "nixos-24.11", "repo": "nixpkgs", "type": "github" } diff --git a/flake.nix b/flake.nix index 74808d5..d0fd029 100644 --- a/flake.nix +++ b/flake.nix @@ -36,7 +36,7 @@ nixos-hardware.url = "github:nixos/nixos-hardware/master"; - nixpkgs.url = "github:nixos/nixpkgs/release-24.11"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgsMaster.url = "github:NixOS/nixpkgs/master"; From 1c0fa7606b156d3477b0d8efd50295c257bd56e3 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 15 Apr 2025 12:25:43 +0200 Subject: [PATCH 630/766] Add mealie --- hosts/iron/secrets/mail-users.nix | Bin 1524 -> 1705 bytes hosts/magnesium/persistence.nix | 1 + hosts/magnesium/ports.nix | 1 + hosts/magnesium/secrets.yaml | 7 ++--- hosts/magnesium/services/default.nix | 1 + hosts/magnesium/services/mealie.nix | 37 +++++++++++++++++++++++++++ 6 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 hosts/magnesium/services/mealie.nix diff --git a/hosts/iron/secrets/mail-users.nix b/hosts/iron/secrets/mail-users.nix index 0046b885874d45c973507b8b794424d0d4864c26..bc181b7a1cfffa4a934f24a68ae8e386c7ac7ff5 100644 GIT binary patch literal 1705 zcmZQ@_Y83kiVO&0(EB;{L%-dSeV7$7Ly z?6hC%(Wcl5!OycwZL_Uk%AIt4>Mig@#OqA+=CIpYIhtiilI4F2Pg7+{nZAf4{`(7+AOYUXXSXdZW4q?}ZGlBY(gt3QawXRri*=4! z|5Co?c=xos2VWAiZ5-putm~cz-zO(#_QZc~{6F!^mC11zq6FSV-oN2`E=KRdDU)M8 zj~4gO@OiCk$5?56>%irZIHjC7CxgSbvYu-4eCwok-Zj^E-P89>#%cV=yVf%%Hpc3* zuNFTZl$gpC{L(5?O0n+9)NMf@GKJSz<*aMGIODsnvD^GrHR0y_9Zz0k-dlF&*w$mS zO^`*++mvhC)!<-%)D zoo$%1Sj>9L;dvRwn|TH8jdnEp|KkY0aXaPD&W}0*AN}|BCYj$2%QlHwvG&#Ff4aSX zdef7Hl-%e2yjK)hp*e5g%#y0-F_rmoQ&vnZ7S^2mj>lU1^$~FAhbA?<$&k zRzd81T(w?&|Fdf5JPEz!%*K<}s?Buz#FUh0mw2yk|6caYgnNcRCw=ztH!I+Oy8rO$ zK9juI6J`g0u^hX!ZsNK{EctHn=Pu0Mq*{1q%cB&*$LB7d-@7d|ao6%$lOmUy31)2h z-Scebi=W$eCKe^@_lRXHSA`Z`_vd{RA8YweVUomlzsnobC-4;4hi!PIx#Q97-S3yJ zRBdoP`taSe&ZoI@XD3-4dKjU3sy|>yUz?>~(w3<*mxHeT2n>=9wa|D}HzEIlt>~(w zHoI~bq&)9AzWf+}^PI>HdyOr&zn)?ub1~}nrY~mmo@RvHu9+3$$Li9%&F4 zY3;IF{3-K}>I{M15B|sNBuw9dK0XuLL2hi^*iyrjSP zA5Hr>-%s>tipAq&?4p0KO)76vRWH@J`pNy$HJ@bJn+rMml+!n8-7f$L1glP={~c(>Gc+AD|iJ?;}p5I$XUc9KaGR;=p{6W*FXI`&j z$i=s_{TzQN=CZ!e`g$xXVLF?sbhz4*UsH;vzWN@1PP-viDmV9)=IZdx2Q;mg{dpSg z!d+5)=~2KU?@r-+D;no9G|$Zb75*rbd)m$A%WKnCeO|mpYun|bq~-DZ6fP^p1{ZJm zFO^w8FYm*XLxF||_MDI@z2nuxrq;@qUHayD%H70@C;e`BcSyUHHsr2%`~GQ7+Yy<- zY29ZwhUbP%`|+lGUwPd}|KloeRCg^_o7a}V-}&$t;iLUeq+)Nad&88*8uoVm7E4(> z;~d%bXWU-=;9t|LHQ{%^UU1*+ynV;2GQHlqZVvhs^Ec+6OZ>F=t{2Qw5_;UYCu}zR zkb2TA3xEfdNIpxe*H$iTDbz8_vraP%iRdf$O6I#Rk;;^JAqt5Z|Un}mdUnSzy`+QDD zsX^gXHP_6*$nwf<&pxv`vcKQ+`_isbd$s>RFR<2JInwjHZ)L`$j}v=!Hp)C)=e?6< z{?ff01Qy?%H|PBU{|+2uSvDURR`T6n zGF!a7EB)*iMT?56lLoRnCl;0He6;YhztW+kc+Db7gGo>!uDn|8kIu=-O9L_w2H!N$ zZhCU*-5WcH3yBT}%uEK`CKk;!XSK4Bn>u50UV7)4#r)qCzQnZg zj@Vzj6Gu01)yt4m$x=GOx2y1h*zLx)Ck<0P1KJkG*xa^XmRNE3*{e^_r`_AM{lM>4 zZw}nbDY30ndwM%)S-$WYpIZfwx6gRj+28nS@{CMH6J_Vd`;3d2V+_vk-7+WqUKz#ME!$ts4{xuje&;BCY1L2mzYzwJ-s{3I7&1(J m-2O^BrYTFl>3GerPrM)GHOgzA-8~w-UooX8>G|{j7P8lCH3b3_zG?*)zrLy#`|)S(kF&FX__-Vwo;quD z`h?BvV}I^De(6S0$?jU|oi}Ej_Sw6sZ3TzfMW;EpDy&%@kIw2c`_9&N=61Pk#60K8 z-}&roN~)KZ^vz6m?J|)sa(|a`HRaNbf3MtF>yAI@o)`Q7;`b!8f6ZrumHZY=_h>O{(Olw-N7jfZ2%7IU_ z+ONB8te7ja<71wPt&Y5=ab28YuQ;*ex;4!o7<%u!80-?Z|^r<^|tEBr1|}=FwRt8| zelj~^n4=^*L#lsdW$4FDJuiFxV$Hp{tXI4lrZ2ON{+~`c{n6xtlCRg#Wi3ZS55>D_ z{NB|$F);OOSct^xzcp!>KF|DDo}Xa(A+6eXg(>~pNk&ET2!KD7}izh1a)-6s9(c-x0Of$dHqSIee8wA$o=l3`_P1z_qe{;3WJK>!M)9;9D$XuT% zb@i|E)(6WRr53#Mcp}e~y^(KO&NkKP2*wW|@$g|JeRM{>qPA+E0I7(bjH0S)ZAEJ!`?1l#~nEXP4dPx!uwI(nUi(v?cGu^u=#t z7nfa#LB92Xc_oJci(f*r~ z){|x`X!1T^+jT+d`>gy@`!h>zEUy0(Teg zteOA4=E2rAb{`La++I6{d0wYTish+WFGG?#H*j12{#J0{x17}b{YyFCv{O3+Unrl34NA5 zm!2(Xlufnt(4H`9ev;JGn`}4bB272NO`C8pwzYhwoUU@qqQwi Date: Sun, 29 Dec 2024 22:56:34 +0100 Subject: [PATCH 631/766] Use postgresql as database --- modules/matrix/synapse.nix | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/modules/matrix/synapse.nix b/modules/matrix/synapse.nix index f97ddd6..ea3ecc0 100644 --- a/modules/matrix/synapse.nix +++ b/modules/matrix/synapse.nix @@ -12,7 +12,11 @@ lib.mkIf cfg.enable { server_name = cfg.domain; public_baseurl = "https://${cfg.fqdn}"; - database.name = "sqlite3"; + database = { + name = "psycopg2"; + args.user = "matrix-synapse"; + args.database = "matrix-synapse"; + }; listeners = lib.singleton { inherit (cfg.synapse) port; @@ -103,6 +107,17 @@ lib.mkIf cfg.enable { }; }; + + postgresql = { + enable = true; + ensureDatabases = [ + config.services.matrix-synapse.settings.database.args.database + ]; + ensureUsers = [{ + name = config.services.matrix-synapse.settings.database.args.user; + ensureDBOwnership = true; + }]; + }; }; systemd.services.matrix-synapse = { From 1ad2b57fa04bafe926bd4dd29f7a6db0b49ec6db Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 17 Apr 2025 15:43:58 +0200 Subject: [PATCH 632/766] Add photoprism --- hosts/iron/ports.nix | 3 +- hosts/iron/secrets.yaml | 6 ++- hosts/iron/services/default.nix | 1 + hosts/iron/services/photoprism.nix | 72 ++++++++++++++++++++++++++++++ 4 files changed, 79 insertions(+), 3 deletions(-) create mode 100644 hosts/iron/services/photoprism.nix diff --git a/hosts/iron/ports.nix b/hosts/iron/ports.nix index 679a355..1cbc8cf 100644 --- a/hosts/iron/ports.nix +++ b/hosts/iron/ports.nix @@ -14,6 +14,7 @@ navidrome.tcp = 4533; nginx-http.tcp = 80; nginx-https.tcp = 443; + photoprism.tcp = 2342; postfix-relay.tcp = 25; postfix-submission.tcp = 465; qbittorrent-torrent.tcp = 59832; @@ -21,8 +22,8 @@ radicale.tcp = 5232; rmfakecloud.tcp = 3000; snapserver.tcp = 1704; - snapserverTcp.tcp = 1705; snapserverHttp.tcp = 1780; + snapserverTcp.tcp = 1705; unifi-http.tcp = 8080; unifi-https.tcp = 8443; wireguard-public-ip-tunnel.udp = 51000; diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index e6feaa5..75630e1 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -14,6 +14,8 @@ home-assistant: ENC[AES256_GCM,data:wcFMxDdRCHf/shO9v2WaGgrsa9J2WP62xFs=,iv:9cke mqtt-users: home-assistant: ENC[AES256_GCM,data:oIjCw7ZnA5iOBmQdW1jcy3QQnpjT32pY,iv:5HFRkXJBdMXQbjk2ubQs3sEy5qEteiqSe2hrNc8+H40=,tag:7B6yI4oCHanE0JE/gHaKnQ==,type:str] valetudo: ENC[AES256_GCM,data:+HRz6X+A5dhmx43G99ka0u9VozuzOFWR,iv:SPw5yoiBqN7sBH5EofevacTtu45jmuTPqToKrar0aJ0=,tag:lf+usB/eNNP1yuWW/QyTqQ==,type:str] +photoprism: + oidc-secret: ENC[AES256_GCM,data:XTAiUiGZJfSZHNbz6fePl3iMDdbxFSE7+SQH2ECRFqlo7w8TAhLyNXBxlEfGvu+8vttbKdkEm0r7132Q4ftOtA==,iv:WGsQXolbtRWIq4EDgODWNmkXdOZCsA9A3Fqoo4lJyec=,tag:5zJftwB5If/RZB3hI0Ly8A==,type:str] sops: kms: [] gcp_kms: [] @@ -29,8 +31,8 @@ sops: SU1USkxFUUY2NVhmUHBhZkdrNDR1Q0kKiXIicInELRjDR3tuyA+lnXeCcd9lYvbV GnBRGPM7BNO/6AA7HhAei48Kt+XE6+jQX66yTXyviKhK7Lpjrlb2YQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-03-01T23:14:53Z" - mac: ENC[AES256_GCM,data:1m+Ml5Vhm87U4xz1kKNZ/4E+RqweUt2ypYh1JTYVHHV3dgySJytkwn0pFZj3RfR+z4r03hrvSuBt0ldWSn8UvGLHsJj8L9AqfDXyPg3SI6uRS6UeAbqZFs5HhNQzkNKwPnZ9KPbXJ8ab8Ck+jSfEcrtPShDOgDp9jTJZ91hTB1c=,iv:6tVJI31180asGh+MMguAeKtD4SY6W/2Pizqjt0SV4v8=,tag:0ghRP8locNjtvpIYL8tDlg==,type:str] + lastmodified: "2025-04-17T13:32:20Z" + mac: ENC[AES256_GCM,data:5LX+9RdaHlMOd/gwsr9xdQZB2IQee6xx0YxUQ+sXIXe5xH+cgw8vm0Gd1YFjOT9Yf8DZ/51y8XSOMXP/oT36iYGpenb84ZGV+9X3aAT8+PWZxr6eJ8raDTO/sof5r/qVrxHls3Hl2nmKI6UzTZD8PINThIaEdy9mpfxRrrcL/iU=,iv:pkPEWcVAZBq1HfcOMiQEt/2STbFBhSfzyz5lYoALmdI=,tag:7QvzpR/deD5B7Hm0C4ghgw==,type:str] pgp: - created_at: "2024-01-31T01:20:30Z" enc: |- diff --git a/hosts/iron/services/default.nix b/hosts/iron/services/default.nix index 94f5ccb..15537cd 100644 --- a/hosts/iron/services/default.nix +++ b/hosts/iron/services/default.nix @@ -12,6 +12,7 @@ ./navidrome.nix ./nginx.nix ./ntp.nix + ./photoprism.nix ./public-ip-tunnel.nix ./radicale.nix ./remarkable.nix diff --git a/hosts/iron/services/photoprism.nix b/hosts/iron/services/photoprism.nix new file mode 100644 index 0000000..47bbefe --- /dev/null +++ b/hosts/iron/services/photoprism.nix @@ -0,0 +1,72 @@ +{ config, lib, pkgs, ... }: +let + domain = "media.weinturm-open-air.de"; + nextcloudDomain = "cloud.weinturm-open-air.de"; + inherit (config.networking) ports; + cfg = config.services.photoprism; + readSecretWrapper = pkgs.writeShellScriptBin "photoprism" '' + export PHOTOPRISM_OIDC_SECRET=$(cat "$CREDENTIALS_DIRECTORY/PHOTOPRISM_OIDC_SECRET_FILE") + + tagline[0]="Dein Blick. Unser Festival." + tagline[1]="Zeig uns das Festival durch deine Linse!" + tagline[2]="Gemeinsam festgehalten – Festivalmomente von euch für alle." + tagline[3]="Mach’s unvergesslich – lade deine Festivalfotos hoch!" + tagline[4]="Die besten Shots kommen von dir – teile sie hier." + tagline[5]="Jede Perspektive zählt – dein Foto, unser Highlight." + tagline[6]="Klick. Hochladen. Festivalgeschichte schreiben." + tagline[7]="Von der Crowd für die Crowd – Festivalfotos zum Verlieben." + tagline[8]="Dein Beitrag zum Festival-Archiv – jetzt Fotos teilen!" + tagline[9]="Weil kein Moment verloren gehen darf – deine Kamera zählt." + + size=''${#tagline[@]} + index=$(($RANDOM % $size)) + export PHOTOPRISM_SITE_CAPTION="''${tagline[$index]}" + + exec ${pkgs.photoprism}/bin/photoprism "$@" + ''; +in +{ + sops.secrets."photoprism/oidc-secret" = { + sopsFile = ../secrets.yaml; + }; + + systemd.services.photoprism.serviceConfig.LoadCredential = lib.mkForce "PHOTOPRISM_OIDC_SECRET_FILE:${config.sops.secrets."photoprism/oidc-secret".path}"; + + services.photoprism = { + enable = true; + originalsPath = "/weinturm/photoprism"; + port = ports.photoprism.tcp; + package = readSecretWrapper; + settings = { + PHOTOPRISM_SITE_URL = "https://${domain}/"; + PHOTOPRISM_OIDC_URI = "https://${nextcloudDomain}"; + PHOTOPRISM_OIDC_CLIENT = "WnqjmaPJ5c0dY7KaWmvXVVgJYNjztqTKBZ6Wq6bjYXGOwM2Xuzx2WabFlnJVRCSE"; # Client ID from settings + PHOTOPRISM_OIDC_SCOPES = "openid profile email roles"; + PHOTOPRISM_OIDC_PROVIDER = "Nextcloud"; + PHOTOPRISM_OIDC_ICON = "https://${nextcloudDomain}/apps/theming/image/logo"; + PHOTOPRISM_OIDC_REDIRECT = "true"; + PHOTOPRISM_OIDC_REGISTER = "true"; + PHOTOPRISM_OIDC_USERNAME = "preferred_username"; + PHOTOPRISM_OIDC_WEBDAV = "true"; + PHOTOPRISM_ORIGINALS_LIMIT = toString (20 * 1024); # maximum size of media files in MB + PHOTOPRISM_INDEX_SCHEDULE = "@every 4h"; + PHOTOPRISM_DEFAULT_LOCALE = "de"; + PHOTOPRISM_DEFAULT_TIMEZONE = "Europe/Berlin"; + PHOTOPRISM_SITE_TITLE = "Weinturm Medien"; + PHOTOPRISM_SITE_CAPTION = ""; + PHOTOPRISM_SITE_AUTHOR = "Jugend- und Kultur Förderverein e.V."; + }; + }; + + services.nginx.virtualHosts."${domain}" = { + enableACME = true; + forceSSL = true; + + locations = { + "/" = { + proxyPass = "http://127.0.0.1:${toString cfg.port}"; + proxyWebsockets = true; + }; + }; + }; +} From d677595ed833a0e1af3abc0ce8a4eb1039c9ce3c Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 17 Apr 2025 21:32:06 +0200 Subject: [PATCH 633/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/b4e98224ad1336751a2ac7493967a4c9f6d9cb3f?narHash=sha256-t7dFCDl4vIOOUMhEZnJF15aAzkpaup9x4ZRGToDFYWI%3D' (2025-04-08) → 'github:nix-community/home-manager/c61bfe3ae692f42ce688b5865fac9e0de58e1387?narHash=sha256-iyn/WBYDc7OtjSawbegINDe/gIkok888kQxk3aVnkgg%3D' (2025-04-15) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/58703017d8a85361b67f02d7efbb8baf02bc1333?narHash=sha256-Np5pgX4m4h7IaCP1BwQPMz2p7XIRvjSfhaO1/IdgyIQ%3D' (2025-04-14) → 'github:NixOS/nixpkgs/71329e03df9c14ac27774c68536b6b7418a59a9b?narHash=sha256-7vC7GLa4JSL/%2BYtHcQ%2B06c%2BJBctWFSB51YyqUM0l50c%3D' (2025-04-17) • Updated input 'nur': 'github:nix-community/NUR/91cf72548fc06e8effab92add042cb256b0a5ffa?narHash=sha256-kgJIH0MIyPShPmuCK7jmTL4MHJ14j/xU9ITbm5HaDUw%3D' (2025-04-14) → 'github:nix-community/NUR/74f1b9f96f695deab80d45e6a9859f980b072436?narHash=sha256-KzHhtTA54EwiOgxh3Vy81JhoIiQgZRDZlgo85a6K9TE%3D' (2025-04-17) • Updated input 'sops-nix': 'github:Mic92/sops-nix/7e147a1ae90f0d4a374938cdc3df3cdaecb9d388?narHash=sha256-lv52pnfiRGp5%2BxkZEgWr56DWiRgkMFXpiGba3eJ3krE%3D' (2025-04-13) → 'github:Mic92/sops-nix/61154300d945f0b147b30d24ddcafa159148026a?narHash=sha256-pXyanHLUzLNd3MX9vsWG%2B6Z2hTU8niyphWstYEP3/GU%3D' (2025-04-14) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index d95c3a7..77165b3 100644 --- a/flake.lock +++ b/flake.lock @@ -224,11 +224,11 @@ ] }, "locked": { - "lastModified": 1744117652, - "narHash": "sha256-t7dFCDl4vIOOUMhEZnJF15aAzkpaup9x4ZRGToDFYWI=", + "lastModified": 1744743431, + "narHash": "sha256-iyn/WBYDc7OtjSawbegINDe/gIkok888kQxk3aVnkgg=", "owner": "nix-community", "repo": "home-manager", - "rev": "b4e98224ad1336751a2ac7493967a4c9f6d9cb3f", + "rev": "c61bfe3ae692f42ce688b5865fac9e0de58e1387", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1744636776, - "narHash": "sha256-Np5pgX4m4h7IaCP1BwQPMz2p7XIRvjSfhaO1/IdgyIQ=", + "lastModified": 1744918147, + "narHash": "sha256-7vC7GLa4JSL/+YtHcQ+06c+JBctWFSB51YyqUM0l50c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "58703017d8a85361b67f02d7efbb8baf02bc1333", + "rev": "71329e03df9c14ac27774c68536b6b7418a59a9b", "type": "github" }, "original": { @@ -434,11 +434,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1744633454, - "narHash": "sha256-kgJIH0MIyPShPmuCK7jmTL4MHJ14j/xU9ITbm5HaDUw=", + "lastModified": 1744917937, + "narHash": "sha256-KzHhtTA54EwiOgxh3Vy81JhoIiQgZRDZlgo85a6K9TE=", "owner": "nix-community", "repo": "NUR", - "rev": "91cf72548fc06e8effab92add042cb256b0a5ffa", + "rev": "74f1b9f96f695deab80d45e6a9859f980b072436", "type": "github" }, "original": { @@ -550,11 +550,11 @@ ] }, "locked": { - "lastModified": 1744518500, - "narHash": "sha256-lv52pnfiRGp5+xkZEgWr56DWiRgkMFXpiGba3eJ3krE=", + "lastModified": 1744669848, + "narHash": "sha256-pXyanHLUzLNd3MX9vsWG+6Z2hTU8niyphWstYEP3/GU=", "owner": "Mic92", "repo": "sops-nix", - "rev": "7e147a1ae90f0d4a374938cdc3df3cdaecb9d388", + "rev": "61154300d945f0b147b30d24ddcafa159148026a", "type": "github" }, "original": { From 5c7a68e74fa30af62b7115b89bce4e5399dc4693 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 18 Apr 2025 02:01:27 +0200 Subject: [PATCH 634/766] Add tandoor --- hosts/magnesium/persistence.nix | 6 +++++ hosts/magnesium/ports.nix | 1 + hosts/magnesium/secrets.yaml | 6 +++-- hosts/magnesium/services/default.nix | 1 + hosts/magnesium/services/tandoor.nix | 37 ++++++++++++++++++++++++++++ 5 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 hosts/magnesium/services/tandoor.nix diff --git a/hosts/magnesium/persistence.nix b/hosts/magnesium/persistence.nix index 5dbd5fc..9d8ef4a 100644 --- a/hosts/magnesium/persistence.nix +++ b/hosts/magnesium/persistence.nix @@ -34,6 +34,12 @@ "/var/lib/nixos" "/var/lib/private/mealie" "/var/lib/private/ntfy-sh" + { + directory = "/var/lib/private/tandoor-recipes"; + user = "tandoor_recipes"; + group = "tandoor_recipes"; + mode = "u=rwx,g=rx,o="; + } { directory = "/var/lib/trilium"; user = "trilium"; diff --git a/hosts/magnesium/ports.nix b/hosts/magnesium/ports.nix index ee689c4..fd74f41 100644 --- a/hosts/magnesium/ports.nix +++ b/hosts/magnesium/ports.nix @@ -12,6 +12,7 @@ nginx-http.tcp = 80; nginx-https.tcp = 443; ntfy.tcp = 12474; + tandoor.tcp = 9001; trilium.tcp = 12783; wireguard-public-ip-tunnel.udp = 51000; }; diff --git a/hosts/magnesium/secrets.yaml b/hosts/magnesium/secrets.yaml index 1187ccd..92851b1 100644 --- a/hosts/magnesium/secrets.yaml +++ b/hosts/magnesium/secrets.yaml @@ -4,6 +4,8 @@ gitlab-runner_fablab-nea-hcloud-labsync: ENC[AES256_GCM,data:+znVO8cQxjDdhch7oUA forgejo-mail: ENC[AES256_GCM,data:eZv9dM0a06wFJaDUZjo=,iv:L32ab5k/AX8HqSACJA5w+WbzLlBijA5++Gcr2SrnYIU=,tag:ddyTXikWTMnxq86IijgyYg==,type:str] hedgedoc-session-secret: ENC[AES256_GCM,data:AYUiUF7R+5C3F5kNRL0R95e1l3Y59tIP388uY0IYCskBhR0H0XMVvyrX/gIM33Twwkc5it+fQtNPNXsbrAnoKQ==,iv:Q6pDEdFplp845/DCHutwni/g7Ch39pTCvfNs4Eh28CQ=,tag:aqVGs3iThmepT7iJusLOMA==,type:str] mealie: ENC[AES256_GCM,data:4LlxJjDstTPZCD7Xyb+0CRkeDafP9a9oMuYDnXznINe+LrfkJGKwQIwP0B3VpeMmZ0Rwe7Tvje0ZWySFGADireb2r7TjDyASAoXJDyNNJ8byRc5Zt77zL2dp/W4xVt8WpQvwsXosjDv3NN6we831wWUrfNtp0g34YLqSU3F/9i7AaU7nVKnQ9QtJRVg5O57nhs/ZXopKOBUdiKAmxcl0hNNdQdaQX6xkDCWrV4432IOckqyqEQyd9KeCURuWeTUgPmTmnt9Cj8KkaQ39fd0LAGRjOBsKo4C4,iv:o5BPW4Wcg4KcFkJHc/mdrO4Rh+1nifxulYkF+iM3LEw=,tag:KXwDr3VHxjeHkyo23SPJgA==,type:str] +tandoor: + secret_key: ENC[AES256_GCM,data:8aVuOBljF+vnEXOzi0r2xUtUGlZM50MuBXK70XW78Q9jNq4ZuRciGabnYwFfknb2/tA=,iv:KN7DwcMH5NN5BgWFgO/V1dfSyiHfAM2wS86atYcBdlQ=,tag:wQA7QL8VqP5d4uBSNQLsnQ==,type:str] sops: kms: [] gcp_kms: [] @@ -19,8 +21,8 @@ sops: elNwdVlJS2NCWUlXcEZvZWsvZ29FRnMK/qa6Qj1yQc91PWk9tMKSyFkMfYcHIKpQ jcPmGWbpi2NPL/F0Xz2X/zQQxWzs9uzlS1VH+y8JRe1EPMYJ78NXZw== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-04-14T23:06:22Z" - mac: ENC[AES256_GCM,data:FSJSzA9xGKH9FBMWHPJwgbltkeRoumgpeFeftsgUWrMcc2O+sldNa/Gl1Pnmz5AwXNT5zRGv/zcnrt3lQMY+1vPrg3+DRrv5fn2OtHIZxN0cz+okqEoE40w7WLUZSyj9IESjlJKOL/nOdXf7EkXL64ZWDAZ6YKYe7JwD5oCGMOM=,iv:xKFdHYTqLCWtJFWIiZjtzJZpG1RZWPdeE1i6PQqYNsk=,tag:DfzN2iDjavGA/uEjLKZotw==,type:str] + lastmodified: "2025-04-17T23:26:44Z" + mac: ENC[AES256_GCM,data:Dl4/6wrIwOsCRK979O9lSKyi4LKAG0CfgTGS3RwNu23MvhhaBNru4P1gPWWu7/YC6ad63Ip/RuVB69A1kUmgrYimZcU6E3iPg7vsqskmTU0caMD54CHemj57EYS7r8tcloBEgkOvM6Vn/Bs1dV1/EKAv9Kr6r4x6xb3UOofDcwM=,iv:pzRSKp3EnUpgMdwLDKrExpEkm+uZbU6/pYkVLbcnjrY=,tag:Z6DIPVcNUa8QihV1lsmUMA==,type:str] pgp: - created_at: "2025-04-08T22:53:53Z" enc: |- diff --git a/hosts/magnesium/services/default.nix b/hosts/magnesium/services/default.nix index 813f30c..9372fbf 100644 --- a/hosts/magnesium/services/default.nix +++ b/hosts/magnesium/services/default.nix @@ -7,6 +7,7 @@ ./mealie.nix ./ntfy.nix ./public-ip-tunnel.nix + ./tandoor.nix ./trilium.nix ./webserver.nix ]; diff --git a/hosts/magnesium/services/tandoor.nix b/hosts/magnesium/services/tandoor.nix new file mode 100644 index 0000000..6577626 --- /dev/null +++ b/hosts/magnesium/services/tandoor.nix @@ -0,0 +1,37 @@ +{ config, ... }: + +let + domain = "tandoor.jalr.de"; + cfg = config.services.tandoor-recipes; + inherit (config.networking) ports; +in +{ + sops.secrets."tandoor/secret_key" = { + sopsFile = ../secrets.yaml; + }; + + services.tandoor-recipes = { + enable = true; + port = ports.tandoor.tcp; + }; + + systemd.services.tandoor-recipes = { + serviceConfig = { + LoadCredential = [ + "secret_key:${config.sops.secrets."tandoor/secret_key".path}" + ]; + Environment = [ + "SECRET_KEY_FILE=%d/secret_key" + ]; + }; + }; + + services.nginx.virtualHosts."${domain}" = { + enableACME = true; + forceSSL = true; + + locations."/" = { + proxyPass = "http://127.0.0.1:${toString cfg.port}"; + }; + }; +} From d7d8afee2c71a4a29f3322565341f942578fb143 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 22 Apr 2025 13:46:24 +0200 Subject: [PATCH 635/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/76c0a6dba345490508f36c1aa3c7ba5b6b460989?narHash=sha256-I2oILRiJ6G%2BBOSjY%2B0dGrTPe080L3pbKpc%2BgCV3Nmyk%3D' (2025-04-08) → 'github:nix-community/disko/1770bf1ae5da05564f86b969ef21c7228cc1a70b?narHash=sha256-0OWgbEKhpMLpk3WQi3ugOwxWW4Y6JVpKiQ%2Bo0nuNzus%3D' (2025-04-21) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/71329e03df9c14ac27774c68536b6b7418a59a9b?narHash=sha256-7vC7GLa4JSL/%2BYtHcQ%2B06c%2BJBctWFSB51YyqUM0l50c%3D' (2025-04-17) → 'github:NixOS/nixpkgs/23ad94e0e3533bed8e028472137a4ccb5f0d6ce1?narHash=sha256-MioQhU84IZRwpKyd/g62nt3Hqe%2B0C6cmHYBe3kjZr60%3D' (2025-04-22) • Updated input 'nur': 'github:nix-community/NUR/74f1b9f96f695deab80d45e6a9859f980b072436?narHash=sha256-KzHhtTA54EwiOgxh3Vy81JhoIiQgZRDZlgo85a6K9TE%3D' (2025-04-17) → 'github:nix-community/NUR/c36e10d7a3bd9d9aff9dd66c065845af6fbc87e9?narHash=sha256-omM4VhdBaJpREkhlJTI8weY5hOvnaKo4Db85xk3mC20%3D' (2025-04-22) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/2631b0b7abcea6e640ce31cd78ea58910d31e650?narHash=sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR%2BXhw3kr/3Xd0GPTM%3D' (2025-04-12) → 'github:nixos/nixpkgs/b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef?narHash=sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU%3D' (2025-04-17) • Updated input 'sops-nix': 'github:Mic92/sops-nix/61154300d945f0b147b30d24ddcafa159148026a?narHash=sha256-pXyanHLUzLNd3MX9vsWG%2B6Z2hTU8niyphWstYEP3/GU%3D' (2025-04-14) → 'github:Mic92/sops-nix/5e3e92b16d6fdf9923425a8d4df7496b2434f39c?narHash=sha256-ePyTpKEJTgX0gvgNQWd7tQYQ3glIkbqcW778RpHlqgA%3D' (2025-04-22) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 77165b3..b6ea168 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1744145203, - "narHash": "sha256-I2oILRiJ6G+BOSjY+0dGrTPe080L3pbKpc+gCV3Nmyk=", + "lastModified": 1745224732, + "narHash": "sha256-0OWgbEKhpMLpk3WQi3ugOwxWW4Y6JVpKiQ+o0nuNzus=", "owner": "nix-community", "repo": "disko", - "rev": "76c0a6dba345490508f36c1aa3c7ba5b6b460989", + "rev": "1770bf1ae5da05564f86b969ef21c7228cc1a70b", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1744918147, - "narHash": "sha256-7vC7GLa4JSL/+YtHcQ+06c+JBctWFSB51YyqUM0l50c=", + "lastModified": 1745321490, + "narHash": "sha256-MioQhU84IZRwpKyd/g62nt3Hqe+0C6cmHYBe3kjZr60=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "71329e03df9c14ac27774c68536b6b7418a59a9b", + "rev": "23ad94e0e3533bed8e028472137a4ccb5f0d6ce1", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1744463964, - "narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=", + "lastModified": 1744932701, + "narHash": "sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650", + "rev": "b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef", "type": "github" }, "original": { @@ -434,11 +434,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1744917937, - "narHash": "sha256-KzHhtTA54EwiOgxh3Vy81JhoIiQgZRDZlgo85a6K9TE=", + "lastModified": 1745316019, + "narHash": "sha256-omM4VhdBaJpREkhlJTI8weY5hOvnaKo4Db85xk3mC20=", "owner": "nix-community", "repo": "NUR", - "rev": "74f1b9f96f695deab80d45e6a9859f980b072436", + "rev": "c36e10d7a3bd9d9aff9dd66c065845af6fbc87e9", "type": "github" }, "original": { @@ -550,11 +550,11 @@ ] }, "locked": { - "lastModified": 1744669848, - "narHash": "sha256-pXyanHLUzLNd3MX9vsWG+6Z2hTU8niyphWstYEP3/GU=", + "lastModified": 1745310711, + "narHash": "sha256-ePyTpKEJTgX0gvgNQWd7tQYQ3glIkbqcW778RpHlqgA=", "owner": "Mic92", "repo": "sops-nix", - "rev": "61154300d945f0b147b30d24ddcafa159148026a", + "rev": "5e3e92b16d6fdf9923425a8d4df7496b2434f39c", "type": "github" }, "original": { From e967d2a79b62b2c0351bc471304edd233f8669a5 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 22 Apr 2025 15:27:46 +0200 Subject: [PATCH 636/766] Change git abbrevs and functions --- users/jalr/modules/git.nix | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/users/jalr/modules/git.nix b/users/jalr/modules/git.nix index 93e9d9f..3cf4007 100644 --- a/users/jalr/modules/git.nix +++ b/users/jalr/modules/git.nix @@ -66,12 +66,10 @@ in gd = "git diff"; gdc = "git diff --cached"; gf = "git fetch"; - ginit = "git init"; gl = "git log"; gpll = "git pull --rebase"; gpsh = "git push"; grb = "git rebase --autostash"; - grbi = "git rebase --autostash --interactive --autosquash refs/remotes/origin/HEAD"; gr = "git restore"; grs = "git restore --staged"; grst = "git reset"; @@ -127,19 +125,28 @@ in end ''; }; - git_pick-commit_merge-base_origin = { + git_pick-commit = { description = "fuzzy find a commit hash"; body = '' - git log --oneline refs/remotes/origin/HEAD..HEAD | ${pkgs.fzf}/bin/fzf --preview='git show (echo {} | cut -d" " -f 1)' --preview-window=top:75% | cut -d" " -f 1 + git log --decorate --oneline --color=always \ + | ${pkgs.fzf}/bin/fzf --ansi --preview='git show --color=always (echo {} | cut -d" " -f 1)' --preview-window=top:75% \ + | cut -d" " -f 1 ''; }; gfix = { description = "git commit --fixup with fuzzy find commmit picker"; body = '' - set commit (git_pick-commit_merge-base_origin) + set commit (git_pick-commit) commandline "git commit --fixup=$commit" ''; }; + gi = { + description = "git interactive rebase with fuzzy find commmit picker"; + body = '' + set commit (git_pick-commit) + commandline "git rebase --autostash --interactive --autosquash $commit" + ''; + }; ".g" = { description = "change directory to repository root"; body = '' From 87a457a44b6142ef9dda8c195af144281ae79edc Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 22 Apr 2025 16:13:38 +0200 Subject: [PATCH 637/766] Change DND keywords --- users/jalr/modules/do-not-disturb/android-set-dnd.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/users/jalr/modules/do-not-disturb/android-set-dnd.py b/users/jalr/modules/do-not-disturb/android-set-dnd.py index 0ca4381..13a7eba 100755 --- a/users/jalr/modules/do-not-disturb/android-set-dnd.py +++ b/users/jalr/modules/do-not-disturb/android-set-dnd.py @@ -16,7 +16,9 @@ def set_android_dnd(active: bool): if url is not None: request.urlopen( request.Request( - read_url(), method="POST", data=("on" if active else "off").encode() + read_url(), + method="POST", + data=("DND on" if active else "DND off").encode(), ) ) From d625c0ecc51f08ca93d0c786d543f2283b47d325 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 22 Apr 2025 18:32:25 +0200 Subject: [PATCH 638/766] Improve DND widget Use Python and update state on click events --- users/jalr/modules/sway/waybar.nix | 53 ++++++++++++++++++++++-------- 1 file changed, 39 insertions(+), 14 deletions(-) diff --git a/users/jalr/modules/sway/waybar.nix b/users/jalr/modules/sway/waybar.nix index 7ff5976..bbf1132 100644 --- a/users/jalr/modules/sway/waybar.nix +++ b/users/jalr/modules/sway/waybar.nix @@ -25,6 +25,7 @@ in xdg.configFile."waybar/config".text = let makoctl = "${pkgs.mako}/bin/makoctl"; + sendSignal = signal: "${pkgs.procps}/bin/pkill -f -SIGRTMIN+${toString signal} waybar"; in lib.generators.toJSON { } { layer = "top"; @@ -211,20 +212,44 @@ in format-alt = "{:%Y-%m-%d (%a)}"; tooltip-format = "{:%Y %B}\n{calendar}"; }; - "custom/dnd" = { - exec = pkgs.writeShellScript "waybar-dnd-widget" '' - export PATH=${pkgs.lib.makeBinPath [pkgs.gnugrep]} - if ${makoctl} mode | grep -Fxq 'dnd'; then - echo '{"text": "󰂛", "class": "active"}' - else - echo '{"text": "󰂚", "class": "inactive"}' - fi - ''; - on-click = "/etc/profiles/per-user/jalr/bin/dnd on"; - on-click-right = "/etc/profiles/per-user/jalr/bin/dnd off"; - interval = 10; - return-type = "json"; - }; + "custom/dnd" = + let + signal = 1; + dndScript = "/etc/profiles/per-user/jalr/bin/dnd"; + in + { + inherit signal; + exec = pkgs.writeScript "waybar-dnd-widget" '' + #!${pkgs.python3}/bin/python3 + + import subprocess + import sys + import time + import json + + while True: + proc = subprocess.Popen(["${makoctl}", "mode"], stdout=subprocess.PIPE, text=True) + modes = [line.rstrip() for line in proc.stdout.readlines()] + + text, class_name = ("󰂛", "active") if 'dnd' in modes else ("󰂚", "inactive") + + print(json.dumps({ + "text": text, + "tooltip": "", + "class": class_name, + "percentage": 0 + })) + + sys.stdout.flush() + + time.sleep(30) + ''; + on-click = "${dndScript} on; ${sendSignal signal}"; + on-click-right = "${dndScript} off; ${sendSignal signal}"; + exec-on-event = true; + return-type = "json"; + restart-interval = 10; + }; }; xdg.configFile = { From 13f4558f8d4bc5cf1fc3ff2b88c18ce39929a4be Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 23 Apr 2025 21:25:56 +0200 Subject: [PATCH 639/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/1770bf1ae5da05564f86b969ef21c7228cc1a70b?narHash=sha256-0OWgbEKhpMLpk3WQi3ugOwxWW4Y6JVpKiQ%2Bo0nuNzus%3D' (2025-04-21) → 'github:nix-community/disko/c5140c6079ff690e85eac0b86e254de16a79a4b7?narHash=sha256-mi6cAjuBztm9gFfpiVo6mAn81cCID6nmDXh5Kmyjwyc%3D' (2025-04-23) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/9a049b4a421076d27fee3eec664a18b2066824cb?narHash=sha256-fbWE4Xpw6eH0Q6in%2BymNuDwTkqmFmtxcQEmtRuKDTTk%3D' (2025-04-14) → 'github:nixos/nixos-hardware/8bf8a2a0822365bd8f44fd1a19d7ed0a1d629d64?narHash=sha256-xmqG4MZArM1JNxPJ33s0MtuBzgnaCO9laARoU3AfP8E%3D' (2025-04-23) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/26d499fc9f1d567283d5d56fcf367edd815dba1d?narHash=sha256-FHlSkNqFmPxPJvy%2B6fNLaNeWnF1lZSgqVCl/eWaJRc4%3D' (2025-04-12) → 'github:nixos/nixpkgs/9684b53175fc6c09581e94cc85f05ab77464c7e3?narHash=sha256-AQ7M9wTa/Pa/kK5pcGTgX/DGqMHyzsyINfN7ktsI7Fo%3D' (2025-04-21) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/23ad94e0e3533bed8e028472137a4ccb5f0d6ce1?narHash=sha256-MioQhU84IZRwpKyd/g62nt3Hqe%2B0C6cmHYBe3kjZr60%3D' (2025-04-22) → 'github:NixOS/nixpkgs/6c679116a4260de3d0a0add76ca844df5a6afde8?narHash=sha256-CiNSRcFcqmGzFil6VBGW9W7m7q2FzJyF9x9a7452iVE%3D' (2025-04-23) • Updated input 'nur': 'github:nix-community/NUR/c36e10d7a3bd9d9aff9dd66c065845af6fbc87e9?narHash=sha256-omM4VhdBaJpREkhlJTI8weY5hOvnaKo4Db85xk3mC20%3D' (2025-04-22) → 'github:nix-community/NUR/6d04ab16a01981326374c50442471130f212c810?narHash=sha256-09%2BKxS%2B8Lxo5E7yi3KfHFT/w6JR9gq6p%2BFr%2BXd%2BarKo%3D' (2025-04-23) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef?narHash=sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU%3D' (2025-04-17) → 'github:nixos/nixpkgs/c11863f1e964833214b767f4a369c6e6a7aba141?narHash=sha256-GfpyMzxwkfgRVN0cTGQSkTC0OHhEkv3Jf6Tcjm//qZ0%3D' (2025-04-21) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index b6ea168..a251082 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1745224732, - "narHash": "sha256-0OWgbEKhpMLpk3WQi3ugOwxWW4Y6JVpKiQ+o0nuNzus=", + "lastModified": 1745369821, + "narHash": "sha256-mi6cAjuBztm9gFfpiVo6mAn81cCID6nmDXh5Kmyjwyc=", "owner": "nix-community", "repo": "disko", - "rev": "1770bf1ae5da05564f86b969ef21c7228cc1a70b", + "rev": "c5140c6079ff690e85eac0b86e254de16a79a4b7", "type": "github" }, "original": { @@ -349,11 +349,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1744633460, - "narHash": "sha256-fbWE4Xpw6eH0Q6in+ymNuDwTkqmFmtxcQEmtRuKDTTk=", + "lastModified": 1745392233, + "narHash": "sha256-xmqG4MZArM1JNxPJ33s0MtuBzgnaCO9laARoU3AfP8E=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "9a049b4a421076d27fee3eec664a18b2066824cb", + "rev": "8bf8a2a0822365bd8f44fd1a19d7ed0a1d629d64", "type": "github" }, "original": { @@ -365,11 +365,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1744440957, - "narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=", + "lastModified": 1745279238, + "narHash": "sha256-AQ7M9wTa/Pa/kK5pcGTgX/DGqMHyzsyINfN7ktsI7Fo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d", + "rev": "9684b53175fc6c09581e94cc85f05ab77464c7e3", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1745321490, - "narHash": "sha256-MioQhU84IZRwpKyd/g62nt3Hqe+0C6cmHYBe3kjZr60=", + "lastModified": 1745434646, + "narHash": "sha256-CiNSRcFcqmGzFil6VBGW9W7m7q2FzJyF9x9a7452iVE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "23ad94e0e3533bed8e028472137a4ccb5f0d6ce1", + "rev": "6c679116a4260de3d0a0add76ca844df5a6afde8", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1744932701, - "narHash": "sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU=", + "lastModified": 1745234285, + "narHash": "sha256-GfpyMzxwkfgRVN0cTGQSkTC0OHhEkv3Jf6Tcjm//qZ0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef", + "rev": "c11863f1e964833214b767f4a369c6e6a7aba141", "type": "github" }, "original": { @@ -434,11 +434,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1745316019, - "narHash": "sha256-omM4VhdBaJpREkhlJTI8weY5hOvnaKo4Db85xk3mC20=", + "lastModified": 1745434541, + "narHash": "sha256-09+KxS+8Lxo5E7yi3KfHFT/w6JR9gq6p+Fr+Xd+arKo=", "owner": "nix-community", "repo": "NUR", - "rev": "c36e10d7a3bd9d9aff9dd66c065845af6fbc87e9", + "rev": "6d04ab16a01981326374c50442471130f212c810", "type": "github" }, "original": { From afa1e5a46b762bb11f9a1dd3580b2ccf95ac31b6 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 26 Apr 2025 17:24:47 +0200 Subject: [PATCH 640/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/c5140c6079ff690e85eac0b86e254de16a79a4b7?narHash=sha256-mi6cAjuBztm9gFfpiVo6mAn81cCID6nmDXh5Kmyjwyc%3D' (2025-04-23) → 'github:nix-community/disko/ca27b88c88948d96feeee9ed814cbd34f53d0d70?narHash=sha256-LqhRwzvIVPEjH0TaPgwzqpyhW6DtCrvz7FnUJDoUZh8%3D' (2025-04-24) • Updated input 'home-manager': 'github:nix-community/home-manager/c61bfe3ae692f42ce688b5865fac9e0de58e1387?narHash=sha256-iyn/WBYDc7OtjSawbegINDe/gIkok888kQxk3aVnkgg%3D' (2025-04-15) → 'github:nix-community/home-manager/dd26f75fb4ec1c731d4b1396eaf4439ce40a91c1?narHash=sha256-eqSo9ugzsqhFgaDFYUZj943nurlX4L6f%2BAW0skJ4W%2BM%3D' (2025-04-25) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/8bf8a2a0822365bd8f44fd1a19d7ed0a1d629d64?narHash=sha256-xmqG4MZArM1JNxPJ33s0MtuBzgnaCO9laARoU3AfP8E%3D' (2025-04-23) → 'github:nixos/nixos-hardware/f7bee55a5e551bd8e7b5b82c9bc559bc50d868d1?narHash=sha256-bUGjvaPVsOfQeTz9/rLTNLDyqbzhl0CQtJJlhFPhIYw%3D' (2025-04-24) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/9684b53175fc6c09581e94cc85f05ab77464c7e3?narHash=sha256-AQ7M9wTa/Pa/kK5pcGTgX/DGqMHyzsyINfN7ktsI7Fo%3D' (2025-04-21) → 'github:nixos/nixpkgs/5630cf13cceac06cefe9fc607e8dfa8fb342dde3?narHash=sha256-FQoi3R0NjQeBAsEOo49b5tbDPcJSMWc3QhhaIi9eddw%3D' (2025-04-24) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/6c679116a4260de3d0a0add76ca844df5a6afde8?narHash=sha256-CiNSRcFcqmGzFil6VBGW9W7m7q2FzJyF9x9a7452iVE%3D' (2025-04-23) → 'github:NixOS/nixpkgs/e36d0d43122a2b8bb04a2f5322978db8d8ddedd2?narHash=sha256-jR0am4wDBXODhhJ2%2BSrsHZSs3loSYWZqEBE%2Btl0PA4Q%3D' (2025-04-26) • Updated input 'nur': 'github:nix-community/NUR/6d04ab16a01981326374c50442471130f212c810?narHash=sha256-09%2BKxS%2B8Lxo5E7yi3KfHFT/w6JR9gq6p%2BFr%2BXd%2BarKo%3D' (2025-04-23) → 'github:nix-community/NUR/34c80a75bf09085cfd04a476389a4162c6154d42?narHash=sha256-%2B3HDClco9BTgWovVMODc0e8Gh3%2BLNTt1EXZW2tJaXjA%3D' (2025-04-26) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/c11863f1e964833214b767f4a369c6e6a7aba141?narHash=sha256-GfpyMzxwkfgRVN0cTGQSkTC0OHhEkv3Jf6Tcjm//qZ0%3D' (2025-04-21) → 'github:nixos/nixpkgs/f771eb401a46846c1aebd20552521b233dd7e18b?narHash=sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA%3D' (2025-04-24) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index a251082..8861067 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1745369821, - "narHash": "sha256-mi6cAjuBztm9gFfpiVo6mAn81cCID6nmDXh5Kmyjwyc=", + "lastModified": 1745502102, + "narHash": "sha256-LqhRwzvIVPEjH0TaPgwzqpyhW6DtCrvz7FnUJDoUZh8=", "owner": "nix-community", "repo": "disko", - "rev": "c5140c6079ff690e85eac0b86e254de16a79a4b7", + "rev": "ca27b88c88948d96feeee9ed814cbd34f53d0d70", "type": "github" }, "original": { @@ -224,11 +224,11 @@ ] }, "locked": { - "lastModified": 1744743431, - "narHash": "sha256-iyn/WBYDc7OtjSawbegINDe/gIkok888kQxk3aVnkgg=", + "lastModified": 1745557122, + "narHash": "sha256-eqSo9ugzsqhFgaDFYUZj943nurlX4L6f+AW0skJ4W+M=", "owner": "nix-community", "repo": "home-manager", - "rev": "c61bfe3ae692f42ce688b5865fac9e0de58e1387", + "rev": "dd26f75fb4ec1c731d4b1396eaf4439ce40a91c1", "type": "github" }, "original": { @@ -349,11 +349,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1745392233, - "narHash": "sha256-xmqG4MZArM1JNxPJ33s0MtuBzgnaCO9laARoU3AfP8E=", + "lastModified": 1745503349, + "narHash": "sha256-bUGjvaPVsOfQeTz9/rLTNLDyqbzhl0CQtJJlhFPhIYw=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "8bf8a2a0822365bd8f44fd1a19d7ed0a1d629d64", + "rev": "f7bee55a5e551bd8e7b5b82c9bc559bc50d868d1", "type": "github" }, "original": { @@ -365,11 +365,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1745279238, - "narHash": "sha256-AQ7M9wTa/Pa/kK5pcGTgX/DGqMHyzsyINfN7ktsI7Fo=", + "lastModified": 1745487689, + "narHash": "sha256-FQoi3R0NjQeBAsEOo49b5tbDPcJSMWc3QhhaIi9eddw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9684b53175fc6c09581e94cc85f05ab77464c7e3", + "rev": "5630cf13cceac06cefe9fc607e8dfa8fb342dde3", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1745434646, - "narHash": "sha256-CiNSRcFcqmGzFil6VBGW9W7m7q2FzJyF9x9a7452iVE=", + "lastModified": 1745680439, + "narHash": "sha256-jR0am4wDBXODhhJ2+SrsHZSs3loSYWZqEBE+tl0PA4Q=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6c679116a4260de3d0a0add76ca844df5a6afde8", + "rev": "e36d0d43122a2b8bb04a2f5322978db8d8ddedd2", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1745234285, - "narHash": "sha256-GfpyMzxwkfgRVN0cTGQSkTC0OHhEkv3Jf6Tcjm//qZ0=", + "lastModified": 1745526057, + "narHash": "sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c11863f1e964833214b767f4a369c6e6a7aba141", + "rev": "f771eb401a46846c1aebd20552521b233dd7e18b", "type": "github" }, "original": { @@ -434,11 +434,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1745434541, - "narHash": "sha256-09+KxS+8Lxo5E7yi3KfHFT/w6JR9gq6p+Fr+Xd+arKo=", + "lastModified": 1745672678, + "narHash": "sha256-+3HDClco9BTgWovVMODc0e8Gh3+LNTt1EXZW2tJaXjA=", "owner": "nix-community", "repo": "NUR", - "rev": "6d04ab16a01981326374c50442471130f212c810", + "rev": "34c80a75bf09085cfd04a476389a4162c6154d42", "type": "github" }, "original": { From e5e99a5ce964571933a846c243053a1861b83c3e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 28 Apr 2025 10:30:17 +0200 Subject: [PATCH 641/766] Move openscad to 3d-modeling --- users/jalr/modules/{openscad.nix => 3d-modeling.nix} | 0 users/jalr/modules/default.nix | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename users/jalr/modules/{openscad.nix => 3d-modeling.nix} (100%) diff --git a/users/jalr/modules/openscad.nix b/users/jalr/modules/3d-modeling.nix similarity index 100% rename from users/jalr/modules/openscad.nix rename to users/jalr/modules/3d-modeling.nix diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index b0657d1..b2b2d51 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -1,5 +1,6 @@ { imports = [ + ./3d-modeling.nix ./3d-printing.nix ./alacritty.nix ./ardour.nix @@ -25,7 +26,6 @@ ./neovim ./nix-index.nix ./obs-studio - ./openscad.nix ./ots.nix ./pass.nix ./pomodoro.nix From 399b3da3644c2b2ddb59eae3039c7ed59bb8eb7d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 30 Apr 2025 01:15:35 +0200 Subject: [PATCH 642/766] Add wireguard tunnel for esphome --- hosts/iron/ports.nix | 1 + hosts/iron/secrets.yaml | 6 ++++-- hosts/iron/services/default.nix | 1 + hosts/iron/services/wireguard-esphome.nix | 25 +++++++++++++++++++++++ 4 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 hosts/iron/services/wireguard-esphome.nix diff --git a/hosts/iron/ports.nix b/hosts/iron/ports.nix index 1cbc8cf..106b26f 100644 --- a/hosts/iron/ports.nix +++ b/hosts/iron/ports.nix @@ -27,5 +27,6 @@ unifi-http.tcp = 8080; unifi-https.tcp = 8443; wireguard-public-ip-tunnel.udp = 51000; + wireguard-esphome.udp = 51001; }; } diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index 75630e1..90462d7 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -4,6 +4,8 @@ radicale-htpasswd: ENC[AES256_GCM,data:Q0WnleP9I4xozsL/H+5oV3Ag7khfalV40A6ub+DA0 sturzbach-htpasswd: ENC[AES256_GCM,data:qqBwu6mASnRqjy65knU4uIvBNXXgrfcmvWnbmOH4tVQ7vRbpEhe/GQDwAg==,iv:OQnDOzezjajGl35m/u5StQeMRR+1sNDD5u1my1wTngQ=,tag:7zjVRWI1IzZ5iS3sFHLubg==,type:str] navidrome-password-encryption-key: ENC[AES256_GCM,data:ynQsFyGDEBnlWhTlv0mF7mLiXOjijq9ixWWEa1OXsTOYAd74dU0dp3Fo532WtD4fPvIWEf8Y2dYmY7zPVLuydQ==,iv:GJqPVL5OIFPLMcCVOjWvMjyFR4iTXo3uGE8R0keTzG0=,tag:RTERQgYRxBBevlL2H1lIWA==,type:str] wireguard_key_hetzner-ha: ENC[AES256_GCM,data:ak/KpQIHBNRPriJ1IeKYXIp4CcnygRHSj5MzZNnuxQnVunmmtzGu0lBEajA=,iv:aNw3EooT6XE1zC+g37WSJasRCfnNUaKQrYCDBMTxRrg=,tag:KXc70tVFc7xDLlefk1Hzow==,type:str] +wireguard_key: + esphome: ENC[AES256_GCM,data:sMA/a0YsS/9ReJDY6gpIw+nTjkMyhs3GyEy6nA3Fiw2mvBdZCyNg0q8tdy4=,iv:WPVk4BlY7eKTjLuT/Li0oRhA9N16WFBnuuGKFjHIhLQ=,tag:0x3+3+ts2zMg2Q4eqySNnA==,type:str] rspamd-worker-controller: ENC[AES256_GCM,data:7tS8bEr9i5F+YZoj3uPQa6Xd2SCsuC+jE531AbKEmPHNeL3qMyO0pQZ/P1ONaPHTVMOPQHYABihDJcZv0BKW,iv:pFBVi4F661fnYPcCPwuetiGL1H+RAnJiFQhTUqGNwjU=,tag:xQoHIEQpnrMOnXqsH8anxQ==,type:str] dkim-keys: jalr.de.default: ENC[AES256_GCM,data:mnApsYKXYGtUAHddccmNmU9yZQtekDkTiTXbJ0UJxC0rFxzQCtGsinQslIROJdNUxsxciR1ilNzxawzjJD7AaWJbcAq2TYObGJJOQZBif7t/XEN/rIxEmnAFmdeAyrSONmFb9DiEn59m6DpsU+/9Y+hnc/uwwbzueO34WHJnTqmmsxFVNQZfGR+cbSckHS3wZrfjZSKKzCRt+9DU/xxJ4voyowXLO77w00LHVkyU5liwONi0v2XJ+QeP/jIMmJeKjujZcH+qvUm/kukijqyWKGrZoAYPC2cBlL/UrNECuVdSLMXvr4KBDDTCRZCSMRgUPJ0TAfpQPTPitKJ/0igK7qQl9n/6hckY7VyP8KDS7J7G2Z2XVxfZrAR4X/7ya9B2kneVr2CNx3w954EdTcV1/lD7rcKRjKynyl3ddf8gxJFJ21k1ybo2RLnftGCRVq25qNwhyfjU8x5c7AEs+YTPDrcnmxZ/Ui276eLwpMj61oZzTp8QQhiBVwS/+ruRLC+78pu2gb1gBF/Oo3nuvQD1SOpCRikLVewCYDvfXj/hrjo+oCsjTOj+9tWRcRAEDVlhkXWCMuPXDYrdt3HrIWbQuP8NW1ezd1Ll0r1ujjtPJeSwdd8cVcUSBIoA5gU+eXnYjFaSx9BZ+sIfKqG//W3S+aBYDqAEK/z4N5q66sReb5mtSQYfbZuIZDmox9bwNMG3tJmQX0lJZgEIiuJ5/ef4ra0sj9JsRFldmIn9KUmjW9OlIwzQ42cNNvQSMD/6haNiYsE6TPzVylJ/B2kNu9Qh5FfpCIPtVORv2BAGoNvZlyhjyEiXBEZ4x2hx1l5cBwGOaGhoJ0p+1wqn2zDalIBaEFjbBVdIB6DPC6/lccvpqSwF7HvW2ugyYhW+u92vgic71/BsI4i0OlsJV18gU/zVg0Yj8SK69kEwm4wkJTrkM/I4+kkUIc5OiSAknRfjOFJc0etkh3nO34xpHLOkSv9DrKfXSAGmGZtCLtVL5LGdZeCd/g6EK0JJh6bd9Gu9koSJVq5vjdDJJFf+sgk39TCvHAvk8k1/FgdK5jMJ+pR8heJtP8G96ay3DFVm5hpbjuNKqfBvbf2rkyV6++ywRFnAQGPUiMn9g6Q4F5Ks7CC1D0Ubl7b3dCUk6BDi8rHjxy9QS0/25Yz9cF0bFd6XQDfblnyRLMi9aB36M9Vp38Oh5aB16MyvNUHzcxpaAak0yknE6OuuEMBPQZgFVADCITfy9eUXl2FoXrMWEnBO78GybQ+cV8nhynn5t0U+3koMy2E8ju5kiEofQxXylys3Q76iKRRUbQqFkh/ndWtJVVfGNpi1GrUr1w1YZM0hBY9FqqeBjf7ckj+9BdiwWJ0XauuR70o7odm02mydk1/T3Hfzt3OE5nHIXnVbum9KyPx8wXj9qc6JGFm558pQOcRUgGUi+EzGoGckkoLx4Onl+XeGysW5sXP9dbYgMBug0Tjmdo9xkoBti6znDnN/zh93bbzWITNvxMgVs8zSWEhlM0c7F02UeUXSekbTFue5FOaMdYObMvPeb53jAKBOYLr34GVFvucJhKajIaNzDvfiI6fGCMxcSsWk+P3co7gdbRlWYZELsKDu2scktZsHr/gRwRiDZXAWOLiWZL4jswQ1vXSFXJgdblEV//hr2DwsAtCAsyFcgO/LGq30xi3xNqHTkUZXo6cZYSb6EVaIywMCI5ySEnTLAp/xedySANHuo8yyVqyLxkDPI7CnnSS7JcnQF3K5z+NZ0KnIpc1ewGupOhS0fKj31XxUkoSsHEY/iWJPLNA8+4VsBkADnGdkYXHTvy/yAGV6w1k1qtjiWhDAGcE9/o6NOHctYm3cx8CVsLpve/WFUaCkGgjWJdC8XP92xsUQoE6PENn6ZzFaqGHs7hgQqE1kBcEj8N5WkEqkoMo82giHE33iYoVUdkjOTkV4iDGEqyjg1BoM0GedR2A832LseDkP7u4DjIAQfpIDu7PaeiDh7xWkPRwIMV0oDTakXTdPkPGdgFikzTaxkTzRlpCbQuV769eITqVT04kJDp7+0Rb6dtjeXc0Ennv68wZSiyrlmXbrJntg7g1wrebq28q9NMIZETAPugfK6wNDu/Iw1q1kZn2ELo6xaDlcIxHDcpzK7e2VAYYuP1k3sYnSLU3oeq54j3/yS2z1me5FEqWlPOCrjdnLkE3/GjbeMsYo2YTYJEUEd2ncacSCoXUaUoxpBnjRYcHLRUV+6jy7Amp0/52rAPzSeVlBzc+SdNiKLYA2UQ74WrMU596Gkhw1SD8jSM5QqSBhH9sL+oE4GjhjLhstMUPdkNgiwxXDTZLKcIyjN1cn+RSmvNA2KXMH6MoXrkqSkJ9u2s0QAhla51zR/LZwWbzwGOO0dkh3rwh2x+pcCfuzvlk3lYr/x5XOF2k1n8yvehXY5zIX8nk6djjLbvAzzSr/yalS7R0WYIc6CjzoUl3qz+PlneMfKHcaX00hkOlIub/ZFQf1RE+JzZxi0qQq4M8Nt1XRKGDeS448Z6znDpedStUH29krZcnjMtyLmPX7ETTsjr3HLpCOd7MQ2K1rfhmvh5BtJkn1KSUf94puZbkLH7X+WnWN0hsc+KbSXnYZvqwJ8G0/7ptp/Q+wGljqhjv+HhOeA3NUwANv1xWgbiymVIlxCodXtQwn8mxS+jxSvslGwOnyUkTT76IbFbv/IpW6PNvj/xqwOqey8a/4WCGcqs403Y7TKQ+xCflG6K3tL7U5UbMnMgXTeZvoK+DooS2eIepF2WB5XqTuOZJV2OQ6GHfaBMjXN9iGVNLi6XgkbpmcMLQ4TZq+dVmgleJb14IaTFD3n74OfmbcT9lmRfPRJEpFEMNeL3ghH54P2a91zJFASgE7x+Uv2cGcmKFtMbyc/rrhH1F/Ixlv/R37huFo1T2dPMEZ/1ouuPpbUQ5oz/JlOWw3NOxd0O6oG0x9Xib+9KxSFOusLWcFEgx70jrBQKj8s2Jj+W0gZYv+BJtPMPY0KAkRj1amt4Fd6ZrPOEXJ392EHSAEv5jssO5ba52OHKA+QkYvPPL04rwkxSAQiTl57scnEj2WEIP+Lz0/qsMnwF+3rWuz856doJZcXX+U9iuzBCaYQqA1P3BojAYhEHnXBPeolHOA3BmhT9E2TJsZ6P9SQ+GaqyLm0i4vRXGlArlkLwRBs9EZv/l4DT8q0YHha53O4rhRzGJZKAOO252Dpha1YN7+FubYGAZjaUT5O0R/7xSPrGyBejddtM8asW8+NClAn4Y6xvj1IgUg6VRpEy7ZIpZEQ+UyDWt0A4nsipaz2NyZKZ5Vxza2v1qZDdYODK8nm/zj7fR/JykaNVEVj7ceTSHdaQlajfeEWWTs92msIBcqPUXqlaR005hoVvXm+WCnzIMIXLGiyRKRsAPIDYh2hGCtvfXLSq5TYm3bnGAImL0KW3Yllt1qSqSbOYsvm5QfDmTrrccvtSLGRj0rOU3Z8f4WXjf+1YgxjZ9h8fKL+LKA8x1S6M8fl0JVGBIAU8Xe8c4+r2F1VcygJp7h+0v8o8GudM6in4djAdeMLWBgXid7r0q744joFucP56opwYQp3Lu0oFEo0omS6Rh9yPfOjdGBU2eUdjcCNXXuEJD9yHSyebviSAvDw/KH1AxYSWYnjMWACCfcbOlXf3ej7PuQgq5MdFwF7+QawXm0john4YusUon4/0fqd/IFLd6oHYYesxcFdm1jN6DeS4SAqRgeEPuEWDFERgXjLHBxl5Xdi5n+NOR3Vc7ziJ9j9/CA1DKdwmsFBBDcVKMnr2FibXpN5WsSdlBng0L2zhkL22wRH9xbz8Xk5shN20/EHoxHB5HJvwfOgHIC7ooWKOUUuNTZH43+gVN+wzRzlMfiF4X71Edw+lTnQRp6Lh03M2k9do6JPoX2+UU0h6mOYiAFkhHKzCmK3DY12c4Smx+qLJNbUGhoMgthu/WnXObm0Hr+myCooTYSVNTJx6vVjI3GZtMcat2o8B9k38u/Y5/FxqTYmyXhROwS4v3W5fXwTAaxBqQy6Xj5s4V37omBBh/Z9a43nc2VlT7dKR1wIvNB/gqhiYyYrVMtYMJqGLkeCbu50LUWT4qXyR8uaqbZTVjyJCQRxZd6fd3Zfe9wIeYe3N5qKIXkFD3n1U2Q/EyRfb3TpiA+eYkAtl6JGK0vpeWpN5M2LJ3/V79e3cIG7B7/p6BrRxKxHDnBZcu57KKaN8XM+v2KTz7XdF8bjgeu1V/B9WoBwnpzCM+3s5ffNceuUcb2gJgRAUpZvcSDLYy+9aluGU2Tvsm49fCzr851p3VSEJepgPpnvuq874AX/MbPvqidF8Y21Kss1RUbl5wrlq5IihKdM+xCSq6mjvtSPVHRvw==,iv:2NBiTTW9slOH9BvM+kVbMB/+8EiS/Dc/eaqrtiwn4HY=,tag:0rc2+ZWy9XZYE7RK/oSo3g==,type:str] @@ -31,8 +33,8 @@ sops: SU1USkxFUUY2NVhmUHBhZkdrNDR1Q0kKiXIicInELRjDR3tuyA+lnXeCcd9lYvbV GnBRGPM7BNO/6AA7HhAei48Kt+XE6+jQX66yTXyviKhK7Lpjrlb2YQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-04-17T13:32:20Z" - mac: ENC[AES256_GCM,data:5LX+9RdaHlMOd/gwsr9xdQZB2IQee6xx0YxUQ+sXIXe5xH+cgw8vm0Gd1YFjOT9Yf8DZ/51y8XSOMXP/oT36iYGpenb84ZGV+9X3aAT8+PWZxr6eJ8raDTO/sof5r/qVrxHls3Hl2nmKI6UzTZD8PINThIaEdy9mpfxRrrcL/iU=,iv:pkPEWcVAZBq1HfcOMiQEt/2STbFBhSfzyz5lYoALmdI=,tag:7QvzpR/deD5B7Hm0C4ghgw==,type:str] + lastmodified: "2025-04-29T22:30:28Z" + mac: ENC[AES256_GCM,data:KhGX9o8J+pJpL12eqLdsBS78UazDda8N2a/LaLRu7qgKd6DiifMxF2JsS3+E4k/9eM70SK9j+HWz+1UvDTaAZrg3qK/SdLEdyvW/kzP+IwhGa03OtLL6p764E7B4gvrxOSki5wO8u+nVfF8IEWwvs0xoWRHVr3Vgu0mn5r1j3A4=,iv:p8UPvrRWE8UMneJa6reIaBUyZt/cOtYh3VTvpnGGfYg=,tag:9iuAHXHnyT/XgYqgocoPUA==,type:str] pgp: - created_at: "2024-01-31T01:20:30Z" enc: |- diff --git a/hosts/iron/services/default.nix b/hosts/iron/services/default.nix index 15537cd..f19a759 100644 --- a/hosts/iron/services/default.nix +++ b/hosts/iron/services/default.nix @@ -7,6 +7,7 @@ ./esphome ./home-assistant.nix ./jellyfin.nix + ./wireguard-esphome.nix ./mail.nix ./matrix.nix ./navidrome.nix diff --git a/hosts/iron/services/wireguard-esphome.nix b/hosts/iron/services/wireguard-esphome.nix new file mode 100644 index 0000000..f39f286 --- /dev/null +++ b/hosts/iron/services/wireguard-esphome.nix @@ -0,0 +1,25 @@ +{ config, ... }: + +let + inherit (config.networking) ports; + listenPort = ports.wireguard-esphome.udp; +in +{ + sops.secrets."wireguard_key/esphome" = { + sopsFile = ../secrets.yaml; + }; + + networking = { + firewall.allowedUDPPorts = [ listenPort ]; + wireguard.interfaces.esphome = { + ips = [ "10.20.16.1/30" ]; + privateKeyFile = config.sops.secrets."wireguard_key/esphome".path; + inherit listenPort; + peers = [{ + publicKey = "WM5qDvEF+tInUhzzF5msUwBy8WRyQOuxYX7roNcqNRc="; + persistentKeepalive = 120; + allowedIPs = [ "10.20.16.2" ]; + }]; + }; + }; +} From 391e4dd82549a0726ceb3986227d8cfbda0027d2 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 3 May 2025 00:16:57 +0200 Subject: [PATCH 643/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/ca27b88c88948d96feeee9ed814cbd34f53d0d70?narHash=sha256-LqhRwzvIVPEjH0TaPgwzqpyhW6DtCrvz7FnUJDoUZh8%3D' (2025-04-24) → 'github:nix-community/disko/d0c543d740fad42fe2c035b43c9d41127e073c78?narHash=sha256-hotBG0EJ9VmAHJYF0yhWuTVZpENHvwcJ2SxvIPrXm%2Bg%3D' (2025-04-28) • Updated input 'gomod2nix': 'github:nix-community/gomod2nix/8f3534eb8f6c5c3fce799376dc3b91bae6b11884?narHash=sha256-jMy1XqXqD0/tJprEbUmKilTkvbDY/C0ZGSsJJH4TNCE%3D' (2025-03-17) → 'github:nix-community/gomod2nix/2cbd7fdd6eeab65c494cc426e18f4e4d2a5e35c0?narHash=sha256-0YkWCS13jpoo3%2BsX/3kcgdxBNt1VZTmvF%2BFhZb4rFKI%3D' (2025-04-28) • Updated input 'home-manager': 'github:nix-community/home-manager/dd26f75fb4ec1c731d4b1396eaf4439ce40a91c1?narHash=sha256-eqSo9ugzsqhFgaDFYUZj943nurlX4L6f%2BAW0skJ4W%2BM%3D' (2025-04-25) → 'github:nix-community/home-manager/50eee705bbdbac942074a8c120e8194185633675?narHash=sha256-EyXUNSa%2BH%2BYvGVuQJP1nZskXAowxKYp79RNUsNdQTj4%3D' (2025-05-02) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/f7bee55a5e551bd8e7b5b82c9bc559bc50d868d1?narHash=sha256-bUGjvaPVsOfQeTz9/rLTNLDyqbzhl0CQtJJlhFPhIYw%3D' (2025-04-24) → 'github:nixos/nixos-hardware/72081c9fbbef63765ae82bff9727ea79cc86bd5b?narHash=sha256-mmV2oPhQN%2BYF2wmnJzXX8tqgYmUYXUj3uUUBSTmYN5o%3D' (2025-04-29) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/5630cf13cceac06cefe9fc607e8dfa8fb342dde3?narHash=sha256-FQoi3R0NjQeBAsEOo49b5tbDPcJSMWc3QhhaIi9eddw%3D' (2025-04-24) → 'github:nixos/nixpkgs/bf3287dac860542719fe7554e21e686108716879?narHash=sha256-kwaaguGkAqTZ1oK0yXeQ3ayYjs8u/W7eEfrFpFfIDFA%3D' (2025-05-02) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/e36d0d43122a2b8bb04a2f5322978db8d8ddedd2?narHash=sha256-jR0am4wDBXODhhJ2%2BSrsHZSs3loSYWZqEBE%2Btl0PA4Q%3D' (2025-04-26) → 'github:NixOS/nixpkgs/70646658006b726e0c7a664de260e4ceb584602d?narHash=sha256-tSiVRpDjqbnsde086UradYKcuVNwk8nK%2BK4vveZkD9Q%3D' (2025-05-02) • Updated input 'nur': 'github:nix-community/NUR/34c80a75bf09085cfd04a476389a4162c6154d42?narHash=sha256-%2B3HDClco9BTgWovVMODc0e8Gh3%2BLNTt1EXZW2tJaXjA%3D' (2025-04-26) → 'github:nix-community/NUR/3782ea42ee0f05f81bc09a661749b2202e2ac872?narHash=sha256-KVMrnAPsQ5GZFSl9wwvsaZ8kYbuX9dqarzz4YtVKRBk%3D' (2025-05-02) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/f771eb401a46846c1aebd20552521b233dd7e18b?narHash=sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA%3D' (2025-04-24) → 'github:nixos/nixpkgs/f02fddb8acef29a8b32f10a335d44828d7825b78?narHash=sha256-IgBWhX7A2oJmZFIrpRuMnw5RAufVnfvOgHWgIdds%2Bhc%3D' (2025-05-01) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 8861067..caea7d1 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1745502102, - "narHash": "sha256-LqhRwzvIVPEjH0TaPgwzqpyhW6DtCrvz7FnUJDoUZh8=", + "lastModified": 1745812220, + "narHash": "sha256-hotBG0EJ9VmAHJYF0yhWuTVZpENHvwcJ2SxvIPrXm+g=", "owner": "nix-community", "repo": "disko", - "rev": "ca27b88c88948d96feeee9ed814cbd34f53d0d70", + "rev": "d0c543d740fad42fe2c035b43c9d41127e073c78", "type": "github" }, "original": { @@ -204,11 +204,11 @@ ] }, "locked": { - "lastModified": 1742209644, - "narHash": "sha256-jMy1XqXqD0/tJprEbUmKilTkvbDY/C0ZGSsJJH4TNCE=", + "lastModified": 1745875161, + "narHash": "sha256-0YkWCS13jpoo3+sX/3kcgdxBNt1VZTmvF+FhZb4rFKI=", "owner": "nix-community", "repo": "gomod2nix", - "rev": "8f3534eb8f6c5c3fce799376dc3b91bae6b11884", + "rev": "2cbd7fdd6eeab65c494cc426e18f4e4d2a5e35c0", "type": "github" }, "original": { @@ -224,11 +224,11 @@ ] }, "locked": { - "lastModified": 1745557122, - "narHash": "sha256-eqSo9ugzsqhFgaDFYUZj943nurlX4L6f+AW0skJ4W+M=", + "lastModified": 1746171682, + "narHash": "sha256-EyXUNSa+H+YvGVuQJP1nZskXAowxKYp79RNUsNdQTj4=", "owner": "nix-community", "repo": "home-manager", - "rev": "dd26f75fb4ec1c731d4b1396eaf4439ce40a91c1", + "rev": "50eee705bbdbac942074a8c120e8194185633675", "type": "github" }, "original": { @@ -349,11 +349,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1745503349, - "narHash": "sha256-bUGjvaPVsOfQeTz9/rLTNLDyqbzhl0CQtJJlhFPhIYw=", + "lastModified": 1745955289, + "narHash": "sha256-mmV2oPhQN+YF2wmnJzXX8tqgYmUYXUj3uUUBSTmYN5o=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "f7bee55a5e551bd8e7b5b82c9bc559bc50d868d1", + "rev": "72081c9fbbef63765ae82bff9727ea79cc86bd5b", "type": "github" }, "original": { @@ -365,11 +365,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1745487689, - "narHash": "sha256-FQoi3R0NjQeBAsEOo49b5tbDPcJSMWc3QhhaIi9eddw=", + "lastModified": 1746183838, + "narHash": "sha256-kwaaguGkAqTZ1oK0yXeQ3ayYjs8u/W7eEfrFpFfIDFA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5630cf13cceac06cefe9fc607e8dfa8fb342dde3", + "rev": "bf3287dac860542719fe7554e21e686108716879", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1745680439, - "narHash": "sha256-jR0am4wDBXODhhJ2+SrsHZSs3loSYWZqEBE+tl0PA4Q=", + "lastModified": 1746223359, + "narHash": "sha256-tSiVRpDjqbnsde086UradYKcuVNwk8nK+K4vveZkD9Q=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e36d0d43122a2b8bb04a2f5322978db8d8ddedd2", + "rev": "70646658006b726e0c7a664de260e4ceb584602d", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1745526057, - "narHash": "sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA=", + "lastModified": 1746141548, + "narHash": "sha256-IgBWhX7A2oJmZFIrpRuMnw5RAufVnfvOgHWgIdds+hc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f771eb401a46846c1aebd20552521b233dd7e18b", + "rev": "f02fddb8acef29a8b32f10a335d44828d7825b78", "type": "github" }, "original": { @@ -434,11 +434,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1745672678, - "narHash": "sha256-+3HDClco9BTgWovVMODc0e8Gh3+LNTt1EXZW2tJaXjA=", + "lastModified": 1746222382, + "narHash": "sha256-KVMrnAPsQ5GZFSl9wwvsaZ8kYbuX9dqarzz4YtVKRBk=", "owner": "nix-community", "repo": "NUR", - "rev": "34c80a75bf09085cfd04a476389a4162c6154d42", + "rev": "3782ea42ee0f05f81bc09a661749b2202e2ac872", "type": "github" }, "original": { From 2fe63eab34c6e88bd9af9f470c7420a2ea6fdbdc Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 3 May 2025 00:18:51 +0200 Subject: [PATCH 644/766] Remove pretix --- hosts/default.nix | 4 - hosts/weinturm-pretix-prod/configuration.nix | 54 --------- .../hardware-configuration.nix | 64 ---------- hosts/weinturm-pretix-prod/ports.nix | 10 -- hosts/weinturm-pretix-prod/secrets.yaml | 33 ------ .../weinturm-pretix-prod/services/default.nix | 5 - .../weinturm-pretix-prod/services/pretix.nix | 110 ------------------ pkgs/default.nix | 1 - pkgs/modules.nix | 1 - pkgs/pretix-banktool/default.nix | 27 ----- pkgs/pretix-banktool/module.nix | 49 -------- pkgs/pretix-banktool/requirements.patch | 18 --- 12 files changed, 376 deletions(-) delete mode 100644 hosts/weinturm-pretix-prod/configuration.nix delete mode 100644 hosts/weinturm-pretix-prod/hardware-configuration.nix delete mode 100644 hosts/weinturm-pretix-prod/ports.nix delete mode 100644 hosts/weinturm-pretix-prod/secrets.yaml delete mode 100644 hosts/weinturm-pretix-prod/services/default.nix delete mode 100644 hosts/weinturm-pretix-prod/services/pretix.nix delete mode 100644 pkgs/pretix-banktool/default.nix delete mode 100644 pkgs/pretix-banktool/module.nix delete mode 100644 pkgs/pretix-banktool/requirements.patch diff --git a/hosts/default.nix b/hosts/default.nix index a23a65f..63dee24 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -10,10 +10,6 @@ in cadmium = { system = "x86_64-linux"; }; - weinturm-pretix-prod = { - system = "aarch64"; - targetHost = "142.132.185.70"; - }; iron = { system = "x86_64-linux"; #targetHost = "192.168.42.1"; diff --git a/hosts/weinturm-pretix-prod/configuration.nix b/hosts/weinturm-pretix-prod/configuration.nix deleted file mode 100644 index 774ab83..0000000 --- a/hosts/weinturm-pretix-prod/configuration.nix +++ /dev/null @@ -1,54 +0,0 @@ -{ ... }: { - imports = [ - ./hardware-configuration.nix - ../../users/jalr - ./services - ./ports.nix - ]; - - networking.hostName = "weinturm-pretix-prod"; - - networking.useDHCP = false; - - systemd.network = { - enable = true; - networks."10-wan" = { - matchConfig.Name = "enp1s0"; - networkConfig.DHCP = "no"; - address = [ - "142.132.185.70/32" - "2a01:4f8:c012:edd::/64" - ]; - routes = [ - { - Destination = "172.31.1.1"; - } - { - Gateway = "172.31.1.1"; - GatewayOnLink = true; - } - { - Gateway = "fe80::1"; - } - ]; - }; - }; - - zramSwap = { - enable = true; - algorithm = "zstd"; - memoryPercent = 60; - priority = 1; - }; - - security.sudo.wheelNeedsPassword = false; - - services.netdata.enable = true; - - jalr = { - bootloader = "systemd-boot"; - uefi.enable = true; - }; - - system.stateVersion = "24.05"; -} diff --git a/hosts/weinturm-pretix-prod/hardware-configuration.nix b/hosts/weinturm-pretix-prod/hardware-configuration.nix deleted file mode 100644 index 178664e..0000000 --- a/hosts/weinturm-pretix-prod/hardware-configuration.nix +++ /dev/null @@ -1,64 +0,0 @@ -{ lib, modulesPath, ... }: -{ - imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; - - boot = { - initrd = { - availableKernelModules = [ "xhci_pci" "virtio_pci" "virtio_scsi" "usbhid" "sr_mod" ]; - kernelModules = [ ]; - }; - kernelModules = [ ]; - extraModulePackages = [ ]; - }; - - fileSystems = { - "/" = { - device = "/dev/disk/by-uuid/766739e7-2c5c-4c28-b6ee-4bf9f91e6b1f"; - fsType = "btrfs"; - options = [ - "subvol=root" - "compress=zstd" - ]; - }; - "/proc" = { - device = "/proc"; - options = [ "nosuid" "noexec" "nodev" "hidepid=2" ]; - }; - "/home" = { - device = "/dev/disk/by-uuid/766739e7-2c5c-4c28-b6ee-4bf9f91e6b1f"; - fsType = "btrfs"; - options = [ - "subvol=home" - "compress=zstd" - "nodev" - "nosuid" - ]; - }; - "/nix" = { - device = "/dev/disk/by-uuid/766739e7-2c5c-4c28-b6ee-4bf9f91e6b1f"; - fsType = "btrfs"; - options = [ - "subvol=nix" - "compress=zstd" - "noatime" - "nodev" - ]; - }; - "/boot" = { - device = "/dev/disk/by-uuid/A586-15AC"; - fsType = "vfat"; - options = [ "nodev" "nosuid" "noexec" ]; - }; - }; - - swapDevices = [ ]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp1s0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux"; -} diff --git a/hosts/weinturm-pretix-prod/ports.nix b/hosts/weinturm-pretix-prod/ports.nix deleted file mode 100644 index c41bae4..0000000 --- a/hosts/weinturm-pretix-prod/ports.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ custom-utils, ... }: - -{ - config.networking.ports = custom-utils.validatePortAttrset { - nginx-http.tcp = 80; - nginx-https.tcp = 443; - postfix-relay.tcp = 25; - postfix-submission.tcp = 465; - }; -} diff --git a/hosts/weinturm-pretix-prod/secrets.yaml b/hosts/weinturm-pretix-prod/secrets.yaml deleted file mode 100644 index 11052e5..0000000 --- a/hosts/weinturm-pretix-prod/secrets.yaml +++ /dev/null @@ -1,33 +0,0 @@ -pretix-cfg: ENC[AES256_GCM,data:sfgKDr9aNOdwlumoltRuD7u1ksykFdEKtzt3MldjQnG0b4iAEspEhjcxqaNvPpXYm8EZKtsLBBQgdd1ifyQgs3k69c/GfzQ/jZ/yQ2OUkCO7U9A=,iv:FADYpPbGEEM/pD6EI85s9wVMv8yMrGJa+miE25XQ+t8=,tag:WJ9LHCNFHSr9RmmUi6hxnw==,type:str] -pretix-banktool-cfg: ENC[AES256_GCM,data:qHo4qfjDAe1wwdMa/HH5vgySO1XSBLQBouY8mUFlZiSI2lLCQgjQRzBu0C/p3FPqFkydtz2LEkQ6Cs/Zu0NbYB36CSinISZbGJABaNcF8mGJYKkohXF8GDYRNe7g5gxrKQlHWuPjChzxWRVLEV7VypYXE7Iad2tiiz4ZTxWZr8ylBLIbvCT1lWQU6rN4H6DjdI3gL0wmvHBg027xoelUME/g1bZvvkG3hw94Z8UKrFdZ9/DWqQ9G/VHRk0hVuBW6/b1VWooq3EF/JDEFO2oi7xW/TnwF5YMMkBQGS0b+pxK/rT6ir1DQywfFhSU09nWnRT/jw270QAwk762359e8+jl+p43dp6o+Ll1kzDQ9jbi5e2uXZrBaZGtnjDNLJHEFDJWpHtYmXNRIq4AQs/8cKaYx8uAXOTANE45GUiVpoA+m3clc02ABpBrHBENeKmJw/smGSbUKFnsu6WgigEyme8TxIMqiHghpppTzLDCZYXpBH+2n+eXNX2ovNA==,iv:kihK0wFCwvUUQg5+aKqQ6YNRyJjPvYllh0oVxJnee2w=,tag:InZaflGdiz7lXP2V+ZsyoA==,type:str] -sops: - kms: [] - gcp_kms: [] - azure_kv: [] - hc_vault: [] - age: - - recipient: age1djjxl3lcvzs85nj0met6w8ujsz8pvr6ngmmdwlxfh0k9d5lkrpdqlzzehf - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3MjRZRzI5WDNSYXNNOXBE - enNUdi9aWjRzMlU3THVMcGd2eC9zb0wwMFFZCnRQbUh6L3lxS1FKS2pqdUQ0aHg1 - K3dlNDhSK2VvYjdjRGppNTV5SE8zbUUKLS0tIHN0QldlNXJtRmRLL2c3SEU3eWkr - MGh3UVh2R05WWDU3SDVFKzdvODRGQVUKo1u58Ra1dhAfBmv3xwLk/6+6/mFPJn0Z - FyL7yjU6JMWzR/8FUv5lJAubudiZ8MnuH+10deGvQnT5AxG9fNzi5w== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-02-28T13:17:03Z" - mac: ENC[AES256_GCM,data:Ytsc+CdGosiIkIS/Ck6YIYMFgSArM9o6VR9Hx4B1xlWUQV9DfUuJ+5Ev6SuAPfIhXLfBEpbAzmfqZaYq81M+tERQxYXEuOiz9+l/5j9hOTlrfporscz4Jb8wrPDOTj8kTVbWF9K73uB08zla4T+y5N735DBb+YOpztDouoLO1rw=,iv:vu78iCIv6M5vO4mLhlBTRl7cpys4BBsdPWnRUqd+Fmo=,tag:/GlbV2/IhRZuXNkzSVwOMQ==,type:str] - pgp: - - created_at: "2024-01-31T01:20:41Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hF4DY/xpNY5WhB0SAQdAj+5TReNbi6wBP+ftlrJK9jfrHor2FveQMlmHsfHGkjMw - lGlhoHuDnRbVCWC4ruHGFtOclvw2Kjja7ZWbc+7CX34KREAETN89Jic2tGmQKY9q - 0l4B2gqyXsnrpD/n+gOJlnpZcxlUX0iriO5POEf9czTsFKRFnTdZcAX+7Dgv7Iqn - TkJJLYo64mpV3TPvcj2UlejcANcNV82gDWwIbLdKs2UPdFVJqfpP2z6V5bQCML/y - =4iJS - -----END PGP MESSAGE----- - fp: 3044E71E3DEFF49B586CF5809BF4FCCB90854DA9 - unencrypted_suffix: _unencrypted - version: 3.9.4 diff --git a/hosts/weinturm-pretix-prod/services/default.nix b/hosts/weinturm-pretix-prod/services/default.nix deleted file mode 100644 index 731194c..0000000 --- a/hosts/weinturm-pretix-prod/services/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - imports = [ - ./pretix.nix - ]; -} diff --git a/hosts/weinturm-pretix-prod/services/pretix.nix b/hosts/weinturm-pretix-prod/services/pretix.nix deleted file mode 100644 index 94fa3ab..0000000 --- a/hosts/weinturm-pretix-prod/services/pretix.nix +++ /dev/null @@ -1,110 +0,0 @@ -{ config, lib, ... }: - -let - cfg = config.services.pretix; - inherit (config.networking) ports; - domain = "tickets.weinturm-open-air.de"; - extraDomains = [ - "tickets.weinturm.jalr.de" - "tickets.wasted-openair.de" - "oel.wasted-openair.de" - "tickets.buendnis-gegen-rechts-nea.de" - ]; - gunicornWorkers = 4; - secretsFile = ../secrets.yaml; -in -{ - sops.secrets = { - pretix-cfg = { - sopsFile = secretsFile; - }; - pretix-banktool-cfg = { - sopsFile = secretsFile; - }; - }; - - # Add user to `redis-pretix` group - # to grant access to /run/redis-pretix/redis.sock - users.users.pretix.extraGroups = [ "redis-pretix" ]; - - networking.firewall.allowedTCPPorts = [ 80 443 ]; - - security.acme = { - acceptTerms = true; - defaults.email = lib.mkForce "helfer@weinturm-open-air.de"; - }; - - jalr.mailserver = { - enable = true; - fqdn = "tickets.weinturm-open-air.de"; - relayPort = ports.postfix-relay.tcp; - domains = [ - { - domain = "tickets.weinturm-open-air.de"; - enableDKIM = false; - } - ]; - messageSizeLimit = 10 * 1024 * 1024; - users = [ ]; - spam.enable = false; - }; - - services = { - pretix = { - enable = true; - settings = { - pretix = { - instance_name = "Digitaler Dienst GmbH"; - url = "https://${domain}"; - registration = false; - password_reset = true; - }; - locale = { - default = "de"; - timezone = "Europe/Berlin"; - }; - mail = { - from = "no-reply@tickets.weinturm-open-air.de"; - }; - redis.location = "unix:///run/redis-pretix/redis.sock?db=0"; - celery.backend = "redis+socket:///run/redis-pretix/redis.sock?virtual_host=2"; - celery.broker = "redis+socket:///run/redis-pretix/redis.sock?virtual_host=1"; - }; - nginx = { - enable = true; - inherit domain; - }; - gunicorn = { - extraArgs = [ - "--workers=${toString gunicornWorkers}" - ]; - }; - }; - - pretix-banktool = { - enable = true; - days = 14; - secretsFile = config.sops.secrets.pretix-banktool-cfg.path; - }; - - nginx = lib.mkIf cfg.nginx.enable { - recommendedGzipSettings = true; - recommendedOptimisation = true; - recommendedProxySettings = true; - recommendedTlsSettings = true; - virtualHosts = { - "${cfg.nginx.domain}" = { - enableACME = true; - forceSSL = true; - kTLS = true; - extraConfig = '' - add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains; preload' always; - more_set_headers Referrer-Policy same-origin; - more_set_headers X-Content-Type-Options nosniff; - ''; - serverAliases = extraDomains; - }; - }; - }; - }; -} diff --git a/pkgs/default.nix b/pkgs/default.nix index 2eb4b51..5a27c44 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -23,7 +23,6 @@ in inherit poetry2nix; }; pomodoro-timer = callPackage ./pomodoro-timer { }; - pretix-banktool = callPackage ./pretix-banktool { }; tabbed-box-maker = callPackage ./tabbed-box-maker { }; vesc-firmware = callPackage ./vesc-tool/firmware.nix { }; vesc-tool = callPackage ./vesc-tool/tool.nix { }; diff --git a/pkgs/modules.nix b/pkgs/modules.nix index 8a82e06..067cbc4 100644 --- a/pkgs/modules.nix +++ b/pkgs/modules.nix @@ -3,6 +3,5 @@ ./asterisk-sounds-de/module.nix ./ksoloti/module.nix ./myintercom-doorbell/module.nix - ./pretix-banktool/module.nix ]; } diff --git a/pkgs/pretix-banktool/default.nix b/pkgs/pretix-banktool/default.nix deleted file mode 100644 index d685c12..0000000 --- a/pkgs/pretix-banktool/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ python3Packages, fetchFromGitHub }: -python3Packages.buildPythonApplication rec { - name = "pretix-banktool"; - version = "1.0.0"; - - src = fetchFromGitHub { - owner = "pretix"; - repo = "pretix-banktool"; - rev = "v${version}"; - sha256 = "vYHjotx1RujPV53Ei7bXAc3kL/3cwbWQB1T3sQ15MFA="; - }; - - patches = [ - ./requirements.patch - ]; - - buildInputs = with python3Packages; [ - pip - ]; - - propagatedBuildInputs = with python3Packages; [ - click - fints - mt-940 - requests - ]; -} diff --git a/pkgs/pretix-banktool/module.nix b/pkgs/pretix-banktool/module.nix deleted file mode 100644 index 9c58157..0000000 --- a/pkgs/pretix-banktool/module.nix +++ /dev/null @@ -1,49 +0,0 @@ -{ config, lib, pkgs, ... }: - -let - cfg = config.services.pretix-banktool; -in -{ - options.services.pretix-banktool = with lib; with lib.types; { - enable = mkEnableOption "Enable tool to query bank account and sync transaction data to pretix server."; - days = mkOption { - type = types.int; - description = "The timeframe of transaction to fetch from the bank in days."; - }; - secretsFile = mkOption { - type = types.path; - description = '' - Path of file containing secrets for pretix banktool. - ''; - }; - }; - config = { - systemd.services.pretix-banktool = lib.mkIf cfg.enable { - description = "Tool to query bank account and sync transaction data to pretix server."; - serviceConfig = { - Type = "oneshot"; - DynamicUser = true; - CapabilityBoundingSet = null; - PrivateUsers = true; - ProtectHome = true; - RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; - RestrictNamespaces = true; - SystemCallFilter = "@system-service"; - LoadCredential = "config:${cfg.secretsFile}"; - }; - script = "${pkgs.pretix-banktool}/bin/pretix-banktool upload \"$CREDENTIALS_DIRECTORY/config\" --days=${toString cfg.days}"; - }; - - systemd.timers.pretix-banktool = lib.mkIf cfg.enable { - description = "Run tool to query bank account and sync transaction data to pretix server."; - after = [ "network.target" ]; - wantedBy = [ "timers.target" ]; - timerConfig = { - Persistent = true; - OnCalendar = "*-*-* *:00:00"; - Unit = "pretix-banktool.service"; - }; - }; - }; -} - diff --git a/pkgs/pretix-banktool/requirements.patch b/pkgs/pretix-banktool/requirements.patch deleted file mode 100644 index cb78385..0000000 --- a/pkgs/pretix-banktool/requirements.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/setup.py b/setup.py -index 2eba88a..7041acd 100644 ---- a/setup.py -+++ b/setup.py -@@ -19,8 +19,8 @@ setup( - author_email='mail@raphaelmichel.de', - - install_requires=[ -- 'click==6.*', -- 'fints>=3.0.*', -+ 'click>=6,<8.2', -+ 'fints>=3,<4.1', - 'requests', -- 'mt-940>=4.12*', -+ 'mt-940==4.30.0', - ], --- -2.38.3 From 9ead7f27d6fa815f55d83e86b7b74d07cf829007 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 4 May 2025 12:33:11 +0200 Subject: [PATCH 645/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/72081c9fbbef63765ae82bff9727ea79cc86bd5b?narHash=sha256-mmV2oPhQN%2BYF2wmnJzXX8tqgYmUYXUj3uUUBSTmYN5o%3D' (2025-04-29) → 'github:nixos/nixos-hardware/0833dc8bbc4ffa9cf9b0cbfccf1c5ec8632fc66e?narHash=sha256-WjupK5Xpc%2BviJlJWiyPHp/dF4aJItp1BPuFsEdv2/fI%3D' (2025-05-04) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/70646658006b726e0c7a664de260e4ceb584602d?narHash=sha256-tSiVRpDjqbnsde086UradYKcuVNwk8nK%2BK4vveZkD9Q%3D' (2025-05-02) → 'github:NixOS/nixpkgs/669deec73864f9e6c6649b970f79d65bb2eb2c6d?narHash=sha256-WojtaSCqLh86csiJcGLoBUne7HnUi459ge4j9cpXuME%3D' (2025-05-04) • Updated input 'nur': 'github:nix-community/NUR/3782ea42ee0f05f81bc09a661749b2202e2ac872?narHash=sha256-KVMrnAPsQ5GZFSl9wwvsaZ8kYbuX9dqarzz4YtVKRBk%3D' (2025-05-02) → 'github:nix-community/NUR/8ac6c576b34a0b5a0d07231ecea377c3b2c0a9a3?narHash=sha256-5SXSosJhUJOjveIzvFHIjXQ8rHq39zHfDp2fKSWLJkI%3D' (2025-05-04) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/f02fddb8acef29a8b32f10a335d44828d7825b78?narHash=sha256-IgBWhX7A2oJmZFIrpRuMnw5RAufVnfvOgHWgIdds%2Bhc%3D' (2025-05-01) → 'github:nixos/nixpkgs/7a2622e2c0dbad5c4493cb268aba12896e28b008?narHash=sha256-MHmBH2rS8KkRRdoU/feC/dKbdlMkcNkB5mwkuipVHeQ%3D' (2025-05-03) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index caea7d1..ffca378 100644 --- a/flake.lock +++ b/flake.lock @@ -349,11 +349,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1745955289, - "narHash": "sha256-mmV2oPhQN+YF2wmnJzXX8tqgYmUYXUj3uUUBSTmYN5o=", + "lastModified": 1746341346, + "narHash": "sha256-WjupK5Xpc+viJlJWiyPHp/dF4aJItp1BPuFsEdv2/fI=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "72081c9fbbef63765ae82bff9727ea79cc86bd5b", + "rev": "0833dc8bbc4ffa9cf9b0cbfccf1c5ec8632fc66e", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1746223359, - "narHash": "sha256-tSiVRpDjqbnsde086UradYKcuVNwk8nK+K4vveZkD9Q=", + "lastModified": 1746353639, + "narHash": "sha256-WojtaSCqLh86csiJcGLoBUne7HnUi459ge4j9cpXuME=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "70646658006b726e0c7a664de260e4ceb584602d", + "rev": "669deec73864f9e6c6649b970f79d65bb2eb2c6d", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1746141548, - "narHash": "sha256-IgBWhX7A2oJmZFIrpRuMnw5RAufVnfvOgHWgIdds+hc=", + "lastModified": 1746232882, + "narHash": "sha256-MHmBH2rS8KkRRdoU/feC/dKbdlMkcNkB5mwkuipVHeQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f02fddb8acef29a8b32f10a335d44828d7825b78", + "rev": "7a2622e2c0dbad5c4493cb268aba12896e28b008", "type": "github" }, "original": { @@ -434,11 +434,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1746222382, - "narHash": "sha256-KVMrnAPsQ5GZFSl9wwvsaZ8kYbuX9dqarzz4YtVKRBk=", + "lastModified": 1746354383, + "narHash": "sha256-5SXSosJhUJOjveIzvFHIjXQ8rHq39zHfDp2fKSWLJkI=", "owner": "nix-community", "repo": "NUR", - "rev": "3782ea42ee0f05f81bc09a661749b2202e2ac872", + "rev": "8ac6c576b34a0b5a0d07231ecea377c3b2c0a9a3", "type": "github" }, "original": { From 82817c32ef1d6efaf95515478087bb5080600feb Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 7 May 2025 00:51:00 +0200 Subject: [PATCH 646/766] Add REW --- modules/unfree.nix | 3 ++- users/jalr/modules/default.nix | 1 + users/jalr/modules/roomeqwizard.nix | 6 ++++++ 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 users/jalr/modules/roomeqwizard.nix diff --git a/modules/unfree.nix b/modules/unfree.nix index e5f3549..77e1c81 100644 --- a/modules/unfree.nix +++ b/modules/unfree.nix @@ -2,7 +2,8 @@ { nixpkgs.config.allowUnfreePredicate = pkg: lib.elem (lib.getName pkg) [ - "unifi-controller" "mongodb" + "roomeqwizard" + "unifi-controller" ]; } diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index b2b2d51..82d5fab 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -31,6 +31,7 @@ ./pomodoro.nix ./python.nix ./remarkable + ./roomeqwizard.nix ./snapclient.nix ./sound ./sway diff --git a/users/jalr/modules/roomeqwizard.nix b/users/jalr/modules/roomeqwizard.nix new file mode 100644 index 0000000..42b49aa --- /dev/null +++ b/users/jalr/modules/roomeqwizard.nix @@ -0,0 +1,6 @@ +{ nixosConfig, lib, pkgs, ... }: +lib.mkIf nixosConfig.jalr.gui.enable { + home.packages = with pkgs; [ + roomeqwizard + ]; +} From 8a7765f4e2f9b2e3e177709470e4fe6ed313ea7b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 7 May 2025 00:51:16 +0200 Subject: [PATCH 647/766] Fix media files Let gunicorn deliver the media files. This is a workaround until I figured out how to give nginx the permissions to deliver them. --- hosts/magnesium/services/tandoor.nix | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/hosts/magnesium/services/tandoor.nix b/hosts/magnesium/services/tandoor.nix index 6577626..e573639 100644 --- a/hosts/magnesium/services/tandoor.nix +++ b/hosts/magnesium/services/tandoor.nix @@ -3,6 +3,7 @@ let domain = "tandoor.jalr.de"; cfg = config.services.tandoor-recipes; + #recipesDirectory = "/var/lib/private/tandoor-recipes/recipes"; inherit (config.networking) ports; in { @@ -13,6 +14,9 @@ in services.tandoor-recipes = { enable = true; port = ports.tandoor.tcp; + extraConfig = { + GUNICORN_MEDIA = "1"; + }; }; systemd.services.tandoor-recipes = { @@ -26,12 +30,22 @@ in }; }; + #users.groups.tandoor-recipes.members = [ "nginx" ]; + # https://tandoor.jalr.de/media/recipes/c071286f-60b3-45e9-9ac5-f4bb99703c17_11.jpg + + #systemd.services.nginx.serviceConfig.BindReadOnlyPaths = [ recipesDirectory ]; + #users.groups.tandoor-recipes.members = [ "nginx" ]; + services.nginx.virtualHosts."${domain}" = { enableACME = true; forceSSL = true; - locations."/" = { - proxyPass = "http://127.0.0.1:${toString cfg.port}"; + locations = { + "/" = { + proxyPass = "http://127.0.0.1:${toString cfg.port}"; + proxyWebsockets = true; + }; + #"/media/recipes/".alias = recipesDirectory; }; }; } From 4e7e1578d1399b7897e461d30247d18126020b4e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 9 May 2025 01:52:19 +0200 Subject: [PATCH 648/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/d0c543d740fad42fe2c035b43c9d41127e073c78?narHash=sha256-hotBG0EJ9VmAHJYF0yhWuTVZpENHvwcJ2SxvIPrXm%2Bg%3D' (2025-04-28) → 'github:nix-community/disko/85555d27ded84604ad6657ecca255a03fd878607?narHash=sha256-9R4sOLAK1w3Bq54H3XOJogdc7a6C2bLLmatOQ%2B5pf5w%3D' (2025-05-08) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/dcf5072734cb576d2b0c59b2ac44f5050b5eac82?narHash=sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco%3D' (2025-03-22) → 'github:cachix/git-hooks.nix/fa466640195d38ec97cf0493d6d6882bc4d14969?narHash=sha256-Wb2xeSyOsCoTCTj7LOoD6cdKLEROyFAArnYoS%2BnoCWo%3D' (2025-05-06) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/0833dc8bbc4ffa9cf9b0cbfccf1c5ec8632fc66e?narHash=sha256-WjupK5Xpc%2BviJlJWiyPHp/dF4aJItp1BPuFsEdv2/fI%3D' (2025-05-04) → 'github:nixos/nixos-hardware/2ea3ad8a1f26a76f8a8e23fc4f7757c46ef30ee5?narHash=sha256-T9vOxEqI1j1RYugV0b9dgy0AreiZ9yBDKZJYyclF0og%3D' (2025-05-07) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/bf3287dac860542719fe7554e21e686108716879?narHash=sha256-kwaaguGkAqTZ1oK0yXeQ3ayYjs8u/W7eEfrFpFfIDFA%3D' (2025-05-02) → 'github:nixos/nixpkgs/1d3aeb5a193b9ff13f63f4d9cc169fb88129f860?narHash=sha256-QkNoyEf6TbaTW5UZYX0OkwIJ/ZMeKSSoOMnSDPQuol0%3D' (2025-05-06) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/669deec73864f9e6c6649b970f79d65bb2eb2c6d?narHash=sha256-WojtaSCqLh86csiJcGLoBUne7HnUi459ge4j9cpXuME%3D' (2025-05-04) → 'github:NixOS/nixpkgs/963bb20b2cb3591aa5f80772aa3e0fd21539830d?narHash=sha256-gfO4gyPp8FnPVoN01Ob4FFpnEb/3Shaitdu2z/F%2BIJA%3D' (2025-05-08) • Updated input 'nur': 'github:nix-community/NUR/8ac6c576b34a0b5a0d07231ecea377c3b2c0a9a3?narHash=sha256-5SXSosJhUJOjveIzvFHIjXQ8rHq39zHfDp2fKSWLJkI%3D' (2025-05-04) → 'github:nix-community/NUR/d997cc011fd3d6373923f6cf18b3e2296baa234d?narHash=sha256-rea3RjwhTDjq/ovrFU1zISyXbv0uG4ZivFg1vtHnzRA%3D' (2025-05-08) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/7a2622e2c0dbad5c4493cb268aba12896e28b008?narHash=sha256-MHmBH2rS8KkRRdoU/feC/dKbdlMkcNkB5mwkuipVHeQ%3D' (2025-05-03) → 'github:nixos/nixpkgs/8fcc71459655f2486b3da197b8d6a62f595a33d2?narHash=sha256-GYYT5Pc%2BsZZWomgC7EgDSNSfmXd9Jby9nXQ6bAswUCg%3D' (2025-05-07) • Updated input 'sops-nix': 'github:Mic92/sops-nix/5e3e92b16d6fdf9923425a8d4df7496b2434f39c?narHash=sha256-ePyTpKEJTgX0gvgNQWd7tQYQ3glIkbqcW778RpHlqgA%3D' (2025-04-22) → 'github:Mic92/sops-nix/e93ee1d900ad264d65e9701a5c6f895683433386?narHash=sha256-PxrrSFLaC7YuItShxmYbMgSuFFuwxBB%2Bqsl9BZUnRvg%3D' (2025-05-05) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index ffca378..0caa5e7 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1745812220, - "narHash": "sha256-hotBG0EJ9VmAHJYF0yhWuTVZpENHvwcJ2SxvIPrXm+g=", + "lastModified": 1746729224, + "narHash": "sha256-9R4sOLAK1w3Bq54H3XOJogdc7a6C2bLLmatOQ+5pf5w=", "owner": "nix-community", "repo": "disko", - "rev": "d0c543d740fad42fe2c035b43c9d41127e073c78", + "rev": "85555d27ded84604ad6657ecca255a03fd878607", "type": "github" }, "original": { @@ -333,11 +333,11 @@ ] }, "locked": { - "lastModified": 1742649964, - "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", + "lastModified": 1746537231, + "narHash": "sha256-Wb2xeSyOsCoTCTj7LOoD6cdKLEROyFAArnYoS+noCWo=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", + "rev": "fa466640195d38ec97cf0493d6d6882bc4d14969", "type": "github" }, "original": { @@ -349,11 +349,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1746341346, - "narHash": "sha256-WjupK5Xpc+viJlJWiyPHp/dF4aJItp1BPuFsEdv2/fI=", + "lastModified": 1746621361, + "narHash": "sha256-T9vOxEqI1j1RYugV0b9dgy0AreiZ9yBDKZJYyclF0og=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "0833dc8bbc4ffa9cf9b0cbfccf1c5ec8632fc66e", + "rev": "2ea3ad8a1f26a76f8a8e23fc4f7757c46ef30ee5", "type": "github" }, "original": { @@ -365,11 +365,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1746183838, - "narHash": "sha256-kwaaguGkAqTZ1oK0yXeQ3ayYjs8u/W7eEfrFpFfIDFA=", + "lastModified": 1746557022, + "narHash": "sha256-QkNoyEf6TbaTW5UZYX0OkwIJ/ZMeKSSoOMnSDPQuol0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bf3287dac860542719fe7554e21e686108716879", + "rev": "1d3aeb5a193b9ff13f63f4d9cc169fb88129f860", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1746353639, - "narHash": "sha256-WojtaSCqLh86csiJcGLoBUne7HnUi459ge4j9cpXuME=", + "lastModified": 1746747219, + "narHash": "sha256-gfO4gyPp8FnPVoN01Ob4FFpnEb/3Shaitdu2z/F+IJA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "669deec73864f9e6c6649b970f79d65bb2eb2c6d", + "rev": "963bb20b2cb3591aa5f80772aa3e0fd21539830d", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1746232882, - "narHash": "sha256-MHmBH2rS8KkRRdoU/feC/dKbdlMkcNkB5mwkuipVHeQ=", + "lastModified": 1746592047, + "narHash": "sha256-GYYT5Pc+sZZWomgC7EgDSNSfmXd9Jby9nXQ6bAswUCg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7a2622e2c0dbad5c4493cb268aba12896e28b008", + "rev": "8fcc71459655f2486b3da197b8d6a62f595a33d2", "type": "github" }, "original": { @@ -434,11 +434,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1746354383, - "narHash": "sha256-5SXSosJhUJOjveIzvFHIjXQ8rHq39zHfDp2fKSWLJkI=", + "lastModified": 1746748039, + "narHash": "sha256-rea3RjwhTDjq/ovrFU1zISyXbv0uG4ZivFg1vtHnzRA=", "owner": "nix-community", "repo": "NUR", - "rev": "8ac6c576b34a0b5a0d07231ecea377c3b2c0a9a3", + "rev": "d997cc011fd3d6373923f6cf18b3e2296baa234d", "type": "github" }, "original": { @@ -550,11 +550,11 @@ ] }, "locked": { - "lastModified": 1745310711, - "narHash": "sha256-ePyTpKEJTgX0gvgNQWd7tQYQ3glIkbqcW778RpHlqgA=", + "lastModified": 1746485181, + "narHash": "sha256-PxrrSFLaC7YuItShxmYbMgSuFFuwxBB+qsl9BZUnRvg=", "owner": "Mic92", "repo": "sops-nix", - "rev": "5e3e92b16d6fdf9923425a8d4df7496b2434f39c", + "rev": "e93ee1d900ad264d65e9701a5c6f895683433386", "type": "github" }, "original": { From 623f793970b4d9b1715ff697ec601b60da1d8827 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 12 May 2025 23:31:04 +0200 Subject: [PATCH 649/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/50eee705bbdbac942074a8c120e8194185633675?narHash=sha256-EyXUNSa%2BH%2BYvGVuQJP1nZskXAowxKYp79RNUsNdQTj4%3D' (2025-05-02) → 'github:nix-community/home-manager/b4bbdc6fde16fc2051fcde232f6e288cd22007ca?narHash=sha256-D/6rkiC6w2p%2B4SwRiVKrWIeYzun8FBg7NlMKMwQMxO0%3D' (2025-05-12) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/2ea3ad8a1f26a76f8a8e23fc4f7757c46ef30ee5?narHash=sha256-T9vOxEqI1j1RYugV0b9dgy0AreiZ9yBDKZJYyclF0og%3D' (2025-05-07) → 'github:nixos/nixos-hardware/d1d68fe8b00248caaa5b3bbe4984c12b47e0867d?narHash=sha256-dMx20S2molwqJxbmMB4pGjNfgp5H1IOHNa1Eby6xL%2B0%3D' (2025-05-12) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/1d3aeb5a193b9ff13f63f4d9cc169fb88129f860?narHash=sha256-QkNoyEf6TbaTW5UZYX0OkwIJ/ZMeKSSoOMnSDPQuol0%3D' (2025-05-06) → 'github:nixos/nixpkgs/a39ed32a651fdee6842ec930761e31d1f242cb94?narHash=sha256-k9ut1LSfHCr0AW82ttEQzXVCqmyWVA5%2BSHJkS5ID/Jo%3D' (2025-05-11) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/963bb20b2cb3591aa5f80772aa3e0fd21539830d?narHash=sha256-gfO4gyPp8FnPVoN01Ob4FFpnEb/3Shaitdu2z/F%2BIJA%3D' (2025-05-08) → 'github:NixOS/nixpkgs/db8c5bd59837c0e80005f9484c0f3d01816a0a77?narHash=sha256-7MBXSIVYYWJVsbxa5Wyp%2BnZEIu3Q4WkNqQ/CPvGgNDA%3D' (2025-05-12) • Updated input 'nur': 'github:nix-community/NUR/d997cc011fd3d6373923f6cf18b3e2296baa234d?narHash=sha256-rea3RjwhTDjq/ovrFU1zISyXbv0uG4ZivFg1vtHnzRA%3D' (2025-05-08) → 'github:nix-community/NUR/375559ab975135e694d34adb905260badf450773?narHash=sha256-jAOpBBLpq%2BMixGB5/h8Gh/%2B7EA2Rc/U8S01DcVEchIM%3D' (2025-05-12) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/8fcc71459655f2486b3da197b8d6a62f595a33d2?narHash=sha256-GYYT5Pc%2BsZZWomgC7EgDSNSfmXd9Jby9nXQ6bAswUCg%3D' (2025-05-07) → 'github:nixos/nixpkgs/d89fc19e405cb2d55ce7cc114356846a0ee5e956?narHash=sha256-3e%2BAVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ%3D' (2025-05-10) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 0caa5e7..e07c4d5 100644 --- a/flake.lock +++ b/flake.lock @@ -224,11 +224,11 @@ ] }, "locked": { - "lastModified": 1746171682, - "narHash": "sha256-EyXUNSa+H+YvGVuQJP1nZskXAowxKYp79RNUsNdQTj4=", + "lastModified": 1747020534, + "narHash": "sha256-D/6rkiC6w2p+4SwRiVKrWIeYzun8FBg7NlMKMwQMxO0=", "owner": "nix-community", "repo": "home-manager", - "rev": "50eee705bbdbac942074a8c120e8194185633675", + "rev": "b4bbdc6fde16fc2051fcde232f6e288cd22007ca", "type": "github" }, "original": { @@ -349,11 +349,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1746621361, - "narHash": "sha256-T9vOxEqI1j1RYugV0b9dgy0AreiZ9yBDKZJYyclF0og=", + "lastModified": 1747083103, + "narHash": "sha256-dMx20S2molwqJxbmMB4pGjNfgp5H1IOHNa1Eby6xL+0=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "2ea3ad8a1f26a76f8a8e23fc4f7757c46ef30ee5", + "rev": "d1d68fe8b00248caaa5b3bbe4984c12b47e0867d", "type": "github" }, "original": { @@ -365,11 +365,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1746557022, - "narHash": "sha256-QkNoyEf6TbaTW5UZYX0OkwIJ/ZMeKSSoOMnSDPQuol0=", + "lastModified": 1746957726, + "narHash": "sha256-k9ut1LSfHCr0AW82ttEQzXVCqmyWVA5+SHJkS5ID/Jo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1d3aeb5a193b9ff13f63f4d9cc169fb88129f860", + "rev": "a39ed32a651fdee6842ec930761e31d1f242cb94", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1746747219, - "narHash": "sha256-gfO4gyPp8FnPVoN01Ob4FFpnEb/3Shaitdu2z/F+IJA=", + "lastModified": 1747085072, + "narHash": "sha256-7MBXSIVYYWJVsbxa5Wyp+nZEIu3Q4WkNqQ/CPvGgNDA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "963bb20b2cb3591aa5f80772aa3e0fd21539830d", + "rev": "db8c5bd59837c0e80005f9484c0f3d01816a0a77", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1746592047, - "narHash": "sha256-GYYT5Pc+sZZWomgC7EgDSNSfmXd9Jby9nXQ6bAswUCg=", + "lastModified": 1746904237, + "narHash": "sha256-3e+AVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8fcc71459655f2486b3da197b8d6a62f595a33d2", + "rev": "d89fc19e405cb2d55ce7cc114356846a0ee5e956", "type": "github" }, "original": { @@ -434,11 +434,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1746748039, - "narHash": "sha256-rea3RjwhTDjq/ovrFU1zISyXbv0uG4ZivFg1vtHnzRA=", + "lastModified": 1747084740, + "narHash": "sha256-jAOpBBLpq+MixGB5/h8Gh/+7EA2Rc/U8S01DcVEchIM=", "owner": "nix-community", "repo": "NUR", - "rev": "d997cc011fd3d6373923f6cf18b3e2296baa234d", + "rev": "375559ab975135e694d34adb905260badf450773", "type": "github" }, "original": { From fc508ef08b0a554a189e803eba78de02a70de97c Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 19 May 2025 21:56:46 +0200 Subject: [PATCH 650/766] Add NFC reader --- .../esphome/devices/kueche-leiste.yaml | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/hosts/iron/services/esphome/devices/kueche-leiste.yaml b/hosts/iron/services/esphome/devices/kueche-leiste.yaml index 434c137..996c412 100644 --- a/hosts/iron/services/esphome/devices/kueche-leiste.yaml +++ b/hosts/iron/services/esphome/devices/kueche-leiste.yaml @@ -32,7 +32,6 @@ wifi: domain: .iot.bw.jalr.de enable_on_boot: True fast_connect: On - output_power: 8.5 esp32_ble_tracker: scan_parameters: @@ -92,3 +91,26 @@ binary_sensor: - light.toggle: id: led_light internal: True + +spi: + - id: spi_bus_main + clk_pin: GPIO21 + mosi_pin: GPIO10 + miso_pin: GPIO20 + +pn532_spi: + spi_id: spi_bus_main + # FIXME: GPIO9 is a strapping pin + cs_pin: GPIO9 + update_interval: 1s + on_tag: + then: + - homeassistant.tag_scanned: !lambda 'return x;' + - switch.turn_on: buzzer + - delay: 250ms + - switch.turn_off: buzzer + +switch: + - platform: gpio + pin: GPIO7 + id: buzzer From cdad4059fdcc1cc763081e44e588e21828ff370d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 16 May 2025 20:09:36 +0200 Subject: [PATCH 651/766] Bump to 25.05 --- flake.lock | 58 +++++++++++++++++++++++++++--------------------------- flake.nix | 4 ++-- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/flake.lock b/flake.lock index e07c4d5..16c3443 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1746729224, - "narHash": "sha256-9R4sOLAK1w3Bq54H3XOJogdc7a6C2bLLmatOQ+5pf5w=", + "lastModified": 1747621015, + "narHash": "sha256-j0fo1rNxZvmFLMaE945UrbLJZAHTlQmq0/QMgOP4GTs=", "owner": "nix-community", "repo": "disko", - "rev": "85555d27ded84604ad6657ecca255a03fd878607", + "rev": "cec44d77d9dacf0c91d3d51aff128fefabce06ee", "type": "github" }, "original": { @@ -224,16 +224,16 @@ ] }, "locked": { - "lastModified": 1747020534, - "narHash": "sha256-D/6rkiC6w2p+4SwRiVKrWIeYzun8FBg7NlMKMwQMxO0=", + "lastModified": 1747556831, + "narHash": "sha256-Qb84nbYFFk0DzFeqVoHltS2RodAYY5/HZQKE8WnBDsc=", "owner": "nix-community", "repo": "home-manager", - "rev": "b4bbdc6fde16fc2051fcde232f6e288cd22007ca", + "rev": "d0bbd221482c2713cccb80220f3c9d16a6e20a33", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-24.11", + "ref": "release-25.05", "repo": "home-manager", "type": "github" } @@ -333,11 +333,11 @@ ] }, "locked": { - "lastModified": 1746537231, - "narHash": "sha256-Wb2xeSyOsCoTCTj7LOoD6cdKLEROyFAArnYoS+noCWo=", + "lastModified": 1747372754, + "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "fa466640195d38ec97cf0493d6d6882bc4d14969", + "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", "type": "github" }, "original": { @@ -349,11 +349,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1747083103, - "narHash": "sha256-dMx20S2molwqJxbmMB4pGjNfgp5H1IOHNa1Eby6xL+0=", + "lastModified": 1747684167, + "narHash": "sha256-l6jbonaboCBlB8lCjBkrqgh2zEnvt6F3f4dOU/8CLd4=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "d1d68fe8b00248caaa5b3bbe4984c12b47e0867d", + "rev": "e8f38b2c19c0647e39021c3d47172ff5469af8a9", "type": "github" }, "original": { @@ -365,16 +365,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1746957726, - "narHash": "sha256-k9ut1LSfHCr0AW82ttEQzXVCqmyWVA5+SHJkS5ID/Jo=", + "lastModified": 1747610100, + "narHash": "sha256-rpR5ZPMkWzcnCcYYo3lScqfuzEw5Uyfh+R0EKZfroAc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a39ed32a651fdee6842ec930761e31d1f242cb94", + "rev": "ca49c4304acf0973078db0a9d200fd2bae75676d", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-24.11", + "ref": "nixos-25.05", "repo": "nixpkgs", "type": "github" } @@ -397,11 +397,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1747085072, - "narHash": "sha256-7MBXSIVYYWJVsbxa5Wyp+nZEIu3Q4WkNqQ/CPvGgNDA=", + "lastModified": 1747684550, + "narHash": "sha256-IT00R92DhZCYbLMJxCdfB/f8Cu777nSJBhRTJ7DBB9A=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "db8c5bd59837c0e80005f9484c0f3d01816a0a77", + "rev": "4e7164464b0c6d686680dd4ebb93076e652e9eb0", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1746904237, - "narHash": "sha256-3e+AVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ=", + "lastModified": 1747542820, + "narHash": "sha256-GaOZntlJ6gPPbbkTLjbd8BMWaDYafhuuYRNrxCGnPJw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d89fc19e405cb2d55ce7cc114356846a0ee5e956", + "rev": "292fa7d4f6519c074f0a50394dbbe69859bb6043", "type": "github" }, "original": { @@ -434,11 +434,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1747084740, - "narHash": "sha256-jAOpBBLpq+MixGB5/h8Gh/+7EA2Rc/U8S01DcVEchIM=", + "lastModified": 1747683907, + "narHash": "sha256-dgEK4d1QPNFhv0s5s9lpvEWOVBlRZENp7TVh8V8qYDU=", "owner": "nix-community", "repo": "NUR", - "rev": "375559ab975135e694d34adb905260badf450773", + "rev": "64046fedb710701f87e5e86390b4dbe77f1d733b", "type": "github" }, "original": { @@ -550,11 +550,11 @@ ] }, "locked": { - "lastModified": 1746485181, - "narHash": "sha256-PxrrSFLaC7YuItShxmYbMgSuFFuwxBB+qsl9BZUnRvg=", + "lastModified": 1747603214, + "narHash": "sha256-lAblXm0VwifYCJ/ILPXJwlz0qNY07DDYdLD+9H+Wc8o=", "owner": "Mic92", "repo": "sops-nix", - "rev": "e93ee1d900ad264d65e9701a5c6f895683433386", + "rev": "8d215e1c981be3aa37e47aeabd4e61bb069548fd", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index d0fd029..ee726fe 100644 --- a/flake.nix +++ b/flake.nix @@ -12,7 +12,7 @@ }; home-manager = { - url = "github:nix-community/home-manager/release-24.11"; + url = "github:nix-community/home-manager/release-25.05"; inputs.nixpkgs.follows = "nixpkgs"; }; @@ -36,7 +36,7 @@ nixos-hardware.url = "github:nixos/nixos-hardware/master"; - nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; nixpkgsMaster.url = "github:NixOS/nixpkgs/master"; From f42654b9ad3c8a71235bf2140aaba695638d0bf9 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 16 May 2025 20:26:07 +0200 Subject: [PATCH 652/766] Fixes for 25.05 --- hosts/aluminium/services/unifi-controller.nix | 2 +- hosts/iron/services/unifi-controller.nix | 2 +- modules/fonts.nix | 4 +++- modules/mailserver/dovecot.nix | 5 +++-- modules/pipewire.nix | 2 +- users/jalr/modules/firefox/default.nix | 2 +- users/jalr/modules/gnuradio.nix | 4 ++-- 7 files changed, 12 insertions(+), 9 deletions(-) diff --git a/hosts/aluminium/services/unifi-controller.nix b/hosts/aluminium/services/unifi-controller.nix index f5a70a9..ae39578 100644 --- a/hosts/aluminium/services/unifi-controller.nix +++ b/hosts/aluminium/services/unifi-controller.nix @@ -6,7 +6,7 @@ in { services.unifi = { enable = true; - unifiPackage = pkgs.unifi8; + unifiPackage = pkgs.unifi; mongodbPackage = pkgs.mongodb-7_0; }; networking.firewall.interfaces.lechner.allowedTCPPorts = [ diff --git a/hosts/iron/services/unifi-controller.nix b/hosts/iron/services/unifi-controller.nix index 87144fa..f351e4b 100644 --- a/hosts/iron/services/unifi-controller.nix +++ b/hosts/iron/services/unifi-controller.nix @@ -7,7 +7,7 @@ in { services.unifi = { enable = true; - unifiPackage = pkgs.unifi8; + unifiPackage = pkgs.unifi; mongodbPackage = pkgs.mongodb-7_0; }; networking.firewall.interfaces."${interfaces.lan}".allowedTCPPorts = [ diff --git a/modules/fonts.nix b/modules/fonts.nix index eb2cee0..8abb971 100644 --- a/modules/fonts.nix +++ b/modules/fonts.nix @@ -3,7 +3,9 @@ { console.font = "Lat2-Terminus16"; fonts.packages = with pkgs; lib.mkIf config.jalr.gui.enable [ - (nerdfonts.override { fonts = [ "Iosevka" ]; }) + nerd-fonts.iosevka + nerd-fonts.iosevka-term + nerd-fonts.iosevka-term-slab font-awesome powerline-fonts roboto diff --git a/modules/mailserver/dovecot.nix b/modules/mailserver/dovecot.nix index dea0bc5..a2485a5 100644 --- a/modules/mailserver/dovecot.nix +++ b/modules/mailserver/dovecot.nix @@ -13,8 +13,6 @@ lib.mkIf cfg.enable { services.dovecot2 = { enable = true; - modules = with pkgs; [ dovecot_pigeonhole ]; - enableLmtp = true; enablePAM = false; @@ -124,6 +122,9 @@ lib.mkIf cfg.enable { } ''; }; + + environment.systemPackages = [ pkgs.dovecot_pigeonhole ]; + systemd.services.dovecot2 = { wants = [ "acme-finished-${cfg.fqdn}.target" ]; after = [ "acme-finished-${cfg.fqdn}.target" ]; diff --git a/modules/pipewire.nix b/modules/pipewire.nix index 1591e95..3e03a70 100644 --- a/modules/pipewire.nix +++ b/modules/pipewire.nix @@ -1,7 +1,7 @@ { config, lib, pkgs, ... }: lib.mkIf config.jalr.gui.enable { - hardware.pulseaudio.enable = false; + services.pulseaudio.enable = false; # FIXME #hardware.pulseaudio.extraModules = [ pkgs.pulseaudio-modules-bt ]; diff --git a/users/jalr/modules/firefox/default.nix b/users/jalr/modules/firefox/default.nix index 411773e..56186b9 100644 --- a/users/jalr/modules/firefox/default.nix +++ b/users/jalr/modules/firefox/default.nix @@ -272,7 +272,7 @@ profiles.default = { id = 0; isDefault = true; - extensions = with pkgs.nur.repos.rycee.firefox-addons; [ + extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [ browserpass darkreader sponsorblock diff --git a/users/jalr/modules/gnuradio.nix b/users/jalr/modules/gnuradio.nix index 05bb580..8a380a7 100644 --- a/users/jalr/modules/gnuradio.nix +++ b/users/jalr/modules/gnuradio.nix @@ -1,11 +1,11 @@ { nixosConfig, lib, pkgs, ... }: let - gnuradioEnv = pkgs.gnuradio3_8.override { + gnuradioEnv = pkgs.gnuradio.override { extraPackages = pkgs.lib.attrVals [ "osmosdr" ] - pkgs.gnuradio3_8Packages; + pkgs.gnuradioPackages; }; in lib.mkIf nixosConfig.jalr.gui.enable { From 58d97a2abb982d236692eaab66c9d3b2e5fe6248 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 19 May 2025 22:23:38 +0200 Subject: [PATCH 653/766] Bump lanzaboote version --- flake.lock | 57 +++++++++++++++++++++++++++++++----------------------- flake.nix | 2 +- 2 files changed, 34 insertions(+), 25 deletions(-) diff --git a/flake.lock b/flake.lock index 16c3443..629181f 100644 --- a/flake.lock +++ b/flake.lock @@ -2,10 +2,7 @@ "nodes": { "crane": { "inputs": { - "nixpkgs": [ - "lanzaboote", - "nixpkgs" - ] + "nixpkgs": "nixpkgs" }, "locked": { "lastModified": 1717535930, @@ -138,11 +135,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -281,7 +278,6 @@ "crane": "crane", "flake-compat": "flake-compat", "flake-parts": "flake-parts", - "flake-utils": "flake-utils_2", "nixpkgs": [ "nixpkgs" ], @@ -289,16 +285,16 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1718178907, - "narHash": "sha256-eSZyrQ9uoPB9iPQ8Y5H7gAmAgAvCw3InStmU3oEjqsE=", + "lastModified": 1737639419, + "narHash": "sha256-AEEDktApTEZ5PZXNDkry2YV2k6t0dTgLPEmAZbnigXU=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "b627ccd97d0159214cee5c7db1412b75e4be6086", + "rev": "a65905a09e2c43ff63be8c0e86a93712361f871e", "type": "github" }, "original": { "owner": "nix-community", - "ref": "v0.4.1", + "ref": "v0.4.2", "repo": "lanzaboote", "type": "github" } @@ -365,16 +361,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1747610100, - "narHash": "sha256-rpR5ZPMkWzcnCcYYo3lScqfuzEw5Uyfh+R0EKZfroAc=", - "owner": "nixos", + "lastModified": 1747467164, + "narHash": "sha256-JBXbjJ0t6T6BbVc9iPVquQI9XSXCGQJD8c8SgnUquus=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "ca49c4304acf0973078db0a9d200fd2bae75676d", + "rev": "3fcbdcfc707e0aa42c541b7743e05820472bdaec", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-25.05", + "owner": "NixOS", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } @@ -412,6 +408,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1747610100, + "narHash": "sha256-rpR5ZPMkWzcnCcYYo3lScqfuzEw5Uyfh+R0EKZfroAc=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "ca49c4304acf0973078db0a9d200fd2bae75676d", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-25.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1747542820, "narHash": "sha256-GaOZntlJ6gPPbbkTLjbd8BMWaDYafhuuYRNrxCGnPJw=", @@ -430,7 +442,7 @@ "nur": { "inputs": { "flake-parts": "flake-parts_2", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "treefmt-nix": "treefmt-nix" }, "locked": { @@ -511,7 +523,7 @@ "lanzaboote": "lanzaboote", "nix-pre-commit-hooks": "nix-pre-commit-hooks", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "nixpkgsMaster": "nixpkgsMaster", "nur": "nur", "poetry2nix": "poetry2nix", @@ -520,10 +532,7 @@ }, "rust-overlay": { "inputs": { - "flake-utils": [ - "lanzaboote", - "flake-utils" - ], + "flake-utils": "flake-utils_2", "nixpkgs": [ "lanzaboote", "nixpkgs" diff --git a/flake.nix b/flake.nix index ee726fe..606db08 100644 --- a/flake.nix +++ b/flake.nix @@ -25,7 +25,7 @@ }; lanzaboote = { - url = "github:nix-community/lanzaboote/v0.4.1"; + url = "github:nix-community/lanzaboote/v0.4.2"; inputs.nixpkgs.follows = "nixpkgs"; }; From a6d9c798d7004324ca2584bdb8439ad8cb9d85b6 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 19 May 2025 22:43:59 +0200 Subject: [PATCH 654/766] Fix esphome --- hosts/iron/services/esphome/default.nix | 62 ++++++++++++++++++++----- 1 file changed, 51 insertions(+), 11 deletions(-) diff --git a/hosts/iron/services/esphome/default.nix b/hosts/iron/services/esphome/default.nix index cf83681..8e6ce2b 100644 --- a/hosts/iron/services/esphome/default.nix +++ b/hosts/iron/services/esphome/default.nix @@ -1,4 +1,8 @@ -{ lib, pkgs, config, ... }: +{ lib +, pkgs +, config +, ... +}: let inherit (config.networking) ports; cfgdir = pkgs.stdenvNoCC.mkDerivation { @@ -10,6 +14,11 @@ let cp -r * $out ''; }; + cfg = config.services.esphome; + esphomeParams = + if cfg.enableUnixSocket + then "--socket /run/esphome/esphome.sock" + else "--address ${cfg.address} --port ${toString cfg.port}"; in { sops.secrets.esphome = { @@ -26,16 +35,21 @@ in systemd.services.esphome = { environment = { - "PLATFORMIO_CORE_DIR" = lib.mkForce "/tmp/.platformio"; + "PLATFORMIO_CORE_DIR" = lib.mkForce "/var/cache/esphome/.platformio"; }; serviceConfig = { BindReadOnlyPaths = [ "/nix/store" - cfgdir - "%d/secrets.yaml:/var/lib/esphome/secrets.yaml" + "%d/secrets.yaml:/run/esphome/config/secrets.yaml" + "/etc/resolv.conf" + "/etc/ssl" + "/etc/static/ssl" ]; - BindPaths = [ - "/var/lib/esphome" + TemporaryFileSystem = [ + "/var/lib" + ]; + ExecPaths = [ + "-+/var/cache/esphome/.platformio/packages/" ]; DeviceAllow = [ "char-ttyACM rw" @@ -43,15 +57,41 @@ in "char-ttyUSB rw" ]; ExecStartPre = [ - "${pkgs.rsync}/bin/rsync -a --delete --checksum --exclude secrets.yaml --exclude=.esphome --exclude=.platformio --exclude=.gitignore '${cfgdir}/' '/var/lib/esphome/'" + (pkgs.writeShellScript "esphome-exec-start-pre" '' + if ! [ -d "$CACHE_DIRECTORY/.platformio/packages" ]; then + mkdir -p "$CACHE_DIRECTORY/.platformio/packages" + exit 1 + fi + mkdir -p "$CACHE_DIRECTORY/.esphome" + for linked in \ + .esphome \ + .gitignore + do + ln -s "$CACHE_DIRECTORY/$linked" "/run/esphome/config/$linked" + done + ${pkgs.rsync}/bin/rsync \ + -a \ + --delete \ + --checksum \ + --exclude secrets.yaml \ + --exclude=.esphome \ + --exclude=.platformio \ + --exclude=.gitignore \ + '${cfgdir}/' /run/esphome/config/ + '') ]; + ExecStart = lib.mkForce "${cfg.package}/bin/esphome dashboard ${esphomeParams} /run/esphome/config"; LoadCredential = "secrets.yaml:${config.sops.secrets.esphome.path}"; PrivateTmp = true; - RootDirectory = "/run/esphome"; - RuntimeDirectory = "esphome"; - StateDirectory = "esphome"; + RootDirectory = "%t/esphome/chroot"; + RuntimeDirectory = [ + "esphome/chroot" + "esphome/config" + ]; + StateDirectory = lib.mkForce [ ]; + CacheDirectory = "esphome"; SupplementaryGroups = [ "dialout" ]; - WorkingDirectory = lib.mkForce "/tmp"; + WorkingDirectory = lib.mkForce "/run/esphome/config"; }; }; } From d1fc275307eace709fdeca94a510f2d49943ac33 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 19 May 2025 22:46:47 +0200 Subject: [PATCH 655/766] Bump illuminanced version --- pkgs/illuminanced/default.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkgs/illuminanced/default.nix b/pkgs/illuminanced/default.nix index 2683fdc..3ab99e2 100644 --- a/pkgs/illuminanced/default.nix +++ b/pkgs/illuminanced/default.nix @@ -2,16 +2,19 @@ , fetchFromGitHub }: +let + version = "1.0.2"; +in rustPlatform.buildRustPackage { pname = "illuminanced"; - version = "0.1.0"; + inherit version; src = fetchFromGitHub { owner = "mikhail-m1"; repo = "illuminanced"; - rev = "ee95f97dc1ed197abe3a7c4f3ad45121a077d3eb"; - sha256 = "sha256-dilApolbxgl//2YVbd4ITYVNwfCQQ8LPayqmmW5Jhv8="; + rev = version; + sha256 = "sha256-ZEVma0uj9rsWB+vfUL7w3dHxI/ppBCG23TirGE+RREk="; }; - cargoHash = "sha256-y0Fuzgjz7s9VD/cqMshU1LiytlXskTMZ6dlQsYtAvsk="; + cargoHash = "sha256-kPWoQ6rE4wBjmqQLNPY4UWJt/AOgr+eVKY0ZK7B4K1A="; } From c939f81d8717f09feab024603533c01e340d3557 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 21 May 2025 17:29:08 +0200 Subject: [PATCH 656/766] Fix touch threshold and add filter --- hosts/iron/services/esphome/devices/badspiegel.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/hosts/iron/services/esphome/devices/badspiegel.yaml b/hosts/iron/services/esphome/devices/badspiegel.yaml index 74e451a..7f262ed 100644 --- a/hosts/iron/services/esphome/devices/badspiegel.yaml +++ b/hosts/iron/services/esphome/devices/badspiegel.yaml @@ -118,13 +118,17 @@ binary_sensor: - light.toggle: id: front_light internal: true + filters: + settle: 1s # Touch Pad T7 - platform: esp32_touch name: "touch pad GPIO27" pin: GPIO27 - threshold: 1030 + threshold: 1086 on_press: then: - light.toggle: id: background_light internal: true + filters: + settle: 1s From 852d62bbd71b36865e1397bcc7df92341f02e1e7 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 26 May 2025 15:47:22 +0200 Subject: [PATCH 657/766] Use stable package --- hosts/aluminium/services/esphome/default.nix | 2 +- hosts/magnesium/services/trilium.nix | 2 +- modules/qbittorrent/default.nix | 2 +- pkgs/myintercom-doorbell/module.nix | 2 +- users/jalr/modules/fpv.nix | 2 +- users/jalr/modules/trilium.nix | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/hosts/aluminium/services/esphome/default.nix b/hosts/aluminium/services/esphome/default.nix index 144bb06..14d791a 100644 --- a/hosts/aluminium/services/esphome/default.nix +++ b/hosts/aluminium/services/esphome/default.nix @@ -20,7 +20,7 @@ in enable = true; address = "127.0.0.1"; port = ports.esphome.tcp; - package = pkgs.master.esphome; + package = pkgs.esphome; }; systemd.services.esphome = { diff --git a/hosts/magnesium/services/trilium.nix b/hosts/magnesium/services/trilium.nix index c61c5cf..9b7adbf 100644 --- a/hosts/magnesium/services/trilium.nix +++ b/hosts/magnesium/services/trilium.nix @@ -7,7 +7,7 @@ in { services.trilium-server = { enable = true; - package = pkgs.master.trilium-next-server; + package = pkgs.trilium-next-server; host = "127.0.0.1"; port = ports.trilium.tcp; nginx = { diff --git a/modules/qbittorrent/default.nix b/modules/qbittorrent/default.nix index 9165d4d..1c20e70 100644 --- a/modules/qbittorrent/default.nix +++ b/modules/qbittorrent/default.nix @@ -59,7 +59,7 @@ in serviceConfig = { Restart = "always"; - ExecStart = "${pkgs.master.qbittorrent-nox}/bin/qbittorrent-nox --profile=${cfg.configDir} --webui-port=${toString cfg.webuiPort}"; + ExecStart = "${pkgs.qbittorrent-nox}/bin/qbittorrent-nox --profile=${cfg.configDir} --webui-port=${toString cfg.webuiPort}"; User = "qbittorrent"; Group = "qbittorrent"; diff --git a/pkgs/myintercom-doorbell/module.nix b/pkgs/myintercom-doorbell/module.nix index 3dfefde..cddb862 100644 --- a/pkgs/myintercom-doorbell/module.nix +++ b/pkgs/myintercom-doorbell/module.nix @@ -141,7 +141,7 @@ in wantedBy = [ "multi-user.target" ]; description = "Proxies the videostream of myintercom doorbell."; script = '' - sed "s:__PASSWORD__:$(cat "$PASSWORD_FILE"):" "${mediamtxConfig}" | ${pkgs.master.mediamtx}/bin/mediamtx /dev/stdin + sed "s:__PASSWORD__:$(cat "$PASSWORD_FILE"):" "${mediamtxConfig}" | ${pkgs.mediamtx}/bin/mediamtx /dev/stdin ''; serviceConfig = { Type = "simple"; diff --git a/users/jalr/modules/fpv.nix b/users/jalr/modules/fpv.nix index 9cc7d27..b51fb63 100644 --- a/users/jalr/modules/fpv.nix +++ b/users/jalr/modules/fpv.nix @@ -2,7 +2,7 @@ lib.mkIf nixosConfig.jalr.gui.enable { home.packages = with pkgs; [ - master.betaflight-configurator + betaflight-configurator fpvout ]; } diff --git a/users/jalr/modules/trilium.nix b/users/jalr/modules/trilium.nix index b219820..91b6dfe 100644 --- a/users/jalr/modules/trilium.nix +++ b/users/jalr/modules/trilium.nix @@ -1,6 +1,6 @@ { nixosConfig, lib, pkgs, ... }: lib.mkIf nixosConfig.jalr.gui.enable { - home.packages = with pkgs.master; [ + home.packages = with pkgs; [ trilium-next-desktop ]; } From bfa03c0c679dc81ac8847ffc02edd137627f73e4 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 26 May 2025 16:45:05 +0200 Subject: [PATCH 658/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/cec44d77d9dacf0c91d3d51aff128fefabce06ee?narHash=sha256-j0fo1rNxZvmFLMaE945UrbLJZAHTlQmq0/QMgOP4GTs%3D' (2025-05-19) → 'github:nix-community/disko/a894f2811e1ee8d10c50560551e50d6ab3c392ba?narHash=sha256-AzlJCKaM4wbEyEpV3I/PUq5mHnib2ryEy32c%2Bqfj6xk%3D' (2025-05-26) • Updated input 'home-manager': 'github:nix-community/home-manager/d0bbd221482c2713cccb80220f3c9d16a6e20a33?narHash=sha256-Qb84nbYFFk0DzFeqVoHltS2RodAYY5/HZQKE8WnBDsc%3D' (2025-05-18) → 'github:nix-community/home-manager/83665c39fa688bd6a1f7c43cf7997a70f6a109f9?narHash=sha256-GaBRgxjWO1bAQa8P2%2BFDxG4ANBVhjnSjBms096qQdxo%3D' (2025-05-26) • Updated input 'lanzaboote/crane': 'github:ipetkov/crane/55e7754ec31dac78980c8be45f8a28e80e370946?narHash=sha256-1hZ/txnbd/RmiBPNUs7i8UQw2N89uAK3UzrGAWdnFfU%3D' (2024-06-04) → 'github:ipetkov/crane/ef80ead953c1b28316cc3f8613904edc2eb90c28?narHash=sha256-HQkYvKvaLQqNa10KEFGgWHfMAbWBfFp%2B4cAgkut%2BNNE%3D' (2024-11-08) • Removed input 'lanzaboote/crane/nixpkgs' • Updated input 'lanzaboote/flake-parts': 'github:hercules-ci/flake-parts/2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8?narHash=sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw%3D' (2024-06-01) → 'github:hercules-ci/flake-parts/506278e768c2a08bec68eb62932193e341f55c90?narHash=sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS%2Bb4tfNFCwE%3D' (2024-11-01) • Updated input 'lanzaboote/pre-commit-hooks-nix': 'github:cachix/pre-commit-hooks.nix/cc4d466cb1254af050ff7bdf47f6d404a7c646d1?narHash=sha256-7XfBuLULizXjXfBYy/VV%2BSpYMHreNRHk9nKMsm1bgb4%3D' (2024-06-06) → 'github:cachix/pre-commit-hooks.nix/cd1af27aa85026ac759d5d3fccf650abe7e1bbf0?narHash=sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf%2BInnSMT4jlMU%3D' (2024-11-11) • Updated input 'lanzaboote/pre-commit-hooks-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/614b4613980a522ba49f0d194531beddbb7220d3?narHash=sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84%3D' (2024-03-17) → 'github:NixOS/nixpkgs/d063c1dd113c91ab27959ba540c0d9753409edf3?narHash=sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo%3D' (2024-11-04) • Updated input 'lanzaboote/rust-overlay': 'github:oxalica/rust-overlay/6dc3e45fe4aee36efeed24d64fc68b1f989d5465?narHash=sha256-wqbRwq3i7g5EHIui0bIi84mdqZ/It1AXBSLJ5tafD28%3D' (2024-06-08) → 'github:oxalica/rust-overlay/0be641045af6d8666c11c2c40e45ffc9667839b5?narHash=sha256-Ou7vLETSKwmE/HRQz4cImXXJBr/k9gp4J4z/PF8LzTE%3D' (2024-11-18) • Removed input 'lanzaboote/rust-overlay/flake-utils' • Removed input 'lanzaboote/rust-overlay/flake-utils/systems' • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/e8f38b2c19c0647e39021c3d47172ff5469af8a9?narHash=sha256-l6jbonaboCBlB8lCjBkrqgh2zEnvt6F3f4dOU/8CLd4%3D' (2025-05-19) → 'github:nixos/nixos-hardware/11f2d9ea49c3e964315215d6baa73a8d42672f06?narHash=sha256-dn64Pg9xLETjblwZs9Euu/SsjW80pd6lr5qSiyLY1pg%3D' (2025-05-22) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/ca49c4304acf0973078db0a9d200fd2bae75676d?narHash=sha256-rpR5ZPMkWzcnCcYYo3lScqfuzEw5Uyfh%2BR0EKZfroAc%3D' (2025-05-18) → 'github:nixos/nixpkgs/7c43f080a7f28b2774f3b3f43234ca11661bf334?narHash=sha256-rqc2RKYTxP3tbjA%2BPB3VMRQNnjesrT0pEofXQTrMsS8%3D' (2025-05-25) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/4e7164464b0c6d686680dd4ebb93076e652e9eb0?narHash=sha256-IT00R92DhZCYbLMJxCdfB/f8Cu777nSJBhRTJ7DBB9A%3D' (2025-05-19) → 'github:NixOS/nixpkgs/c04caae6a2de0731e72ce29020684b28d8bc4c95?narHash=sha256-bW5NeMh0DEwMVrF0vA%2B3PPvIVECuTnQMlqPenPrbrXA%3D' (2025-05-26) • Updated input 'nur': 'github:nix-community/NUR/64046fedb710701f87e5e86390b4dbe77f1d733b?narHash=sha256-dgEK4d1QPNFhv0s5s9lpvEWOVBlRZENp7TVh8V8qYDU%3D' (2025-05-19) → 'github:nix-community/NUR/4767c2d34da23c89d0436a92fae2582b0bcea60e?narHash=sha256-O9bDdixbIShL/uyw3nbRYU2k7vd/gKJGUzye%2BFzPQNE%3D' (2025-05-26) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/292fa7d4f6519c074f0a50394dbbe69859bb6043?narHash=sha256-GaOZntlJ6gPPbbkTLjbd8BMWaDYafhuuYRNrxCGnPJw%3D' (2025-05-18) → 'github:nixos/nixpkgs/063f43f2dbdef86376cc29ad646c45c46e93234c?narHash=sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o%3D' (2025-05-23) --- flake.lock | 139 +++++++++++++++++------------------------------------ 1 file changed, 43 insertions(+), 96 deletions(-) diff --git a/flake.lock b/flake.lock index 629181f..cb635b3 100644 --- a/flake.lock +++ b/flake.lock @@ -1,15 +1,12 @@ { "nodes": { "crane": { - "inputs": { - "nixpkgs": "nixpkgs" - }, "locked": { - "lastModified": 1717535930, - "narHash": "sha256-1hZ/txnbd/RmiBPNUs7i8UQw2N89uAK3UzrGAWdnFfU=", + "lastModified": 1731098351, + "narHash": "sha256-HQkYvKvaLQqNa10KEFGgWHfMAbWBfFp+4cAgkut+NNE=", "owner": "ipetkov", "repo": "crane", - "rev": "55e7754ec31dac78980c8be45f8a28e80e370946", + "rev": "ef80ead953c1b28316cc3f8613904edc2eb90c28", "type": "github" }, "original": { @@ -25,11 +22,11 @@ ] }, "locked": { - "lastModified": 1747621015, - "narHash": "sha256-j0fo1rNxZvmFLMaE945UrbLJZAHTlQmq0/QMgOP4GTs=", + "lastModified": 1748225455, + "narHash": "sha256-AzlJCKaM4wbEyEpV3I/PUq5mHnib2ryEy32c+qfj6xk=", "owner": "nix-community", "repo": "disko", - "rev": "cec44d77d9dacf0c91d3d51aff128fefabce06ee", + "rev": "a894f2811e1ee8d10c50560551e50d6ab3c392ba", "type": "github" }, "original": { @@ -78,11 +75,11 @@ ] }, "locked": { - "lastModified": 1717285511, - "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", + "lastModified": 1730504689, + "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", + "rev": "506278e768c2a08bec68eb62932193e341f55c90", "type": "github" }, "original": { @@ -130,24 +127,6 @@ "type": "github" } }, - "flake-utils_2": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "gitignore": { "inputs": { "nixpkgs": [ @@ -221,11 +200,11 @@ ] }, "locked": { - "lastModified": 1747556831, - "narHash": "sha256-Qb84nbYFFk0DzFeqVoHltS2RodAYY5/HZQKE8WnBDsc=", + "lastModified": 1748226808, + "narHash": "sha256-GaBRgxjWO1bAQa8P2+FDxG4ANBVhjnSjBms096qQdxo=", "owner": "nix-community", "repo": "home-manager", - "rev": "d0bbd221482c2713cccb80220f3c9d16a6e20a33", + "rev": "83665c39fa688bd6a1f7c43cf7997a70f6a109f9", "type": "github" }, "original": { @@ -345,11 +324,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1747684167, - "narHash": "sha256-l6jbonaboCBlB8lCjBkrqgh2zEnvt6F3f4dOU/8CLd4=", + "lastModified": 1747900541, + "narHash": "sha256-dn64Pg9xLETjblwZs9Euu/SsjW80pd6lr5qSiyLY1pg=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "e8f38b2c19c0647e39021c3d47172ff5469af8a9", + "rev": "11f2d9ea49c3e964315215d6baa73a8d42672f06", "type": "github" }, "original": { @@ -361,43 +340,43 @@ }, "nixpkgs": { "locked": { - "lastModified": 1747467164, - "narHash": "sha256-JBXbjJ0t6T6BbVc9iPVquQI9XSXCGQJD8c8SgnUquus=", - "owner": "NixOS", + "lastModified": 1748162331, + "narHash": "sha256-rqc2RKYTxP3tbjA+PB3VMRQNnjesrT0pEofXQTrMsS8=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "3fcbdcfc707e0aa42c541b7743e05820472bdaec", + "rev": "7c43f080a7f28b2774f3b3f43234ca11661bf334", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", + "owner": "nixos", + "ref": "nixos-25.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-stable": { "locked": { - "lastModified": 1710695816, - "narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=", + "lastModified": 1730741070, + "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "614b4613980a522ba49f0d194531beddbb7220d3", + "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-23.11", + "ref": "nixos-24.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgsMaster": { "locked": { - "lastModified": 1747684550, - "narHash": "sha256-IT00R92DhZCYbLMJxCdfB/f8Cu777nSJBhRTJ7DBB9A=", + "lastModified": 1748270064, + "narHash": "sha256-bW5NeMh0DEwMVrF0vA+3PPvIVECuTnQMlqPenPrbrXA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4e7164464b0c6d686680dd4ebb93076e652e9eb0", + "rev": "c04caae6a2de0731e72ce29020684b28d8bc4c95", "type": "github" }, "original": { @@ -409,27 +388,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1747610100, - "narHash": "sha256-rpR5ZPMkWzcnCcYYo3lScqfuzEw5Uyfh+R0EKZfroAc=", + "lastModified": 1748026106, + "narHash": "sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ca49c4304acf0973078db0a9d200fd2bae75676d", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-25.05", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { - "locked": { - "lastModified": 1747542820, - "narHash": "sha256-GaOZntlJ6gPPbbkTLjbd8BMWaDYafhuuYRNrxCGnPJw=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "292fa7d4f6519c074f0a50394dbbe69859bb6043", + "rev": "063f43f2dbdef86376cc29ad646c45c46e93234c", "type": "github" }, "original": { @@ -442,15 +405,15 @@ "nur": { "inputs": { "flake-parts": "flake-parts_2", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_2", "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1747683907, - "narHash": "sha256-dgEK4d1QPNFhv0s5s9lpvEWOVBlRZENp7TVh8V8qYDU=", + "lastModified": 1748265123, + "narHash": "sha256-O9bDdixbIShL/uyw3nbRYU2k7vd/gKJGUzye+FzPQNE=", "owner": "nix-community", "repo": "NUR", - "rev": "64046fedb710701f87e5e86390b4dbe77f1d733b", + "rev": "4767c2d34da23c89d0436a92fae2582b0bcea60e", "type": "github" }, "original": { @@ -468,7 +431,7 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems_3", + "systems": "systems_2", "treefmt-nix": "treefmt-nix_2" }, "locked": { @@ -499,11 +462,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1717664902, - "narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=", + "lastModified": 1731363552, + "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1", + "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0", "type": "github" }, "original": { @@ -523,7 +486,7 @@ "lanzaboote": "lanzaboote", "nix-pre-commit-hooks": "nix-pre-commit-hooks", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs", "nixpkgsMaster": "nixpkgsMaster", "nur": "nur", "poetry2nix": "poetry2nix", @@ -532,18 +495,17 @@ }, "rust-overlay": { "inputs": { - "flake-utils": "flake-utils_2", "nixpkgs": [ "lanzaboote", "nixpkgs" ] }, "locked": { - "lastModified": 1717813066, - "narHash": "sha256-wqbRwq3i7g5EHIui0bIi84mdqZ/It1AXBSLJ5tafD28=", + "lastModified": 1731897198, + "narHash": "sha256-Ou7vLETSKwmE/HRQz4cImXXJBr/k9gp4J4z/PF8LzTE=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "6dc3e45fe4aee36efeed24d64fc68b1f989d5465", + "rev": "0be641045af6d8666c11c2c40e45ffc9667839b5", "type": "github" }, "original": { @@ -602,21 +564,6 @@ "type": "github" } }, - "systems_3": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "treefmt-nix": { "inputs": { "nixpkgs": [ From 8288820ffc2ae8f75deee897b4703db4778a7fba Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 26 May 2025 16:36:06 +0200 Subject: [PATCH 659/766] Move asterisk-sounds-de to overlay --- flake.lock | 43 +++++++++++++++++++++++++++++ flake.nix | 12 ++++++++ pkgs/asterisk-sounds-de/default.nix | 22 --------------- pkgs/asterisk-sounds-de/module.nix | 15 ---------- pkgs/default.nix | 1 - pkgs/modules.nix | 1 - 6 files changed, 55 insertions(+), 39 deletions(-) delete mode 100644 pkgs/asterisk-sounds-de/default.nix delete mode 100644 pkgs/asterisk-sounds-de/module.nix diff --git a/flake.lock b/flake.lock index cb635b3..7ac1204 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,31 @@ { "nodes": { + "asterisk-sounds-de": { + "inputs": { + "flake-utils": [ + "flake-utils" + ], + "nix-filter": [ + "nix-filter" + ], + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1748284610, + "narHash": "sha256-B3/OOZC0puXbODupPEbdMA6sJP39MzbMCl4j1HvgNfU=", + "ref": "refs/heads/main", + "rev": "6b1c484318727af78a64aee3f46903493dae8259", + "revCount": 1, + "type": "git", + "url": "https://git.jalr.de/jalr/asterisk-sounds-de" + }, + "original": { + "type": "git", + "url": "https://git.jalr.de/jalr/asterisk-sounds-de" + } + }, "crane": { "locked": { "lastModified": 1731098351, @@ -278,6 +304,21 @@ "type": "github" } }, + "nix-filter": { + "locked": { + "lastModified": 1731533336, + "narHash": "sha256-oRam5PS1vcrr5UPgALW0eo1m/5/pls27Z/pabHNy2Ms=", + "owner": "numtide", + "repo": "nix-filter", + "rev": "f7653272fd234696ae94229839a99b73c9ab7de0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "nix-filter", + "type": "github" + } + }, "nix-github-actions": { "inputs": { "nixpkgs": [ @@ -477,6 +518,7 @@ }, "root": { "inputs": { + "asterisk-sounds-de": "asterisk-sounds-de", "disko": "disko", "flake-utils": "flake-utils", "gomod2nix": "gomod2nix", @@ -484,6 +526,7 @@ "impermanence": "impermanence", "krops": "krops", "lanzaboote": "lanzaboote", + "nix-filter": "nix-filter", "nix-pre-commit-hooks": "nix-pre-commit-hooks", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", diff --git a/flake.nix b/flake.nix index 606db08..3d0937c 100644 --- a/flake.nix +++ b/flake.nix @@ -5,6 +5,8 @@ flake-utils.url = "github:numtide/flake-utils"; + nix-filter.url = "github:numtide/nix-filter"; + gomod2nix = { url = "github:nix-community/gomod2nix"; inputs.flake-utils.follows = "flake-utils"; @@ -52,6 +54,15 @@ url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; + + asterisk-sounds-de = { + url = "git+https://git.jalr.de/jalr/asterisk-sounds-de"; + inputs = { + flake-utils.follows = "flake-utils"; + nix-filter.follows = "nix-filter"; + nixpkgs.follows = "nixpkgs"; + }; + }; }; outputs = { self @@ -193,6 +204,7 @@ ] ++ [ { nixpkgs.overlays = [ nur.overlays.default ]; } home-manager.nixosModules.home-manager + inputs.asterisk-sounds-de.nixosModules.default inputs.disko.nixosModules.disko inputs.impermanence.nixosModules.impermanence inputs.lanzaboote.nixosModules.lanzaboote diff --git a/pkgs/asterisk-sounds-de/default.nix b/pkgs/asterisk-sounds-de/default.nix deleted file mode 100644 index ca5cad5..0000000 --- a/pkgs/asterisk-sounds-de/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ stdenvNoCC -, fetchurl -, unzip -}: - -stdenvNoCC.mkDerivation rec { - src = fetchurl { - url = "https://www.asterisksounds.org/sites/asterisksounds.org/files/sounds/de/download/asterisk-sounds-core-de-${version}.zip"; - sha256 = "y97xVDBHgnD/Z/DxjKcSNjCXXfiVO+PWUFMbyQpaFLY="; - }; - name = "asterisk-sounds-de"; - version = "2.11.19"; - dontBuild = true; - nativeBuildInputs = [ unzip ]; - unpackPhase = '' - unzip $src - ''; - installPhase = '' - mkdir $out - cp -r * $out - ''; -} diff --git a/pkgs/asterisk-sounds-de/module.nix b/pkgs/asterisk-sounds-de/module.nix deleted file mode 100644 index 0bfbeda..0000000 --- a/pkgs/asterisk-sounds-de/module.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ config, lib, pkgs, ... }: - -let cfg = config; -in -{ - config = lib.mkIf cfg.services.asterisk.enable { - systemd.services.asterisk.preStart = lib.mkMerge [ - (lib.mkAfter '' - sounds_de="/var/lib/asterisk/sounds/de" - [ -L "$sounds_de" ] && rm "$sounds_de" - ln -s "${pkgs.asterisk-sounds-de}/" "$sounds_de" - '') - ]; - }; -} diff --git a/pkgs/default.nix b/pkgs/default.nix index 5a27c44..7222cf4 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -6,7 +6,6 @@ let poetry2nix = callPackage inputs.poetry2nix { }; in { - asterisk-sounds-de = callPackage ./asterisk-sounds-de { }; ksoloti = callPackage ./ksoloti { gcc-arm-embedded = pkgsCross.arm-embedded.buildPackages.gcc; }; diff --git a/pkgs/modules.nix b/pkgs/modules.nix index 067cbc4..195958b 100644 --- a/pkgs/modules.nix +++ b/pkgs/modules.nix @@ -1,6 +1,5 @@ { imports = [ - ./asterisk-sounds-de/module.nix ./ksoloti/module.nix ./myintercom-doorbell/module.nix ]; From 010f2e05dfefc691924b7abfa4a85c37e3d9c01b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 26 May 2025 16:49:14 +0200 Subject: [PATCH 660/766] Add domain `iot.bw.jalr.de` --- modules/dns.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/dns.nix b/modules/dns.nix index 5cbac18..a15d066 100644 --- a/modules/dns.nix +++ b/modules/dns.nix @@ -26,6 +26,7 @@ in server = [ "/iceportal.de/172.18.0.1" "/lab.fablab-nea.de/192.168.94.1" + "/iot.bw.jalr.de/192.168.42.1" "/lan.bw.jalr.de/192.168.42.1" "/lechner.zz/192.168.0.1" "/login.wifionice.de/172.18.0.1" From 63e4acaab211040662b7e5201ffea3b3abb0295c Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 26 May 2025 22:00:30 +0200 Subject: [PATCH 661/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/c04caae6a2de0731e72ce29020684b28d8bc4c95?narHash=sha256-bW5NeMh0DEwMVrF0vA%2B3PPvIVECuTnQMlqPenPrbrXA%3D' (2025-05-26) → 'github:NixOS/nixpkgs/cb97c2be9ce0bedbef5169d3defd485a21a34da7?narHash=sha256-DaxlBnIme%2Bcdz05dXZP8NxyAyqvXPHYzOBGfh7L8bhU%3D' (2025-05-26) • Updated input 'nur': 'github:nix-community/NUR/4767c2d34da23c89d0436a92fae2582b0bcea60e?narHash=sha256-O9bDdixbIShL/uyw3nbRYU2k7vd/gKJGUzye%2BFzPQNE%3D' (2025-05-26) → 'github:nix-community/NUR/57a344633301a9f55bc46663e4843a66fbac89e2?narHash=sha256-agITW8EIoypTJGEZi6nu4hzWd%2BiiwZ1vOGpUaaeGFQA%3D' (2025-05-26) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/063f43f2dbdef86376cc29ad646c45c46e93234c?narHash=sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o%3D' (2025-05-23) → 'github:nixos/nixpkgs/62b852f6c6742134ade1abdd2a21685fd617a291?narHash=sha256-R5HJFflOfsP5FBtk%2BzE8FpL8uqE7n62jqOsADvVshhE%3D' (2025-05-25) --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 7ac1204..af7d212 100644 --- a/flake.lock +++ b/flake.lock @@ -413,11 +413,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1748270064, - "narHash": "sha256-bW5NeMh0DEwMVrF0vA+3PPvIVECuTnQMlqPenPrbrXA=", + "lastModified": 1748289113, + "narHash": "sha256-DaxlBnIme+cdz05dXZP8NxyAyqvXPHYzOBGfh7L8bhU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c04caae6a2de0731e72ce29020684b28d8bc4c95", + "rev": "cb97c2be9ce0bedbef5169d3defd485a21a34da7", "type": "github" }, "original": { @@ -429,11 +429,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1748026106, - "narHash": "sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o=", + "lastModified": 1748190013, + "narHash": "sha256-R5HJFflOfsP5FBtk+zE8FpL8uqE7n62jqOsADvVshhE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "063f43f2dbdef86376cc29ad646c45c46e93234c", + "rev": "62b852f6c6742134ade1abdd2a21685fd617a291", "type": "github" }, "original": { @@ -450,11 +450,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1748265123, - "narHash": "sha256-O9bDdixbIShL/uyw3nbRYU2k7vd/gKJGUzye+FzPQNE=", + "lastModified": 1748288788, + "narHash": "sha256-agITW8EIoypTJGEZi6nu4hzWd+iiwZ1vOGpUaaeGFQA=", "owner": "nix-community", "repo": "NUR", - "rev": "4767c2d34da23c89d0436a92fae2582b0bcea60e", + "rev": "57a344633301a9f55bc46663e4843a66fbac89e2", "type": "github" }, "original": { From f4cb1b304e59053280e69461042ff6c35328f58b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 27 May 2025 01:13:08 +0200 Subject: [PATCH 662/766] Add it-tools --- hosts/magnesium/services/default.nix | 1 + hosts/magnesium/services/it-tools.nix | 12 ++++++++++++ 2 files changed, 13 insertions(+) create mode 100644 hosts/magnesium/services/it-tools.nix diff --git a/hosts/magnesium/services/default.nix b/hosts/magnesium/services/default.nix index 9372fbf..c257730 100644 --- a/hosts/magnesium/services/default.nix +++ b/hosts/magnesium/services/default.nix @@ -4,6 +4,7 @@ ./forgejo.nix ./gitlab-runner.nix ./hedgedoc.nix + ./it-tools.nix ./mealie.nix ./ntfy.nix ./public-ip-tunnel.nix diff --git a/hosts/magnesium/services/it-tools.nix b/hosts/magnesium/services/it-tools.nix new file mode 100644 index 0000000..4999bf0 --- /dev/null +++ b/hosts/magnesium/services/it-tools.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: + +let + domain = "tools.jalr.de"; +in +{ + services.nginx.virtualHosts."${domain}" = { + enableACME = true; + forceSSL = true; + root = "${pkgs.it-tools}/lib"; + }; +} From d4d6c7a830c7cd0b005d76f841bc07f0a878ddd3 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 27 May 2025 15:10:20 +0200 Subject: [PATCH 663/766] Add esphome module --- hosts/aluminium/services/esphome/default.nix | 59 +++-------- hosts/aluminium/services/esphome/devices/.env | 2 + .../services/esphome/devices/.gitignore | 5 + .../services/esphome/devices/justfile | 1 + hosts/iron/services/esphome/default.nix | 91 ++-------------- hosts/iron/services/esphome/devices/.env | 2 +- hosts/iron/services/esphome/devices/justfile | 18 +--- modules/default.nix | 1 + modules/esphome/default.nix | 100 ++++++++++++++++++ modules/esphome/devices/justfile | 17 +++ 10 files changed, 154 insertions(+), 142 deletions(-) create mode 100644 hosts/aluminium/services/esphome/devices/.env create mode 100644 hosts/aluminium/services/esphome/devices/.gitignore create mode 120000 hosts/aluminium/services/esphome/devices/justfile mode change 100644 => 120000 hosts/iron/services/esphome/devices/justfile create mode 100644 modules/esphome/default.nix create mode 100644 modules/esphome/devices/justfile diff --git a/hosts/aluminium/services/esphome/default.nix b/hosts/aluminium/services/esphome/default.nix index 14d791a..1f4c754 100644 --- a/hosts/aluminium/services/esphome/default.nix +++ b/hosts/aluminium/services/esphome/default.nix @@ -1,57 +1,28 @@ -{ lib, pkgs, config, ... }: +{ pkgs +, config +, ... +}: let inherit (config.networking) ports; - cfgdir = pkgs.stdenvNoCC.mkDerivation { - name = "esphome-config"; - src = ./devices; - dontBuild = true; - installPhase = '' - mkdir $out - cp -r * $out - ''; - }; in { sops.secrets.esphome = { sopsFile = ../../secrets.yaml; + restartUnits = [ config.systemd.services.esphome.name ]; }; - services.esphome = { + jalr.esphome = { enable = true; - address = "127.0.0.1"; port = ports.esphome.tcp; - package = pkgs.esphome; - }; - - systemd.services.esphome = { - environment = { - "PLATFORMIO_CORE_DIR" = lib.mkForce "/tmp/.platformio"; - }; - serviceConfig = { - BindPaths = [ - "/var/lib/esphome" - "/var/lib/private/esphome" - ]; - BindReadOnlyPaths = [ - "/nix/store" - "${cfgdir}" - ]; - DeviceAllow = [ - "char-ttyACM rw" - "char-ttyAMA rw" - "char-ttyUSB rw" - ]; - ExecStartPre = [ - "${pkgs.rsync}/bin/rsync -a --delete --exclude=.esphome --exclude=.platformio --exclude=.gitignore '${cfgdir}/' '/var/lib/esphome/'" - "${pkgs.coreutils}/bin/ln -snf '%d/secrets.yaml' '/var/lib/esphome/secrets.yaml'" - ]; - LoadCredential = "secrets.yaml:${config.sops.secrets.esphome.path}"; - PrivateTmp = true; - RootDirectory = "/run/esphome"; - RuntimeDirectory = "esphome"; - StateDirectory = "esphome"; - SupplementaryGroups = [ "dialout" ]; - WorkingDirectory = lib.mkForce "/tmp"; + secretsFile = config.sops.secrets.esphome.path; + configDir = pkgs.stdenvNoCC.mkDerivation { + name = "esphome-config"; + src = ./devices; + dontBuild = true; + installPhase = '' + mkdir $out + cp -r * $out + ''; }; }; } diff --git a/hosts/aluminium/services/esphome/devices/.env b/hosts/aluminium/services/esphome/devices/.env new file mode 100644 index 0000000..640bd9c --- /dev/null +++ b/hosts/aluminium/services/esphome/devices/.env @@ -0,0 +1,2 @@ +ESPHOME_HOST="jalr-k.duckdns.org" +ESPHOME_SECRETS_FILE="esphome_${ESPHOME_HOST}_secrets.yaml" diff --git a/hosts/aluminium/services/esphome/devices/.gitignore b/hosts/aluminium/services/esphome/devices/.gitignore new file mode 100644 index 0000000..d8b4157 --- /dev/null +++ b/hosts/aluminium/services/esphome/devices/.gitignore @@ -0,0 +1,5 @@ +# Gitignore settings for ESPHome +# This is an example and may include too much for your use-case. +# You can modify this file to suit your needs. +/.esphome/ +/secrets.yaml diff --git a/hosts/aluminium/services/esphome/devices/justfile b/hosts/aluminium/services/esphome/devices/justfile new file mode 120000 index 0000000..68d1c45 --- /dev/null +++ b/hosts/aluminium/services/esphome/devices/justfile @@ -0,0 +1 @@ +../../../../../modules/esphome/devices/justfile \ No newline at end of file diff --git a/hosts/iron/services/esphome/default.nix b/hosts/iron/services/esphome/default.nix index 8e6ce2b..1f4c754 100644 --- a/hosts/iron/services/esphome/default.nix +++ b/hosts/iron/services/esphome/default.nix @@ -1,24 +1,9 @@ -{ lib -, pkgs +{ pkgs , config , ... }: let inherit (config.networking) ports; - cfgdir = pkgs.stdenvNoCC.mkDerivation { - name = "esphome-config"; - src = ./devices; - dontBuild = true; - installPhase = '' - mkdir $out - cp -r * $out - ''; - }; - cfg = config.services.esphome; - esphomeParams = - if cfg.enableUnixSocket - then "--socket /run/esphome/esphome.sock" - else "--address ${cfg.address} --port ${toString cfg.port}"; in { sops.secrets.esphome = { @@ -26,72 +11,18 @@ in restartUnits = [ config.systemd.services.esphome.name ]; }; - services.esphome = { + jalr.esphome = { enable = true; - address = "127.0.0.1"; port = ports.esphome.tcp; - package = pkgs.esphome; - }; - - systemd.services.esphome = { - environment = { - "PLATFORMIO_CORE_DIR" = lib.mkForce "/var/cache/esphome/.platformio"; - }; - serviceConfig = { - BindReadOnlyPaths = [ - "/nix/store" - "%d/secrets.yaml:/run/esphome/config/secrets.yaml" - "/etc/resolv.conf" - "/etc/ssl" - "/etc/static/ssl" - ]; - TemporaryFileSystem = [ - "/var/lib" - ]; - ExecPaths = [ - "-+/var/cache/esphome/.platformio/packages/" - ]; - DeviceAllow = [ - "char-ttyACM rw" - "char-ttyAMA rw" - "char-ttyUSB rw" - ]; - ExecStartPre = [ - (pkgs.writeShellScript "esphome-exec-start-pre" '' - if ! [ -d "$CACHE_DIRECTORY/.platformio/packages" ]; then - mkdir -p "$CACHE_DIRECTORY/.platformio/packages" - exit 1 - fi - mkdir -p "$CACHE_DIRECTORY/.esphome" - for linked in \ - .esphome \ - .gitignore - do - ln -s "$CACHE_DIRECTORY/$linked" "/run/esphome/config/$linked" - done - ${pkgs.rsync}/bin/rsync \ - -a \ - --delete \ - --checksum \ - --exclude secrets.yaml \ - --exclude=.esphome \ - --exclude=.platformio \ - --exclude=.gitignore \ - '${cfgdir}/' /run/esphome/config/ - '') - ]; - ExecStart = lib.mkForce "${cfg.package}/bin/esphome dashboard ${esphomeParams} /run/esphome/config"; - LoadCredential = "secrets.yaml:${config.sops.secrets.esphome.path}"; - PrivateTmp = true; - RootDirectory = "%t/esphome/chroot"; - RuntimeDirectory = [ - "esphome/chroot" - "esphome/config" - ]; - StateDirectory = lib.mkForce [ ]; - CacheDirectory = "esphome"; - SupplementaryGroups = [ "dialout" ]; - WorkingDirectory = lib.mkForce "/run/esphome/config"; + secretsFile = config.sops.secrets.esphome.path; + configDir = pkgs.stdenvNoCC.mkDerivation { + name = "esphome-config"; + src = ./devices; + dontBuild = true; + installPhase = '' + mkdir $out + cp -r * $out + ''; }; }; } diff --git a/hosts/iron/services/esphome/devices/.env b/hosts/iron/services/esphome/devices/.env index 2eee41c..10c24e2 100644 --- a/hosts/iron/services/esphome/devices/.env +++ b/hosts/iron/services/esphome/devices/.env @@ -1,2 +1,2 @@ -ESPHOME_HOST="192.168.42.1" +ESPHOME_HOST="jalr-bw.duckdns.org" ESPHOME_SECRETS_FILE="esphome_${ESPHOME_HOST}_secrets.yaml" diff --git a/hosts/iron/services/esphome/devices/justfile b/hosts/iron/services/esphome/devices/justfile deleted file mode 100644 index fb628ca..0000000 --- a/hosts/iron/services/esphome/devices/justfile +++ /dev/null @@ -1,17 +0,0 @@ -import '../../../../../justfile' -set dotenv-load - -download: - rsync \ - -r \ - --rsync-path='sudo rsync' \ - --exclude '/build' \ - --exclude '/.esphome' \ - --exclude '.gitignore' \ - --exclude 'secrets.yaml' \ - 192.168.42.1:/var/lib/esphome/ ./ - -download-secrets: - umask 0077 && ssh 192.168.42.1 sudo cat /run/secrets/esphome > "/dev/shm/${ESPHOME_SECRETS_FILE}" - ln -sf "/dev/shm/${ESPHOME_SECRETS_FILE}" "{{justfile_directory()}}/secrets.yaml" - diff --git a/hosts/iron/services/esphome/devices/justfile b/hosts/iron/services/esphome/devices/justfile new file mode 120000 index 0000000..68d1c45 --- /dev/null +++ b/hosts/iron/services/esphome/devices/justfile @@ -0,0 +1 @@ +../../../../../modules/esphome/devices/justfile \ No newline at end of file diff --git a/modules/default.nix b/modules/default.nix index ff6f458..80aac79 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -24,6 +24,7 @@ ./debug.nix ./dji-goggles.nix ./dns.nix + ./esphome ./fish.nix ./fonts.nix ./gnome.nix diff --git a/modules/esphome/default.nix b/modules/esphome/default.nix new file mode 100644 index 0000000..9bf4609 --- /dev/null +++ b/modules/esphome/default.nix @@ -0,0 +1,100 @@ +{ lib +, pkgs +, config +, ... +}: +let + cfg = config.jalr.esphome; + esphomeParams = + if config.services.esphome.enableUnixSocket + then "--socket /run/esphome/esphome.sock" + else "--address ${config.services.esphome.address} --port ${toString config.services.esphome.port}"; +in +{ + options.jalr.esphome = with lib; with lib.types; { + enable = mkEnableOption "ESPHome"; + port = mkOption { + description = "TCP port for esphome dashboard."; + type = port; + }; + configDir = mkOption { + type = path; + description = "Location of the device configuration"; + }; + secretsFile = mkOption { + type = path; + description = "Location of the secrets file"; + }; + }; + + config = lib.mkIf cfg.enable { + services.esphome = { + enable = true; + address = "127.0.0.1"; + inherit (cfg) port; + package = pkgs.esphome; + }; + + systemd.services.esphome = { + environment = { + "PLATFORMIO_CORE_DIR" = lib.mkForce "/var/cache/esphome/.platformio"; + }; + serviceConfig = { + BindReadOnlyPaths = [ + "/nix/store" + "%d/secrets.yaml:/run/esphome/config/secrets.yaml" + "/etc/resolv.conf" + "/etc/ssl" + "/etc/static/ssl" + ]; + TemporaryFileSystem = [ + "/var/lib" + ]; + ExecPaths = [ + "-+/var/cache/esphome/.platformio/packages/" + ]; + DeviceAllow = [ + "char-ttyACM rw" + "char-ttyAMA rw" + "char-ttyUSB rw" + ]; + ExecStartPre = [ + (pkgs.writeShellScript "esphome-exec-start-pre" '' + if ! [ -d "$CACHE_DIRECTORY/.platformio/packages" ]; then + mkdir -p "$CACHE_DIRECTORY/.platformio/packages" + exit 1 + fi + mkdir -p "$CACHE_DIRECTORY/.esphome" + for linked in \ + .esphome \ + .gitignore + do + ln -s "$CACHE_DIRECTORY/$linked" "/run/esphome/config/$linked" + done + ${pkgs.rsync}/bin/rsync \ + -a \ + --delete \ + --checksum \ + --exclude secrets.yaml \ + --exclude=.esphome \ + --exclude=.platformio \ + --exclude=.gitignore \ + '${cfg.configDir}/' /run/esphome/config/ + '') + ]; + ExecStart = lib.mkForce "${config.services.esphome.package}/bin/esphome dashboard ${esphomeParams} /run/esphome/config"; + LoadCredential = "secrets.yaml:${cfg.secretsFile}"; + PrivateTmp = true; + RootDirectory = "%t/esphome/chroot"; + RuntimeDirectory = [ + "esphome/chroot" + "esphome/config" + ]; + StateDirectory = lib.mkForce [ ]; + CacheDirectory = "esphome"; + SupplementaryGroups = [ "dialout" ]; + WorkingDirectory = lib.mkForce "/run/esphome/config"; + }; + }; + }; +} diff --git a/modules/esphome/devices/justfile b/modules/esphome/devices/justfile new file mode 100644 index 0000000..2c86b69 --- /dev/null +++ b/modules/esphome/devices/justfile @@ -0,0 +1,17 @@ +import '../../../../../justfile' +set dotenv-load + +download: + rsync \ + -r \ + --rsync-path='sudo rsync' \ + --exclude '/build' \ + --exclude '/.esphome' \ + --exclude '.gitignore' \ + --exclude 'secrets.yaml' \ + ${ESPHOME_HOST}:/var/lib/esphome/ ./ + +download-secrets: + umask 0077 && ssh ${ESPHOME_HOST} sudo cat /run/secrets/esphome > "/dev/shm/${ESPHOME_SECRETS_FILE}" + ln -sf "/dev/shm/${ESPHOME_SECRETS_FILE}" "{{justfile_directory()}}/secrets.yaml" + From 17b417ddb27e11c4c5d2590699f0ef10fce2be5b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 4 Jun 2025 11:00:27 +0200 Subject: [PATCH 664/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/a894f2811e1ee8d10c50560551e50d6ab3c392ba?narHash=sha256-AzlJCKaM4wbEyEpV3I/PUq5mHnib2ryEy32c%2Bqfj6xk%3D' (2025-05-26) → 'github:nix-community/disko/58d6e5a83fff9982d57e0a0a994d4e5c0af441e4?narHash=sha256-/CtyLVfNaFP7PrOPrTEuGOJBIhcBKVQ91KiEbtXJi0A%3D' (2025-06-02) • Updated input 'home-manager': 'github:nix-community/home-manager/83665c39fa688bd6a1f7c43cf7997a70f6a109f9?narHash=sha256-GaBRgxjWO1bAQa8P2%2BFDxG4ANBVhjnSjBms096qQdxo%3D' (2025-05-26) → 'github:nix-community/home-manager/282e1e029cb6ab4811114fc85110613d72771dea?narHash=sha256-RMhjnPKWtCoIIHiuR9QKD7xfsKb3agxzMfJY8V9MOew%3D' (2025-05-31) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/11f2d9ea49c3e964315215d6baa73a8d42672f06?narHash=sha256-dn64Pg9xLETjblwZs9Euu/SsjW80pd6lr5qSiyLY1pg%3D' (2025-05-22) → 'github:nixos/nixos-hardware/fc7c4714125cfaa19b048e8aaf86b9c53e04d853?narHash=sha256-HEu2gTct7nY0tAPRgBtqYepallryBKR1U8B4v2zEEqA%3D' (2025-06-03) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/7c43f080a7f28b2774f3b3f43234ca11661bf334?narHash=sha256-rqc2RKYTxP3tbjA%2BPB3VMRQNnjesrT0pEofXQTrMsS8%3D' (2025-05-25) → 'github:nixos/nixpkgs/10d7f8d34e5eb9c0f9a0485186c1ca691d2c5922?narHash=sha256-Hb4iMhIbjX45GcrgOp3b8xnyli%2BysRPqAgZ/LZgyT5k%3D' (2025-06-02) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/cb97c2be9ce0bedbef5169d3defd485a21a34da7?narHash=sha256-DaxlBnIme%2Bcdz05dXZP8NxyAyqvXPHYzOBGfh7L8bhU%3D' (2025-05-26) → 'github:NixOS/nixpkgs/adec134fc27c6c2b698125c7ab3c20b864c11e51?narHash=sha256-sM9h84zlsx/r8303N08g1bCeE/EBERT0z%2BaZ%2BcB%2BOy0%3D' (2025-06-04) • Updated input 'nur': 'github:nix-community/NUR/57a344633301a9f55bc46663e4843a66fbac89e2?narHash=sha256-agITW8EIoypTJGEZi6nu4hzWd%2BiiwZ1vOGpUaaeGFQA%3D' (2025-05-26) → 'github:nix-community/NUR/dfd9cec176e90b39f42e0d69e239152cf450ba11?narHash=sha256-j5kx7r5zX8sciGoKKSXU2Zt4JdheomomMad0Napp9zE%3D' (2025-06-04) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/62b852f6c6742134ade1abdd2a21685fd617a291?narHash=sha256-R5HJFflOfsP5FBtk%2BzE8FpL8uqE7n62jqOsADvVshhE%3D' (2025-05-25) → 'github:nixos/nixpkgs/c2a03962b8e24e669fb37b7df10e7c79531ff1a4?narHash=sha256-lcZQ8RhsmhsK8u7LIFsJhsLh/pzR9yZ8yqpTzyGdj%2BQ%3D' (2025-06-03) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index af7d212..55e660a 100644 --- a/flake.lock +++ b/flake.lock @@ -48,11 +48,11 @@ ] }, "locked": { - "lastModified": 1748225455, - "narHash": "sha256-AzlJCKaM4wbEyEpV3I/PUq5mHnib2ryEy32c+qfj6xk=", + "lastModified": 1748832438, + "narHash": "sha256-/CtyLVfNaFP7PrOPrTEuGOJBIhcBKVQ91KiEbtXJi0A=", "owner": "nix-community", "repo": "disko", - "rev": "a894f2811e1ee8d10c50560551e50d6ab3c392ba", + "rev": "58d6e5a83fff9982d57e0a0a994d4e5c0af441e4", "type": "github" }, "original": { @@ -226,11 +226,11 @@ ] }, "locked": { - "lastModified": 1748226808, - "narHash": "sha256-GaBRgxjWO1bAQa8P2+FDxG4ANBVhjnSjBms096qQdxo=", + "lastModified": 1748665073, + "narHash": "sha256-RMhjnPKWtCoIIHiuR9QKD7xfsKb3agxzMfJY8V9MOew=", "owner": "nix-community", "repo": "home-manager", - "rev": "83665c39fa688bd6a1f7c43cf7997a70f6a109f9", + "rev": "282e1e029cb6ab4811114fc85110613d72771dea", "type": "github" }, "original": { @@ -365,11 +365,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1747900541, - "narHash": "sha256-dn64Pg9xLETjblwZs9Euu/SsjW80pd6lr5qSiyLY1pg=", + "lastModified": 1748942041, + "narHash": "sha256-HEu2gTct7nY0tAPRgBtqYepallryBKR1U8B4v2zEEqA=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "11f2d9ea49c3e964315215d6baa73a8d42672f06", + "rev": "fc7c4714125cfaa19b048e8aaf86b9c53e04d853", "type": "github" }, "original": { @@ -381,11 +381,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1748162331, - "narHash": "sha256-rqc2RKYTxP3tbjA+PB3VMRQNnjesrT0pEofXQTrMsS8=", + "lastModified": 1748889542, + "narHash": "sha256-Hb4iMhIbjX45GcrgOp3b8xnyli+ysRPqAgZ/LZgyT5k=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7c43f080a7f28b2774f3b3f43234ca11661bf334", + "rev": "10d7f8d34e5eb9c0f9a0485186c1ca691d2c5922", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1748289113, - "narHash": "sha256-DaxlBnIme+cdz05dXZP8NxyAyqvXPHYzOBGfh7L8bhU=", + "lastModified": 1749027218, + "narHash": "sha256-sM9h84zlsx/r8303N08g1bCeE/EBERT0z+aZ+cB+Oy0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cb97c2be9ce0bedbef5169d3defd485a21a34da7", + "rev": "adec134fc27c6c2b698125c7ab3c20b864c11e51", "type": "github" }, "original": { @@ -429,11 +429,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1748190013, - "narHash": "sha256-R5HJFflOfsP5FBtk+zE8FpL8uqE7n62jqOsADvVshhE=", + "lastModified": 1748929857, + "narHash": "sha256-lcZQ8RhsmhsK8u7LIFsJhsLh/pzR9yZ8yqpTzyGdj+Q=", "owner": "nixos", "repo": "nixpkgs", - "rev": "62b852f6c6742134ade1abdd2a21685fd617a291", + "rev": "c2a03962b8e24e669fb37b7df10e7c79531ff1a4", "type": "github" }, "original": { @@ -450,11 +450,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1748288788, - "narHash": "sha256-agITW8EIoypTJGEZi6nu4hzWd+iiwZ1vOGpUaaeGFQA=", + "lastModified": 1749027402, + "narHash": "sha256-j5kx7r5zX8sciGoKKSXU2Zt4JdheomomMad0Napp9zE=", "owner": "nix-community", "repo": "NUR", - "rev": "57a344633301a9f55bc46663e4843a66fbac89e2", + "rev": "dfd9cec176e90b39f42e0d69e239152cf450ba11", "type": "github" }, "original": { From 6da10bd93e798eed8d18220c4b6fbd5c5c737146 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 4 Jun 2025 11:21:35 +0200 Subject: [PATCH 665/766] Fix max brightness --- hosts/copper/services/illuminanced.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/copper/services/illuminanced.nix b/hosts/copper/services/illuminanced.nix index 877eaa7..dde4c64 100644 --- a/hosts/copper/services/illuminanced.nix +++ b/hosts/copper/services/illuminanced.nix @@ -41,7 +41,7 @@ let illuminance_4 = 200; light_4 = 75; illuminance_5 = 255; - light_5 = 100; + light_5 = 99; }; }; configFile = tomlFormat.generate "illuminanced.toml" cfg; From add7a875b721315f9945046a9f6071e02ed128fd Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 4 Jun 2025 13:47:32 +0200 Subject: [PATCH 666/766] Use official nix flake for vesc-tool --- flake.lock | 97 +++++++++++++++++++++++++++++++- flake.nix | 8 ++- pkgs/default.nix | 2 - pkgs/vesc-tool/firmware.nix | 44 --------------- pkgs/vesc-tool/tool.nix | 44 --------------- users/jalr/modules/vesc-tool.nix | 6 ++ 6 files changed, 109 insertions(+), 92 deletions(-) delete mode 100644 pkgs/vesc-tool/firmware.nix delete mode 100644 pkgs/vesc-tool/tool.nix diff --git a/flake.lock b/flake.lock index 55e660a..31f18db 100644 --- a/flake.lock +++ b/flake.lock @@ -26,6 +26,23 @@ "url": "https://git.jalr.de/jalr/asterisk-sounds-de" } }, + "bldcSrc": { + "flake": false, + "locked": { + "lastModified": 1733324381, + "narHash": "sha256-ui9N8QSog1G5zyK7yRrD0Xl+Y2CZhvvhBkaJuQZ2qZw=", + "owner": "vedderb", + "repo": "bldc", + "rev": "a0d40e2c5a42c810888d8c379307e6b0a118a125", + "type": "github" + }, + "original": { + "owner": "vedderb", + "ref": "release_6_05", + "repo": "bldc", + "type": "github" + } + }, "crane": { "locked": { "lastModified": 1731098351, @@ -427,6 +444,22 @@ "type": "github" } }, + "nixpkgsOld": { + "locked": { + "lastModified": 1748037224, + "narHash": "sha256-92vihpZr6dwEMV6g98M5kHZIttrWahb9iRPBm1atcPk=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "f09dede81861f3a83f7f06641ead34f02f37597f", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-24.11", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_2": { "locked": { "lastModified": 1748929857, @@ -443,6 +476,22 @@ "type": "github" } }, + "nixpkgs_3": { + "locked": { + "lastModified": 1735554305, + "narHash": "sha256-zExSA1i/b+1NMRhGGLtNfFGXgLtgo+dcuzHzaWA6w3Q=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "0e82ab234249d8eee3e8c91437802b32c74bb3fd", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nur": { "inputs": { "flake-parts": "flake-parts_2", @@ -533,7 +582,8 @@ "nixpkgsMaster": "nixpkgsMaster", "nur": "nur", "poetry2nix": "poetry2nix", - "sops-nix": "sops-nix" + "sops-nix": "sops-nix", + "vesc-tool": "vesc-tool" } }, "rust-overlay": { @@ -648,6 +698,51 @@ "repo": "treefmt-nix", "type": "github" } + }, + "treefmt-nix_3": { + "inputs": { + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1744961264, + "narHash": "sha256-aRmUh0AMwcbdjJHnytg1e5h5ECcaWtIFQa6d9gI85AI=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "8d404a69efe76146368885110f29a2ca3700bee6", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "vesc-tool": { + "inputs": { + "bldcSrc": "bldcSrc", + "flake-utils": [ + "flake-utils" + ], + "nixpkgs": [ + "nixpkgs" + ], + "nixpkgsOld": "nixpkgsOld", + "treefmt-nix": "treefmt-nix_3" + }, + "locked": { + "lastModified": 1748618178, + "narHash": "sha256-SXG7ukrSkNW7SF0VJpSBHR60aAGBVYJ2mFQWhSFuVa0=", + "owner": "vedderb", + "repo": "vesc_tool", + "rev": "b71ad9fcfb088350d5eadeea29292de3e5a06bb8", + "type": "github" + }, + "original": { + "owner": "vedderb", + "ref": "master", + "repo": "vesc_tool", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 3d0937c..1f0eb0b 100644 --- a/flake.nix +++ b/flake.nix @@ -63,6 +63,12 @@ nixpkgs.follows = "nixpkgs"; }; }; + + vesc-tool = { + url = "github:vedderb/vesc_tool/master"; + inputs.flake-utils.follows = "flake-utils"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = { self @@ -202,7 +208,7 @@ }; }) ] ++ [ - { nixpkgs.overlays = [ nur.overlays.default ]; } + { nixpkgs.overlays = [ nur.overlays.default inputs.vesc-tool.overlays.default ]; } home-manager.nixosModules.home-manager inputs.asterisk-sounds-de.nixosModules.default inputs.disko.nixosModules.disko diff --git a/pkgs/default.nix b/pkgs/default.nix index 7222cf4..de3d6d4 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -23,8 +23,6 @@ in }; pomodoro-timer = callPackage ./pomodoro-timer { }; tabbed-box-maker = callPackage ./tabbed-box-maker { }; - vesc-firmware = callPackage ./vesc-tool/firmware.nix { }; - vesc-tool = callPackage ./vesc-tool/tool.nix { }; jalr = prev.recurseIntoAttrs { contact = callPackage ./contact-page { }; }; diff --git a/pkgs/vesc-tool/firmware.nix b/pkgs/vesc-tool/firmware.nix deleted file mode 100644 index dba61cf..0000000 --- a/pkgs/vesc-tool/firmware.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ stdenv -, fetchFromGitHub -, gcc-arm-embedded-7 -, python311 -, writeShellScriptBin -}: - -stdenv.mkDerivation rec { - pname = "vesc-firmware"; - version = "master"; - - src = fetchFromGitHub { - owner = "vedderb"; - repo = "bldc"; - rev = "b6e53d3f28e9fd7a54b266c149abbf8a1c23f80a"; - sha256 = "4Q0sAEglXONL6InlVfwVKtQ2ZXKGhfrVLBevnWyjXZ0="; - fetchSubmodules = true; - }; - - nativeBuildInputs = [ - gcc-arm-embedded-7 - python311 - (writeShellScriptBin "git" '' - if [ "$*" != "rev-parse --short HEAD" ]; then - exit 1 - fi - echo "${src.rev}" - '') - ]; - - buildCommand = '' - cp -r $src bldc - ( - cd bldc - chmod +w . - # print targets: - # make; false - make -j $NIX_BUILD_CORES fw_410 fw_60_mk3 - python package_firmware.py - ) - mkdir -p $out - cp --recursive --target-directory=$out bldc/package/* - ''; -} diff --git a/pkgs/vesc-tool/tool.nix b/pkgs/vesc-tool/tool.nix deleted file mode 100644 index b20d1b2..0000000 --- a/pkgs/vesc-tool/tool.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ stdenv -, fetchFromGitHub -, libsForQt5 -, vesc-firmware -, qt5 -}: - -stdenv.mkDerivation { - pname = "vesc_tool"; - version = "master"; - - src = fetchFromGitHub { - owner = "vedderb"; - repo = "vesc_tool"; - rev = "033c95697ec970413ff5c1dbb1988758563d630b"; - sha256 = "LIIE3Z5eoU6mUXmudbRr1iLA3l7338/CsSK8W/iwgf0="; - fetchSubmodules = true; - }; - - nativeBuildInputs = [ - libsForQt5.qmake - qt5.wrapQtAppsHook - ]; - - propagatedBuildInputs = with qt5; [ - qtconnectivity - qtgamepad - qtlocation - qtquickcontrols2 - qtserialport - ]; - - dontConfigure = true; - - buildPhase = '' - cp -r ${vesc-firmware}/* res/firmwares/ - qmake -config release "CONFIG += release_lin build_platinum" - make clean - make -j $NIX_BUILD_CORES - rm -rf build/lin/obj - mkdir -p $out/bin - cp build/lin/* $out/bin - ''; -} diff --git a/users/jalr/modules/vesc-tool.nix b/users/jalr/modules/vesc-tool.nix index 81ac31d..ec8682c 100644 --- a/users/jalr/modules/vesc-tool.nix +++ b/users/jalr/modules/vesc-tool.nix @@ -2,4 +2,10 @@ lib.mkIf nixosConfig.jalr.gui.enable { home.packages = with pkgs; [ vesc-tool ]; + xdg.dataFile."VESC/firmware".source = pkgs.bldc-fw.override { + fwBoards = [ + "410" + "60_mk3" + ]; + }; } From cabcb060f37cfe004064cfb054d2bb3337ae8210 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 4 Jun 2025 14:42:06 +0200 Subject: [PATCH 667/766] Remove signald service The signald project is unmaintained and has long been incompatible with the official Signal servers. --- modules/matrix/mautrix-signal.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/modules/matrix/mautrix-signal.nix b/modules/matrix/mautrix-signal.nix index e00ec3a..228d4e9 100644 --- a/modules/matrix/mautrix-signal.nix +++ b/modules/matrix/mautrix-signal.nix @@ -43,8 +43,4 @@ lib.mkIf cfg.mautrix-signal.enable { }; } // cfg.mautrix-signal.settings; }; - - services.signald = { - enable = true; - }; } From 0cf7d2437a727efd32424de22fa6f6250eac5a0a Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 6 Jun 2025 11:29:11 +0200 Subject: [PATCH 668/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/58d6e5a83fff9982d57e0a0a994d4e5c0af441e4?narHash=sha256-/CtyLVfNaFP7PrOPrTEuGOJBIhcBKVQ91KiEbtXJi0A%3D' (2025-06-02) → 'github:nix-community/disko/17d08c65c241b1d65b3ddf79e3fac1ddc870b0f6?narHash=sha256-W8KiJIrVwmf43JOPbbTu5lzq%2BcmdtRqaNbOsZigjioY%3D' (2025-06-06) • Updated input 'home-manager': 'github:nix-community/home-manager/282e1e029cb6ab4811114fc85110613d72771dea?narHash=sha256-RMhjnPKWtCoIIHiuR9QKD7xfsKb3agxzMfJY8V9MOew%3D' (2025-05-31) → 'github:nix-community/home-manager/7aae0ee71a17b19708b93b3ed448a1a0952bf111?narHash=sha256-gjN3j7joRvT3a8Zgcylnd4NFsnXeDBumqiu4HmY1RIg%3D' (2025-06-05) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/fc7c4714125cfaa19b048e8aaf86b9c53e04d853?narHash=sha256-HEu2gTct7nY0tAPRgBtqYepallryBKR1U8B4v2zEEqA%3D' (2025-06-03) → 'github:nixos/nixos-hardware/4602f7e1d3f197b3cb540d5accf5669121629628?narHash=sha256-W5GKQHgunda/OP9sbKENBZhMBDNu2QahoIPwnsF6CeM%3D' (2025-06-06) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/10d7f8d34e5eb9c0f9a0485186c1ca691d2c5922?narHash=sha256-Hb4iMhIbjX45GcrgOp3b8xnyli%2BysRPqAgZ/LZgyT5k%3D' (2025-06-02) → 'github:nixos/nixpkgs/4792576cb003c994bd7cc1edada3129def20b27d?narHash=sha256-DJcgJMekoxVesl9kKjfLPix2Nbr42i7cpEHJiTnBUwU%3D' (2025-06-05) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/adec134fc27c6c2b698125c7ab3c20b864c11e51?narHash=sha256-sM9h84zlsx/r8303N08g1bCeE/EBERT0z%2BaZ%2BcB%2BOy0%3D' (2025-06-04) → 'github:NixOS/nixpkgs/ebd3748a6b97de45844aa62701b81df35c5c1269?narHash=sha256-LEZbj%2BVD/AR/dWL5ns1gMwzMvp4mLlv4WalxmZTKy5Y%3D' (2025-06-06) • Updated input 'nur': 'github:nix-community/NUR/dfd9cec176e90b39f42e0d69e239152cf450ba11?narHash=sha256-j5kx7r5zX8sciGoKKSXU2Zt4JdheomomMad0Napp9zE%3D' (2025-06-04) → 'github:nix-community/NUR/17efc5275a8f21e2b48f39ecade74cdaff3ba411?narHash=sha256-haiPLogZwEFQTrIarZD92LUK7ScIcMbtEzPlcC988Qk%3D' (2025-06-06) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 31f18db..6c970ea 100644 --- a/flake.lock +++ b/flake.lock @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1748832438, - "narHash": "sha256-/CtyLVfNaFP7PrOPrTEuGOJBIhcBKVQ91KiEbtXJi0A=", + "lastModified": 1749200714, + "narHash": "sha256-W8KiJIrVwmf43JOPbbTu5lzq+cmdtRqaNbOsZigjioY=", "owner": "nix-community", "repo": "disko", - "rev": "58d6e5a83fff9982d57e0a0a994d4e5c0af441e4", + "rev": "17d08c65c241b1d65b3ddf79e3fac1ddc870b0f6", "type": "github" }, "original": { @@ -243,11 +243,11 @@ ] }, "locked": { - "lastModified": 1748665073, - "narHash": "sha256-RMhjnPKWtCoIIHiuR9QKD7xfsKb3agxzMfJY8V9MOew=", + "lastModified": 1749154018, + "narHash": "sha256-gjN3j7joRvT3a8Zgcylnd4NFsnXeDBumqiu4HmY1RIg=", "owner": "nix-community", "repo": "home-manager", - "rev": "282e1e029cb6ab4811114fc85110613d72771dea", + "rev": "7aae0ee71a17b19708b93b3ed448a1a0952bf111", "type": "github" }, "original": { @@ -382,11 +382,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1748942041, - "narHash": "sha256-HEu2gTct7nY0tAPRgBtqYepallryBKR1U8B4v2zEEqA=", + "lastModified": 1749195551, + "narHash": "sha256-W5GKQHgunda/OP9sbKENBZhMBDNu2QahoIPwnsF6CeM=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "fc7c4714125cfaa19b048e8aaf86b9c53e04d853", + "rev": "4602f7e1d3f197b3cb540d5accf5669121629628", "type": "github" }, "original": { @@ -398,11 +398,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1748889542, - "narHash": "sha256-Hb4iMhIbjX45GcrgOp3b8xnyli+ysRPqAgZ/LZgyT5k=", + "lastModified": 1749086602, + "narHash": "sha256-DJcgJMekoxVesl9kKjfLPix2Nbr42i7cpEHJiTnBUwU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "10d7f8d34e5eb9c0f9a0485186c1ca691d2c5922", + "rev": "4792576cb003c994bd7cc1edada3129def20b27d", "type": "github" }, "original": { @@ -430,11 +430,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1749027218, - "narHash": "sha256-sM9h84zlsx/r8303N08g1bCeE/EBERT0z+aZ+cB+Oy0=", + "lastModified": 1749201760, + "narHash": "sha256-LEZbj+VD/AR/dWL5ns1gMwzMvp4mLlv4WalxmZTKy5Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "adec134fc27c6c2b698125c7ab3c20b864c11e51", + "rev": "ebd3748a6b97de45844aa62701b81df35c5c1269", "type": "github" }, "original": { @@ -499,11 +499,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1749027402, - "narHash": "sha256-j5kx7r5zX8sciGoKKSXU2Zt4JdheomomMad0Napp9zE=", + "lastModified": 1749201010, + "narHash": "sha256-haiPLogZwEFQTrIarZD92LUK7ScIcMbtEzPlcC988Qk=", "owner": "nix-community", "repo": "NUR", - "rev": "dfd9cec176e90b39f42e0d69e239152cf450ba11", + "rev": "17efc5275a8f21e2b48f39ecade74cdaff3ba411", "type": "github" }, "original": { From 6169090c8e8a46855a5c6003a298f57b32904768 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 12 Jun 2025 00:06:08 +0200 Subject: [PATCH 669/766] Rename kitchen ceiling light --- hosts/iron/secrets.yaml | 12 ++++-------- hosts/iron/services/dnsmasq.nix | 2 +- .../{yeelight-meteorite.yaml => kuechentisch.yaml} | 8 ++++---- 3 files changed, 9 insertions(+), 13 deletions(-) rename hosts/iron/services/esphome/devices/{yeelight-meteorite.yaml => kuechentisch.yaml} (92%) diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index 90462d7..54e1ca4 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -11,7 +11,7 @@ dkim-keys: jalr.de.default: ENC[AES256_GCM,data:mnApsYKXYGtUAHddccmNmU9yZQtekDkTiTXbJ0UJxC0rFxzQCtGsinQslIROJdNUxsxciR1ilNzxawzjJD7AaWJbcAq2TYObGJJOQZBif7t/XEN/rIxEmnAFmdeAyrSONmFb9DiEn59m6DpsU+/9Y+hnc/uwwbzueO34WHJnTqmmsxFVNQZfGR+cbSckHS3wZrfjZSKKzCRt+9DU/xxJ4voyowXLO77w00LHVkyU5liwONi0v2XJ+QeP/jIMmJeKjujZcH+qvUm/kukijqyWKGrZoAYPC2cBlL/UrNECuVdSLMXvr4KBDDTCRZCSMRgUPJ0TAfpQPTPitKJ/0igK7qQl9n/6hckY7VyP8KDS7J7G2Z2XVxfZrAR4X/7ya9B2kneVr2CNx3w954EdTcV1/lD7rcKRjKynyl3ddf8gxJFJ21k1ybo2RLnftGCRVq25qNwhyfjU8x5c7AEs+YTPDrcnmxZ/Ui276eLwpMj61oZzTp8QQhiBVwS/+ruRLC+78pu2gb1gBF/Oo3nuvQD1SOpCRikLVewCYDvfXj/hrjo+oCsjTOj+9tWRcRAEDVlhkXWCMuPXDYrdt3HrIWbQuP8NW1ezd1Ll0r1ujjtPJeSwdd8cVcUSBIoA5gU+eXnYjFaSx9BZ+sIfKqG//W3S+aBYDqAEK/z4N5q66sReb5mtSQYfbZuIZDmox9bwNMG3tJmQX0lJZgEIiuJ5/ef4ra0sj9JsRFldmIn9KUmjW9OlIwzQ42cNNvQSMD/6haNiYsE6TPzVylJ/B2kNu9Qh5FfpCIPtVORv2BAGoNvZlyhjyEiXBEZ4x2hx1l5cBwGOaGhoJ0p+1wqn2zDalIBaEFjbBVdIB6DPC6/lccvpqSwF7HvW2ugyYhW+u92vgic71/BsI4i0OlsJV18gU/zVg0Yj8SK69kEwm4wkJTrkM/I4+kkUIc5OiSAknRfjOFJc0etkh3nO34xpHLOkSv9DrKfXSAGmGZtCLtVL5LGdZeCd/g6EK0JJh6bd9Gu9koSJVq5vjdDJJFf+sgk39TCvHAvk8k1/FgdK5jMJ+pR8heJtP8G96ay3DFVm5hpbjuNKqfBvbf2rkyV6++ywRFnAQGPUiMn9g6Q4F5Ks7CC1D0Ubl7b3dCUk6BDi8rHjxy9QS0/25Yz9cF0bFd6XQDfblnyRLMi9aB36M9Vp38Oh5aB16MyvNUHzcxpaAak0yknE6OuuEMBPQZgFVADCITfy9eUXl2FoXrMWEnBO78GybQ+cV8nhynn5t0U+3koMy2E8ju5kiEofQxXylys3Q76iKRRUbQqFkh/ndWtJVVfGNpi1GrUr1w1YZM0hBY9FqqeBjf7ckj+9BdiwWJ0XauuR70o7odm02mydk1/T3Hfzt3OE5nHIXnVbum9KyPx8wXj9qc6JGFm558pQOcRUgGUi+EzGoGckkoLx4Onl+XeGysW5sXP9dbYgMBug0Tjmdo9xkoBti6znDnN/zh93bbzWITNvxMgVs8zSWEhlM0c7F02UeUXSekbTFue5FOaMdYObMvPeb53jAKBOYLr34GVFvucJhKajIaNzDvfiI6fGCMxcSsWk+P3co7gdbRlWYZELsKDu2scktZsHr/gRwRiDZXAWOLiWZL4jswQ1vXSFXJgdblEV//hr2DwsAtCAsyFcgO/LGq30xi3xNqHTkUZXo6cZYSb6EVaIywMCI5ySEnTLAp/xedySANHuo8yyVqyLxkDPI7CnnSS7JcnQF3K5z+NZ0KnIpc1ewGupOhS0fKj31XxUkoSsHEY/iWJPLNA8+4VsBkADnGdkYXHTvy/yAGV6w1k1qtjiWhDAGcE9/o6NOHctYm3cx8CVsLpve/WFUaCkGgjWJdC8XP92xsUQoE6PENn6ZzFaqGHs7hgQqE1kBcEj8N5WkEqkoMo82giHE33iYoVUdkjOTkV4iDGEqyjg1BoM0GedR2A832LseDkP7u4DjIAQfpIDu7PaeiDh7xWkPRwIMV0oDTakXTdPkPGdgFikzTaxkTzRlpCbQuV769eITqVT04kJDp7+0Rb6dtjeXc0Ennv68wZSiyrlmXbrJntg7g1wrebq28q9NMIZETAPugfK6wNDu/Iw1q1kZn2ELo6xaDlcIxHDcpzK7e2VAYYuP1k3sYnSLU3oeq54j3/yS2z1me5FEqWlPOCrjdnLkE3/GjbeMsYo2YTYJEUEd2ncacSCoXUaUoxpBnjRYcHLRUV+6jy7Amp0/52rAPzSeVlBzc+SdNiKLYA2UQ74WrMU596Gkhw1SD8jSM5QqSBhH9sL+oE4GjhjLhstMUPdkNgiwxXDTZLKcIyjN1cn+RSmvNA2KXMH6MoXrkqSkJ9u2s0QAhla51zR/LZwWbzwGOO0dkh3rwh2x+pcCfuzvlk3lYr/x5XOF2k1n8yvehXY5zIX8nk6djjLbvAzzSr/yalS7R0WYIc6CjzoUl3qz+PlneMfKHcaX00hkOlIub/ZFQf1RE+JzZxi0qQq4M8Nt1XRKGDeS448Z6znDpedStUH29krZcnjMtyLmPX7ETTsjr3HLpCOd7MQ2K1rfhmvh5BtJkn1KSUf94puZbkLH7X+WnWN0hsc+KbSXnYZvqwJ8G0/7ptp/Q+wGljqhjv+HhOeA3NUwANv1xWgbiymVIlxCodXtQwn8mxS+jxSvslGwOnyUkTT76IbFbv/IpW6PNvj/xqwOqey8a/4WCGcqs403Y7TKQ+xCflG6K3tL7U5UbMnMgXTeZvoK+DooS2eIepF2WB5XqTuOZJV2OQ6GHfaBMjXN9iGVNLi6XgkbpmcMLQ4TZq+dVmgleJb14IaTFD3n74OfmbcT9lmRfPRJEpFEMNeL3ghH54P2a91zJFASgE7x+Uv2cGcmKFtMbyc/rrhH1F/Ixlv/R37huFo1T2dPMEZ/1ouuPpbUQ5oz/JlOWw3NOxd0O6oG0x9Xib+9KxSFOusLWcFEgx70jrBQKj8s2Jj+W0gZYv+BJtPMPY0KAkRj1amt4Fd6ZrPOEXJ392EHSAEv5jssO5ba52OHKA+QkYvPPL04rwkxSAQiTl57scnEj2WEIP+Lz0/qsMnwF+3rWuz856doJZcXX+U9iuzBCaYQqA1P3BojAYhEHnXBPeolHOA3BmhT9E2TJsZ6P9SQ+GaqyLm0i4vRXGlArlkLwRBs9EZv/l4DT8q0YHha53O4rhRzGJZKAOO252Dpha1YN7+FubYGAZjaUT5O0R/7xSPrGyBejddtM8asW8+NClAn4Y6xvj1IgUg6VRpEy7ZIpZEQ+UyDWt0A4nsipaz2NyZKZ5Vxza2v1qZDdYODK8nm/zj7fR/JykaNVEVj7ceTSHdaQlajfeEWWTs92msIBcqPUXqlaR005hoVvXm+WCnzIMIXLGiyRKRsAPIDYh2hGCtvfXLSq5TYm3bnGAImL0KW3Yllt1qSqSbOYsvm5QfDmTrrccvtSLGRj0rOU3Z8f4WXjf+1YgxjZ9h8fKL+LKA8x1S6M8fl0JVGBIAU8Xe8c4+r2F1VcygJp7h+0v8o8GudM6in4djAdeMLWBgXid7r0q744joFucP56opwYQp3Lu0oFEo0omS6Rh9yPfOjdGBU2eUdjcCNXXuEJD9yHSyebviSAvDw/KH1AxYSWYnjMWACCfcbOlXf3ej7PuQgq5MdFwF7+QawXm0john4YusUon4/0fqd/IFLd6oHYYesxcFdm1jN6DeS4SAqRgeEPuEWDFERgXjLHBxl5Xdi5n+NOR3Vc7ziJ9j9/CA1DKdwmsFBBDcVKMnr2FibXpN5WsSdlBng0L2zhkL22wRH9xbz8Xk5shN20/EHoxHB5HJvwfOgHIC7ooWKOUUuNTZH43+gVN+wzRzlMfiF4X71Edw+lTnQRp6Lh03M2k9do6JPoX2+UU0h6mOYiAFkhHKzCmK3DY12c4Smx+qLJNbUGhoMgthu/WnXObm0Hr+myCooTYSVNTJx6vVjI3GZtMcat2o8B9k38u/Y5/FxqTYmyXhROwS4v3W5fXwTAaxBqQy6Xj5s4V37omBBh/Z9a43nc2VlT7dKR1wIvNB/gqhiYyYrVMtYMJqGLkeCbu50LUWT4qXyR8uaqbZTVjyJCQRxZd6fd3Zfe9wIeYe3N5qKIXkFD3n1U2Q/EyRfb3TpiA+eYkAtl6JGK0vpeWpN5M2LJ3/V79e3cIG7B7/p6BrRxKxHDnBZcu57KKaN8XM+v2KTz7XdF8bjgeu1V/B9WoBwnpzCM+3s5ffNceuUcb2gJgRAUpZvcSDLYy+9aluGU2Tvsm49fCzr851p3VSEJepgPpnvuq874AX/MbPvqidF8Y21Kss1RUbl5wrlq5IihKdM+xCSq6mjvtSPVHRvw==,iv:2NBiTTW9slOH9BvM+kVbMB/+8EiS/Dc/eaqrtiwn4HY=,tag:0rc2+ZWy9XZYE7RK/oSo3g==,type:str] synapse-turn-shared-secret: ENC[AES256_GCM,data:Q1XRds3Zud1kYkvD6s9WUzP+kNDNsxB5SHd6oCAaLCHhHhYENSAYTZOF+rGjCPNyKFL0e/A=,iv:zScRQrz+pXHNUh/BGOaV+TVnDR3wu1Z/UO1zXarKwtA=,tag:ckpVziE+yb0FjctcT7tAkg==,type:str] rmfakecloud: ENC[AES256_GCM,data:ktKBKb6cRv1VF8tRvXIpxIy9hPinVPKK05mgvYzz18PEdcrCLpldm5xf7ffHtY5XzDOAMXDCiz6x4xyv7071frrF0spOEPnIzVhxwG8H2Ck=,iv:qJdHjv0RziAs4G9UGeRwGQ4GE5kaObJWpIYWpRKhr9c=,tag:PXgvU1hZK/gvWGyFJaHekg==,type:str] -esphome: ENC[AES256_GCM,data:tuv07FGh4ubI40nOISNoW86J1dWg+wgvf7+/pYVBx2qUcquGALTPIoXMz+42PSrXliUvb2ZKnPbeU00cMWZ7kffOznjcQxhCRCnVfpgkIdSDurCWgGzblGzbjVjJ2Ph1mnn8QZ33sztarIFiG25eB7tF5iEL2jajxf/90BMcrF1Vb9NwadGS9Wv8ApfkMgnpSLEJwpyTas5womeA5gJV6dP8UH7BbKRmowu9yKMTtlIONuuquzGlhTsNsQMlO9a8V7HO/L6Km93uSnWE+oudID1gzMXmGKE5tuNuo40xtAS1+v73k6fR6/tA9MCHXiyLwsd34iD5FPPbeS0uBk+JQqlIWqF6PZER22OlqEd6aGCn9jHBjENTsyf9N78sbMYKCWxbrWtV1Zk1JBMHyl1R2dApyFWxy4NLq4O2swqyRPe59AMOPXhQbuNrGd0CKx6vvvVkxB66y5VR289PHyUL8SHUMBPvnVb8katVPNK4qBmucmD1LDVx+HipjRFuZtmTrzprtwQ+wrJTUznP4uyW7Qn1vYy6P6UWfp8U70sqRQnvUJCeMHtIEj9lJGaQYiitEtIcdJJOYYXL1tn7YVyRpHWZMqaeAuMNQcI6qpCJKOyl64wXaljNwb30NU3lpBCsgl3EF+hFkRUKrgPsOOtGxlMHVroptWahs9UlxbgjhpcAh+hiw+GHFPGuSZ5VfQO8MhOZlRTBhwdMT5N0JQO66L2bBF3XO5G1WVOG78Y0/dkv8xKZkfwTmmD8+InLcuPVBRukfm7S1HiwVJ5yN0huMcEfo1dfGbvlzI9uTZuoJtxp/PgZVPxyZDnsn7jZLIY3Ln+eUZDZyk5jdLqPsP9+4TY6F5QN7Tw6xTeIp+GaY0ZdY/KQVVNPBN2TvPBylLlisceyD6xfn5m3hkG1CXRIXKfFvsJfUN0LTd1vJiLTLVXqXu5LUo3BpAcE6U4fbliBX3mPoxk1+7edtLVzD99ho1y58To3kQbwuOkyYgse6DTVhjF0p+cxp+aDB5h/jT2/tmMc7YZAeY52cO7cIbkcOOvQzDyAOj028xPTmteOSnYe3MFq1e5HRTbdRUh0BzHzSN0IH+5HXWhKW6k9PG6l4yaMj3qqSw3IyL97KL9+jLeyUer0CoGyGpd6JYq9nS6WlKYu+GN3HbdMF6TBOyRC3oFQG+jIZGlXNeclDjJ5hJTzYAT7ioYU5EQQw9rl2J2TherLcS+61ZXnn3QXxDThgFhnn0Q+ozb/i31DMhQXCNjsN1SUVOyLpmWkr8CZnpiKaF58Kuz8Pvyk7Ih30GlZKZL74XSV8fz222qXMn4IP7Sb+PU4X/LJyz+/Ml+ktzB+Yt9UB9uwzNdwY1b4w1gUJI40ju6bKIlEEqhiATbMuX1Bio6Dt9NZ5v6Z7eD4VlgvSqJng7kO4YPoYdFykDhugpZ4BKyJRLE/MqT6ZI2WApgIhy6U4fPZTQNWtxHsobSUMvFLSdUprh4VQ9Auqjz1nqNAcVIjA5fPK1C1tEOx1KPEJXaqC6et17wpjt5ajLhB5td12XGIsUClKg4G2hYiyisFM0Z2fDbK4tlhFb/BJ7ZLY4zQudXu4FaeIxoD82zmqiyo78dn3KQK7+rhWsoR+wR6i7Tn9HjXevlcqvuU4D8raSgl3RcUeKnvJK5y6olcpJvbsfd0Lr1AH8MqwFuRDqufAZx0xoRZ1FhkK6ik+lc7XQkUsknIyvnn4rxYHP2GP+A1LaE4lyBqiC7xsj6ar1zjr/W0mB4vhpF5dRMHNsK6JXzHmoYYJxfY+lwlsYSbmwRBOyPO71TCPE6us/CuSJrkqiiRjWltuy/+uvzffLvh3Y+6wRC05aSbui0I4WaUGcRsM7nzH3/kO5bek3Nw7mLeTbqLkk+slKcCUfqdftibHiOxb5xxHWlbI33IG6dgLc/vBpyhvePB73fAAw==,iv:At2BvPMxMrsLEBFdTHacejtCwcCSNccHE4TXLyGKK2I=,tag:r7G2LvBJdbqPvgOxx87ofw==,type:str] +esphome: ENC[AES256_GCM,data:LhouDHIP+zenpFZZWQnXBWsHoM3iGVVnmMbRaZP4lFxdYS1U+WalmBkcfIizbYJ47mhvr8DdhR9u9DNAYqyd8zUeq8PkfPpQNXaaluXF2WwesHatsmJ1A1rL+129qKp+6UCNxoqYmZmJa/eGh8BFLCwFNK3nDpkDyO0RadtQgl7gISHjfcOUKTJZY31wQfqrBWzFhJZWtYZbtu47na7GXUrorkvR4BJ768k4okX8EiSn03kGe/mHiNFs7TGctIvLNiX1AFx6HL24R3LTYH3qcIlcmcn4G/Gp9MGmphWw1FMOWcphNV8xVHSlKTseOJWtQZTldXijvxtKKjgYXeIxuQIfxFrplYnMrapgFE6NyqDPw6cfsQNhDVM1ii3xpYTCKtoDfp9WuQKRPPyiK43IPIIDtXducKUlkJR1e32/s+FUlLcIbPfHiIu4QSC0nsi8Umzfek2bJehnHHzneV99V9bFe1lQLfefP1+UvsN2QTD+xnZ9pqRm7OQA++CwC9rFHMNhxmgqwyBmV7RCu+Bwaa+wrig9XOED5Gq5eDBbTADDl9+BQEh01GpyqKAPnO7ig7bv2eeskY+aj5T98z3FsJKd0QWjv/YPUa4YnmVOX1N289iQ5BzGFkSRfVDNU81m8EXHOFmfpGVxFqCjAGeSiv/smd75HVCPrroPQAvudoMU3z1qshf3UBKu4AyS94w8dcAuAy+Kl37RPp4OrmQDSUOxZKy5XZuXvt7a5PXezCkEjVnnSWl2NidHLR1ZqBPnmRGDjLDRzOLfSwuPT6CC5dwLVDNhIQlz4f6lFtaQS5cBWdxyIn2aPUlrqxz7dKJb8YToXDNsKXqG7Glcy2CX+TdLVbNnbEW/5/5RtgrT4Dag/mZPlSod+T44ysClfarW/ONI6p0UfPMePsC/BEnpBmnO824s7D5QiF6bzwgfeWrShQRJvIY0BaRXFBmkkrkIYNPTgptQjs/vUEGKbATyZTWBSvP4fPAdQYIgkTT8YAKthurMq/Vs8XTB0Z/X1XQdE6oT0YTo+mTbI5vCDD2pu2lVxB68G792QXpZkox6SOc7/w3JG8lUHec3vQJICoZUJw3AXn6YpZP723xczhgTslJzaBb+uBJ6CEEBCjrw0zL/oPDWM9aGou7iMkvEoL2EBSsN7qw7WnFX2NOtV0BxmPOjxSe/PtPowcukQWt6yeenLYnUQ2I3zlV7LhcCmTB8O9zpvDQuaO97f7+oZMWXicfwfdAtLr+I0OJvKdfVN+28CbbVNoRkc0yMrg/94nFOrdTIjDoJqWvs9FNEzH93AuraPv+0eVXMtwN/x/msjTTZD2j/RFg6ZgDRVQ3xpORhBkUdy96aP/OBpzQrrIzyLKDVdKr9ytHMhegVr/VAJdkKq8W/FzBpZQ/iZrX8zXRTLw7wOi2X/N5Zxn7ZmlbtdIOExsTAZ9jdMe1RJcMm1uwu8vyOjZosq7hZTvbdDOPor4WB/qwfZviwKcmpfhmnQmbVEzG3wrd2xpfbpw3xXO7bEhkBFqGq81AsDZ4SizszT15ZAVg5wpmLK+wcQl7XgEdDEK2tMCsEOJRscaDNxgLzB98sFdMZPcMTtrGGB5vl0ixlzome2EjACzAfSZAc2KysjlgSZbZRwhD+czpDt8C4X/3wvGLxEkLLwWlTssYJzodX+1MSiOZ6PgkcV4lvxzq+Hu/dgtnAH/Q3y0kyeKJmvFH8h/hX4XRIGhRNcLccVBqs/xTxIdEBrUk8ptXFKNhGtQAsMBbO57gJL113p0uEUHMQnsxlp8Z/VshYGM0UpshzHnSLzz2Jk5F/hem5GI8kwXQwdpZBSdGyk4YesqbEWkLEYlyEZEiCzNaZG/sfnWL68I8I+MMRYxk3Mj55ncNkGhokue3d054zyIfKA8iz9Vtli8jTQyiyF1Ecpbb/kg==,iv:816FQciVd7jqSqfkPJw768hKSGxlL6oKApXrdGb79u8=,tag:zdgDAkLba+pM3WIGWNaPJA==,type:str] home-assistant: ENC[AES256_GCM,data:wcFMxDdRCHf/shO9v2WaGgrsa9J2WP62xFs=,iv:9ckeIO62cFZUo8fPyQj445CrJVTooNlwLapM/oTsrkk=,tag:mlfxtXDPsB3T79P9BX9oJQ==,type:str] mqtt-users: home-assistant: ENC[AES256_GCM,data:oIjCw7ZnA5iOBmQdW1jcy3QQnpjT32pY,iv:5HFRkXJBdMXQbjk2ubQs3sEy5qEteiqSe2hrNc8+H40=,tag:7B6yI4oCHanE0JE/gHaKnQ==,type:str] @@ -19,10 +19,6 @@ mqtt-users: photoprism: oidc-secret: ENC[AES256_GCM,data:XTAiUiGZJfSZHNbz6fePl3iMDdbxFSE7+SQH2ECRFqlo7w8TAhLyNXBxlEfGvu+8vttbKdkEm0r7132Q4ftOtA==,iv:WGsQXolbtRWIq4EDgODWNmkXdOZCsA9A3Fqoo4lJyec=,tag:5zJftwB5If/RZB3hI0Ly8A==,type:str] sops: - kms: [] - gcp_kms: [] - azure_kv: [] - hc_vault: [] age: - recipient: age1hx7fdu4mcha7kkxe7yevtvs6xgzgaafgenm3drhvr609wlj94sgqm497je enc: | @@ -33,8 +29,8 @@ sops: SU1USkxFUUY2NVhmUHBhZkdrNDR1Q0kKiXIicInELRjDR3tuyA+lnXeCcd9lYvbV GnBRGPM7BNO/6AA7HhAei48Kt+XE6+jQX66yTXyviKhK7Lpjrlb2YQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-04-29T22:30:28Z" - mac: ENC[AES256_GCM,data:KhGX9o8J+pJpL12eqLdsBS78UazDda8N2a/LaLRu7qgKd6DiifMxF2JsS3+E4k/9eM70SK9j+HWz+1UvDTaAZrg3qK/SdLEdyvW/kzP+IwhGa03OtLL6p764E7B4gvrxOSki5wO8u+nVfF8IEWwvs0xoWRHVr3Vgu0mn5r1j3A4=,iv:p8UPvrRWE8UMneJa6reIaBUyZt/cOtYh3VTvpnGGfYg=,tag:9iuAHXHnyT/XgYqgocoPUA==,type:str] + lastmodified: "2025-06-11T22:17:21Z" + mac: ENC[AES256_GCM,data:l785PSSvzb/C3n6QnUHc+YTKSRLP/FjGzi0EOersLEFd/XGDy0vzPv5RJzE6475zUt9hHko9324z2woficG84CenjB3+IF0GtTtM8654KlLN5C91n06OrInG2hvOp68j6mAg1x9+XS1OBuNLGXEr7Bt0lkqD31JH6NyWqirQ1/4=,iv:Nuurf42iuTmH4bJ790HbGgB3tThA2/EZQ9JOcns5QeA=,tag:Qh9tsPWiYJAIO3cP430ccg==,type:str] pgp: - created_at: "2024-01-31T01:20:30Z" enc: |- @@ -48,4 +44,4 @@ sops: -----END PGP MESSAGE----- fp: 3044E71E3DEFF49B586CF5809BF4FCCB90854DA9 unencrypted_suffix: _unencrypted - version: 3.9.4 + version: 3.10.2 diff --git a/hosts/iron/services/dnsmasq.nix b/hosts/iron/services/dnsmasq.nix index ea0f6b2..72b5f61 100644 --- a/hosts/iron/services/dnsmasq.nix +++ b/hosts/iron/services/dnsmasq.nix @@ -27,7 +27,7 @@ in no-hosts = true; addn-hosts = "${pkgs.writeText "hosts.dnsmasq" '' 192.168.42.1 aluminium unifi - 10.20.0.10 yeelight-meteorite.iot.bw.jalr.de + 10.20.0.10 kuechentisch.iot.bw.jalr.de 10.20.0.11 led-panel-schreibtisch.iot.bw.jalr.de ''}"; server = [ diff --git a/hosts/iron/services/esphome/devices/yeelight-meteorite.yaml b/hosts/iron/services/esphome/devices/kuechentisch.yaml similarity index 92% rename from hosts/iron/services/esphome/devices/yeelight-meteorite.yaml rename to hosts/iron/services/esphome/devices/kuechentisch.yaml index 54a5f14..5d0f27a 100644 --- a/hosts/iron/services/esphome/devices/yeelight-meteorite.yaml +++ b/hosts/iron/services/esphome/devices/kuechentisch.yaml @@ -1,6 +1,6 @@ esphome: - name: "yeelight-meteorite" - friendly_name: "Yeelight Meteorite" + name: "kuechentisch" + friendly_name: "Küchentisch" on_boot: then: - light.turn_on: @@ -21,11 +21,11 @@ logger: api: encryption: - key: !secret apikey_yeelight_meteorite + key: !secret apikey_kuechentisch ota: - platform: esphome - password: !secret otapass_yeelight_meteorite + password: !secret otapass_kuechentisch wifi: ssid: !secret wifi_ssid_bw From 8452ae93f51324583259d31252e8a454cf24dc08 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 12 Jun 2025 10:28:52 +0200 Subject: [PATCH 670/766] Remove direnv as it is managed in a dedicated module --- users/jalr/modules/cli/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/users/jalr/modules/cli/default.nix b/users/jalr/modules/cli/default.nix index a0d6ca9..e74edaf 100644 --- a/users/jalr/modules/cli/default.nix +++ b/users/jalr/modules/cli/default.nix @@ -16,7 +16,6 @@ ripgrep unzip ] ++ (if ! nixosConfig.jalr.workstation.enable then [ ] else [ - direnv dnsutils screen speedtest-cli From 1755c502f4320c1d98b4e02b1267d45733c2ab2e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 12 Jun 2025 11:15:42 +0200 Subject: [PATCH 671/766] Replace eza with lsd --- users/jalr/modules/cli/default.nix | 5 ++++- users/jalr/modules/fish.nix | 14 +++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/users/jalr/modules/cli/default.nix b/users/jalr/modules/cli/default.nix index e74edaf..641d02b 100644 --- a/users/jalr/modules/cli/default.nix +++ b/users/jalr/modules/cli/default.nix @@ -24,6 +24,9 @@ yt-dlp ]); - programs.eza.enable = true; + programs.lsd = { + enable = true; + enableFishIntegration = false; + }; }; } diff --git a/users/jalr/modules/fish.nix b/users/jalr/modules/fish.nix index 02ff97b..f929e20 100644 --- a/users/jalr/modules/fish.nix +++ b/users/jalr/modules/fish.nix @@ -28,7 +28,7 @@ } ]; shellAliases = { - ls = if config.programs.eza.enable then "eza --git --icons" else "ls --color=auto"; + ls = if config.programs.lsd.enable then "lsd" else "ls --color=auto"; crontab = "crontab -i"; }; @@ -64,12 +64,12 @@ history --merge >/dev/null 2>&1 # fancy tools - if which eza > /dev/null 2>&1 - abbr --add l eza --icons - abbr --add ll 'eza -l --time-style=long-iso --git --icons' - abbr --add la 'eza -la --time-style=long-iso --git --icons' - abbr --add tree 'eza --tree --icons' - abbr --add llt 'eza -s modified -l --icons' + if which lsd > /dev/null 2>&1 + abbr --add l "lsd" + abbr --add ll "lsd -l --date +'%Y-%m-%d %H:%M:%S'" + abbr --add la "lsd -la --date +'%Y-%m-%d %H:%M:%S'" + abbr --add tree "lsd --tree" + abbr --add llt "lsd -l --timesort --date relative -r" else abbr --add l ls abbr --add ll 'ls -l' From 2be0fee327059ddaf3083eaa9d56a0a290f2620d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 12 Jun 2025 11:33:26 +0200 Subject: [PATCH 672/766] Add lsd colorschemes --- users/jalr/modules/cli/default.nix | 5 ----- users/jalr/modules/default.nix | 1 + users/jalr/modules/dynamic-colors.nix | 6 ++++++ users/jalr/modules/lsd/colors-dark.yaml | 27 ++++++++++++++++++++++++ users/jalr/modules/lsd/colors-light.yaml | 27 ++++++++++++++++++++++++ users/jalr/modules/lsd/default.nix | 13 ++++++++++++ 6 files changed, 74 insertions(+), 5 deletions(-) create mode 100644 users/jalr/modules/lsd/colors-dark.yaml create mode 100644 users/jalr/modules/lsd/colors-light.yaml create mode 100644 users/jalr/modules/lsd/default.nix diff --git a/users/jalr/modules/cli/default.nix b/users/jalr/modules/cli/default.nix index 641d02b..13c5f0b 100644 --- a/users/jalr/modules/cli/default.nix +++ b/users/jalr/modules/cli/default.nix @@ -23,10 +23,5 @@ wget yt-dlp ]); - - programs.lsd = { - enable = true; - enableFishIntegration = false; - }; }; } diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index 82d5fab..b308841 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -19,6 +19,7 @@ ./gui.nix ./jameica.nix ./kicad.nix + ./lsd ./mpv.nix ./mute-indicator.nix ./mycli diff --git a/users/jalr/modules/dynamic-colors.nix b/users/jalr/modules/dynamic-colors.nix index 31e1893..0113581 100644 --- a/users/jalr/modules/dynamic-colors.nix +++ b/users/jalr/modules/dynamic-colors.nix @@ -51,6 +51,12 @@ let then [ "/usr/bin/env" "gsettings" "set" "org.gnome.desktop.interface" "gtk-theme" "Adwaita-%scheme%" ] else null; } + { + dir = "~/.config/lsd"; + light = "colors-light.yaml"; + dark = "colors-dark.yaml"; + target = "colors.yaml"; + } ]; dynamic-colors = pkgs.writers.writePython3Bin "dynamic-colors" { } '' import json diff --git a/users/jalr/modules/lsd/colors-dark.yaml b/users/jalr/modules/lsd/colors-dark.yaml new file mode 100644 index 0000000..40165eb --- /dev/null +++ b/users/jalr/modules/lsd/colors-dark.yaml @@ -0,0 +1,27 @@ +user: 125 +group: 136 +permission: + read: 166 + write: 64 + exec: 160 + exec-sticky: 125 + no-access: 245 + octal: 37 + acl: 37 + context: 245 +date: + hour-old: 64 + day-old: 136 + older: 240 +size: + none: 160 + small: 61 + medium: 37 + large: 33 +inode: + valid: 64 + invalid: 160 +links: + valid: 61 + invalid: 240 +tree-edge: 245 diff --git a/users/jalr/modules/lsd/colors-light.yaml b/users/jalr/modules/lsd/colors-light.yaml new file mode 100644 index 0000000..bbbbe59 --- /dev/null +++ b/users/jalr/modules/lsd/colors-light.yaml @@ -0,0 +1,27 @@ +user: 125 +group: 136 +permission: + read: 166 + write: 64 + exec: 160 + exec-sticky: 125 + no-access: 234 + octal: 37 + acl: 37 + context: 235 +date: + hour-old: 64 + day-old: 136 + older: 240 +size: + none: 160 + small: 61 + medium: 37 + large: 33 +inode: + valid: 61 + invalid: 160 +links: + valid: 61 + invalid: 235 +tree-edge: 235 diff --git a/users/jalr/modules/lsd/default.nix b/users/jalr/modules/lsd/default.nix new file mode 100644 index 0000000..efb2ea9 --- /dev/null +++ b/users/jalr/modules/lsd/default.nix @@ -0,0 +1,13 @@ +{ lib, nixosConfig, ... }: + +lib.mkIf nixosConfig.jalr.workstation.enable { + programs.lsd = { + enable = true; + enableFishIntegration = false; + settings = { + color.theme = "custom"; + }; + }; + xdg.configFile."lsd/colors-light.yaml".source = ./colors-light.yaml; + xdg.configFile."lsd/colors-dark.yaml".source = ./colors-dark.yaml; +} From 83e5e56a6b6bac13f445a3f5fb6a04a5b93327f8 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 12 Jun 2025 11:56:38 +0200 Subject: [PATCH 673/766] Add lsd icon config --- users/jalr/modules/lsd/default.nix | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/users/jalr/modules/lsd/default.nix b/users/jalr/modules/lsd/default.nix index efb2ea9..5547aee 100644 --- a/users/jalr/modules/lsd/default.nix +++ b/users/jalr/modules/lsd/default.nix @@ -7,6 +7,27 @@ lib.mkIf nixosConfig.jalr.workstation.enable { settings = { color.theme = "custom"; }; + icons = { + extension = { + dxf = "📏"; + flac = "🎶"; + json = "🄹"; + md = "📝"; + mp3 = "🎶"; + opus = "🎶"; + scad = "🔩"; + wav = "🎶"; + yaml = "🅈"; + yml = "🅈"; + zip = "📦"; + }; + name = { + ".envrc" = ""; + Justfile = ""; + justfile = ""; + public = "📢"; + }; + }; }; xdg.configFile."lsd/colors-light.yaml".source = ./colors-light.yaml; xdg.configFile."lsd/colors-dark.yaml".source = ./colors-dark.yaml; From 711c0eb0f0757c968c2e156a55b931e7fb43ee89 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 12 Jun 2025 15:01:31 +0200 Subject: [PATCH 674/766] Replace alacritty with wezterm as alacritty doesn't support ligatures. See https://github.com/alacritty/alacritty/issues/50 --- modules/fonts.nix | 1 + users/jalr/modules/alacritty.nix | 158 -------------------------- users/jalr/modules/default.nix | 2 +- users/jalr/modules/dynamic-colors.nix | 6 - users/jalr/modules/sway/default.nix | 12 +- users/jalr/modules/sway/waybar.nix | 2 +- users/jalr/modules/wezterm.nix | 46 ++++++++ 7 files changed, 55 insertions(+), 172 deletions(-) delete mode 100644 users/jalr/modules/alacritty.nix create mode 100644 users/jalr/modules/wezterm.nix diff --git a/modules/fonts.nix b/modules/fonts.nix index 8abb971..2225251 100644 --- a/modules/fonts.nix +++ b/modules/fonts.nix @@ -3,6 +3,7 @@ { console.font = "Lat2-Terminus16"; fonts.packages = with pkgs; lib.mkIf config.jalr.gui.enable [ + nerd-fonts.fira-code nerd-fonts.iosevka nerd-fonts.iosevka-term nerd-fonts.iosevka-term-slab diff --git a/users/jalr/modules/alacritty.nix b/users/jalr/modules/alacritty.nix deleted file mode 100644 index 4196df8..0000000 --- a/users/jalr/modules/alacritty.nix +++ /dev/null @@ -1,158 +0,0 @@ -{ lib, pkgs, nixosConfig, ... }: -let - solarized = import ./solarized.nix; - tomlFormat = pkgs.formats.toml { }; - - colorschemes = { - # https://github.com/alacritty/alacritty/wiki/Color-schemes#solarized - solarized-dark = { - # Default colors - primary = { - background = solarized.base03.hex; - foreground = solarized.base0.hex; - }; - - # Cursor colors - cursor = { - text = solarized.base03.hex; - cursor = solarized.base0.hex; - }; - - # Normal colors - normal = { - black = solarized.base02.hex; - red = solarized.red.hex; - green = solarized.green.hex; - yellow = solarized.yellow.hex; - blue = solarized.blue.hex; - magenta = solarized.magenta.hex; - cyan = solarized.cyan.hex; - white = solarized.base2.hex; - }; - - # Bright colors - bright = { - black = solarized.base03.hex; - red = solarized.orange.hex; - green = solarized.base01.hex; - yellow = solarized.base00.hex; - blue = solarized.base0.hex; - magenta = solarized.violet.hex; - cyan = solarized.base1.hex; - white = solarized.base3.hex; - }; - }; - - solarized-light = { - # Default colors - primary = { - background = solarized.base3.hex; - foreground = solarized.base00.hex; - }; - - # Cursor colors - cursor = { - text = solarized.base3.hex; - cursor = solarized.base00.hex; - }; - - # Normal colors - normal = { - black = solarized.base02.hex; - red = solarized.red.hex; - green = solarized.green.hex; - yellow = solarized.yellow.hex; - blue = solarized.blue.hex; - magenta = solarized.magenta.hex; - cyan = solarized.cyan.hex; - white = solarized.base2.hex; - }; - - # Bright colors - bright = { - black = solarized.base03.hex; - red = solarized.orange.hex; - green = solarized.base01.hex; - yellow = solarized.base00.hex; - blue = solarized.base0.hex; - magenta = solarized.violet.hex; - cyan = solarized.base1.hex; - white = solarized.base3.hex; - }; - }; - }; - commonSettings = { - font = { - normal = { - family = "Inconsolata for Powerline"; - style = "Regular"; - }; - size = 12; - }; - - mouse.hide_when_typing = true; - - keyboard.bindings = [ - { - key = "F1"; - mods = "Control"; - action = "DecreaseFontSize"; - } - { - key = "F2"; - mods = "Control"; - action = "IncreaseFontSize"; - } - ]; - - bell = { - duration = 100; - color = "#000000"; - }; - - window.dynamic_title = true; - - scrolling.history = 100000; - - window.opacity = 0.9; - }; - settings = { - dark = commonSettings // { - colors = colorschemes.solarized-dark; - }; - light = commonSettings // { - colors = colorschemes.solarized-light; - }; - }; -in -{ - - programs.alacritty = { - inherit (nixosConfig.jalr.gui) enable; - }; - - xdg.configFile = lib.attrsets.mapAttrs' - (colorScheme: cfg: - let name = "alacritty-${colorScheme}.toml"; - in - lib.attrsets.nameValuePair "alacritty/${name}" { - source = tomlFormat.generate name cfg; - target = "alacritty/${name}"; - } - ) - settings; - - programs.fish.functions = { - ssh = { - description = "ssh wrapper function"; - wraps = "ssh"; - body = '' - if [ "$TERM" = alacritty ] - TERM=xterm-256color command ssh $argv - else - command ssh $argv - end - ''; - }; - }; -} diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index b308841..76f8f9e 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -2,7 +2,6 @@ imports = [ ./3d-modeling.nix ./3d-printing.nix - ./alacritty.nix ./ardour.nix ./aws.nix ./cli @@ -43,5 +42,6 @@ ./trilium.nix ./vdirsyncer.nix ./vesc-tool.nix + ./wezterm.nix ]; } diff --git a/users/jalr/modules/dynamic-colors.nix b/users/jalr/modules/dynamic-colors.nix index 0113581..c97e9ed 100644 --- a/users/jalr/modules/dynamic-colors.nix +++ b/users/jalr/modules/dynamic-colors.nix @@ -7,12 +7,6 @@ let done < "$1" ''; applicationConfig = [ - { - dir = "~/.config/alacritty"; - light = "alacritty-light.toml"; - dark = "alacritty-dark.toml"; - target = "alacritty.toml"; - } { dir = "~/.config/wofi"; light = "color-light"; diff --git a/users/jalr/modules/sway/default.nix b/users/jalr/modules/sway/default.nix index 2d1a004..846c1ae 100644 --- a/users/jalr/modules/sway/default.nix +++ b/users/jalr/modules/sway/default.nix @@ -3,18 +3,18 @@ let solarized = import ../solarized.nix; terminalEmulator = - pkgs.writeShellScript "alacritty-sway-cwd" '' - this_alacritty_pid="$(${pkgs.sway}/bin/swaymsg -t get_tree | ${pkgs.jq}/bin/jq -e 'recurse(.nodes[]?) | select((.focused==true) and (.app_id=="Alacritty")).pid')" + pkgs.writeShellScript "wezterm-sway-cwd" '' + this_wezterm_pid="$(${pkgs.sway}/bin/swaymsg -t get_tree --raw | ${pkgs.jq}/bin/jq -e 'recurse(.nodes[]?) | select((.focused==true) and (.app_id=="org.wezfurlong.wezterm")).pid')" - if [ "$this_alacritty_pid" ]; then - child_pid="$(pgrep -P "$this_alacritty_pid")" + if [ "$this_wezterm_pid" ]; then + child_pid="$(pgrep -P "$this_wezterm_pid")" cwd="$(readlink /proc/$child_pid/cwd)" fi if [ -e "$cwd" ]; then - exec ${pkgs.alacritty}/bin/alacritty --working-directory "$cwd" + exec ${pkgs.wezterm}/bin/wezterm start --cwd "$cwd" fi - exec ${pkgs.alacritty}/bin/alacritty + exec ${pkgs.wezterm}/bin/wezterm ''; cfg = config.wayland.windowManager.sway.config; wallpaper = pkgs.fetchurl { diff --git a/users/jalr/modules/sway/waybar.nix b/users/jalr/modules/sway/waybar.nix index bbf1132..628e3e8 100644 --- a/users/jalr/modules/sway/waybar.nix +++ b/users/jalr/modules/sway/waybar.nix @@ -176,7 +176,7 @@ in format-disconnected = "Disconnected ⚠ "; format-alt = "{ifname}: {ipaddr}/{cidr}"; tooltip = false; - on-click-right = "${config.programs.alacritty.package}/bin/alacritty -e ${pkgs.networkmanager}/bin/nmtui"; + on-click-right = "${config.programs.wezterm.package}/bin/wezterm start -e ${pkgs.networkmanager}/bin/nmtui"; }; memory = { interval = 2; diff --git a/users/jalr/modules/wezterm.nix b/users/jalr/modules/wezterm.nix new file mode 100644 index 0000000..be238eb --- /dev/null +++ b/users/jalr/modules/wezterm.nix @@ -0,0 +1,46 @@ +{ config, lib, nixosConfig, ... }: + +let + weztermConfig = { + hide_tab_bar_if_only_one_tab = true; + #color_scheme = "Solarized (dark) (terminal.sexy)"; + #color_scheme = "Solarized (light) (terminal.sexy)"; + font = "FiraCode Nerd Font Mono"; + font_size = 12; + }; +in +{ + programs.wezterm = { + inherit (nixosConfig.jalr.gui) enable; + extraConfig = '' + local wezterm = require 'wezterm' + ${lib.generators.toLua {asBindings=true;} {config=weztermConfig;}} + config.font = wezterm.font(config.font) + + function get_appearance() + if wezterm.gui then + return wezterm.gui.get_appearance() + end + return 'Light' + end + + function scheme_for_appearance(appearance) + if appearance:find 'Dark' then + return 'Builtin Solarized Dark' + else + return 'Builtin Solarized Light' + end + end + + config.color_scheme = scheme_for_appearance(get_appearance()) + + return config + ''; + }; + /* + file = io.open("${config.xdg.configHome}/wezterm/color_scheme.txt", "r") + io.input(file) + config.color_scheme = io.read() + io.close(file) + */ +} From fdd8e63f537705d0baf91792a32b846d764cd7c4 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 16 Jun 2025 11:12:05 +0200 Subject: [PATCH 675/766] Add VESC board `60` --- users/jalr/modules/vesc-tool.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/users/jalr/modules/vesc-tool.nix b/users/jalr/modules/vesc-tool.nix index ec8682c..16daa17 100644 --- a/users/jalr/modules/vesc-tool.nix +++ b/users/jalr/modules/vesc-tool.nix @@ -5,6 +5,7 @@ lib.mkIf nixosConfig.jalr.gui.enable { xdg.dataFile."VESC/firmware".source = pkgs.bldc-fw.override { fwBoards = [ "410" + "60" "60_mk3" ]; }; From d340eaf3eb8bc71d35e74140d7cc48f6ec27180e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 16 Jun 2025 11:13:38 +0200 Subject: [PATCH 676/766] Add diagnostic settings --- users/jalr/modules/neovim/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/users/jalr/modules/neovim/default.nix b/users/jalr/modules/neovim/default.nix index 7effe7b..eb1aa52 100644 --- a/users/jalr/modules/neovim/default.nix +++ b/users/jalr/modules/neovim/default.nix @@ -50,6 +50,8 @@ in sign define LspDiagnosticsSignInformation text=🟣 sign define LspDiagnosticsSignHint text=🟢 + nnoremap de lua vim.diagnostic.enable(not vim.diagnostic.is_enabled()) + nnoremap di lua vim.diagnostic.open_float() nnoremap gd lua vim.lsp.buf.definition() nnoremap gi lua vim.lsp.buf.implementation() nnoremap gr lua vim.lsp.buf.references() @@ -162,6 +164,9 @@ in -- this configuration applies to workstations only -- https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md local lsp = require('lspconfig') + + -- show linter messages + vim.diagnostic.config({ virtual_text = true }) '' + builtins.concatStringsSep "\n" ( lib.mapAttrsToList From 088e35e8d1119cd29667a097c4db4c9fbd9438ad Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 16 Jun 2025 11:14:04 +0200 Subject: [PATCH 677/766] Disable some PHP linter warnings --- users/jalr/modules/neovim/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/users/jalr/modules/neovim/default.nix b/users/jalr/modules/neovim/default.nix index eb1aa52..cab3174 100644 --- a/users/jalr/modules/neovim/default.nix +++ b/users/jalr/modules/neovim/default.nix @@ -187,6 +187,12 @@ in # PHP phpactor = { cmd = [ "${pkgs.phpactor}/bin/phpactor" "language-server" ]; + init_options = { + "language_server.diagnostic_ignore_codes" = [ + "worse.docblock_missing_param" + "worse.docblock_missing_return_type" + ]; + }; }; # Python From f5d847e04a4bd50bccc1e7cf203638225d8381f3 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 16 Jun 2025 11:15:39 +0200 Subject: [PATCH 678/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/17d08c65c241b1d65b3ddf79e3fac1ddc870b0f6?narHash=sha256-W8KiJIrVwmf43JOPbbTu5lzq%2BcmdtRqaNbOsZigjioY%3D' (2025-06-06) → 'github:nix-community/disko/7f1857b31522062a6a00f88cbccf86b43acceed1?narHash=sha256-KrC9iOVYIn6ukpVlHbqSA4hYCZ6oDyJKrcLqv4c5v84%3D' (2025-06-16) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/80479b6ec16fefd9c1db3ea13aeb038c60530f46?narHash=sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo%2BbnXU9D9k%3D' (2025-05-16) → 'github:cachix/git-hooks.nix/623c56286de5a3193aa38891a6991b28f9bab056?narHash=sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4%3D' (2025-06-11) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/4602f7e1d3f197b3cb540d5accf5669121629628?narHash=sha256-W5GKQHgunda/OP9sbKENBZhMBDNu2QahoIPwnsF6CeM%3D' (2025-06-06) → 'github:nixos/nixos-hardware/db030f62a449568345372bd62ed8c5be4824fa49?narHash=sha256-lfxhuxAaHlYFGr8yOrAXZqdMt8PrFLzjVqH9v3lQaoY%3D' (2025-06-13) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/4792576cb003c994bd7cc1edada3129def20b27d?narHash=sha256-DJcgJMekoxVesl9kKjfLPix2Nbr42i7cpEHJiTnBUwU%3D' (2025-06-05) → 'github:nixos/nixpkgs/5f4f306bea96741f1588ea4f450b2a2e29f42b98?narHash=sha256-tG5xUn3hFaPpAHYIvr2F88b%2BovcIO5k1HqajFy7ZFPM%3D' (2025-06-13) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/ebd3748a6b97de45844aa62701b81df35c5c1269?narHash=sha256-LEZbj%2BVD/AR/dWL5ns1gMwzMvp4mLlv4WalxmZTKy5Y%3D' (2025-06-06) → 'github:NixOS/nixpkgs/3cbfdb57d81514cc480ab8ba193826156acdea16?narHash=sha256-aA8zF3Tuwgb4sY90fL/P5ko8LwEqY8zXQCvN/EmUoj0%3D' (2025-06-16) • Updated input 'nur': 'github:nix-community/NUR/17efc5275a8f21e2b48f39ecade74cdaff3ba411?narHash=sha256-haiPLogZwEFQTrIarZD92LUK7ScIcMbtEzPlcC988Qk%3D' (2025-06-06) → 'github:nix-community/NUR/e09c24b8347839f2ca0a9fc713c5f4641f50c287?narHash=sha256-IllO59EZ/uROQ8%2BDHm786L0XbZAXPyzQ66fOks7dAOk%3D' (2025-06-16) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/c2a03962b8e24e669fb37b7df10e7c79531ff1a4?narHash=sha256-lcZQ8RhsmhsK8u7LIFsJhsLh/pzR9yZ8yqpTzyGdj%2BQ%3D' (2025-06-03) → 'github:nixos/nixpkgs/ee930f9755f58096ac6e8ca94a1887e0534e2d81?narHash=sha256-Kh9K4taXbVuaLC0IL%2B9HcfvxsSUx8dPB5s5weJcc9pc%3D' (2025-06-13) • Updated input 'sops-nix': 'github:Mic92/sops-nix/8d215e1c981be3aa37e47aeabd4e61bb069548fd?narHash=sha256-lAblXm0VwifYCJ/ILPXJwlz0qNY07DDYdLD%2B9H%2BWc8o%3D' (2025-05-18) → 'github:Mic92/sops-nix/50754dfaa0e24e313c626900d44ef431f3210138?narHash=sha256-VunQzfZFA%2BY6x3wYi2UE4DEQ8qKoAZZCnZPUlSoqC%2BA%3D' (2025-06-10) • Updated input 'vesc-tool': 'github:vedderb/vesc_tool/b71ad9fcfb088350d5eadeea29292de3e5a06bb8?narHash=sha256-SXG7ukrSkNW7SF0VJpSBHR60aAGBVYJ2mFQWhSFuVa0%3D' (2025-05-30) → 'github:vedderb/vesc_tool/5ff884fe978f61986e01c1e02bb5b4f793435ed9?narHash=sha256-04bH1SC8YzoKGMGmjOv1xkUCTrMAy2UVn%2BfKa4LWLdc%3D' (2025-06-13) --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index 6c970ea..c000840 100644 --- a/flake.lock +++ b/flake.lock @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1749200714, - "narHash": "sha256-W8KiJIrVwmf43JOPbbTu5lzq+cmdtRqaNbOsZigjioY=", + "lastModified": 1750040002, + "narHash": "sha256-KrC9iOVYIn6ukpVlHbqSA4hYCZ6oDyJKrcLqv4c5v84=", "owner": "nix-community", "repo": "disko", - "rev": "17d08c65c241b1d65b3ddf79e3fac1ddc870b0f6", + "rev": "7f1857b31522062a6a00f88cbccf86b43acceed1", "type": "github" }, "original": { @@ -366,11 +366,11 @@ ] }, "locked": { - "lastModified": 1747372754, - "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", + "lastModified": 1749636823, + "narHash": "sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", + "rev": "623c56286de5a3193aa38891a6991b28f9bab056", "type": "github" }, "original": { @@ -382,11 +382,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1749195551, - "narHash": "sha256-W5GKQHgunda/OP9sbKENBZhMBDNu2QahoIPwnsF6CeM=", + "lastModified": 1749832440, + "narHash": "sha256-lfxhuxAaHlYFGr8yOrAXZqdMt8PrFLzjVqH9v3lQaoY=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "4602f7e1d3f197b3cb540d5accf5669121629628", + "rev": "db030f62a449568345372bd62ed8c5be4824fa49", "type": "github" }, "original": { @@ -398,11 +398,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1749086602, - "narHash": "sha256-DJcgJMekoxVesl9kKjfLPix2Nbr42i7cpEHJiTnBUwU=", + "lastModified": 1749857119, + "narHash": "sha256-tG5xUn3hFaPpAHYIvr2F88b+ovcIO5k1HqajFy7ZFPM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4792576cb003c994bd7cc1edada3129def20b27d", + "rev": "5f4f306bea96741f1588ea4f450b2a2e29f42b98", "type": "github" }, "original": { @@ -430,11 +430,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1749201760, - "narHash": "sha256-LEZbj+VD/AR/dWL5ns1gMwzMvp4mLlv4WalxmZTKy5Y=", + "lastModified": 1750065193, + "narHash": "sha256-aA8zF3Tuwgb4sY90fL/P5ko8LwEqY8zXQCvN/EmUoj0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ebd3748a6b97de45844aa62701b81df35c5c1269", + "rev": "3cbfdb57d81514cc480ab8ba193826156acdea16", "type": "github" }, "original": { @@ -462,11 +462,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1748929857, - "narHash": "sha256-lcZQ8RhsmhsK8u7LIFsJhsLh/pzR9yZ8yqpTzyGdj+Q=", + "lastModified": 1749794982, + "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c2a03962b8e24e669fb37b7df10e7c79531ff1a4", + "rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", "type": "github" }, "original": { @@ -499,11 +499,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1749201010, - "narHash": "sha256-haiPLogZwEFQTrIarZD92LUK7ScIcMbtEzPlcC988Qk=", + "lastModified": 1750064370, + "narHash": "sha256-IllO59EZ/uROQ8+DHm786L0XbZAXPyzQ66fOks7dAOk=", "owner": "nix-community", "repo": "NUR", - "rev": "17efc5275a8f21e2b48f39ecade74cdaff3ba411", + "rev": "e09c24b8347839f2ca0a9fc713c5f4641f50c287", "type": "github" }, "original": { @@ -614,11 +614,11 @@ ] }, "locked": { - "lastModified": 1747603214, - "narHash": "sha256-lAblXm0VwifYCJ/ILPXJwlz0qNY07DDYdLD+9H+Wc8o=", + "lastModified": 1749592509, + "narHash": "sha256-VunQzfZFA+Y6x3wYi2UE4DEQ8qKoAZZCnZPUlSoqC+A=", "owner": "Mic92", "repo": "sops-nix", - "rev": "8d215e1c981be3aa37e47aeabd4e61bb069548fd", + "rev": "50754dfaa0e24e313c626900d44ef431f3210138", "type": "github" }, "original": { @@ -730,11 +730,11 @@ "treefmt-nix": "treefmt-nix_3" }, "locked": { - "lastModified": 1748618178, - "narHash": "sha256-SXG7ukrSkNW7SF0VJpSBHR60aAGBVYJ2mFQWhSFuVa0=", + "lastModified": 1749812120, + "narHash": "sha256-04bH1SC8YzoKGMGmjOv1xkUCTrMAy2UVn+fKa4LWLdc=", "owner": "vedderb", "repo": "vesc_tool", - "rev": "b71ad9fcfb088350d5eadeea29292de3e5a06bb8", + "rev": "5ff884fe978f61986e01c1e02bb5b4f793435ed9", "type": "github" }, "original": { From a7575016a88817dabda5308c2f172fe226c31cc5 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 16 Jun 2025 11:52:12 +0200 Subject: [PATCH 679/766] Downgrade tree-style-tab as the current version is incompatible with firefox-esr. --- users/jalr/modules/firefox/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/users/jalr/modules/firefox/default.nix b/users/jalr/modules/firefox/default.nix index 56186b9..a889323 100644 --- a/users/jalr/modules/firefox/default.nix +++ b/users/jalr/modules/firefox/default.nix @@ -276,7 +276,11 @@ browserpass darkreader sponsorblock - tree-style-tab + (tree-style-tab.override { + version = "4.1.6"; + url = "https://addons.mozilla.org/firefox/downloads/file/4488104/tree_style_tab-4.1.6.xpi"; + sha256 = "sha256-X0HC6jzytjBsM+8HmbK48DUihtdN9oCsqLUJqp29csQ="; + }) ublock-origin umatrix violentmonkey From bfe01df3337c932d7d67fbbf8e5b2b0645728558 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 16 Jun 2025 17:16:25 +0200 Subject: [PATCH 680/766] Implement php debugging --- users/jalr/modules/firefox/default.nix | 1 + users/jalr/modules/neovim/default.nix | 68 +++++++++++++++++++++----- 2 files changed, 57 insertions(+), 12 deletions(-) diff --git a/users/jalr/modules/firefox/default.nix b/users/jalr/modules/firefox/default.nix index a889323..af9224b 100644 --- a/users/jalr/modules/firefox/default.nix +++ b/users/jalr/modules/firefox/default.nix @@ -284,6 +284,7 @@ ublock-origin umatrix violentmonkey + xdebug-helper-for-firefox youtube-shorts-block ]; settings = { diff --git a/users/jalr/modules/neovim/default.nix b/users/jalr/modules/neovim/default.nix index cab3174..03b8b0b 100644 --- a/users/jalr/modules/neovim/default.nix +++ b/users/jalr/modules/neovim/default.nix @@ -50,19 +50,27 @@ in sign define LspDiagnosticsSignInformation text=🟣 sign define LspDiagnosticsSignHint text=🟢 - nnoremap de lua vim.diagnostic.enable(not vim.diagnostic.is_enabled()) - nnoremap di lua vim.diagnostic.open_float() - nnoremap gd lua vim.lsp.buf.definition() - nnoremap gi lua vim.lsp.buf.implementation() - nnoremap gr lua vim.lsp.buf.references() - nnoremap gD lua vim.lsp.buf.declaration() - nnoremap ge lua vim.lsp.diagnostic.set_loclist() - nnoremap K lua vim.lsp.buf.hover() - nnoremap f lua vim.lsp.buf.formatting() - nnoremap rn lua vim.lsp.buf.rename() + nnoremap e lua vim.diagnostic.enable(not vim.diagnostic.is_enabled()) + nnoremap i lua vim.diagnostic.open_float() + nnoremap gd lua vim.lsp.buf.definition() + nnoremap gi lua vim.lsp.buf.implementation() + nnoremap gr lua vim.lsp.buf.references() + nnoremap gD lua vim.lsp.buf.declaration() + nnoremap ge lua vim.lsp.diagnostic.set_loclist() + nnoremap K lua vim.lsp.buf.hover() + nnoremap f lua vim.lsp.buf.formatting() + nnoremap rn lua vim.lsp.buf.rename() - nnoremap a lua vim.lsp.buf.code_action() - xmap a lua vim.lsp.buf.range_code_action() + nnoremap dh lua require('dap.ui.widgets').hover() + nnoremap dp lua require('dap.ui.widgets').preview() + nnoremap dc lua require('dap').continue() + nnoremap do lua require('dap').step_over() + nnoremap di lua require('dap').step_into() + nnoremap dn lua require('dap').step_out() + nnoremap b lua require('dap').toggle_breakpoint() + + nnoremap a lua vim.lsp.buf.code_action() + xmap a lua vim.lsp.buf.range_code_action() lua require('init') ''; @@ -84,6 +92,42 @@ in colorscheme NeoSolarized ''; } + { + plugin = nvim-dap; + type = "lua"; + config = '' + local dap = require('dap') + dap.adapters.php = { + type = "executable", + command = "${pkgs.nodejs}/bin/node", + args = { "${pkgs.vscode-extensions.xdebug.php-debug}/share/vscode/extensions/xdebug.php-debug/out/phpDebug.js" } + } + + dap.configurations.php = { + { + type = "php", + request = "launch", + name = "Listen for Xdebug", + port = 9003, + --stopOnEntry = true, + pathMappings = { + ["/app/"] = vim.fn.getcwd().."/", + }, + log = true, + hostname = "0.0.0.0", + } + } + + vim.api.nvim_create_autocmd( + "FileType", { + pattern = "dap-float", + callback = function() + vim.api.nvim_buf_set_keymap(0, "n", "q", "close!", { noremap = true, silent = true }) + end + } + ) + ''; + } deoplete-nvim editorconfig-vim jinja-vim From 3789ace3e76d4eeb3cab935d2a5647c81a6e9474 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 18 Jun 2025 11:11:02 +0200 Subject: [PATCH 681/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/db030f62a449568345372bd62ed8c5be4824fa49?narHash=sha256-lfxhuxAaHlYFGr8yOrAXZqdMt8PrFLzjVqH9v3lQaoY%3D' (2025-06-13) → 'github:nixos/nixos-hardware/61837d2a33ccc1582c5fabb7bf9130d39fee59ad?narHash=sha256-ynqbgIYrg7P1fAKYqe8I/PMiLABBcNDYG9YaAP/d/C4%3D' (2025-06-16) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/5f4f306bea96741f1588ea4f450b2a2e29f42b98?narHash=sha256-tG5xUn3hFaPpAHYIvr2F88b%2BovcIO5k1HqajFy7ZFPM%3D' (2025-06-13) → 'github:nixos/nixpkgs/36ab78dab7da2e4e27911007033713bab534187b?narHash=sha256-urV51uWH7fVnhIvsZIELIYalMYsyr2FCalvlRTzqWRw%3D' (2025-06-17) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/3cbfdb57d81514cc480ab8ba193826156acdea16?narHash=sha256-aA8zF3Tuwgb4sY90fL/P5ko8LwEqY8zXQCvN/EmUoj0%3D' (2025-06-16) → 'github:NixOS/nixpkgs/b95bc4d285032de7842cc8396e55fb21f70f3bce?narHash=sha256-66zezez0HO30aYAyA63%2BHLCA%2BarVAIwFohEeE4nNl9I%3D' (2025-06-18) • Updated input 'nur': 'github:nix-community/NUR/e09c24b8347839f2ca0a9fc713c5f4641f50c287?narHash=sha256-IllO59EZ/uROQ8%2BDHm786L0XbZAXPyzQ66fOks7dAOk%3D' (2025-06-16) → 'github:nix-community/NUR/8d9894966f0c06b8e36f1ed1268ca3f080094302?narHash=sha256-N%2B716O0Wgrs3px24zm8Kvh2W8j6HEdfxw1jHBpSnQvU%3D' (2025-06-18) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/ee930f9755f58096ac6e8ca94a1887e0534e2d81?narHash=sha256-Kh9K4taXbVuaLC0IL%2B9HcfvxsSUx8dPB5s5weJcc9pc%3D' (2025-06-13) → 'github:nixos/nixpkgs/9e83b64f727c88a7711a2c463a7b16eedb69a84c?narHash=sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI%3D' (2025-06-17) • Updated input 'sops-nix': 'github:Mic92/sops-nix/50754dfaa0e24e313c626900d44ef431f3210138?narHash=sha256-VunQzfZFA%2BY6x3wYi2UE4DEQ8qKoAZZCnZPUlSoqC%2BA%3D' (2025-06-10) → 'github:Mic92/sops-nix/77c423a03b9b2b79709ea2cb63336312e78b72e2?narHash=sha256-Rr7Pooz9zQbhdVxux16h7URa6mA80Pb/G07T4lHvh0M%3D' (2025-06-17) • Updated input 'vesc-tool': 'github:vedderb/vesc_tool/5ff884fe978f61986e01c1e02bb5b4f793435ed9?narHash=sha256-04bH1SC8YzoKGMGmjOv1xkUCTrMAy2UVn%2BfKa4LWLdc%3D' (2025-06-13) → 'github:vedderb/vesc_tool/6b979dc7285d6b54850840c4c4d24a06a032b9cb?narHash=sha256-YD%2BSt6iUa6R5Mi6TFRhvsRKGTrp/dBps74/7hlPXjoc%3D' (2025-06-17) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index c000840..2d66daf 100644 --- a/flake.lock +++ b/flake.lock @@ -382,11 +382,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1749832440, - "narHash": "sha256-lfxhuxAaHlYFGr8yOrAXZqdMt8PrFLzjVqH9v3lQaoY=", + "lastModified": 1750083401, + "narHash": "sha256-ynqbgIYrg7P1fAKYqe8I/PMiLABBcNDYG9YaAP/d/C4=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "db030f62a449568345372bd62ed8c5be4824fa49", + "rev": "61837d2a33ccc1582c5fabb7bf9130d39fee59ad", "type": "github" }, "original": { @@ -398,11 +398,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1749857119, - "narHash": "sha256-tG5xUn3hFaPpAHYIvr2F88b+ovcIO5k1HqajFy7ZFPM=", + "lastModified": 1750133334, + "narHash": "sha256-urV51uWH7fVnhIvsZIELIYalMYsyr2FCalvlRTzqWRw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5f4f306bea96741f1588ea4f450b2a2e29f42b98", + "rev": "36ab78dab7da2e4e27911007033713bab534187b", "type": "github" }, "original": { @@ -430,11 +430,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1750065193, - "narHash": "sha256-aA8zF3Tuwgb4sY90fL/P5ko8LwEqY8zXQCvN/EmUoj0=", + "lastModified": 1750237837, + "narHash": "sha256-66zezez0HO30aYAyA63+HLCA+arVAIwFohEeE4nNl9I=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3cbfdb57d81514cc480ab8ba193826156acdea16", + "rev": "b95bc4d285032de7842cc8396e55fb21f70f3bce", "type": "github" }, "original": { @@ -462,11 +462,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1749794982, - "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", + "lastModified": 1750134718, + "narHash": "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", + "rev": "9e83b64f727c88a7711a2c463a7b16eedb69a84c", "type": "github" }, "original": { @@ -499,11 +499,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1750064370, - "narHash": "sha256-IllO59EZ/uROQ8+DHm786L0XbZAXPyzQ66fOks7dAOk=", + "lastModified": 1750237017, + "narHash": "sha256-N+716O0Wgrs3px24zm8Kvh2W8j6HEdfxw1jHBpSnQvU=", "owner": "nix-community", "repo": "NUR", - "rev": "e09c24b8347839f2ca0a9fc713c5f4641f50c287", + "rev": "8d9894966f0c06b8e36f1ed1268ca3f080094302", "type": "github" }, "original": { @@ -614,11 +614,11 @@ ] }, "locked": { - "lastModified": 1749592509, - "narHash": "sha256-VunQzfZFA+Y6x3wYi2UE4DEQ8qKoAZZCnZPUlSoqC+A=", + "lastModified": 1750119275, + "narHash": "sha256-Rr7Pooz9zQbhdVxux16h7URa6mA80Pb/G07T4lHvh0M=", "owner": "Mic92", "repo": "sops-nix", - "rev": "50754dfaa0e24e313c626900d44ef431f3210138", + "rev": "77c423a03b9b2b79709ea2cb63336312e78b72e2", "type": "github" }, "original": { @@ -730,11 +730,11 @@ "treefmt-nix": "treefmt-nix_3" }, "locked": { - "lastModified": 1749812120, - "narHash": "sha256-04bH1SC8YzoKGMGmjOv1xkUCTrMAy2UVn+fKa4LWLdc=", + "lastModified": 1750175979, + "narHash": "sha256-YD+St6iUa6R5Mi6TFRhvsRKGTrp/dBps74/7hlPXjoc=", "owner": "vedderb", "repo": "vesc_tool", - "rev": "5ff884fe978f61986e01c1e02bb5b4f793435ed9", + "rev": "6b979dc7285d6b54850840c4c4d24a06a032b9cb", "type": "github" }, "original": { From 29525dc308a6485a69986d1bab5928c294d5eb5d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 20 Jun 2025 21:57:39 +0200 Subject: [PATCH 682/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'gomod2nix': 'github:nix-community/gomod2nix/2cbd7fdd6eeab65c494cc426e18f4e4d2a5e35c0?narHash=sha256-0YkWCS13jpoo3%2BsX/3kcgdxBNt1VZTmvF%2BFhZb4rFKI%3D' (2025-04-28) → 'github:nix-community/gomod2nix/a5f75f563748599d448a4a076816041d7b0fc07e?narHash=sha256-SjpXWEeB%2BUIMzuCAF94PuyAXpJdnBLF45JvI6o4wKIU%3D' (2025-06-19) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/61837d2a33ccc1582c5fabb7bf9130d39fee59ad?narHash=sha256-ynqbgIYrg7P1fAKYqe8I/PMiLABBcNDYG9YaAP/d/C4%3D' (2025-06-16) → 'github:nixos/nixos-hardware/1552a9f4513f3f0ceedcf90320e48d3d47165712?narHash=sha256-vnzzBDbCGvInmfn2ijC4HsIY/3W1CWbwS/YQoFgdgPg%3D' (2025-06-20) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/36ab78dab7da2e4e27911007033713bab534187b?narHash=sha256-urV51uWH7fVnhIvsZIELIYalMYsyr2FCalvlRTzqWRw%3D' (2025-06-17) → 'github:nixos/nixpkgs/9ba04bda9249d5d5e5238303c9755de5a49a79c5?narHash=sha256-H8J4H2XCIMEJ5g6fZ179QfQvsc2dUqhqfBjC8RAHNRY%3D' (2025-06-18) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/b95bc4d285032de7842cc8396e55fb21f70f3bce?narHash=sha256-66zezez0HO30aYAyA63%2BHLCA%2BarVAIwFohEeE4nNl9I%3D' (2025-06-18) → 'github:NixOS/nixpkgs/4fab5e9fe91c7c26c31eb4d936e24737def51508?narHash=sha256-R8L8tE/pxn%2BzEZVHvs2ZY8vCKovr1DZjLl%2B0VkTVTR8%3D' (2025-06-20) • Updated input 'nur': 'github:nix-community/NUR/8d9894966f0c06b8e36f1ed1268ca3f080094302?narHash=sha256-N%2B716O0Wgrs3px24zm8Kvh2W8j6HEdfxw1jHBpSnQvU%3D' (2025-06-18) → 'github:nix-community/NUR/de5be5d9770e5f95d0a2717455a9acb0f7ddec60?narHash=sha256-VVZClU2AbfG0mpczqn91R9h4It/jgjt0EkTGe8GB2DA%3D' (2025-06-20) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/9e83b64f727c88a7711a2c463a7b16eedb69a84c?narHash=sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI%3D' (2025-06-17) → 'github:nixos/nixpkgs/08f22084e6085d19bcfb4be30d1ca76ecb96fe54?narHash=sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50%3D' (2025-06-19) • Updated input 'vesc-tool': 'github:vedderb/vesc_tool/6b979dc7285d6b54850840c4c4d24a06a032b9cb?narHash=sha256-YD%2BSt6iUa6R5Mi6TFRhvsRKGTrp/dBps74/7hlPXjoc%3D' (2025-06-17) → 'github:vedderb/vesc_tool/967347297c137b5ec1c3704fe2e7a21958f82f14?narHash=sha256-fNVZaAvptaF99BlTVED4oTX64PguJFFXlzVUSR7wrpU%3D' (2025-06-19) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 2d66daf..0f4a080 100644 --- a/flake.lock +++ b/flake.lock @@ -223,11 +223,11 @@ ] }, "locked": { - "lastModified": 1745875161, - "narHash": "sha256-0YkWCS13jpoo3+sX/3kcgdxBNt1VZTmvF+FhZb4rFKI=", + "lastModified": 1750314194, + "narHash": "sha256-SjpXWEeB+UIMzuCAF94PuyAXpJdnBLF45JvI6o4wKIU=", "owner": "nix-community", "repo": "gomod2nix", - "rev": "2cbd7fdd6eeab65c494cc426e18f4e4d2a5e35c0", + "rev": "a5f75f563748599d448a4a076816041d7b0fc07e", "type": "github" }, "original": { @@ -382,11 +382,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1750083401, - "narHash": "sha256-ynqbgIYrg7P1fAKYqe8I/PMiLABBcNDYG9YaAP/d/C4=", + "lastModified": 1750431636, + "narHash": "sha256-vnzzBDbCGvInmfn2ijC4HsIY/3W1CWbwS/YQoFgdgPg=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "61837d2a33ccc1582c5fabb7bf9130d39fee59ad", + "rev": "1552a9f4513f3f0ceedcf90320e48d3d47165712", "type": "github" }, "original": { @@ -398,11 +398,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1750133334, - "narHash": "sha256-urV51uWH7fVnhIvsZIELIYalMYsyr2FCalvlRTzqWRw=", + "lastModified": 1750259320, + "narHash": "sha256-H8J4H2XCIMEJ5g6fZ179QfQvsc2dUqhqfBjC8RAHNRY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "36ab78dab7da2e4e27911007033713bab534187b", + "rev": "9ba04bda9249d5d5e5238303c9755de5a49a79c5", "type": "github" }, "original": { @@ -430,11 +430,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1750237837, - "narHash": "sha256-66zezez0HO30aYAyA63+HLCA+arVAIwFohEeE4nNl9I=", + "lastModified": 1750447714, + "narHash": "sha256-R8L8tE/pxn+zEZVHvs2ZY8vCKovr1DZjLl+0VkTVTR8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b95bc4d285032de7842cc8396e55fb21f70f3bce", + "rev": "4fab5e9fe91c7c26c31eb4d936e24737def51508", "type": "github" }, "original": { @@ -462,11 +462,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1750134718, - "narHash": "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI=", + "lastModified": 1750365781, + "narHash": "sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9e83b64f727c88a7711a2c463a7b16eedb69a84c", + "rev": "08f22084e6085d19bcfb4be30d1ca76ecb96fe54", "type": "github" }, "original": { @@ -499,11 +499,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1750237017, - "narHash": "sha256-N+716O0Wgrs3px24zm8Kvh2W8j6HEdfxw1jHBpSnQvU=", + "lastModified": 1750448731, + "narHash": "sha256-VVZClU2AbfG0mpczqn91R9h4It/jgjt0EkTGe8GB2DA=", "owner": "nix-community", "repo": "NUR", - "rev": "8d9894966f0c06b8e36f1ed1268ca3f080094302", + "rev": "de5be5d9770e5f95d0a2717455a9acb0f7ddec60", "type": "github" }, "original": { @@ -730,11 +730,11 @@ "treefmt-nix": "treefmt-nix_3" }, "locked": { - "lastModified": 1750175979, - "narHash": "sha256-YD+St6iUa6R5Mi6TFRhvsRKGTrp/dBps74/7hlPXjoc=", + "lastModified": 1750336890, + "narHash": "sha256-fNVZaAvptaF99BlTVED4oTX64PguJFFXlzVUSR7wrpU=", "owner": "vedderb", "repo": "vesc_tool", - "rev": "6b979dc7285d6b54850840c4c4d24a06a032b9cb", + "rev": "967347297c137b5ec1c3704fe2e7a21958f82f14", "type": "github" }, "original": { From c24305602751113b7a0d1a24017a7652d7d8859d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 21 Jun 2025 22:32:14 +0200 Subject: [PATCH 683/766] Use greetd to start sway --- modules/sway.nix | 29 ++++++++++++++++++++++++++--- users/jalr/modules/neo.nix | 16 +++++++++++++--- users/jalr/modules/sway/default.nix | 9 --------- 3 files changed, 39 insertions(+), 15 deletions(-) diff --git a/modules/sway.nix b/modules/sway.nix index 5dda16f..286fa6e 100644 --- a/modules/sway.nix +++ b/modules/sway.nix @@ -11,6 +11,29 @@ lib.mkIf (config.jalr.gui.enable && config.jalr.gui.desktop == "sway") { }; }; + services.greetd = { + enable = true; + settings = + let + command = pkgs.writeShellScript "sway-init" '' + systemctl --user import-environment PATH + systemctl --user restart xdg-desktop-portal.service + exec ${pkgs.sway}/bin/sway + ''; + user = "jalr"; + in + { + default_session = { + inherit command; + inherit user; + }; + initial_session = { + inherit command; + inherit user; + }; + }; + }; + hardware.graphics.enable = true; security.polkit.enable = true; @@ -26,9 +49,9 @@ lib.mkIf (config.jalr.gui.enable && config.jalr.gui.desktop == "sway") { icons.enable = true; portal = { enable = true; - extraPortals = with pkgs; [ - xdg-desktop-portal-wlr - xdg-desktop-portal-gtk + wlr.enable = true; + extraPortals = [ + pkgs.xdg-desktop-portal-gtk ]; xdgOpenUsePortal = true; }; diff --git a/users/jalr/modules/neo.nix b/users/jalr/modules/neo.nix index 9acef59..4d668d0 100644 --- a/users/jalr/modules/neo.nix +++ b/users/jalr/modules/neo.nix @@ -1,7 +1,17 @@ +let + xkb_layout = "de,de"; + xkb_variant = "neo,"; + xkb_options = "grp:win_space_toggle"; +in { home.sessionVariables = { - XKB_DEFAULT_LAYOUT = "de,de"; - XKB_DEFAULT_VARIANT = "neo,"; - XKB_DEFAULT_OPTIONS = "grp:win_space_toggle"; + XKB_DEFAULT_LAYOUT = xkb_layout; + XKB_DEFAULT_VARIANT = xkb_variant; + XKB_DEFAULT_OPTIONS = xkb_options; + }; + wayland.windowManager.sway.config.input."type:keyboard" = { + inherit xkb_layout; + inherit xkb_variant; + inherit xkb_options; }; } diff --git a/users/jalr/modules/sway/default.nix b/users/jalr/modules/sway/default.nix index 846c1ae..2ca9a9d 100644 --- a/users/jalr/modules/sway/default.nix +++ b/users/jalr/modules/sway/default.nix @@ -88,15 +88,6 @@ in _JAVA_AWT_WM_NONREPARENTING = "1"; }; - programs.fish.loginShellInit = '' - if [ -z $WAYLAND_DISPLAY ] && [ (tty) = /dev/tty1 ] - export XDG_SESSION_TYPE="wayland" # otherwise set to tty - set -e __HM_SESS_VARS_SOURCED - set -e __NIXOS_SET_ENVIRONMENT_DONE - exec systemd-cat -t sway dbus-run-session sway - end - ''; - wayland.windowManager.sway = { enable = true; From 3d5ac7673b731112cedc2bdcf224c495ced5f414 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 21 Jun 2025 22:59:58 +0200 Subject: [PATCH 684/766] Fix neo layout --- modules/default.nix | 1 + modules/neo.nix | 7 +++++++ users/jalr/modules/default.nix | 1 - users/jalr/modules/neo.nix | 17 ----------------- 4 files changed, 8 insertions(+), 18 deletions(-) create mode 100644 modules/neo.nix delete mode 100644 users/jalr/modules/neo.nix diff --git a/modules/default.nix b/modules/default.nix index 80aac79..f164fb0 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -38,6 +38,7 @@ ./matrix ./mobile-network.nix ./mute-indicator.nix + ./neo.nix ./networking ./nix.nix ./obs.nix diff --git a/modules/neo.nix b/modules/neo.nix new file mode 100644 index 0000000..b9c299c --- /dev/null +++ b/modules/neo.nix @@ -0,0 +1,7 @@ +{ + environment.variables = { + XKB_DEFAULT_LAYOUT = "de,de"; + XKB_DEFAULT_VARIANT = "neo,"; + XKB_DEFAULT_OPTIONS = "grp:win_space_toggle"; + }; +} diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index 76f8f9e..ec2e23d 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -22,7 +22,6 @@ ./mpv.nix ./mute-indicator.nix ./mycli - ./neo.nix ./neovim ./nix-index.nix ./obs-studio diff --git a/users/jalr/modules/neo.nix b/users/jalr/modules/neo.nix deleted file mode 100644 index 4d668d0..0000000 --- a/users/jalr/modules/neo.nix +++ /dev/null @@ -1,17 +0,0 @@ -let - xkb_layout = "de,de"; - xkb_variant = "neo,"; - xkb_options = "grp:win_space_toggle"; -in -{ - home.sessionVariables = { - XKB_DEFAULT_LAYOUT = xkb_layout; - XKB_DEFAULT_VARIANT = xkb_variant; - XKB_DEFAULT_OPTIONS = xkb_options; - }; - wayland.windowManager.sway.config.input."type:keyboard" = { - inherit xkb_layout; - inherit xkb_variant; - inherit xkb_options; - }; -} From 06697553a4cb7dfd8d7abf1868b6c43affe78fea Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 1 Jul 2025 10:41:16 +0200 Subject: [PATCH 685/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/7f1857b31522062a6a00f88cbccf86b43acceed1?narHash=sha256-KrC9iOVYIn6ukpVlHbqSA4hYCZ6oDyJKrcLqv4c5v84%3D' (2025-06-16) → 'github:nix-community/disko/83c4da299c1d7d300f8c6fd3a72ac46cb0d59aae?narHash=sha256-Ng9%2Bf0H5/dW%2Bmq/XOKvB9uwvGbsuiiO6HrPdAcVglCs%3D' (2025-06-26) • Updated input 'home-manager': 'github:nix-community/home-manager/7aae0ee71a17b19708b93b3ed448a1a0952bf111?narHash=sha256-gjN3j7joRvT3a8Zgcylnd4NFsnXeDBumqiu4HmY1RIg%3D' (2025-06-05) → 'github:nix-community/home-manager/366f00797b1efb70f2882d3da485e3c10fd3d557?narHash=sha256-Lh3dopA8DdY%2BZoaAJPrtkZOZaFEJGSYjOdAYYgOPgE4%3D' (2025-06-24) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/623c56286de5a3193aa38891a6991b28f9bab056?narHash=sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4%3D' (2025-06-11) → 'github:cachix/git-hooks.nix/16ec914f6fb6f599ce988427d9d94efddf25fe6d?narHash=sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg%3D' (2025-06-24) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/1552a9f4513f3f0ceedcf90320e48d3d47165712?narHash=sha256-vnzzBDbCGvInmfn2ijC4HsIY/3W1CWbwS/YQoFgdgPg%3D' (2025-06-20) → 'github:nixos/nixos-hardware/98236410ea0fe204d0447149537a924fb71a6d4f?narHash=sha256-2m1ceZjbmgrJCZ2PuQZaK4in3gcg3o6rZ7WK6dr5vAA%3D' (2025-06-25) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/9ba04bda9249d5d5e5238303c9755de5a49a79c5?narHash=sha256-H8J4H2XCIMEJ5g6fZ179QfQvsc2dUqhqfBjC8RAHNRY%3D' (2025-06-18) → 'github:nixos/nixpkgs/b43c397f6c213918d6cfe6e3550abfe79b5d1c51?narHash=sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y%3D' (2025-06-29) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/4fab5e9fe91c7c26c31eb4d936e24737def51508?narHash=sha256-R8L8tE/pxn%2BzEZVHvs2ZY8vCKovr1DZjLl%2B0VkTVTR8%3D' (2025-06-20) → 'github:NixOS/nixpkgs/61ac9bb9fdbeaf8e4ac827ef99a9fc06173c697c?narHash=sha256-HzVao4JEHB/DKTFyQGVWfdE3kJGElBs96dtEa%2BLO73o%3D' (2025-07-01) • Updated input 'nur': 'github:nix-community/NUR/de5be5d9770e5f95d0a2717455a9acb0f7ddec60?narHash=sha256-VVZClU2AbfG0mpczqn91R9h4It/jgjt0EkTGe8GB2DA%3D' (2025-06-20) → 'github:nix-community/NUR/93d91108dd5ca22a3d470b376c7b5c44e1d6d2bb?narHash=sha256-w0dc97DRw%2BdJ1EKnFBZrvsipQq7BGH7iW6MqiSA2Hmc%3D' (2025-07-01) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/08f22084e6085d19bcfb4be30d1ca76ecb96fe54?narHash=sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50%3D' (2025-06-19) → 'github:nixos/nixpkgs/3016b4b15d13f3089db8a41ef937b13a9e33a8df?narHash=sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU%2Btt4YY%3D' (2025-06-30) • Updated input 'vesc-tool': 'github:vedderb/vesc_tool/967347297c137b5ec1c3704fe2e7a21958f82f14?narHash=sha256-fNVZaAvptaF99BlTVED4oTX64PguJFFXlzVUSR7wrpU%3D' (2025-06-19) → 'github:vedderb/vesc_tool/f11ea3ed5ee76b25814ececb29d4f445adbd3b62?narHash=sha256-Scxy0YafhihzLA6EZu13tzmAKWQqzvB0q1bc6ey5oEA%3D' (2025-06-30) --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index 0f4a080..3036660 100644 --- a/flake.lock +++ b/flake.lock @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1750040002, - "narHash": "sha256-KrC9iOVYIn6ukpVlHbqSA4hYCZ6oDyJKrcLqv4c5v84=", + "lastModified": 1750903843, + "narHash": "sha256-Ng9+f0H5/dW+mq/XOKvB9uwvGbsuiiO6HrPdAcVglCs=", "owner": "nix-community", "repo": "disko", - "rev": "7f1857b31522062a6a00f88cbccf86b43acceed1", + "rev": "83c4da299c1d7d300f8c6fd3a72ac46cb0d59aae", "type": "github" }, "original": { @@ -243,11 +243,11 @@ ] }, "locked": { - "lastModified": 1749154018, - "narHash": "sha256-gjN3j7joRvT3a8Zgcylnd4NFsnXeDBumqiu4HmY1RIg=", + "lastModified": 1750792728, + "narHash": "sha256-Lh3dopA8DdY+ZoaAJPrtkZOZaFEJGSYjOdAYYgOPgE4=", "owner": "nix-community", "repo": "home-manager", - "rev": "7aae0ee71a17b19708b93b3ed448a1a0952bf111", + "rev": "366f00797b1efb70f2882d3da485e3c10fd3d557", "type": "github" }, "original": { @@ -366,11 +366,11 @@ ] }, "locked": { - "lastModified": 1749636823, - "narHash": "sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4=", + "lastModified": 1750779888, + "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "623c56286de5a3193aa38891a6991b28f9bab056", + "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", "type": "github" }, "original": { @@ -382,11 +382,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1750431636, - "narHash": "sha256-vnzzBDbCGvInmfn2ijC4HsIY/3W1CWbwS/YQoFgdgPg=", + "lastModified": 1750837715, + "narHash": "sha256-2m1ceZjbmgrJCZ2PuQZaK4in3gcg3o6rZ7WK6dr5vAA=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "1552a9f4513f3f0ceedcf90320e48d3d47165712", + "rev": "98236410ea0fe204d0447149537a924fb71a6d4f", "type": "github" }, "original": { @@ -398,11 +398,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1750259320, - "narHash": "sha256-H8J4H2XCIMEJ5g6fZ179QfQvsc2dUqhqfBjC8RAHNRY=", + "lastModified": 1751211869, + "narHash": "sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9ba04bda9249d5d5e5238303c9755de5a49a79c5", + "rev": "b43c397f6c213918d6cfe6e3550abfe79b5d1c51", "type": "github" }, "original": { @@ -430,11 +430,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1750447714, - "narHash": "sha256-R8L8tE/pxn+zEZVHvs2ZY8vCKovr1DZjLl+0VkTVTR8=", + "lastModified": 1751358783, + "narHash": "sha256-HzVao4JEHB/DKTFyQGVWfdE3kJGElBs96dtEa+LO73o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4fab5e9fe91c7c26c31eb4d936e24737def51508", + "rev": "61ac9bb9fdbeaf8e4ac827ef99a9fc06173c697c", "type": "github" }, "original": { @@ -462,11 +462,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1750365781, - "narHash": "sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50=", + "lastModified": 1751271578, + "narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "08f22084e6085d19bcfb4be30d1ca76ecb96fe54", + "rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df", "type": "github" }, "original": { @@ -499,11 +499,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1750448731, - "narHash": "sha256-VVZClU2AbfG0mpczqn91R9h4It/jgjt0EkTGe8GB2DA=", + "lastModified": 1751355827, + "narHash": "sha256-w0dc97DRw+dJ1EKnFBZrvsipQq7BGH7iW6MqiSA2Hmc=", "owner": "nix-community", "repo": "NUR", - "rev": "de5be5d9770e5f95d0a2717455a9acb0f7ddec60", + "rev": "93d91108dd5ca22a3d470b376c7b5c44e1d6d2bb", "type": "github" }, "original": { @@ -730,11 +730,11 @@ "treefmt-nix": "treefmt-nix_3" }, "locked": { - "lastModified": 1750336890, - "narHash": "sha256-fNVZaAvptaF99BlTVED4oTX64PguJFFXlzVUSR7wrpU=", + "lastModified": 1751295902, + "narHash": "sha256-Scxy0YafhihzLA6EZu13tzmAKWQqzvB0q1bc6ey5oEA=", "owner": "vedderb", "repo": "vesc_tool", - "rev": "967347297c137b5ec1c3704fe2e7a21958f82f14", + "rev": "f11ea3ed5ee76b25814ececb29d4f445adbd3b62", "type": "github" }, "original": { From 0bd1a5c684b2c243faa84d792289db084bbd7a2e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 3 Jul 2025 11:05:51 +0200 Subject: [PATCH 686/766] Add pace --- users/jalr/modules/default.nix | 1 + users/jalr/modules/pace.nix | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 users/jalr/modules/pace.nix diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index ec2e23d..0d9f98e 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -26,6 +26,7 @@ ./nix-index.nix ./obs-studio ./ots.nix + ./pace.nix ./pass.nix ./pomodoro.nix ./python.nix diff --git a/users/jalr/modules/pace.nix b/users/jalr/modules/pace.nix new file mode 100644 index 0000000..0a0b43f --- /dev/null +++ b/users/jalr/modules/pace.nix @@ -0,0 +1,28 @@ +{ config, nixosConfig, lib, pkgs, ... }: + + +let + tomlFormat = pkgs.formats.toml { }; +in +lib.mkIf nixosConfig.jalr.gui.enable { + home.packages = with pkgs; [ + pace + ]; + + home.sessionVariables.PACE_HOME = "${config.xdg.configHome}/pace"; + + xdg.configFile."pace/pace.toml".source = tomlFormat.generate "pace.toml" { + general = { + path = "${config.home.homeDirectory}/.local/share/pace/activities/activities.pace.toml"; + storage-kind = "file"; + category-separator = "::"; + default-priority = "medium"; + most-recent-count = 9; + default-time-zone = "${nixosConfig.time.timeZone}"; + }; + }; + + programs.fish.interactiveShellInit = lib.mkAfter '' + ${pkgs.pace}/bin/pace setup completions fish | source + ''; +} From 43575b6f565b13f51a418d6c7207bfcd4b18de2e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 9 Jul 2025 11:29:30 +0200 Subject: [PATCH 687/766] Remove ix.dnsbl.manitu.net the service is no longer available --- modules/mailserver/postfix.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/mailserver/postfix.nix b/modules/mailserver/postfix.nix index 78ee32b..e813dcb 100644 --- a/modules/mailserver/postfix.nix +++ b/modules/mailserver/postfix.nix @@ -69,13 +69,11 @@ lib.mkIf cfg.enable { smtpd_recipient_restrictions = listToString [ "reject_non_fqdn_recipient" - "reject_rbl_client ix.dnsbl.manitu.net" "reject_unknown_recipient_domain" "reject_unverified_recipient" ]; smtpd_client_restrictions = listToString [ - "reject_rbl_client ix.dnsbl.manitu.net" "reject_unknown_client_hostname" ]; From cd5dbe56ffb8fcc10e0372a070686a87499fd296 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 9 Jul 2025 11:31:16 +0200 Subject: [PATCH 688/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/83c4da299c1d7d300f8c6fd3a72ac46cb0d59aae?narHash=sha256-Ng9%2Bf0H5/dW%2Bmq/XOKvB9uwvGbsuiiO6HrPdAcVglCs%3D' (2025-06-26) → 'github:nix-community/disko/16b74a1e304197248a1bc663280f2548dbfcae3c?narHash=sha256-U/OQFplExOR1jazZY4KkaQkJqOl59xlh21HP9mI79Vc%3D' (2025-07-07) • Updated input 'gomod2nix': 'github:nix-community/gomod2nix/a5f75f563748599d448a4a076816041d7b0fc07e?narHash=sha256-SjpXWEeB%2BUIMzuCAF94PuyAXpJdnBLF45JvI6o4wKIU%3D' (2025-06-19) → 'github:nix-community/gomod2nix/664ad7a2df4623037e315e4094346bff5c44e9ee?narHash=sha256-/GTdqFzFw/Y9DSNAfzvzyCMlKjUyRKMPO%2BapIuaTU4A%3D' (2025-07-05) • Updated input 'home-manager': 'github:nix-community/home-manager/366f00797b1efb70f2882d3da485e3c10fd3d557?narHash=sha256-Lh3dopA8DdY%2BZoaAJPrtkZOZaFEJGSYjOdAYYgOPgE4%3D' (2025-06-24) → 'github:nix-community/home-manager/9b0873b46c9f9e4b7aa01eb634952c206af53068?narHash=sha256-kllkNbIqQi3VplgTMeGzuh1t8Gk8TauvkTRt93Km%2BtQ%3D' (2025-07-06) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/98236410ea0fe204d0447149537a924fb71a6d4f?narHash=sha256-2m1ceZjbmgrJCZ2PuQZaK4in3gcg3o6rZ7WK6dr5vAA%3D' (2025-06-25) → 'github:nixos/nixos-hardware/7ced9122cff2163c6a0212b8d1ec8c33a1660806?narHash=sha256-gATnkOe37eeVwKKYCsL%2BOnS2gU4MmLuZFzzWCtaKLI8%3D' (2025-07-09) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/b43c397f6c213918d6cfe6e3550abfe79b5d1c51?narHash=sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y%3D' (2025-06-29) → 'github:nixos/nixpkgs/88983d4b665fb491861005137ce2b11a9f89f203?narHash=sha256-7orTnNqkGGru8Je6Un6mq1T8YVVU/O5kyW4%2Bf9C1mZQ%3D' (2025-07-08) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/61ac9bb9fdbeaf8e4ac827ef99a9fc06173c697c?narHash=sha256-HzVao4JEHB/DKTFyQGVWfdE3kJGElBs96dtEa%2BLO73o%3D' (2025-07-01) → 'github:NixOS/nixpkgs/9c399d69b9ab8224d270a6f30c76e54780151c8d?narHash=sha256-21rMyl%2B7RDkn1qAx6B3xc0dsFOGGVxcWnvhdPpg8IHs%3D' (2025-07-09) • Updated input 'nur': 'github:nix-community/NUR/93d91108dd5ca22a3d470b376c7b5c44e1d6d2bb?narHash=sha256-w0dc97DRw%2BdJ1EKnFBZrvsipQq7BGH7iW6MqiSA2Hmc%3D' (2025-07-01) → 'github:nix-community/NUR/64185b1642f23c6340e3ebd52eabccfadfb78cfb?narHash=sha256-cquBxPthNijnDaoX6Pj5V0jQ5BhoqJOJ/DdGzeJ0xyg%3D' (2025-07-09) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/3016b4b15d13f3089db8a41ef937b13a9e33a8df?narHash=sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU%2Btt4YY%3D' (2025-06-30) → 'github:nixos/nixpkgs/1fd8bada0b6117e6c7eb54aad5813023eed37ccb?narHash=sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo%3D' (2025-07-06) • Removed input 'nur/treefmt-nix' • Removed input 'nur/treefmt-nix/nixpkgs' • Updated input 'sops-nix': 'github:Mic92/sops-nix/77c423a03b9b2b79709ea2cb63336312e78b72e2?narHash=sha256-Rr7Pooz9zQbhdVxux16h7URa6mA80Pb/G07T4lHvh0M%3D' (2025-06-17) → 'github:Mic92/sops-nix/3633fc4acf03f43b260244d94c71e9e14a2f6e0d?narHash=sha256-KrDPXobG7DFKTOteqdSVeL1bMVitDcy7otpVZWDE6MA%3D' (2025-07-04) • Updated input 'vesc-tool': 'github:vedderb/vesc_tool/f11ea3ed5ee76b25814ececb29d4f445adbd3b62?narHash=sha256-Scxy0YafhihzLA6EZu13tzmAKWQqzvB0q1bc6ey5oEA%3D' (2025-06-30) → 'github:vedderb/vesc_tool/588d2fe1c7bd2d0fdff25bff5a606ec7c71f6d60?narHash=sha256-PPgnbZexrN4TTowoDN03pPwDsEKsKG/EG5RGpuTQixY%3D' (2025-07-06) --- flake.lock | 90 +++++++++++++++++++++--------------------------------- 1 file changed, 34 insertions(+), 56 deletions(-) diff --git a/flake.lock b/flake.lock index 3036660..6f8fedc 100644 --- a/flake.lock +++ b/flake.lock @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1750903843, - "narHash": "sha256-Ng9+f0H5/dW+mq/XOKvB9uwvGbsuiiO6HrPdAcVglCs=", + "lastModified": 1751854533, + "narHash": "sha256-U/OQFplExOR1jazZY4KkaQkJqOl59xlh21HP9mI79Vc=", "owner": "nix-community", "repo": "disko", - "rev": "83c4da299c1d7d300f8c6fd3a72ac46cb0d59aae", + "rev": "16b74a1e304197248a1bc663280f2548dbfcae3c", "type": "github" }, "original": { @@ -223,11 +223,11 @@ ] }, "locked": { - "lastModified": 1750314194, - "narHash": "sha256-SjpXWEeB+UIMzuCAF94PuyAXpJdnBLF45JvI6o4wKIU=", + "lastModified": 1751702058, + "narHash": "sha256-/GTdqFzFw/Y9DSNAfzvzyCMlKjUyRKMPO+apIuaTU4A=", "owner": "nix-community", "repo": "gomod2nix", - "rev": "a5f75f563748599d448a4a076816041d7b0fc07e", + "rev": "664ad7a2df4623037e315e4094346bff5c44e9ee", "type": "github" }, "original": { @@ -243,11 +243,11 @@ ] }, "locked": { - "lastModified": 1750792728, - "narHash": "sha256-Lh3dopA8DdY+ZoaAJPrtkZOZaFEJGSYjOdAYYgOPgE4=", + "lastModified": 1751810233, + "narHash": "sha256-kllkNbIqQi3VplgTMeGzuh1t8Gk8TauvkTRt93Km+tQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "366f00797b1efb70f2882d3da485e3c10fd3d557", + "rev": "9b0873b46c9f9e4b7aa01eb634952c206af53068", "type": "github" }, "original": { @@ -382,11 +382,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1750837715, - "narHash": "sha256-2m1ceZjbmgrJCZ2PuQZaK4in3gcg3o6rZ7WK6dr5vAA=", + "lastModified": 1752048960, + "narHash": "sha256-gATnkOe37eeVwKKYCsL+OnS2gU4MmLuZFzzWCtaKLI8=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "98236410ea0fe204d0447149537a924fb71a6d4f", + "rev": "7ced9122cff2163c6a0212b8d1ec8c33a1660806", "type": "github" }, "original": { @@ -398,11 +398,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1751211869, - "narHash": "sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y=", + "lastModified": 1751943650, + "narHash": "sha256-7orTnNqkGGru8Je6Un6mq1T8YVVU/O5kyW4+f9C1mZQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b43c397f6c213918d6cfe6e3550abfe79b5d1c51", + "rev": "88983d4b665fb491861005137ce2b11a9f89f203", "type": "github" }, "original": { @@ -430,11 +430,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1751358783, - "narHash": "sha256-HzVao4JEHB/DKTFyQGVWfdE3kJGElBs96dtEa+LO73o=", + "lastModified": 1752053200, + "narHash": "sha256-21rMyl+7RDkn1qAx6B3xc0dsFOGGVxcWnvhdPpg8IHs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "61ac9bb9fdbeaf8e4ac827ef99a9fc06173c697c", + "rev": "9c399d69b9ab8224d270a6f30c76e54780151c8d", "type": "github" }, "original": { @@ -462,11 +462,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1751271578, - "narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=", + "lastModified": 1751792365, + "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df", + "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", "type": "github" }, "original": { @@ -495,15 +495,14 @@ "nur": { "inputs": { "flake-parts": "flake-parts_2", - "nixpkgs": "nixpkgs_2", - "treefmt-nix": "treefmt-nix" + "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1751355827, - "narHash": "sha256-w0dc97DRw+dJ1EKnFBZrvsipQq7BGH7iW6MqiSA2Hmc=", + "lastModified": 1752047019, + "narHash": "sha256-cquBxPthNijnDaoX6Pj5V0jQ5BhoqJOJ/DdGzeJ0xyg=", "owner": "nix-community", "repo": "NUR", - "rev": "93d91108dd5ca22a3d470b376c7b5c44e1d6d2bb", + "rev": "64185b1642f23c6340e3ebd52eabccfadfb78cfb", "type": "github" }, "original": { @@ -522,7 +521,7 @@ "nixpkgs" ], "systems": "systems_2", - "treefmt-nix": "treefmt-nix_2" + "treefmt-nix": "treefmt-nix" }, "locked": { "lastModified": 1743690424, @@ -614,11 +613,11 @@ ] }, "locked": { - "lastModified": 1750119275, - "narHash": "sha256-Rr7Pooz9zQbhdVxux16h7URa6mA80Pb/G07T4lHvh0M=", + "lastModified": 1751606940, + "narHash": "sha256-KrDPXobG7DFKTOteqdSVeL1bMVitDcy7otpVZWDE6MA=", "owner": "Mic92", "repo": "sops-nix", - "rev": "77c423a03b9b2b79709ea2cb63336312e78b72e2", + "rev": "3633fc4acf03f43b260244d94c71e9e14a2f6e0d", "type": "github" }, "original": { @@ -658,27 +657,6 @@ } }, "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "nur", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1733222881, - "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "49717b5af6f80172275d47a418c9719a31a78b53", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, - "treefmt-nix_2": { "inputs": { "nixpkgs": [ "poetry2nix", @@ -699,7 +677,7 @@ "type": "github" } }, - "treefmt-nix_3": { + "treefmt-nix_2": { "inputs": { "nixpkgs": "nixpkgs_3" }, @@ -727,14 +705,14 @@ "nixpkgs" ], "nixpkgsOld": "nixpkgsOld", - "treefmt-nix": "treefmt-nix_3" + "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1751295902, - "narHash": "sha256-Scxy0YafhihzLA6EZu13tzmAKWQqzvB0q1bc6ey5oEA=", + "lastModified": 1751799568, + "narHash": "sha256-PPgnbZexrN4TTowoDN03pPwDsEKsKG/EG5RGpuTQixY=", "owner": "vedderb", "repo": "vesc_tool", - "rev": "f11ea3ed5ee76b25814ececb29d4f445adbd3b62", + "rev": "588d2fe1c7bd2d0fdff25bff5a606ec7c71f6d60", "type": "github" }, "original": { From 7ef4d38552e174da094159b56c7ad2da02dd6f57 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 9 Jul 2025 17:44:57 +0200 Subject: [PATCH 689/766] Add `sshtunnel` dependency to mycli Without this package, mycli doesn't support ssh tunnels. --- users/jalr/modules/mycli/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/users/jalr/modules/mycli/default.nix b/users/jalr/modules/mycli/default.nix index 4f90e9e..e023039 100644 --- a/users/jalr/modules/mycli/default.nix +++ b/users/jalr/modules/mycli/default.nix @@ -141,7 +141,9 @@ let in { home.packages = [ - pkgs.mycli + (pkgs.mycli.overridePythonAttrs (old: { + dependencies = old.dependencies ++ [ pkgs.python3Packages.sshtunnel ]; + })) (pkgs.stdenv.mkDerivation { name = "myssh"; propagatedBuildInputs = [ From b11e07cfb1b5952aa35ef5d88526c0e2de14e3a1 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sat, 12 Jul 2025 18:13:36 +0200 Subject: [PATCH 690/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/16b74a1e304197248a1bc663280f2548dbfcae3c?narHash=sha256-U/OQFplExOR1jazZY4KkaQkJqOl59xlh21HP9mI79Vc%3D' (2025-07-07) → 'github:nix-community/disko/79264292b7e3482e5702932949de9cbb69fedf6d?narHash=sha256-7LYDxKxZgBQ8LZUuolAQ8UkIB%2Bjb4A2UmiR%2BkzY9CLI%3D' (2025-07-10) • Updated input 'home-manager': 'github:nix-community/home-manager/9b0873b46c9f9e4b7aa01eb634952c206af53068?narHash=sha256-kllkNbIqQi3VplgTMeGzuh1t8Gk8TauvkTRt93Km%2BtQ%3D' (2025-07-06) → 'github:nix-community/home-manager/c6a01e54af81b381695db796a43360bf6db5702f?narHash=sha256-aRY1cYOdVdXdNjcL/Twpa27CknO7pVHxooPsBizDraE%3D' (2025-07-11) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/88983d4b665fb491861005137ce2b11a9f89f203?narHash=sha256-7orTnNqkGGru8Je6Un6mq1T8YVVU/O5kyW4%2Bf9C1mZQ%3D' (2025-07-08) → 'github:nixos/nixpkgs/10e687235226880ed5e9f33f1ffa71fe60f2638a?narHash=sha256-3MxxkU8ZXMHXcbFz7UE4M6qnIPTYGcE/7EMqlZNnVDE%3D' (2025-07-10) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/9c399d69b9ab8224d270a6f30c76e54780151c8d?narHash=sha256-21rMyl%2B7RDkn1qAx6B3xc0dsFOGGVxcWnvhdPpg8IHs%3D' (2025-07-09) → 'github:NixOS/nixpkgs/aca3b8acd1f6bc0d0e5a16acb34e054fb033bfd1?narHash=sha256-mthHgsgpRZ%2BVwS%2BAcDyoHs25QqOZBHZtrr8BJ52QvV8%3D' (2025-07-12) • Updated input 'nur': 'github:nix-community/NUR/64185b1642f23c6340e3ebd52eabccfadfb78cfb?narHash=sha256-cquBxPthNijnDaoX6Pj5V0jQ5BhoqJOJ/DdGzeJ0xyg%3D' (2025-07-09) → 'github:nix-community/NUR/304496677413ac5c05202a250e20047a516e4bc6?narHash=sha256-SwESoXWEUc9pUqSkRp8V3%2B3ht7sQHUey3BdtpJuW5xA%3D' (2025-07-12) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/1fd8bada0b6117e6c7eb54aad5813023eed37ccb?narHash=sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo%3D' (2025-07-06) → 'github:nixos/nixpkgs/9807714d6944a957c2e036f84b0ff8caf9930bc0?narHash=sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X%2BxgOL0%3D' (2025-07-08) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 6f8fedc..9813d12 100644 --- a/flake.lock +++ b/flake.lock @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1751854533, - "narHash": "sha256-U/OQFplExOR1jazZY4KkaQkJqOl59xlh21HP9mI79Vc=", + "lastModified": 1752113600, + "narHash": "sha256-7LYDxKxZgBQ8LZUuolAQ8UkIB+jb4A2UmiR+kzY9CLI=", "owner": "nix-community", "repo": "disko", - "rev": "16b74a1e304197248a1bc663280f2548dbfcae3c", + "rev": "79264292b7e3482e5702932949de9cbb69fedf6d", "type": "github" }, "original": { @@ -243,11 +243,11 @@ ] }, "locked": { - "lastModified": 1751810233, - "narHash": "sha256-kllkNbIqQi3VplgTMeGzuh1t8Gk8TauvkTRt93Km+tQ=", + "lastModified": 1752208517, + "narHash": "sha256-aRY1cYOdVdXdNjcL/Twpa27CknO7pVHxooPsBizDraE=", "owner": "nix-community", "repo": "home-manager", - "rev": "9b0873b46c9f9e4b7aa01eb634952c206af53068", + "rev": "c6a01e54af81b381695db796a43360bf6db5702f", "type": "github" }, "original": { @@ -398,11 +398,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1751943650, - "narHash": "sha256-7orTnNqkGGru8Je6Un6mq1T8YVVU/O5kyW4+f9C1mZQ=", + "lastModified": 1752162966, + "narHash": "sha256-3MxxkU8ZXMHXcbFz7UE4M6qnIPTYGcE/7EMqlZNnVDE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "88983d4b665fb491861005137ce2b11a9f89f203", + "rev": "10e687235226880ed5e9f33f1ffa71fe60f2638a", "type": "github" }, "original": { @@ -430,11 +430,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1752053200, - "narHash": "sha256-21rMyl+7RDkn1qAx6B3xc0dsFOGGVxcWnvhdPpg8IHs=", + "lastModified": 1752336159, + "narHash": "sha256-mthHgsgpRZ+VwS+AcDyoHs25QqOZBHZtrr8BJ52QvV8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9c399d69b9ab8224d270a6f30c76e54780151c8d", + "rev": "aca3b8acd1f6bc0d0e5a16acb34e054fb033bfd1", "type": "github" }, "original": { @@ -462,11 +462,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1751792365, - "narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=", + "lastModified": 1751984180, + "narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb", + "rev": "9807714d6944a957c2e036f84b0ff8caf9930bc0", "type": "github" }, "original": { @@ -498,11 +498,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1752047019, - "narHash": "sha256-cquBxPthNijnDaoX6Pj5V0jQ5BhoqJOJ/DdGzeJ0xyg=", + "lastModified": 1752331499, + "narHash": "sha256-SwESoXWEUc9pUqSkRp8V3+3ht7sQHUey3BdtpJuW5xA=", "owner": "nix-community", "repo": "NUR", - "rev": "64185b1642f23c6340e3ebd52eabccfadfb78cfb", + "rev": "304496677413ac5c05202a250e20047a516e4bc6", "type": "github" }, "original": { From 8e842387181ecdbc895ceedf408caa752d1ca499 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 13 Jul 2025 18:06:03 +0200 Subject: [PATCH 691/766] Update dependencies --- pkgs/myintercom-doorbell/default.nix | 5 ----- pkgs/myintercom-doorbell/poetry.lock | 22 +++++++++++----------- pkgs/myintercom-doorbell/pyproject.toml | 4 ++-- 3 files changed, 13 insertions(+), 18 deletions(-) diff --git a/pkgs/myintercom-doorbell/default.nix b/pkgs/myintercom-doorbell/default.nix index 23a4101..37b3711 100644 --- a/pkgs/myintercom-doorbell/default.nix +++ b/pkgs/myintercom-doorbell/default.nix @@ -4,9 +4,4 @@ poetry2nix.mkPoetryApplication { pname = "myintercom-audiosocket"; version = "0.0.1"; projectDir = ./.; - overrides = poetry2nix.overrides.withDefaults (_: prev: { - urllib3 = prev.urllib3.override { - preferWheel = true; - }; - }); } diff --git a/pkgs/myintercom-doorbell/poetry.lock b/pkgs/myintercom-doorbell/poetry.lock index 818c966..0ce0d9b 100644 --- a/pkgs/myintercom-doorbell/poetry.lock +++ b/pkgs/myintercom-doorbell/poetry.lock @@ -1,24 +1,24 @@ -# This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand. +# This file is automatically @generated by Poetry 2.1.3 and should not be changed by hand. [[package]] name = "urllib3" -version = "2.0.7" +version = "2.5.0" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" +groups = ["main"] files = [ - {file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"}, - {file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"}, + {file = "urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc"}, + {file = "urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760"}, ] [package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] -secure = ["certifi", "cryptography (>=1.9)", "idna (>=2.0.0)", "pyopenssl (>=17.1.0)", "urllib3-secure-extra"] +brotli = ["brotli (>=1.0.9) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=0.8.0) ; platform_python_implementation != \"CPython\""] +h2 = ["h2 (>=4,<5)"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] zstd = ["zstandard (>=0.18.0)"] [metadata] -lock-version = "2.0" -python-versions = "^3.10" -content-hash = "cb8f26af67979881c24e243af0719b405141855256ced72c73b222b6c03d2bb8" +lock-version = "2.1" +python-versions = "^3.12" +content-hash = "a2502d4bca34c8c9ddc7579666a62dc15d3573a0240075cb566922a1d031831e" diff --git a/pkgs/myintercom-doorbell/pyproject.toml b/pkgs/myintercom-doorbell/pyproject.toml index 6a7878f..3a57dc6 100644 --- a/pkgs/myintercom-doorbell/pyproject.toml +++ b/pkgs/myintercom-doorbell/pyproject.toml @@ -7,8 +7,8 @@ readme = "README.md" packages = [{include = "myintercom_doorbell"}] [tool.poetry.dependencies] -python = "^3.10" -urllib3 = "^2.0.7" +python = "^3.12" +urllib3 = "^2.5.0" [tool.poetry.scripts] myintercom-doorbell-audiosocket = "myintercom_doorbell.myintercom_audiosocket:main" From e39cac2ba9d5ab7b52dd87f1041cc63c8d1429f9 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 14 Jul 2025 11:44:13 +0200 Subject: [PATCH 692/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/c6a01e54af81b381695db796a43360bf6db5702f?narHash=sha256-aRY1cYOdVdXdNjcL/Twpa27CknO7pVHxooPsBizDraE%3D' (2025-07-11) → 'github:nix-community/home-manager/c26266790678863cce8e7460fdbf0d80991b1906?narHash=sha256-ReX0NG6nIAEtQQjLqeu1vUU2jjZuMlpymNtb4VQYeus%3D' (2025-07-13) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/10e687235226880ed5e9f33f1ffa71fe60f2638a?narHash=sha256-3MxxkU8ZXMHXcbFz7UE4M6qnIPTYGcE/7EMqlZNnVDE%3D' (2025-07-10) → 'github:nixos/nixpkgs/650e572363c091045cdbc5b36b0f4c1f614d3058?narHash=sha256-pzrVLKRQNPrii06Rm09Q0i0dq3wt2t2pciT/GNq5EZQ%3D' (2025-07-12) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/aca3b8acd1f6bc0d0e5a16acb34e054fb033bfd1?narHash=sha256-mthHgsgpRZ%2BVwS%2BAcDyoHs25QqOZBHZtrr8BJ52QvV8%3D' (2025-07-12) → 'github:NixOS/nixpkgs/dd2290ee7f441ab85bb45ac4fd7e6c39c8da3f6f?narHash=sha256-Ww1Y9zlrII4xQfpeT1H/yo6VZ1HHvQEzpDGFbwDJVIE%3D' (2025-07-14) • Updated input 'nur': 'github:nix-community/NUR/304496677413ac5c05202a250e20047a516e4bc6?narHash=sha256-SwESoXWEUc9pUqSkRp8V3%2B3ht7sQHUey3BdtpJuW5xA%3D' (2025-07-12) → 'github:nix-community/NUR/5b1910b8032e7adc6137e2f1a1e230e25e42ddce?narHash=sha256-HRm5gqtYWtk1rM3qzx0yFVqV1QlkOIBcLQM%2BRrthht8%3D' (2025-07-14) • Updated input 'vesc-tool': 'github:vedderb/vesc_tool/588d2fe1c7bd2d0fdff25bff5a606ec7c71f6d60?narHash=sha256-PPgnbZexrN4TTowoDN03pPwDsEKsKG/EG5RGpuTQixY%3D' (2025-07-06) → 'github:vedderb/vesc_tool/3d9bf42df4ed617a4ceb026bfebcc0f6deb5de5a?narHash=sha256-8br%2BrIBimcsccy6LZXdzjEeJC67655Ute8wCFKkFAq8%3D' (2025-07-13) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 9813d12..6363692 100644 --- a/flake.lock +++ b/flake.lock @@ -243,11 +243,11 @@ ] }, "locked": { - "lastModified": 1752208517, - "narHash": "sha256-aRY1cYOdVdXdNjcL/Twpa27CknO7pVHxooPsBizDraE=", + "lastModified": 1752391422, + "narHash": "sha256-ReX0NG6nIAEtQQjLqeu1vUU2jjZuMlpymNtb4VQYeus=", "owner": "nix-community", "repo": "home-manager", - "rev": "c6a01e54af81b381695db796a43360bf6db5702f", + "rev": "c26266790678863cce8e7460fdbf0d80991b1906", "type": "github" }, "original": { @@ -398,11 +398,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1752162966, - "narHash": "sha256-3MxxkU8ZXMHXcbFz7UE4M6qnIPTYGcE/7EMqlZNnVDE=", + "lastModified": 1752308619, + "narHash": "sha256-pzrVLKRQNPrii06Rm09Q0i0dq3wt2t2pciT/GNq5EZQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "10e687235226880ed5e9f33f1ffa71fe60f2638a", + "rev": "650e572363c091045cdbc5b36b0f4c1f614d3058", "type": "github" }, "original": { @@ -430,11 +430,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1752336159, - "narHash": "sha256-mthHgsgpRZ+VwS+AcDyoHs25QqOZBHZtrr8BJ52QvV8=", + "lastModified": 1752485623, + "narHash": "sha256-Ww1Y9zlrII4xQfpeT1H/yo6VZ1HHvQEzpDGFbwDJVIE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "aca3b8acd1f6bc0d0e5a16acb34e054fb033bfd1", + "rev": "dd2290ee7f441ab85bb45ac4fd7e6c39c8da3f6f", "type": "github" }, "original": { @@ -498,11 +498,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1752331499, - "narHash": "sha256-SwESoXWEUc9pUqSkRp8V3+3ht7sQHUey3BdtpJuW5xA=", + "lastModified": 1752483337, + "narHash": "sha256-HRm5gqtYWtk1rM3qzx0yFVqV1QlkOIBcLQM+Rrthht8=", "owner": "nix-community", "repo": "NUR", - "rev": "304496677413ac5c05202a250e20047a516e4bc6", + "rev": "5b1910b8032e7adc6137e2f1a1e230e25e42ddce", "type": "github" }, "original": { @@ -708,11 +708,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1751799568, - "narHash": "sha256-PPgnbZexrN4TTowoDN03pPwDsEKsKG/EG5RGpuTQixY=", + "lastModified": 1752412464, + "narHash": "sha256-8br+rIBimcsccy6LZXdzjEeJC67655Ute8wCFKkFAq8=", "owner": "vedderb", "repo": "vesc_tool", - "rev": "588d2fe1c7bd2d0fdff25bff5a606ec7c71f6d60", + "rev": "3d9bf42df4ed617a4ceb026bfebcc0f6deb5de5a", "type": "github" }, "original": { From 8b994f1ed0567dd13a114e42d4bd8bbea8cba9b7 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 14 Jul 2025 12:01:45 +0200 Subject: [PATCH 693/766] Add gg-chatmix --- flake.lock | 21 +++++++++++++++++++++ flake.nix | 6 ++++++ modules/default.nix | 1 + modules/steelseries-nova-pro.nix | 7 +++++++ 4 files changed, 35 insertions(+) create mode 100644 modules/steelseries-nova-pro.nix diff --git a/flake.lock b/flake.lock index 6363692..81107dc 100644 --- a/flake.lock +++ b/flake.lock @@ -170,6 +170,26 @@ "type": "github" } }, + "gg-chatmix": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1748177977, + "narHash": "sha256-xC/dOrDrZoQhUfVotj/z14iTwGlE80OqSl9S5zkevdA=", + "owner": "nilathedragon", + "repo": "gg-chatmix", + "rev": "1dadaa51794042c20ddc52d52479e8a156bd235b", + "type": "github" + }, + "original": { + "owner": "nilathedragon", + "repo": "gg-chatmix", + "type": "github" + } + }, "gitignore": { "inputs": { "nixpkgs": [ @@ -569,6 +589,7 @@ "asterisk-sounds-de": "asterisk-sounds-de", "disko": "disko", "flake-utils": "flake-utils", + "gg-chatmix": "gg-chatmix", "gomod2nix": "gomod2nix", "home-manager": "home-manager", "impermanence": "impermanence", diff --git a/flake.nix b/flake.nix index 1f0eb0b..962d334 100644 --- a/flake.nix +++ b/flake.nix @@ -7,6 +7,11 @@ nix-filter.url = "github:numtide/nix-filter"; + gg-chatmix = { + url = "github:nilathedragon/gg-chatmix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + gomod2nix = { url = "github:nix-community/gomod2nix"; inputs.flake-utils.follows = "flake-utils"; @@ -215,6 +220,7 @@ inputs.impermanence.nixosModules.impermanence inputs.lanzaboote.nixosModules.lanzaboote inputs.sops-nix.nixosModules.sops + inputs.gg-chatmix.nixosModule ] ++ extraModules; }) (import ./hosts inputs); diff --git a/modules/default.nix b/modules/default.nix index f164fb0..ce090f5 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -49,6 +49,7 @@ ./remarkable.nix ./sdr.nix ./sshd.nix + ./steelseries-nova-pro.nix ./sudo.nix ./sway.nix ./udmx.nix diff --git a/modules/steelseries-nova-pro.nix b/modules/steelseries-nova-pro.nix new file mode 100644 index 0000000..d432dca --- /dev/null +++ b/modules/steelseries-nova-pro.nix @@ -0,0 +1,7 @@ +{ lib, config, ... }: + +lib.mkIf config.jalr.gui.enable { + services.gg-chatmix = { + enable = true; + }; +} From 6e4c7c462b97a8671db36f75ae0e546e174d8fad Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 14 Jul 2025 13:34:21 +0200 Subject: [PATCH 694/766] Disable raop-sink Disable it to prevent auto-loading the module. This should prevent messing up the Spotify stream at the office. --- modules/pipewire.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/pipewire.nix b/modules/pipewire.nix index 3e03a70..29e1845 100644 --- a/modules/pipewire.nix +++ b/modules/pipewire.nix @@ -36,11 +36,13 @@ lib.mkIf config.jalr.gui.enable { } ]; }; + /* pipewire."raop-sink" = { "context.modules" = [ { name = "libpipewire-module-raop-discover"; args = { }; } ]; }; + */ }; raopOpenFirewall = true; }; From 6ac6d3f89d92ea8eff6144bfac4d814a14ee82e3 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 17 Jul 2025 03:13:52 +0200 Subject: [PATCH 695/766] Add git as system package This should fix error: executing 'git': No such file or directory The error occurs sometimes for flake inputs. --- modules/nix.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/nix.nix b/modules/nix.nix index 0be49a4..eb8f9b4 100644 --- a/modules/nix.nix +++ b/modules/nix.nix @@ -52,5 +52,6 @@ environment.systemPackages = with pkgs; [ cached-nix-shell + git ]; } From e7d50d0b1155ded9acebd07268fd7599fbb015e6 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 18 Jul 2025 00:38:23 +0200 Subject: [PATCH 696/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/79264292b7e3482e5702932949de9cbb69fedf6d?narHash=sha256-7LYDxKxZgBQ8LZUuolAQ8UkIB%2Bjb4A2UmiR%2BkzY9CLI%3D' (2025-07-10) → 'github:nix-community/disko/d5ad4485e6f2edcc06751df65c5e16572877db88?narHash=sha256-PkaR0qmyP9q/MDN3uYa%2BRLeBA0PjvEQiM0rTDDBXkL8%3D' (2025-07-17) • Updated input 'home-manager': 'github:nix-community/home-manager/c26266790678863cce8e7460fdbf0d80991b1906?narHash=sha256-ReX0NG6nIAEtQQjLqeu1vUU2jjZuMlpymNtb4VQYeus%3D' (2025-07-13) → 'github:nix-community/home-manager/c718918222bdb104397762dea67e6b397a7927fe?narHash=sha256-5dn97vIYxn6VozKePOQSDxVCsrl38nDdMJXx86KIJH0%3D' (2025-07-17) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/7ced9122cff2163c6a0212b8d1ec8c33a1660806?narHash=sha256-gATnkOe37eeVwKKYCsL%2BOnS2gU4MmLuZFzzWCtaKLI8%3D' (2025-07-09) → 'github:nixos/nixos-hardware/d1bfa8f6ccfb5c383e1eba609c1eb67ca24ed153?narHash=sha256-P8J72psdc/rWliIvp8jUpoQ6qRDlVzgSDDlgkaXQ0Fw%3D' (2025-07-16) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/650e572363c091045cdbc5b36b0f4c1f614d3058?narHash=sha256-pzrVLKRQNPrii06Rm09Q0i0dq3wt2t2pciT/GNq5EZQ%3D' (2025-07-12) → 'github:nixos/nixpkgs/32a4e87942101f1c9f9865e04dc3ddb175f5f32e?narHash=sha256-f3pO%2B9lg66mV7IMmmIqG4PL3223TYMlnlw%2Bpnpelbss%3D' (2025-07-15) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/dd2290ee7f441ab85bb45ac4fd7e6c39c8da3f6f?narHash=sha256-Ww1Y9zlrII4xQfpeT1H/yo6VZ1HHvQEzpDGFbwDJVIE%3D' (2025-07-14) → 'github:NixOS/nixpkgs/0f16a997d7712bc6d706c0cbfc42e536d3cdb4f4?narHash=sha256-xrHo3fAEwaNYAiO2rv46bqCrD1i6KqRwRy8X8VmIcP4%3D' (2025-07-17) • Updated input 'nur': 'github:nix-community/NUR/5b1910b8032e7adc6137e2f1a1e230e25e42ddce?narHash=sha256-HRm5gqtYWtk1rM3qzx0yFVqV1QlkOIBcLQM%2BRrthht8%3D' (2025-07-14) → 'github:nix-community/NUR/3c776e8afa33406dfe24292fb70d4e259d4dd40e?narHash=sha256-9rtLCBqhNaz97bC%2BMOSUqwN/QUimVG3D/5O8HKhNIeU%3D' (2025-07-17) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/9807714d6944a957c2e036f84b0ff8caf9930bc0?narHash=sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X%2BxgOL0%3D' (2025-07-08) → 'github:nixos/nixpkgs/62e0f05ede1da0d54515d4ea8ce9c733f12d9f08?narHash=sha256-JHQbm%2BOcGp32wAsXTE/FLYGNpb%2B4GLi5oTvCxwSoBOA%3D' (2025-07-14) • Updated input 'sops-nix': 'github:Mic92/sops-nix/3633fc4acf03f43b260244d94c71e9e14a2f6e0d?narHash=sha256-KrDPXobG7DFKTOteqdSVeL1bMVitDcy7otpVZWDE6MA%3D' (2025-07-04) → 'github:Mic92/sops-nix/2c8def626f54708a9c38a5861866660395bb3461?narHash=sha256-GllP7cmQu7zLZTs9z0J2gIL42IZHa9CBEXwBY9szT0U%3D' (2025-07-15) • Updated input 'vesc-tool': 'github:vedderb/vesc_tool/3d9bf42df4ed617a4ceb026bfebcc0f6deb5de5a?narHash=sha256-8br%2BrIBimcsccy6LZXdzjEeJC67655Ute8wCFKkFAq8%3D' (2025-07-13) → 'github:vedderb/vesc_tool/16f6216c87b04db5e68071a840e3398e20ad1aad?narHash=sha256-L3d52lZpZlteZSHgSDFd%2BQ6BD24BiLH4KjBFD4Sasp4%3D' (2025-07-14) --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index 81107dc..96c19fc 100644 --- a/flake.lock +++ b/flake.lock @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1752113600, - "narHash": "sha256-7LYDxKxZgBQ8LZUuolAQ8UkIB+jb4A2UmiR+kzY9CLI=", + "lastModified": 1752718651, + "narHash": "sha256-PkaR0qmyP9q/MDN3uYa+RLeBA0PjvEQiM0rTDDBXkL8=", "owner": "nix-community", "repo": "disko", - "rev": "79264292b7e3482e5702932949de9cbb69fedf6d", + "rev": "d5ad4485e6f2edcc06751df65c5e16572877db88", "type": "github" }, "original": { @@ -263,11 +263,11 @@ ] }, "locked": { - "lastModified": 1752391422, - "narHash": "sha256-ReX0NG6nIAEtQQjLqeu1vUU2jjZuMlpymNtb4VQYeus=", + "lastModified": 1752780124, + "narHash": "sha256-5dn97vIYxn6VozKePOQSDxVCsrl38nDdMJXx86KIJH0=", "owner": "nix-community", "repo": "home-manager", - "rev": "c26266790678863cce8e7460fdbf0d80991b1906", + "rev": "c718918222bdb104397762dea67e6b397a7927fe", "type": "github" }, "original": { @@ -402,11 +402,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1752048960, - "narHash": "sha256-gATnkOe37eeVwKKYCsL+OnS2gU4MmLuZFzzWCtaKLI8=", + "lastModified": 1752666637, + "narHash": "sha256-P8J72psdc/rWliIvp8jUpoQ6qRDlVzgSDDlgkaXQ0Fw=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "7ced9122cff2163c6a0212b8d1ec8c33a1660806", + "rev": "d1bfa8f6ccfb5c383e1eba609c1eb67ca24ed153", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1752308619, - "narHash": "sha256-pzrVLKRQNPrii06Rm09Q0i0dq3wt2t2pciT/GNq5EZQ=", + "lastModified": 1752620740, + "narHash": "sha256-f3pO+9lg66mV7IMmmIqG4PL3223TYMlnlw+pnpelbss=", "owner": "nixos", "repo": "nixpkgs", - "rev": "650e572363c091045cdbc5b36b0f4c1f614d3058", + "rev": "32a4e87942101f1c9f9865e04dc3ddb175f5f32e", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1752485623, - "narHash": "sha256-Ww1Y9zlrII4xQfpeT1H/yo6VZ1HHvQEzpDGFbwDJVIE=", + "lastModified": 1752791821, + "narHash": "sha256-xrHo3fAEwaNYAiO2rv46bqCrD1i6KqRwRy8X8VmIcP4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dd2290ee7f441ab85bb45ac4fd7e6c39c8da3f6f", + "rev": "0f16a997d7712bc6d706c0cbfc42e536d3cdb4f4", "type": "github" }, "original": { @@ -482,11 +482,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1751984180, - "narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=", + "lastModified": 1752480373, + "narHash": "sha256-JHQbm+OcGp32wAsXTE/FLYGNpb+4GLi5oTvCxwSoBOA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9807714d6944a957c2e036f84b0ff8caf9930bc0", + "rev": "62e0f05ede1da0d54515d4ea8ce9c733f12d9f08", "type": "github" }, "original": { @@ -518,11 +518,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1752483337, - "narHash": "sha256-HRm5gqtYWtk1rM3qzx0yFVqV1QlkOIBcLQM+Rrthht8=", + "lastModified": 1752790148, + "narHash": "sha256-9rtLCBqhNaz97bC+MOSUqwN/QUimVG3D/5O8HKhNIeU=", "owner": "nix-community", "repo": "NUR", - "rev": "5b1910b8032e7adc6137e2f1a1e230e25e42ddce", + "rev": "3c776e8afa33406dfe24292fb70d4e259d4dd40e", "type": "github" }, "original": { @@ -634,11 +634,11 @@ ] }, "locked": { - "lastModified": 1751606940, - "narHash": "sha256-KrDPXobG7DFKTOteqdSVeL1bMVitDcy7otpVZWDE6MA=", + "lastModified": 1752544651, + "narHash": "sha256-GllP7cmQu7zLZTs9z0J2gIL42IZHa9CBEXwBY9szT0U=", "owner": "Mic92", "repo": "sops-nix", - "rev": "3633fc4acf03f43b260244d94c71e9e14a2f6e0d", + "rev": "2c8def626f54708a9c38a5861866660395bb3461", "type": "github" }, "original": { @@ -729,11 +729,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1752412464, - "narHash": "sha256-8br+rIBimcsccy6LZXdzjEeJC67655Ute8wCFKkFAq8=", + "lastModified": 1752512246, + "narHash": "sha256-L3d52lZpZlteZSHgSDFd+Q6BD24BiLH4KjBFD4Sasp4=", "owner": "vedderb", "repo": "vesc_tool", - "rev": "3d9bf42df4ed617a4ceb026bfebcc0f6deb5de5a", + "rev": "16f6216c87b04db5e68071a840e3398e20ad1aad", "type": "github" }, "original": { From ecec4e9e592cf858403d701d1e3e4361e2dc2273 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 18 Jul 2025 10:34:49 +0200 Subject: [PATCH 697/766] Add basic logging for powerUp and powerDown --- hosts/copper/services/default.nix | 1 + hosts/copper/services/timelog.nix | 10 ++++++++++ 2 files changed, 11 insertions(+) create mode 100644 hosts/copper/services/timelog.nix diff --git a/hosts/copper/services/default.nix b/hosts/copper/services/default.nix index 93eb10c..663c3a8 100644 --- a/hosts/copper/services/default.nix +++ b/hosts/copper/services/default.nix @@ -2,6 +2,7 @@ imports = [ ./illuminanced.nix ./ntfy.nix + ./timelog.nix ./webdev.nix ]; } diff --git a/hosts/copper/services/timelog.nix b/hosts/copper/services/timelog.nix new file mode 100644 index 0000000..3343897 --- /dev/null +++ b/hosts/copper/services/timelog.nix @@ -0,0 +1,10 @@ +{ + powerManagement = { + powerUpCommands = '' + echo "timelog: powerUp" + ''; + powerDownCommands = '' + echo "timelog: powerDown" + ''; + }; +} From 1a809b4fb8ca532caaa37d62e8c64b722f6dcb5d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 18 Jul 2025 10:36:43 +0200 Subject: [PATCH 698/766] Add Weinturm it mailbox --- users/jalr/default.nix | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/users/jalr/default.nix b/users/jalr/default.nix index d08ba2e..ac85cd2 100644 --- a/users/jalr/default.nix +++ b/users/jalr/default.nix @@ -174,6 +174,31 @@ in profiles = [ "default" ]; }; }; + "Weinturm Open Air - IT" = { + userName = "it@weinturm-open-air.de"; + address = "it@weinturm-open-air.de"; + realName = "Weinturm Open Air IT"; + imap = { + host = "mail.agenturserver.de"; + port = 143; + tls = { + enable = true; + useStartTls = true; + }; + }; + smtp = { + host = "mail.agenturserver.de"; + port = 587; + tls = { + enable = true; + useStartTls = true; + }; + }; + thunderbird = { + enable = true; + profiles = [ "default" ]; + }; + }; }; }; }; From 5bebf82b82716bd30bbf827ac2dfd4f28150a1b1 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 22 Jul 2025 10:54:32 +0200 Subject: [PATCH 699/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/d5ad4485e6f2edcc06751df65c5e16572877db88?narHash=sha256-PkaR0qmyP9q/MDN3uYa%2BRLeBA0PjvEQiM0rTDDBXkL8%3D' (2025-07-17) → 'github:nix-community/disko/545aba02960caa78a31bd9a8709a0ad4b6320a5c?narHash=sha256-7lrVrE0jSvZHrxEzvnfHFE/Wkk9DDqb%2BmYCodI5uuB8%3D' (2025-07-21) • Updated input 'gomod2nix': 'github:nix-community/gomod2nix/664ad7a2df4623037e315e4094346bff5c44e9ee?narHash=sha256-/GTdqFzFw/Y9DSNAfzvzyCMlKjUyRKMPO%2BapIuaTU4A%3D' (2025-07-05) → 'github:nix-community/gomod2nix/be828766411cad04c194c8f714d46aa2b2596362?narHash=sha256-MaaWYgN/nia7xJcOYLBtPk%2BcFo7X2zEM1d9xIGPQrLU%3D' (2025-07-21) • Updated input 'home-manager': 'github:nix-community/home-manager/c718918222bdb104397762dea67e6b397a7927fe?narHash=sha256-5dn97vIYxn6VozKePOQSDxVCsrl38nDdMJXx86KIJH0%3D' (2025-07-17) → 'github:nix-community/home-manager/adf195f021a8cbb0c317f75b52e96c82616526f9?narHash=sha256-KerePGJYX47ex6OY3CWsid4AltO2gDtQROunYJ0eCEE%3D' (2025-07-20) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/d1bfa8f6ccfb5c383e1eba609c1eb67ca24ed153?narHash=sha256-P8J72psdc/rWliIvp8jUpoQ6qRDlVzgSDDlgkaXQ0Fw%3D' (2025-07-16) → 'github:nixos/nixos-hardware/cc66fddc6cb04ab479a1bb062f4d4da27c936a22?narHash=sha256-nFxE8lk9JvGelxClCmwuJYftbHqwnc01dRN4DVLUroM%3D' (2025-07-21) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/32a4e87942101f1c9f9865e04dc3ddb175f5f32e?narHash=sha256-f3pO%2B9lg66mV7IMmmIqG4PL3223TYMlnlw%2Bpnpelbss%3D' (2025-07-15) → 'github:nixos/nixpkgs/a14f718bc528ad298bd95a18a9ac9a7d7c0ef8e5?narHash=sha256-%2BxNQQqqCx47sbSbwwj/aQL5Xrv6wlgiIU/yKWVAtnc4%3D' (2025-07-20) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/0f16a997d7712bc6d706c0cbfc42e536d3cdb4f4?narHash=sha256-xrHo3fAEwaNYAiO2rv46bqCrD1i6KqRwRy8X8VmIcP4%3D' (2025-07-17) → 'github:NixOS/nixpkgs/22cad72fc0492622974af5ca560952e878ba184f?narHash=sha256-TEjnWl8148gEUi8CljOyhb5StLfFkpZQmAPmEI7HTnE%3D' (2025-07-22) • Updated input 'nur': 'github:nix-community/NUR/3c776e8afa33406dfe24292fb70d4e259d4dd40e?narHash=sha256-9rtLCBqhNaz97bC%2BMOSUqwN/QUimVG3D/5O8HKhNIeU%3D' (2025-07-17) → 'github:nix-community/NUR/690f8c0102a674b35ac4e919bb34a8ef10d0e84c?narHash=sha256-ftWDv9eUl0cNsJfhwx7RrIZvtUt0SH3LoGsBZfGyWDw%3D' (2025-07-22) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/62e0f05ede1da0d54515d4ea8ce9c733f12d9f08?narHash=sha256-JHQbm%2BOcGp32wAsXTE/FLYGNpb%2B4GLi5oTvCxwSoBOA%3D' (2025-07-14) → 'github:nixos/nixpkgs/c87b95e25065c028d31a94f06a62927d18763fdf?narHash=sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc%3D' (2025-07-19) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 96c19fc..dc3bd38 100644 --- a/flake.lock +++ b/flake.lock @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1752718651, - "narHash": "sha256-PkaR0qmyP9q/MDN3uYa+RLeBA0PjvEQiM0rTDDBXkL8=", + "lastModified": 1753140376, + "narHash": "sha256-7lrVrE0jSvZHrxEzvnfHFE/Wkk9DDqb+mYCodI5uuB8=", "owner": "nix-community", "repo": "disko", - "rev": "d5ad4485e6f2edcc06751df65c5e16572877db88", + "rev": "545aba02960caa78a31bd9a8709a0ad4b6320a5c", "type": "github" }, "original": { @@ -243,11 +243,11 @@ ] }, "locked": { - "lastModified": 1751702058, - "narHash": "sha256-/GTdqFzFw/Y9DSNAfzvzyCMlKjUyRKMPO+apIuaTU4A=", + "lastModified": 1753096219, + "narHash": "sha256-MaaWYgN/nia7xJcOYLBtPk+cFo7X2zEM1d9xIGPQrLU=", "owner": "nix-community", "repo": "gomod2nix", - "rev": "664ad7a2df4623037e315e4094346bff5c44e9ee", + "rev": "be828766411cad04c194c8f714d46aa2b2596362", "type": "github" }, "original": { @@ -263,11 +263,11 @@ ] }, "locked": { - "lastModified": 1752780124, - "narHash": "sha256-5dn97vIYxn6VozKePOQSDxVCsrl38nDdMJXx86KIJH0=", + "lastModified": 1753055804, + "narHash": "sha256-KerePGJYX47ex6OY3CWsid4AltO2gDtQROunYJ0eCEE=", "owner": "nix-community", "repo": "home-manager", - "rev": "c718918222bdb104397762dea67e6b397a7927fe", + "rev": "adf195f021a8cbb0c317f75b52e96c82616526f9", "type": "github" }, "original": { @@ -402,11 +402,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1752666637, - "narHash": "sha256-P8J72psdc/rWliIvp8jUpoQ6qRDlVzgSDDlgkaXQ0Fw=", + "lastModified": 1753122741, + "narHash": "sha256-nFxE8lk9JvGelxClCmwuJYftbHqwnc01dRN4DVLUroM=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "d1bfa8f6ccfb5c383e1eba609c1eb67ca24ed153", + "rev": "cc66fddc6cb04ab479a1bb062f4d4da27c936a22", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1752620740, - "narHash": "sha256-f3pO+9lg66mV7IMmmIqG4PL3223TYMlnlw+pnpelbss=", + "lastModified": 1752995727, + "narHash": "sha256-+xNQQqqCx47sbSbwwj/aQL5Xrv6wlgiIU/yKWVAtnc4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "32a4e87942101f1c9f9865e04dc3ddb175f5f32e", + "rev": "a14f718bc528ad298bd95a18a9ac9a7d7c0ef8e5", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1752791821, - "narHash": "sha256-xrHo3fAEwaNYAiO2rv46bqCrD1i6KqRwRy8X8VmIcP4=", + "lastModified": 1753174360, + "narHash": "sha256-TEjnWl8148gEUi8CljOyhb5StLfFkpZQmAPmEI7HTnE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0f16a997d7712bc6d706c0cbfc42e536d3cdb4f4", + "rev": "22cad72fc0492622974af5ca560952e878ba184f", "type": "github" }, "original": { @@ -482,11 +482,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1752480373, - "narHash": "sha256-JHQbm+OcGp32wAsXTE/FLYGNpb+4GLi5oTvCxwSoBOA=", + "lastModified": 1752950548, + "narHash": "sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "62e0f05ede1da0d54515d4ea8ce9c733f12d9f08", + "rev": "c87b95e25065c028d31a94f06a62927d18763fdf", "type": "github" }, "original": { @@ -518,11 +518,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1752790148, - "narHash": "sha256-9rtLCBqhNaz97bC+MOSUqwN/QUimVG3D/5O8HKhNIeU=", + "lastModified": 1753166477, + "narHash": "sha256-ftWDv9eUl0cNsJfhwx7RrIZvtUt0SH3LoGsBZfGyWDw=", "owner": "nix-community", "repo": "NUR", - "rev": "3c776e8afa33406dfe24292fb70d4e259d4dd40e", + "rev": "690f8c0102a674b35ac4e919bb34a8ef10d0e84c", "type": "github" }, "original": { From f2413ad11687841d745750424c8f0ffb8f8f79a4 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 23 Jul 2025 21:33:41 +0200 Subject: [PATCH 700/766] Add treestyletab.css --- users/jalr/modules/firefox/default.nix | 2 ++ users/jalr/modules/firefox/treestyletab.css | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 users/jalr/modules/firefox/treestyletab.css diff --git a/users/jalr/modules/firefox/default.nix b/users/jalr/modules/firefox/default.nix index af9224b..62b3eb5 100644 --- a/users/jalr/modules/firefox/default.nix +++ b/users/jalr/modules/firefox/default.nix @@ -380,4 +380,6 @@ enable = true; browsers = [ "firefox" ]; }; + + xdg.configFile."treestyletab.css".source = ./treestyletab.css; } diff --git a/users/jalr/modules/firefox/treestyletab.css b/users/jalr/modules/firefox/treestyletab.css new file mode 100644 index 0000000..b5b430a --- /dev/null +++ b/users/jalr/modules/firefox/treestyletab.css @@ -0,0 +1,17 @@ +@media (prefers-color-scheme: light) { + tab-item:not(.active):not(.bundled-active):not(.highlighted), + #background { + --toolbar-non-lwt-bgcolor: ThreeDShadow; + --toolbar-non-lwt-textcolor: ButtonText; + } +} + +@media (prefers-color-scheme: dark) { + #tabbar { + background-color: var(--in-content-page-background); + } +} + +tab-item.coloredTabsHue0 tab-item-substance { + background: transparent; +} From 6525b69c43aad47aa90d018e0c9d08ad51a8fa26 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 28 Jul 2025 10:04:27 +0200 Subject: [PATCH 701/766] Add tio --- users/jalr/modules/cli/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/users/jalr/modules/cli/default.nix b/users/jalr/modules/cli/default.nix index 13c5f0b..5ab60f5 100644 --- a/users/jalr/modules/cli/default.nix +++ b/users/jalr/modules/cli/default.nix @@ -14,6 +14,7 @@ lsof ncdu ripgrep + tio unzip ] ++ (if ! nixosConfig.jalr.workstation.enable then [ ] else [ dnsutils From ae3c4634160d6dbdca5e616a4d81d04a07e5b7e6 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 28 Jul 2025 10:05:35 +0200 Subject: [PATCH 702/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/adf195f021a8cbb0c317f75b52e96c82616526f9?narHash=sha256-KerePGJYX47ex6OY3CWsid4AltO2gDtQROunYJ0eCEE%3D' (2025-07-20) → 'github:nix-community/home-manager/fc3add429f21450359369af74c2375cb34a2d204?narHash=sha256-oV695RvbAE4%2BR9pcsT9shmp6zE/%2BIZe6evHWX63f2Qg%3D' (2025-07-27) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/a14f718bc528ad298bd95a18a9ac9a7d7c0ef8e5?narHash=sha256-%2BxNQQqqCx47sbSbwwj/aQL5Xrv6wlgiIU/yKWVAtnc4%3D' (2025-07-20) → 'github:nixos/nixpkgs/3ff0e34b1383648053bba8ed03f201d3466f90c9?narHash=sha256-CdX2Rtvp5I8HGu9swBmYuq%2BILwRxpXdJwlpg8jvN4tU%3D' (2025-07-24) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/22cad72fc0492622974af5ca560952e878ba184f?narHash=sha256-TEjnWl8148gEUi8CljOyhb5StLfFkpZQmAPmEI7HTnE%3D' (2025-07-22) → 'github:NixOS/nixpkgs/2014a8b27a90ef142462b5dfabc8e73bb95bec8b?narHash=sha256-vbjK4COEWyg8xX6GjyVEGZVIodA3DWyeqxnObyfqzas%3D' (2025-07-28) • Updated input 'nur': 'github:nix-community/NUR/690f8c0102a674b35ac4e919bb34a8ef10d0e84c?narHash=sha256-ftWDv9eUl0cNsJfhwx7RrIZvtUt0SH3LoGsBZfGyWDw%3D' (2025-07-22) → 'github:nix-community/NUR/0ca9aba7c440a77873111b7a52913cfaac5ddb08?narHash=sha256-OEqqcfz%2BDny%2BIWxTg/gGyf4Pr21TevNHFKxuVVo4NLs%3D' (2025-07-28) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/c87b95e25065c028d31a94f06a62927d18763fdf?narHash=sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc%3D' (2025-07-19) → 'github:nixos/nixpkgs/7fd36ee82c0275fb545775cc5e4d30542899511d?narHash=sha256-9h7%2B4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ%2BSJjk%3D' (2025-07-25) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index dc3bd38..4dfbdd9 100644 --- a/flake.lock +++ b/flake.lock @@ -263,11 +263,11 @@ ] }, "locked": { - "lastModified": 1753055804, - "narHash": "sha256-KerePGJYX47ex6OY3CWsid4AltO2gDtQROunYJ0eCEE=", + "lastModified": 1753592768, + "narHash": "sha256-oV695RvbAE4+R9pcsT9shmp6zE/+IZe6evHWX63f2Qg=", "owner": "nix-community", "repo": "home-manager", - "rev": "adf195f021a8cbb0c317f75b52e96c82616526f9", + "rev": "fc3add429f21450359369af74c2375cb34a2d204", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1752995727, - "narHash": "sha256-+xNQQqqCx47sbSbwwj/aQL5Xrv6wlgiIU/yKWVAtnc4=", + "lastModified": 1753345091, + "narHash": "sha256-CdX2Rtvp5I8HGu9swBmYuq+ILwRxpXdJwlpg8jvN4tU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a14f718bc528ad298bd95a18a9ac9a7d7c0ef8e5", + "rev": "3ff0e34b1383648053bba8ed03f201d3466f90c9", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1753174360, - "narHash": "sha256-TEjnWl8148gEUi8CljOyhb5StLfFkpZQmAPmEI7HTnE=", + "lastModified": 1753689080, + "narHash": "sha256-vbjK4COEWyg8xX6GjyVEGZVIodA3DWyeqxnObyfqzas=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "22cad72fc0492622974af5ca560952e878ba184f", + "rev": "2014a8b27a90ef142462b5dfabc8e73bb95bec8b", "type": "github" }, "original": { @@ -482,11 +482,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1752950548, - "narHash": "sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc=", + "lastModified": 1753429684, + "narHash": "sha256-9h7+4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ+SJjk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c87b95e25065c028d31a94f06a62927d18763fdf", + "rev": "7fd36ee82c0275fb545775cc5e4d30542899511d", "type": "github" }, "original": { @@ -518,11 +518,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1753166477, - "narHash": "sha256-ftWDv9eUl0cNsJfhwx7RrIZvtUt0SH3LoGsBZfGyWDw=", + "lastModified": 1753686169, + "narHash": "sha256-OEqqcfz+Dny+IWxTg/gGyf4Pr21TevNHFKxuVVo4NLs=", "owner": "nix-community", "repo": "NUR", - "rev": "690f8c0102a674b35ac4e919bb34a8ef10d0e84c", + "rev": "0ca9aba7c440a77873111b7a52913cfaac5ddb08", "type": "github" }, "original": { From c1d55914ddba8c5c0c1fc5f155da15e8d98ea6ab Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 30 Jul 2025 20:56:53 +0200 Subject: [PATCH 703/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/3ff0e34b1383648053bba8ed03f201d3466f90c9?narHash=sha256-CdX2Rtvp5I8HGu9swBmYuq%2BILwRxpXdJwlpg8jvN4tU%3D' (2025-07-24) → 'github:nixos/nixpkgs/1f08a4df998e21f4e8be8fb6fbf61d11a1a5076a?narHash=sha256-%2BjkEZxs7bfOKfBIk430K%2BtK9IvXlwzqQQnppC2ZKFj4%3D' (2025-07-29) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/2014a8b27a90ef142462b5dfabc8e73bb95bec8b?narHash=sha256-vbjK4COEWyg8xX6GjyVEGZVIodA3DWyeqxnObyfqzas%3D' (2025-07-28) → 'github:NixOS/nixpkgs/eedcb0398ca492b960103c0f6413eae0d0947ac9?narHash=sha256-dMMuPj1ENyknnVt7m90uQAq26PH4j/Fs1qZ9y/Zu%2B44%3D' (2025-07-30) • Updated input 'nur': 'github:nix-community/NUR/0ca9aba7c440a77873111b7a52913cfaac5ddb08?narHash=sha256-OEqqcfz%2BDny%2BIWxTg/gGyf4Pr21TevNHFKxuVVo4NLs%3D' (2025-07-28) → 'github:nix-community/NUR/3ae985f54bc999536cee4f6a7e4802a7402c6551?narHash=sha256-2YJ6A3BIxCoFfGL6mNv%2B0ZyrgN3ZxiHFQwrKTd993zk%3D' (2025-07-30) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/7fd36ee82c0275fb545775cc5e4d30542899511d?narHash=sha256-9h7%2B4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ%2BSJjk%3D' (2025-07-25) → 'github:nixos/nixpkgs/dc9637876d0dcc8c9e5e22986b857632effeb727?narHash=sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM%3D' (2025-07-28) • Updated input 'vesc-tool': 'github:vedderb/vesc_tool/16f6216c87b04db5e68071a840e3398e20ad1aad?narHash=sha256-L3d52lZpZlteZSHgSDFd%2BQ6BD24BiLH4KjBFD4Sasp4%3D' (2025-07-14) → 'github:vedderb/vesc_tool/f3b8c6f8c7b31420b0981448e6abb4bd5ddedbaa?narHash=sha256-r6Sxa8a2DNseWZ86vp/Wm22qP9KM7%2BZpkyRtQ1xh2hE%3D' (2025-07-30) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 4dfbdd9..f4ba2e6 100644 --- a/flake.lock +++ b/flake.lock @@ -418,11 +418,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1753345091, - "narHash": "sha256-CdX2Rtvp5I8HGu9swBmYuq+ILwRxpXdJwlpg8jvN4tU=", + "lastModified": 1753749649, + "narHash": "sha256-+jkEZxs7bfOKfBIk430K+tK9IvXlwzqQQnppC2ZKFj4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3ff0e34b1383648053bba8ed03f201d3466f90c9", + "rev": "1f08a4df998e21f4e8be8fb6fbf61d11a1a5076a", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1753689080, - "narHash": "sha256-vbjK4COEWyg8xX6GjyVEGZVIodA3DWyeqxnObyfqzas=", + "lastModified": 1753901792, + "narHash": "sha256-dMMuPj1ENyknnVt7m90uQAq26PH4j/Fs1qZ9y/Zu+44=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2014a8b27a90ef142462b5dfabc8e73bb95bec8b", + "rev": "eedcb0398ca492b960103c0f6413eae0d0947ac9", "type": "github" }, "original": { @@ -482,11 +482,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1753429684, - "narHash": "sha256-9h7+4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ+SJjk=", + "lastModified": 1753694789, + "narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7fd36ee82c0275fb545775cc5e4d30542899511d", + "rev": "dc9637876d0dcc8c9e5e22986b857632effeb727", "type": "github" }, "original": { @@ -518,11 +518,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1753686169, - "narHash": "sha256-OEqqcfz+Dny+IWxTg/gGyf4Pr21TevNHFKxuVVo4NLs=", + "lastModified": 1753901181, + "narHash": "sha256-2YJ6A3BIxCoFfGL6mNv+0ZyrgN3ZxiHFQwrKTd993zk=", "owner": "nix-community", "repo": "NUR", - "rev": "0ca9aba7c440a77873111b7a52913cfaac5ddb08", + "rev": "3ae985f54bc999536cee4f6a7e4802a7402c6551", "type": "github" }, "original": { @@ -729,11 +729,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1752512246, - "narHash": "sha256-L3d52lZpZlteZSHgSDFd+Q6BD24BiLH4KjBFD4Sasp4=", + "lastModified": 1753857766, + "narHash": "sha256-r6Sxa8a2DNseWZ86vp/Wm22qP9KM7+ZpkyRtQ1xh2hE=", "owner": "vedderb", "repo": "vesc_tool", - "rev": "16f6216c87b04db5e68071a840e3398e20ad1aad", + "rev": "f3b8c6f8c7b31420b0981448e6abb4bd5ddedbaa", "type": "github" }, "original": { From cad6f04d73e610f9d95f1627a0868469eac3ff6e Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 30 Jul 2025 23:41:40 +0200 Subject: [PATCH 704/766] Use boolean to enable/disable sway and gnome --- hosts/cadmium/configuration.nix | 5 ++++- hosts/copper/configuration.nix | 5 ++++- modules/default.nix | 7 ++----- modules/gnome.nix | 2 +- modules/sway.nix | 4 ++-- 5 files changed, 13 insertions(+), 10 deletions(-) diff --git a/hosts/cadmium/configuration.nix b/hosts/cadmium/configuration.nix index 1bb11aa..620fd71 100644 --- a/hosts/cadmium/configuration.nix +++ b/hosts/cadmium/configuration.nix @@ -47,7 +47,10 @@ bootloader = "systemd-boot"; bluetooth.enable = true; uefi.enable = true; - gui.enable = true; + gui = { + enable = true; + sway.enable = true; + }; workstation.enable = true; sdr.enable = true; libvirt.enable = true; diff --git a/hosts/copper/configuration.nix b/hosts/copper/configuration.nix index d6b5718..bcca713 100644 --- a/hosts/copper/configuration.nix +++ b/hosts/copper/configuration.nix @@ -59,7 +59,10 @@ bootloader = "lanzaboote"; bluetooth.enable = true; uefi.enable = true; - gui.enable = true; + gui = { + enable = true; + sway.enable = true; + }; workstation.enable = true; sdr.enable = true; libvirt.enable = true; diff --git a/modules/default.nix b/modules/default.nix index ce090f5..7e5f2aa 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -4,11 +4,8 @@ options.jalr = { gui = { enable = lib.mkEnableOption "GUI"; - desktop = lib.mkOption { - type = lib.types.nullOr (lib.types.enum [ "sway" "gnome" ]); - default = "sway"; - description = "Desktop environment to install"; - }; + sway.enable = lib.mkEnableOption "sway"; + gnome.enable = lib.mkEnableOption "gnome"; }; workstation.enable = lib.mkEnableOption "Workstation"; }; diff --git a/modules/gnome.nix b/modules/gnome.nix index 528934b..1ad2995 100644 --- a/modules/gnome.nix +++ b/modules/gnome.nix @@ -1,6 +1,6 @@ { config, lib, ... }: -lib.mkIf (config.jalr.gui.enable && config.jalr.gui.desktop == "gnome") { +lib.mkIf (config.jalr.gui.enable && config.jalr.gui.gnome.enable) { services.xserver = { enable = true; desktopManager.gnome.enable = true; diff --git a/modules/sway.nix b/modules/sway.nix index 286fa6e..0d12723 100644 --- a/modules/sway.nix +++ b/modules/sway.nix @@ -1,6 +1,6 @@ { config, lib, pkgs, ... }: -lib.mkIf (config.jalr.gui.enable && config.jalr.gui.desktop == "sway") { +lib.mkIf (config.jalr.gui.enable && config.jalr.gui.sway.enable) { programs = { wshowkeys.enable = true; dconf.enable = true; @@ -17,7 +17,7 @@ lib.mkIf (config.jalr.gui.enable && config.jalr.gui.desktop == "sway") { let command = pkgs.writeShellScript "sway-init" '' systemctl --user import-environment PATH - systemctl --user restart xdg-desktop-portal.service + #systemctl --user restart xdg-desktop-portal.service exec ${pkgs.sway}/bin/sway ''; user = "jalr"; From 17eb4d26f06637119f0495b69a638d65d5106085 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 5 Aug 2025 00:21:08 +0200 Subject: [PATCH 705/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'gomod2nix': 'github:nix-community/gomod2nix/be828766411cad04c194c8f714d46aa2b2596362?narHash=sha256-MaaWYgN/nia7xJcOYLBtPk%2BcFo7X2zEM1d9xIGPQrLU%3D' (2025-07-21) → 'github:nix-community/gomod2nix/7f963246a71626c7fc70b431a315c4388a0c95cf?narHash=sha256-YVoIFDCDpYuU3riaDEJ3xiGdPOtsx4sR5eTzHTytPV8%3D' (2025-08-01) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/cc66fddc6cb04ab479a1bb062f4d4da27c936a22?narHash=sha256-nFxE8lk9JvGelxClCmwuJYftbHqwnc01dRN4DVLUroM%3D' (2025-07-21) → 'github:nixos/nixos-hardware/9368056b73efb46eb14fd4667b99e0f81b805f28?narHash=sha256-Ry1gd1BQrNVJJfT11cpVP0FY8XFMx4DJV2IDp01CH9w%3D' (2025-08-04) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/1f08a4df998e21f4e8be8fb6fbf61d11a1a5076a?narHash=sha256-%2BjkEZxs7bfOKfBIk430K%2BtK9IvXlwzqQQnppC2ZKFj4%3D' (2025-07-29) → 'github:nixos/nixpkgs/ce01daebf8489ba97bd1609d185ea276efdeb121?narHash=sha256-1ziydHSiDuSnaiPzCQh1mRFBsM2d2yRX9I%2B5OPGEmIE%3D' (2025-08-04) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/eedcb0398ca492b960103c0f6413eae0d0947ac9?narHash=sha256-dMMuPj1ENyknnVt7m90uQAq26PH4j/Fs1qZ9y/Zu%2B44%3D' (2025-07-30) → 'github:NixOS/nixpkgs/cab778239e705082fe97bb4990e0d24c50924c04?narHash=sha256-lgmUyVQL9tSnvvIvBp7x1euhkkCho7n3TMzgjdvgPoU%3D' (2025-08-04) • Updated input 'nur': 'github:nix-community/NUR/3ae985f54bc999536cee4f6a7e4802a7402c6551?narHash=sha256-2YJ6A3BIxCoFfGL6mNv%2B0ZyrgN3ZxiHFQwrKTd993zk%3D' (2025-07-30) → 'github:nix-community/NUR/d2ef31d5f3c8741ef3b337805d4af02a861cce1c?narHash=sha256-tuWDY%2BoOimmLLcF/TYbnng4TdotWuRaSzh5Sy%2BbIzUQ%3D' (2025-08-04) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/dc9637876d0dcc8c9e5e22986b857632effeb727?narHash=sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM%3D' (2025-07-28) → 'github:nixos/nixpkgs/5b09dc45f24cf32316283e62aec81ffee3c3e376?narHash=sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY%3D' (2025-08-03) • Updated input 'sops-nix': 'github:Mic92/sops-nix/2c8def626f54708a9c38a5861866660395bb3461?narHash=sha256-GllP7cmQu7zLZTs9z0J2gIL42IZHa9CBEXwBY9szT0U%3D' (2025-07-15) → 'github:Mic92/sops-nix/49021900e69812ba7ddb9e40f9170218a7eca9f4?narHash=sha256-glPK8DF329/dXtosV7YSzRlF4n35WDjaVwdOMEoEXHA%3D' (2025-08-04) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index f4ba2e6..9c827fb 100644 --- a/flake.lock +++ b/flake.lock @@ -243,11 +243,11 @@ ] }, "locked": { - "lastModified": 1753096219, - "narHash": "sha256-MaaWYgN/nia7xJcOYLBtPk+cFo7X2zEM1d9xIGPQrLU=", + "lastModified": 1754078208, + "narHash": "sha256-YVoIFDCDpYuU3riaDEJ3xiGdPOtsx4sR5eTzHTytPV8=", "owner": "nix-community", "repo": "gomod2nix", - "rev": "be828766411cad04c194c8f714d46aa2b2596362", + "rev": "7f963246a71626c7fc70b431a315c4388a0c95cf", "type": "github" }, "original": { @@ -402,11 +402,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1753122741, - "narHash": "sha256-nFxE8lk9JvGelxClCmwuJYftbHqwnc01dRN4DVLUroM=", + "lastModified": 1754316476, + "narHash": "sha256-Ry1gd1BQrNVJJfT11cpVP0FY8XFMx4DJV2IDp01CH9w=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "cc66fddc6cb04ab479a1bb062f4d4da27c936a22", + "rev": "9368056b73efb46eb14fd4667b99e0f81b805f28", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1753749649, - "narHash": "sha256-+jkEZxs7bfOKfBIk430K+tK9IvXlwzqQQnppC2ZKFj4=", + "lastModified": 1754292888, + "narHash": "sha256-1ziydHSiDuSnaiPzCQh1mRFBsM2d2yRX9I+5OPGEmIE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1f08a4df998e21f4e8be8fb6fbf61d11a1a5076a", + "rev": "ce01daebf8489ba97bd1609d185ea276efdeb121", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1753901792, - "narHash": "sha256-dMMuPj1ENyknnVt7m90uQAq26PH4j/Fs1qZ9y/Zu+44=", + "lastModified": 1754340878, + "narHash": "sha256-lgmUyVQL9tSnvvIvBp7x1euhkkCho7n3TMzgjdvgPoU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eedcb0398ca492b960103c0f6413eae0d0947ac9", + "rev": "cab778239e705082fe97bb4990e0d24c50924c04", "type": "github" }, "original": { @@ -482,11 +482,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1753694789, - "narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=", + "lastModified": 1754214453, + "narHash": "sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "dc9637876d0dcc8c9e5e22986b857632effeb727", + "rev": "5b09dc45f24cf32316283e62aec81ffee3c3e376", "type": "github" }, "original": { @@ -518,11 +518,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1753901181, - "narHash": "sha256-2YJ6A3BIxCoFfGL6mNv+0ZyrgN3ZxiHFQwrKTd993zk=", + "lastModified": 1754344239, + "narHash": "sha256-tuWDY+oOimmLLcF/TYbnng4TdotWuRaSzh5Sy+bIzUQ=", "owner": "nix-community", "repo": "NUR", - "rev": "3ae985f54bc999536cee4f6a7e4802a7402c6551", + "rev": "d2ef31d5f3c8741ef3b337805d4af02a861cce1c", "type": "github" }, "original": { @@ -634,11 +634,11 @@ ] }, "locked": { - "lastModified": 1752544651, - "narHash": "sha256-GllP7cmQu7zLZTs9z0J2gIL42IZHa9CBEXwBY9szT0U=", + "lastModified": 1754328224, + "narHash": "sha256-glPK8DF329/dXtosV7YSzRlF4n35WDjaVwdOMEoEXHA=", "owner": "Mic92", "repo": "sops-nix", - "rev": "2c8def626f54708a9c38a5861866660395bb3461", + "rev": "49021900e69812ba7ddb9e40f9170218a7eca9f4", "type": "github" }, "original": { From 527689d088ecb06783ab31d3eec58cc90945b117 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 5 Aug 2025 01:33:58 +0200 Subject: [PATCH 706/766] Fix cvlc fixes "cannot execute: required file not found" --- hosts/iron/services/home-assistant.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/iron/services/home-assistant.nix b/hosts/iron/services/home-assistant.nix index fb520a9..e85e3a7 100644 --- a/hosts/iron/services/home-assistant.nix +++ b/hosts/iron/services/home-assistant.nix @@ -231,7 +231,7 @@ in after = [ "snapserver.service" ]; serviceConfig = { BindPaths = [ "/run/snapserver/hass.fifo" ]; - BindReadOnlyPaths = [ "/nix/store" "/etc/ssl/certs" "/etc/static/ssl/certs" ]; + BindReadOnlyPaths = [ "/nix/store" "/etc/ssl/certs" "/etc/static/ssl/certs" "/bin/sh" ]; CapabilityBoundingSet = ""; DynamicUser = "true"; Group = "snapserver"; From 602cd350b9009c84a729fe3d64a7cd4c1e2d0009 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 6 Aug 2025 00:40:04 +0200 Subject: [PATCH 707/766] Add mousepad --- users/jalr/modules/gui.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/users/jalr/modules/gui.nix b/users/jalr/modules/gui.nix index b1c6b40..d4d17cd 100644 --- a/users/jalr/modules/gui.nix +++ b/users/jalr/modules/gui.nix @@ -16,6 +16,7 @@ lib.mkIf nixosConfig.jalr.gui.enable { supersonic-wayland vlc xdg-utils + xfce.mousepad ]; services.kanshi = From 6414b7b79d45e40dbbe8ad8a09be9c4983d27ea6 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 5 Aug 2025 00:19:26 +0200 Subject: [PATCH 708/766] Add host jalr-t520 --- hosts/default.nix | 3 ++ hosts/jalr-t520/configuration.nix | 39 +++++++++++++++++++ hosts/jalr-t520/disko.nix | 65 +++++++++++++++++++++++++++++++ 3 files changed, 107 insertions(+) create mode 100644 hosts/jalr-t520/configuration.nix create mode 100644 hosts/jalr-t520/disko.nix diff --git a/hosts/default.nix b/hosts/default.nix index 63dee24..357302f 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -7,6 +7,9 @@ in targetHost = "jalr-k.duckdns.org"; system = "x86_64-linux"; }; + jalr-t520 = { + system = "x86_64-linux"; + }; cadmium = { system = "x86_64-linux"; }; diff --git a/hosts/jalr-t520/configuration.nix b/hosts/jalr-t520/configuration.nix new file mode 100644 index 0000000..2d23e72 --- /dev/null +++ b/hosts/jalr-t520/configuration.nix @@ -0,0 +1,39 @@ +{ lib, pkgs, ... }: + +{ + imports = [ + ./disko.nix + ../../users/jalr + ]; + + networking = { + hostName = "jalr-t520"; + useDHCP = false; + }; + + jalr = { + bootloader = "systemd-boot"; + bluetooth.enable = true; + gui = { + enable = true; + sway.enable = true; + gnome.enable = true; + }; + workstation.enable = true; + }; + + hardware.cpu.intel.updateMicrocode = true; + + powerManagement.cpuFreqGovernor = "performance"; + + environment.systemPackages = with pkgs; [ + intel-media-driver + libva + libva-utils + libva1 + ]; + + hardware.graphics.extraPackages = lib.singleton pkgs.vaapiIntel; + + system.stateVersion = "25.05"; +} diff --git a/hosts/jalr-t520/disko.nix b/hosts/jalr-t520/disko.nix new file mode 100644 index 0000000..e75beca --- /dev/null +++ b/hosts/jalr-t520/disko.nix @@ -0,0 +1,65 @@ +{ config, ... }: +let + cfg = config.disko; +in +{ + disko.devices = { + disk = { + system = { + type = "disk"; + device = "/dev/disk/by-id/ata-Samsung_SSD_850_EVO_120GB_S21UNSAG200527E"; + content = { + type = "gpt"; + partitions = { + esp = { + type = "EF00"; + size = "1024M"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + mountOptions = [ "uid=0" "gid=0" "fmask=0077" "dmask=0077" "nodev" "nosuid" "noexec" ]; + }; + }; + nixos = { + size = "100%"; + content = { + type = "btrfs"; + extraArgs = [ "-f" ]; + subvolumes = { + "/root" = { + mountpoint = "/"; + mountOptions = [ "compress-force=zstd:1" "noatime" ]; + }; + "/home" = { + mountpoint = "/home"; + mountOptions = [ "compress-force=zstd:1" "noatime" "nodev" "nosuid" ]; + }; + "/home/.snapshots" = { + mountOptions = [ "compress-force=zstd:1" "noatime" "nodev" "nosuid" ]; + }; + "/nix" = { + mountpoint = "/nix"; + mountOptions = [ "compress-force=zstd:1" "noatime" "noatime" "nodev" ]; + }; + }; + postCreateHook = + let + inherit (cfg.devices.disk.system.content.partitions.nixos) device; + in + '' + mountpoint="$(mktemp -d)" + mount "${device}" "$mountpoint" -o subvol=/ + trap 'umount "$mountpoint"; rmdir "$mountpoint"' EXIT + btrfs subvolume snapshot -r $mountpoint/root $mountpoint/root-blank + ''; + }; + }; + }; + }; + }; + }; + }; +} + + From 69e05f65992f0516c42735a8044b790fe13530ba Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 6 Aug 2025 01:17:57 +0200 Subject: [PATCH 709/766] Fix wifi --- hosts/jalr-t520/configuration.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hosts/jalr-t520/configuration.nix b/hosts/jalr-t520/configuration.nix index 2d23e72..e10957b 100644 --- a/hosts/jalr-t520/configuration.nix +++ b/hosts/jalr-t520/configuration.nix @@ -22,7 +22,10 @@ workstation.enable = true; }; - hardware.cpu.intel.updateMicrocode = true; + hardware = { + cpu.intel.updateMicrocode = true; + firmware = [ pkgs.linux-firmware ]; + }; powerManagement.cpuFreqGovernor = "performance"; From 464a4a9be8a765e85552bf989dbec7be4050cf01 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 6 Aug 2025 02:58:45 +0200 Subject: [PATCH 710/766] Fix keyboard layout for gdm --- modules/gnome.nix | 20 ++++++++++++++++++++ modules/sway.nix | 4 +++- users/jalr/modules/dconf.nix | 15 +++++++++++++++ users/jalr/modules/default.nix | 1 + users/jalr/modules/sway/default.nix | 6 ++++++ 5 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 users/jalr/modules/dconf.nix diff --git a/modules/gnome.nix b/modules/gnome.nix index 1ad2995..1a6b784 100644 --- a/modules/gnome.nix +++ b/modules/gnome.nix @@ -8,5 +8,25 @@ lib.mkIf (config.jalr.gui.enable && config.jalr.gui.gnome.enable) { enable = true; autoSuspend = false; }; + exportConfiguration = true; }; + + /* + programs.dconf = { + enable = true; + profiles = { + user.databases = [{ + settings = with lib.gvariant; { + "org/gnome/desktop/input-sources" = { + sources = [ + (mkTuple [ "xkb" "de" ]) + (mkTuple [ "xkb" "de+neo" ]) + (mkTuple [ "xkb" "us" ]) + ]; + }; + }; + }]; + }; + }; + */ } diff --git a/modules/sway.nix b/modules/sway.nix index 0d12723..dbd37fe 100644 --- a/modules/sway.nix +++ b/modules/sway.nix @@ -1,6 +1,8 @@ { config, lib, pkgs, ... }: lib.mkIf (config.jalr.gui.enable && config.jalr.gui.sway.enable) { + services.displayManager.sessionPackages = [ pkgs.sway ]; + programs = { wshowkeys.enable = true; dconf.enable = true; @@ -12,7 +14,7 @@ lib.mkIf (config.jalr.gui.enable && config.jalr.gui.sway.enable) { }; services.greetd = { - enable = true; + enable = !config.jalr.gui.gnome.enable; settings = let command = pkgs.writeShellScript "sway-init" '' diff --git a/users/jalr/modules/dconf.nix b/users/jalr/modules/dconf.nix new file mode 100644 index 0000000..eed759c --- /dev/null +++ b/users/jalr/modules/dconf.nix @@ -0,0 +1,15 @@ +{ lib, nixosConfig, ... }: + +lib.mkIf nixosConfig.jalr.gui.enable { + dconf.settings = { + "org/gnome/desktop/input-sources" = { + xkb-options = [ "grp:win_space_toggle" ]; + show-all-sources = true; + sources = [ + (lib.hm.gvariant.mkTuple [ "xkb" "de" ]) + (lib.hm.gvariant.mkTuple [ "xkb" "de+neo" ]) + (lib.hm.gvariant.mkTuple [ "xkb" "us" ]) + ]; + }; + }; +} diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index 0d9f98e..93aa653 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -6,6 +6,7 @@ ./aws.nix ./cli ./communication + ./dconf.nix ./direnv.nix ./do-not-disturb ./dynamic-colors.nix diff --git a/users/jalr/modules/sway/default.nix b/users/jalr/modules/sway/default.nix index 2ca9a9d..2202b71 100644 --- a/users/jalr/modules/sway/default.nix +++ b/users/jalr/modules/sway/default.nix @@ -101,6 +101,12 @@ in terminal = "${terminalEmulator}"; menu = "${pkgs.wofi}/bin/wofi --allow-images --show drun --color=$HOME/.config/wofi/color"; + input."type:keyboard" = { + xkb_layout = "de,de,us"; + xkb_variant = "neo,,"; + xkb_options = "grp:win_space_toggle"; + }; + output = { "*".bg = "${wallpaper} fill"; } // matchHostname "copper" { From 396066b51a8c70a2e9a73e838710d510475cd6d6 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 6 Aug 2025 03:06:33 +0200 Subject: [PATCH 711/766] Add libreoffice --- users/jalr/modules/gui.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/users/jalr/modules/gui.nix b/users/jalr/modules/gui.nix index d4d17cd..4bc6762 100644 --- a/users/jalr/modules/gui.nix +++ b/users/jalr/modules/gui.nix @@ -10,6 +10,7 @@ lib.mkIf nixosConfig.jalr.gui.enable { evince exiftool geeqie + libreoffice-qt6-fresh mpv networkmanagerapplet streamlink From bbf6b56b258939a031d7dd789d48082b3c99b1cb Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 6 Aug 2025 03:41:49 +0200 Subject: [PATCH 712/766] Add zram --- hosts/magnesium/configuration.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/hosts/magnesium/configuration.nix b/hosts/magnesium/configuration.nix index 1903e48..626f0b8 100644 --- a/hosts/magnesium/configuration.nix +++ b/hosts/magnesium/configuration.nix @@ -21,5 +21,12 @@ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + zramSwap = { + enable = true; + algorithm = "zstd"; + memoryPercent = 60; + priority = 1; + }; + system.stateVersion = "24.11"; } From 0a3c725259b9a5af5401e416cfa4c6a20e094678 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 19 Aug 2025 12:13:06 +0200 Subject: [PATCH 713/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/545aba02960caa78a31bd9a8709a0ad4b6320a5c?narHash=sha256-7lrVrE0jSvZHrxEzvnfHFE/Wkk9DDqb%2BmYCodI5uuB8%3D' (2025-07-21) → 'github:nix-community/disko/4073ff2f481f9ef3501678ff479ed81402caae6d?narHash=sha256-bU4nqi3IpsUZJeyS8Jk85ytlX61i4b0KCxXX9YcOgVc%3D' (2025-08-18) • Updated input 'gomod2nix': 'github:nix-community/gomod2nix/7f963246a71626c7fc70b431a315c4388a0c95cf?narHash=sha256-YVoIFDCDpYuU3riaDEJ3xiGdPOtsx4sR5eTzHTytPV8%3D' (2025-08-01) → 'github:nix-community/gomod2nix/4212d75925019d716ea6ca525e9cd7b47e7cb27a?narHash=sha256-pmoZQXlCbOO/kEJuvKrE8Z03MM%2B5YMvcYFy0W7M/ZNU%3D' (2025-08-18) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/16ec914f6fb6f599ce988427d9d94efddf25fe6d?narHash=sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg%3D' (2025-06-24) → 'github:cachix/git-hooks.nix/4b04db83821b819bbbe32ed0a025b31e7971f22e?narHash=sha256-I0Ok1OGDwc1jPd8cs2VvAYZsHriUVFGIUqW%2B7uSsOUM%3D' (2025-08-17) • Updated input 'nix-pre-commit-hooks/flake-compat': 'github:edolstra/flake-compat/0f9255e01c2351cc7d116c072cb317785dd33b33?narHash=sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U%3D' (2023-10-04) → 'github:edolstra/flake-compat/9100a0f413b0c601e0533d1d94ffd501ce2e7885?narHash=sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX%2BfjA8Xf8PUmqCY%3D' (2025-05-12) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/9368056b73efb46eb14fd4667b99e0f81b805f28?narHash=sha256-Ry1gd1BQrNVJJfT11cpVP0FY8XFMx4DJV2IDp01CH9w%3D' (2025-08-04) → 'github:nixos/nixos-hardware/3dac8a872557e0ca8c083cdcfc2f218d18e113b0?narHash=sha256-aJHFJWP9AuI8jUGzI77LYcSlkA9wJnOIg4ZqftwNGXA%3D' (2025-08-16) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/ce01daebf8489ba97bd1609d185ea276efdeb121?narHash=sha256-1ziydHSiDuSnaiPzCQh1mRFBsM2d2yRX9I%2B5OPGEmIE%3D' (2025-08-04) → 'github:nixos/nixpkgs/48f4c982de68d966421d2b6f1ddbeb6227cc5ceb?narHash=sha256-axUoWcm4cNQ36jOlnkD9D40LTfSQgk8ExfHSRm3rTtg%3D' (2025-08-17) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/cab778239e705082fe97bb4990e0d24c50924c04?narHash=sha256-lgmUyVQL9tSnvvIvBp7x1euhkkCho7n3TMzgjdvgPoU%3D' (2025-08-04) → 'github:NixOS/nixpkgs/bc51535691dc401aa18c465956226471eb02b1a2?narHash=sha256-CLbMmrlmAeha%2Bsruk2L5GhCy19C2XuXFUOw1Tg5E%2B6s%3D' (2025-08-19) • Updated input 'nur': 'github:nix-community/NUR/d2ef31d5f3c8741ef3b337805d4af02a861cce1c?narHash=sha256-tuWDY%2BoOimmLLcF/TYbnng4TdotWuRaSzh5Sy%2BbIzUQ%3D' (2025-08-04) → 'github:nix-community/NUR/bf9b3a8dd0bb5d78e440cd5b4f0646b581abce79?narHash=sha256-EBXB%2BUp0CL%2BTwt6gHyrk1x7p3g8AZ6vUExFzJor9D8Y%3D' (2025-08-19) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/5b09dc45f24cf32316283e62aec81ffee3c3e376?narHash=sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY%3D' (2025-08-03) → 'github:nixos/nixpkgs/fbcf476f790d8a217c3eab4e12033dc4a0f6d23c?narHash=sha256-wNO3%2BKs2jZJ4nTHMuks%2BcxAiVBGNuEBXsT29Bz6HASo%3D' (2025-08-14) • Updated input 'sops-nix': 'github:Mic92/sops-nix/49021900e69812ba7ddb9e40f9170218a7eca9f4?narHash=sha256-glPK8DF329/dXtosV7YSzRlF4n35WDjaVwdOMEoEXHA%3D' (2025-08-04) → 'github:Mic92/sops-nix/3223c7a92724b5d804e9988c6b447a0d09017d48?narHash=sha256-t%2Bvoe2961vCgrzPFtZxha0/kmFSHFobzF00sT8p9h0U%3D' (2025-08-12) • Updated input 'vesc-tool': 'github:vedderb/vesc_tool/f3b8c6f8c7b31420b0981448e6abb4bd5ddedbaa?narHash=sha256-r6Sxa8a2DNseWZ86vp/Wm22qP9KM7%2BZpkyRtQ1xh2hE%3D' (2025-07-30) → 'github:vedderb/vesc_tool/2ea98099a050881540f80090225b70b6c89255dc?narHash=sha256-AirM4TV3BXbZcgUGIpQF9TKmr9RH0ALzgg8B6pya/Nw%3D' (2025-08-19) --- flake.lock | 66 +++++++++++++++++++++++++++--------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/flake.lock b/flake.lock index 9c827fb..3bfdb41 100644 --- a/flake.lock +++ b/flake.lock @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1753140376, - "narHash": "sha256-7lrVrE0jSvZHrxEzvnfHFE/Wkk9DDqb+mYCodI5uuB8=", + "lastModified": 1755519972, + "narHash": "sha256-bU4nqi3IpsUZJeyS8Jk85ytlX61i4b0KCxXX9YcOgVc=", "owner": "nix-community", "repo": "disko", - "rev": "545aba02960caa78a31bd9a8709a0ad4b6320a5c", + "rev": "4073ff2f481f9ef3501678ff479ed81402caae6d", "type": "github" }, "original": { @@ -97,11 +97,11 @@ "flake-compat_2": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -243,11 +243,11 @@ ] }, "locked": { - "lastModified": 1754078208, - "narHash": "sha256-YVoIFDCDpYuU3riaDEJ3xiGdPOtsx4sR5eTzHTytPV8=", + "lastModified": 1755527833, + "narHash": "sha256-pmoZQXlCbOO/kEJuvKrE8Z03MM+5YMvcYFy0W7M/ZNU=", "owner": "nix-community", "repo": "gomod2nix", - "rev": "7f963246a71626c7fc70b431a315c4388a0c95cf", + "rev": "4212d75925019d716ea6ca525e9cd7b47e7cb27a", "type": "github" }, "original": { @@ -386,11 +386,11 @@ ] }, "locked": { - "lastModified": 1750779888, - "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", + "lastModified": 1755446520, + "narHash": "sha256-I0Ok1OGDwc1jPd8cs2VvAYZsHriUVFGIUqW+7uSsOUM=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", + "rev": "4b04db83821b819bbbe32ed0a025b31e7971f22e", "type": "github" }, "original": { @@ -402,11 +402,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1754316476, - "narHash": "sha256-Ry1gd1BQrNVJJfT11cpVP0FY8XFMx4DJV2IDp01CH9w=", + "lastModified": 1755330281, + "narHash": "sha256-aJHFJWP9AuI8jUGzI77LYcSlkA9wJnOIg4ZqftwNGXA=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "9368056b73efb46eb14fd4667b99e0f81b805f28", + "rev": "3dac8a872557e0ca8c083cdcfc2f218d18e113b0", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1754292888, - "narHash": "sha256-1ziydHSiDuSnaiPzCQh1mRFBsM2d2yRX9I+5OPGEmIE=", + "lastModified": 1755471983, + "narHash": "sha256-axUoWcm4cNQ36jOlnkD9D40LTfSQgk8ExfHSRm3rTtg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ce01daebf8489ba97bd1609d185ea276efdeb121", + "rev": "48f4c982de68d966421d2b6f1ddbeb6227cc5ceb", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1754340878, - "narHash": "sha256-lgmUyVQL9tSnvvIvBp7x1euhkkCho7n3TMzgjdvgPoU=", + "lastModified": 1755597911, + "narHash": "sha256-CLbMmrlmAeha+sruk2L5GhCy19C2XuXFUOw1Tg5E+6s=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cab778239e705082fe97bb4990e0d24c50924c04", + "rev": "bc51535691dc401aa18c465956226471eb02b1a2", "type": "github" }, "original": { @@ -482,11 +482,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1754214453, - "narHash": "sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY=", + "lastModified": 1755186698, + "narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5b09dc45f24cf32316283e62aec81ffee3c3e376", + "rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c", "type": "github" }, "original": { @@ -518,11 +518,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1754344239, - "narHash": "sha256-tuWDY+oOimmLLcF/TYbnng4TdotWuRaSzh5Sy+bIzUQ=", + "lastModified": 1755595965, + "narHash": "sha256-EBXB+Up0CL+Twt6gHyrk1x7p3g8AZ6vUExFzJor9D8Y=", "owner": "nix-community", "repo": "NUR", - "rev": "d2ef31d5f3c8741ef3b337805d4af02a861cce1c", + "rev": "bf9b3a8dd0bb5d78e440cd5b4f0646b581abce79", "type": "github" }, "original": { @@ -634,11 +634,11 @@ ] }, "locked": { - "lastModified": 1754328224, - "narHash": "sha256-glPK8DF329/dXtosV7YSzRlF4n35WDjaVwdOMEoEXHA=", + "lastModified": 1754988908, + "narHash": "sha256-t+voe2961vCgrzPFtZxha0/kmFSHFobzF00sT8p9h0U=", "owner": "Mic92", "repo": "sops-nix", - "rev": "49021900e69812ba7ddb9e40f9170218a7eca9f4", + "rev": "3223c7a92724b5d804e9988c6b447a0d09017d48", "type": "github" }, "original": { @@ -729,11 +729,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1753857766, - "narHash": "sha256-r6Sxa8a2DNseWZ86vp/Wm22qP9KM7+ZpkyRtQ1xh2hE=", + "lastModified": 1755597682, + "narHash": "sha256-AirM4TV3BXbZcgUGIpQF9TKmr9RH0ALzgg8B6pya/Nw=", "owner": "vedderb", "repo": "vesc_tool", - "rev": "f3b8c6f8c7b31420b0981448e6abb4bd5ddedbaa", + "rev": "2ea98099a050881540f80090225b70b6c89255dc", "type": "github" }, "original": { From eab585ed7284864a690e8fa3787805d98930a949 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 25 Aug 2025 09:53:57 +0200 Subject: [PATCH 714/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'gomod2nix': 'github:nix-community/gomod2nix/4212d75925019d716ea6ca525e9cd7b47e7cb27a?narHash=sha256-pmoZQXlCbOO/kEJuvKrE8Z03MM%2B5YMvcYFy0W7M/ZNU%3D' (2025-08-18) → 'github:nix-community/gomod2nix/47d628dc3b506bd28632e47280c6b89d3496909d?narHash=sha256-JeuGh9kA1SPL70fnvpLxkIkCWpTjtoPaus3jzvdna0k%3D' (2025-08-24) • Updated input 'home-manager': 'github:nix-community/home-manager/fc3add429f21450359369af74c2375cb34a2d204?narHash=sha256-oV695RvbAE4%2BR9pcsT9shmp6zE/%2BIZe6evHWX63f2Qg%3D' (2025-07-27) → 'github:nix-community/home-manager/4a44fb9f7555da362af9d499817084f4288a957f?narHash=sha256-OILVkfhRCm8u18IZ2DKR8gz8CVZM2ZcJmQBXmjFLIfk%3D' (2025-08-23) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/4b04db83821b819bbbe32ed0a025b31e7971f22e?narHash=sha256-I0Ok1OGDwc1jPd8cs2VvAYZsHriUVFGIUqW%2B7uSsOUM%3D' (2025-08-17) → 'github:cachix/git-hooks.nix/e891a93b193fcaf2fc8012d890dc7f0befe86ec2?narHash=sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs%3D' (2025-08-23) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/48f4c982de68d966421d2b6f1ddbeb6227cc5ceb?narHash=sha256-axUoWcm4cNQ36jOlnkD9D40LTfSQgk8ExfHSRm3rTtg%3D' (2025-08-17) → 'github:nixos/nixpkgs/b1b3291469652d5a2edb0becc4ef0246fff97a7c?narHash=sha256-wY1%2B2JPH0ZZC4BQefoZw/k%2B3%2BDowFyfOxv17CN/idKs%3D' (2025-08-23) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/bc51535691dc401aa18c465956226471eb02b1a2?narHash=sha256-CLbMmrlmAeha%2Bsruk2L5GhCy19C2XuXFUOw1Tg5E%2B6s%3D' (2025-08-19) → 'github:NixOS/nixpkgs/636d8f84870a72791b550396f4679807a46bad11?narHash=sha256-zYTlTgPpfDUwSn/%2By/rK8PZkGmkQRcpq0c1c8UEg65U%3D' (2025-08-25) • Updated input 'nur': 'github:nix-community/NUR/bf9b3a8dd0bb5d78e440cd5b4f0646b581abce79?narHash=sha256-EBXB%2BUp0CL%2BTwt6gHyrk1x7p3g8AZ6vUExFzJor9D8Y%3D' (2025-08-19) → 'github:nix-community/NUR/d964bd8bda87256ac8c7a9caf5fcee3be533a485?narHash=sha256-1RpPxbLUm8DCbYiiDTxU2ra0OmdcI6jUl6k3sDgP8so%3D' (2025-08-25) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/fbcf476f790d8a217c3eab4e12033dc4a0f6d23c?narHash=sha256-wNO3%2BKs2jZJ4nTHMuks%2BcxAiVBGNuEBXsT29Bz6HASo%3D' (2025-08-14) → 'github:nixos/nixpkgs/20075955deac2583bb12f07151c2df830ef346b4?narHash=sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs%2BStOp19xNsbqdOg%3D' (2025-08-19) • Updated input 'vesc-tool': 'github:vedderb/vesc_tool/2ea98099a050881540f80090225b70b6c89255dc?narHash=sha256-AirM4TV3BXbZcgUGIpQF9TKmr9RH0ALzgg8B6pya/Nw%3D' (2025-08-19) → 'github:vedderb/vesc_tool/629731f5af483a8d3c737aebc7f0135c77da5677?narHash=sha256-P1EU5FwcvM%2BaFUzw/Zsld3OOyWXVKsCzB7aYToXjCP8%3D' (2025-08-21) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 3bfdb41..6f08063 100644 --- a/flake.lock +++ b/flake.lock @@ -243,11 +243,11 @@ ] }, "locked": { - "lastModified": 1755527833, - "narHash": "sha256-pmoZQXlCbOO/kEJuvKrE8Z03MM+5YMvcYFy0W7M/ZNU=", + "lastModified": 1756047880, + "narHash": "sha256-JeuGh9kA1SPL70fnvpLxkIkCWpTjtoPaus3jzvdna0k=", "owner": "nix-community", "repo": "gomod2nix", - "rev": "4212d75925019d716ea6ca525e9cd7b47e7cb27a", + "rev": "47d628dc3b506bd28632e47280c6b89d3496909d", "type": "github" }, "original": { @@ -263,11 +263,11 @@ ] }, "locked": { - "lastModified": 1753592768, - "narHash": "sha256-oV695RvbAE4+R9pcsT9shmp6zE/+IZe6evHWX63f2Qg=", + "lastModified": 1755928099, + "narHash": "sha256-OILVkfhRCm8u18IZ2DKR8gz8CVZM2ZcJmQBXmjFLIfk=", "owner": "nix-community", "repo": "home-manager", - "rev": "fc3add429f21450359369af74c2375cb34a2d204", + "rev": "4a44fb9f7555da362af9d499817084f4288a957f", "type": "github" }, "original": { @@ -386,11 +386,11 @@ ] }, "locked": { - "lastModified": 1755446520, - "narHash": "sha256-I0Ok1OGDwc1jPd8cs2VvAYZsHriUVFGIUqW+7uSsOUM=", + "lastModified": 1755960406, + "narHash": "sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "4b04db83821b819bbbe32ed0a025b31e7971f22e", + "rev": "e891a93b193fcaf2fc8012d890dc7f0befe86ec2", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1755471983, - "narHash": "sha256-axUoWcm4cNQ36jOlnkD9D40LTfSQgk8ExfHSRm3rTtg=", + "lastModified": 1755922037, + "narHash": "sha256-wY1+2JPH0ZZC4BQefoZw/k+3+DowFyfOxv17CN/idKs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "48f4c982de68d966421d2b6f1ddbeb6227cc5ceb", + "rev": "b1b3291469652d5a2edb0becc4ef0246fff97a7c", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1755597911, - "narHash": "sha256-CLbMmrlmAeha+sruk2L5GhCy19C2XuXFUOw1Tg5E+6s=", + "lastModified": 1756107416, + "narHash": "sha256-zYTlTgPpfDUwSn/+y/rK8PZkGmkQRcpq0c1c8UEg65U=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bc51535691dc401aa18c465956226471eb02b1a2", + "rev": "636d8f84870a72791b550396f4679807a46bad11", "type": "github" }, "original": { @@ -482,11 +482,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1755186698, - "narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=", + "lastModified": 1755615617, + "narHash": "sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs+StOp19xNsbqdOg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c", + "rev": "20075955deac2583bb12f07151c2df830ef346b4", "type": "github" }, "original": { @@ -518,11 +518,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1755595965, - "narHash": "sha256-EBXB+Up0CL+Twt6gHyrk1x7p3g8AZ6vUExFzJor9D8Y=", + "lastModified": 1756107954, + "narHash": "sha256-1RpPxbLUm8DCbYiiDTxU2ra0OmdcI6jUl6k3sDgP8so=", "owner": "nix-community", "repo": "NUR", - "rev": "bf9b3a8dd0bb5d78e440cd5b4f0646b581abce79", + "rev": "d964bd8bda87256ac8c7a9caf5fcee3be533a485", "type": "github" }, "original": { @@ -729,11 +729,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1755597682, - "narHash": "sha256-AirM4TV3BXbZcgUGIpQF9TKmr9RH0ALzgg8B6pya/Nw=", + "lastModified": 1755793161, + "narHash": "sha256-P1EU5FwcvM+aFUzw/Zsld3OOyWXVKsCzB7aYToXjCP8=", "owner": "vedderb", "repo": "vesc_tool", - "rev": "2ea98099a050881540f80090225b70b6c89255dc", + "rev": "629731f5af483a8d3c737aebc7f0135c77da5677", "type": "github" }, "original": { From 67ed5ed1e013321df9d17199348e10084dc7de72 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 28 Aug 2025 17:54:17 +0200 Subject: [PATCH 715/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/4073ff2f481f9ef3501678ff479ed81402caae6d?narHash=sha256-bU4nqi3IpsUZJeyS8Jk85ytlX61i4b0KCxXX9YcOgVc%3D' (2025-08-18) → 'github:nix-community/disko/bafad29f89e83b2d861b493aa23034ea16595560?narHash=sha256-iv8xVtmLMNLWFcDM/HcAPLRGONyTRpzL9NS09RnryRM%3D' (2025-08-25) • Updated input 'home-manager': 'github:nix-community/home-manager/4a44fb9f7555da362af9d499817084f4288a957f?narHash=sha256-OILVkfhRCm8u18IZ2DKR8gz8CVZM2ZcJmQBXmjFLIfk%3D' (2025-08-23) → 'github:nix-community/home-manager/54b2879ce622d44415e727905925e21b8f833a98?narHash=sha256-aAZNbGcWrVRZgWgkQbkabSGcDVRDMgON4BipMy69gvI%3D' (2025-08-26) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/3dac8a872557e0ca8c083cdcfc2f218d18e113b0?narHash=sha256-aJHFJWP9AuI8jUGzI77LYcSlkA9wJnOIg4ZqftwNGXA%3D' (2025-08-16) → 'github:nixos/nixos-hardware/a65b650d6981e23edd1afa1f01eb942f19cdcbb7?narHash=sha256-9bHzrVbjAudbO8q4vYFBWlEkDam31fsz0J7GB8k4AsI%3D' (2025-08-26) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/b1b3291469652d5a2edb0becc4ef0246fff97a7c?narHash=sha256-wY1%2B2JPH0ZZC4BQefoZw/k%2B3%2BDowFyfOxv17CN/idKs%3D' (2025-08-23) → 'github:nixos/nixpkgs/4e7667a90c167f7a81d906e5a75cba4ad8bee620?narHash=sha256-TH1SfSP523QI7kcPiNtMAEuwZR3Jdz0MCDXPs7TS8uo%3D' (2025-08-26) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/636d8f84870a72791b550396f4679807a46bad11?narHash=sha256-zYTlTgPpfDUwSn/%2By/rK8PZkGmkQRcpq0c1c8UEg65U%3D' (2025-08-25) → 'github:NixOS/nixpkgs/a9eab3607519584fcb6422b3c732d0d17383dfd8?narHash=sha256-zvTg8vcLxDP1W7wLO772X2dn%2BslXWjxsIuYucTNUIpM%3D' (2025-08-28) • Updated input 'nur': 'github:nix-community/NUR/d964bd8bda87256ac8c7a9caf5fcee3be533a485?narHash=sha256-1RpPxbLUm8DCbYiiDTxU2ra0OmdcI6jUl6k3sDgP8so%3D' (2025-08-25) → 'github:nix-community/NUR/09f4740f899b695cd483fda85ed0e8f61a2e48cc?narHash=sha256-NS6%2B7f2wGsBtn/8a1xMwMkbMPOqJGhhojVDze/VQpvI%3D' (2025-08-28) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/20075955deac2583bb12f07151c2df830ef346b4?narHash=sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs%2BStOp19xNsbqdOg%3D' (2025-08-19) → 'github:nixos/nixpkgs/8a6d5427d99ec71c64f0b93d45778c889005d9c2?narHash=sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM%3D' (2025-08-27) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 6f08063..2f5cd06 100644 --- a/flake.lock +++ b/flake.lock @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1755519972, - "narHash": "sha256-bU4nqi3IpsUZJeyS8Jk85ytlX61i4b0KCxXX9YcOgVc=", + "lastModified": 1756115622, + "narHash": "sha256-iv8xVtmLMNLWFcDM/HcAPLRGONyTRpzL9NS09RnryRM=", "owner": "nix-community", "repo": "disko", - "rev": "4073ff2f481f9ef3501678ff479ed81402caae6d", + "rev": "bafad29f89e83b2d861b493aa23034ea16595560", "type": "github" }, "original": { @@ -263,11 +263,11 @@ ] }, "locked": { - "lastModified": 1755928099, - "narHash": "sha256-OILVkfhRCm8u18IZ2DKR8gz8CVZM2ZcJmQBXmjFLIfk=", + "lastModified": 1756245065, + "narHash": "sha256-aAZNbGcWrVRZgWgkQbkabSGcDVRDMgON4BipMy69gvI=", "owner": "nix-community", "repo": "home-manager", - "rev": "4a44fb9f7555da362af9d499817084f4288a957f", + "rev": "54b2879ce622d44415e727905925e21b8f833a98", "type": "github" }, "original": { @@ -402,11 +402,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1755330281, - "narHash": "sha256-aJHFJWP9AuI8jUGzI77LYcSlkA9wJnOIg4ZqftwNGXA=", + "lastModified": 1756245047, + "narHash": "sha256-9bHzrVbjAudbO8q4vYFBWlEkDam31fsz0J7GB8k4AsI=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "3dac8a872557e0ca8c083cdcfc2f218d18e113b0", + "rev": "a65b650d6981e23edd1afa1f01eb942f19cdcbb7", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1755922037, - "narHash": "sha256-wY1+2JPH0ZZC4BQefoZw/k+3+DowFyfOxv17CN/idKs=", + "lastModified": 1756217674, + "narHash": "sha256-TH1SfSP523QI7kcPiNtMAEuwZR3Jdz0MCDXPs7TS8uo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b1b3291469652d5a2edb0becc4ef0246fff97a7c", + "rev": "4e7667a90c167f7a81d906e5a75cba4ad8bee620", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1756107416, - "narHash": "sha256-zYTlTgPpfDUwSn/+y/rK8PZkGmkQRcpq0c1c8UEg65U=", + "lastModified": 1756396397, + "narHash": "sha256-zvTg8vcLxDP1W7wLO772X2dn+slXWjxsIuYucTNUIpM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "636d8f84870a72791b550396f4679807a46bad11", + "rev": "a9eab3607519584fcb6422b3c732d0d17383dfd8", "type": "github" }, "original": { @@ -482,11 +482,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1755615617, - "narHash": "sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs+StOp19xNsbqdOg=", + "lastModified": 1756266583, + "narHash": "sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "20075955deac2583bb12f07151c2df830ef346b4", + "rev": "8a6d5427d99ec71c64f0b93d45778c889005d9c2", "type": "github" }, "original": { @@ -518,11 +518,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1756107954, - "narHash": "sha256-1RpPxbLUm8DCbYiiDTxU2ra0OmdcI6jUl6k3sDgP8so=", + "lastModified": 1756395612, + "narHash": "sha256-NS6+7f2wGsBtn/8a1xMwMkbMPOqJGhhojVDze/VQpvI=", "owner": "nix-community", "repo": "NUR", - "rev": "d964bd8bda87256ac8c7a9caf5fcee3be533a485", + "rev": "09f4740f899b695cd483fda85ed0e8f61a2e48cc", "type": "github" }, "original": { From 87685a41452d6af280de718a30af096f3bf45bb0 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 1 Sep 2025 10:15:27 +0200 Subject: [PATCH 716/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/54b2879ce622d44415e727905925e21b8f833a98?narHash=sha256-aAZNbGcWrVRZgWgkQbkabSGcDVRDMgON4BipMy69gvI%3D' (2025-08-26) → 'github:nix-community/home-manager/07fc025fe10487dd80f2ec694f1cd790e752d0e8?narHash=sha256-Xd1vOeY9ccDf5VtVK12yM0FS6qqvfUop8UQlxEB%2BgTQ%3D' (2025-08-31) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/4e7667a90c167f7a81d906e5a75cba4ad8bee620?narHash=sha256-TH1SfSP523QI7kcPiNtMAEuwZR3Jdz0MCDXPs7TS8uo%3D' (2025-08-26) → 'github:nixos/nixpkgs/b4c2c57c31e68544982226d07e4719a2d86302a8?narHash=sha256-aGnd4AHIYCWQKChAkHPpX%2BYYCt7pA6y2LFFA/s8q0wQ%3D' (2025-08-31) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/a9eab3607519584fcb6422b3c732d0d17383dfd8?narHash=sha256-zvTg8vcLxDP1W7wLO772X2dn%2BslXWjxsIuYucTNUIpM%3D' (2025-08-28) → 'github:NixOS/nixpkgs/2c774e13d1909ce5caaf837ac8ece10a604e54ae?narHash=sha256-%2BaQzkZ8a8xoHCK%2BBmMd8I2F4L6W1FFr8wswtc9O/N9A%3D' (2025-09-01) • Updated input 'nur': 'github:nix-community/NUR/09f4740f899b695cd483fda85ed0e8f61a2e48cc?narHash=sha256-NS6%2B7f2wGsBtn/8a1xMwMkbMPOqJGhhojVDze/VQpvI%3D' (2025-08-28) → 'github:nix-community/NUR/effb8c7ab9fbfba86d31703a6101469489ab9df8?narHash=sha256-JsqhycxNEPDtfDtqGFSdslmbN7t9rClj/wxDWhrUAoM%3D' (2025-09-01) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/8a6d5427d99ec71c64f0b93d45778c889005d9c2?narHash=sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM%3D' (2025-08-27) → 'github:nixos/nixpkgs/d7600c775f877cd87b4f5a831c28aa94137377aa?narHash=sha256-tlOn88coG5fzdyqz6R93SQL5Gpq%2Bm/DsWpekNFhqPQk%3D' (2025-08-30) • Updated input 'vesc-tool': 'github:vedderb/vesc_tool/629731f5af483a8d3c737aebc7f0135c77da5677?narHash=sha256-P1EU5FwcvM%2BaFUzw/Zsld3OOyWXVKsCzB7aYToXjCP8%3D' (2025-08-21) → 'github:vedderb/vesc_tool/3d3d6e23634033c04cbf3afedf8b324360ebc34d?narHash=sha256-EYUpnHxOfOZNvXEk/6vAI/EbvovfHtwwxJ2XJ%2BNPYVU%3D' (2025-08-31) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 2f5cd06..0926efa 100644 --- a/flake.lock +++ b/flake.lock @@ -263,11 +263,11 @@ ] }, "locked": { - "lastModified": 1756245065, - "narHash": "sha256-aAZNbGcWrVRZgWgkQbkabSGcDVRDMgON4BipMy69gvI=", + "lastModified": 1756679287, + "narHash": "sha256-Xd1vOeY9ccDf5VtVK12yM0FS6qqvfUop8UQlxEB+gTQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "54b2879ce622d44415e727905925e21b8f833a98", + "rev": "07fc025fe10487dd80f2ec694f1cd790e752d0e8", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1756217674, - "narHash": "sha256-TH1SfSP523QI7kcPiNtMAEuwZR3Jdz0MCDXPs7TS8uo=", + "lastModified": 1756617294, + "narHash": "sha256-aGnd4AHIYCWQKChAkHPpX+YYCt7pA6y2LFFA/s8q0wQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4e7667a90c167f7a81d906e5a75cba4ad8bee620", + "rev": "b4c2c57c31e68544982226d07e4719a2d86302a8", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1756396397, - "narHash": "sha256-zvTg8vcLxDP1W7wLO772X2dn+slXWjxsIuYucTNUIpM=", + "lastModified": 1756714484, + "narHash": "sha256-+aQzkZ8a8xoHCK+BmMd8I2F4L6W1FFr8wswtc9O/N9A=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a9eab3607519584fcb6422b3c732d0d17383dfd8", + "rev": "2c774e13d1909ce5caaf837ac8ece10a604e54ae", "type": "github" }, "original": { @@ -482,11 +482,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1756266583, - "narHash": "sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM=", + "lastModified": 1756542300, + "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8a6d5427d99ec71c64f0b93d45778c889005d9c2", + "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", "type": "github" }, "original": { @@ -518,11 +518,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1756395612, - "narHash": "sha256-NS6+7f2wGsBtn/8a1xMwMkbMPOqJGhhojVDze/VQpvI=", + "lastModified": 1756709961, + "narHash": "sha256-JsqhycxNEPDtfDtqGFSdslmbN7t9rClj/wxDWhrUAoM=", "owner": "nix-community", "repo": "NUR", - "rev": "09f4740f899b695cd483fda85ed0e8f61a2e48cc", + "rev": "effb8c7ab9fbfba86d31703a6101469489ab9df8", "type": "github" }, "original": { @@ -729,11 +729,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1755793161, - "narHash": "sha256-P1EU5FwcvM+aFUzw/Zsld3OOyWXVKsCzB7aYToXjCP8=", + "lastModified": 1756650442, + "narHash": "sha256-EYUpnHxOfOZNvXEk/6vAI/EbvovfHtwwxJ2XJ+NPYVU=", "owner": "vedderb", "repo": "vesc_tool", - "rev": "629731f5af483a8d3c737aebc7f0135c77da5677", + "rev": "3d3d6e23634033c04cbf3afedf8b324360ebc34d", "type": "github" }, "original": { From 6b9c9dba92250b7fc654ade5692e4b3ce89d9f66 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 1 Sep 2025 10:14:30 +0200 Subject: [PATCH 717/766] Add ddev --- users/jalr/modules/ddev.nix | 6 ++++++ users/jalr/modules/default.nix | 1 + 2 files changed, 7 insertions(+) create mode 100644 users/jalr/modules/ddev.nix diff --git a/users/jalr/modules/ddev.nix b/users/jalr/modules/ddev.nix new file mode 100644 index 0000000..2e154d2 --- /dev/null +++ b/users/jalr/modules/ddev.nix @@ -0,0 +1,6 @@ +{ nixosConfig, lib, pkgs, ... }: +lib.mkIf nixosConfig.jalr.gui.enable { + home.packages = [ + pkgs.master.ddev + ]; +} diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index 93aa653..30ed808 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -7,6 +7,7 @@ ./cli ./communication ./dconf.nix + ./ddev.nix ./direnv.nix ./do-not-disturb ./dynamic-colors.nix From 8cec9745da2acb03dc338674bf4a29828ee5ef3a Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 1 Sep 2025 16:06:04 +0200 Subject: [PATCH 718/766] Add sops defaults --- flake.nix | 86 ++++++++++++------- hosts/aluminium/configuration.nix | 3 - hosts/aluminium/services/asterisk/default.nix | 1 - hosts/aluminium/services/doorbell.nix | 5 +- hosts/aluminium/services/dyndns.nix | 3 - hosts/aluminium/services/esphome/default.nix | 5 +- hosts/copper/services/ntfy.nix | 5 +- hosts/iron/services/calibre.nix | 5 +- hosts/iron/services/dyndns.nix | 3 - hosts/iron/services/esphome/default.nix | 5 +- hosts/iron/services/home-assistant.nix | 17 +--- hosts/iron/services/mail.nix | 5 +- hosts/iron/services/matrix.nix | 7 +- hosts/iron/services/navidrome.nix | 3 - hosts/iron/services/photoprism.nix | 4 - hosts/iron/services/public-ip-tunnel.nix | 11 +-- hosts/iron/services/radicale.nix | 5 +- hosts/iron/services/remarkable.nix | 1 - hosts/iron/services/swingmusic.nix | 4 + hosts/iron/services/wireguard-esphome.nix | 4 - hosts/magnesium/services/coturn.nix | 5 +- hosts/magnesium/services/forgejo.nix | 5 +- hosts/magnesium/services/gitlab-runner.nix | 3 - hosts/magnesium/services/hedgedoc.nix | 5 +- hosts/magnesium/services/mealie.nix | 4 - hosts/magnesium/services/public-ip-tunnel.nix | 11 +-- hosts/magnesium/services/tandoor.nix | 4 - 27 files changed, 75 insertions(+), 144 deletions(-) create mode 100644 hosts/iron/services/swingmusic.nix diff --git a/flake.nix b/flake.nix index 962d334..9495ad5 100644 --- a/flake.nix +++ b/flake.nix @@ -187,41 +187,63 @@ inherit system; specialArgs = { inherit self system; }; - modules = [ - (./hosts + "/${hostname}/configuration.nix") + modules = + let + hostDir = ./hosts + "/${hostname}"; + in + [ + (hostDir + "/configuration.nix") - ./modules + ./modules - { - _module.args = { - inherit inputs; - custom-utils = import ./custom-utils { inherit (nixpkgs) lib; }; - }; - } - - # deployment settings - ({ lib, ... }: { - options.deployment = { - targetHost = lib.mkOption { - type = lib.types.str; - readOnly = true; - internal = true; + { + _module.args = { + inherit inputs; + custom-utils = import ./custom-utils { inherit (nixpkgs) lib; }; }; - }; - config.deployment = { - inherit targetHost; - }; - }) - ] ++ [ - { nixpkgs.overlays = [ nur.overlays.default inputs.vesc-tool.overlays.default ]; } - home-manager.nixosModules.home-manager - inputs.asterisk-sounds-de.nixosModules.default - inputs.disko.nixosModules.disko - inputs.impermanence.nixosModules.impermanence - inputs.lanzaboote.nixosModules.lanzaboote - inputs.sops-nix.nixosModules.sops - inputs.gg-chatmix.nixosModule - ] ++ extraModules; + } + + # deployment settings + ({ lib, ... }: { + options.deployment = { + targetHost = lib.mkOption { + type = lib.types.str; + readOnly = true; + internal = true; + }; + }; + config.deployment = { + inherit targetHost; + }; + }) + + # sops settings + ({ lib, config, pkgs, ... }: + { + sops.defaultSopsFile = hostDir + "/secrets.yaml"; + sops.secrets = + let + secretFile = config.sops.defaultSopsFile; + getSecrets = file: builtins.fromJSON (builtins.readFile (pkgs.runCommandNoCC "secretKeys" { } ''${pkgs.yq-go}/bin/yq -o json '[del .sops | .. | select(tag != "!!seq" and tag != "!!map") | path | join("/")]' ${file} > $out'')); + secretNames = getSecrets secretFile; + secrets = + if builtins.pathExists secretFile then + lib.listToAttrs (builtins.map (name: lib.nameValuePair name { }) secretNames) + else + { }; + in + secrets; + }) + ] ++ [ + { nixpkgs.overlays = [ nur.overlays.default inputs.vesc-tool.overlays.default ]; } + home-manager.nixosModules.home-manager + inputs.asterisk-sounds-de.nixosModules.default + inputs.disko.nixosModules.disko + inputs.impermanence.nixosModules.impermanence + inputs.lanzaboote.nixosModules.lanzaboote + inputs.sops-nix.nixosModules.sops + inputs.gg-chatmix.nixosModule + ] ++ extraModules; }) (import ./hosts inputs); }; diff --git a/hosts/aluminium/configuration.nix b/hosts/aluminium/configuration.nix index fabaecc..3dfd6a3 100644 --- a/hosts/aluminium/configuration.nix +++ b/hosts/aluminium/configuration.nix @@ -91,9 +91,6 @@ }; - sops.secrets.pap-secrets = { - sopsFile = ./secrets.yaml; - }; environment.etc."ppp/pap-secrets".source = config.sops.secrets.pap-secrets.path; services.pppd = { enable = true; diff --git a/hosts/aluminium/services/asterisk/default.nix b/hosts/aluminium/services/asterisk/default.nix index 88eee25..463ac5e 100644 --- a/hosts/aluminium/services/asterisk/default.nix +++ b/hosts/aluminium/services/asterisk/default.nix @@ -152,7 +152,6 @@ in sops.secrets = lib.listToAttrs (map (name: lib.nameValuePair "asterisk-${name}" { - sopsFile = ../../secrets.yaml; owner = config.users.users.asterisk.name; }) secretConfigFiles); diff --git a/hosts/aluminium/services/doorbell.nix b/hosts/aluminium/services/doorbell.nix index 9d8c5af..01190f4 100644 --- a/hosts/aluminium/services/doorbell.nix +++ b/hosts/aluminium/services/doorbell.nix @@ -4,10 +4,7 @@ let inherit (config.networking) ports; in { - sops.secrets.myintercom-doorbell-password = { - sopsFile = ../secrets.yaml; - owner = "asterisk"; - }; + sops.secrets.myintercom-doorbell-password.owner = "asterisk"; services.myintercom-doorbell = { enable = true; host = "sprechanlage.lan.kbh.jalr.de"; diff --git a/hosts/aluminium/services/dyndns.nix b/hosts/aluminium/services/dyndns.nix index bbcdb34..ae3362a 100644 --- a/hosts/aluminium/services/dyndns.nix +++ b/hosts/aluminium/services/dyndns.nix @@ -1,8 +1,5 @@ { config, pkgs, ... }: { - sops.secrets.duckdns-secret = { - sopsFile = ../secrets.yaml; - }; services.ddclient = { enable = true; interval = "1min"; diff --git a/hosts/aluminium/services/esphome/default.nix b/hosts/aluminium/services/esphome/default.nix index 1f4c754..4e63710 100644 --- a/hosts/aluminium/services/esphome/default.nix +++ b/hosts/aluminium/services/esphome/default.nix @@ -6,10 +6,7 @@ let inherit (config.networking) ports; in { - sops.secrets.esphome = { - sopsFile = ../../secrets.yaml; - restartUnits = [ config.systemd.services.esphome.name ]; - }; + sops.secrets.esphome.restartUnits = [ config.systemd.services.esphome.name ]; jalr.esphome = { enable = true; diff --git a/hosts/copper/services/ntfy.nix b/hosts/copper/services/ntfy.nix index 7f910c5..e3e7665 100644 --- a/hosts/copper/services/ntfy.nix +++ b/hosts/copper/services/ntfy.nix @@ -1,6 +1,3 @@ { - sops.secrets.ntfy_shiftphone = { - sopsFile = ../secrets.yaml; - owner = "jalr"; - }; + sops.secrets.ntfy_shiftphone.owner = "jalr"; } diff --git a/hosts/iron/services/calibre.nix b/hosts/iron/services/calibre.nix index 90f0b83..816da0b 100644 --- a/hosts/iron/services/calibre.nix +++ b/hosts/iron/services/calibre.nix @@ -3,10 +3,7 @@ let inherit (config.networking) ports; in { - sops.secrets.calibre-htpasswd = { - owner = "nginx"; - sopsFile = ../secrets.yaml; - }; + sops.secrets.calibre-htpasswd.owner = "nginx"; services = { calibre-server = { diff --git a/hosts/iron/services/dyndns.nix b/hosts/iron/services/dyndns.nix index 6f6e206..e68e465 100644 --- a/hosts/iron/services/dyndns.nix +++ b/hosts/iron/services/dyndns.nix @@ -3,9 +3,6 @@ let interfaces = import ../interfaces.nix; in { - sops.secrets.duckdns-secret = { - sopsFile = ../secrets.yaml; - }; services.ddclient = { enable = true; interval = "1min"; diff --git a/hosts/iron/services/esphome/default.nix b/hosts/iron/services/esphome/default.nix index 1f4c754..4e63710 100644 --- a/hosts/iron/services/esphome/default.nix +++ b/hosts/iron/services/esphome/default.nix @@ -6,10 +6,7 @@ let inherit (config.networking) ports; in { - sops.secrets.esphome = { - sopsFile = ../../secrets.yaml; - restartUnits = [ config.systemd.services.esphome.name ]; - }; + sops.secrets.esphome.restartUnits = [ config.systemd.services.esphome.name ]; jalr.esphome = { enable = true; diff --git a/hosts/iron/services/home-assistant.nix b/hosts/iron/services/home-assistant.nix index e85e3a7..d62f792 100644 --- a/hosts/iron/services/home-assistant.nix +++ b/hosts/iron/services/home-assistant.nix @@ -5,19 +5,10 @@ let domain = "hass.jalr.de"; in { - sops.secrets = { - home-assistant = { - sopsFile = ../secrets.yaml; - owner = "root"; - group = "hass"; - mode = "0640"; - }; - "mqtt-users/home-assistant" = { - sopsFile = ../secrets.yaml; - }; - "mqtt-users/valetudo" = { - sopsFile = ../secrets.yaml; - }; + sops.secrets.home-assistant = { + owner = "root"; + group = "hass"; + mode = "0640"; }; networking.firewall.interfaces = { diff --git a/hosts/iron/services/mail.nix b/hosts/iron/services/mail.nix index c18aae9..fbe802e 100644 --- a/hosts/iron/services/mail.nix +++ b/hosts/iron/services/mail.nix @@ -4,10 +4,7 @@ let inherit (config.networking) ports; in { - #sops.secrets."domain_key_jalr.de" = { - # sopsFile = ../secrets.yaml; - # owner = "rspamd"; - #}; + #sops.secrets."domain_key_jalr.de".owner = "rspamd"; jalr = { mailserver = { enable = true; diff --git a/hosts/iron/services/matrix.nix b/hosts/iron/services/matrix.nix index f325a9b..aa050d9 100644 --- a/hosts/iron/services/matrix.nix +++ b/hosts/iron/services/matrix.nix @@ -6,12 +6,7 @@ let signalUser = "jalr"; in { - sops.secrets = { - synapse-turn-shared-secret = { - owner = "matrix-synapse"; - sopsFile = ../secrets.yaml; - }; - }; + sops.secrets.synapse-turn-shared-secret.owner = "matrix-synapse"; jalr.matrix = { enable = true; fqdn = "matrix.jalr.de"; diff --git a/hosts/iron/services/navidrome.nix b/hosts/iron/services/navidrome.nix index e36bef4..d001dfb 100644 --- a/hosts/iron/services/navidrome.nix +++ b/hosts/iron/services/navidrome.nix @@ -30,9 +30,6 @@ in LoadCredential = "PasswordEncryptionKey:${passwordEncryptionKeyFile}"; }; }; - sops.secrets.navidrome-password-encryption-key = { - sopsFile = ../secrets.yaml; - }; services.nginx.virtualHosts."navidrome.jalr.de" = { enableACME = true; forceSSL = true; diff --git a/hosts/iron/services/photoprism.nix b/hosts/iron/services/photoprism.nix index 47bbefe..b4dfb05 100644 --- a/hosts/iron/services/photoprism.nix +++ b/hosts/iron/services/photoprism.nix @@ -26,10 +26,6 @@ let ''; in { - sops.secrets."photoprism/oidc-secret" = { - sopsFile = ../secrets.yaml; - }; - systemd.services.photoprism.serviceConfig.LoadCredential = lib.mkForce "PHOTOPRISM_OIDC_SECRET_FILE:${config.sops.secrets."photoprism/oidc-secret".path}"; services.photoprism = { diff --git a/hosts/iron/services/public-ip-tunnel.nix b/hosts/iron/services/public-ip-tunnel.nix index 92d6f29..4f17dde 100644 --- a/hosts/iron/services/public-ip-tunnel.nix +++ b/hosts/iron/services/public-ip-tunnel.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ config, pkgs, ... }: let inherit (config.networking) ports; @@ -13,15 +13,6 @@ let }; in { - sops.secrets = lib.listToAttrs (map - (name: lib.nameValuePair "wireguard_key_${name}" { - sopsFile = ../secrets.yaml; - }) - [ - "hetzner-ha" - ] - ); - networking = { iproute2 = { enable = true; diff --git a/hosts/iron/services/radicale.nix b/hosts/iron/services/radicale.nix index f0aa757..d6cb95d 100644 --- a/hosts/iron/services/radicale.nix +++ b/hosts/iron/services/radicale.nix @@ -4,10 +4,7 @@ let inherit (config.networking) ports; in { - sops.secrets.radicale-htpasswd = { - owner = "nginx"; - sopsFile = ../secrets.yaml; - }; + sops.secrets.radicale-htpasswd.owner = "nginx"; services.nginx.virtualHosts = { "cal.jalr.de" = { diff --git a/hosts/iron/services/remarkable.nix b/hosts/iron/services/remarkable.nix index 5080072..dc38c83 100644 --- a/hosts/iron/services/remarkable.nix +++ b/hosts/iron/services/remarkable.nix @@ -16,7 +16,6 @@ let in { sops.secrets.rmfakecloud = { - sopsFile = ../secrets.yaml; owner = "root"; group = "root"; mode = "0400"; diff --git a/hosts/iron/services/swingmusic.nix b/hosts/iron/services/swingmusic.nix new file mode 100644 index 0000000..a05f1e2 --- /dev/null +++ b/hosts/iron/services/swingmusic.nix @@ -0,0 +1,4 @@ +{ pkgs, ... }: +{ + environment.systemPackages = [ pkgs.swingmusic ]; +} diff --git a/hosts/iron/services/wireguard-esphome.nix b/hosts/iron/services/wireguard-esphome.nix index f39f286..db8fca9 100644 --- a/hosts/iron/services/wireguard-esphome.nix +++ b/hosts/iron/services/wireguard-esphome.nix @@ -5,10 +5,6 @@ let listenPort = ports.wireguard-esphome.udp; in { - sops.secrets."wireguard_key/esphome" = { - sopsFile = ../secrets.yaml; - }; - networking = { firewall.allowedUDPPorts = [ listenPort ]; wireguard.interfaces.esphome = { diff --git a/hosts/magnesium/services/coturn.nix b/hosts/magnesium/services/coturn.nix index d9e8447..bfd6e4a 100644 --- a/hosts/magnesium/services/coturn.nix +++ b/hosts/magnesium/services/coturn.nix @@ -6,10 +6,7 @@ let inherit (config.networking) ports; in { - sops.secrets.turn-static-auth-secret = { - owner = "turnserver"; - sopsFile = ../secrets.yaml; - }; + sops.secrets.turn-static-auth-secret.owner = "turnserver"; services.coturn = ( if ports.coturn-plain.tcp != ports.coturn-plain.udp then builtins.abort "coturn: plain TCP and UDP ports must match." diff --git a/hosts/magnesium/services/forgejo.nix b/hosts/magnesium/services/forgejo.nix index 98ec795..4484e16 100644 --- a/hosts/magnesium/services/forgejo.nix +++ b/hosts/magnesium/services/forgejo.nix @@ -5,10 +5,7 @@ let inherit (config.networking) ports; in { - sops.secrets.forgejo-mail = { - owner = cfg.user; - sopsFile = ../secrets.yaml; - }; + sops.secrets.forgejo-mail.owner = cfg.user; services.forgejo = { enable = true; lfs.enable = true; diff --git a/hosts/magnesium/services/gitlab-runner.nix b/hosts/magnesium/services/gitlab-runner.nix index 24f6c68..ad17690 100644 --- a/hosts/magnesium/services/gitlab-runner.nix +++ b/hosts/magnesium/services/gitlab-runner.nix @@ -1,9 +1,6 @@ { config, pkgs, ... }: { - sops.secrets.gitlab-runner_fablab-nea-hcloud-labsync = { - sopsFile = ../secrets.yaml; - }; services.gitlab-runner = { enable = true; extraPackages = [ diff --git a/hosts/magnesium/services/hedgedoc.nix b/hosts/magnesium/services/hedgedoc.nix index 44db703..d9ee1b8 100644 --- a/hosts/magnesium/services/hedgedoc.nix +++ b/hosts/magnesium/services/hedgedoc.nix @@ -6,10 +6,7 @@ let inherit (config.networking) ports; in { - sops.secrets.hedgedoc-session-secret = { - owner = config.systemd.services.hedgedoc.serviceConfig.User; - sopsFile = ../secrets.yaml; - }; + sops.secrets.hedgedoc-session-secret.owner = config.systemd.services.hedgedoc.serviceConfig.User; services = { hedgedoc = { enable = true; diff --git a/hosts/magnesium/services/mealie.nix b/hosts/magnesium/services/mealie.nix index 5448534..a60f80e 100644 --- a/hosts/magnesium/services/mealie.nix +++ b/hosts/magnesium/services/mealie.nix @@ -5,10 +5,6 @@ let cfg = config.services.mealie; in { - sops.secrets.mealie = { - sopsFile = ../secrets.yaml; - }; - services.mealie = { enable = true; credentialsFile = config.sops.secrets.mealie.path; diff --git a/hosts/magnesium/services/public-ip-tunnel.nix b/hosts/magnesium/services/public-ip-tunnel.nix index f8fb289..1dee818 100644 --- a/hosts/magnesium/services/public-ip-tunnel.nix +++ b/hosts/magnesium/services/public-ip-tunnel.nix @@ -1,4 +1,4 @@ -{ config, lib, ... }: +{ config, ... }: let listenPort = ports.wireguard-public-ip-tunnel.udp; @@ -6,15 +6,6 @@ let inherit (config.networking) ports; in { - sops.secrets = lib.listToAttrs (map - (name: lib.nameValuePair "wireguard_key_${name}" { - sopsFile = ../secrets.yaml; - }) - [ - "hetzner-ha" - ] - ); - #boot.kernel.sysctl = { # "net.ipv4.conf.all.forwarding" = 1; # "net.ipv4.conf.hetzner-ha.proxy_arp" = 1; diff --git a/hosts/magnesium/services/tandoor.nix b/hosts/magnesium/services/tandoor.nix index e573639..1127cd2 100644 --- a/hosts/magnesium/services/tandoor.nix +++ b/hosts/magnesium/services/tandoor.nix @@ -7,10 +7,6 @@ let inherit (config.networking) ports; in { - sops.secrets."tandoor/secret_key" = { - sopsFile = ../secrets.yaml; - }; - services.tandoor-recipes = { enable = true; port = ports.tandoor.tcp; From 23222c0c3466d76e37d1abb03aa5c7248ae0a5be Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 2 Sep 2025 00:31:38 +0200 Subject: [PATCH 719/766] Rework sturzbach service --- hosts/iron/configuration.nix | 4 +- hosts/iron/services/jellyfin.nix | 2 +- hosts/iron/services/sturzbach.nix | 67 ++++++++++++++++++++-- modules/default.nix | 1 - modules/qbittorrent/default.nix | 94 ------------------------------- 5 files changed, 65 insertions(+), 103 deletions(-) delete mode 100644 modules/qbittorrent/default.nix diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index 3c47261..99560b7 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -18,8 +18,8 @@ let "rpool/nixos/home" = "/home"; "rpool/nixos/root" = "/"; "rpool/nixos/var/lib" = "/var/lib"; - "rpool/nixos/var/lib/qbittorrent" = "/var/lib/qbittorrent"; - "rpool/nixos/var/lib/qbittorrent/downloads" = "/var/lib/qbittorrent/downloads"; + "rpool/nixos/var/lib/qBittorrent" = "/var/lib/qBittorrent"; + "rpool/nixos/var/lib/qBittorrent/downloads" = "/var/lib/qBittorrent/downloads"; "rpool/nixos/var/log" = "/var/log"; }; partitionScheme = { diff --git a/hosts/iron/services/jellyfin.nix b/hosts/iron/services/jellyfin.nix index ad5e9a0..f5d642f 100644 --- a/hosts/iron/services/jellyfin.nix +++ b/hosts/iron/services/jellyfin.nix @@ -17,7 +17,7 @@ in "/nix/store" "/filebitch/pub/Filme" "/filebitch/pub/Serien" - "/var/lib/qbittorrent/downloads" + "/var/lib/qBittorrent/downloads" ]; CapabilityBoundingSet = ""; #IPAddressAllow = "localhost"; diff --git a/hosts/iron/services/sturzbach.nix b/hosts/iron/services/sturzbach.nix index 4f02a9a..7498fe0 100644 --- a/hosts/iron/services/sturzbach.nix +++ b/hosts/iron/services/sturzbach.nix @@ -2,15 +2,72 @@ let inherit (config.networking) ports; + interfaces = import ../interfaces.nix; + domain = "sturzbach.jalr.de"; + cfg = config.services.qbittorrent; in { - jalr.qbittorrent = { - enable = true; - downloadDir = "/sturzbach"; - fqdn = "sturzbach.jalr.de"; - webuiPort = ports.qbittorrent-webui.tcp; + sops.secrets.sturzbach-htpasswd = { + owner = "nginx"; }; + networking.firewall = { allowedTCPPorts = [ ports.qbittorrent-torrent.tcp ]; }; + + systemd.services.qbittorrent.serviceConfig = { + # Increase number of open file descriptors (default: 1024) + LimitNOFILE = 65536; + }; + + services = { + qbittorrent = { + enable = true; + torrentingPort = ports.qbittorrent-torrent.tcp; + webuiPort = ports.qbittorrent-webui.tcp; + serverConfig = { + Network.PortForwardingEnabled = false; + Preferences.WebUI = { + Address = "127.0.0.1"; + LocalHostAuth = false; + SecureCookie = true; + ServerDomains = domain; + SessionTimeout = 24 * 60 * 60; + UseUPnP = false; + }; + BitTorrent.Session = { + DHTEnabled = false; + LSDEnabled = false; + PeXEnabled = false; + MaxActiveDownloads = 5; + MaxActiveTorrents = 10000; + MaxActiveUploads = 10000; + TempPath = "${cfg.profileDir}/downloads/incomplete"; + TorrentContentLayout = "Subfolder"; + AddTorrentStopped = false; + AnnounceToAllTiers = false; + DefaultSavePath = "${cfg.profileDir}/downloads"; + DisableAutoTMMByDefault = false; + Interface = interfaces.wan; + InterfaceAddress = "0.0.0.0"; + InterfaceName = interfaces.wan; + QueueingSystemEnabled = true; + ReannounceWhenAddressChanged = false; + }; + }; + }; + nginx.virtualHosts."${domain}" = { + enableACME = true; + forceSSL = true; + + basicAuthFile = config.sops.secrets.sturzbach-htpasswd.path; + + locations = { + "/" = { + proxyPass = "http://127.0.0.1:${toString config.services.qbittorrent.webuiPort}"; + proxyWebsockets = true; + }; + }; + }; + }; } diff --git a/modules/default.nix b/modules/default.nix index 7e5f2aa..49b9b9d 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -42,7 +42,6 @@ ./pipewire.nix ./podman.nix ./printers - ./qbittorrent ./remarkable.nix ./sdr.nix ./sshd.nix diff --git a/modules/qbittorrent/default.nix b/modules/qbittorrent/default.nix deleted file mode 100644 index 1c20e70..0000000 --- a/modules/qbittorrent/default.nix +++ /dev/null @@ -1,94 +0,0 @@ -{ config, lib, pkgs, ... }: -let - cfg = config.jalr.qbittorrent; -in -{ - options.jalr.qbittorrent = { - enable = lib.mkEnableOption "the qbittorrent service"; - homeDir = lib.mkOption { - type = lib.types.path; - default = "/var/lib/qbittorrent"; - }; - configDir = lib.mkOption { - type = lib.types.path; - default = "${cfg.homeDir}/config"; - }; - downloadDir = lib.mkOption { - type = lib.types.path; - default = "${cfg.homeDir}/download"; - }; - webuiPort = lib.mkOption { - type = lib.types.int; - default = 8099; - }; - sopsFile = lib.mkOption { - type = lib.types.path; - default = ../../hosts/${config.networking.hostName}/secrets.yaml; - description = '' - The sops secret file that includes the htpasswd file. - ''; - }; - fqdn = lib.mkOption { - type = lib.types.str; - description = "The fqdn nginx should listen on. It must not be used for anything else."; - }; - }; - - config = lib.mkIf cfg.enable - { - users.users.qbittorrent = { - group = "qbittorrent"; - home = cfg.homeDir; - isSystemUser = true; - }; - users.groups.qbittorrent = { }; - - systemd.tmpfiles.rules = [ - "d '${cfg.downloadDir}' 0775 qbittorrent users - -" - "d '${cfg.homeDir}' 0771 qbittorrent qbittorrent - -" - ]; - - sops.secrets.sturzbach-htpasswd = { - inherit (cfg) sopsFile; - owner = "nginx"; - }; - - systemd.services.qbittorrent = { - description = "qBittorrent Service"; - wantedBy = [ "multi-user.target" ]; - - serviceConfig = { - Restart = "always"; - ExecStart = "${pkgs.qbittorrent-nox}/bin/qbittorrent-nox --profile=${cfg.configDir} --webui-port=${toString cfg.webuiPort}"; - User = "qbittorrent"; - Group = "qbittorrent"; - - # Increase number of open file descriptors (default: 1024) - LimitNOFILE = 65536; - - # systemd-analyze --no-pager security qbittorrent.service - CapabilityBoundingSet = null; - PrivateDevices = true; - PrivateTmp = true; - PrivateUsers = true; - ProtectHome = true; - RestrictNamespaces = true; - SystemCallFilter = "@system-service"; - }; - }; - - services.nginx.virtualHosts."${cfg.fqdn}" = { - enableACME = lib.mkDefault true; - forceSSL = lib.mkDefault true; - - basicAuthFile = config.sops.secrets.sturzbach-htpasswd.path; - - locations = { - "/" = { - proxyPass = "http://127.0.0.1:${toString cfg.webuiPort}"; - proxyWebsockets = true; - }; - }; - }; - }; -} From 60d004592ab096564be161ce4c935155e9aaafb7 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 2 Sep 2025 12:08:49 +0200 Subject: [PATCH 720/766] Remove unneeded `rec` --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 9495ad5..9b37084 100644 --- a/flake.nix +++ b/flake.nix @@ -183,7 +183,7 @@ , extraModules ? [ ] , targetHost ? hostname , nixpkgs ? inputs.nixpkgs - }: nixpkgs.lib.nixosSystem rec { + }: nixpkgs.lib.nixosSystem { inherit system; specialArgs = { inherit self system; }; From e2e135718d61853ca6314b9448b80fae18bfcd07 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 3 Sep 2025 21:37:31 +0200 Subject: [PATCH 721/766] Exclude .envrc from pre-commit checks --- flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/flake.nix b/flake.nix index 9b37084..d56e73d 100644 --- a/flake.nix +++ b/flake.nix @@ -106,6 +106,7 @@ settings.ignore = [ ".direnv" ]; }; }; + excludes = [ ".envrc" ]; }; }; devShells.default = pkgs.mkShell { From 0405c345e2b02b2fd920e864e96f6979c3a409b5 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 3 Sep 2025 21:37:54 +0200 Subject: [PATCH 722/766] Add nix-cache --- nix-cache/.envrc | 1 + nix-cache/.gitignore | 1 + nix-cache/Dockerfile | 5 +++++ nix-cache/entrypoint.sh | 12 ++++++++++++ nix-cache/fly.toml | 22 ++++++++++++++++++++++ nix-cache/server.toml | 29 +++++++++++++++++++++++++++++ nix-cache/shell.nix | 10 ++++++++++ 7 files changed, 80 insertions(+) create mode 100644 nix-cache/.envrc create mode 100644 nix-cache/.gitignore create mode 100644 nix-cache/Dockerfile create mode 100755 nix-cache/entrypoint.sh create mode 100644 nix-cache/fly.toml create mode 100644 nix-cache/server.toml create mode 100644 nix-cache/shell.nix diff --git a/nix-cache/.envrc b/nix-cache/.envrc new file mode 100644 index 0000000..1d953f4 --- /dev/null +++ b/nix-cache/.envrc @@ -0,0 +1 @@ +use nix diff --git a/nix-cache/.gitignore b/nix-cache/.gitignore new file mode 100644 index 0000000..29963da --- /dev/null +++ b/nix-cache/.gitignore @@ -0,0 +1 @@ +/.direnv/ diff --git a/nix-cache/Dockerfile b/nix-cache/Dockerfile new file mode 100644 index 0000000..6fdf7db --- /dev/null +++ b/nix-cache/Dockerfile @@ -0,0 +1,5 @@ +FROM ghcr.io/zhaofengli/attic:latest +COPY ./entrypoint.sh /entrypoint.sh +COPY ./server.toml /attic/server.toml.tmpl +EXPOSE 8080 +ENTRYPOINT ["/entrypoint.sh"] diff --git a/nix-cache/entrypoint.sh b/nix-cache/entrypoint.sh new file mode 100755 index 0000000..4d42ee8 --- /dev/null +++ b/nix-cache/entrypoint.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +set -e + +sed \ + -e "s/!!POSTGRES_PASSWORD!!/${POSTGRES_PASSWORD}/g" \ + /attic/server.toml.tmpl \ + > /run/server.toml + +exec /bin/atticd \ + -f /run/server.toml \ + --mode monolithic diff --git a/nix-cache/fly.toml b/nix-cache/fly.toml new file mode 100644 index 0000000..0d92357 --- /dev/null +++ b/nix-cache/fly.toml @@ -0,0 +1,22 @@ +# fly.toml app configuration file generated for jalr-attic on 2025-09-03T19:29:39+02:00 +# +# See https://fly.io/docs/reference/configuration/ for information about how to use this file. +# + +app = 'jalr-attic' +primary_region = 'fra' +swap_size_mb = 256 + +[build] + +[http_service] + internal_port = 8080 + force_https = true + auto_stop_machines = 'stop' + auto_start_machines = true + min_machines_running = 0 + processes = ['app'] + +[[vm]] + size = 'shared-cpu-1x' + memory = '512mb' diff --git a/nix-cache/server.toml b/nix-cache/server.toml new file mode 100644 index 0000000..3f520d7 --- /dev/null +++ b/nix-cache/server.toml @@ -0,0 +1,29 @@ +listen = "[::]:8080" + +[database] +url = "postgresql://neondb_owner:!!POSTGRES_PASSWORD!!@ep-raspy-snow-aggvse7u-pooler.c-2.eu-central-1.aws.neon.tech/neondb?sslmode=require&channel_binding=require" + +[storage] +bucket = "jalr-attic" +type = "s3" +region = "auto" +endpoint = "https://1b34998519526958a742d40d38834033.eu.r2.cloudflarestorage.com" + +#[storage.credentials] +#access_key_id = "" # AWS_ACCESS_KEY_ID +#secret_access_key = "" # AWS_SECRET_ACCESS_KEY + +[chunking] +nar-size-threshold = 65536 +min-size = 16384 +avg-size = 65536 +max-size = 262144 + +[compression] +type = "zstd" + +[garbage-collection] +interval = "12 hours" + +#[jwt.signing] +#token-hs256-secret-base64 = "" # ATTIC_SERVER_TOKEN_HS256_SECRET_BASE64 diff --git a/nix-cache/shell.nix b/nix-cache/shell.nix new file mode 100644 index 0000000..92b44a1 --- /dev/null +++ b/nix-cache/shell.nix @@ -0,0 +1,10 @@ +with import { }; + +mkShellNoCC { + buildInputs = [ + flyctl + ]; + shellHook = '' + export FLY_ACCESS_TOKEN=$(pass show private/services/fly.io/app-jalr-attic) + ''; +} From 9c14b1a151eaa752f1fce82d5b6920caf11e7810 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 7 Sep 2025 14:31:48 +0200 Subject: [PATCH 723/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/bafad29f89e83b2d861b493aa23034ea16595560?narHash=sha256-iv8xVtmLMNLWFcDM/HcAPLRGONyTRpzL9NS09RnryRM%3D' (2025-08-25) → 'github:nix-community/disko/a5c4f2ab72e3d1ab43e3e65aa421c6f2bd2e12a1?narHash=sha256-dwWGlDhcO5SMIvMSTB4mjQ5Pvo2vtxvpIknhVnSz2I8%3D' (2025-09-01) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/e891a93b193fcaf2fc8012d890dc7f0befe86ec2?narHash=sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs%3D' (2025-08-23) → 'github:cachix/git-hooks.nix/ab82ab08d6bf74085bd328de2a8722c12d97bd9d?narHash=sha256-E9spYi9lxm2f1zWQLQ7xQt8Xs2nWgr1T4QM7ZjLFphM%3D' (2025-09-07) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/a65b650d6981e23edd1afa1f01eb942f19cdcbb7?narHash=sha256-9bHzrVbjAudbO8q4vYFBWlEkDam31fsz0J7GB8k4AsI%3D' (2025-08-26) → 'github:nixos/nixos-hardware/11b2a10c7be726321bb854403fdeec391e798bf0?narHash=sha256-PtT7ix43ss8PONJ1VJw3f6t2yAoGH%2Bq462Sn8lrmWmk%3D' (2025-09-05) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/b4c2c57c31e68544982226d07e4719a2d86302a8?narHash=sha256-aGnd4AHIYCWQKChAkHPpX%2BYYCt7pA6y2LFFA/s8q0wQ%3D' (2025-08-31) → 'github:nixos/nixpkgs/fe83bbdde2ccdc2cb9573aa846abe8363f79a97a?narHash=sha256-PLoSjHRa2bUbi1x9HoXgTx2AiuzNXs54c8omhadyvp0%3D' (2025-09-04) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/2c774e13d1909ce5caaf837ac8ece10a604e54ae?narHash=sha256-%2BaQzkZ8a8xoHCK%2BBmMd8I2F4L6W1FFr8wswtc9O/N9A%3D' (2025-09-01) → 'github:NixOS/nixpkgs/790c37312111a3a809f2b97a8b527c8fcee2771a?narHash=sha256-hpUJdFtnHQoAEbOmrmlUkt0rGq4OmxU79EmjD%2BubWtE%3D' (2025-09-07) • Updated input 'nur': 'github:nix-community/NUR/effb8c7ab9fbfba86d31703a6101469489ab9df8?narHash=sha256-JsqhycxNEPDtfDtqGFSdslmbN7t9rClj/wxDWhrUAoM%3D' (2025-09-01) → 'github:nix-community/NUR/d244f159840581aa186a134a307e201c615591d2?narHash=sha256-tGGjRl5x6e0sYwVCCveWwLSH5b0ntaFDxjfSyrz4%2BEk%3D' (2025-09-07) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/d7600c775f877cd87b4f5a831c28aa94137377aa?narHash=sha256-tlOn88coG5fzdyqz6R93SQL5Gpq%2Bm/DsWpekNFhqPQk%3D' (2025-08-30) → 'github:nixos/nixpkgs/8eb28adfa3dc4de28e792e3bf49fcf9007ca8ac9?narHash=sha256-NOrUtIhTkIIumj1E/Rsv1J37Yi3xGStISEo8tZm3KW4%3D' (2025-09-05) • Updated input 'vesc-tool': 'github:vedderb/vesc_tool/3d3d6e23634033c04cbf3afedf8b324360ebc34d?narHash=sha256-EYUpnHxOfOZNvXEk/6vAI/EbvovfHtwwxJ2XJ%2BNPYVU%3D' (2025-08-31) → 'github:vedderb/vesc_tool/6b739f6de8c2b189359e92d53d638b8cbe6a31ee?narHash=sha256-EC7BTIW80OS6KonSpcldYJeF9xxlwt05nTQleLELaW4%3D' (2025-09-05) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 0926efa..6e32d83 100644 --- a/flake.lock +++ b/flake.lock @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1756115622, - "narHash": "sha256-iv8xVtmLMNLWFcDM/HcAPLRGONyTRpzL9NS09RnryRM=", + "lastModified": 1756733629, + "narHash": "sha256-dwWGlDhcO5SMIvMSTB4mjQ5Pvo2vtxvpIknhVnSz2I8=", "owner": "nix-community", "repo": "disko", - "rev": "bafad29f89e83b2d861b493aa23034ea16595560", + "rev": "a5c4f2ab72e3d1ab43e3e65aa421c6f2bd2e12a1", "type": "github" }, "original": { @@ -386,11 +386,11 @@ ] }, "locked": { - "lastModified": 1755960406, - "narHash": "sha256-RF7j6C1TmSTK9tYWO6CdEMtg6XZaUKcvZwOCD2SICZs=", + "lastModified": 1757239681, + "narHash": "sha256-E9spYi9lxm2f1zWQLQ7xQt8Xs2nWgr1T4QM7ZjLFphM=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "e891a93b193fcaf2fc8012d890dc7f0befe86ec2", + "rev": "ab82ab08d6bf74085bd328de2a8722c12d97bd9d", "type": "github" }, "original": { @@ -402,11 +402,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1756245047, - "narHash": "sha256-9bHzrVbjAudbO8q4vYFBWlEkDam31fsz0J7GB8k4AsI=", + "lastModified": 1757103352, + "narHash": "sha256-PtT7ix43ss8PONJ1VJw3f6t2yAoGH+q462Sn8lrmWmk=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "a65b650d6981e23edd1afa1f01eb942f19cdcbb7", + "rev": "11b2a10c7be726321bb854403fdeec391e798bf0", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1756617294, - "narHash": "sha256-aGnd4AHIYCWQKChAkHPpX+YYCt7pA6y2LFFA/s8q0wQ=", + "lastModified": 1757020766, + "narHash": "sha256-PLoSjHRa2bUbi1x9HoXgTx2AiuzNXs54c8omhadyvp0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b4c2c57c31e68544982226d07e4719a2d86302a8", + "rev": "fe83bbdde2ccdc2cb9573aa846abe8363f79a97a", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1756714484, - "narHash": "sha256-+aQzkZ8a8xoHCK+BmMd8I2F4L6W1FFr8wswtc9O/N9A=", + "lastModified": 1757246538, + "narHash": "sha256-hpUJdFtnHQoAEbOmrmlUkt0rGq4OmxU79EmjD+ubWtE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2c774e13d1909ce5caaf837ac8ece10a604e54ae", + "rev": "790c37312111a3a809f2b97a8b527c8fcee2771a", "type": "github" }, "original": { @@ -482,11 +482,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1756542300, - "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=", + "lastModified": 1757068644, + "narHash": "sha256-NOrUtIhTkIIumj1E/Rsv1J37Yi3xGStISEo8tZm3KW4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa", + "rev": "8eb28adfa3dc4de28e792e3bf49fcf9007ca8ac9", "type": "github" }, "original": { @@ -518,11 +518,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1756709961, - "narHash": "sha256-JsqhycxNEPDtfDtqGFSdslmbN7t9rClj/wxDWhrUAoM=", + "lastModified": 1757246002, + "narHash": "sha256-tGGjRl5x6e0sYwVCCveWwLSH5b0ntaFDxjfSyrz4+Ek=", "owner": "nix-community", "repo": "NUR", - "rev": "effb8c7ab9fbfba86d31703a6101469489ab9df8", + "rev": "d244f159840581aa186a134a307e201c615591d2", "type": "github" }, "original": { @@ -729,11 +729,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1756650442, - "narHash": "sha256-EYUpnHxOfOZNvXEk/6vAI/EbvovfHtwwxJ2XJ+NPYVU=", + "lastModified": 1757087969, + "narHash": "sha256-EC7BTIW80OS6KonSpcldYJeF9xxlwt05nTQleLELaW4=", "owner": "vedderb", "repo": "vesc_tool", - "rev": "3d3d6e23634033c04cbf3afedf8b324360ebc34d", + "rev": "6b739f6de8c2b189359e92d53d638b8cbe6a31ee", "type": "github" }, "original": { From 724cc97ef9d28c02b0cf0f92e974c673992f1593 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 9 Sep 2025 10:29:34 +0200 Subject: [PATCH 724/766] Add fixes for Framework laptop --- hosts/copper/configuration.nix | 1 + hosts/copper/framework-fixes.nix | 14 ++++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 hosts/copper/framework-fixes.nix diff --git a/hosts/copper/configuration.nix b/hosts/copper/configuration.nix index bcca713..db715e2 100644 --- a/hosts/copper/configuration.nix +++ b/hosts/copper/configuration.nix @@ -6,6 +6,7 @@ ./disko.nix ../../users/jalr ./services + ./framework-fixes.nix ]; networking = { diff --git a/hosts/copper/framework-fixes.nix b/hosts/copper/framework-fixes.nix new file mode 100644 index 0000000..f1463d2 --- /dev/null +++ b/hosts/copper/framework-fixes.nix @@ -0,0 +1,14 @@ +{ pkgs, ... }: + +{ + boot.extraModprobeConfig = '' + options cfg80211 ieee80211_regdom="DE" + options mt7921_common disable_clc=1 + options mt7921e disable_aspm=Y + ''; + hardware.firmware = [ pkgs.wireless-regdb ]; + + services.udev.extraRules = '' + ACTION=="add", SUBSYSTEM=="pci", ATTR{power/wakeup}="disabled" + ''; +} From 3b2fd03f48744b66a283128800854d249a9fbc8b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 9 Sep 2025 10:31:09 +0200 Subject: [PATCH 725/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/a5c4f2ab72e3d1ab43e3e65aa421c6f2bd2e12a1?narHash=sha256-dwWGlDhcO5SMIvMSTB4mjQ5Pvo2vtxvpIknhVnSz2I8%3D' (2025-09-01) → 'github:nix-community/disko/c8a0e78d86b12ea67be6ed0f7cae7f9bfabae75a?narHash=sha256-XH33B1X888Xc/xEXhF1RPq/kzKElM0D5C9N6YdvOvIc%3D' (2025-09-07) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/fe83bbdde2ccdc2cb9573aa846abe8363f79a97a?narHash=sha256-PLoSjHRa2bUbi1x9HoXgTx2AiuzNXs54c8omhadyvp0%3D' (2025-09-04) → 'github:nixos/nixpkgs/9d1fa9fa266631335618373f8faad570df6f9ede?narHash=sha256-fRnT%2BbwP1sB6ne7BLw4aXkVYjr%2BQCZZ%2Be4MhbokHyd4%3D' (2025-09-08) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/790c37312111a3a809f2b97a8b527c8fcee2771a?narHash=sha256-hpUJdFtnHQoAEbOmrmlUkt0rGq4OmxU79EmjD%2BubWtE%3D' (2025-09-07) → 'github:NixOS/nixpkgs/64ec29c1be38568eff50a2c487034cdfb64e441d?narHash=sha256-MK%2B/YmpTZpQrhJ0KfknCGNU0HZlLYITDqOCawZnyj9w%3D' (2025-09-09) • Updated input 'nur': 'github:nix-community/NUR/d244f159840581aa186a134a307e201c615591d2?narHash=sha256-tGGjRl5x6e0sYwVCCveWwLSH5b0ntaFDxjfSyrz4%2BEk%3D' (2025-09-07) → 'github:nix-community/NUR/cca9d1592e280f66f5f840c0b5cc66d37fbd7e91?narHash=sha256-ZsSUkHMkjHoFnxqeXYApZUg/WIm3bBjGuRuvF4vmpQA%3D' (2025-09-09) • Updated input 'vesc-tool': 'github:vedderb/vesc_tool/6b739f6de8c2b189359e92d53d638b8cbe6a31ee?narHash=sha256-EC7BTIW80OS6KonSpcldYJeF9xxlwt05nTQleLELaW4%3D' (2025-09-05) → 'github:vedderb/vesc_tool/b822025bd2da9aeb834b10c5934f90843389765a?narHash=sha256-TxDUlvxEPZgZIepyiAffgLbrPmkv2Bz%2BQzxO8%2BrTViQ%3D' (2025-09-08) --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 6e32d83..7ea0c1f 100644 --- a/flake.lock +++ b/flake.lock @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1756733629, - "narHash": "sha256-dwWGlDhcO5SMIvMSTB4mjQ5Pvo2vtxvpIknhVnSz2I8=", + "lastModified": 1757255839, + "narHash": "sha256-XH33B1X888Xc/xEXhF1RPq/kzKElM0D5C9N6YdvOvIc=", "owner": "nix-community", "repo": "disko", - "rev": "a5c4f2ab72e3d1ab43e3e65aa421c6f2bd2e12a1", + "rev": "c8a0e78d86b12ea67be6ed0f7cae7f9bfabae75a", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1757020766, - "narHash": "sha256-PLoSjHRa2bUbi1x9HoXgTx2AiuzNXs54c8omhadyvp0=", + "lastModified": 1757341549, + "narHash": "sha256-fRnT+bwP1sB6ne7BLw4aXkVYjr+QCZZ+e4MhbokHyd4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fe83bbdde2ccdc2cb9573aa846abe8363f79a97a", + "rev": "9d1fa9fa266631335618373f8faad570df6f9ede", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1757246538, - "narHash": "sha256-hpUJdFtnHQoAEbOmrmlUkt0rGq4OmxU79EmjD+ubWtE=", + "lastModified": 1757406392, + "narHash": "sha256-MK+/YmpTZpQrhJ0KfknCGNU0HZlLYITDqOCawZnyj9w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "790c37312111a3a809f2b97a8b527c8fcee2771a", + "rev": "64ec29c1be38568eff50a2c487034cdfb64e441d", "type": "github" }, "original": { @@ -518,11 +518,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1757246002, - "narHash": "sha256-tGGjRl5x6e0sYwVCCveWwLSH5b0ntaFDxjfSyrz4+Ek=", + "lastModified": 1757399382, + "narHash": "sha256-ZsSUkHMkjHoFnxqeXYApZUg/WIm3bBjGuRuvF4vmpQA=", "owner": "nix-community", "repo": "NUR", - "rev": "d244f159840581aa186a134a307e201c615591d2", + "rev": "cca9d1592e280f66f5f840c0b5cc66d37fbd7e91", "type": "github" }, "original": { @@ -729,11 +729,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1757087969, - "narHash": "sha256-EC7BTIW80OS6KonSpcldYJeF9xxlwt05nTQleLELaW4=", + "lastModified": 1757351078, + "narHash": "sha256-TxDUlvxEPZgZIepyiAffgLbrPmkv2Bz+QzxO8+rTViQ=", "owner": "vedderb", "repo": "vesc_tool", - "rev": "6b739f6de8c2b189359e92d53d638b8cbe6a31ee", + "rev": "b822025bd2da9aeb834b10c5934f90843389765a", "type": "github" }, "original": { From 9e0374b9d0d122d01f8a6235dcfdb30ce4040ab8 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 9 Sep 2025 12:38:14 +0200 Subject: [PATCH 726/766] Add udev module --- hosts/cadmium/configuration.nix | 1 - hosts/copper/configuration.nix | 1 - modules/default.nix | 4 +--- modules/dji-goggles.nix | 6 ------ modules/printers/default.nix | 1 - modules/printers/p-touch_p700.nix | 5 ----- modules/sdr.nix | 19 ------------------- modules/udev.nix | 22 ++++++++++++++++++++++ modules/udmx.nix | 6 ------ 9 files changed, 23 insertions(+), 42 deletions(-) delete mode 100644 modules/dji-goggles.nix delete mode 100644 modules/printers/p-touch_p700.nix delete mode 100644 modules/sdr.nix create mode 100644 modules/udev.nix delete mode 100644 modules/udmx.nix diff --git a/hosts/cadmium/configuration.nix b/hosts/cadmium/configuration.nix index 620fd71..32c1151 100644 --- a/hosts/cadmium/configuration.nix +++ b/hosts/cadmium/configuration.nix @@ -52,7 +52,6 @@ sway.enable = true; }; workstation.enable = true; - sdr.enable = true; libvirt.enable = true; autologin.enable = true; autologin.username = "jalr"; diff --git a/hosts/copper/configuration.nix b/hosts/copper/configuration.nix index db715e2..d36934a 100644 --- a/hosts/copper/configuration.nix +++ b/hosts/copper/configuration.nix @@ -65,7 +65,6 @@ sway.enable = true; }; workstation.enable = true; - sdr.enable = true; libvirt.enable = true; autologin = { enable = true; diff --git a/modules/default.nix b/modules/default.nix index 49b9b9d..ac459f1 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -19,7 +19,6 @@ ./bluetooth.nix ./bootloader ./debug.nix - ./dji-goggles.nix ./dns.nix ./esphome ./fish.nix @@ -43,12 +42,11 @@ ./podman.nix ./printers ./remarkable.nix - ./sdr.nix ./sshd.nix ./steelseries-nova-pro.nix ./sudo.nix ./sway.nix - ./udmx.nix + ./udev.nix ./uefi.nix ./unfree.nix ./upgrade-diff.nix diff --git a/modules/dji-goggles.nix b/modules/dji-goggles.nix deleted file mode 100644 index 951482a..0000000 --- a/modules/dji-goggles.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - services.udev.extraRules = '' - # DJI Goggles - SUBSYSTEM=="usb", ATTR{idVendor}=="2ca3", ATTR{idProduct}=="001f", MODE="0660", GROUP="plugdev" - ''; -} diff --git a/modules/printers/default.nix b/modules/printers/default.nix index 8692599..b207377 100644 --- a/modules/printers/default.nix +++ b/modules/printers/default.nix @@ -3,7 +3,6 @@ { imports = [ ./hl3172cdw.nix - ./p-touch_p700.nix ]; config = lib.mkIf config.jalr.gui.enable { # install virtual pdf printer diff --git a/modules/printers/p-touch_p700.nix b/modules/printers/p-touch_p700.nix deleted file mode 100644 index 07076b1..0000000 --- a/modules/printers/p-touch_p700.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - services.udev.extraRules = '' - SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="04f9", ATTR{idProduct}=="2061", OWNER="root", GROUP="users", MODE="660" - ''; -} diff --git a/modules/sdr.nix b/modules/sdr.nix deleted file mode 100644 index a0b7686..0000000 --- a/modules/sdr.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ config, lib, pkgs, ... }: - -let - cfg = config.jalr; -in -{ - options.jalr = { - sdr = { - enable = pkgs.lib.mkEnableOption "Enable software defined radio"; - }; - }; - config = lib.mkIf cfg.sdr.enable { - services.udev.extraRules = '' - # rad10 - SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="cc15", GROUP="users", MODE="0660" - SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="6089", GROUP="users", MODE="0660" - ''; - }; -} diff --git a/modules/udev.nix b/modules/udev.nix new file mode 100644 index 0000000..dc3a7e3 --- /dev/null +++ b/modules/udev.nix @@ -0,0 +1,22 @@ +let + usbDeviceRules = [ + # rad10 + { vendor = "1d50"; product = "cc15"; group = "users"; mode = "0660"; } + { vendor = "1d50"; product = "6089"; group = "users"; mode = "0660"; } + + # DJI Goggles + { vendor = "2ca3"; product = "001f"; group = "plugdev"; mode = "0660"; } + + # uDMX + { vendor = "16c0"; product = "05dc"; group = "users"; mode = "0660"; } + + # Brother P-touch P700 + { vendor = "04f9"; product = "2061"; group = "users"; mode = "0660"; } + ]; + + mkUsbRule = rule: + ''SUBSYSTEM=="usb", ATTR{idVendor}=="${rule.vendor}", ATTR{idProduct}=="${rule.product}", GROUP="${rule.group}", MODE="${rule.mode}"''; +in +{ + services.udev.extraRules = builtins.concatStringsSep "\n" (map mkUsbRule usbDeviceRules); +} diff --git a/modules/udmx.nix b/modules/udmx.nix deleted file mode 100644 index 3d7befe..0000000 --- a/modules/udmx.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - services.udev.extraRules = '' - # uDMX - SUBSYSTEM=="usb", ATTR{idVendor}=="16c0", ATTR{idProduct}=="05dc", GROUP="users", MODE="0660" - ''; -} From 15b3a138b5ddfb4237f63b42d833d0a0e59fd5b8 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 10 Sep 2025 20:00:54 +0200 Subject: [PATCH 727/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/c8a0e78d86b12ea67be6ed0f7cae7f9bfabae75a?narHash=sha256-XH33B1X888Xc/xEXhF1RPq/kzKElM0D5C9N6YdvOvIc%3D' (2025-09-07) → 'github:nix-community/disko/146f45bee02b8bd88812cfce6ffc0f933788875a?narHash=sha256-7lVWL5bC6xBIMWWDal41LlGAG%2B9u2zUorqo3QCUL4p4%3D' (2025-09-10) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/9d1fa9fa266631335618373f8faad570df6f9ede?narHash=sha256-fRnT%2BbwP1sB6ne7BLw4aXkVYjr%2BQCZZ%2Be4MhbokHyd4%3D' (2025-09-08) → 'github:nixos/nixpkgs/d179d77c139e0a3f5c416477f7747e9d6b7ec315?narHash=sha256-aSgK4BLNFFGvDTNKPeB28lVXYqVn8RdyXDNAvgGq%2Bk0%3D' (2025-09-09) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/64ec29c1be38568eff50a2c487034cdfb64e441d?narHash=sha256-MK%2B/YmpTZpQrhJ0KfknCGNU0HZlLYITDqOCawZnyj9w%3D' (2025-09-09) → 'github:NixOS/nixpkgs/9f0eb3375efd8b1db6e65ff599efbe679e16fe6f?narHash=sha256-tYTEkKUuGV3yiCvYReq/jehSodJH02FG7m06I9LESrI%3D' (2025-09-10) • Updated input 'nur': 'github:nix-community/NUR/cca9d1592e280f66f5f840c0b5cc66d37fbd7e91?narHash=sha256-ZsSUkHMkjHoFnxqeXYApZUg/WIm3bBjGuRuvF4vmpQA%3D' (2025-09-09) → 'github:nix-community/NUR/8c3d56d5eb01a6c8f79baeec9d91f1f5159836ec?narHash=sha256-5HaMkE%2B5un3cEGC%2B%2BHxYK%2BI3kbCd3i58KQTJfLTyqns%3D' (2025-09-10) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/8eb28adfa3dc4de28e792e3bf49fcf9007ca8ac9?narHash=sha256-NOrUtIhTkIIumj1E/Rsv1J37Yi3xGStISEo8tZm3KW4%3D' (2025-09-05) → 'github:nixos/nixpkgs/b599843bad24621dcaa5ab60dac98f9b0eb1cabe?narHash=sha256-tLdkkC6XnsY9EOZW9TlpesTclELy8W7lL2ClL%2Bnma8o%3D' (2025-09-08) • Updated input 'sops-nix': 'github:Mic92/sops-nix/3223c7a92724b5d804e9988c6b447a0d09017d48?narHash=sha256-t%2Bvoe2961vCgrzPFtZxha0/kmFSHFobzF00sT8p9h0U%3D' (2025-08-12) → 'github:Mic92/sops-nix/0bf793823386187dff101ee2a9d4ed26de8bbf8c?narHash=sha256-S9F6bHUBh%2BCFEUalv/qxNImRapCxvSnOzWBUZgK1zDU%3D' (2025-09-10) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 7ea0c1f..6c5673b 100644 --- a/flake.lock +++ b/flake.lock @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1757255839, - "narHash": "sha256-XH33B1X888Xc/xEXhF1RPq/kzKElM0D5C9N6YdvOvIc=", + "lastModified": 1757508292, + "narHash": "sha256-7lVWL5bC6xBIMWWDal41LlGAG+9u2zUorqo3QCUL4p4=", "owner": "nix-community", "repo": "disko", - "rev": "c8a0e78d86b12ea67be6ed0f7cae7f9bfabae75a", + "rev": "146f45bee02b8bd88812cfce6ffc0f933788875a", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1757341549, - "narHash": "sha256-fRnT+bwP1sB6ne7BLw4aXkVYjr+QCZZ+e4MhbokHyd4=", + "lastModified": 1757408970, + "narHash": "sha256-aSgK4BLNFFGvDTNKPeB28lVXYqVn8RdyXDNAvgGq+k0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9d1fa9fa266631335618373f8faad570df6f9ede", + "rev": "d179d77c139e0a3f5c416477f7747e9d6b7ec315", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1757406392, - "narHash": "sha256-MK+/YmpTZpQrhJ0KfknCGNU0HZlLYITDqOCawZnyj9w=", + "lastModified": 1757525990, + "narHash": "sha256-tYTEkKUuGV3yiCvYReq/jehSodJH02FG7m06I9LESrI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "64ec29c1be38568eff50a2c487034cdfb64e441d", + "rev": "9f0eb3375efd8b1db6e65ff599efbe679e16fe6f", "type": "github" }, "original": { @@ -482,11 +482,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1757068644, - "narHash": "sha256-NOrUtIhTkIIumj1E/Rsv1J37Yi3xGStISEo8tZm3KW4=", + "lastModified": 1757347588, + "narHash": "sha256-tLdkkC6XnsY9EOZW9TlpesTclELy8W7lL2ClL+nma8o=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8eb28adfa3dc4de28e792e3bf49fcf9007ca8ac9", + "rev": "b599843bad24621dcaa5ab60dac98f9b0eb1cabe", "type": "github" }, "original": { @@ -518,11 +518,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1757399382, - "narHash": "sha256-ZsSUkHMkjHoFnxqeXYApZUg/WIm3bBjGuRuvF4vmpQA=", + "lastModified": 1757526419, + "narHash": "sha256-5HaMkE+5un3cEGC++HxYK+I3kbCd3i58KQTJfLTyqns=", "owner": "nix-community", "repo": "NUR", - "rev": "cca9d1592e280f66f5f840c0b5cc66d37fbd7e91", + "rev": "8c3d56d5eb01a6c8f79baeec9d91f1f5159836ec", "type": "github" }, "original": { @@ -634,11 +634,11 @@ ] }, "locked": { - "lastModified": 1754988908, - "narHash": "sha256-t+voe2961vCgrzPFtZxha0/kmFSHFobzF00sT8p9h0U=", + "lastModified": 1757503115, + "narHash": "sha256-S9F6bHUBh+CFEUalv/qxNImRapCxvSnOzWBUZgK1zDU=", "owner": "Mic92", "repo": "sops-nix", - "rev": "3223c7a92724b5d804e9988c6b447a0d09017d48", + "rev": "0bf793823386187dff101ee2a9d4ed26de8bbf8c", "type": "github" }, "original": { From ef80b04f507ea4767b69324065be5ba9e542780b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 15 Sep 2025 12:42:16 +0200 Subject: [PATCH 728/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/07fc025fe10487dd80f2ec694f1cd790e752d0e8?narHash=sha256-Xd1vOeY9ccDf5VtVK12yM0FS6qqvfUop8UQlxEB%2BgTQ%3D' (2025-08-31) → 'github:nix-community/home-manager/f21d9167782c086a33ad53e2311854a8f13c281e?narHash=sha256-K6PEI5PYY94TVMH0mX3MbZNYFme7oNRKml/85BpRRAo%3D' (2025-09-14) • Updated input 'nix-filter': 'github:numtide/nix-filter/f7653272fd234696ae94229839a99b73c9ab7de0?narHash=sha256-oRam5PS1vcrr5UPgALW0eo1m/5/pls27Z/pabHNy2Ms%3D' (2024-11-13) → 'github:numtide/nix-filter/59c44d1909c72441144b93cf0f054be7fe764de5?narHash=sha256-%2BcCxYIh2UNalTz364p%2BQYmWHs0P%2B6wDhiWR4jDIKQIU%3D' (2025-09-14) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/ab82ab08d6bf74085bd328de2a8722c12d97bd9d?narHash=sha256-E9spYi9lxm2f1zWQLQ7xQt8Xs2nWgr1T4QM7ZjLFphM%3D' (2025-09-07) → 'github:cachix/git-hooks.nix/b084b2c2b6bc23e83bbfe583b03664eb0b18c411?narHash=sha256-tJ7A8mID3ct69n9WCvZ3PzIIl3rXTdptn/lZmqSS95U%3D' (2025-09-11) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/11b2a10c7be726321bb854403fdeec391e798bf0?narHash=sha256-PtT7ix43ss8PONJ1VJw3f6t2yAoGH%2Bq462Sn8lrmWmk%3D' (2025-09-05) → 'github:nixos/nixos-hardware/4c38a024fa32e61db2be8573e5282b15d9733a79?narHash=sha256-NfiTk59huy/YK9H4W4wVwRYyiP2u86QqROM5KK4f5F4%3D' (2025-09-14) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/d179d77c139e0a3f5c416477f7747e9d6b7ec315?narHash=sha256-aSgK4BLNFFGvDTNKPeB28lVXYqVn8RdyXDNAvgGq%2Bk0%3D' (2025-09-09) → 'github:nixos/nixpkgs/9a094440e02a699be5c57453a092a8baf569bdad?narHash=sha256-Vp9K5ol6h0J90jG7Rm4RWZsCB3x7v5VPx588TQ1dkfs%3D' (2025-09-14) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/9f0eb3375efd8b1db6e65ff599efbe679e16fe6f?narHash=sha256-tYTEkKUuGV3yiCvYReq/jehSodJH02FG7m06I9LESrI%3D' (2025-09-10) → 'github:NixOS/nixpkgs/434ed09bd161bb1058612038479dc34863c3f106?narHash=sha256-D44RIPMw71krFXsk9af22YbwBhHpLWCDbncFokHWs5c%3D' (2025-09-15) • Updated input 'nur': 'github:nix-community/NUR/8c3d56d5eb01a6c8f79baeec9d91f1f5159836ec?narHash=sha256-5HaMkE%2B5un3cEGC%2B%2BHxYK%2BI3kbCd3i58KQTJfLTyqns%3D' (2025-09-10) → 'github:nix-community/NUR/0f5e4ecbdfd50a2deb75f344a03e5cfa22b97bcb?narHash=sha256-hYGtHXTQ6eQPZWXKGxZWNrraP0j2p69B9EFIKNRC65E%3D' (2025-09-15) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/b599843bad24621dcaa5ab60dac98f9b0eb1cabe?narHash=sha256-tLdkkC6XnsY9EOZW9TlpesTclELy8W7lL2ClL%2Bnma8o%3D' (2025-09-08) → 'github:nixos/nixpkgs/c23193b943c6c689d70ee98ce3128239ed9e32d1?narHash=sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820%3D' (2025-09-13) • Updated input 'sops-nix': 'github:Mic92/sops-nix/0bf793823386187dff101ee2a9d4ed26de8bbf8c?narHash=sha256-S9F6bHUBh%2BCFEUalv/qxNImRapCxvSnOzWBUZgK1zDU%3D' (2025-09-10) → 'github:Mic92/sops-nix/ee6f91c1c11acf7957d94a130de77561ec24b8ab?narHash=sha256-TumOaykhZO8SOs/faz6GQhqkOcFLoQvESLSF1cJ4mZc%3D' (2025-09-14) • Updated input 'vesc-tool': 'github:vedderb/vesc_tool/b822025bd2da9aeb834b10c5934f90843389765a?narHash=sha256-TxDUlvxEPZgZIepyiAffgLbrPmkv2Bz%2BQzxO8%2BrTViQ%3D' (2025-09-08) → 'github:vedderb/vesc_tool/467e44ede9bd89fd87a075b00156455eba96fb19?narHash=sha256-xXBzVuKmkre9bHB/0f3c9ZvX41P1qWqap0Q%2BWHh1cqQ%3D' (2025-09-14) --- flake.lock | 60 +++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/flake.lock b/flake.lock index 6c5673b..25ecc01 100644 --- a/flake.lock +++ b/flake.lock @@ -263,11 +263,11 @@ ] }, "locked": { - "lastModified": 1756679287, - "narHash": "sha256-Xd1vOeY9ccDf5VtVK12yM0FS6qqvfUop8UQlxEB+gTQ=", + "lastModified": 1757808926, + "narHash": "sha256-K6PEI5PYY94TVMH0mX3MbZNYFme7oNRKml/85BpRRAo=", "owner": "nix-community", "repo": "home-manager", - "rev": "07fc025fe10487dd80f2ec694f1cd790e752d0e8", + "rev": "f21d9167782c086a33ad53e2311854a8f13c281e", "type": "github" }, "original": { @@ -343,11 +343,11 @@ }, "nix-filter": { "locked": { - "lastModified": 1731533336, - "narHash": "sha256-oRam5PS1vcrr5UPgALW0eo1m/5/pls27Z/pabHNy2Ms=", + "lastModified": 1757882181, + "narHash": "sha256-+cCxYIh2UNalTz364p+QYmWHs0P+6wDhiWR4jDIKQIU=", "owner": "numtide", "repo": "nix-filter", - "rev": "f7653272fd234696ae94229839a99b73c9ab7de0", + "rev": "59c44d1909c72441144b93cf0f054be7fe764de5", "type": "github" }, "original": { @@ -386,11 +386,11 @@ ] }, "locked": { - "lastModified": 1757239681, - "narHash": "sha256-E9spYi9lxm2f1zWQLQ7xQt8Xs2nWgr1T4QM7ZjLFphM=", + "lastModified": 1757588530, + "narHash": "sha256-tJ7A8mID3ct69n9WCvZ3PzIIl3rXTdptn/lZmqSS95U=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "ab82ab08d6bf74085bd328de2a8722c12d97bd9d", + "rev": "b084b2c2b6bc23e83bbfe583b03664eb0b18c411", "type": "github" }, "original": { @@ -402,11 +402,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1757103352, - "narHash": "sha256-PtT7ix43ss8PONJ1VJw3f6t2yAoGH+q462Sn8lrmWmk=", + "lastModified": 1757891025, + "narHash": "sha256-NfiTk59huy/YK9H4W4wVwRYyiP2u86QqROM5KK4f5F4=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "11b2a10c7be726321bb854403fdeec391e798bf0", + "rev": "4c38a024fa32e61db2be8573e5282b15d9733a79", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1757408970, - "narHash": "sha256-aSgK4BLNFFGvDTNKPeB28lVXYqVn8RdyXDNAvgGq+k0=", + "lastModified": 1757810152, + "narHash": "sha256-Vp9K5ol6h0J90jG7Rm4RWZsCB3x7v5VPx588TQ1dkfs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d179d77c139e0a3f5c416477f7747e9d6b7ec315", + "rev": "9a094440e02a699be5c57453a092a8baf569bdad", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1757525990, - "narHash": "sha256-tYTEkKUuGV3yiCvYReq/jehSodJH02FG7m06I9LESrI=", + "lastModified": 1757932657, + "narHash": "sha256-D44RIPMw71krFXsk9af22YbwBhHpLWCDbncFokHWs5c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9f0eb3375efd8b1db6e65ff599efbe679e16fe6f", + "rev": "434ed09bd161bb1058612038479dc34863c3f106", "type": "github" }, "original": { @@ -482,11 +482,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1757347588, - "narHash": "sha256-tLdkkC6XnsY9EOZW9TlpesTclELy8W7lL2ClL+nma8o=", + "lastModified": 1757745802, + "narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b599843bad24621dcaa5ab60dac98f9b0eb1cabe", + "rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1", "type": "github" }, "original": { @@ -518,11 +518,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1757526419, - "narHash": "sha256-5HaMkE+5un3cEGC++HxYK+I3kbCd3i58KQTJfLTyqns=", + "lastModified": 1757931984, + "narHash": "sha256-hYGtHXTQ6eQPZWXKGxZWNrraP0j2p69B9EFIKNRC65E=", "owner": "nix-community", "repo": "NUR", - "rev": "8c3d56d5eb01a6c8f79baeec9d91f1f5159836ec", + "rev": "0f5e4ecbdfd50a2deb75f344a03e5cfa22b97bcb", "type": "github" }, "original": { @@ -634,11 +634,11 @@ ] }, "locked": { - "lastModified": 1757503115, - "narHash": "sha256-S9F6bHUBh+CFEUalv/qxNImRapCxvSnOzWBUZgK1zDU=", + "lastModified": 1757847158, + "narHash": "sha256-TumOaykhZO8SOs/faz6GQhqkOcFLoQvESLSF1cJ4mZc=", "owner": "Mic92", "repo": "sops-nix", - "rev": "0bf793823386187dff101ee2a9d4ed26de8bbf8c", + "rev": "ee6f91c1c11acf7957d94a130de77561ec24b8ab", "type": "github" }, "original": { @@ -729,11 +729,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1757351078, - "narHash": "sha256-TxDUlvxEPZgZIepyiAffgLbrPmkv2Bz+QzxO8+rTViQ=", + "lastModified": 1757831065, + "narHash": "sha256-xXBzVuKmkre9bHB/0f3c9ZvX41P1qWqap0Q+WHh1cqQ=", "owner": "vedderb", "repo": "vesc_tool", - "rev": "b822025bd2da9aeb834b10c5934f90843389765a", + "rev": "467e44ede9bd89fd87a075b00156455eba96fb19", "type": "github" }, "original": { From 3b89194a8ae538ac705cbadb958b15486ee9210a Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 15 Sep 2025 18:14:10 +0200 Subject: [PATCH 729/766] Bump stateVersion --- hosts/iron/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index 99560b7..cdf307b 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -37,7 +37,7 @@ with lib; { ./ports.nix ]; config = { - system.stateVersion = "23.11"; + system.stateVersion = "25.05"; security.sudo.wheelNeedsPassword = false; From d7483490cd044aff33358f02d7ab28546f0706d0 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 15 Sep 2025 18:13:23 +0200 Subject: [PATCH 730/766] Add prometheus for home network --- hosts/iron/ports.nix | 1 + hosts/iron/secrets.yaml | 8 +- hosts/iron/services/default.nix | 5 +- hosts/iron/services/prometheus.nix | 207 ++++++++++++++++++ hosts/iron/services/unifi-controller.nix | 17 -- .../services/unifi-controller/default.nix | 35 +++ .../services/unifi-controller/unpoller.nix | 22 ++ pkgs/default.nix | 3 + pkgs/vodafone-station-exporter/default.nix | 12 + pkgs/vodafone-station-exporter/gomod2nix.toml | 42 ++++ 10 files changed, 331 insertions(+), 21 deletions(-) create mode 100644 hosts/iron/services/prometheus.nix delete mode 100644 hosts/iron/services/unifi-controller.nix create mode 100644 hosts/iron/services/unifi-controller/default.nix create mode 100644 hosts/iron/services/unifi-controller/unpoller.nix create mode 100644 pkgs/vodafone-station-exporter/default.nix create mode 100644 pkgs/vodafone-station-exporter/gomod2nix.toml diff --git a/hosts/iron/ports.nix b/hosts/iron/ports.nix index 106b26f..317909d 100644 --- a/hosts/iron/ports.nix +++ b/hosts/iron/ports.nix @@ -28,5 +28,6 @@ unifi-https.tcp = 8443; wireguard-public-ip-tunnel.udp = 51000; wireguard-esphome.udp = 51001; + prometheus-vodafone-station-exporter.tcp = 9420; }; } diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index 54e1ca4..a866030 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -18,6 +18,10 @@ mqtt-users: valetudo: ENC[AES256_GCM,data:+HRz6X+A5dhmx43G99ka0u9VozuzOFWR,iv:SPw5yoiBqN7sBH5EofevacTtu45jmuTPqToKrar0aJ0=,tag:lf+usB/eNNP1yuWW/QyTqQ==,type:str] photoprism: oidc-secret: ENC[AES256_GCM,data:XTAiUiGZJfSZHNbz6fePl3iMDdbxFSE7+SQH2ECRFqlo7w8TAhLyNXBxlEfGvu+8vttbKdkEm0r7132Q4ftOtA==,iv:WGsQXolbtRWIq4EDgODWNmkXdOZCsA9A3Fqoo4lJyec=,tag:5zJftwB5If/RZB3hI0Ly8A==,type:str] +prometheus: + exporters: + vodafone-station: ENC[AES256_GCM,data:eaFqYEuK3UU=,iv:BauymCkvj33TmZLyii367uVEc4Iq4GGcik4nbyT9Fpk=,tag:poB+qh5tAdv/dEt3WN6yVw==,type:str] + unpoller: ENC[AES256_GCM,data:WI1oUKHW4ef4pBk+mGM=,iv:C1LykPf1/ypUmy3ZCQzjfSjkpxhUukDNnfJnZLp2CJg=,tag:mSnZJKl9IHcx7I7GpFherw==,type:str] sops: age: - recipient: age1hx7fdu4mcha7kkxe7yevtvs6xgzgaafgenm3drhvr609wlj94sgqm497je @@ -29,8 +33,8 @@ sops: SU1USkxFUUY2NVhmUHBhZkdrNDR1Q0kKiXIicInELRjDR3tuyA+lnXeCcd9lYvbV GnBRGPM7BNO/6AA7HhAei48Kt+XE6+jQX66yTXyviKhK7Lpjrlb2YQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-06-11T22:17:21Z" - mac: ENC[AES256_GCM,data:l785PSSvzb/C3n6QnUHc+YTKSRLP/FjGzi0EOersLEFd/XGDy0vzPv5RJzE6475zUt9hHko9324z2woficG84CenjB3+IF0GtTtM8654KlLN5C91n06OrInG2hvOp68j6mAg1x9+XS1OBuNLGXEr7Bt0lkqD31JH6NyWqirQ1/4=,iv:Nuurf42iuTmH4bJ790HbGgB3tThA2/EZQ9JOcns5QeA=,tag:Qh9tsPWiYJAIO3cP430ccg==,type:str] + lastmodified: "2025-09-15T15:29:31Z" + mac: ENC[AES256_GCM,data:7clDIKf/lRxXaYpiJS8+j8MzUvPTZmf20M4xM2sto+DSh2h/rJTvQanbg4/2yNVmLCX6FZ6USJb7bqg7aBw7Yv7RMoEio/HO6BtKNcHiLLiCW0dXkIROO4s5rc1S/nwtSFpifhgN2KrjXyBq+PVFk61on7K861zimsHev/KmDKk=,iv:9S1KONQWBMJBQElvAQ+NAOn15BrN0IkIyjedwSUm7oY=,tag:Kc8N8F5rz0EVIHseT1x0Kw==,type:str] pgp: - created_at: "2024-01-31T01:20:30Z" enc: |- diff --git a/hosts/iron/services/default.nix b/hosts/iron/services/default.nix index f19a759..4a10130 100644 --- a/hosts/iron/services/default.nix +++ b/hosts/iron/services/default.nix @@ -7,20 +7,21 @@ ./esphome ./home-assistant.nix ./jellyfin.nix - ./wireguard-esphome.nix ./mail.nix ./matrix.nix ./navidrome.nix ./nginx.nix ./ntp.nix ./photoprism.nix + ./prometheus.nix ./public-ip-tunnel.nix ./radicale.nix ./remarkable.nix ./snapcast ./sturzbach.nix ./tts.nix - ./unifi-controller.nix + ./unifi-controller ./whatsapp.nix + ./wireguard-esphome.nix ]; } diff --git a/hosts/iron/services/prometheus.nix b/hosts/iron/services/prometheus.nix new file mode 100644 index 0000000..5d571bc --- /dev/null +++ b/hosts/iron/services/prometheus.nix @@ -0,0 +1,207 @@ +{ config +, lib +, pkgs +, ... +}: +let + #domain = ""; + cfg = config.services.prometheus; + mkStaticTargets = targets: lib.singleton { inherit targets; }; + inherit (config.networking) ports; + blackboxRelabelConfig = [ + { + source_labels = [ "__address__" ]; + target_label = "__param_target"; + } + { + source_labels = [ "__param_target" ]; + target_label = "instance"; + } + { + target_label = "__address__"; + replacement = with config.services.prometheus.exporters.blackbox; "${listenAddress}:${toString port}"; + } + ]; +in +{ + #sops.secrets.prometheus-htpasswd = { + # owner = "nginx"; + # sopsFile = ../secrets.yaml; + #}; + + services.prometheus = { + enable = true; + listenAddress = "127.0.0.1"; + #webExternalUrl = "https://${domain}"; + globalConfig = { + scrape_interval = "15s"; + evaluation_interval = "15s"; + }; + extraFlags = [ + "--storage.tsdb.retention.time=90d" + "--web.enable-admin-api" + ]; + scrapeConfigs = [ + { + job_name = "node"; + static_configs = [ + { + targets = with config.services.prometheus.exporters.node; [ + "${listenAddress}:${toString port}" + ]; + } + ]; + relabel_configs = [ + { + source_labels = [ "__address__" ]; + target_label = "instance"; + replacement = config.networking.hostName; + } + ]; + } + { + job_name = "vodafone_station"; + static_configs = mkStaticTargets [ + "127.0.0.1:${toString ports.prometheus-vodafone-station-exporter.tcp}" + ]; + } + { + job_name = "unifi"; + static_configs = mkStaticTargets [ + "${cfg.exporters.unpoller.listenAddress}:${toString cfg.exporters.unpoller.port}" + ]; + } + { + job_name = "blackbox"; + metrics_path = "/probe"; + params.module = [ "http_2xx" ]; + static_configs = [ + { + targets = [ + "https://c58r0l3wtmqltl4y.myfritz.net:44919/" + ]; + } + ]; + relabel_configs = blackboxRelabelConfig; + } + { + job_name = "internet_ip4"; + static_configs = mkStaticTargets [ "1.1.1.1" "8.8.8.8" ]; + metrics_path = "/probe"; + params.module = [ "icmp_ip4" ]; + relabel_configs = blackboxRelabelConfig; + } + { + job_name = "internet_ip6"; + static_configs = mkStaticTargets [ "2606:4700:4700::1111" "2001:4860:4860::8888" ]; + metrics_path = "/probe"; + params.module = [ "icmp_ip6" ]; + relabel_configs = blackboxRelabelConfig; + } + ]; + + exporters = { + node.enable = true; + + blackbox = { + enable = true; + listenAddress = "127.0.0.1"; + + # https://github.com/prometheus/blackbox_exporter/blob/master/CONFIGURATION.md + configFile = pkgs.writeText "prometheus-blackbox-config" (builtins.toJSON { + modules = { + icmp_ip4 = { + prober = "icmp"; + timeout = "5s"; + icmp = { + ip_protocol_fallback = false; + preferred_ip_protocol = "ip4"; + }; + }; + icmp_ip6 = { + prober = "icmp"; + timeout = "5s"; + icmp = { + ip_protocol_fallback = false; + preferred_ip_protocol = "ip6"; + }; + }; + http_2xx = { + prober = "http"; + timeout = "5s"; + http = { + valid_http_versions = [ "HTTP/1.1" "HTTP/2.0" ]; + valid_status_codes = [ ]; # Defaults to 2xx + method = "GET"; + follow_redirects = true; + fail_if_ssl = false; + fail_if_not_ssl = true; + tls_config = { + insecure_skip_verify = false; + }; + preferred_ip_protocol = "ip4"; # defaults to "ip6" + ip_protocol_fallback = false; # no fallback to "ip6" + }; + }; + }; + }); + }; + }; + }; + + /* + */ + # + + systemd.services.prometheus-vodafone-station-exporter = + let + unitName = "prometheus-vodafone-station-exporter"; + in + { + enable = true; + description = "Prometheus Vodafone Station exporter"; + wants = [ "network.target" ]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + BindReadOnlyPaths = [ + "/nix/store" + "/etc/resolv.conf" + ]; + DynamicUser = "yes"; + ExecStart = lib.strings.concatStringsSep " " [ + "${pkgs.vodafone-station-exporter}/bin/vodafone-station-exporter" + "-web.listen-address" + "127.0.0.1:${toString ports.prometheus-vodafone-station-exporter.tcp}" + "-vodafone.station-url" + "http://192.168.100.1" + "-vodafone.station-password-file" + "\${CREDENTIALS_DIRECTORY}/password" + ]; + LoadCredential = "password:${config.sops.secrets."prometheus/exporters/vodafone-station".path}"; + NoNewPrivileges = true; + PrivateTmp = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + RestrictAddressFamilies = "AF_INET AF_INET6 AF_UNIX"; + RestrictNamespaces = true; + RootDirectory = "%t/${unitName}"; + RuntimeDirectory = [ unitName ]; + }; + }; + + /* + services.nginx.virtualHosts."${domain}" = { + enableACME = true; + forceSSL = true; + + #basicAuthFile = config.sops.secrets.prometheus-htpasswd.path; + + locations = { + "/".proxyPass = "http://${cfg.listenAddress}:${toString cfg.port}"; + }; + }; + */ +} diff --git a/hosts/iron/services/unifi-controller.nix b/hosts/iron/services/unifi-controller.nix deleted file mode 100644 index f351e4b..0000000 --- a/hosts/iron/services/unifi-controller.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ config, pkgs, ... }: - -let - inherit (config.networking) ports; - interfaces = import ../interfaces.nix; -in -{ - services.unifi = { - enable = true; - unifiPackage = pkgs.unifi; - mongodbPackage = pkgs.mongodb-7_0; - }; - networking.firewall.interfaces."${interfaces.lan}".allowedTCPPorts = [ - ports.unifi-http.tcp - ports.unifi-https.tcp - ]; -} diff --git a/hosts/iron/services/unifi-controller/default.nix b/hosts/iron/services/unifi-controller/default.nix new file mode 100644 index 0000000..c9e7a2c --- /dev/null +++ b/hosts/iron/services/unifi-controller/default.nix @@ -0,0 +1,35 @@ +{ config, ... }: + +let + inherit (config.networking) ports; + interfaces = import ../../interfaces.nix; + #domain = "unifi.weinturm.de"; +in +{ + imports = [ + ./unpoller.nix + ]; + + services.unifi.enable = true; + + networking.firewall.interfaces."${interfaces.lan}".allowedTCPPorts = [ + ports.unifi-http.tcp + ports.unifi-https.tcp + ]; + + /* + services.nginx.virtualHosts = { + "${domain}" = { + enableACME = true; + forceSSL = true; + locations."/" = { + proxyPass = "https://127.0.0.1:8443"; + recommendedProxySettings = true; + extraConfig = '' + proxy_ssl_verify off; + ''; + }; + }; + }; + */ +} diff --git a/hosts/iron/services/unifi-controller/unpoller.nix b/hosts/iron/services/unifi-controller/unpoller.nix new file mode 100644 index 0000000..9305ca5 --- /dev/null +++ b/hosts/iron/services/unifi-controller/unpoller.nix @@ -0,0 +1,22 @@ +{ config, ... }: + +{ + sops.secrets."prometheus/exporters/unpoller" = { + owner = config.services.prometheus.exporters.unpoller.user; + sopsFile = ../../secrets.yaml; + }; + + services.prometheus.exporters.unpoller = { + enable = true; + controllers = [ + { + user = "unpoller"; + url = "https://127.0.0.1:8443"; + pass = config.sops.secrets."prometheus/exporters/unpoller".path; + verify_ssl = false; + hash_pii = true; + } + ]; + log.prometheusErrors = true; + }; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index de3d6d4..898812b 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -34,4 +34,7 @@ in vim-fluid = callPackage ./vim-fluid { inherit (prev.vimUtils) buildVimPlugin; }; vim-typoscript = callPackage ./vim-typoscript { inherit (prev.vimUtils) buildVimPlugin; }; }; + vodafone-station-exporter = callPackage ./vodafone-station-exporter { + inherit (inputs.gomod2nix.legacyPackages.${system}) buildGoApplication; + }; } diff --git a/pkgs/vodafone-station-exporter/default.nix b/pkgs/vodafone-station-exporter/default.nix new file mode 100644 index 0000000..9a80e97 --- /dev/null +++ b/pkgs/vodafone-station-exporter/default.nix @@ -0,0 +1,12 @@ +{ buildGoApplication, fetchgit }: + +buildGoApplication { + pname = "vodafone-station-exporter"; + version = "0.0.1"; + src = fetchgit { + url = "https://git.jalr.de/jalr/vodafone-station-exporter"; + rev = "808564b940c3570e3b32ce60657bf83fda75ec3c"; + hash = "sha256-A3Behy8Q7bhYXoGUsZXzIAQd/dTXH4d4wd+FDYuD7tE="; + }; + modules = ./gomod2nix.toml; +} diff --git a/pkgs/vodafone-station-exporter/gomod2nix.toml b/pkgs/vodafone-station-exporter/gomod2nix.toml new file mode 100644 index 0000000..293cd7e --- /dev/null +++ b/pkgs/vodafone-station-exporter/gomod2nix.toml @@ -0,0 +1,42 @@ +schema = 3 + +[mod] + [mod."github.com/beorn7/perks"] + version = "v1.0.1" + hash = "sha256-h75GUqfwJKngCJQVE5Ao5wnO3cfKD9lSIteoLp/3xJ4=" + [mod."github.com/cespare/xxhash/v2"] + version = "v2.3.0" + hash = "sha256-7hRlwSR+fos1kx4VZmJ/7snR7zHh8ZFKX+qqqqGcQpY=" + [mod."github.com/kr/text"] + version = "v0.2.0" + hash = "sha256-fadcWxZOORv44oak3jTxm6YcITcFxdGt4bpn869HxUE=" + [mod."github.com/munnerz/goautoneg"] + version = "v0.0.0-20191010083416-a7dc8b61c822" + hash = "sha256-79URDDFenmGc9JZu+5AXHToMrtTREHb3BC84b/gym9Q=" + [mod."github.com/prometheus/client_golang"] + version = "v1.23.2" + hash = "sha256-3GD4fBFa1tJu8MS4TNP6r2re2eViUE+kWUaieIOQXCg=" + [mod."github.com/prometheus/client_model"] + version = "v0.6.2" + hash = "sha256-q6Fh6v8iNJN9ypD47LjWmx66YITa3FyRjZMRsuRTFeQ=" + [mod."github.com/prometheus/common"] + version = "v0.66.1" + hash = "sha256-bqHPaV9IV70itx63wqwgy2PtxMN0sn5ThVxDmiD7+Tk=" + [mod."github.com/prometheus/procfs"] + version = "v0.16.1" + hash = "sha256-OBCvKlLW2obct35p0L9Q+1ZrxZjpTmbgHMP2rng9hpo=" + [mod."go.yaml.in/yaml/v2"] + version = "v2.4.2" + hash = "sha256-oC8RWdf1zbMYCtmR0ATy/kCkhIwPR9UqFZSMOKLVF/A=" + [mod."golang.org/x/crypto"] + version = "v0.42.0" + hash = "sha256-qa6cGxZUhVnbkpVzfvLGQQsl/NCqNceJp9SIx5vkyiI=" + [mod."golang.org/x/exp"] + version = "v0.0.0-20250911091902-df9299821621" + hash = "sha256-cSDirFex900mrckzB3fe18hW2Vk4/y4xKvlUWq3yoDA=" + [mod."golang.org/x/sys"] + version = "v0.36.0" + hash = "sha256-9h4SHGnlJzmTENUp6226hC8fQ73QrQC3D85NNMxLuXg=" + [mod."google.golang.org/protobuf"] + version = "v1.36.8" + hash = "sha256-yZN8ZON0b5HjUNUSubHst7zbvnMsOzd81tDPYQRtPgM=" From dfb70c1287fe13afc24fa8ed3686c61511422ad9 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 15 Sep 2025 22:34:23 +0200 Subject: [PATCH 731/766] Allow ports needed for pixiecore --- hosts/copper/configuration.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hosts/copper/configuration.nix b/hosts/copper/configuration.nix index d36934a..841d390 100644 --- a/hosts/copper/configuration.nix +++ b/hosts/copper/configuration.nix @@ -20,8 +20,8 @@ #"192.0.2.1" = ["example.com"]; } ); - firewall.interfaces.virbr0.allowedTCPPorts = [ 53 ]; - firewall.interfaces.virbr0.allowedUDPPorts = [ 53 67 ]; + firewall.interfaces.virbr0.allowedTCPPorts = [ 53 64172 ]; + firewall.interfaces.virbr0.allowedUDPPorts = [ 53 67 69 4011 ]; }; zramSwap = { From 6da5cb8a2615236341cbc2109312a911de66829f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 16 Sep 2025 09:55:18 +0200 Subject: [PATCH 732/766] Refactor rules --- hosts/iron/services/public-ip-tunnel.nix | 47 +++++++++++++----------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/hosts/iron/services/public-ip-tunnel.nix b/hosts/iron/services/public-ip-tunnel.nix index 4f17dde..d6b4fcc 100644 --- a/hosts/iron/services/public-ip-tunnel.nix +++ b/hosts/iron/services/public-ip-tunnel.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, lib, ... }: let inherit (config.networking) ports; @@ -21,27 +21,30 @@ in ''; }; firewall.allowedUDPPorts = [ listenPort ]; - wireguard.interfaces.hetzner-ha = { - ips = [ "${externalIp}/32" ]; - privateKeyFile = config.sops.secrets.wireguard_key_hetzner-ha.path; - inherit listenPort; - table = rtTable.name; - postSetup = '' - ${pkgs.iproute2}/bin/ip rule add from ${externalIp} to 192.168.0.0/16 table main priority 10 - ${pkgs.iproute2}/bin/ip rule add from ${externalIp} table ${rtTable.name} priority 20 - ''; - postShutdown = '' - ${pkgs.iproute2}/bin/ip rule del from ${externalIp} to 192.168.0.0/16 table main priority 10 - ${pkgs.iproute2}/bin/ip rule del from ${externalIp} table ${rtTable.name} priority 20 - ''; - peers = [{ - inherit publicKey; - endpoint = "${remoteHost}:${toString remotePort}"; - persistentKeepalive = 25; - allowedIPs = [ - "0.0.0.0/0" + wireguard.interfaces.hetzner-ha = + let + addRule = rule: "ip rule add " + rule; + deleteRule = rule: "ip rule delete " + rule; + rules = [ + "from ${externalIp} to 192.168.0.0/16 table main priority 10" + "from ${externalIp} table ${rtTable.name} priority 20" ]; - }]; - }; + in + { + ips = [ "${externalIp}/32" ]; + privateKeyFile = config.sops.secrets.wireguard_key_hetzner-ha.path; + inherit listenPort; + table = rtTable.name; + postSetup = lib.concatLines (map addRule rules); + postShutdown = lib.concatLines (map deleteRule rules); + peers = [{ + inherit publicKey; + endpoint = "${remoteHost}:${toString remotePort}"; + persistentKeepalive = 25; + allowedIPs = [ + "0.0.0.0/0" + ]; + }]; + }; }; } From 3deb1898cf528d7fe975aa65d1bc8295f606753a Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 16 Sep 2025 11:16:10 +0200 Subject: [PATCH 733/766] Replace ddclient with godns --- hosts/aluminium/services/dyndns.nix | 57 ++++++++++++++++-------- hosts/iron/services/dyndns.nix | 69 +++++++++++++++++++++-------- 2 files changed, 89 insertions(+), 37 deletions(-) diff --git a/hosts/aluminium/services/dyndns.nix b/hosts/aluminium/services/dyndns.nix index ae3362a..546cb07 100644 --- a/hosts/aluminium/services/dyndns.nix +++ b/hosts/aluminium/services/dyndns.nix @@ -1,21 +1,42 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: +let + mkService = config: + lib.mapAttrs' + (name: cfg: lib.nameValuePair "godns-${name}" ( + let + config = cfg.settings // { + login_token_file = "$CREDENTIALS_DIRECTORY/login_token"; + }; + configFile = (pkgs.formats.yaml { }).generate "config.yaml" config; + in + { + description = "GoDNS service"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + DynamicUser = true; + ExecStart = "${lib.getExe pkgs.godns} -c ${configFile}"; + LoadCredential = "login_token:${cfg.tokenPath}"; + Restart = "always"; + RestartSec = "2s"; + }; + } + )) + config; +in { - services.ddclient = { - enable = true; - interval = "1min"; - protocol = "duckdns"; - server = "www.duckdns.org"; - username = "nouser"; - passwordFile = config.sops.secrets.duckdns-secret.path; - domains = [ "jalr-k" ]; - usev4 = "ifv4, ifv4=ppp0"; - package = pkgs.ddclient.overrideAttrs (p: rec { - nativeBuildInputs = p.nativeBuildInputs ++ [ pkgs.makeWrapper ]; - wrapperPath = pkgs.lib.makeBinPath [ pkgs.iproute2 ]; - postFixup = '' - wrapProgram $out/bin/ddclient \ - --prefix PATH : "${wrapperPath}" - ''; - }); + systemd.services = mkService { + ip4 = { + tokenPath = config.sops.secrets.duckdns-secret.path; + settings = { + provider = "DuckDNS"; + domains = [{ domain_name = "www.duckdns.org"; sub_domains = [ "jalr-k" ]; }]; + resolver = "8.8.8.8"; + ip_interface = "ppp0"; + ip_urls = [ "" ]; + ip_type = "IPv4"; + interval = 60; + }; + }; }; } diff --git a/hosts/iron/services/dyndns.nix b/hosts/iron/services/dyndns.nix index e68e465..e53e235 100644 --- a/hosts/iron/services/dyndns.nix +++ b/hosts/iron/services/dyndns.nix @@ -1,25 +1,56 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: let interfaces = import ../interfaces.nix; + + mkService = config: + lib.mapAttrs' + (name: cfg: lib.nameValuePair "godns-${name}" ( + let + config = cfg.settings // { + login_token_file = "$CREDENTIALS_DIRECTORY/login_token"; + }; + configFile = (pkgs.formats.yaml { }).generate "config.yaml" config; + in + { + description = "GoDNS service"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + DynamicUser = true; + ExecStart = "${lib.getExe pkgs.godns} -c ${configFile}"; + LoadCredential = "login_token:${cfg.tokenPath}"; + Restart = "always"; + RestartSec = "2s"; + }; + } + )) + config; in { - services.ddclient = { - enable = true; - interval = "1min"; - protocol = "duckdns"; - server = "www.duckdns.org"; - username = "nouser"; - passwordFile = config.sops.secrets.duckdns-secret.path; - domains = [ "jalr-bw" ]; - usev4 = "ifv4, ifv4=${interfaces.wan}"; - usev6 = "ifv6, ifv6=${interfaces.wan}"; - package = pkgs.ddclient.overrideAttrs (p: rec { - nativeBuildInputs = p.nativeBuildInputs ++ [ pkgs.makeWrapper ]; - wrapperPath = pkgs.lib.makeBinPath [ pkgs.iproute2 ]; - postFixup = '' - wrapProgram $out/bin/ddclient \ - --prefix PATH : "${wrapperPath}" - ''; - }); + systemd.services = mkService { + ip4 = { + tokenPath = config.sops.secrets.duckdns-secret.path; + settings = { + provider = "DuckDNS"; + domains = [{ domain_name = "www.duckdns.org"; sub_domains = [ "jalr-bw" ]; }]; + resolver = "8.8.8.8"; + ip_interface = interfaces.wan; + ip_urls = [ "" ]; + ip_type = "IPv4"; + interval = 60; + }; + }; + ip6 = { + tokenPath = config.sops.secrets.duckdns-secret.path; + settings = { + provider = "DuckDNS"; + domains = [{ domain_name = "www.duckdns.org"; sub_domains = [ "jalr-bw" ]; }]; + resolver = "2001:4860:4860::8888"; + ip_interface = interfaces.lan; + ip_urls = [ "" ]; + ip_type = "IPv6"; + interval = 60; + }; + }; }; } From ee83d51dd23946572c06017d7ac02f541fe5c274 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 17 Sep 2025 00:19:30 +0200 Subject: [PATCH 734/766] Use vesc only on copper --- users/jalr/modules/vesc-tool.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/users/jalr/modules/vesc-tool.nix b/users/jalr/modules/vesc-tool.nix index 16daa17..3b5d90b 100644 --- a/users/jalr/modules/vesc-tool.nix +++ b/users/jalr/modules/vesc-tool.nix @@ -1,6 +1,6 @@ { nixosConfig, lib, pkgs, ... }: -lib.mkIf nixosConfig.jalr.gui.enable { +lib.mkIf (nixosConfig.jalr.gui.enable && nixosConfig.networking.hostName == "copper") { home.packages = with pkgs; [ vesc-tool ]; xdg.dataFile."VESC/firmware".source = pkgs.bldc-fw.override { fwBoards = [ From e7860f8f9203ffdbc7fe4e8ff28327ccce2e8021 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 17 Sep 2025 21:42:24 +0200 Subject: [PATCH 735/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/b084b2c2b6bc23e83bbfe583b03664eb0b18c411?narHash=sha256-tJ7A8mID3ct69n9WCvZ3PzIIl3rXTdptn/lZmqSS95U%3D' (2025-09-11) → 'github:cachix/git-hooks.nix/54df955a695a84cd47d4a43e08e1feaf90b1fd9b?narHash=sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo%3D' (2025-09-17) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/4c38a024fa32e61db2be8573e5282b15d9733a79?narHash=sha256-NfiTk59huy/YK9H4W4wVwRYyiP2u86QqROM5KK4f5F4%3D' (2025-09-14) → 'github:nixos/nixos-hardware/67a709cfe5d0643dafd798b0b613ed579de8be05?narHash=sha256-w6cDExPBqbq7fTLo4dZ1ozDGeq3yV6dSN4n/sAaS6OM%3D' (2025-09-15) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/9a094440e02a699be5c57453a092a8baf569bdad?narHash=sha256-Vp9K5ol6h0J90jG7Rm4RWZsCB3x7v5VPx588TQ1dkfs%3D' (2025-09-14) → 'github:nixos/nixpkgs/e9b7f2ff62b35f711568b1f0866243c7c302028d?narHash=sha256-uLwwHFCZnT1c3N3biVe/0hCkag2GSrf9%2BM56%2BOkf%2BWY%3D' (2025-09-17) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/434ed09bd161bb1058612038479dc34863c3f106?narHash=sha256-D44RIPMw71krFXsk9af22YbwBhHpLWCDbncFokHWs5c%3D' (2025-09-15) → 'github:NixOS/nixpkgs/24d7757b06ccd2ab95ad9661e8461f1a84c29f88?narHash=sha256-%2BZA/6rNgzgn8U05eexkdme2eTDbW5MpRTrqpg2Sc2cE%3D' (2025-09-17) • Updated input 'nur': 'github:nix-community/NUR/0f5e4ecbdfd50a2deb75f344a03e5cfa22b97bcb?narHash=sha256-hYGtHXTQ6eQPZWXKGxZWNrraP0j2p69B9EFIKNRC65E%3D' (2025-09-15) → 'github:nix-community/NUR/32b846c44f3af23fe35a5169e072764ee9116eb8?narHash=sha256-8OL31Mu6nHWJbzNar/1SQcUcil7lU0o7r3dGycydKr8%3D' (2025-09-17) • Updated input 'sops-nix': 'github:Mic92/sops-nix/ee6f91c1c11acf7957d94a130de77561ec24b8ab?narHash=sha256-TumOaykhZO8SOs/faz6GQhqkOcFLoQvESLSF1cJ4mZc%3D' (2025-09-14) → 'github:Mic92/sops-nix/f77d4cfa075c3de66fc9976b80e0c4fc69e2c139?narHash=sha256-HYnwlbY6RE5xVd5rh0bYw77pnD8lOgbT4mlrfjgNZ0c%3D' (2025-09-16) --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 25ecc01..e3df689 100644 --- a/flake.lock +++ b/flake.lock @@ -386,11 +386,11 @@ ] }, "locked": { - "lastModified": 1757588530, - "narHash": "sha256-tJ7A8mID3ct69n9WCvZ3PzIIl3rXTdptn/lZmqSS95U=", + "lastModified": 1758108966, + "narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "b084b2c2b6bc23e83bbfe583b03664eb0b18c411", + "rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b", "type": "github" }, "original": { @@ -402,11 +402,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1757891025, - "narHash": "sha256-NfiTk59huy/YK9H4W4wVwRYyiP2u86QqROM5KK4f5F4=", + "lastModified": 1757943327, + "narHash": "sha256-w6cDExPBqbq7fTLo4dZ1ozDGeq3yV6dSN4n/sAaS6OM=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "4c38a024fa32e61db2be8573e5282b15d9733a79", + "rev": "67a709cfe5d0643dafd798b0b613ed579de8be05", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1757810152, - "narHash": "sha256-Vp9K5ol6h0J90jG7Rm4RWZsCB3x7v5VPx588TQ1dkfs=", + "lastModified": 1758070117, + "narHash": "sha256-uLwwHFCZnT1c3N3biVe/0hCkag2GSrf9+M56+Okf+WY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9a094440e02a699be5c57453a092a8baf569bdad", + "rev": "e9b7f2ff62b35f711568b1f0866243c7c302028d", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1757932657, - "narHash": "sha256-D44RIPMw71krFXsk9af22YbwBhHpLWCDbncFokHWs5c=", + "lastModified": 1758137774, + "narHash": "sha256-+ZA/6rNgzgn8U05eexkdme2eTDbW5MpRTrqpg2Sc2cE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "434ed09bd161bb1058612038479dc34863c3f106", + "rev": "24d7757b06ccd2ab95ad9661e8461f1a84c29f88", "type": "github" }, "original": { @@ -518,11 +518,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1757931984, - "narHash": "sha256-hYGtHXTQ6eQPZWXKGxZWNrraP0j2p69B9EFIKNRC65E=", + "lastModified": 1758137232, + "narHash": "sha256-8OL31Mu6nHWJbzNar/1SQcUcil7lU0o7r3dGycydKr8=", "owner": "nix-community", "repo": "NUR", - "rev": "0f5e4ecbdfd50a2deb75f344a03e5cfa22b97bcb", + "rev": "32b846c44f3af23fe35a5169e072764ee9116eb8", "type": "github" }, "original": { @@ -634,11 +634,11 @@ ] }, "locked": { - "lastModified": 1757847158, - "narHash": "sha256-TumOaykhZO8SOs/faz6GQhqkOcFLoQvESLSF1cJ4mZc=", + "lastModified": 1758007585, + "narHash": "sha256-HYnwlbY6RE5xVd5rh0bYw77pnD8lOgbT4mlrfjgNZ0c=", "owner": "Mic92", "repo": "sops-nix", - "rev": "ee6f91c1c11acf7957d94a130de77561ec24b8ab", + "rev": "f77d4cfa075c3de66fc9976b80e0c4fc69e2c139", "type": "github" }, "original": { From 3e59ed36dcaeced370dcac4cff816b3763c1ff4f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 22 Sep 2025 11:05:47 +0200 Subject: [PATCH 736/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/146f45bee02b8bd88812cfce6ffc0f933788875a?narHash=sha256-7lVWL5bC6xBIMWWDal41LlGAG%2B9u2zUorqo3QCUL4p4%3D' (2025-09-10) → 'github:nix-community/disko/67ff9807dd148e704baadbd4fd783b54282ca627?narHash=sha256-IGmaEf3Do8o5Cwp1kXBN1wQmZwQN3NLfq5t4nHtVtcU%3D' (2025-09-19) • Updated input 'home-manager': 'github:nix-community/home-manager/f21d9167782c086a33ad53e2311854a8f13c281e?narHash=sha256-K6PEI5PYY94TVMH0mX3MbZNYFme7oNRKml/85BpRRAo%3D' (2025-09-14) → 'github:nix-community/home-manager/3b955f5f0a942f9f60cdc9cacb7844335d0f21c3?narHash=sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA%3D' (2025-09-21) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/e9b7f2ff62b35f711568b1f0866243c7c302028d?narHash=sha256-uLwwHFCZnT1c3N3biVe/0hCkag2GSrf9%2BM56%2BOkf%2BWY%3D' (2025-09-17) → 'github:nixos/nixpkgs/b2a3852bd078e68dd2b3dfa8c00c67af1f0a7d20?narHash=sha256-afXE7AJ7MY6wY1pg/Y6UPHNYPy5GtUKeBkrZZ/gC71E%3D' (2025-09-20) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/24d7757b06ccd2ab95ad9661e8461f1a84c29f88?narHash=sha256-%2BZA/6rNgzgn8U05eexkdme2eTDbW5MpRTrqpg2Sc2cE%3D' (2025-09-17) → 'github:NixOS/nixpkgs/5ae8f56b82f8abd42c13b5f11de89f5346afec5e?narHash=sha256-OL0/5FQQc06oiF/l90H0/lVz7wvC7QR3Yptpizckr3Y%3D' (2025-09-22) • Updated input 'nur': 'github:nix-community/NUR/32b846c44f3af23fe35a5169e072764ee9116eb8?narHash=sha256-8OL31Mu6nHWJbzNar/1SQcUcil7lU0o7r3dGycydKr8%3D' (2025-09-17) → 'github:nix-community/NUR/79e546908e49b0a824a7ac4827f8563452b002e7?narHash=sha256-L6Bl4No41Ohag4/Ty0IMDE5EP56TPOfU2YaDLt59iFY%3D' (2025-09-22) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/c23193b943c6c689d70ee98ce3128239ed9e32d1?narHash=sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820%3D' (2025-09-13) → 'github:nixos/nixpkgs/8eaee110344796db060382e15d3af0a9fc396e0e?narHash=sha256-iCGWf/LTy%2BaY0zFu8q12lK8KuZp7yvdhStehhyX1v8w%3D' (2025-09-19) • Updated input 'sops-nix': 'github:Mic92/sops-nix/f77d4cfa075c3de66fc9976b80e0c4fc69e2c139?narHash=sha256-HYnwlbY6RE5xVd5rh0bYw77pnD8lOgbT4mlrfjgNZ0c%3D' (2025-09-16) → 'github:Mic92/sops-nix/e0fdaea3c31646e252a60b42d0ed8eafdb289762?narHash=sha256-L3N8zV6wsViXiD8i3WFyrvjDdz76g3tXKEdZ4FkgQ%2BY%3D' (2025-09-21) • Updated input 'vesc-tool': 'github:vedderb/vesc_tool/467e44ede9bd89fd87a075b00156455eba96fb19?narHash=sha256-xXBzVuKmkre9bHB/0f3c9ZvX41P1qWqap0Q%2BWHh1cqQ%3D' (2025-09-14) → 'github:vedderb/vesc_tool/9dab0663d4d47067c30ec4ca6aee074e6e69060b?narHash=sha256-VtvAfGNKgBuxnxdatFt6LMXu682NensmioggVl%2BJmRY%3D' (2025-09-19) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index e3df689..0eb145c 100644 --- a/flake.lock +++ b/flake.lock @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1757508292, - "narHash": "sha256-7lVWL5bC6xBIMWWDal41LlGAG+9u2zUorqo3QCUL4p4=", + "lastModified": 1758287904, + "narHash": "sha256-IGmaEf3Do8o5Cwp1kXBN1wQmZwQN3NLfq5t4nHtVtcU=", "owner": "nix-community", "repo": "disko", - "rev": "146f45bee02b8bd88812cfce6ffc0f933788875a", + "rev": "67ff9807dd148e704baadbd4fd783b54282ca627", "type": "github" }, "original": { @@ -263,11 +263,11 @@ ] }, "locked": { - "lastModified": 1757808926, - "narHash": "sha256-K6PEI5PYY94TVMH0mX3MbZNYFme7oNRKml/85BpRRAo=", + "lastModified": 1758463745, + "narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=", "owner": "nix-community", "repo": "home-manager", - "rev": "f21d9167782c086a33ad53e2311854a8f13c281e", + "rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1758070117, - "narHash": "sha256-uLwwHFCZnT1c3N3biVe/0hCkag2GSrf9+M56+Okf+WY=", + "lastModified": 1758346548, + "narHash": "sha256-afXE7AJ7MY6wY1pg/Y6UPHNYPy5GtUKeBkrZZ/gC71E=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e9b7f2ff62b35f711568b1f0866243c7c302028d", + "rev": "b2a3852bd078e68dd2b3dfa8c00c67af1f0a7d20", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1758137774, - "narHash": "sha256-+ZA/6rNgzgn8U05eexkdme2eTDbW5MpRTrqpg2Sc2cE=", + "lastModified": 1758531531, + "narHash": "sha256-OL0/5FQQc06oiF/l90H0/lVz7wvC7QR3Yptpizckr3Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "24d7757b06ccd2ab95ad9661e8461f1a84c29f88", + "rev": "5ae8f56b82f8abd42c13b5f11de89f5346afec5e", "type": "github" }, "original": { @@ -482,11 +482,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1757745802, - "narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=", + "lastModified": 1758277210, + "narHash": "sha256-iCGWf/LTy+aY0zFu8q12lK8KuZp7yvdhStehhyX1v8w=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1", + "rev": "8eaee110344796db060382e15d3af0a9fc396e0e", "type": "github" }, "original": { @@ -518,11 +518,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1758137232, - "narHash": "sha256-8OL31Mu6nHWJbzNar/1SQcUcil7lU0o7r3dGycydKr8=", + "lastModified": 1758531197, + "narHash": "sha256-L6Bl4No41Ohag4/Ty0IMDE5EP56TPOfU2YaDLt59iFY=", "owner": "nix-community", "repo": "NUR", - "rev": "32b846c44f3af23fe35a5169e072764ee9116eb8", + "rev": "79e546908e49b0a824a7ac4827f8563452b002e7", "type": "github" }, "original": { @@ -634,11 +634,11 @@ ] }, "locked": { - "lastModified": 1758007585, - "narHash": "sha256-HYnwlbY6RE5xVd5rh0bYw77pnD8lOgbT4mlrfjgNZ0c=", + "lastModified": 1758425756, + "narHash": "sha256-L3N8zV6wsViXiD8i3WFyrvjDdz76g3tXKEdZ4FkgQ+Y=", "owner": "Mic92", "repo": "sops-nix", - "rev": "f77d4cfa075c3de66fc9976b80e0c4fc69e2c139", + "rev": "e0fdaea3c31646e252a60b42d0ed8eafdb289762", "type": "github" }, "original": { @@ -729,11 +729,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1757831065, - "narHash": "sha256-xXBzVuKmkre9bHB/0f3c9ZvX41P1qWqap0Q+WHh1cqQ=", + "lastModified": 1758279410, + "narHash": "sha256-VtvAfGNKgBuxnxdatFt6LMXu682NensmioggVl+JmRY=", "owner": "vedderb", "repo": "vesc_tool", - "rev": "467e44ede9bd89fd87a075b00156455eba96fb19", + "rev": "9dab0663d4d47067c30ec4ca6aee074e6e69060b", "type": "github" }, "original": { From 30cb9dd369fd8504edebcf9d4a3f21ed92ae225a Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 22 Sep 2025 22:51:19 +0200 Subject: [PATCH 737/766] Add TvProxy --- .gitattributes | 2 ++ hosts/iron/ports.nix | 5 +++-- hosts/iron/secrets.yaml | 5 +++-- hosts/iron/services/default.nix | 1 + hosts/iron/services/tvproxy.nix | Bin 0 -> 793 bytes 5 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 hosts/iron/services/tvproxy.nix diff --git a/.gitattributes b/.gitattributes index bd72c2c..eea1737 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,5 @@ **/secrets/** filter=git-crypt diff=git-crypt **/secrets.yaml diff=sops *.wav filter=lfs diff=lfs merge=lfs -text + +hosts/iron/services/tvproxy.nix filter=git-crypt diff=git-crypt diff --git a/hosts/iron/ports.nix b/hosts/iron/ports.nix index 317909d..2b2b495 100644 --- a/hosts/iron/ports.nix +++ b/hosts/iron/ports.nix @@ -17,6 +17,7 @@ photoprism.tcp = 2342; postfix-relay.tcp = 25; postfix-submission.tcp = 465; + prometheus-vodafone-station-exporter.tcp = 9420; qbittorrent-torrent.tcp = 59832; qbittorrent-webui.tcp = 8099; radicale.tcp = 5232; @@ -24,10 +25,10 @@ snapserver.tcp = 1704; snapserverHttp.tcp = 1780; snapserverTcp.tcp = 1705; + tvproxy.tcp = 64321; unifi-http.tcp = 8080; unifi-https.tcp = 8443; - wireguard-public-ip-tunnel.udp = 51000; wireguard-esphome.udp = 51001; - prometheus-vodafone-station-exporter.tcp = 9420; + wireguard-public-ip-tunnel.udp = 51000; }; } diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index a866030..583c361 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -22,6 +22,7 @@ prometheus: exporters: vodafone-station: ENC[AES256_GCM,data:eaFqYEuK3UU=,iv:BauymCkvj33TmZLyii367uVEc4Iq4GGcik4nbyT9Fpk=,tag:poB+qh5tAdv/dEt3WN6yVw==,type:str] unpoller: ENC[AES256_GCM,data:WI1oUKHW4ef4pBk+mGM=,iv:C1LykPf1/ypUmy3ZCQzjfSjkpxhUukDNnfJnZLp2CJg=,tag:mSnZJKl9IHcx7I7GpFherw==,type:str] +tvproxy: ENC[AES256_GCM,data:MbXEmgerpUiwDgcUKF2y1+Cc+d43sKPfGGTEkvNoZFFS4rzDWw4Udg==,iv:ZDsfSb3HK008e7/J/61iqVRafIzKbtPEdhH7ixo9lSY=,tag:3JbJ+2DJKQ9G2ui6VuWbOw==,type:str] sops: age: - recipient: age1hx7fdu4mcha7kkxe7yevtvs6xgzgaafgenm3drhvr609wlj94sgqm497je @@ -33,8 +34,8 @@ sops: SU1USkxFUUY2NVhmUHBhZkdrNDR1Q0kKiXIicInELRjDR3tuyA+lnXeCcd9lYvbV GnBRGPM7BNO/6AA7HhAei48Kt+XE6+jQX66yTXyviKhK7Lpjrlb2YQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-09-15T15:29:31Z" - mac: ENC[AES256_GCM,data:7clDIKf/lRxXaYpiJS8+j8MzUvPTZmf20M4xM2sto+DSh2h/rJTvQanbg4/2yNVmLCX6FZ6USJb7bqg7aBw7Yv7RMoEio/HO6BtKNcHiLLiCW0dXkIROO4s5rc1S/nwtSFpifhgN2KrjXyBq+PVFk61on7K861zimsHev/KmDKk=,iv:9S1KONQWBMJBQElvAQ+NAOn15BrN0IkIyjedwSUm7oY=,tag:Kc8N8F5rz0EVIHseT1x0Kw==,type:str] + lastmodified: "2025-09-22T14:14:39Z" + mac: ENC[AES256_GCM,data:e0GijBvhWBIRXjm1lghrF4uHrE3+45ZfgQ/l2xrUv2lx6OC4xp+vjdlzJEDEAmWyRhIDvUYZ2lXrFKu/uwH4X/6vphNvSCJdr0F5/7Rrh84CCF++xrMG/hDztAoMKlhmkYpjmhvMt6sjVRxXo/ij2q3NlC7HN+ZEVkqMwVuFTyk=,iv:4Aske7FpYG5XJweeggTJvjy9SdfPYJ0h/a+rOxHL4jY=,tag:rBC4A0ZWn4JBw+3R7VB8wQ==,type:str] pgp: - created_at: "2024-01-31T01:20:30Z" enc: |- diff --git a/hosts/iron/services/default.nix b/hosts/iron/services/default.nix index 4a10130..331bfd0 100644 --- a/hosts/iron/services/default.nix +++ b/hosts/iron/services/default.nix @@ -20,6 +20,7 @@ ./snapcast ./sturzbach.nix ./tts.nix + ./tvproxy.nix ./unifi-controller ./whatsapp.nix ./wireguard-esphome.nix diff --git a/hosts/iron/services/tvproxy.nix b/hosts/iron/services/tvproxy.nix new file mode 100644 index 0000000000000000000000000000000000000000..ac8a293003b6ad374938c4213a6c3a7486a1bd88 GIT binary patch literal 793 zcmZQ@_Y83kiVO&0aIg6pXUOpDLeRIskRmFore**r@Vl3mv? zzC)H_p3FD-`^(OE23};GUcE2CyF^dp-qs5dSDLm=4lfYfvom+YA9jAF3APT-f0hNL z3UlubdMaveF5Yr-t5EC5rWFP50k8gj*0F0}ARQO-g=zo89TR49eLH{R>hr?N<4R{@ zcl3U9UjN87CM<=)N$}f`IS-q>-##;%KWS2GtdUy#qKvEajd;xF*Ibs))JZrKRTKU+ zdi7ubaQ_COhdhd2g&{&r%WK?=YIn3OFU&e{x_e6_`@cz>>^?H|iynA$MmOQB{W-=z zr{5kCe|)upXE&!|;(u!fgI@|}St&L>Tc__xO$f`~P@c2oT)x8kiLyL?nnH>nRo7?n zo^)CL&C~Oh*%!yshi0d_47E7t7@fTv%2Oyd#pi?a+Ew0%(yR9`-#YbxnbjQcFn)Ha zsaG~fXILb?ozL~|c1C8LU!q&6S!31|b-jDvYnh(pH-)pmK7W^G=Lenxe;pruv;O{I zmT&x%GA_f_$A1OS+ZLwq%HDbPy_GYh)4lbT)tv6k6FBp1iYsqXexmo>+*Om><}LlH zb1c?6ulC;Cu#g9zHdNeB);jHS{$}Yk56OV#62~r_zI@$gtE$u6v&$!yM2LUp4a{e~ z?sz4uutq2{@J+{we3iU;3$2bMwjbKHMCa6oIA6QN#*f$jJ3oKbhpk5v__pd@$Z|#c}DxI^wgsQfw)oU*7!XI1<#x=dezjktLgns7xxXcIJ=i17wai(x=gya} Lo{mc&^XBUSKF5g* literal 0 HcmV?d00001 From 55da954dbd563f8de50e894283c217c216e10a44 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 23 Sep 2025 21:38:53 +0200 Subject: [PATCH 738/766] Add Rules for Raspberry Pi Pico and WCH Link --- modules/udev.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/udev.nix b/modules/udev.nix index dc3a7e3..908a711 100644 --- a/modules/udev.nix +++ b/modules/udev.nix @@ -12,6 +12,15 @@ let # Brother P-touch P700 { vendor = "04f9"; product = "2061"; group = "users"; mode = "0660"; } + + # RP2040 in BOOTSEL mode + { vendor = "2e8a"; product = "0003"; group = "users"; mode = "0660"; } + + # RP2350 in BOOTSEL mode + { vendor = "2e8a"; product = "000f"; group = "users"; mode = "0660"; } + + # WCH Link (CMSIS-DAP compatible adapter) + { vendor = "1a86"; product = "8010"; group = "plugdev"; mode = "0660"; } ]; mkUsbRule = rule: From 0128856c8eaed45d19ccedce2f998325ececd0b0 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 29 Sep 2025 13:48:31 +0200 Subject: [PATCH 739/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/67a709cfe5d0643dafd798b0b613ed579de8be05?narHash=sha256-w6cDExPBqbq7fTLo4dZ1ozDGeq3yV6dSN4n/sAaS6OM%3D' (2025-09-15) → 'github:nixos/nixos-hardware/170ff93c860b2a9868ed1e1102d4e52cb3d934e1?narHash=sha256-6CFdj7Xs616t1W4jLDH7IohAAvl5Dyib3qEv/Uqw1rk%3D' (2025-09-23) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/b2a3852bd078e68dd2b3dfa8c00c67af1f0a7d20?narHash=sha256-afXE7AJ7MY6wY1pg/Y6UPHNYPy5GtUKeBkrZZ/gC71E%3D' (2025-09-20) → 'github:nixos/nixpkgs/25e53aa156d47bad5082ff7618f5feb1f5e02d01?narHash=sha256-F8WmEwFoHsnix7rt290R0rFXNJiMbClMZyIC/e%2BHYf0%3D' (2025-09-25) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/5ae8f56b82f8abd42c13b5f11de89f5346afec5e?narHash=sha256-OL0/5FQQc06oiF/l90H0/lVz7wvC7QR3Yptpizckr3Y%3D' (2025-09-22) → 'github:NixOS/nixpkgs/1913e602e8813cf11a97496a5f27a1ec5a155e31?narHash=sha256-nlrZS5AfCXsYCh16zU46yZmDBzqutMhIJB9eV4djn%2B0%3D' (2025-09-29) • Updated input 'nur': 'github:nix-community/NUR/79e546908e49b0a824a7ac4827f8563452b002e7?narHash=sha256-L6Bl4No41Ohag4/Ty0IMDE5EP56TPOfU2YaDLt59iFY%3D' (2025-09-22) → 'github:nix-community/NUR/660590c6a1e82e6940eadb77b37f70dd878e8633?narHash=sha256-DjFjObnO5IQWx11lzQvcQW7CsK7ltLNnvMcodoCA7r4%3D' (2025-09-29) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/8eaee110344796db060382e15d3af0a9fc396e0e?narHash=sha256-iCGWf/LTy%2BaY0zFu8q12lK8KuZp7yvdhStehhyX1v8w%3D' (2025-09-19) → 'github:nixos/nixpkgs/e9f00bd893984bc8ce46c895c3bf7cac95331127?narHash=sha256-0m27AKv6ka%2Bq270dw48KflE0LwQYrO7Fm4/2//KCVWg%3D' (2025-09-28) • Updated input 'sops-nix': 'github:Mic92/sops-nix/e0fdaea3c31646e252a60b42d0ed8eafdb289762?narHash=sha256-L3N8zV6wsViXiD8i3WFyrvjDdz76g3tXKEdZ4FkgQ%2BY%3D' (2025-09-21) → 'github:Mic92/sops-nix/9ac51832c70f2ff34fcc97b05fa74b4a78317f9e?narHash=sha256-53VP3BqMXJqD1He1WADTFyUnpta3mie56H7nC59tSic%3D' (2025-09-28) • Updated input 'vesc-tool': 'github:vedderb/vesc_tool/9dab0663d4d47067c30ec4ca6aee074e6e69060b?narHash=sha256-VtvAfGNKgBuxnxdatFt6LMXu682NensmioggVl%2BJmRY%3D' (2025-09-19) → 'github:vedderb/vesc_tool/e8aa8ce856c7da7a88337ddbefde6a4b789bfa8f?narHash=sha256-mY2sXocI%2Bk3Hky%2BTavQlko2UuOm1q7Tu%2B5Xz2wIQ6Wk%3D' (2025-09-23) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 0eb145c..eeb951c 100644 --- a/flake.lock +++ b/flake.lock @@ -402,11 +402,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1757943327, - "narHash": "sha256-w6cDExPBqbq7fTLo4dZ1ozDGeq3yV6dSN4n/sAaS6OM=", + "lastModified": 1758663926, + "narHash": "sha256-6CFdj7Xs616t1W4jLDH7IohAAvl5Dyib3qEv/Uqw1rk=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "67a709cfe5d0643dafd798b0b613ed579de8be05", + "rev": "170ff93c860b2a9868ed1e1102d4e52cb3d934e1", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1758346548, - "narHash": "sha256-afXE7AJ7MY6wY1pg/Y6UPHNYPy5GtUKeBkrZZ/gC71E=", + "lastModified": 1758791193, + "narHash": "sha256-F8WmEwFoHsnix7rt290R0rFXNJiMbClMZyIC/e+HYf0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b2a3852bd078e68dd2b3dfa8c00c67af1f0a7d20", + "rev": "25e53aa156d47bad5082ff7618f5feb1f5e02d01", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1758531531, - "narHash": "sha256-OL0/5FQQc06oiF/l90H0/lVz7wvC7QR3Yptpizckr3Y=", + "lastModified": 1759146238, + "narHash": "sha256-nlrZS5AfCXsYCh16zU46yZmDBzqutMhIJB9eV4djn+0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5ae8f56b82f8abd42c13b5f11de89f5346afec5e", + "rev": "1913e602e8813cf11a97496a5f27a1ec5a155e31", "type": "github" }, "original": { @@ -482,11 +482,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1758277210, - "narHash": "sha256-iCGWf/LTy+aY0zFu8q12lK8KuZp7yvdhStehhyX1v8w=", + "lastModified": 1759036355, + "narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8eaee110344796db060382e15d3af0a9fc396e0e", + "rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127", "type": "github" }, "original": { @@ -518,11 +518,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1758531197, - "narHash": "sha256-L6Bl4No41Ohag4/Ty0IMDE5EP56TPOfU2YaDLt59iFY=", + "lastModified": 1759146291, + "narHash": "sha256-DjFjObnO5IQWx11lzQvcQW7CsK7ltLNnvMcodoCA7r4=", "owner": "nix-community", "repo": "NUR", - "rev": "79e546908e49b0a824a7ac4827f8563452b002e7", + "rev": "660590c6a1e82e6940eadb77b37f70dd878e8633", "type": "github" }, "original": { @@ -634,11 +634,11 @@ ] }, "locked": { - "lastModified": 1758425756, - "narHash": "sha256-L3N8zV6wsViXiD8i3WFyrvjDdz76g3tXKEdZ4FkgQ+Y=", + "lastModified": 1759030640, + "narHash": "sha256-53VP3BqMXJqD1He1WADTFyUnpta3mie56H7nC59tSic=", "owner": "Mic92", "repo": "sops-nix", - "rev": "e0fdaea3c31646e252a60b42d0ed8eafdb289762", + "rev": "9ac51832c70f2ff34fcc97b05fa74b4a78317f9e", "type": "github" }, "original": { @@ -729,11 +729,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1758279410, - "narHash": "sha256-VtvAfGNKgBuxnxdatFt6LMXu682NensmioggVl+JmRY=", + "lastModified": 1758620006, + "narHash": "sha256-mY2sXocI+k3Hky+TavQlko2UuOm1q7Tu+5Xz2wIQ6Wk=", "owner": "vedderb", "repo": "vesc_tool", - "rev": "9dab0663d4d47067c30ec4ca6aee074e6e69060b", + "rev": "e8aa8ce856c7da7a88337ddbefde6a4b789bfa8f", "type": "github" }, "original": { From 508a7b539cdbd7f3b5efd488cad0954cd65a9b26 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 1 Oct 2025 11:08:15 +0200 Subject: [PATCH 740/766] Add shroombox --- hosts/iron/secrets.yaml | 6 +- .../services/esphome/devices/shroombox.yaml | 128 ++++++++++++++++++ 2 files changed, 131 insertions(+), 3 deletions(-) create mode 100644 hosts/iron/services/esphome/devices/shroombox.yaml diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index 583c361..90e5c61 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -11,7 +11,7 @@ dkim-keys: jalr.de.default: ENC[AES256_GCM,data:mnApsYKXYGtUAHddccmNmU9yZQtekDkTiTXbJ0UJxC0rFxzQCtGsinQslIROJdNUxsxciR1ilNzxawzjJD7AaWJbcAq2TYObGJJOQZBif7t/XEN/rIxEmnAFmdeAyrSONmFb9DiEn59m6DpsU+/9Y+hnc/uwwbzueO34WHJnTqmmsxFVNQZfGR+cbSckHS3wZrfjZSKKzCRt+9DU/xxJ4voyowXLO77w00LHVkyU5liwONi0v2XJ+QeP/jIMmJeKjujZcH+qvUm/kukijqyWKGrZoAYPC2cBlL/UrNECuVdSLMXvr4KBDDTCRZCSMRgUPJ0TAfpQPTPitKJ/0igK7qQl9n/6hckY7VyP8KDS7J7G2Z2XVxfZrAR4X/7ya9B2kneVr2CNx3w954EdTcV1/lD7rcKRjKynyl3ddf8gxJFJ21k1ybo2RLnftGCRVq25qNwhyfjU8x5c7AEs+YTPDrcnmxZ/Ui276eLwpMj61oZzTp8QQhiBVwS/+ruRLC+78pu2gb1gBF/Oo3nuvQD1SOpCRikLVewCYDvfXj/hrjo+oCsjTOj+9tWRcRAEDVlhkXWCMuPXDYrdt3HrIWbQuP8NW1ezd1Ll0r1ujjtPJeSwdd8cVcUSBIoA5gU+eXnYjFaSx9BZ+sIfKqG//W3S+aBYDqAEK/z4N5q66sReb5mtSQYfbZuIZDmox9bwNMG3tJmQX0lJZgEIiuJ5/ef4ra0sj9JsRFldmIn9KUmjW9OlIwzQ42cNNvQSMD/6haNiYsE6TPzVylJ/B2kNu9Qh5FfpCIPtVORv2BAGoNvZlyhjyEiXBEZ4x2hx1l5cBwGOaGhoJ0p+1wqn2zDalIBaEFjbBVdIB6DPC6/lccvpqSwF7HvW2ugyYhW+u92vgic71/BsI4i0OlsJV18gU/zVg0Yj8SK69kEwm4wkJTrkM/I4+kkUIc5OiSAknRfjOFJc0etkh3nO34xpHLOkSv9DrKfXSAGmGZtCLtVL5LGdZeCd/g6EK0JJh6bd9Gu9koSJVq5vjdDJJFf+sgk39TCvHAvk8k1/FgdK5jMJ+pR8heJtP8G96ay3DFVm5hpbjuNKqfBvbf2rkyV6++ywRFnAQGPUiMn9g6Q4F5Ks7CC1D0Ubl7b3dCUk6BDi8rHjxy9QS0/25Yz9cF0bFd6XQDfblnyRLMi9aB36M9Vp38Oh5aB16MyvNUHzcxpaAak0yknE6OuuEMBPQZgFVADCITfy9eUXl2FoXrMWEnBO78GybQ+cV8nhynn5t0U+3koMy2E8ju5kiEofQxXylys3Q76iKRRUbQqFkh/ndWtJVVfGNpi1GrUr1w1YZM0hBY9FqqeBjf7ckj+9BdiwWJ0XauuR70o7odm02mydk1/T3Hfzt3OE5nHIXnVbum9KyPx8wXj9qc6JGFm558pQOcRUgGUi+EzGoGckkoLx4Onl+XeGysW5sXP9dbYgMBug0Tjmdo9xkoBti6znDnN/zh93bbzWITNvxMgVs8zSWEhlM0c7F02UeUXSekbTFue5FOaMdYObMvPeb53jAKBOYLr34GVFvucJhKajIaNzDvfiI6fGCMxcSsWk+P3co7gdbRlWYZELsKDu2scktZsHr/gRwRiDZXAWOLiWZL4jswQ1vXSFXJgdblEV//hr2DwsAtCAsyFcgO/LGq30xi3xNqHTkUZXo6cZYSb6EVaIywMCI5ySEnTLAp/xedySANHuo8yyVqyLxkDPI7CnnSS7JcnQF3K5z+NZ0KnIpc1ewGupOhS0fKj31XxUkoSsHEY/iWJPLNA8+4VsBkADnGdkYXHTvy/yAGV6w1k1qtjiWhDAGcE9/o6NOHctYm3cx8CVsLpve/WFUaCkGgjWJdC8XP92xsUQoE6PENn6ZzFaqGHs7hgQqE1kBcEj8N5WkEqkoMo82giHE33iYoVUdkjOTkV4iDGEqyjg1BoM0GedR2A832LseDkP7u4DjIAQfpIDu7PaeiDh7xWkPRwIMV0oDTakXTdPkPGdgFikzTaxkTzRlpCbQuV769eITqVT04kJDp7+0Rb6dtjeXc0Ennv68wZSiyrlmXbrJntg7g1wrebq28q9NMIZETAPugfK6wNDu/Iw1q1kZn2ELo6xaDlcIxHDcpzK7e2VAYYuP1k3sYnSLU3oeq54j3/yS2z1me5FEqWlPOCrjdnLkE3/GjbeMsYo2YTYJEUEd2ncacSCoXUaUoxpBnjRYcHLRUV+6jy7Amp0/52rAPzSeVlBzc+SdNiKLYA2UQ74WrMU596Gkhw1SD8jSM5QqSBhH9sL+oE4GjhjLhstMUPdkNgiwxXDTZLKcIyjN1cn+RSmvNA2KXMH6MoXrkqSkJ9u2s0QAhla51zR/LZwWbzwGOO0dkh3rwh2x+pcCfuzvlk3lYr/x5XOF2k1n8yvehXY5zIX8nk6djjLbvAzzSr/yalS7R0WYIc6CjzoUl3qz+PlneMfKHcaX00hkOlIub/ZFQf1RE+JzZxi0qQq4M8Nt1XRKGDeS448Z6znDpedStUH29krZcnjMtyLmPX7ETTsjr3HLpCOd7MQ2K1rfhmvh5BtJkn1KSUf94puZbkLH7X+WnWN0hsc+KbSXnYZvqwJ8G0/7ptp/Q+wGljqhjv+HhOeA3NUwANv1xWgbiymVIlxCodXtQwn8mxS+jxSvslGwOnyUkTT76IbFbv/IpW6PNvj/xqwOqey8a/4WCGcqs403Y7TKQ+xCflG6K3tL7U5UbMnMgXTeZvoK+DooS2eIepF2WB5XqTuOZJV2OQ6GHfaBMjXN9iGVNLi6XgkbpmcMLQ4TZq+dVmgleJb14IaTFD3n74OfmbcT9lmRfPRJEpFEMNeL3ghH54P2a91zJFASgE7x+Uv2cGcmKFtMbyc/rrhH1F/Ixlv/R37huFo1T2dPMEZ/1ouuPpbUQ5oz/JlOWw3NOxd0O6oG0x9Xib+9KxSFOusLWcFEgx70jrBQKj8s2Jj+W0gZYv+BJtPMPY0KAkRj1amt4Fd6ZrPOEXJ392EHSAEv5jssO5ba52OHKA+QkYvPPL04rwkxSAQiTl57scnEj2WEIP+Lz0/qsMnwF+3rWuz856doJZcXX+U9iuzBCaYQqA1P3BojAYhEHnXBPeolHOA3BmhT9E2TJsZ6P9SQ+GaqyLm0i4vRXGlArlkLwRBs9EZv/l4DT8q0YHha53O4rhRzGJZKAOO252Dpha1YN7+FubYGAZjaUT5O0R/7xSPrGyBejddtM8asW8+NClAn4Y6xvj1IgUg6VRpEy7ZIpZEQ+UyDWt0A4nsipaz2NyZKZ5Vxza2v1qZDdYODK8nm/zj7fR/JykaNVEVj7ceTSHdaQlajfeEWWTs92msIBcqPUXqlaR005hoVvXm+WCnzIMIXLGiyRKRsAPIDYh2hGCtvfXLSq5TYm3bnGAImL0KW3Yllt1qSqSbOYsvm5QfDmTrrccvtSLGRj0rOU3Z8f4WXjf+1YgxjZ9h8fKL+LKA8x1S6M8fl0JVGBIAU8Xe8c4+r2F1VcygJp7h+0v8o8GudM6in4djAdeMLWBgXid7r0q744joFucP56opwYQp3Lu0oFEo0omS6Rh9yPfOjdGBU2eUdjcCNXXuEJD9yHSyebviSAvDw/KH1AxYSWYnjMWACCfcbOlXf3ej7PuQgq5MdFwF7+QawXm0john4YusUon4/0fqd/IFLd6oHYYesxcFdm1jN6DeS4SAqRgeEPuEWDFERgXjLHBxl5Xdi5n+NOR3Vc7ziJ9j9/CA1DKdwmsFBBDcVKMnr2FibXpN5WsSdlBng0L2zhkL22wRH9xbz8Xk5shN20/EHoxHB5HJvwfOgHIC7ooWKOUUuNTZH43+gVN+wzRzlMfiF4X71Edw+lTnQRp6Lh03M2k9do6JPoX2+UU0h6mOYiAFkhHKzCmK3DY12c4Smx+qLJNbUGhoMgthu/WnXObm0Hr+myCooTYSVNTJx6vVjI3GZtMcat2o8B9k38u/Y5/FxqTYmyXhROwS4v3W5fXwTAaxBqQy6Xj5s4V37omBBh/Z9a43nc2VlT7dKR1wIvNB/gqhiYyYrVMtYMJqGLkeCbu50LUWT4qXyR8uaqbZTVjyJCQRxZd6fd3Zfe9wIeYe3N5qKIXkFD3n1U2Q/EyRfb3TpiA+eYkAtl6JGK0vpeWpN5M2LJ3/V79e3cIG7B7/p6BrRxKxHDnBZcu57KKaN8XM+v2KTz7XdF8bjgeu1V/B9WoBwnpzCM+3s5ffNceuUcb2gJgRAUpZvcSDLYy+9aluGU2Tvsm49fCzr851p3VSEJepgPpnvuq874AX/MbPvqidF8Y21Kss1RUbl5wrlq5IihKdM+xCSq6mjvtSPVHRvw==,iv:2NBiTTW9slOH9BvM+kVbMB/+8EiS/Dc/eaqrtiwn4HY=,tag:0rc2+ZWy9XZYE7RK/oSo3g==,type:str] synapse-turn-shared-secret: ENC[AES256_GCM,data:Q1XRds3Zud1kYkvD6s9WUzP+kNDNsxB5SHd6oCAaLCHhHhYENSAYTZOF+rGjCPNyKFL0e/A=,iv:zScRQrz+pXHNUh/BGOaV+TVnDR3wu1Z/UO1zXarKwtA=,tag:ckpVziE+yb0FjctcT7tAkg==,type:str] rmfakecloud: ENC[AES256_GCM,data:ktKBKb6cRv1VF8tRvXIpxIy9hPinVPKK05mgvYzz18PEdcrCLpldm5xf7ffHtY5XzDOAMXDCiz6x4xyv7071frrF0spOEPnIzVhxwG8H2Ck=,iv:qJdHjv0RziAs4G9UGeRwGQ4GE5kaObJWpIYWpRKhr9c=,tag:PXgvU1hZK/gvWGyFJaHekg==,type:str] -esphome: ENC[AES256_GCM,data:LhouDHIP+zenpFZZWQnXBWsHoM3iGVVnmMbRaZP4lFxdYS1U+WalmBkcfIizbYJ47mhvr8DdhR9u9DNAYqyd8zUeq8PkfPpQNXaaluXF2WwesHatsmJ1A1rL+129qKp+6UCNxoqYmZmJa/eGh8BFLCwFNK3nDpkDyO0RadtQgl7gISHjfcOUKTJZY31wQfqrBWzFhJZWtYZbtu47na7GXUrorkvR4BJ768k4okX8EiSn03kGe/mHiNFs7TGctIvLNiX1AFx6HL24R3LTYH3qcIlcmcn4G/Gp9MGmphWw1FMOWcphNV8xVHSlKTseOJWtQZTldXijvxtKKjgYXeIxuQIfxFrplYnMrapgFE6NyqDPw6cfsQNhDVM1ii3xpYTCKtoDfp9WuQKRPPyiK43IPIIDtXducKUlkJR1e32/s+FUlLcIbPfHiIu4QSC0nsi8Umzfek2bJehnHHzneV99V9bFe1lQLfefP1+UvsN2QTD+xnZ9pqRm7OQA++CwC9rFHMNhxmgqwyBmV7RCu+Bwaa+wrig9XOED5Gq5eDBbTADDl9+BQEh01GpyqKAPnO7ig7bv2eeskY+aj5T98z3FsJKd0QWjv/YPUa4YnmVOX1N289iQ5BzGFkSRfVDNU81m8EXHOFmfpGVxFqCjAGeSiv/smd75HVCPrroPQAvudoMU3z1qshf3UBKu4AyS94w8dcAuAy+Kl37RPp4OrmQDSUOxZKy5XZuXvt7a5PXezCkEjVnnSWl2NidHLR1ZqBPnmRGDjLDRzOLfSwuPT6CC5dwLVDNhIQlz4f6lFtaQS5cBWdxyIn2aPUlrqxz7dKJb8YToXDNsKXqG7Glcy2CX+TdLVbNnbEW/5/5RtgrT4Dag/mZPlSod+T44ysClfarW/ONI6p0UfPMePsC/BEnpBmnO824s7D5QiF6bzwgfeWrShQRJvIY0BaRXFBmkkrkIYNPTgptQjs/vUEGKbATyZTWBSvP4fPAdQYIgkTT8YAKthurMq/Vs8XTB0Z/X1XQdE6oT0YTo+mTbI5vCDD2pu2lVxB68G792QXpZkox6SOc7/w3JG8lUHec3vQJICoZUJw3AXn6YpZP723xczhgTslJzaBb+uBJ6CEEBCjrw0zL/oPDWM9aGou7iMkvEoL2EBSsN7qw7WnFX2NOtV0BxmPOjxSe/PtPowcukQWt6yeenLYnUQ2I3zlV7LhcCmTB8O9zpvDQuaO97f7+oZMWXicfwfdAtLr+I0OJvKdfVN+28CbbVNoRkc0yMrg/94nFOrdTIjDoJqWvs9FNEzH93AuraPv+0eVXMtwN/x/msjTTZD2j/RFg6ZgDRVQ3xpORhBkUdy96aP/OBpzQrrIzyLKDVdKr9ytHMhegVr/VAJdkKq8W/FzBpZQ/iZrX8zXRTLw7wOi2X/N5Zxn7ZmlbtdIOExsTAZ9jdMe1RJcMm1uwu8vyOjZosq7hZTvbdDOPor4WB/qwfZviwKcmpfhmnQmbVEzG3wrd2xpfbpw3xXO7bEhkBFqGq81AsDZ4SizszT15ZAVg5wpmLK+wcQl7XgEdDEK2tMCsEOJRscaDNxgLzB98sFdMZPcMTtrGGB5vl0ixlzome2EjACzAfSZAc2KysjlgSZbZRwhD+czpDt8C4X/3wvGLxEkLLwWlTssYJzodX+1MSiOZ6PgkcV4lvxzq+Hu/dgtnAH/Q3y0kyeKJmvFH8h/hX4XRIGhRNcLccVBqs/xTxIdEBrUk8ptXFKNhGtQAsMBbO57gJL113p0uEUHMQnsxlp8Z/VshYGM0UpshzHnSLzz2Jk5F/hem5GI8kwXQwdpZBSdGyk4YesqbEWkLEYlyEZEiCzNaZG/sfnWL68I8I+MMRYxk3Mj55ncNkGhokue3d054zyIfKA8iz9Vtli8jTQyiyF1Ecpbb/kg==,iv:816FQciVd7jqSqfkPJw768hKSGxlL6oKApXrdGb79u8=,tag:zdgDAkLba+pM3WIGWNaPJA==,type:str] +esphome: ENC[AES256_GCM,data:SPZ/4GqNuz3Lk0Jor815jWaw9YYiIS/u79qmdjd9eNhPUiT4PpM7gQJHLwa/KHbjYAHBICVd5dAFdBsZ5UsYww6bTZcEjM+aDcSXvrXE7NKUdYwrKfOeGdsIX/l79AlNfaPma1+3dDULj6/5ElXZJFsuurMWaWc+KLOUTBTMNRwylW1pxShywz40wqxtTQmFBLhIbk/yYLfJMuFaPnctoJnW6cutbzw/fwSitAvYEq9Ch2ZOkujOOTP/NlDAsxxBV6tFJj7UnJtGJ9lucJ7BURU0eb3Bp3K3ef1XgiyTtp0g4m2EdN/XTzzA6fI4/Vhf6giDvrbXxSM5pPTbY4fjv5cpKROaHS58il24OA0S7zccFY8XoXkl2QjiJrNnsJvNrfxn21i+LFWKCC1CMZbfEMkg+FNjzrp6nkr/kpjOlEet7umhlkxXdEUSjUBmb7luig55ICSxCH5yzRD8TwsP4fhjQgAQ8C+5fojQ/YH3VkFboY4sS5mkamDeUJ94pLy3GcfKPB5I/qipi5kUxEo7AvvxK2PHNM/0VC3S/23StQwkrH2+mrU5mo4+ngutoxyegSaqJzMJZ6KORPbDo9ETxehwWGZTuP+kpjT8Sz3J0A1LxCZwQsbXJMpABWkg2c3URJZYS/1q1o+16PocE9mbPthiayrBETss6zsYB7xYjaRMN74C1yuEL/55xRqqlrNgfk/svW4XTNRl+zkRfyxz1awWEa4zSpbqSTZT5M97uxuSHwWW64dOb7lCxfVZtpBuEMTN2iITUYWfNnyv3Ipgv2AN3vZUoYiehS8Vlv+j0SHrTAjLqUv/opTNB02PMpE9wWKsOiktDQ6VwbPkd/k9xCPqdaT4fN/yinji+91BkgeaNgyu3KRTnaQlFOxmYzQAoPHwhZSwT+s0/rOPP4wtKIUkI2IcMjEWd8nw0PEo9J/wqzZxcFZ8VKSJofrVMmo0nQF4BK0/86KXOTk2bo/5HaXE4d2s6xc3qhyGnWdWUjm1X8CLoVNx49EsVRhrJKkqrvgFH0P26qNno4m7KWtzZGt/e/e3B4+TeaVgFS5o7IY8hcnIslsbic9DW/rSAxkXdumgvumRHHtBf0WA89K84/Qhs0Ufx4z9ijZdojqTX4rRPpIpV79jaJmjS72adUjnVWMMdQWyW7Y7e0Cp0u7dcbhl1T2S8QRMsJiIOv8syiUFEy8krC7R8Lf7/kZca1MYohEud/QeNsIWq0FfpyYN/vGMoTZ0Hn5npuXap5HVlmSoPX8Bve+tgR3ZFBpTS+/uXhJ70v93IXBt0fWe5tNl518Di8k5h6xAp/8Rl9EJdUuKjVnpto8bO8LIefOQLpeTo282ykPlqxsaEimeasExNAMyi/dzX9SKuSr9D5zKzU8/0zhUA+lhKtwkUkBuxeaeqF1mlffWyjVhL/3/il9Xd7kTT461889AOKt20BH1rzqVQcUiLgoi79r4kIDs2MJE8QU+Ne3fcaP+DCvjjfiTGQ+0icZvVmgKYRpJaD7MsQWN0LvzoqbkIlXrSJprsDt9JNX4IOp6egh5bxAMwZM2V7uCF/WRDXSlHYa6XJId6fY7PMAhDsTYuD4/glFzeD121yajoeyb71AgoKy62mvgExe6nnzh6qNEAQEX8bl+L6sVtwzdYpvc3j0PXbtbEs7zwncyhphj0EOag0N3E236Ck3fW6EWIKkqg7qTBDdXrCKgv7BKl6aYIDQiaUP2hwlqpegklTRkfOrAP0tOYps9DCKGa+Bm6fK2ekG/b8OCPQdp72PtyNv5vumzaV2L6v+nc/0+5VsjL66CdJ9tvwIR9NxUC6M7pp3gMQMyxW95rj4JxZkW8f8r6EU33rQJtNeeo45Uorp3l466s//GoEmcRNO08VcFJaEdd8rocm9dsexd+0QNN9xQVDOwF+KgJAUJi+Qygvzcy+nVibow2sRUPGai6/rbNBPrVEKjfHck+s794XjVGXPAoAMk7SsNKrjSpvEHws0dnC3Faa3PA8UKZalOzmNi6A1ngK/wn5SAQ/LfXRDY/oTJa4ND/C8vJfzywR8=,iv:3nnHepX48XKuKQzO4zHcGj0VNQR2edmQ2DqvAJi5W6M=,tag:UJHGnWXrwCUgyRMGc16Ntg==,type:str] home-assistant: ENC[AES256_GCM,data:wcFMxDdRCHf/shO9v2WaGgrsa9J2WP62xFs=,iv:9ckeIO62cFZUo8fPyQj445CrJVTooNlwLapM/oTsrkk=,tag:mlfxtXDPsB3T79P9BX9oJQ==,type:str] mqtt-users: home-assistant: ENC[AES256_GCM,data:oIjCw7ZnA5iOBmQdW1jcy3QQnpjT32pY,iv:5HFRkXJBdMXQbjk2ubQs3sEy5qEteiqSe2hrNc8+H40=,tag:7B6yI4oCHanE0JE/gHaKnQ==,type:str] @@ -34,8 +34,8 @@ sops: SU1USkxFUUY2NVhmUHBhZkdrNDR1Q0kKiXIicInELRjDR3tuyA+lnXeCcd9lYvbV GnBRGPM7BNO/6AA7HhAei48Kt+XE6+jQX66yTXyviKhK7Lpjrlb2YQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-09-22T14:14:39Z" - mac: ENC[AES256_GCM,data:e0GijBvhWBIRXjm1lghrF4uHrE3+45ZfgQ/l2xrUv2lx6OC4xp+vjdlzJEDEAmWyRhIDvUYZ2lXrFKu/uwH4X/6vphNvSCJdr0F5/7Rrh84CCF++xrMG/hDztAoMKlhmkYpjmhvMt6sjVRxXo/ij2q3NlC7HN+ZEVkqMwVuFTyk=,iv:4Aske7FpYG5XJweeggTJvjy9SdfPYJ0h/a+rOxHL4jY=,tag:rBC4A0ZWn4JBw+3R7VB8wQ==,type:str] + lastmodified: "2025-09-23T17:32:09Z" + mac: ENC[AES256_GCM,data:D4I6ayuLKBIxvEQopWXYHB/2fojEPn3oARU+9AiOrqX35Ue5BXZc08dmz+0J+RHjX5dA78xG6FGI3x4TtGeBwkMHeXwwwzRBuLDoGBGVngwLKvf21To6051A201EFqV7RKa5L8WruaJoeNLylH1K1B4nOrpv7G/81yCdpjmctQ0=,iv:QChpkOanDVj0PHykmA1MvDAYwiWawEmZ3h0s40U9joA=,tag:WluhQpBonORXgA9i01kTpw==,type:str] pgp: - created_at: "2024-01-31T01:20:30Z" enc: |- diff --git a/hosts/iron/services/esphome/devices/shroombox.yaml b/hosts/iron/services/esphome/devices/shroombox.yaml new file mode 100644 index 0000000..4f4de46 --- /dev/null +++ b/hosts/iron/services/esphome/devices/shroombox.yaml @@ -0,0 +1,128 @@ +esphome: + name: "shroombox" + friendly_name: "shroombox" + +esp32: + board: esp-wrover-kit + +api: + encryption: + key: !secret apikey_shroombox + +ota: + - platform: esphome + password: !secret otapass_shroombox + +ethernet: + type: LAN8720 + mdc_pin: GPIO23 + mdio_pin: GPIO18 + clk_mode: GPIO0_IN + phy_addr: 1 + power_pin: GPIO16 + +logger: + +i2c: + sda: GPIO4 + scl: GPIO14 + scan: true + +sensor: + - platform: scd30 + id: scd30_sensor + co2: + name: "Shroombox CO2" + accuracy_decimals: 1 + temperature: + name: "Shroombox Temperature" + accuracy_decimals: 2 + humidity: + name: "Shroombox Humidity" + accuracy_decimals: 1 + id: humidity + address: 0x61 + update_interval: 5s + automatic_self_calibration: false + + - platform: hx711 + name: "Water tank weight" + dout_pin: GPIO32 + clk_pin: GPIO33 + gain: 128 + update_interval: 5s + filters: + - calibrate_linear: + - -35884 -> 0 + - 334800 -> 887 + unit_of_measurement: g + - platform: pulse_counter + pin: + number: GPIO36 + #mode: INPUT_PULLUP + mode: INPUT + unit_of_measurement: 'RPM' + id: fan_rpm + name: Fan Speed + accuracy_decimals: 0 + +output: + - platform: ledc + id: fan_duty + pin: GPIO15 + frequency: "25000 Hz" + min_power: 10% + max_power: 100% + zero_means_zero: true + +fan: + - platform: speed + output: fan_duty + name: "Fan" + id: fan1 + +switch: + - platform: gpio + pin: GPIO2 + id: humidifier + name: "Humidifier" + +number: + - platform: template + name: "CO2 calibration value" + optimistic: true + min_value: 350 + max_value: 4500 + step: 1 + id: co2_cal + icon: "mdi:molecule-co2" + entity_category: "config" + +button: + - platform: template + name: "SCD30 Force manual calibration" + entity_category: "config" + on_press: + then: + - scd30.force_recalibration_with_reference: + value: !lambda 'return id(co2_cal).state;' + +climate: + - platform: thermostat + name: "Humidistat" + sensor: humidity + min_idle_time: 20s + min_heating_off_time: 60s + min_heating_run_time: 60s + visual: + min_temperature: 0 + max_temperature: 100 + preset: + - name: default + mode: heat + default_target_temperature_low: 80 + + heat_action: + - switch.turn_on: humidifier + idle_action: + - switch.turn_off: humidifier From 7bbf0e9f8977720f1b931952d0a0ebf871585b99 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 5 Oct 2025 23:33:27 +0200 Subject: [PATCH 741/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/54df955a695a84cd47d4a43e08e1feaf90b1fd9b?narHash=sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo%3D' (2025-09-17) → 'github:cachix/git-hooks.nix/cfc9f7bb163ad8542029d303e599c0f7eee09835?narHash=sha256-PTod9NG%2Bi3XbbnBKMl/e5uHDBYpwIWivQ3gOWSEuIEM%3D' (2025-10-03) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/170ff93c860b2a9868ed1e1102d4e52cb3d934e1?narHash=sha256-6CFdj7Xs616t1W4jLDH7IohAAvl5Dyib3qEv/Uqw1rk%3D' (2025-09-23) → 'github:nixos/nixos-hardware/3441b5242af7577230a78ffb03542add264179ab?narHash=sha256-spZegilADH0q5OngM86u6NmXxduCNv5eX9vCiUPhOYc%3D' (2025-10-04) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/25e53aa156d47bad5082ff7618f5feb1f5e02d01?narHash=sha256-F8WmEwFoHsnix7rt290R0rFXNJiMbClMZyIC/e%2BHYf0%3D' (2025-09-25) → 'github:nixos/nixpkgs/3bcc93c5f7a4b30335d31f21e2f1281cba68c318?narHash=sha256-YWo57PL7mGZU7D4WeKFMiW4ex/O6ZolUS6UNBHTZfkI%3D' (2025-10-04) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/1913e602e8813cf11a97496a5f27a1ec5a155e31?narHash=sha256-nlrZS5AfCXsYCh16zU46yZmDBzqutMhIJB9eV4djn%2B0%3D' (2025-09-29) → 'github:NixOS/nixpkgs/f0a05ce889294b1c1e02377b086b9931554f5bf3?narHash=sha256-Fvh/nZ7x/msSPPPJXfEoCqgW9NIUQLSCJCCLr8bVMos%3D' (2025-10-05) • Updated input 'nur': 'github:nix-community/NUR/660590c6a1e82e6940eadb77b37f70dd878e8633?narHash=sha256-DjFjObnO5IQWx11lzQvcQW7CsK7ltLNnvMcodoCA7r4%3D' (2025-09-29) → 'github:nix-community/NUR/dce08ba6904fcaad93c17ab65cf6b3e5dfc2d301?narHash=sha256-GkGJdNkR9gnVQt9OXwhGrD72EpK185jNVT7qoCh/3q4%3D' (2025-10-05) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/e9f00bd893984bc8ce46c895c3bf7cac95331127?narHash=sha256-0m27AKv6ka%2Bq270dw48KflE0LwQYrO7Fm4/2//KCVWg%3D' (2025-09-28) → 'github:nixos/nixpkgs/7df7ff7d8e00218376575f0acdcc5d66741351ee?narHash=sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs%3D' (2025-10-02) • Updated input 'sops-nix': 'github:Mic92/sops-nix/9ac51832c70f2ff34fcc97b05fa74b4a78317f9e?narHash=sha256-53VP3BqMXJqD1He1WADTFyUnpta3mie56H7nC59tSic%3D' (2025-09-28) → 'github:Mic92/sops-nix/6e5a38e08a2c31ae687504196a230ae00ea95133?narHash=sha256-UvzKi02LMFP74csFfwLPAZ0mrE7k6EiYaKecplyX9Qk%3D' (2025-10-05) • Updated input 'vesc-tool': 'github:vedderb/vesc_tool/e8aa8ce856c7da7a88337ddbefde6a4b789bfa8f?narHash=sha256-mY2sXocI%2Bk3Hky%2BTavQlko2UuOm1q7Tu%2B5Xz2wIQ6Wk%3D' (2025-09-23) → 'github:vedderb/vesc_tool/1f32af09ac21bd2bbb2e3a8b4148d1892636f8d9?narHash=sha256-v7P%2B2TVd0ZU6LFlBM0hg75bSRvnneefJZJ%2BAmzCf4Uk%3D' (2025-10-05) --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index eeb951c..29dc015 100644 --- a/flake.lock +++ b/flake.lock @@ -386,11 +386,11 @@ ] }, "locked": { - "lastModified": 1758108966, - "narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=", + "lastModified": 1759523803, + "narHash": "sha256-PTod9NG+i3XbbnBKMl/e5uHDBYpwIWivQ3gOWSEuIEM=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b", + "rev": "cfc9f7bb163ad8542029d303e599c0f7eee09835", "type": "github" }, "original": { @@ -402,11 +402,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1758663926, - "narHash": "sha256-6CFdj7Xs616t1W4jLDH7IohAAvl5Dyib3qEv/Uqw1rk=", + "lastModified": 1759582739, + "narHash": "sha256-spZegilADH0q5OngM86u6NmXxduCNv5eX9vCiUPhOYc=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "170ff93c860b2a9868ed1e1102d4e52cb3d934e1", + "rev": "3441b5242af7577230a78ffb03542add264179ab", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1758791193, - "narHash": "sha256-F8WmEwFoHsnix7rt290R0rFXNJiMbClMZyIC/e+HYf0=", + "lastModified": 1759580034, + "narHash": "sha256-YWo57PL7mGZU7D4WeKFMiW4ex/O6ZolUS6UNBHTZfkI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "25e53aa156d47bad5082ff7618f5feb1f5e02d01", + "rev": "3bcc93c5f7a4b30335d31f21e2f1281cba68c318", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1759146238, - "narHash": "sha256-nlrZS5AfCXsYCh16zU46yZmDBzqutMhIJB9eV4djn+0=", + "lastModified": 1759699079, + "narHash": "sha256-Fvh/nZ7x/msSPPPJXfEoCqgW9NIUQLSCJCCLr8bVMos=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1913e602e8813cf11a97496a5f27a1ec5a155e31", + "rev": "f0a05ce889294b1c1e02377b086b9931554f5bf3", "type": "github" }, "original": { @@ -482,11 +482,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1759036355, - "narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=", + "lastModified": 1759381078, + "narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127", + "rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee", "type": "github" }, "original": { @@ -518,11 +518,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1759146291, - "narHash": "sha256-DjFjObnO5IQWx11lzQvcQW7CsK7ltLNnvMcodoCA7r4=", + "lastModified": 1759696599, + "narHash": "sha256-GkGJdNkR9gnVQt9OXwhGrD72EpK185jNVT7qoCh/3q4=", "owner": "nix-community", "repo": "NUR", - "rev": "660590c6a1e82e6940eadb77b37f70dd878e8633", + "rev": "dce08ba6904fcaad93c17ab65cf6b3e5dfc2d301", "type": "github" }, "original": { @@ -634,11 +634,11 @@ ] }, "locked": { - "lastModified": 1759030640, - "narHash": "sha256-53VP3BqMXJqD1He1WADTFyUnpta3mie56H7nC59tSic=", + "lastModified": 1759635238, + "narHash": "sha256-UvzKi02LMFP74csFfwLPAZ0mrE7k6EiYaKecplyX9Qk=", "owner": "Mic92", "repo": "sops-nix", - "rev": "9ac51832c70f2ff34fcc97b05fa74b4a78317f9e", + "rev": "6e5a38e08a2c31ae687504196a230ae00ea95133", "type": "github" }, "original": { @@ -729,11 +729,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1758620006, - "narHash": "sha256-mY2sXocI+k3Hky+TavQlko2UuOm1q7Tu+5Xz2wIQ6Wk=", + "lastModified": 1759670864, + "narHash": "sha256-v7P+2TVd0ZU6LFlBM0hg75bSRvnneefJZJ+AmzCf4Uk=", "owner": "vedderb", "repo": "vesc_tool", - "rev": "e8aa8ce856c7da7a88337ddbefde6a4b789bfa8f", + "rev": "1f32af09ac21bd2bbb2e3a8b4148d1892636f8d9", "type": "github" }, "original": { From 6cd80f64f55f260d09ec8dac87a83af3f4a2fb99 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 6 Oct 2025 15:27:56 +0200 Subject: [PATCH 742/766] Migrate deprecated mautrix configs --- modules/matrix/mautrix-signal.nix | 5 ++++- modules/matrix/mautrix-whatsapp.nix | 22 +++++++++++++++------- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/modules/matrix/mautrix-signal.nix b/modules/matrix/mautrix-signal.nix index 228d4e9..e4b50d1 100644 --- a/modules/matrix/mautrix-signal.nix +++ b/modules/matrix/mautrix-signal.nix @@ -14,12 +14,15 @@ lib.mkIf cfg.mautrix-signal.enable { address = synapseCfg.public_baseurl; domain = synapseCfg.server_name; }; + database = { + type = "sqlite3-fk-wal"; + uri = "file:${dataDir}/mautrix-signal.db?_txlock=immediate"; + }; appservice = rec { hostname = "127.0.0.1"; inherit (cfg.mautrix-signal) port; address = "http://${hostname}:${toString port}"; provisioning.shared_secret = "disable"; - database = "sqlite:///${dataDir}/mautrix-signal.db"; }; bridge = { encryption = { diff --git a/modules/matrix/mautrix-whatsapp.nix b/modules/matrix/mautrix-whatsapp.nix index d4438fe..7225227 100644 --- a/modules/matrix/mautrix-whatsapp.nix +++ b/modules/matrix/mautrix-whatsapp.nix @@ -8,20 +8,20 @@ lib.mkIf cfg.mautrix-whatsapp.enable { services.mautrix-whatsapp = { enable = true; registerToSynapse = true; - settings = { + settings = lib.mkForce ({ homeserver = { address = synapseCfg.public_baseurl; domain = synapseCfg.server_name; }; + database = { + type = "sqlite3-fk-wal"; + uri = "file:/var/lib/mautrix-whatsapp/mautrix-whatsapp.db?_txlock=immediate"; + }; appservice = rec { hostname = "127.0.0.1"; inherit (cfg.mautrix-whatsapp) port; address = "http://${hostname}:${toString port}"; provisioning.shared_secret = "disable"; - database = { - type = "sqlite3"; - uri = "/var/lib/mautrix-whatsapp/mautrix-whatsapp.db"; - }; id = "whatsapp"; bot = { username = "whatsappbot"; @@ -46,9 +46,17 @@ lib.mkIf cfg.mautrix-whatsapp.enable { relay.enable = false; }; logging = { - print_level = "info"; file_name_format = null; + min_level = "info"; + print_level = "info"; + writers = [ + { + format = "pretty-colored"; + time_format = " "; + type = "stdout"; + } + ]; }; - } // cfg.mautrix-whatsapp.settings; + } // cfg.mautrix-whatsapp.settings); }; } From 50dedefe791655d04464d13927775f0ed2dfa211 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 6 Oct 2025 16:53:34 +0200 Subject: [PATCH 743/766] Add ro bind mounts for CA certificates --- hosts/iron/services/jellyfin.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hosts/iron/services/jellyfin.nix b/hosts/iron/services/jellyfin.nix index f5d642f..0842575 100644 --- a/hosts/iron/services/jellyfin.nix +++ b/hosts/iron/services/jellyfin.nix @@ -14,9 +14,12 @@ in "/var/lib/jellyfin" ]; BindReadOnlyPaths = [ - "/nix/store" + "/etc/resolv.conf" + "/etc/ssl" + "/etc/static/ssl" "/filebitch/pub/Filme" "/filebitch/pub/Serien" + "/nix/store" "/var/lib/qBittorrent/downloads" ]; CapabilityBoundingSet = ""; From ab489e3bd8a98b4f692165290b144ad21f89d745 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 6 Oct 2025 20:31:08 +0200 Subject: [PATCH 744/766] Add rar2fs mount service --- hosts/iron/services/default.nix | 2 +- .../{jellyfin.nix => jellyfin/default.nix} | 4 + hosts/iron/services/jellyfin/rar2fs.nix | 62 ++++++++++ hosts/iron/services/jellyfin/rar2fs_mounts.py | 112 ++++++++++++++++++ modules/unfree.nix | 2 + 5 files changed, 181 insertions(+), 1 deletion(-) rename hosts/iron/services/{jellyfin.nix => jellyfin/default.nix} (98%) create mode 100644 hosts/iron/services/jellyfin/rar2fs.nix create mode 100644 hosts/iron/services/jellyfin/rar2fs_mounts.py diff --git a/hosts/iron/services/default.nix b/hosts/iron/services/default.nix index 331bfd0..6c0e206 100644 --- a/hosts/iron/services/default.nix +++ b/hosts/iron/services/default.nix @@ -6,7 +6,7 @@ ./dyndns.nix ./esphome ./home-assistant.nix - ./jellyfin.nix + ./jellyfin ./mail.nix ./matrix.nix ./navidrome.nix diff --git a/hosts/iron/services/jellyfin.nix b/hosts/iron/services/jellyfin/default.nix similarity index 98% rename from hosts/iron/services/jellyfin.nix rename to hosts/iron/services/jellyfin/default.nix index 0842575..1da1106 100644 --- a/hosts/iron/services/jellyfin.nix +++ b/hosts/iron/services/jellyfin/default.nix @@ -3,6 +3,10 @@ let inherit (config.networking) ports; in { + imports = [ + ./rar2fs.nix + ]; + services.jellyfin = { enable = true; }; diff --git a/hosts/iron/services/jellyfin/rar2fs.nix b/hosts/iron/services/jellyfin/rar2fs.nix new file mode 100644 index 0000000..dc634cf --- /dev/null +++ b/hosts/iron/services/jellyfin/rar2fs.nix @@ -0,0 +1,62 @@ +{ lib, pkgs, ... }: + +let + rar2fs = pkgs.rar2fs.override { unrar = pkgs.unrar_6; }; + rar2fs_mounts = pkgs.writeScriptBin "rar2fs_mounts" (lib.strings.concatLines [ + "#!${pkgs.python3}/bin/python" + (builtins.readFile ./rar2fs_mounts.py) + ]); + rar_path = "/var/lib/qBittorrent/downloads"; + mount_path = "/run/jellyfin/rar2fs"; +in +{ + programs.fuse = { + userAllowOther = true; + mountMax = 1000; + }; + + environment.systemPackages = [ + rar2fs + ]; + + systemd.services.jellyfin-rar2fs = { + after = [ "jellyfin.service" ]; + wantedBy = [ "multi-user.target" ]; + path = [ rar2fs "/run/wrappers/bin" ]; + environment.USER = "jellyfin"; + serviceConfig = { + AmbientCapabilities = "CAP_SYS_ADMIN CAP_SETUID CAP_SETGID"; + CapabilityBoundingSet = "CAP_SYS_ADMIN CAP_SETUID CAP_SETGID"; + DeviceAllow = "/dev/fuse rw"; + ExecStart = "${rar2fs_mounts}/bin/rar2fs_mounts ${rar_path} ${mount_path}"; + Group = "jellyfin"; + IPAddressDeny = "any"; + LockPersonality = true; + NoNewPrivileges = "no"; + PrivateDevices = false; + PrivateMounts = false; + PrivateTmp = false; + PrivateUsers = false; + ProtectClock = true; + ProtectControlGroups = false; # implies MountAPIVFS + ProtectHome = false; + ProtectHostname = true; + ProtectKernelLogs = false; + ProtectKernelModules = false; + ProtectKernelTunables = false; # implies MountAPIVFS + #ProtectProc = "noaccess"; # implies MountAPIVFS + ProtectSystem = false; + RestrictAddressFamilies = "none"; + RestrictNamespaces = true; + RestrictRealtime = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service" + "@mount" + "@setuid" + "umount2" + ]; + User = "jellyfin"; + }; + }; +} diff --git a/hosts/iron/services/jellyfin/rar2fs_mounts.py b/hosts/iron/services/jellyfin/rar2fs_mounts.py new file mode 100644 index 0000000..aacbf38 --- /dev/null +++ b/hosts/iron/services/jellyfin/rar2fs_mounts.py @@ -0,0 +1,112 @@ +from pathlib import Path +import argparse +import errno +import os +import signal +import subprocess +import sys +import time + + +mounts = {} + + +class RarMount: + process = None + + @property + def mountpoint(self): + result = self.mount_root / self.rar_file.relative_to(self.rar_root).parent + return result + + def __init__(self, mount_root: str, rar_file: Path, rar_root: Path): + self.mount_root = mount_root + self.rar_file = rar_file + self.rar_root = rar_root + + os.makedirs(self.mountpoint, exist_ok=True) + + print(f"Mounting '{self.rar_file}' at '{self.mountpoint}'") + self.process = subprocess.Popen( + [ + "rar2fs", + "-f", + "-o", + "auto_unmount", + "-o", + "allow_other", + "--no-inherit-perm", + self.rar_file, + self.mountpoint, + ] + ) + + def __del__(self): + if self.process: + self.process.terminate() + self.process.communicate() + + for i in range(10): + try: + os.rmdir(self.mountpoint) + except FileNotFoundError: + pass + except OSError as ex: + # if ex.errno == errno.ENOEMPTY: + # break + if ex.errno == errno.EBUSY: + time.sleep(1) + raise + else: + break + + for dir in self.mountpoint.relative_to(self.mount_root).parents: + try: + os.rmdir(self.mount_root.joinpath(dir)) + except OSError as ex: + pass + + +def signal_handler(sig, frame): + for rar_file, mount in mounts.items(): + del mount + + sys.exit(0) + + +def parse_args(): + parser = argparse.ArgumentParser( + description="Recursively globs a path containing rar files and mounts them under a given mount path." + ) + + parser.add_argument("rar_path", type=Path, help="Path to the RAR directory") + + parser.add_argument("mount_path", type=Path, help="Path to the mount directory") + + return parser.parse_args() + + +def main(): + args = parse_args() + + if not args.rar_path.is_dir(): + parser.error(f"RAR path '{args.rar_path}' is not a valid directory.") + + signal.signal(signal.SIGINT, signal_handler) + + for rar_file in args.rar_path.rglob("*.rar"): + if rar_file in mounts: + continue + if len(rar_file.parts) >= 2 and rar_file.parts[-2].lower() in ["subs", "proof"]: + continue + + mounts[rar_file] = RarMount(args.mount_path, rar_file, args.rar_path) + + while True: + time.sleep(600) + + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/modules/unfree.nix b/modules/unfree.nix index 77e1c81..a24df1c 100644 --- a/modules/unfree.nix +++ b/modules/unfree.nix @@ -3,7 +3,9 @@ { nixpkgs.config.allowUnfreePredicate = pkg: lib.elem (lib.getName pkg) [ "mongodb" + "rar2fs" "roomeqwizard" "unifi-controller" + "unrar" ]; } From fc8ab454b7b8e5b33062c2f04abd6b9e580334d1 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 10 Oct 2025 11:02:09 +0200 Subject: [PATCH 745/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'gomod2nix': 'github:nix-community/gomod2nix/47d628dc3b506bd28632e47280c6b89d3496909d?narHash=sha256-JeuGh9kA1SPL70fnvpLxkIkCWpTjtoPaus3jzvdna0k%3D' (2025-08-24) → 'github:nix-community/gomod2nix/7f8d7438f5870eb167abaf2c39eea3d2302019d1?narHash=sha256-pDyrtUQyeP1lVTMIYqJtftzDtsXEZaJjYy9ZQ/SGhL8%3D' (2025-10-09) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/3441b5242af7577230a78ffb03542add264179ab?narHash=sha256-spZegilADH0q5OngM86u6NmXxduCNv5eX9vCiUPhOYc%3D' (2025-10-04) → 'github:nixos/nixos-hardware/d232c6f9ccad3af6d1b66f7feccece66f9aec61a?narHash=sha256-KwyyrQAdX1wD9HVhxotGxbSNdrVm4RGxAkbMKP6uSvE%3D' (2025-10-09) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/3bcc93c5f7a4b30335d31f21e2f1281cba68c318?narHash=sha256-YWo57PL7mGZU7D4WeKFMiW4ex/O6ZolUS6UNBHTZfkI%3D' (2025-10-04) → 'github:nixos/nixpkgs/20c4598c84a671783f741e02bf05cbfaf4907cff?narHash=sha256-a0%2Bh02lyP2KwSNrZz4wLJTu9ikujNsTWIC874Bv7IJ0%3D' (2025-10-06) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/f0a05ce889294b1c1e02377b086b9931554f5bf3?narHash=sha256-Fvh/nZ7x/msSPPPJXfEoCqgW9NIUQLSCJCCLr8bVMos%3D' (2025-10-05) → 'github:NixOS/nixpkgs/5b3275f79e9e0d8c29a7e2819ab6eddbe5cca66b?narHash=sha256-S%2BeueXZ1NyYh1JbM1OsPXl8lSkhldEj2EBuoJtjq%2BU8%3D' (2025-10-10) • Updated input 'nur': 'github:nix-community/NUR/dce08ba6904fcaad93c17ab65cf6b3e5dfc2d301?narHash=sha256-GkGJdNkR9gnVQt9OXwhGrD72EpK185jNVT7qoCh/3q4%3D' (2025-10-05) → 'github:nix-community/NUR/c84cfd2c38e5802149b7dd619f2d0eba522d0bc3?narHash=sha256-9IcKohgoH2WXYBcccqjTO0BnKMsHlDiEphyg7IQPaWg%3D' (2025-10-10) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/7df7ff7d8e00218376575f0acdcc5d66741351ee?narHash=sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs%3D' (2025-10-02) → 'github:nixos/nixpkgs/c9b6fb798541223bbb396d287d16f43520250518?narHash=sha256-vgPm2xjOmKdZ0xKA6yLXPJpjOtQPHfaZDRtH%2B47XEBo%3D' (2025-10-07) • Updated input 'vesc-tool': 'github:vedderb/vesc_tool/1f32af09ac21bd2bbb2e3a8b4148d1892636f8d9?narHash=sha256-v7P%2B2TVd0ZU6LFlBM0hg75bSRvnneefJZJ%2BAmzCf4Uk%3D' (2025-10-05) → 'github:vedderb/vesc_tool/cc9e1b48aa80628c06f5008727c3b6d6ea8fa93e?narHash=sha256-tdljAU7bb3/P4mEa6ezS7htB1U8O4%2BTAMU4KB2JEWUY%3D' (2025-10-08) --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 29dc015..d032928 100644 --- a/flake.lock +++ b/flake.lock @@ -243,11 +243,11 @@ ] }, "locked": { - "lastModified": 1756047880, - "narHash": "sha256-JeuGh9kA1SPL70fnvpLxkIkCWpTjtoPaus3jzvdna0k=", + "lastModified": 1759991118, + "narHash": "sha256-pDyrtUQyeP1lVTMIYqJtftzDtsXEZaJjYy9ZQ/SGhL8=", "owner": "nix-community", "repo": "gomod2nix", - "rev": "47d628dc3b506bd28632e47280c6b89d3496909d", + "rev": "7f8d7438f5870eb167abaf2c39eea3d2302019d1", "type": "github" }, "original": { @@ -402,11 +402,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1759582739, - "narHash": "sha256-spZegilADH0q5OngM86u6NmXxduCNv5eX9vCiUPhOYc=", + "lastModified": 1760053573, + "narHash": "sha256-KwyyrQAdX1wD9HVhxotGxbSNdrVm4RGxAkbMKP6uSvE=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "3441b5242af7577230a78ffb03542add264179ab", + "rev": "d232c6f9ccad3af6d1b66f7feccece66f9aec61a", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1759580034, - "narHash": "sha256-YWo57PL7mGZU7D4WeKFMiW4ex/O6ZolUS6UNBHTZfkI=", + "lastModified": 1759735786, + "narHash": "sha256-a0+h02lyP2KwSNrZz4wLJTu9ikujNsTWIC874Bv7IJ0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3bcc93c5f7a4b30335d31f21e2f1281cba68c318", + "rev": "20c4598c84a671783f741e02bf05cbfaf4907cff", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1759699079, - "narHash": "sha256-Fvh/nZ7x/msSPPPJXfEoCqgW9NIUQLSCJCCLr8bVMos=", + "lastModified": 1760086576, + "narHash": "sha256-S+eueXZ1NyYh1JbM1OsPXl8lSkhldEj2EBuoJtjq+U8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f0a05ce889294b1c1e02377b086b9931554f5bf3", + "rev": "5b3275f79e9e0d8c29a7e2819ab6eddbe5cca66b", "type": "github" }, "original": { @@ -482,11 +482,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1759381078, - "narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=", + "lastModified": 1759831965, + "narHash": "sha256-vgPm2xjOmKdZ0xKA6yLXPJpjOtQPHfaZDRtH+47XEBo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee", + "rev": "c9b6fb798541223bbb396d287d16f43520250518", "type": "github" }, "original": { @@ -518,11 +518,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1759696599, - "narHash": "sha256-GkGJdNkR9gnVQt9OXwhGrD72EpK185jNVT7qoCh/3q4=", + "lastModified": 1760083541, + "narHash": "sha256-9IcKohgoH2WXYBcccqjTO0BnKMsHlDiEphyg7IQPaWg=", "owner": "nix-community", "repo": "NUR", - "rev": "dce08ba6904fcaad93c17ab65cf6b3e5dfc2d301", + "rev": "c84cfd2c38e5802149b7dd619f2d0eba522d0bc3", "type": "github" }, "original": { @@ -729,11 +729,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1759670864, - "narHash": "sha256-v7P+2TVd0ZU6LFlBM0hg75bSRvnneefJZJ+AmzCf4Uk=", + "lastModified": 1759909745, + "narHash": "sha256-tdljAU7bb3/P4mEa6ezS7htB1U8O4+TAMU4KB2JEWUY=", "owner": "vedderb", "repo": "vesc_tool", - "rev": "1f32af09ac21bd2bbb2e3a8b4148d1892636f8d9", + "rev": "cc9e1b48aa80628c06f5008727c3b6d6ea8fa93e", "type": "github" }, "original": { From 81724a93e9892325077b13a0afbe47d02d917c9c Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Sun, 12 Oct 2025 03:19:03 +0200 Subject: [PATCH 746/766] Add BROFLIX logo --- hosts/iron/services/jellyfin/broflix.svg | 57 ++++++++++++++++++++++++ hosts/iron/services/jellyfin/default.nix | 25 ++++++++++- 2 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 hosts/iron/services/jellyfin/broflix.svg diff --git a/hosts/iron/services/jellyfin/broflix.svg b/hosts/iron/services/jellyfin/broflix.svg new file mode 100644 index 0000000..7653de9 --- /dev/null +++ b/hosts/iron/services/jellyfin/broflix.svg @@ -0,0 +1,57 @@ + + + + + + + + + unrar and chill + + diff --git a/hosts/iron/services/jellyfin/default.nix b/hosts/iron/services/jellyfin/default.nix index 1da1106..f5c31ab 100644 --- a/hosts/iron/services/jellyfin/default.nix +++ b/hosts/iron/services/jellyfin/default.nix @@ -1,6 +1,20 @@ -{ config, lib, ... }: +{ config, lib, pkgs, ... }: let inherit (config.networking) ports; + logoPng = pkgs.stdenvNoCC.mkDerivation { + name = "broflix.png"; + src = ./broflix.svg; + dontBuild = true; + dontUnpack = true; + installPhase = '' + export PATH="$PATH:${pkgs.lib.makeBinPath [pkgs.imagemagick]}" + convert \ + -background transparent \ + $src \ + -resize 1302x \ + $out + ''; + }; in { imports = [ @@ -76,6 +90,15 @@ in proxy_set_header X-Forwarded-Host $http_host; proxy_buffering off; } + location = /web/broflix.svg { + alias ${./broflix.svg}; + } + location = /web/assets/img/banner-light.png { + alias ${logoPng}; + } + location = /web/assets/img/banner-dark.png { + alias ${logoPng}; + } location = /web/ { proxy_pass http://127.0.0.1:${toString ports.jellyfin.tcp}/web/index.html; proxy_set_header Host $host; From c23cd959e322c684fc42eb5a3da7da2b55e1178d Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 2 Oct 2025 11:50:06 +0200 Subject: [PATCH 747/766] Add pipewire to iron --- hosts/iron/services/snapcast/alsa.nix | 6 ---- .../iron/services/snapcast/bluetooth-sink.nix | 24 +++++++++++---- hosts/iron/services/snapcast/default.nix | 15 +++++++++- hosts/iron/services/snapcast/ledfx.nix | 29 +++++++++++++++++-- hosts/iron/services/snapcast/snapclient.nix | 5 ++-- 5 files changed, 61 insertions(+), 18 deletions(-) delete mode 100644 hosts/iron/services/snapcast/alsa.nix diff --git a/hosts/iron/services/snapcast/alsa.nix b/hosts/iron/services/snapcast/alsa.nix deleted file mode 100644 index 1b8566e..0000000 --- a/hosts/iron/services/snapcast/alsa.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - boot.kernelModules = [ "snd-aloop" ]; - boot.extraModprobeConfig = '' - options snd-aloop id=ledfx,bluetooth enable=1,1 pcm_substreams=2,2 - ''; -} diff --git a/hosts/iron/services/snapcast/bluetooth-sink.nix b/hosts/iron/services/snapcast/bluetooth-sink.nix index 38cf8e3..43db142 100644 --- a/hosts/iron/services/snapcast/bluetooth-sink.nix +++ b/hosts/iron/services/snapcast/bluetooth-sink.nix @@ -1,7 +1,11 @@ { pkgs, ... }: { environment.systemPackages = with pkgs; [ - bluez-alsa + #bluez-alsa + bluez + bluez-tools + pipewire + wireplumber ]; hardware.bluetooth = { @@ -18,11 +22,17 @@ FastConnectable = "true"; # Allow repairing of existing devices JustWorksRepairing = "always"; + # to show battery state + Experimental = true; }; }; }; - services.blueman.enable = true; + services = { + blueman.enable = true; + ofono.enable = true; + upower.enable = true; + }; systemd.services = { bluetooth-auto-pair = { @@ -45,7 +55,8 @@ Restart = "on-failure"; }; }; - bluealsa-aplay = { + /* + bluealsa-aplay = { wantedBy = [ "multi-user.target" ]; serviceConfig = { DynamicUser = true; @@ -54,14 +65,15 @@ Restart = "on-failure"; SupplementaryGroups = [ "audio" ]; }; - }; - bluealsa-a2dp = { + }; + bluealsa-a2dp = { wantedBy = [ "multi-user.target" ]; serviceConfig = { Type = "simple"; ExecStart = "${pkgs.bluez-alsa}/bin/bluealsa -p a2dp-sink"; Restart = "on-failure"; }; - }; + }; + */ }; } diff --git a/hosts/iron/services/snapcast/default.nix b/hosts/iron/services/snapcast/default.nix index 803531e..496bb63 100644 --- a/hosts/iron/services/snapcast/default.nix +++ b/hosts/iron/services/snapcast/default.nix @@ -1,10 +1,23 @@ +{ pkgs, ... }: + { imports = [ - ./alsa.nix ./bluetooth-sink.nix ./ledfx.nix ./mopidy.nix ./snapclient.nix ./snapserver.nix ]; + + services.pipewire = { + enable = true; + systemWide = true; + audio.enable = true; + pulse.enable = true; + alsa.enable = true; + }; + + environment.systemPackages = [ pkgs.pulseaudio ]; + + users.users.jalr.extraGroups = [ "pipewire" ]; } diff --git a/hosts/iron/services/snapcast/ledfx.nix b/hosts/iron/services/snapcast/ledfx.nix index 4a4a3d6..d7db19d 100644 --- a/hosts/iron/services/snapcast/ledfx.nix +++ b/hosts/iron/services/snapcast/ledfx.nix @@ -7,6 +7,29 @@ in 8888 ]; + + services.pipewire.extraConfig.pipewire."10-ledfx-loop" = { + "context.modules" = [ + { + name = "libpipewire-module-loopback"; + args = { + "audio.position" = [ "FL,FR" ]; + "capture.props" = { + "media.class" = "Audio/Sink"; + "node.name" = "ledfx.input"; + "node.description" = "ledfx capture"; + }; + "playback.props" = { + "media.class" = "Audio/Source"; + "node.name" = "ledfx.output"; + "node.passive" = true; + }; + }; + } + ]; + }; + + systemd.services.snapclient-ledfx = { enable = true; description = "Snapcast client"; @@ -15,8 +38,8 @@ in wantedBy = [ "multi-user.target" ]; serviceConfig = { DynamicUser = "yes"; - ExecStart = "${pkgs.snapcast}/bin/snapclient --host 127.0.0.1 --hostID ledfx -i 2 --player alsa -s ledfx"; - Group = "audio"; + ExecStart = "${pkgs.snapcast}/bin/snapclient --host 127.0.0.1 --hostID ledfx -i 2 --player pulse -s ledfx.input"; + Group = "pipewire"; NoNewPrivileges = true; ProtectControlGroups = true; ProtectHome = true; @@ -37,7 +60,7 @@ in serviceConfig = { DynamicUser = "yes"; ExecStart = "${pkgs.ledfx}/bin/ledfx --host 0.0.0.0 -p 8888 -c %S/ledfx"; - Group = "audio"; + Group = "pipewire"; NoNewPrivileges = true; ProtectControlGroups = true; ProtectHome = true; diff --git a/hosts/iron/services/snapcast/snapclient.nix b/hosts/iron/services/snapcast/snapclient.nix index 27bb202..b0c4687 100644 --- a/hosts/iron/services/snapcast/snapclient.nix +++ b/hosts/iron/services/snapcast/snapclient.nix @@ -7,10 +7,11 @@ wants = [ "network.target" "sound.target" ]; after = [ "network.target" "sound.target" ]; wantedBy = [ "multi-user.target" ]; + environment.PULSE_SERVER = "unix:/run/pulse/native"; serviceConfig = { DynamicUser = "yes"; - ExecStart = "${pkgs.snapcast}/bin/snapclient --host 127.0.0.1 -s DAC"; - Group = "audio"; + ExecStart = "${pkgs.snapcast}/bin/snapclient --host 127.0.0.1 --player pulse -s alsa_output.usb-Burr-Brown_from_TI_USB_Audio_DAC-00.analog-stereo"; + Group = "pipewire"; NoNewPrivileges = true; ProtectControlGroups = true; ProtectHome = true; From 1baad7a328619447b4689d2e3de6a0dc1a7ec82c Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Thu, 23 Oct 2025 10:00:02 +0200 Subject: [PATCH 748/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/67ff9807dd148e704baadbd4fd783b54282ca627?narHash=sha256-IGmaEf3Do8o5Cwp1kXBN1wQmZwQN3NLfq5t4nHtVtcU%3D' (2025-09-19) → 'github:nix-community/disko/3a9450b26e69dcb6f8de6e2b07b3fc1c288d85f5?narHash=sha256-y7UhnWlER8r776JsySqsbTUh2Txf7K30smfHlqdaIQw%3D' (2025-10-17) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/cfc9f7bb163ad8542029d303e599c0f7eee09835?narHash=sha256-PTod9NG%2Bi3XbbnBKMl/e5uHDBYpwIWivQ3gOWSEuIEM%3D' (2025-10-03) → 'github:cachix/git-hooks.nix/ca5b894d3e3e151ffc1db040b6ce4dcc75d31c37?narHash=sha256-BflA6U4AM1bzuRMR8QqzPXqh8sWVCNDzOdsxXEguJIc%3D' (2025-10-17) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/d232c6f9ccad3af6d1b66f7feccece66f9aec61a?narHash=sha256-KwyyrQAdX1wD9HVhxotGxbSNdrVm4RGxAkbMKP6uSvE%3D' (2025-10-09) → 'github:nixos/nixos-hardware/d6645c340ef7d821602fd2cd199e8d1eed10afbc?narHash=sha256-2m1S4jl%2BGEDtlt2QqeHil8Ny456dcGSKJAM7q3j/BFU%3D' (2025-10-20) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/20c4598c84a671783f741e02bf05cbfaf4907cff?narHash=sha256-a0%2Bh02lyP2KwSNrZz4wLJTu9ikujNsTWIC874Bv7IJ0%3D' (2025-10-06) → 'github:nixos/nixpkgs/481cf557888e05d3128a76f14c76397b7d7cc869?narHash=sha256-G/iC4t/9j/52i/nm%2B0/4ybBmAF4hzR8CNHC75qEhjHo%3D' (2025-10-21) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/5b3275f79e9e0d8c29a7e2819ab6eddbe5cca66b?narHash=sha256-S%2BeueXZ1NyYh1JbM1OsPXl8lSkhldEj2EBuoJtjq%2BU8%3D' (2025-10-10) → 'github:NixOS/nixpkgs/d05426b82736631cf0a4dc8bceef1e52a4326dd7?narHash=sha256-XS7PTk22esg%2BHHg5OSF6%2BjgR6X/2WbzHj1CC8aS0x9E%3D' (2025-10-23) • Updated input 'nur': 'github:nix-community/NUR/c84cfd2c38e5802149b7dd619f2d0eba522d0bc3?narHash=sha256-9IcKohgoH2WXYBcccqjTO0BnKMsHlDiEphyg7IQPaWg%3D' (2025-10-10) → 'github:nix-community/NUR/1d182e3ee8a3a55dc50ff907877294652606a152?narHash=sha256-YF83M84JXliUtQjVsOeXMOtZNnhmTRd9YwH8aVUu1Io%3D' (2025-10-23) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/c9b6fb798541223bbb396d287d16f43520250518?narHash=sha256-vgPm2xjOmKdZ0xKA6yLXPJpjOtQPHfaZDRtH%2B47XEBo%3D' (2025-10-07) → 'github:nixos/nixpkgs/01f116e4df6a15f4ccdffb1bcd41096869fb385c?narHash=sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d%2BdAiC3H%2BCDle4%3D' (2025-10-22) • Updated input 'sops-nix': 'github:Mic92/sops-nix/6e5a38e08a2c31ae687504196a230ae00ea95133?narHash=sha256-UvzKi02LMFP74csFfwLPAZ0mrE7k6EiYaKecplyX9Qk%3D' (2025-10-05) → 'github:Mic92/sops-nix/5a7d18b5c55642df5c432aadb757140edfeb70b3?narHash=sha256-ee2e1/AeGL5X8oy/HXsZQvZnae6XfEVdstGopKucYLY%3D' (2025-10-20) • Updated input 'vesc-tool': 'github:vedderb/vesc_tool/cc9e1b48aa80628c06f5008727c3b6d6ea8fa93e?narHash=sha256-tdljAU7bb3/P4mEa6ezS7htB1U8O4%2BTAMU4KB2JEWUY%3D' (2025-10-08) → 'github:vedderb/vesc_tool/8a6de0dda75e62681e7252a1512f34a5f4e70640?narHash=sha256-%2Bvk8SRGknwg5Q8y/R4oHkiLxe2SDQDYGj8jK7Xaeu6c%3D' (2025-10-17) --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index d032928..a706fcc 100644 --- a/flake.lock +++ b/flake.lock @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1758287904, - "narHash": "sha256-IGmaEf3Do8o5Cwp1kXBN1wQmZwQN3NLfq5t4nHtVtcU=", + "lastModified": 1760701190, + "narHash": "sha256-y7UhnWlER8r776JsySqsbTUh2Txf7K30smfHlqdaIQw=", "owner": "nix-community", "repo": "disko", - "rev": "67ff9807dd148e704baadbd4fd783b54282ca627", + "rev": "3a9450b26e69dcb6f8de6e2b07b3fc1c288d85f5", "type": "github" }, "original": { @@ -386,11 +386,11 @@ ] }, "locked": { - "lastModified": 1759523803, - "narHash": "sha256-PTod9NG+i3XbbnBKMl/e5uHDBYpwIWivQ3gOWSEuIEM=", + "lastModified": 1760663237, + "narHash": "sha256-BflA6U4AM1bzuRMR8QqzPXqh8sWVCNDzOdsxXEguJIc=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "cfc9f7bb163ad8542029d303e599c0f7eee09835", + "rev": "ca5b894d3e3e151ffc1db040b6ce4dcc75d31c37", "type": "github" }, "original": { @@ -402,11 +402,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1760053573, - "narHash": "sha256-KwyyrQAdX1wD9HVhxotGxbSNdrVm4RGxAkbMKP6uSvE=", + "lastModified": 1760958188, + "narHash": "sha256-2m1S4jl+GEDtlt2QqeHil8Ny456dcGSKJAM7q3j/BFU=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "d232c6f9ccad3af6d1b66f7feccece66f9aec61a", + "rev": "d6645c340ef7d821602fd2cd199e8d1eed10afbc", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1759735786, - "narHash": "sha256-a0+h02lyP2KwSNrZz4wLJTu9ikujNsTWIC874Bv7IJ0=", + "lastModified": 1761016216, + "narHash": "sha256-G/iC4t/9j/52i/nm+0/4ybBmAF4hzR8CNHC75qEhjHo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "20c4598c84a671783f741e02bf05cbfaf4907cff", + "rev": "481cf557888e05d3128a76f14c76397b7d7cc869", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1760086576, - "narHash": "sha256-S+eueXZ1NyYh1JbM1OsPXl8lSkhldEj2EBuoJtjq+U8=", + "lastModified": 1761206094, + "narHash": "sha256-XS7PTk22esg+HHg5OSF6+jgR6X/2WbzHj1CC8aS0x9E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5b3275f79e9e0d8c29a7e2819ab6eddbe5cca66b", + "rev": "d05426b82736631cf0a4dc8bceef1e52a4326dd7", "type": "github" }, "original": { @@ -482,11 +482,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1759831965, - "narHash": "sha256-vgPm2xjOmKdZ0xKA6yLXPJpjOtQPHfaZDRtH+47XEBo=", + "lastModified": 1761114652, + "narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c9b6fb798541223bbb396d287d16f43520250518", + "rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c", "type": "github" }, "original": { @@ -518,11 +518,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1760083541, - "narHash": "sha256-9IcKohgoH2WXYBcccqjTO0BnKMsHlDiEphyg7IQPaWg=", + "lastModified": 1761205534, + "narHash": "sha256-YF83M84JXliUtQjVsOeXMOtZNnhmTRd9YwH8aVUu1Io=", "owner": "nix-community", "repo": "NUR", - "rev": "c84cfd2c38e5802149b7dd619f2d0eba522d0bc3", + "rev": "1d182e3ee8a3a55dc50ff907877294652606a152", "type": "github" }, "original": { @@ -634,11 +634,11 @@ ] }, "locked": { - "lastModified": 1759635238, - "narHash": "sha256-UvzKi02LMFP74csFfwLPAZ0mrE7k6EiYaKecplyX9Qk=", + "lastModified": 1760998189, + "narHash": "sha256-ee2e1/AeGL5X8oy/HXsZQvZnae6XfEVdstGopKucYLY=", "owner": "Mic92", "repo": "sops-nix", - "rev": "6e5a38e08a2c31ae687504196a230ae00ea95133", + "rev": "5a7d18b5c55642df5c432aadb757140edfeb70b3", "type": "github" }, "original": { @@ -729,11 +729,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1759909745, - "narHash": "sha256-tdljAU7bb3/P4mEa6ezS7htB1U8O4+TAMU4KB2JEWUY=", + "lastModified": 1760697314, + "narHash": "sha256-+vk8SRGknwg5Q8y/R4oHkiLxe2SDQDYGj8jK7Xaeu6c=", "owner": "vedderb", "repo": "vesc_tool", - "rev": "cc9e1b48aa80628c06f5008727c3b6d6ea8fa93e", + "rev": "8a6de0dda75e62681e7252a1512f34a5f4e70640", "type": "github" }, "original": { From 0a2a569682b7ed3c0f6c31121cc8281221b79160 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 24 Oct 2025 12:01:58 +0200 Subject: [PATCH 749/766] Remove gnused it is not required --- pkgs/pomodoro-timer/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/pomodoro-timer/default.nix b/pkgs/pomodoro-timer/default.nix index 4af648b..a3638f8 100644 --- a/pkgs/pomodoro-timer/default.nix +++ b/pkgs/pomodoro-timer/default.nix @@ -2,7 +2,6 @@ , stdenv , yad , uair -, gnused , writeShellScript , makeDesktopItem , imagemagick @@ -10,7 +9,7 @@ let pomodoroTimer = writeShellScript "pomodoro-timer" '' - export PATH=${lib.makeBinPath [yad uair gnused]} + export PATH=${lib.makeBinPath [yad uair]} uairctl listen -o yad \ | yad \ --title="Pomodoro" \ From c9a956bc6331257768473f7e8426472fa7822bb0 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 24 Oct 2025 17:38:34 +0200 Subject: [PATCH 750/766] Rework solarized --- users/jalr/modules/solarized.nix | 87 +++++++++++---- users/jalr/modules/sway/default.nix | 69 ++++++------ users/jalr/modules/sway/waybar.nix | 44 ++------ users/jalr/modules/sway/wofi.nix | 157 ++++++++++++++-------------- 4 files changed, 186 insertions(+), 171 deletions(-) diff --git a/users/jalr/modules/solarized.nix b/users/jalr/modules/solarized.nix index 5390a31..baa2547 100644 --- a/users/jalr/modules/solarized.nix +++ b/users/jalr/modules/solarized.nix @@ -1,23 +1,68 @@ -builtins.mapAttrs - (_: hex: { - inherit hex; - rgb = builtins.concatStringsSep "," (map (f: toString (builtins.fromTOML "i = 0x${f hex}").i) (map (pos: builtins.substring pos 2) [ 1 3 5 ])); - }) +let + colors = { + base00 = "#657b83"; + base01 = "#586e75"; + base02 = "#073642"; + base03 = "#002b36"; + base0 = "#839496"; + base1 = "#93a1a1"; + base2 = "#eee8d5"; + base3 = "#fdf6e3"; + blue = "#268bd2"; + cyan = "#2aa198"; + green = "#859900"; + magenta = "#d33682"; + orange = "#cb4b16"; + red = "#dc322f"; + violet = "#6c71c4"; + yellow = "#b58900"; + }; + common = { + base08 = colors.red; + base09 = colors.orange; + base0A = colors.yellow; + base0B = colors.green; + base0C = colors.cyan; + base0D = colors.blue; + base0E = colors.violet; + base0F = colors.magenta; + }; + light = common // { + base00 = colors.base3; + base01 = colors.base2; + base02 = colors.base1; + base03 = colors.base0; + base04 = colors.base00; + base05 = colors.base01; + base06 = colors.base02; + base07 = colors.base03; + }; + dark = common // { + base00 = colors.base03; + base01 = colors.base02; + base02 = colors.base01; + base03 = colors.base00; + base04 = colors.base0; + base05 = colors.base1; + base06 = colors.base2; + base07 = colors.base3; + }; + toRgb = hex: builtins.concatStringsSep "," ( + map + ( + f: toString (builtins.fromTOML "i = 0x${f hex}").i + ) + ( + map (pos: builtins.substring pos 2) [ 1 3 5 ] + ) + ); + makeScheme = colors: { + hex = colors; + rgb = builtins.mapAttrs (_: hex: (toRgb hex)) colors; + }; +in { - base00 = "#657b83"; - base01 = "#586e75"; - base02 = "#073642"; - base03 = "#002b36"; - base0 = "#839496"; - base1 = "#93a1a1"; - base2 = "#eee8d5"; - base3 = "#fdf6e3"; - blue = "#268bd2"; - cyan = "#2aa198"; - green = "#859900"; - magenta = "#d33682"; - orange = "#cb4b16"; - red = "#dc322f"; - violet = "#6c71c4"; - yellow = "#b58900"; + inherit colors; + light = makeScheme light; + dark = makeScheme dark; } diff --git a/users/jalr/modules/sway/default.nix b/users/jalr/modules/sway/default.nix index 2202b71..2d7bb71 100644 --- a/users/jalr/modules/sway/default.nix +++ b/users/jalr/modules/sway/default.nix @@ -363,40 +363,39 @@ in }; }; - xdg.configFile = { - "sway/light-theme".text = with solarized; '' - client.focused ${base01.hex} ${blue.hex} ${base3.hex} ${blue.hex} ${blue.hex} - client.focused_inactive ${base2.hex} ${base2.hex} ${base01.hex} ${base0.hex} ${base2.hex} - client.unfocused ${base2.hex} ${base3.hex} ${base01.hex} ${base2.hex} ${base2.hex} - client.urgent ${red.hex} ${red.hex} ${base3.hex} ${red.hex} ${red.hex} - ''; - "sway/dark-theme".text = with solarized; '' - client.focused ${base1.hex} ${blue.hex} ${base03.hex} ${blue.hex} ${blue.hex} - client.focused_inactive ${base02.hex} ${base02.hex} ${base1.hex} ${base03.hex} ${base02.hex} - client.unfocused ${base02.hex} ${base03.hex} ${base1.hex} ${base02.hex} ${base02.hex} - client.urgent ${red.hex} ${red.hex} ${base03.hex} ${red.hex} ${red.hex} - ''; - "swaynag/config".text = - let - # adding it to the header doesn’t work since the defaults overwrite it - commonConfig = /* ini */ '' - background=${lib.substring 1 6 solarized.base3.hex} - border-bottom=${lib.substring 1 6 solarized.base2.hex} - border=${lib.substring 1 6 solarized.base2.hex} - button-background=${lib.substring 1 6 solarized.base3.hex} - button-text=${lib.substring 1 6 solarized.base00.hex} - ''; - in - /* ini */ '' - font=Monospace 12 - - [warning] - text=${lib.substring 1 6 solarized.yellow.hex} - ${commonConfig} - - [error] - text=${lib.substring 1 6 solarized.red.hex} - ${commonConfig} + xdg.configFile = + let + makeTheme = scheme: '' + client.focused ${scheme.base05} ${scheme.base0D} ${scheme.base00} ${scheme.base0D} ${scheme.base0D} + client.focused_inactive ${scheme.base01} ${scheme.base01} ${scheme.base05} ${scheme.base03} ${scheme.base01} + client.unfocused ${scheme.base01} ${scheme.base00} ${scheme.base05} ${scheme.base01} ${scheme.base01} + client.urgent ${scheme.base08} ${scheme.base08} ${scheme.base00} ${scheme.base08} ${scheme.base08} ''; - }; + in + { + "sway/light-theme".text = makeTheme solarized.light.hex; + "sway/dark-theme".text = makeTheme solarized.dark.hex; + "swaynag/config".text = + let + # adding it to the header doesn’t work since the defaults overwrite it + commonConfig = /* ini */ '' + background=${lib.substring 1 6 solarized.colors.base3} + border-bottom=${lib.substring 1 6 solarized.colors.base2} + border=${lib.substring 1 6 solarized.colors.base2} + button-background=${lib.substring 1 6 solarized.colors.base3} + button-text=${lib.substring 1 6 solarized.colors.base00} + ''; + in + /* ini */ '' + font=Monospace 12 + + [warning] + text=${lib.substring 1 6 solarized.colors.yellow} + ${commonConfig} + + [error] + text=${lib.substring 1 6 solarized.colors.red} + ${commonConfig} + ''; + }; }) diff --git a/users/jalr/modules/sway/waybar.nix b/users/jalr/modules/sway/waybar.nix index 628e3e8..b30d1ae 100644 --- a/users/jalr/modules/sway/waybar.nix +++ b/users/jalr/modules/sway/waybar.nix @@ -18,7 +18,11 @@ let thinsp = " "; solarized = import ../solarized.nix; - solarizedColors = as: lib.strings.concatLines (lib.attrsets.mapAttrsToList (name: value: let color = solarized."${value}".hex; in "@define-color ${name} ${color};") as); + solarizedColors = lib.attrsets.mapAttrsToList (name: color: "@define-color ${name} ${color};"); + themeCss = { + light = lib.strings.concatLines (solarizedColors solarized.light.hex); + dark = lib.strings.concatLines (solarizedColors solarized.dark.hex); + }; in { # home-manager’s waybar module performs additional checks that are overly strict @@ -253,42 +257,8 @@ in }; xdg.configFile = { - "waybar/theme-light.css".text = solarizedColors { - base00 = "base3"; - base01 = "base2"; - base02 = "base1"; - base03 = "base0"; - base04 = "base00"; - base05 = "base01"; - base06 = "base02"; - base07 = "base03"; - base08 = "red"; - base09 = "orange"; - base0A = "yellow"; - base0B = "green"; - base0C = "cyan"; - base0D = "blue"; - base0E = "violet"; - base0F = "magenta"; - }; - "waybar/theme-dark.css".text = solarizedColors { - base00 = "base03"; - base01 = "base02"; - base02 = "base01"; - base03 = "base00"; - base04 = "base0"; - base05 = "base1"; - base06 = "base2"; - base07 = "base3"; - base08 = "red"; - base09 = "orange"; - base0A = "yellow"; - base0B = "green"; - base0C = "cyan"; - base0D = "blue"; - base0E = "violet"; - base0F = "magenta"; - }; + "waybar/theme-light.css".text = themeCss.light; + "waybar/theme-dark.css".text = themeCss.dark; "waybar/style.css".text = '' @import "theme.css"; diff --git a/users/jalr/modules/sway/wofi.nix b/users/jalr/modules/sway/wofi.nix index ca8eb9a..44d2914 100644 --- a/users/jalr/modules/sway/wofi.nix +++ b/users/jalr/modules/sway/wofi.nix @@ -1,91 +1,92 @@ { lib, ... }: let - solarized = import ../solarized.nix; + inherit (import ../solarized.nix) colors; in { - xdg.configFile = { - "wofi/color-light".text = lib.strings.concatLines (map (c: solarized."${c}".hex) [ - "base3" - "base2" - "base1" - "base0" - "base00" - "base01" - "base02" - "base03" - "red" - "orange" - "yellow" - "green" - "cyan" - "blue" - "violet" - "magenta" - ]); - "wofi/color-dark".text = lib.strings.concatLines (map (c: solarized."${c}".hex) [ - "base03" - "base02" - "base01" - "base00" - "base0" - "base1" - "base2" - "base3" - "red" - "orange" - "yellow" - "green" - "cyan" - "blue" - "violet" - "magenta" - ]); - "wofi/style.css".text = '' - window { - margin: 0px; - border: 3px solid --wofi-color1; - border-radius: 8px; - background-color: rgba(--wofi-rgb-color0,0.8); - } + xdg.configFile = + let + commonColors = with colors; [ + red + orange + yellow + green + cyan + blue + violet + magenta + ]; + in + { + "wofi/color-light".text = with colors; lib.strings.concatLines ( + [ + base3 + base2 + base1 + base0 + base00 + base01 + base02 + base03 + ] ++ commonColors + ); + "wofi/color-dark".text = with colors; lib.strings.concatLines ( + with colors; [ + base03 + base02 + base01 + base00 + base0 + base1 + base2 + base3 + ] ++ commonColors + ); + "wofi/style.css".text = '' + window { + margin: 0px; + border: 3px solid --wofi-color1; + border-radius: 8px; + background-color: rgba(--wofi-rgb-color0,0.8); + } - #input { - margin: 5px; - border: none; - color: --wofi-color4; - background-color: rgba(--wofi-rgb-color1,0.8); - } + #input { + margin: 5px; + border: none; + color: --wofi-color4; + background-color: rgba(--wofi-rgb-color1,0.8); + } - #inner-box { - margin: 5px; - border: none; - background: none; - } + #inner-box { + margin: 5px; + border: none; + background: none; + } - #outer-box { - margin: 5px; - border: none; - background: none; - } + #outer-box { + margin: 5px; + border: none; + background: none; + } - #scroll { - margin: 0px; - border: none; - } + #scroll { + margin: 0px; + border: none; + } - #text { - margin: 5px; - border: none; - color: --wofi-color4; - } + #text { + margin: 5px; + border: none; + color: --wofi-color4; + } - #entry:selected { - background-color: rgba(--wofi-rgb-color1,0.8); - } + #entry:selected { + background-color: rgba(--wofi-rgb-color1,0.8); + } - #entry:selected #text{ - color: --wofi-color11; - } - ''; - }; + #entry:selected #text{ + color: --wofi-color11; + } + ''; + }; } From be924e6c873c00c73b5baf86bfefe16ce96b0f93 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 24 Oct 2025 20:57:34 +0200 Subject: [PATCH 751/766] Replace pavucontrol with mixxc --- users/jalr/modules/default.nix | 1 + users/jalr/modules/mixxc/default.nix | 10 ++ users/jalr/modules/mixxc/style.css | 224 +++++++++++++++++++++++++++ users/jalr/modules/sway/default.nix | 1 + users/jalr/modules/sway/waybar.nix | 2 +- 5 files changed, 237 insertions(+), 1 deletion(-) create mode 100644 users/jalr/modules/mixxc/default.nix create mode 100644 users/jalr/modules/mixxc/style.css diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index 30ed808..0b32c3e 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -21,6 +21,7 @@ ./jameica.nix ./kicad.nix ./lsd + ./mixxc ./mpv.nix ./mute-indicator.nix ./mycli diff --git a/users/jalr/modules/mixxc/default.nix b/users/jalr/modules/mixxc/default.nix new file mode 100644 index 0000000..efde8d1 --- /dev/null +++ b/users/jalr/modules/mixxc/default.nix @@ -0,0 +1,10 @@ +{ nixosConfig, lib, pkgs, ... }: + +lib.mkIf nixosConfig.jalr.gui.enable { + home.packages = with pkgs; [ + mixxc + ]; + xdg.configFile = { + "mixxc/style.css".source = ./style.css; + }; +} diff --git a/users/jalr/modules/mixxc/style.css b/users/jalr/modules/mixxc/style.css new file mode 100644 index 0000000..33dbf39 --- /dev/null +++ b/users/jalr/modules/mixxc/style.css @@ -0,0 +1,224 @@ +.side { + $hide: false; + + .output { + transition: background 750ms; + padding: 5px; + + &.master { + transition: background 0ms; + } + + &.master:hover { + } + + .icon { + -gtk-icon-style: symbolic; + -gtk-icon-size: 16px; + } + } + + @if $hide { + min-height: 0; + min-width: 0; + + .output { + padding: 0; + + .icon { + -gtk-icon-style: symbolic; + -gtk-icon-size: 0; + } + } + } +} + +.main { + margin: 20px; +} + +.client { + $hide-name: false; + $hide-description: false; + + font-family: 'Iosevka Nerd Font'; + font-size: 1.2em; + + .icon { + -gtk-icon-style: symbolic; + } + + @if $hide-name { + .name { + font-size: 0; + } + } + + @if $hide-description { + .description { + font-size: 0; + } + } + + scale { + trough { + /* Slider Bar */ + border-radius: 10px; + + slider { + /* Slider Knob */ + padding: 0; + + border: none; + border-radius: 2px; + + transition-duration: 400ms; + } + + highlight { + /* Slider Bar Filled */ + border: none; + border-radius: 10px; + + margin: 2px; + + transition: background-image 300ms; + } + + fill { + /* Slider Peak */ + background: none; + + border-radius: 10px; + + margin: 0px; + } + } + } + + scale:active { + trough slider { + /* Slider Knob */ + transform: scale(1.1); + } + } +} + +.client.horizontal { + &.new { + animation: client-add-horizontal 300ms ease; + } + + &.removed { + animation: client-remove-horizontal 300ms ease; + } + + .icon { + padding-right: 13px; + + -gtk-icon-size: 16px; + } + + .volume { + /* Numeric Volume Level */ + padding-left: 22px; + padding-bottom: 3px; + } + + scale { + trough { + /* Slider Bar */ + min-height: 6px; + + slider { + /* Slider Knob */ + min-height: 21px; + min-width: 9px; + + margin-top: -7px; + margin-bottom: -7px; + } + } + } + +} + +@keyframes client-add-horizontal { + from { + transform: translateX(-200px); + opacity: 0; + } + to { + opacity: 1; + } +} + +@keyframes client-remove-horizontal { + from { + opacity: 1; + } + to { + transform: translateX(-200px); + opacity: 0; + } +} + +.client.vertical { + &.new { + animation: client-add-vertical 300ms ease; + } + + &.removed { + animation: client-remove-vertical 300ms ease; + } + + .icon { + padding-bottom: 5px; + + -gtk-icon-size: 20px; + } + + .volume { + /* Numeric Volume Level */ + padding-top: 10px; + } + + scale { + trough { + /* Slider Bar */ + min-width: 4px; + + margin-top: 10px; + + slider { + /* Slider Knob */ + margin-left: -7px; + margin-right: -7px; + + min-height: 6px; + min-width: 14px; + } + } + } +} + +@keyframes client-add-vertical { + from { + transform: translateY(200px); + opacity: 0; + } + to { + opacity: 1; + } +} + +@keyframes client-remove-vertical { + from { + opacity: 1; + } + to { + transform: translateY(200px); + opacity: 0; + } +} + diff --git a/users/jalr/modules/sway/default.nix b/users/jalr/modules/sway/default.nix index 2d7bb71..7e4e764 100644 --- a/users/jalr/modules/sway/default.nix +++ b/users/jalr/modules/sway/default.nix @@ -234,6 +234,7 @@ in "XF86AudioMute" = "exec pactl set-source-mute alsa_input.usb-BEHRINGER_UMC202HD_192k-00.HiFi__umc202hd_mono_in_U192k_0_1__source toggle"; "${cfg.modifier}+l" = "exec ${lockScreen}"; + "${cfg.modifier}+v" = "exec GSK_RENDERER=cairo GTK_USE_PORTAL=0 ${pkgs.mixxc}/bin/mixxc -A"; }; bars = [ ]; # managed as systemd user unit diff --git a/users/jalr/modules/sway/waybar.nix b/users/jalr/modules/sway/waybar.nix index b30d1ae..a275d36 100644 --- a/users/jalr/modules/sway/waybar.nix +++ b/users/jalr/modules/sway/waybar.nix @@ -171,7 +171,7 @@ in phone = "󰏲"; portable = "󰏲"; }; - on-click-right = "${pkgs.pavucontrol}/bin/pavucontrol"; + on-click-right = "GSK_RENDERER=cairo GTK_USE_PORTAL=0 ${pkgs.mixxc}/bin/mixxc -A -a t -a r"; }; network = { format-wifi = "{essid} ({signalStrength}%) 󰖩 "; From 8c72e2ed3ab9fe49947a0f8c4f75bd3ba957e34f Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 24 Oct 2025 23:00:06 +0200 Subject: [PATCH 752/766] fixup! Rework solarized --- users/jalr/modules/mycli/default.nix | 68 +++++++++++++++------------- 1 file changed, 36 insertions(+), 32 deletions(-) diff --git a/users/jalr/modules/mycli/default.nix b/users/jalr/modules/mycli/default.nix index e023039..844102b 100644 --- a/users/jalr/modules/mycli/default.nix +++ b/users/jalr/modules/mycli/default.nix @@ -105,39 +105,43 @@ let }; }; - colors = { - common = { - "output.header" = "bold ${solarized.green.hex}"; - "sql.datatype" = "nobold ${solarized.yellow.hex}"; - "sql.function" = "bold ${solarized.violet.hex}"; - "sql.keyword" = solarized.green.hex; - "sql.literal" = solarized.green.hex; - "sql.number" = solarized.cyan.hex; - "sql.string" = solarized.cyan.hex; - "sql.variable" = solarized.red.hex; - "sql.quoted-schema-object" = solarized.blue.hex; + colors = + let + c = solarized.colors; + in + { + common = { + "output.header" = "bold ${c.green}"; + "sql.datatype" = "nobold ${c.yellow}"; + "sql.function" = "bold ${c.violet}"; + "sql.keyword" = c.green; + "sql.literal" = c.green; + "sql.number" = c.cyan; + "sql.string" = c.cyan; + "sql.variable" = c.red; + "sql.quoted-schema-object" = c.blue; + }; + light = { + "prompt" = "bg:${c.blue} ${c.base02}"; + "selected" = "bg:${c.base2} ${c.base00}"; + "output.odd-row" = "${c.base01}"; + "output.even-row" = "${c.base01} bg:${c.base2}"; + "sql.comment" = "italic ${c.base1}"; + "sql.operator" = "bold ${c.base02}"; + "sql.punctuation" = "bold ${c.base01}"; + "sql.symbol" = "${c.base01}"; + }; + dark = { + "prompt" = "bg:${c.blue} ${c.base2}"; + "selected" = "bg:${c.base02} ${c.base0}"; + "output.odd-row" = "${c.base1}"; + "output.even-row" = "${c.base1} bg:${c.base02}"; + "sql.comment" = "italic ${c.base01}"; + "sql.operator" = "bold ${c.base2}"; + "sql.punctuation" = "bold ${c.base1}"; + "sql.symbol" = "${c.base1}"; + }; }; - light = { - "prompt" = "bg:${solarized.blue.hex} ${solarized.base02.hex}"; - "selected" = "bg:${solarized.base2.hex} ${solarized.base00.hex}"; - "output.odd-row" = "${solarized.base01.hex}"; - "output.even-row" = "${solarized.base01.hex} bg:${solarized.base2.hex}"; - "sql.comment" = "italic ${solarized.base1.hex}"; - "sql.operator" = "bold ${solarized.base02.hex}"; - "sql.punctuation" = "bold ${solarized.base01.hex}"; - "sql.symbol" = "${solarized.base01.hex}"; - }; - dark = { - "prompt" = "bg:${solarized.blue.hex} ${solarized.base2.hex}"; - "selected" = "bg:${solarized.base02.hex} ${solarized.base0.hex}"; - "output.odd-row" = "${solarized.base1.hex}"; - "output.even-row" = "${solarized.base1.hex} bg:${solarized.base02.hex}"; - "sql.comment" = "italic ${solarized.base01.hex}"; - "sql.operator" = "bold ${solarized.base2.hex}"; - "sql.punctuation" = "bold ${solarized.base1.hex}"; - "sql.symbol" = "${solarized.base1.hex}"; - }; - }; in { home.packages = [ From d4a2f6df35118ccdb8ed9249c5c5cdf528a22ce4 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 24 Oct 2025 23:03:29 +0200 Subject: [PATCH 753/766] Add freetube --- users/jalr/modules/default.nix | 1 + users/jalr/modules/freetube.nix | 7 +++++++ 2 files changed, 8 insertions(+) create mode 100644 users/jalr/modules/freetube.nix diff --git a/users/jalr/modules/default.nix b/users/jalr/modules/default.nix index 0b32c3e..f97916b 100644 --- a/users/jalr/modules/default.nix +++ b/users/jalr/modules/default.nix @@ -14,6 +14,7 @@ ./firefox ./fish.nix ./fpv.nix + ./freetube.nix ./git.nix ./gnuradio.nix ./graphics diff --git a/users/jalr/modules/freetube.nix b/users/jalr/modules/freetube.nix new file mode 100644 index 0000000..3c45d96 --- /dev/null +++ b/users/jalr/modules/freetube.nix @@ -0,0 +1,7 @@ +{ nixosConfig, ... }: + +{ + programs.freetube = { + inherit (nixosConfig.jalr.gui) enable; + }; +} From 30c2bb63a07f894be1c9451862561f58cb69fee4 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 27 Oct 2025 23:04:54 +0100 Subject: [PATCH 754/766] Decrease brightness control steps to 1% --- users/jalr/modules/sway/waybar.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/users/jalr/modules/sway/waybar.nix b/users/jalr/modules/sway/waybar.nix index a275d36..c507ce9 100644 --- a/users/jalr/modules/sway/waybar.nix +++ b/users/jalr/modules/sway/waybar.nix @@ -152,8 +152,8 @@ in backlight = { format = "{percent}% {icon}"; format-icons = [ "󰛩" "󱩎" "󱩏" "󱩐" "󱩑" "󱩒" "󱩓" "󱩔" "󱩕" "󱩖" "󰛨" ]; - on-scroll-up = "${pkgs.brightnessctl}/bin/brightnessctl -q set +5%"; - on-scroll-down = "${pkgs.brightnessctl}/bin/brightnessctl -q set 5%-"; + on-scroll-up = "${pkgs.brightnessctl}/bin/brightnessctl -q set +1%"; + on-scroll-down = "${pkgs.brightnessctl}/bin/brightnessctl -q set 1%-"; }; pulseaudio = { format = "{volume}% {icon} {format_source}"; From bd4ee7054ed5b15ab7b072de2c5a171ab740addf Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 27 Oct 2025 23:06:02 +0100 Subject: [PATCH 755/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:nixos/nixpkgs/481cf557888e05d3128a76f14c76397b7d7cc869?narHash=sha256-G/iC4t/9j/52i/nm%2B0/4ybBmAF4hzR8CNHC75qEhjHo%3D' (2025-10-21) → 'github:nixos/nixpkgs/78e34d1667d32d8a0ffc3eba4591ff256e80576e?narHash=sha256-vY2OLVg5ZTobdroQKQQSipSIkHlxOTrIF1fsMzPh8w8%3D' (2025-10-26) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/d05426b82736631cf0a4dc8bceef1e52a4326dd7?narHash=sha256-XS7PTk22esg%2BHHg5OSF6%2BjgR6X/2WbzHj1CC8aS0x9E%3D' (2025-10-23) → 'github:NixOS/nixpkgs/8865b77677eb576ce1dbcb90b7a1ae95a774a6cd?narHash=sha256-rIne9pcxSoaLCxcyICguhH3SUzE9lep464L7zRGBbZk%3D' (2025-10-27) • Updated input 'nur': 'github:nix-community/NUR/1d182e3ee8a3a55dc50ff907877294652606a152?narHash=sha256-YF83M84JXliUtQjVsOeXMOtZNnhmTRd9YwH8aVUu1Io%3D' (2025-10-23) → 'github:nix-community/NUR/378c5c7b0b2471b59b71e42b229ea5e68050235d?narHash=sha256-0UtnyehKLys0HWhctZEjKN7zDe%2BML0HCDdqdfHk221o%3D' (2025-10-27) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/01f116e4df6a15f4ccdffb1bcd41096869fb385c?narHash=sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d%2BdAiC3H%2BCDle4%3D' (2025-10-22) → 'github:nixos/nixpkgs/6a08e6bb4e46ff7fcbb53d409b253f6bad8a28ce?narHash=sha256-Q/uhWNvd7V7k1H1ZPMy/vkx3F8C13ZcdrKjO7Jv7v0c%3D' (2025-10-25) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index a706fcc..6771af6 100644 --- a/flake.lock +++ b/flake.lock @@ -418,11 +418,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1761016216, - "narHash": "sha256-G/iC4t/9j/52i/nm+0/4ybBmAF4hzR8CNHC75qEhjHo=", + "lastModified": 1761468971, + "narHash": "sha256-vY2OLVg5ZTobdroQKQQSipSIkHlxOTrIF1fsMzPh8w8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "481cf557888e05d3128a76f14c76397b7d7cc869", + "rev": "78e34d1667d32d8a0ffc3eba4591ff256e80576e", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1761206094, - "narHash": "sha256-XS7PTk22esg+HHg5OSF6+jgR6X/2WbzHj1CC8aS0x9E=", + "lastModified": 1761601585, + "narHash": "sha256-rIne9pcxSoaLCxcyICguhH3SUzE9lep464L7zRGBbZk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d05426b82736631cf0a4dc8bceef1e52a4326dd7", + "rev": "8865b77677eb576ce1dbcb90b7a1ae95a774a6cd", "type": "github" }, "original": { @@ -482,11 +482,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1761114652, - "narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=", + "lastModified": 1761373498, + "narHash": "sha256-Q/uhWNvd7V7k1H1ZPMy/vkx3F8C13ZcdrKjO7Jv7v0c=", "owner": "nixos", "repo": "nixpkgs", - "rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c", + "rev": "6a08e6bb4e46ff7fcbb53d409b253f6bad8a28ce", "type": "github" }, "original": { @@ -518,11 +518,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1761205534, - "narHash": "sha256-YF83M84JXliUtQjVsOeXMOtZNnhmTRd9YwH8aVUu1Io=", + "lastModified": 1761601325, + "narHash": "sha256-0UtnyehKLys0HWhctZEjKN7zDe+ML0HCDdqdfHk221o=", "owner": "nix-community", "repo": "NUR", - "rev": "1d182e3ee8a3a55dc50ff907877294652606a152", + "rev": "378c5c7b0b2471b59b71e42b229ea5e68050235d", "type": "github" }, "original": { From e199dc603b56d010162f5dc2a214ca90381842e8 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 28 Oct 2025 04:04:44 +0100 Subject: [PATCH 756/766] Enable hardware-accelerated transcoding --- hosts/iron/configuration.nix | 10 +++++++++- hosts/iron/services/jellyfin/default.nix | 6 +++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/hosts/iron/configuration.nix b/hosts/iron/configuration.nix index cdf307b..57a422a 100644 --- a/hosts/iron/configuration.nix +++ b/hosts/iron/configuration.nix @@ -218,7 +218,15 @@ with lib; { }; }; - hardware.enableRedistributableFirmware = true; + hardware = { + enableRedistributableFirmware = true; + graphics = { + enable = true; + extraPackages = [ + pkgs.intel-vaapi-driver + ]; + }; + }; virtualisation.containers.storage.settings = { storage = { diff --git a/hosts/iron/services/jellyfin/default.nix b/hosts/iron/services/jellyfin/default.nix index f5c31ab..eb4e918 100644 --- a/hosts/iron/services/jellyfin/default.nix +++ b/hosts/iron/services/jellyfin/default.nix @@ -24,10 +24,12 @@ in services.jellyfin = { enable = true; }; + systemd.services.jellyfin = { serviceConfig = { ###MemoryDenyWriteExecute = true; BindPaths = [ + "/dev/dri/renderD128" "/var/cache/jellyfin" "/var/lib/jellyfin" ]; @@ -38,13 +40,15 @@ in "/filebitch/pub/Filme" "/filebitch/pub/Serien" "/nix/store" + "/run/opengl-driver" "/var/lib/qBittorrent/downloads" ]; CapabilityBoundingSet = ""; + DeviceAllow = "/dev/dri/renderD128 rw"; #IPAddressAllow = "localhost"; #IPAddressDeny = "any"; LockPersonality = true; - PrivateDevices = lib.mkForce true; + PrivateDevices = false; PrivateUsers = true; ProtectClock = true; ProtectControlGroups = true; From d139988fa9d8526a2c653f860dc14fbf56e555ac Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 28 Oct 2025 21:06:14 +0100 Subject: [PATCH 757/766] Use nightly build of Jameica as VoP is not available in a stable release yet. --- users/jalr/modules/jameica.nix | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/users/jalr/modules/jameica.nix b/users/jalr/modules/jameica.nix index d9472e0..e50c86e 100644 --- a/users/jalr/modules/jameica.nix +++ b/users/jalr/modules/jameica.nix @@ -1,6 +1,16 @@ { nixosConfig, lib, pkgs, ... }: lib.mkIf nixosConfig.jalr.gui.enable { - home.packages = with pkgs; [ - jameica + home.packages = [ + ( + pkgs.jameica.overrideAttrs (_: { + version = "2.11.0-nightly"; + src = pkgs.fetchFromGitHub { + owner = "willuhn"; + repo = "jameica"; + rev = "e51bffc0e42907cbd802a644ab52810e0a36fff8"; + hash = "sha256-0KcT52dh/tJSX6q+uKkRybz33jKnYRTNDo1BftwJLAc="; + }; + }) + ) ]; } From 5cb7783a167c359f8f4becb50c54a2bf1e67ea38 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Wed, 29 Oct 2025 14:07:06 +0100 Subject: [PATCH 758/766] Use avahi-daemon release candidate Let's see if this fixes the high CPU load issues. --- modules/avahi.nix | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/modules/avahi.nix b/modules/avahi.nix index d0653bf..c12bd75 100644 --- a/modules/avahi.nix +++ b/modules/avahi.nix @@ -1,8 +1,35 @@ -{ config, lib, ... }: +{ config, lib, pkgs, ... }: lib.mkIf config.jalr.gui.enable { services.avahi = { enable = true; + package = + let + xmltoman = pkgs.xmltoman.overrideAttrs (_: { + nativeBuildInputs = [ + pkgs.installShellFiles + ]; + buildInputs = [ + (pkgs.perl.withPackages (pl: [ + pl.XMLParser + ])) + ]; + }); + in + pkgs.avahi.overrideAttrs (o: rec { + version = "0.9-rc2"; + src = pkgs.fetchurl { + url = "https://github.com/avahi/avahi/archive/refs/tags/v${version}.tar.gz"; + sha256 = "sha256-9k7+1qlyz5LLLfs1q/aqkXPWK4Q7FYUML0CvdqQjj4o="; + }; + patches = [ ]; + buildInputs = o.buildInputs ++ [ pkgs.systemdLibs ]; + nativeBuildInputs = o.nativeBuildInputs ++ [ xmltoman ]; + installFlags = [ + "runstatedir=${placeholder "out"}/run" + "sysconfdir=${placeholder "out"}/etc" + ]; + }); nssmdns4 = true; extraConfig = '' [server] From 5de772dbd5a782279016db41dce38e9ad2b97819 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 3 Nov 2025 20:13:04 +0100 Subject: [PATCH 759/766] Use package from master --- modules/esphome/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/esphome/default.nix b/modules/esphome/default.nix index 9bf4609..4edf71e 100644 --- a/modules/esphome/default.nix +++ b/modules/esphome/default.nix @@ -32,7 +32,7 @@ in enable = true; address = "127.0.0.1"; inherit (cfg) port; - package = pkgs.esphome; + package = pkgs.master.esphome; }; systemd.services.esphome = { From d2e08e999c4c22ba1306a6c53e605b77473eba70 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 3 Nov 2025 20:13:18 +0100 Subject: [PATCH 760/766] Use package from master --- hosts/iron/services/snapcast/ledfx.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/iron/services/snapcast/ledfx.nix b/hosts/iron/services/snapcast/ledfx.nix index d7db19d..99ee625 100644 --- a/hosts/iron/services/snapcast/ledfx.nix +++ b/hosts/iron/services/snapcast/ledfx.nix @@ -59,7 +59,7 @@ in wantedBy = [ "multi-user.target" ]; serviceConfig = { DynamicUser = "yes"; - ExecStart = "${pkgs.ledfx}/bin/ledfx --host 0.0.0.0 -p 8888 -c %S/ledfx"; + ExecStart = "${pkgs.master.ledfx}/bin/ledfx --host 0.0.0.0 -p 8888 -c %S/ledfx"; Group = "pipewire"; NoNewPrivileges = true; ProtectControlGroups = true; From 4bf2bd792559878c9d42de4fe1568ad60b76f3d9 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Mon, 3 Nov 2025 20:13:37 +0100 Subject: [PATCH 761/766] Use package from master --- modules/pipewire.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/pipewire.nix b/modules/pipewire.nix index 29e1845..ea97fb6 100644 --- a/modules/pipewire.nix +++ b/modules/pipewire.nix @@ -8,6 +8,7 @@ lib.mkIf config.jalr.gui.enable { services.pipewire = { enable = true; + package = pkgs.master.pipewire; pulse = { enable = true; }; From c7222d950098a8eb00f51ab58805b9b2d575742b Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Fri, 7 Nov 2025 15:10:36 +0100 Subject: [PATCH 762/766] Add Grafana to iron --- hosts/iron/ports.nix | 1 + hosts/iron/secrets.yaml | 8 +- hosts/iron/services/default.nix | 1 + hosts/iron/services/grafana.nix | 146 ++++++++++++++++++++++++++++++++ 4 files changed, 153 insertions(+), 3 deletions(-) create mode 100644 hosts/iron/services/grafana.nix diff --git a/hosts/iron/ports.nix b/hosts/iron/ports.nix index 2b2b495..7a60b1f 100644 --- a/hosts/iron/ports.nix +++ b/hosts/iron/ports.nix @@ -5,6 +5,7 @@ calibre-server.tcp = 8081; calibre-web.tcp = 8082; esphome.tcp = 6052; + grafana.tcp = 3001; home-assistant.tcp = 8123; jellyfin.tcp = 8096; matrix-synapse.tcp = 8008; diff --git a/hosts/iron/secrets.yaml b/hosts/iron/secrets.yaml index 90e5c61..3a51f2f 100644 --- a/hosts/iron/secrets.yaml +++ b/hosts/iron/secrets.yaml @@ -23,6 +23,8 @@ prometheus: vodafone-station: ENC[AES256_GCM,data:eaFqYEuK3UU=,iv:BauymCkvj33TmZLyii367uVEc4Iq4GGcik4nbyT9Fpk=,tag:poB+qh5tAdv/dEt3WN6yVw==,type:str] unpoller: ENC[AES256_GCM,data:WI1oUKHW4ef4pBk+mGM=,iv:C1LykPf1/ypUmy3ZCQzjfSjkpxhUukDNnfJnZLp2CJg=,tag:mSnZJKl9IHcx7I7GpFherw==,type:str] tvproxy: ENC[AES256_GCM,data:MbXEmgerpUiwDgcUKF2y1+Cc+d43sKPfGGTEkvNoZFFS4rzDWw4Udg==,iv:ZDsfSb3HK008e7/J/61iqVRafIzKbtPEdhH7ixo9lSY=,tag:3JbJ+2DJKQ9G2ui6VuWbOw==,type:str] +grafana: + secret-key: ENC[AES256_GCM,data:RX0ox0r3Jwm9DMIfBnsL7ydarlrYSVBjbVXbooHR1Ms=,iv:l8Aud8VyGtz3dNARh6s8/Y6MBtc4xj1Wu/LLJv1e+KA=,tag:+7TFyRPhBS1Tvn2JLBEeAQ==,type:str] sops: age: - recipient: age1hx7fdu4mcha7kkxe7yevtvs6xgzgaafgenm3drhvr609wlj94sgqm497je @@ -34,8 +36,8 @@ sops: SU1USkxFUUY2NVhmUHBhZkdrNDR1Q0kKiXIicInELRjDR3tuyA+lnXeCcd9lYvbV GnBRGPM7BNO/6AA7HhAei48Kt+XE6+jQX66yTXyviKhK7Lpjrlb2YQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-09-23T17:32:09Z" - mac: ENC[AES256_GCM,data:D4I6ayuLKBIxvEQopWXYHB/2fojEPn3oARU+9AiOrqX35Ue5BXZc08dmz+0J+RHjX5dA78xG6FGI3x4TtGeBwkMHeXwwwzRBuLDoGBGVngwLKvf21To6051A201EFqV7RKa5L8WruaJoeNLylH1K1B4nOrpv7G/81yCdpjmctQ0=,iv:QChpkOanDVj0PHykmA1MvDAYwiWawEmZ3h0s40U9joA=,tag:WluhQpBonORXgA9i01kTpw==,type:str] + lastmodified: "2025-11-04T17:52:25Z" + mac: ENC[AES256_GCM,data:/q98uwoYJsPRLlWxxDn7gJQ0jRxlAfVxEmUw8ayP8gIkWzGN1DCR0jx2LFlSlWEuaPScThw5IhGxbBlBxX2wV952MC7tEoHAAMvMJberG1a6do8zSvotDHocdXVlyj4jJZhQvjUVAmeVsYBY3oRwOHdzis0JO5IW0hxgs3x+xoQ=,iv:9BR0ws9ZzukjxLpPjvl73B3RmLA+c9e7F3AVk5l0SGc=,tag:OJ/iGy/Umlj/82EtZxjLSg==,type:str] pgp: - created_at: "2024-01-31T01:20:30Z" enc: |- @@ -49,4 +51,4 @@ sops: -----END PGP MESSAGE----- fp: 3044E71E3DEFF49B586CF5809BF4FCCB90854DA9 unencrypted_suffix: _unencrypted - version: 3.10.2 + version: 3.11.0 diff --git a/hosts/iron/services/default.nix b/hosts/iron/services/default.nix index 6c0e206..29cd267 100644 --- a/hosts/iron/services/default.nix +++ b/hosts/iron/services/default.nix @@ -5,6 +5,7 @@ ./dnsmasq.nix ./dyndns.nix ./esphome + ./grafana.nix ./home-assistant.nix ./jellyfin ./mail.nix diff --git a/hosts/iron/services/grafana.nix b/hosts/iron/services/grafana.nix new file mode 100644 index 0000000..15e1571 --- /dev/null +++ b/hosts/iron/services/grafana.nix @@ -0,0 +1,146 @@ +{ config +, lib +, pkgs +, ... +}: +let + inherit (config.networking) ports; + domain = "grafana.jalr.de"; + cfg = config.services.grafana; +in +{ + sops.secrets = { + "grafana/secret-key" = { + sopsFile = ../secrets.yaml; + owner = config.systemd.services.grafana.serviceConfig.User; + }; + }; + + services.grafana = { + enable = true; + settings = { + server = { + inherit domain; + root_url = "https://%(domain)s"; + http_addr = "127.0.0.1"; + http_port = ports.grafana.tcp; + }; + security = { + content_security_policy = true; + cookie_samesite = "strict"; + cookie_secure = true; + secret_key = "$__file{${config.sops.secrets."grafana/secret-key".path}}"; + strict_transport_security = true; + strict_transport_security_preload = true; + strict_transport_security_subdomains = true; + }; + analytics = { + reporting_enabled = false; + check_for_updates = false; + check_for_plugin_updates = false; + }; + }; + provision = { + datasources.settings = { + apiVersion = 1; + datasources = with config.services.prometheus; + ( + lib.lists.optional enable { + name = "Prometheus"; + type = "prometheus"; + url = "http://${listenAddress}:${toString port}"; + orgId = 1; + } + ) + ++ (with config.services.prometheus.alertmanager; ( + lib.lists.optional enable { + name = "Alertmanager"; + type = "alertmanager"; + url = "http://${listenAddress}:${toString port}"; + orgId = 1; + } + )); + deleteDatasources = [ + { + name = "Prometheus"; + orgId = 1; + } + { + name = "Alertmanager"; + orgId = 1; + } + ]; + }; + + dashboards.settings.providers = + let + # https://grafana.com/grafana/dashboards/ + fetchDashboard = + { name + , hash + , id + , version + , + }: + pkgs.fetchurl { + inherit name hash; + url = "https://grafana.com/api/dashboards/${toString id}/revisions/${toString version}/download"; + recursiveHash = true; + postFetch = '' + mv "$out" temp + mkdir -p "$out" + mv temp "$out/${name}.json"; + ''; + }; + dashboard = name: fetchArgs: { + inherit name; + options.path = fetchDashboard fetchArgs; + }; + in + [ + (dashboard "Node Exporter Full" + { + name = "node-exporter-full"; + hash = "sha256-QTHG9ioy7E8U8O8x/qFabOxK2qBjlGlzuEvwYKug0CQ="; + id = 1860; + version = 36; + }) + (dashboard "Node Exporter" + { + name = "node-exporter"; + hash = "sha256-2xgE0m3SUFiux501uCVb4aH3zGfapW/SmfxRsFC/514="; + id = 13978; + version = 2; + }) + (dashboard "AlertManager" + { + name = "alertmanager"; + hash = "sha256-Yvw0DGQJpqBYNzE4ES/x7ZAYF7iJ4SUNBKB+sJRuGBw="; + id = 9578; + version = 4; + }) + ]; + }; + }; + services.nginx.virtualHosts = { + "${domain}" = { + enableACME = true; + forceSSL = true; + + locations."/" = { + proxyPass = "http://${cfg.settings.server.http_addr}:${toString cfg.settings.server.http_port}"; + proxyWebsockets = true; + recommendedProxySettings = true; + }; + }; + }; + + environment.persistence."/persist".directories = [ + { + directory = "/var/lib/grafana"; + user = "grafana"; + group = "grafana"; + mode = "u=rwx,g=,o="; + } + ]; +} From 9dafacebda649da986892c6adca31a907b6138bd Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 11 Nov 2025 19:34:02 +0100 Subject: [PATCH 763/766] Add BLE sniffer to Wireshark --- modules/default.nix | 2 +- modules/wireshark.nix | 7 - modules/wireshark/default.nix | 23 + .../extcap/SnifferAPI/CaptureFiles.py | 91 ++ .../wireshark/extcap/SnifferAPI/Devices.py | 143 +++ .../wireshark/extcap/SnifferAPI/Exceptions.py | 60 ++ .../wireshark/extcap/SnifferAPI/Filelock.py | 69 ++ modules/wireshark/extcap/SnifferAPI/Logger.py | 207 +++++ .../extcap/SnifferAPI/Notifications.py | 90 ++ modules/wireshark/extcap/SnifferAPI/Packet.py | 583 ++++++++++++ modules/wireshark/extcap/SnifferAPI/Pcap.py | 79 ++ .../wireshark/extcap/SnifferAPI/Sniffer.py | 248 +++++ .../extcap/SnifferAPI/SnifferCollector.py | 283 ++++++ modules/wireshark/extcap/SnifferAPI/Types.py | 90 ++ modules/wireshark/extcap/SnifferAPI/UART.py | 233 +++++ .../wireshark/extcap/SnifferAPI/__init__.py | 0 .../wireshark/extcap/SnifferAPI/version.py | 38 + modules/wireshark/extcap/nrf_sniffer_ble.py | 854 ++++++++++++++++++ 18 files changed, 3092 insertions(+), 8 deletions(-) delete mode 100644 modules/wireshark.nix create mode 100644 modules/wireshark/default.nix create mode 100644 modules/wireshark/extcap/SnifferAPI/CaptureFiles.py create mode 100644 modules/wireshark/extcap/SnifferAPI/Devices.py create mode 100644 modules/wireshark/extcap/SnifferAPI/Exceptions.py create mode 100644 modules/wireshark/extcap/SnifferAPI/Filelock.py create mode 100644 modules/wireshark/extcap/SnifferAPI/Logger.py create mode 100644 modules/wireshark/extcap/SnifferAPI/Notifications.py create mode 100644 modules/wireshark/extcap/SnifferAPI/Packet.py create mode 100644 modules/wireshark/extcap/SnifferAPI/Pcap.py create mode 100644 modules/wireshark/extcap/SnifferAPI/Sniffer.py create mode 100644 modules/wireshark/extcap/SnifferAPI/SnifferCollector.py create mode 100644 modules/wireshark/extcap/SnifferAPI/Types.py create mode 100644 modules/wireshark/extcap/SnifferAPI/UART.py create mode 100644 modules/wireshark/extcap/SnifferAPI/__init__.py create mode 100644 modules/wireshark/extcap/SnifferAPI/version.py create mode 100644 modules/wireshark/extcap/nrf_sniffer_ble.py diff --git a/modules/default.nix b/modules/default.nix index ac459f1..cd6a1cf 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -50,7 +50,7 @@ ./uefi.nix ./unfree.nix ./upgrade-diff.nix - ./wireshark.nix + ./wireshark ./yubikey-gpg.nix ]; diff --git a/modules/wireshark.nix b/modules/wireshark.nix deleted file mode 100644 index 878f649..0000000 --- a/modules/wireshark.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ config, lib, pkgs, ... }: -lib.mkIf config.jalr.gui.enable { - programs.wireshark = { - enable = true; - package = pkgs.wireshark; - }; -} diff --git a/modules/wireshark/default.nix b/modules/wireshark/default.nix new file mode 100644 index 0000000..6c1b0c0 --- /dev/null +++ b/modules/wireshark/default.nix @@ -0,0 +1,23 @@ +{ config, lib, pkgs, ... }: +let + extcap = ./extcap; + pythonWithPackages = pkgs.python3.withPackages (pp: with pp; [ + pyserial + psutil + ]); + nrf_sniffer_ble = pkgs.writeShellScript "nrf_sniffer_ble" '' + script_path=$(dirname `which $0`) + + exec ${pythonWithPackages}/bin/python3 $script_path/nrf_sniffer_ble.py "$@" + ''; +in +lib.mkIf config.jalr.gui.enable { + programs.wireshark = { + enable = true; + package = pkgs.wireshark.overrideAttrs (o: { + postInstall = '' + cp -r ${extcap}/* ${nrf_sniffer_ble} $out/lib/wireshark/extcap + '' + o.postInstall; + }); + }; +} diff --git a/modules/wireshark/extcap/SnifferAPI/CaptureFiles.py b/modules/wireshark/extcap/SnifferAPI/CaptureFiles.py new file mode 100644 index 0000000..f5cf6cb --- /dev/null +++ b/modules/wireshark/extcap/SnifferAPI/CaptureFiles.py @@ -0,0 +1,91 @@ +# Copyright (c) Nordic Semiconductor ASA +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without modification, +# are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form, except as embedded into a Nordic +# Semiconductor ASA integrated circuit in a product or a software update for +# such product, must reproduce the above copyright notice, this list of +# conditions and the following disclaimer in the documentation and/or other +# materials provided with the distribution. +# +# 3. Neither the name of Nordic Semiconductor ASA nor the names of its +# contributors may be used to endorse or promote products derived from this +# software without specific prior written permission. +# +# 4. This software, with or without modification, must only be used with a +# Nordic Semiconductor ASA integrated circuit. +# +# 5. Any software provided in binary form under this license must not be reverse +# engineered, decompiled, modified and/or disassembled. +# +# THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS +# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +import time, os, logging +from . import Logger +from . import Pcap + + +DEFAULT_CAPTURE_FILE_DIR = Logger.DEFAULT_LOG_FILE_DIR +DEFAULT_CAPTURE_FILE_NAME = "capture.pcap" + + +def get_capture_file_path(capture_file_path=None): + default_path = os.path.join(DEFAULT_CAPTURE_FILE_DIR, DEFAULT_CAPTURE_FILE_NAME) + if capture_file_path is None: + return default_path + if os.path.splitext(capture_file_path)[1] != ".pcap": + return default_path + return os.path.abspath(capture_file_path) + + +class CaptureFileHandler: + def __init__(self, capture_file_path=None, clear=False): + filename = get_capture_file_path(capture_file_path) + if not os.path.isdir(os.path.dirname(filename)): + os.makedirs(os.path.dirname(filename)) + self.filename = filename + self.backupFilename = self.filename+".1" + if not os.path.isfile(self.filename): + self.startNewFile() + elif os.path.getsize(self.filename) > 20000000: + self.doRollover() + if clear: + #clear file + self.startNewFile() + + def startNewFile(self): + with open(self.filename, "wb") as f: + f.write(Pcap.get_global_header()) + + def doRollover(self): + try: + os.remove(self.backupFilename) + except: + logging.exception("capture file rollover remove backup failed") + try: + os.rename(self.filename, self.backupFilename) + self.startNewFile() + except: + logging.exception("capture file rollover failed") + + def writePacket(self, packet): + with open(self.filename, "ab") as f: + packet = Pcap.create_packet( + bytes([packet.boardId] + packet.getList()), + packet.time) + f.write(packet) diff --git a/modules/wireshark/extcap/SnifferAPI/Devices.py b/modules/wireshark/extcap/SnifferAPI/Devices.py new file mode 100644 index 0000000..8ea3c0e --- /dev/null +++ b/modules/wireshark/extcap/SnifferAPI/Devices.py @@ -0,0 +1,143 @@ +# Copyright (c) 2017, Nordic Semiconductor ASA +# +# Copyright (c) Nordic Semiconductor ASA +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without modification, +# are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form, except as embedded into a Nordic +# Semiconductor ASA integrated circuit in a product or a software update for +# such product, must reproduce the above copyright notice, this list of +# conditions and the following disclaimer in the documentation and/or other +# materials provided with the distribution. +# +# 3. Neither the name of Nordic Semiconductor ASA nor the names of its +# contributors may be used to endorse or promote products derived from this +# software without specific prior written permission. +# +# 4. This software, with or without modification, must only be used with a +# Nordic Semiconductor ASA integrated circuit. +# +# 5. Any software provided in binary form under this license must not be reverse +# engineered, decompiled, modified and/or disassembled. +# +# THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS +# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +from . import Notifications +import logging, threading + +class DeviceList(Notifications.Notifier): + def __init__(self, *args, **kwargs): + Notifications.Notifier.__init__(self, *args, **kwargs) + logging.info("args: " + str(args)) + logging.info("kwargs: " + str(kwargs)) + self._deviceListLock = threading.RLock() + with self._deviceListLock: + self.devices = [] + + def __len__(self): + return len(self.devices) + + def __repr__(self): + return "Sniffer Device List: "+str(self.asList()) + + def clear(self): + logging.info("Clearing") + with self._deviceListLock: + self.devices = [] + self.notify("DEVICES_CLEARED") + + def appendOrUpdate(self, newDevice): + with self._deviceListLock: + existingDevice = self.find(newDevice) + + # Add device to the list of devices being displayed, but only if CRC is OK + if existingDevice == None: + self.append(newDevice) + else: + updated = False + if (newDevice.name != "\"\"") and (existingDevice.name == "\"\""): + existingDevice.name = newDevice.name + updated = True + + if (newDevice.RSSI != 0 and (existingDevice.RSSI < (newDevice.RSSI - 5)) or (existingDevice.RSSI > (newDevice.RSSI+2))): + existingDevice.RSSI = newDevice.RSSI + updated = True + + if updated: + self.notify("DEVICE_UPDATED", existingDevice) + + def append(self, device): + self.devices.append(device) + self.notify("DEVICE_ADDED", device) + + def find(self, id): + if type(id) == list: + for dev in self.devices: + if dev.address == id: + return dev + elif type(id) == int: + return self.devices[id] + elif type(id) == str: + for dev in self.devices: + if dev.name in [id, '"'+id+'"']: + return dev + elif id.__class__.__name__ == "Device": + return self.find(id.address) + return None + + def remove(self, id): + if type(id) == list: #address + device = self.devices.pop(self.devices.index(self.find(id))) + elif type(id) == int: + device = self.devices.pop(id) + elif type(id) == Device: + device = self.devices.pop(self.devices.index(self.find(id.address))) + self.notify("DEVICE_REMOVED", device) + + def index(self, device): + index = 0 + for dev in self.devices: + if dev.address == device.address: + return index + index += 1 + return None + + def setFollowed(self, device): + if device in self.devices: + for dev in self.devices: + dev.followed = False + device.followed = True + self.notify("DEVICE_FOLLOWED", device) + + def asList(self): + return self.devices[:] + +class Device: + def __init__(self, address, name, RSSI): + self.address = address + self.name = name + self.RSSI = RSSI + self.followed = False + + def __repr__(self): + return 'Bluetooth LE device "'+self.name+'" ('+str(self.address)+')' + +def listToString(list): + str = "" + for i in list: + str+=chr(i) + return str diff --git a/modules/wireshark/extcap/SnifferAPI/Exceptions.py b/modules/wireshark/extcap/SnifferAPI/Exceptions.py new file mode 100644 index 0000000..f3ab20c --- /dev/null +++ b/modules/wireshark/extcap/SnifferAPI/Exceptions.py @@ -0,0 +1,60 @@ +# Copyright (c) Nordic Semiconductor ASA +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without modification, +# are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form, except as embedded into a Nordic +# Semiconductor ASA integrated circuit in a product or a software update for +# such product, must reproduce the above copyright notice, this list of +# conditions and the following disclaimer in the documentation and/or other +# materials provided with the distribution. +# +# 3. Neither the name of Nordic Semiconductor ASA nor the names of its +# contributors may be used to endorse or promote products derived from this +# software without specific prior written permission. +# +# 4. This software, with or without modification, must only be used with a +# Nordic Semiconductor ASA integrated circuit. +# +# 5. Any software provided in binary form under this license must not be reverse +# engineered, decompiled, modified and/or disassembled. +# +# THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS +# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +class SnifferTimeout(Exception): + pass + +class UARTPacketError(Exception): + pass + +class LockedException(Exception): + def __init__(self, message): + self.message = message + +class InvalidPacketException(Exception): + pass + +class InvalidAdvChannel(Exception): + pass + +# Internal Use +class SnifferWatchDogTimeout(SnifferTimeout): + pass + +# Internal Use +class ExitCodeException(Exception): + pass diff --git a/modules/wireshark/extcap/SnifferAPI/Filelock.py b/modules/wireshark/extcap/SnifferAPI/Filelock.py new file mode 100644 index 0000000..5570942 --- /dev/null +++ b/modules/wireshark/extcap/SnifferAPI/Filelock.py @@ -0,0 +1,69 @@ +import os +import logging +from sys import platform + +if platform == 'linux': + import psutil + +from . import Exceptions + +# Lock file management. +# ref: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch05s09.html +# +# Stored in /var/lock: +# The naming convention which must be used is "LCK.." followed by the base name of the device. +# For example, to lock /dev/ttyS0 the file "LCK..ttyS0" would be created. +# HDB UUCP lock file format: +# process identifier (PID) as a ten byte ASCII decimal number, with a trailing newline + +def lockpid(lockfile): + if (os.path.isfile(lockfile)): + with open(lockfile) as fd: + lockpid = fd.read() + + try: + return int(lockpid) + except: + logging.info("Lockfile is invalid. Overriding it..") + os.remove(lockfile) + return 0 + + return 0 + +def lock(port): + if platform != 'linux': + return + + tty = os.path.basename(port) + lockfile = os.path.join( + '/run', + 'user', + f'{os.getuid()}', + f'{tty}.lock' + ) + + lockedpid = lockpid(lockfile) + if lockedpid: + if lockedpid == os.getpid(): + return + + if psutil.pid_exists(lockedpid): + raise Exceptions.LockedException(f"Device {port} is locked") + else: + logging.info("Lockfile is stale. Overriding it..") + os.remove(lockfile) + + fd = open(lockfile, 'w') + with open(lockfile, 'w') as fd: + fd.write(f'{os.getpid():10}') + +def unlock(port): + if platform != 'linux': + return + + tty = os.path.basename(port) + lockfile = f'/var/lock/LCK..{tty}' + + lockedpid = lockpid(lockfile) + if lockedpid == os.getpid(): + os.remove(lockfile) diff --git a/modules/wireshark/extcap/SnifferAPI/Logger.py b/modules/wireshark/extcap/SnifferAPI/Logger.py new file mode 100644 index 0000000..cbb1e7c --- /dev/null +++ b/modules/wireshark/extcap/SnifferAPI/Logger.py @@ -0,0 +1,207 @@ +# Copyright (c) Nordic Semiconductor ASA +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without modification, +# are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form, except as embedded into a Nordic +# Semiconductor ASA integrated circuit in a product or a software update for +# such product, must reproduce the above copyright notice, this list of +# conditions and the following disclaimer in the documentation and/or other +# materials provided with the distribution. +# +# 3. Neither the name of Nordic Semiconductor ASA nor the names of its +# contributors may be used to endorse or promote products derived from this +# software without specific prior written permission. +# +# 4. This software, with or without modification, must only be used with a +# Nordic Semiconductor ASA integrated circuit. +# +# 5. Any software provided in binary form under this license must not be reverse +# engineered, decompiled, modified and/or disassembled. +# +# THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS +# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +import time, os, logging, traceback, threading +import logging.handlers as logHandlers + +################################################################# +# This file contains the logger. To log a line, simply write # +# 'logging.[level]("whatever you want to log")' # +# [level] is one of {info, debug, warning, error, critical, # +# exception} # +# See python logging documentation # +# As long as Logger.initLogger has been called beforehand, this # +# will result in the line being appended to the log file # +################################################################# + +appdata = os.getenv('appdata') +if appdata: + DEFAULT_LOG_FILE_DIR = os.path.join(appdata, 'Nordic Semiconductor', 'Sniffer', 'logs') +else: + DEFAULT_LOG_FILE_DIR = "/tmp/logs" + +DEFAULT_LOG_FILE_NAME = "log.txt" + +logFileName = None +logHandler = None +logHandlerArray = [] +logFlusher = None + +myMaxBytes = 1000000 + + +def setLogFileName(log_file_path): + global logFileName + logFileName = os.path.abspath(log_file_path) + + +# Ensure that the directory we are writing the log file to exists. +# Create our logfile, and write the timestamp in the first line. +def initLogger(): + try: + global logFileName + if logFileName is None: + logFileName = os.path.join(DEFAULT_LOG_FILE_DIR, DEFAULT_LOG_FILE_NAME) + + # First, make sure that the directory exists + if not os.path.isdir(os.path.dirname(logFileName)): + os.makedirs(os.path.dirname(logFileName)) + + # If the file does not exist, create it, and save the timestamp + if not os.path.isfile(logFileName): + with open(logFileName, "w") as f: + f.write(str(time.time()) + str(os.linesep)) + + global logFlusher + global logHandlerArray + + logHandler = MyRotatingFileHandler(logFileName, mode='a', maxBytes=myMaxBytes, backupCount=3) + logFormatter = logging.Formatter('%(asctime)s %(levelname)s: %(message)s', datefmt='%d-%b-%Y %H:%M:%S (%z)') + logHandler.setFormatter(logFormatter) + logger = logging.getLogger() + logger.addHandler(logHandler) + logger.setLevel(logging.INFO) + logFlusher = LogFlusher(logHandler) + logHandlerArray.append(logHandler) + except: + print("LOGGING FAILED") + print(traceback.format_exc()) + raise + + +def shutdownLogger(): + if logFlusher is not None: + logFlusher.stop() + logging.shutdown() + + +# Clear the log (typically after it has been sent on email) +def clearLog(): + try: + logHandler.doRollover() + except: + print("LOGGING FAILED") + raise + + +# Returns the timestamp residing on the first line of the logfile. Used for checking the time of creation +def getTimestamp(): + try: + with open(logFileName, "r") as f: + f.seek(0) + return f.readline() + except: + print("LOGGING FAILED") + + +def addTimestamp(): + try: + with open(logFileName, "a") as f: + f.write(str(time.time()) + os.linesep) + except: + print("LOGGING FAILED") + + +# Returns the entire content of the logfile. Used when sending emails +def readAll(): + try: + text = "" + with open(logFileName, "r") as f: + text = f.read() + return text + except: + print("LOGGING FAILED") + + +def addLogHandler(logHandler): + global logHandlerArray + logger = logging.getLogger() + logger.addHandler(logHandler) + logger.setLevel(logging.INFO) + logHandlerArray.append(logHandler) + +def removeLogHandler(logHandler): + global logHandlerArray + logger = logging.getLogger() + logger.removeHandler(logHandler) + logHandlerArray.remove(logHandler) + + +class MyRotatingFileHandler(logHandlers.RotatingFileHandler): + def doRollover(self): + try: + logHandlers.RotatingFileHandler.doRollover(self) + addTimestamp() + self.maxBytes = myMaxBytes + except: + # There have been permissions issues with the log files. + self.maxBytes += int(myMaxBytes / 2) + + +class LogFlusher(threading.Thread): + def __init__(self, logHandler): + threading.Thread.__init__(self) + + self.daemon = True + self.handler = logHandler + self.exit = threading.Event() + + self.start() + + def run(self): + while True: + if self.exit.wait(10): + try: + self.doFlush() + except AttributeError as e: + print(e) + break + self.doFlush() + + def doFlush(self): + self.handler.flush() + os.fsync(self.handler.stream.fileno()) + + def stop(self): + self.exit.set() + + +if __name__ == '__main__': + initLogger() + for i in range(50): + logging.info("test log no. " + str(i)) + print("test log no. ", i) diff --git a/modules/wireshark/extcap/SnifferAPI/Notifications.py b/modules/wireshark/extcap/SnifferAPI/Notifications.py new file mode 100644 index 0000000..d9fd8e4 --- /dev/null +++ b/modules/wireshark/extcap/SnifferAPI/Notifications.py @@ -0,0 +1,90 @@ +# Copyright (c) Nordic Semiconductor ASA +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without modification, +# are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form, except as embedded into a Nordic +# Semiconductor ASA integrated circuit in a product or a software update for +# such product, must reproduce the above copyright notice, this list of +# conditions and the following disclaimer in the documentation and/or other +# materials provided with the distribution. +# +# 3. Neither the name of Nordic Semiconductor ASA nor the names of its +# contributors may be used to endorse or promote products derived from this +# software without specific prior written permission. +# +# 4. This software, with or without modification, must only be used with a +# Nordic Semiconductor ASA integrated circuit. +# +# 5. Any software provided in binary form under this license must not be reverse +# engineered, decompiled, modified and/or disassembled. +# +# THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS +# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +import threading, logging + +class Notification(): + def __init__(self, key, msg = None): + if type(key) is not str: + raise TypeError("Invalid notification key: "+str(key)) + self.key = key + self.msg = msg + + def __repr__(self): + return "Notification (key: %s, msg: %s)" % (str(self.key), str(self.msg)) + +class Notifier(): + def __init__(self, callbacks = [], **kwargs): + self.callbacks = {} + self.callbackLock = threading.RLock() + + for callback in callbacks: + self.subscribe(*callback) + + def clearCallbacks(self): + with self.callbackLock: + self.callbacks.clear() + + def subscribe(self, key, callback): + with self.callbackLock: + if callback not in self.getCallbacks(key): + self.getCallbacks(key).append(callback) + + def unSubscribe(self, key, callback): + with self.callbackLock: + if callback in self.getCallbacks(key): + self.getCallbacks(key).remove(callback) + + def getCallbacks(self, key): + with self.callbackLock: + if key not in self.callbacks: + self.callbacks[key] = [] + return self.callbacks[key] + + def notify(self, key = None, msg = None, notification = None): + with self.callbackLock: + if notification == None: + notification = Notification(key,msg) + + for callback in self.getCallbacks(notification.key): + callback(notification) + + for callback in self.getCallbacks("*"): + callback(notification) + + def passOnNotification(self, notification): + self.notify(notification = notification) diff --git a/modules/wireshark/extcap/SnifferAPI/Packet.py b/modules/wireshark/extcap/SnifferAPI/Packet.py new file mode 100644 index 0000000..ddac78d --- /dev/null +++ b/modules/wireshark/extcap/SnifferAPI/Packet.py @@ -0,0 +1,583 @@ +# Copyright (c) Nordic Semiconductor ASA +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without modification, +# are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form, except as embedded into a Nordic +# Semiconductor ASA integrated circuit in a product or a software update for +# such product, must reproduce the above copyright notice, this list of +# conditions and the following disclaimer in the documentation and/or other +# materials provided with the distribution. +# +# 3. Neither the name of Nordic Semiconductor ASA nor the names of its +# contributors may be used to endorse or promote products derived from this +# software without specific prior written permission. +# +# 4. This software, with or without modification, must only be used with a +# Nordic Semiconductor ASA integrated circuit. +# +# 5. Any software provided in binary form under this license must not be reverse +# engineered, decompiled, modified and/or disassembled. +# +# THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS +# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +from . import UART, Exceptions, Notifications +import time, logging, os, sys, serial +from .Types import * + +ADV_ACCESS_ADDRESS = [0xD6, 0xBE, 0x89, 0x8E] + +SYNCWORD_POS = 0 +PAYLOAD_LEN_POS_V1 = 1 +PAYLOAD_LEN_POS = 0 +PROTOVER_POS = PAYLOAD_LEN_POS+2 +PACKETCOUNTER_POS = PROTOVER_POS+1 +ID_POS = PACKETCOUNTER_POS+2 + +BLE_HEADER_LEN_POS = ID_POS+1 +FLAGS_POS = BLE_HEADER_LEN_POS+1 +CHANNEL_POS = FLAGS_POS+1 +RSSI_POS = CHANNEL_POS+1 +EVENTCOUNTER_POS = RSSI_POS+1 +TIMESTAMP_POS = EVENTCOUNTER_POS+2 +BLEPACKET_POS = TIMESTAMP_POS+4 +TXADD_POS = BLEPACKET_POS + 4 +TXADD_MSK = 0x40 +PAYLOAD_POS = BLE_HEADER_LEN_POS + +HEADER_LENGTH = 6 +BLE_HEADER_LENGTH = 10 + +VALID_ADV_CHANS = [37, 38, 39] + +PACKET_COUNTER_CAP = 2**16 + + +class PacketReader(Notifications.Notifier): + def __init__(self, portnum=None, callbacks=[], baudrate=None): + Notifications.Notifier.__init__(self, callbacks) + self.portnum = portnum + try: + self.uart = UART.Uart(portnum, baudrate) + except serial.SerialException as e: + logging.exception("Error opening UART %s" % str(e)) + self.uart = UART.Uart() + self.packetCounter = 0 + self.lastReceivedPacketCounter = 0 + self.lastReceivedPacket = None + self.lastReceivedTimestampPacket = None + self.supportedProtocolVersion = PROTOVER_V3 + + def setup(self): + pass + + def doExit(self): + # This method will always join the Uart worker thread + self.uart.close() + # Clear method references to avoid uncollectable cyclic references + self.clearCallbacks() + + # This function takes a byte list, encode it in SLIP protocol and return the encoded byte list + def encodeToSLIP(self, byteList): + tempSLIPBuffer = [] + tempSLIPBuffer.append(SLIP_START) + for i in byteList: + if i == SLIP_START: + tempSLIPBuffer.append(SLIP_ESC) + tempSLIPBuffer.append(SLIP_ESC_START) + elif i == SLIP_END: + tempSLIPBuffer.append(SLIP_ESC) + tempSLIPBuffer.append(SLIP_ESC_END) + elif i == SLIP_ESC: + tempSLIPBuffer.append(SLIP_ESC) + tempSLIPBuffer.append(SLIP_ESC_ESC) + else: + tempSLIPBuffer.append(i) + tempSLIPBuffer.append(SLIP_END) + return tempSLIPBuffer + + # This function uses getSerialByte() function to get SLIP encoded bytes from the serial port and return a decoded byte list + # Based on https://github.com/mehdix/pyslip/ + def decodeFromSLIP(self, timeout=None, complete_timeout=None): + dataBuffer = [] + startOfPacket = False + endOfPacket = False + + if complete_timeout is not None: + time_start = time.time() + + while not startOfPacket and (complete_timeout is None or (time.time() - time_start < complete_timeout)): + res = self.getSerialByte(timeout) + startOfPacket = (res == SLIP_START) + + while not endOfPacket and (complete_timeout is None or (time.time() - time_start < complete_timeout)): + serialByte = self.getSerialByte(timeout) + if serialByte == SLIP_END: + endOfPacket = True + elif serialByte == SLIP_ESC: + serialByte = self.getSerialByte(timeout) + if serialByte == SLIP_ESC_START: + dataBuffer.append(SLIP_START) + elif serialByte == SLIP_ESC_END: + dataBuffer.append(SLIP_END) + elif serialByte == SLIP_ESC_ESC: + dataBuffer.append(SLIP_ESC) + else: + dataBuffer.append(SLIP_END) + else: + dataBuffer.append(serialByte) + if not endOfPacket: + raise Exceptions.UARTPacketError("Exceeded max timeout of %f seconds." % complete_timeout) + return dataBuffer + + # This function read byte chuncks from the serial port and return one byte at a time + # Based on https://github.com/mehdix/pyslip/ + def getSerialByte(self, timeout=None): + serialByte = self.uart.readByte(timeout) + if serialByte is None: + raise Exceptions.SnifferTimeout("Packet read timed out.") + return serialByte + + def handlePacketHistory(self, packet): + # Reads and validates packet counter + if self.lastReceivedPacket is not None \ + and packet.packetCounter != (self.lastReceivedPacket.packetCounter + 1) % PACKET_COUNTER_CAP \ + and self.lastReceivedPacket.packetCounter != 0: + + logging.info("gap in packets, between " + str(self.lastReceivedPacket.packetCounter) + " and " + + str(packet.packetCounter) + " packet before: " + str(self.lastReceivedPacket.packetList) + + " packet after: " + str(packet.packetList)) + + self.lastReceivedPacket = packet + if packet.id in [EVENT_PACKET_DATA_PDU, EVENT_PACKET_ADV_PDU]: + self.lastReceivedTimestampPacket = packet + + def getPacketTime(self, packet): + ble_payload_length = self.lastReceivedPacket.payloadLength - BLE_HEADER_LENGTH + + if packet.phy == PHY_1M: + return 8 * (1 + ble_payload_length) + elif packet.phy == PHY_2M: + return 4 * (2 + ble_payload_length) + elif packet.phy == PHY_CODED: + # blePacket is not assigned if not packet is "OK" (CRC error) + ci = packet.packetList[BLEPACKET_POS + 4] + fec2_block_len = ble_payload_length - 4 - 1 + fec1_block_us = 80 + 256 + 16 + 24 + if ci == PHY_CODED_CI_S8: + return fec1_block_us + 64 * fec2_block_len + 24 + elif ci == PHY_CODED_CI_S2: + return fec1_block_us + 16 * fec2_block_len + 6 + # Unknown PHY or Coding Indicator + return 0 + + def convertPacketListProtoVer2(self, packet): + # Convert to version 2 + packet.packetList[PROTOVER_POS] = 2 + + # Convert to common packet ID + if packet.packetList[ID_POS] == EVENT_PACKET_ADV_PDU: + packet.packetList[ID_POS] = EVENT_PACKET_DATA_PDU + + if packet.packetList[ID_POS] != EVENT_PACKET_DATA_PDU: + # These types do not have a timestamp + return + + # Convert time-stamp to End to Start delta + time_delta = 0 + if self.lastReceivedTimestampPacket is not None and self.lastReceivedTimestampPacket.valid: + time_delta = (packet.timestamp - + (self.lastReceivedTimestampPacket.timestamp + + self.getPacketTime(self.lastReceivedTimestampPacket))) + + time_delta = toLittleEndian(time_delta, 4) + packet.packetList[TIMESTAMP_POS ] = time_delta[0] + packet.packetList[TIMESTAMP_POS+1] = time_delta[1] + packet.packetList[TIMESTAMP_POS+2] = time_delta[2] + packet.packetList[TIMESTAMP_POS+3] = time_delta[3] + + + def handlePacketCompatibility(self, packet): + if self.supportedProtocolVersion == PROTOVER_V2 and packet.packetList[PROTOVER_POS] > PROTOVER_V2: + self.convertPacketListProtoVer2(packet) + + def setSupportedProtocolVersion(self, supportedProtocolVersion): + if (supportedProtocolVersion != PROTOVER_V3): + logging.info("Using packet compatibility, converting packets to protocol version %d", supportedProtocolVersion) + self.supportedProtocolVersion = supportedProtocolVersion + + def getPacket(self, timeout=None): + packetList = [] + try: + packetList = self.decodeFromSLIP(timeout) + except Exceptions.UARTPacketError: # FIXME: This is never thrown... + logging.exception("") + return None + else: + packet = Packet(packetList) + if packet.valid: + self.handlePacketCompatibility(packet) + self.handlePacketHistory(packet) + return packet + + def sendPacket(self, id, payload): + packetList = [HEADER_LENGTH] + [len(payload)] + [PROTOVER_V1] + toLittleEndian(self.packetCounter, 2) + [id] + payload + packetList = self.encodeToSLIP(packetList) + self.packetCounter += 1 + self.uart.writeList(packetList) + + def sendScan(self, findScanRsp = False, findAux = False, scanCoded = False): + flags0 = findScanRsp | (findAux << 1) | (scanCoded << 2) + self.sendPacket(REQ_SCAN_CONT, [flags0]) + logging.info("Scan flags: %s" % bin(flags0)) + + def sendFollow(self, addr, followOnlyAdvertisements = False, followOnlyLegacy = False, followCoded = False): + flags0 = followOnlyAdvertisements | (followOnlyLegacy << 1) | (followCoded << 2) + logging.info("Follow flags: %s" % bin(flags0)) + self.sendPacket(REQ_FOLLOW, addr + [flags0]) + + def sendPingReq(self): + self.sendPacket(PING_REQ, []) + + def getBytes(self, value, size): + if (len(value) < size): + value = [0] * (size - len(value)) + value + else: + value = value[:size] + + return value + + def sendTK(self, TK): + TK = self.getBytes(TK, 16) + self.sendPacket(SET_TEMPORARY_KEY, TK) + logging.info("Sent TK to sniffer: " + str(TK)) + + def sendPrivateKey(self, pk): + pk = self.getBytes(pk, 32) + self.sendPacket(SET_PRIVATE_KEY, pk) + logging.info("Sent private key to sniffer: " + str(pk)) + + def sendLegacyLTK(self, ltk): + ltk = self.getBytes(ltk, 16) + self.sendPacket(SET_LEGACY_LONG_TERM_KEY, ltk) + logging.info("Sent Legacy LTK to sniffer: " + str(ltk)) + + def sendSCLTK(self, ltk): + ltk = self.getBytes(ltk, 16) + self.sendPacket(SET_SC_LONG_TERM_KEY, ltk) + logging.info("Sent SC LTK to sniffer: " + str(ltk)) + + def sendIRK(self, irk): + irk = self.getBytes(irk, 16) + self.sendPacket(SET_IDENTITY_RESOLVING_KEY, irk) + logging.info("Sent IRK to sniffer: " + str(irk)) + + def sendSwitchBaudRate(self, newBaudRate): + self.sendPacket(SWITCH_BAUD_RATE_REQ, toLittleEndian(newBaudRate, 4)) + + def switchBaudRate(self, newBaudRate): + self.uart.switchBaudRate(newBaudRate) + + def sendHopSequence(self, hopSequence): + for chan in hopSequence: + if chan not in VALID_ADV_CHANS: + raise Exceptions.InvalidAdvChannel("%s is not an adv channel" % str(chan)) + payload = [len(hopSequence)] + hopSequence + [37]*(3-len(hopSequence)) + self.sendPacket(SET_ADV_CHANNEL_HOP_SEQ, payload) + self.notify("NEW_ADV_HOP_SEQ", {"hopSequence":hopSequence}) + + def sendVersionReq(self): + self.sendPacket(REQ_VERSION, []) + + def sendTimestampReq(self): + self.sendPacket(REQ_TIMESTAMP, []) + + def sendGoIdle(self): + self.sendPacket(GO_IDLE, []) + + +class Packet: + def __init__(self, packetList): + try: + if not packetList: + raise Exceptions.InvalidPacketException("packet list not valid: %s" % str(packetList)) + + self.protover = packetList[PROTOVER_POS] + + if self.protover > PROTOVER_V3: + logging.exception("Unsupported protocol version %s" % str(self.protover)) + raise RuntimeError("Unsupported protocol version %s" % str(self.protover)) + + self.packetCounter = parseLittleEndian(packetList[PACKETCOUNTER_POS:PACKETCOUNTER_POS + 2]) + self.id = packetList[ID_POS] + + if int(self.protover) == PROTOVER_V1: + self.payloadLength = packetList[PAYLOAD_LEN_POS_V1] + else: + self.payloadLength = parseLittleEndian(packetList[PAYLOAD_LEN_POS:PAYLOAD_LEN_POS + 2]) + + self.packetList = packetList + self.readPayload(packetList) + + except Exceptions.InvalidPacketException as e: + logging.error("Invalid packet: %s" % str(e)) + self.OK = False + self.valid = False + except Exception as e: + logging.exception("packet creation error %s" %str(e)) + logging.info("packetList: " + str(packetList)) + self.OK = False + self.valid = False + + def __repr__(self): + return "UART packet, type: "+str(self.id)+", PC: "+str(self.packetCounter) + + def readPayload(self, packetList): + self.blePacket = None + self.OK = False + + if not self.validatePacketList(packetList): + raise Exceptions.InvalidPacketException("packet list not valid: %s" % str(packetList)) + else: + self.valid = True + + self.payload = packetList[PAYLOAD_POS:PAYLOAD_POS+self.payloadLength] + + if self.id == EVENT_PACKET_ADV_PDU or self.id == EVENT_PACKET_DATA_PDU: + try: + self.bleHeaderLength = packetList[BLE_HEADER_LEN_POS] + if self.bleHeaderLength == BLE_HEADER_LENGTH: + self.flags = packetList[FLAGS_POS] + self.readFlags() + self.channel = packetList[CHANNEL_POS] + self.rawRSSI = packetList[RSSI_POS] + self.RSSI = -self.rawRSSI + self.eventCounter = parseLittleEndian(packetList[EVENTCOUNTER_POS:EVENTCOUNTER_POS+2]) + + self.timestamp = parseLittleEndian(packetList[TIMESTAMP_POS:TIMESTAMP_POS+4]) + + # The hardware adds a padding byte which isn't sent on air. + # We remove it, and update the payload length in the packet list. + if self.phy == PHY_CODED: + self.packetList.pop(BLEPACKET_POS+6+1) + else: + self.packetList.pop(BLEPACKET_POS+6) + self.payloadLength -= 1 + if self.protover >= PROTOVER_V2: + # Write updated payload length back to the packet list. + payloadLength = toLittleEndian(self.payloadLength, 2) + packetList[PAYLOAD_LEN_POS ] = payloadLength[0] + packetList[PAYLOAD_LEN_POS+1] = payloadLength[1] + else: # PROTOVER_V1 + packetList[PAYLOAD_LEN_POS_V1] = self.payloadLength + else: + logging.info("Invalid BLE Header Length " + str(packetList)) + self.valid = False + + if self.OK: + try: + if self.protover >= PROTOVER_V3: + packet_type = (PACKET_TYPE_ADVERTISING + if self.id == EVENT_PACKET_ADV_PDU else + PACKET_TYPE_DATA) + else: + packet_type = (PACKET_TYPE_ADVERTISING + if packetList[BLEPACKET_POS : BLEPACKET_POS + 4] == ADV_ACCESS_ADDRESS else + PACKET_TYPE_DATA) + + self.blePacket = BlePacket(packet_type, packetList[BLEPACKET_POS:], self.phy) + except Exception as e: + logging.exception("blePacket error %s" % str(e)) + except Exception as e: + # malformed packet + logging.exception("packet error %s" % str(e)) + self.OK = False + elif self.id == PING_RESP: + if self.protover < PROTOVER_V3: + self.version = parseLittleEndian(packetList[PAYLOAD_POS:PAYLOAD_POS+2]) + elif self.id == RESP_VERSION: + self.version = ''.join([chr(i) for i in packetList[PAYLOAD_POS:]]) + elif self.id == RESP_TIMESTAMP: + self.timestamp = parseLittleEndian(packetList[PAYLOAD_POS:PAYLOAD_POS+4]) + elif self.id == SWITCH_BAUD_RATE_RESP or self.id == SWITCH_BAUD_RATE_REQ: + self.baudRate = parseLittleEndian(packetList[PAYLOAD_POS:PAYLOAD_POS+4]) + else: + logging.info("Unknown packet ID") + + def readFlags(self): + self.crcOK = not not (self.flags & 1) + self.direction = not not (self.flags & 2) + self.encrypted = not not (self.flags & 4) + self.micOK = not not (self.flags & 8) + self.phy = (self.flags >> 4) & 7 + self.OK = self.crcOK and (self.micOK or not self.encrypted) + + def getList(self): + return self.packetList + + def validatePacketList(self, packetList): + try: + if (self.payloadLength + HEADER_LENGTH) == len(packetList): + return True + else: + return False + except: + logging.exception("Invalid packet: %s" % str(packetList)) + return False + +class BlePacket(): + def __init__(self, type, packetList, phy): + self.type = type + + offset = 0 + offset = self.extractAccessAddress(packetList, offset) + offset = self.extractFormat(packetList, phy, offset) + + if self.type == PACKET_TYPE_ADVERTISING: + offset = self.extractAdvHeader(packetList, offset) + else: + offset = self.extractConnHeader(packetList, offset) + + offset = self.extractLength(packetList, offset) + self.payload = packetList[offset:] + + if self.type == PACKET_TYPE_ADVERTISING: + offset = self.extractAddresses(packetList, offset) + self.extractName(packetList, offset) + + + def __repr__(self): + return "BLE packet, AAddr: "+str(self.accessAddress) + + def extractAccessAddress(self, packetList, offset): + self.accessAddress = packetList[offset:offset+4] + return offset + 4 + + def extractFormat(self, packetList, phy, offset): + self.coded = phy == PHY_CODED + if self.coded: + self.codingIndicator = packetList[offset] & 3 + return offset + 1 + + return offset + + def extractAdvHeader(self, packetList, offset): + self.advType = packetList[offset] & 15 + self.txAddrType = (packetList[offset] >> 6) & 1 + if self.advType in [1, 3, 5]: + self.rxAddrType = (packetList[offset] << 7) & 1 + elif self.advType == 7: + flags = packetList[offset + 2] + if flags & 0x02: + self.rxAddrType = (packetList[offset] << 7) & 1 + return offset + 1 + + def extractConnHeader(self, packetList, offset): + self.llid = packetList[offset] & 3 + self.sn = (packetList[offset] >> 2) & 1 + self.nesn = (packetList[offset] >> 3) & 1 + self.md = (packetList[offset] >> 4) & 1 + return offset + 1 + + def extractAddresses(self, packetList, offset): + addr = None + scanAddr = None + + if self.advType in [0, 1, 2, 4, 6]: + addr = packetList[offset:offset+6] + addr.reverse() + addr += [self.txAddrType] + offset += 6 + + if self.advType in [3, 5]: + scanAddr = packetList[offset:offset+6] + scanAddr.reverse() + scanAddr += [self.txAddrType] + offset += 6 + addr = packetList[offset:offset+6] + addr.reverse() + addr += [self.rxAddrType] + offset += 6 + + if self.advType == 1: + scanAddr = packetList[offset:offset+6] + scanAddr.reverse() + scanAddr += [self.rxAddrType] + offset += 6 + + if self.advType == 7: + ext_header_len = packetList[offset] & 0x3f + offset += 1 + + ext_header_offset = offset + flags = packetList[offset] + ext_header_offset += 1 + + if flags & 0x01: + addr = packetList[ext_header_offset:ext_header_offset+6] + addr.reverse() + addr += [self.txAddrType] + ext_header_offset += 6 + + if flags & 0x02: + scanAddr = packetList[ext_header_offset:ext_header_offset+6] + scanAddr.reverse() + scanAddr += [self.rxAddrType] + ext_header_offset += 6 + + offset += ext_header_len + + self.advAddress = addr + self.scanAddress = scanAddr + return offset + + def extractName(self, packetList, offset): + name = "" + if self.advType in [0, 2, 4, 6, 7]: + i = offset + while i < len(packetList): + length = packetList[i] + if (i+length+1) > len(packetList) or length == 0: + break + type = packetList[i+1] + if type == 8 or type == 9: + nameList = packetList[i+2:i+length+1] + name = "" + for j in nameList: + name += chr(j) + i += (length+1) + name = '"'+name+'"' + elif (self.advType == 1): + name = "[ADV_DIRECT_IND]" + + self.name = name + + def extractLength(self, packetList, offset): + self.length = packetList[offset] + return offset + 1 + +def parseLittleEndian(list): + total = 0 + for i in range(len(list)): + total+=(list[i] << (8*i)) + return total + +def toLittleEndian(value, size): + list = [0]*size + for i in range(size): + list[i] = (value >> (i*8)) % 256 + return list + diff --git a/modules/wireshark/extcap/SnifferAPI/Pcap.py b/modules/wireshark/extcap/SnifferAPI/Pcap.py new file mode 100644 index 0000000..63cbe41 --- /dev/null +++ b/modules/wireshark/extcap/SnifferAPI/Pcap.py @@ -0,0 +1,79 @@ +#!/usr/bin/env python3 + +# Copyright (c) Nordic Semiconductor ASA +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without modification, +# are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form, except as embedded into a Nordic +# Semiconductor ASA integrated circuit in a product or a software update for +# such product, must reproduce the above copyright notice, this list of +# conditions and the following disclaimer in the documentation and/or other +# materials provided with the distribution. +# +# 3. Neither the name of Nordic Semiconductor ASA nor the names of its +# contributors may be used to endorse or promote products derived from this +# software without specific prior written permission. +# +# 4. This software, with or without modification, must only be used with a +# Nordic Semiconductor ASA integrated circuit. +# +# 5. Any software provided in binary form under this license must not be reverse +# engineered, decompiled, modified and/or disassembled. +# +# THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS +# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +import struct + + +# See: +# - https://github.com/pcapng/pcapng +# - https://www.tcpdump.org/linktypes/LINKTYPE_NORDIC_BLE.html +PACKET_HEADER = struct.Struct("= PROTOVER_V3: + if self._last_time is None: + # Timestamp from Host + packet.time = time.time() + else: + # Timestamp using reference and packet timestamp diff + if packet.timestamp < self._last_timestamp: + time_diff = (1 << 32) - (self._last_timestamp - packet.timestamp) + else: + time_diff = (packet.timestamp - self._last_timestamp) + + packet.time = self._last_time + (time_diff / 1_000_000) + + self._last_time = packet.time + self._last_timestamp = packet.timestamp + else: + # Timestamp from Host + packet.time = time.time() + + self._appendPacket(packet) + + self.notify("NEW_BLE_PACKET", {"packet": packet}) + self._captureHandler.writePacket(packet) + + self._nProcessedPackets += 1 + if packet.OK: + try: + if packet.blePacket.type == PACKET_TYPE_ADVERTISING: + + if self.state == STATE_FOLLOWING and packet.blePacket.advType == 5: + self._connectionAccessAddress = packet.blePacket.accessAddress + + if self.state == STATE_FOLLOWING and packet.blePacket.advType == 4: + newDevice = Devices.Device(address=packet.blePacket.advAddress, name=packet.blePacket.name, RSSI=packet.RSSI) + self._devices.appendOrUpdate(newDevice) + + if self.state == STATE_SCANNING: + if (packet.blePacket.advType in [0, 1, 2, 4, 6, 7] and + packet.blePacket.advAddress != None and + packet.crcOK and + not packet.direction + ): + newDevice = Devices.Device(address=packet.blePacket.advAddress, name=packet.blePacket.name, RSSI=packet.RSSI) + self._devices.appendOrUpdate(newDevice) + + except Exception as e: + logging.exception("packet processing error %s" % str(e)) + self.notify("PACKET_PROCESSING_ERROR", {"errorString": str(e)}) + + def _continuouslyPipe(self): + while not self._exit: + try: + packet = self._packetReader.getPacket(timeout=12) + if packet == None or not packet.valid: + raise Exceptions.InvalidPacketException("") + except Exceptions.SnifferTimeout as e: + logging.info(str(e)) + packet = None + except (SerialException, ValueError): + logging.exception("UART read error") + logging.error("Lost contact with sniffer hardware.") + self._doExit() + except Exceptions.InvalidPacketException: + pass + else: + if packet.id == EVENT_PACKET_DATA_PDU or packet.id == EVENT_PACKET_ADV_PDU: + self._processBLEPacket(packet) + elif packet.id == EVENT_FOLLOW: + # This packet has no value for the user. + pass + elif packet.id == EVENT_CONNECT: + self._connectEventPacketCounterValue = packet.packetCounter + self._inConnection = True + # copy it because packets are eventually deleted + self._currentConnectRequest = copy.copy(self._findPacketByPacketCounter(self._connectEventPacketCounterValue-1)) + elif packet.id == EVENT_DISCONNECT: + if self._inConnection: + self._packetsInLastConnection = packet.packetCounter - self._connectEventPacketCounterValue + self._inConnection = False + elif packet.id == SWITCH_BAUD_RATE_RESP and self._switchingBaudRate: + self._switchingBaudRate = False + if (packet.baudRate == self._proposedBaudRate): + self._packetReader.switchBaudRate(self._proposedBaudRate) + else: + self._switchBaudRate(packet.baudRate) + elif packet.id == PING_RESP: + if hasattr(packet, 'version'): + versions = { 1116: '3.1.0', + 1115: '3.0.0', + 1114: '2.0.0', + 1113: '2.0.0-beta-3', + 1112: '2.0.0-beta-1' } + self._fwversion = versions.get(packet.version, 'SVN rev: %d' % packet.version) + logging.info("Firmware version %s" % self._fwversion) + elif packet.id == RESP_VERSION: + self._fwversion = packet.version + logging.info("Firmware version %s" % self._fwversion) + elif packet.id == RESP_TIMESTAMP: + # Use current time as timestamp reference + self._last_time = time.time() + self._last_timestamp = packet.timestamp + + lt = time.localtime(self._last_time) + usecs = int((self._last_time - int(self._last_time)) * 1_000_000) + logging.info(f'Firmware timestamp {self._last_timestamp} reference: ' + f'{time.strftime("%b %d %Y %X", lt)}.{usecs} {time.strftime("%Z", lt)}') + else: + logging.info("Unknown packet ID") + + def _findPacketByPacketCounter(self, packetCounterValue): + with self._packetListLock: + for i in range(-1, -1-len(self._packets), -1): + # iterate backwards through packets + if self._packets[i].packetCounter == packetCounterValue: + return self._packets[i] + return None + + def _startScanning(self, findScanRsp = False, findAux = False, scanCoded = False): + logging.info("starting scan") + + if self.state == STATE_FOLLOWING: + logging.info("Stopped sniffing device") + + self._setState(STATE_SCANNING) + self._packetReader.sendScan(findScanRsp, findAux, scanCoded) + self._packetReader.sendTK([0]) + + def _doExit(self): + self._exit = True + self.notify("APP_EXIT") + self._packetReader.doExit() + # Clear method references to avoid uncollectable cyclic references + self.clearCallbacks() + self._devices.clearCallbacks() + + def _startFollowing(self, device, followOnlyAdvertisements = False, followOnlyLegacy = False, followCoded = False): + self._devices.setFollowed(device) + logging.info("Sniffing device " + str(self._devices.index(device)) + ' - "'+device.name+'"') + self._packetReader.sendFollow(device.address, followOnlyAdvertisements, followOnlyLegacy, followCoded) + self._setState(STATE_FOLLOWING) + + def _clearDevices(self): + self._devices.clear() + + def _appendPacket(self, packet): + with self._packetListLock: + if len(self._packets) > 100000: + self._packets = self._packets[20000:] + self._packets.append(packet) + + def _getPackets(self, number = -1): + with self._packetListLock: + returnList = self._packets[0:number] + self._packets = self._packets[number:] + return returnList + + def _clearPackets(self): + with self._packetListLock: + del self._packets[:] diff --git a/modules/wireshark/extcap/SnifferAPI/Types.py b/modules/wireshark/extcap/SnifferAPI/Types.py new file mode 100644 index 0000000..d8a9b1e --- /dev/null +++ b/modules/wireshark/extcap/SnifferAPI/Types.py @@ -0,0 +1,90 @@ +# Copyright (c) Nordic Semiconductor ASA +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without modification, +# are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form, except as embedded into a Nordic +# Semiconductor ASA integrated circuit in a product or a software update for +# such product, must reproduce the above copyright notice, this list of +# conditions and the following disclaimer in the documentation and/or other +# materials provided with the distribution. +# +# 3. Neither the name of Nordic Semiconductor ASA nor the names of its +# contributors may be used to endorse or promote products derived from this +# software without specific prior written permission. +# +# 4. This software, with or without modification, must only be used with a +# Nordic Semiconductor ASA integrated circuit. +# +# 5. Any software provided in binary form under this license must not be reverse +# engineered, decompiled, modified and/or disassembled. +# +# THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS +# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +SLIP_START = 0xAB +SLIP_END = 0xBC +SLIP_ESC = 0xCD +SLIP_ESC_START = SLIP_START + 1 +SLIP_ESC_END = SLIP_END + 1 +SLIP_ESC_ESC = SLIP_ESC + 1 + +PROTOVER_V3 = 3 +PROTOVER_V2 = 2 +PROTOVER_V1 = 1 + +# UART protocol packet codes (see sniffer_uart_protocol.pdf) +REQ_FOLLOW = 0x00 +EVENT_FOLLOW = 0x01 +EVENT_PACKET_ADV_PDU = 0x02 +EVENT_CONNECT = 0x05 +EVENT_PACKET_DATA_PDU = 0x06 +REQ_SCAN_CONT = 0x07 +EVENT_DISCONNECT = 0x09 +SET_TEMPORARY_KEY = 0x0C +PING_REQ = 0x0D +PING_RESP = 0x0E +SWITCH_BAUD_RATE_REQ = 0x13 +SWITCH_BAUD_RATE_RESP = 0x14 +SET_ADV_CHANNEL_HOP_SEQ = 0x17 +SET_PRIVATE_KEY = 0x18 +SET_LEGACY_LONG_TERM_KEY = 0x19 +SET_SC_LONG_TERM_KEY = 0x1A +REQ_VERSION = 0x1B +RESP_VERSION = 0x1C +REQ_TIMESTAMP = 0x1D +RESP_TIMESTAMP = 0x1E +SET_IDENTITY_RESOLVING_KEY= 0x1F +GO_IDLE = 0xFE + +PACKET_TYPE_UNKNOWN = 0x00 +PACKET_TYPE_ADVERTISING = 0x01 +PACKET_TYPE_DATA = 0x02 + +ADV_TYPE_ADV_IND = 0x0 +ADV_TYPE_ADV_DIRECT_IND = 0x1 +ADV_TYPE_ADV_NONCONN_IND = 0x2 +ADV_TYPE_ADV_SCAN_IND = 0x6 +ADV_TYPE_SCAN_REQ = 0x3 +ADV_TYPE_SCAN_RSP = 0x4 +ADV_TYPE_CONNECT_REQ = 0x5 +ADV_TYPE_ADV_EXT_IND = 0x7 + +PHY_1M = 0 +PHY_2M = 1 +PHY_CODED = 2 + +PHY_CODED_CI_S8 = 0 +PHY_CODED_CI_S2 = 1 diff --git a/modules/wireshark/extcap/SnifferAPI/UART.py b/modules/wireshark/extcap/SnifferAPI/UART.py new file mode 100644 index 0000000..76038f6 --- /dev/null +++ b/modules/wireshark/extcap/SnifferAPI/UART.py @@ -0,0 +1,233 @@ +# Copyright (c) Nordic Semiconductor ASA +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without modification, +# are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form, except as embedded into a Nordic +# Semiconductor ASA integrated circuit in a product or a software update for +# such product, must reproduce the above copyright notice, this list of +# conditions and the following disclaimer in the documentation and/or other +# materials provided with the distribution. +# +# 3. Neither the name of Nordic Semiconductor ASA nor the names of its +# contributors may be used to endorse or promote products derived from this +# software without specific prior written permission. +# +# 4. This software, with or without modification, must only be used with a +# Nordic Semiconductor ASA integrated circuit. +# +# 5. Any software provided in binary form under this license must not be reverse +# engineered, decompiled, modified and/or disassembled. +# +# THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS +# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +import collections +import logging +import serial +from threading import Thread, Event + +import serial.tools.list_ports as list_ports + +from . import Exceptions +from . import Packet +from . import Filelock + +import os +if os.name == "posix": + import termios + +SNIFFER_OLD_DEFAULT_BAUDRATE = 460800 +# Baudrates that should be tried (add more if required) +SNIFFER_BAUDRATES = [1000000, 460800] + + +def find_sniffer(write_data=False): + open_ports = list_ports.comports() + + sniffers = [] + for port in [x.device for x in open_ports]: + for rate in SNIFFER_BAUDRATES: + reader = None + l_errors = [serial.SerialException, ValueError, Exceptions.LockedException, OSError] + if os.name == 'posix': + l_errors.append(termios.error) + try: + reader = Packet.PacketReader(portnum=port, baudrate=rate) + try: + if write_data: + reader.sendPingReq() + _ = reader.decodeFromSLIP(0.1, complete_timeout=0.1) + else: + _ = reader.decodeFromSLIP(0.3, complete_timeout=0.3) + + # FIXME: Should add the baud rate here, but that will be a breaking change + sniffers.append(port) + break + except (Exceptions.SnifferTimeout, Exceptions.UARTPacketError): + pass + except tuple(l_errors): + continue + finally: + if reader is not None: + reader.doExit() + return sniffers + + +def find_sniffer_baudrates(port, write_data=False): + for rate in SNIFFER_BAUDRATES: + reader = None + try: + reader = Packet.PacketReader(portnum=port, baudrate=rate) + try: + if write_data: + reader.sendPingReq() + _ = reader.decodeFromSLIP(0.1, complete_timeout=0.1) + else: + _ = reader.decodeFromSLIP(0.3, complete_timeout=0.3) + + # TODO: possibly include additional rates based on protocol version + return {"default": rate, "other": []} + except (Exceptions.SnifferTimeout, Exceptions.UARTPacketError): + pass + finally: + if reader is not None: + reader.doExit() + return None + + +class Uart: + def __init__(self, portnum=None, baudrate=None): + self.ser = None + try: + if baudrate is not None and baudrate not in SNIFFER_BAUDRATES: + raise Exception("Invalid baudrate: " + str(baudrate)) + + logging.info('Opening serial port {}'.format(portnum)) + + self.portnum = portnum + if self.portnum: + Filelock.lock(portnum) + + self.ser = serial.Serial( + port=portnum, + baudrate=9600, + rtscts=True, + exclusive=True + ) + self.ser.baudrate = baudrate + + except Exception: + if self.ser: + self.ser.close() + self.ser = None + raise + + self.read_queue = collections.deque() + self.read_queue_has_data = Event() + + self.worker_thread = Thread(target=self._read_worker) + self.reading = True + self.worker_thread.setDaemon(True) + self.worker_thread.start() + + def _read_worker(self): + self.ser.reset_input_buffer() + while self.reading: + try: + # Read any data available, or wait for at least one byte + data_read = self.ser.read(self.ser.in_waiting or 1) + #logging.info('type: {}'.format(data_read.__class__)) + self._read_queue_extend(data_read) + except serial.SerialException as e: + logging.info("Unable to read UART: %s" % e) + self.reading = False + return + + def close(self): + if self.ser: + logging.info("closing UART") + self.reading = False + # Wake any threads waiting on the queue + self.read_queue_has_data.set() + if hasattr(self.ser, "cancel_read"): + self.ser.cancel_read() + self.worker_thread.join() + self.ser.close() + else: + self.ser.close() + self.worker_thread.join() + self.ser = None + + if self.portnum: + Filelock.unlock(self.portnum) + + def __del__(self): + self.close() + + def switchBaudRate(self, newBaudRate): + self.ser.baudrate = newBaudRate + + def readByte(self, timeout=None): + r = self._read_queue_get(timeout) + return r + + def writeList(self, array): + try: + self.ser.write(array) + except serial.SerialTimeoutException: + logging.info("Got write timeout, ignoring error") + + except serial.SerialException as e: + self.ser.close() + raise e + + def _read_queue_extend(self, data): + if len(data) > 0: + self.read_queue.extend(data) + self.read_queue_has_data.set() + + def _read_queue_get(self, timeout=None): + data = None + if self.read_queue_has_data.wait(timeout): + self.read_queue_has_data.clear() + try: + data = self.read_queue.popleft() + except IndexError: + # This will happen when the class is destroyed + return None + if len(self.read_queue) > 0: + self.read_queue_has_data.set() + return data + + +def list_serial_ports(): + # Scan for available ports. + return list_ports.comports() + +if __name__ == "__main__": + import time + t_start = time.time() + s = find_sniffer() + tn = time.time() + print(s) + print("find_sniffer took %f seconds" % (tn - t_start)) + for p in s: + t = time.time() + print(find_sniffer_baudrates(p)) + tn = time.time() + print("find_sniffer_baudrate took %f seconds" % (tn - t)) + tn = time.time() + print("total runtime %f" % (tn - t_start)) diff --git a/modules/wireshark/extcap/SnifferAPI/__init__.py b/modules/wireshark/extcap/SnifferAPI/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/modules/wireshark/extcap/SnifferAPI/version.py b/modules/wireshark/extcap/SnifferAPI/version.py new file mode 100644 index 0000000..75cccf5 --- /dev/null +++ b/modules/wireshark/extcap/SnifferAPI/version.py @@ -0,0 +1,38 @@ +# Copyright (c) Nordic Semiconductor ASA +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without modification, +# are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form, except as embedded into a Nordic +# Semiconductor ASA integrated circuit in a product or a software update for +# such product, must reproduce the above copyright notice, this list of +# conditions and the following disclaimer in the documentation and/or other +# materials provided with the distribution. +# +# 3. Neither the name of Nordic Semiconductor ASA nor the names of its +# contributors may be used to endorse or promote products derived from this +# software without specific prior written permission. +# +# 4. This software, with or without modification, must only be used with a +# Nordic Semiconductor ASA integrated circuit. +# +# 5. Any software provided in binary form under this license must not be reverse +# engineered, decompiled, modified and/or disassembled. +# +# THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS +# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +VERSION_STRING = "4.1.1" + diff --git a/modules/wireshark/extcap/nrf_sniffer_ble.py b/modules/wireshark/extcap/nrf_sniffer_ble.py new file mode 100644 index 0000000..f8212a1 --- /dev/null +++ b/modules/wireshark/extcap/nrf_sniffer_ble.py @@ -0,0 +1,854 @@ +#!/usr/bin/env python3 + +# Copyright (c) Nordic Semiconductor ASA +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without modification, +# are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form, except as embedded into a Nordic +# Semiconductor ASA integrated circuit in a product or a software update for +# such product, must reproduce the above copyright notice, this list of +# conditions and the following disclaimer in the documentation and/or other +# materials provided with the distribution. +# +# 3. Neither the name of Nordic Semiconductor ASA nor the names of its +# contributors may be used to endorse or promote products derived from this +# software without specific prior written permission. +# +# 4. This software, with or without modification, must only be used with a +# Nordic Semiconductor ASA integrated circuit. +# +# 5. Any software provided in binary form under this license must not be reverse +# engineered, decompiled, modified and/or disassembled. +# +# THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS +# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +""" +Wireshark extcap wrapper for the nRF Sniffer for Bluetooth LE by Nordic Semiconductor. +""" + +import os +import sys +import argparse +import re +import time +import struct +import logging + +from SnifferAPI import Logger +try: + import serial +except ImportError: + Logger.initLogger() + logging.error(f'pyserial not found, please run: "{sys.executable} -m pip install -r requirements.txt" and retry') + sys.exit(f'pyserial not found, please run: "{sys.executable} -m pip install -r requirements.txt" and retry') + +from SnifferAPI import Sniffer, UART, Devices, Pcap, Exceptions + +ERROR_USAGE = 0 +ERROR_ARG = 1 +ERROR_INTERFACE = 2 +ERROR_FIFO = 3 +ERROR_INTERNAL = 4 + +CTRL_CMD_INIT = 0 +CTRL_CMD_SET = 1 +CTRL_CMD_ADD = 2 +CTRL_CMD_REMOVE = 3 +CTRL_CMD_ENABLE = 4 +CTRL_CMD_DISABLE = 5 +CTRL_CMD_STATUSBAR = 6 +CTRL_CMD_INFO_MSG = 7 +CTRL_CMD_WARN_MSG = 8 +CTRL_CMD_ERROR_MSG = 9 + +CTRL_ARG_DEVICE = 0 +CTRL_ARG_KEY_TYPE = 1 +CTRL_ARG_KEY_VAL = 2 +CTRL_ARG_ADVHOP = 3 +CTRL_ARG_HELP = 4 +CTRL_ARG_RESTORE = 5 +CTRL_ARG_LOG = 6 +CTRL_ARG_DEVICE_CLEAR = 7 +CTRL_ARG_NONE = 255 + +CTRL_KEY_TYPE_PASSKEY = 0 +CTRL_KEY_TYPE_OOB = 1 +CTRL_KEY_TYPE_LEGACY_LTK = 2 +CTRL_KEY_TYPE_SC_LTK = 3 +CTRL_KEY_TYPE_DH_PRIVATE_KEY = 4 +CTRL_KEY_TYPE_IRK = 5 +CTRL_KEY_TYPE_ADD_ADDR = 6 +CTRL_KEY_TYPE_FOLLOW_ADDR = 7 + +fn_capture = None +fn_ctrl_in = None +fn_ctrl_out = None + +extcap_log_handler = None +extcap_version = None + +# Wireshark nRF Sniffer for Bluetooth LE Toolbar will always cache the last used key and adv hop and send +# this when starting a capture. To ensure that the key and adv hop is always shown correctly +# in the Toolbar, even if the user has changed it but not applied it, we send the last used +# key and adv hop back as a default value. +last_used_key_type = CTRL_KEY_TYPE_PASSKEY +last_used_key_val = "" +last_used_advhop = "37,38,39" + +zero_addr = "[00,00,00,00,00,00,0]" + +# While searching for a selected Device we must not write packets to the pipe until +# the device is found to avoid getting advertising packets from other devices. +write_new_packets = False + +# The RSSI capture filter value given from Wireshark. +rssi_filter = 0 + +# The RSSI filtering is not on when in follow mode. +in_follow_mode = False + +# nRF Sniffer for Bluetooth LE interface option to only capture advertising packets +capture_only_advertising = False +capture_only_legacy_advertising = False +capture_scan_response = True +capture_scan_aux_pointer = True +capture_coded = False + +def extcap_config(interface): + """List configuration for the given interface""" + print("arg {number=0}{call=--only-advertising}{display=Only advertising packets}" + "{tooltip=The sniffer will only capture advertising packets from the selected device}{type=boolflag}{save=true}") + print("arg {number=1}{call=--only-legacy-advertising}{display=Only legacy advertising packets}" + "{tooltip=The sniffer will only capture legacy advertising packets from the selected device}{type=boolflag}{save=true}") + print("arg {number=2}{call=--scan-follow-rsp}{display=Find scan response data}" + "{tooltip=The sniffer will follow scan requests and scan responses in scan mode}{type=boolflag}{default=true}{save=true}") + print("arg {number=3}{call=--scan-follow-aux}{display=Find auxiliary pointer data}" + "{tooltip=The sniffer will follow aux pointers in scan mode}{type=boolflag}{default=true}{save=true}") + print("arg {number=3}{call=--coded}{display=Scan and follow devices on LE Coded PHY}" + "{tooltip=Scan for devices and follow advertiser on LE Coded PHY}{type=boolflag}{default=false}{save=true}") + +def extcap_dlts(interface): + """List DLTs for the given interface""" + print("dlt {number=272}{name=NORDIC_BLE}{display=nRF Sniffer for Bluetooth LE}") + + +def get_baud_rates(interface): + if not hasattr(serial, "__version__") or not serial.__version__.startswith('3.'): + raise RuntimeError("Too old version of python 'serial' Library. Version 3 required.") + return UART.find_sniffer_baudrates(interface) + + +def get_interfaces(): + if not hasattr(serial, "__version__") or not serial.__version__.startswith('3.'): + raise RuntimeError("Too old version of python 'serial' Library. Version 3 required.") + + devices = UART.find_sniffer() + return devices + + +def extcap_interfaces(): + """List available interfaces to capture from""" + print("extcap {version=%s}{display=nRF Sniffer for Bluetooth LE}" + "{help=https://www.nordicsemi.com/Software-and-Tools/Development-Tools/nRF-Sniffer-for-Bluetooth-LE}" + % Sniffer.VERSION_STRING) + + for interface_port in get_interfaces(): + if sys.platform == 'win32': + print("interface {value=%s-%s}{display=nRF Sniffer for Bluetooth LE %s}" % (interface_port, extcap_version, interface_port)) + else: + print("interface {value=%s-%s}{display=nRF Sniffer for Bluetooth LE}" % (interface_port, extcap_version)) + + print("control {number=%d}{type=selector}{display=Device}{tooltip=Device list}" % CTRL_ARG_DEVICE) + print("control {number=%d}{type=selector}{display=Key}{tooltip=}" % CTRL_ARG_KEY_TYPE) + print("control {number=%d}{type=string}{display=Value}" + "{tooltip=6 digit passkey or 16 or 32 bytes encryption key in hexadecimal starting with '0x', big endian format." + "If the entered key is shorter than 16 or 32 bytes, it will be zero-padded in front'}" + "{validation=\\b^(([0-9]{6})|(0x[0-9a-fA-F]{1,64})|([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2}) (public|random))$\\b}" % CTRL_ARG_KEY_VAL) + print("control {number=%d}{type=string}{display=Adv Hop}" + "{default=37,38,39}" + "{tooltip=Advertising channel hop sequence. " + "Change the order in which the sniffer switches advertising channels. " + "Valid channels are 37, 38 and 39 separated by comma.}" + r"{validation=^\s*((37|38|39)\s*,\s*){0,2}(37|38|39){1}\s*$}{required=true}" % CTRL_ARG_ADVHOP) + print("control {number=%d}{type=button}{display=Clear}{tooltop=Clear or remove device from Device list}" % CTRL_ARG_DEVICE_CLEAR) + print("control {number=%d}{type=button}{role=help}{display=Help}{tooltip=Access user guide (launches browser)}" % CTRL_ARG_HELP) + print("control {number=%d}{type=button}{role=restore}{display=Defaults}{tooltip=Resets the user interface and clears the log file}" % CTRL_ARG_RESTORE) + print("control {number=%d}{type=button}{role=logger}{display=Log}{tooltip=Log per interface}" % CTRL_ARG_LOG) + + print("value {control=%d}{value= }{display=All advertising devices}{default=true}" % CTRL_ARG_DEVICE) + print("value {control=%d}{value=%s}{display=Follow IRK}" % (CTRL_ARG_DEVICE, zero_addr)) + + print("value {control=%d}{value=%d}{display=Legacy Passkey}{default=true}" % (CTRL_ARG_KEY_TYPE, CTRL_KEY_TYPE_PASSKEY)) + print("value {control=%d}{value=%d}{display=Legacy OOB data}" % (CTRL_ARG_KEY_TYPE, CTRL_KEY_TYPE_OOB)) + print("value {control=%d}{value=%d}{display=Legacy LTK}" % (CTRL_ARG_KEY_TYPE, CTRL_KEY_TYPE_LEGACY_LTK)) + print("value {control=%d}{value=%d}{display=SC LTK}" % (CTRL_ARG_KEY_TYPE, CTRL_KEY_TYPE_SC_LTK)) + print("value {control=%d}{value=%d}{display=SC Private Key}" % (CTRL_ARG_KEY_TYPE, CTRL_KEY_TYPE_DH_PRIVATE_KEY)) + print("value {control=%d}{value=%d}{display=IRK}" % (CTRL_ARG_KEY_TYPE, CTRL_KEY_TYPE_IRK)) + print("value {control=%d}{value=%d}{display=Add LE address}" % (CTRL_ARG_KEY_TYPE, CTRL_KEY_TYPE_ADD_ADDR)) + print("value {control=%d}{value=%d}{display=Follow LE address}" % (CTRL_ARG_KEY_TYPE, CTRL_KEY_TYPE_FOLLOW_ADDR)) + + +def string_address(address): + """Make a string representation of the address""" + if len(address) < 7: + return None + + addr_string = '' + + for i in range(5): + addr_string += (format(address[i], '02x') + ':') + addr_string += format(address[5], '02x') + ' ' + + if address[6]: + addr_string += ' random ' + else: + addr_string += ' public ' + + return addr_string + + +def control_read(): + """Read a message from the control channel""" + header = fn_ctrl_in.read(6) + if not header: + # Ref. https://docs.python.org/3/tutorial/inputoutput.html#methods-of-file-objects: + # > If the end of the file has been reached, f.read() will return an + # > empty string ('') + return None, None, None + + _, _, length, arg, typ = struct.unpack('>sBHBB', header) + + payload = bytearray() + if length > 2: + payload = fn_ctrl_in.read(length - 2) + + return arg, typ, payload + +def control_write(arg, typ, message): + """Write the message to the control channel""" + + if not fn_ctrl_out: + # No control out has been opened + return + + packet = bytearray() + packet += struct.pack('>BBHBB', ord('T'), 0, len(message) + 2, arg, typ) + packet += message.encode('utf-8') + + fn_ctrl_out.write(packet) + + +def capture_write(message): + """Write the message to the capture pipe""" + fn_capture.write(message) + fn_capture.flush() + + +def new_packet(notification): + """A new Bluetooth LE packet has arrived""" + if write_new_packets == True: + packet = notification.msg["packet"] + + if rssi_filter == 0 or in_follow_mode == True or packet.RSSI > rssi_filter: + p = bytes([packet.boardId] + packet.getList()) + capture_write(Pcap.create_packet(p, packet.time)) + + +def device_added(notification): + """A device is added or updated""" + device = notification.msg + + # Only add devices matching RSSI filter + if rssi_filter == 0 or device.RSSI > rssi_filter: + # Extcap selector uses \0 character to separate value and display value, + # therefore the display value cannot contain the \0 character as this + # would lead to truncation of the display value. + display = (device.name.replace('\0', '\\0') + + (" " + str(device.RSSI) + " dBm " if device.RSSI != 0 else " ") + + string_address(device.address)) + + message = str(device.address) + '\0' + display + + control_write(CTRL_ARG_DEVICE, CTRL_CMD_ADD, message) + + +def device_removed(notification): + """A device is removed""" + device = notification.msg + display = device.name + " " + string_address(device.address) + + message = "" + message += str(device.address) + + control_write(CTRL_ARG_DEVICE, CTRL_CMD_REMOVE, message) + logging.info("Removed: " + display) + +def devices_cleared(notification): + """Devices have been cleared""" + message = "" + control_write(CTRL_ARG_DEVICE, CTRL_CMD_REMOVE, message) + + control_write(CTRL_ARG_DEVICE, CTRL_CMD_ADD, " " + '\0' + "All advertising devices") + control_write(CTRL_ARG_DEVICE, CTRL_CMD_ADD, zero_addr + '\0' + "Follow IRK") + control_write(CTRL_ARG_DEVICE, CTRL_CMD_SET, " ") + +def handle_control_command(sniffer, arg, typ, payload): + """Handle command from control channel""" + global last_used_key_type + + if arg == CTRL_ARG_DEVICE: + if payload == b' ': + scan_for_devices(sniffer) + else: + values = payload + values = values.replace(b'[', b'') + values = values.replace(b']', b'') + device_address = values.split(b',') + + logging.info('follow_device: {}'.format(device_address)) + for i in range(6): + device_address[i] = int(device_address[i]) + + device_address[6] = 1 if device_address[6] == b' 1' else 0 + + device = Devices.Device(address=device_address, name='""', RSSI=0) + + follow_device(sniffer, device) + + elif arg == CTRL_ARG_DEVICE_CLEAR: + clear_devices(sniffer) + elif arg == CTRL_ARG_KEY_TYPE: + last_used_key_type = int(payload.decode('utf-8')) + elif arg == CTRL_ARG_KEY_VAL: + set_key_value(sniffer, payload) + elif arg == CTRL_ARG_ADVHOP: + set_advhop(sniffer, payload) + + +def control_read_initial_values(sniffer): + """Read initial control values""" + initialized = False + + while not initialized: + arg, typ, payload = control_read() + if typ == CTRL_CMD_INIT: + initialized = True + else: + handle_control_command(sniffer, arg, typ, payload) + + +def control_write_defaults(): + """Write default control values""" + control_write(CTRL_ARG_KEY_TYPE, CTRL_CMD_SET, str(last_used_key_type)) + control_write(CTRL_ARG_KEY_VAL, CTRL_CMD_SET, last_used_key_val) + control_write(CTRL_ARG_ADVHOP, CTRL_CMD_SET, last_used_advhop) + + +def scan_for_devices(sniffer): + """Start scanning for advertising devices""" + global in_follow_mode + if sniffer.state == 2: + log = "Scanning all advertising devices" + logging.info(log) + sniffer.scan(capture_scan_response, capture_scan_aux_pointer, capture_coded) + + in_follow_mode = False + + +def clear_devices(sniffer): + """Clear the advertising devices list""" + global in_follow_mode + + sniffer.clearDevices() + scan_for_devices(sniffer) + + in_follow_mode = False + + +def follow_device(sniffer, device): + """Follow the selected device""" + global write_new_packets, in_follow_mode + + sniffer.follow(device, capture_only_advertising, capture_only_legacy_advertising, capture_coded) + time.sleep(.1) + + in_follow_mode = True + logging.info("Following " + string_address(device.address)) + + +def set_key_value(sniffer, payload): + """Send key value to device""" + global last_used_key_val + + payload = payload.decode('utf-8') + last_used_key_val = payload + + if (last_used_key_type == CTRL_KEY_TYPE_PASSKEY): + if re.match("^[0-9]{6}$", payload): + set_passkey(sniffer, payload) + else: + logging.info("Invalid key value: " + str(payload)) + elif (last_used_key_type == CTRL_KEY_TYPE_OOB): + if re.match("^0[xX][0-9A-Za-z]{1,32}$", payload): + set_OOB(sniffer, payload[2:]) + else: + logging.info("Invalid key value: " + str(payload)) + elif (last_used_key_type == CTRL_KEY_TYPE_DH_PRIVATE_KEY): + if (re.match("^0[xX][0-9A-Za-z]{1,64}$", payload)): + set_dh_private_key(sniffer, payload[2:]) + else: + logging.info("Invalid key value: " + str(payload)) + elif (last_used_key_type == CTRL_KEY_TYPE_LEGACY_LTK): + if (re.match("^0[xX][0-9A-Za-z]{1,32}$", payload)): + set_legacy_ltk(sniffer, payload[2:]) + else: + logging.info("Invalid key value: " + str(payload)) + elif (last_used_key_type == CTRL_KEY_TYPE_SC_LTK): + if (re.match("^0[xX][0-9A-Za-z]{1,32}$", payload)): + set_sc_ltk(sniffer, payload[2:]) + else: + logging.info("Invalid key value: " + str(payload)) + elif (last_used_key_type == CTRL_KEY_TYPE_IRK): + if (re.match("^0[xX][0-9A-Za-z]{1,32}$", payload)): + set_irk(sniffer, payload[2:]) + else: + logging.info("Invalid key value: " + str(payload)) + elif (last_used_key_type == CTRL_KEY_TYPE_ADD_ADDR): + if (re.match("^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2}) (public|random)$", payload)): + add_address(sniffer, payload) + else: + logging.info("Invalid key value: " + str(payload)) + elif (last_used_key_type == CTRL_KEY_TYPE_FOLLOW_ADDR): + if (re.match("^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2}) (public|random)$", payload)): + follow_address(sniffer, payload) + else: + logging.info("Invalid key value: " + str(payload)) + else: + logging.info("Invalid key type: " + str(last_used_key_type)) + +def parse_hex(value): + if len(value) % 2 != 0: + value = '0' + value + + a = list(value) + return [int(x + y, 16) for x,y in zip(a[::2], a[1::2])] + +def set_passkey(sniffer, payload): + """Send passkey to device""" + passkey = [] + logging.info("Setting Passkey: " + payload) + init_payload = int(payload, 10) + if len(payload) >= 6: + passkey = [] + passkey += [(init_payload >> 16) & 0xFF] + passkey += [(init_payload >> 8) & 0xFF] + passkey += [(init_payload >> 0) & 0xFF] + + sniffer.sendTK(passkey) + +def set_OOB(sniffer, payload): + """Send OOB to device""" + logging.info("Setting OOB data: " + payload) + sniffer.sendTK(parse_hex(payload)) + +def set_dh_private_key(sniffer, payload): + """Send Diffie-Hellman private key to device""" + logging.info("Setting DH private key: " + payload) + sniffer.sendPrivateKey(parse_hex(payload)) + +def set_legacy_ltk(sniffer, payload): + """Send Legacy Long Term Key (LTK) to device""" + logging.info("Setting Legacy LTK: " + payload) + sniffer.sendLegacyLTK(parse_hex(payload)) + +def set_sc_ltk(sniffer, payload): + """Send LE secure connections Long Term Key (LTK) to device""" + logging.info("Setting SC LTK: " + payload) + sniffer.sendSCLTK(parse_hex(payload)) + +def set_irk(sniffer, payload): + """Send Identity Resolving Key (IRK) to device""" + logging.info("Setting IRK: " + payload) + sniffer.sendIRK(parse_hex(payload)) + +def add_address(sniffer, payload): + """Add LE address to device list""" + logging.info("Adding LE address: " + payload) + + (addr,addr_type) = payload.split(' ') + device = [int(a, 16) for a in addr.split(":")] + + device.append(1 if addr_type == "random" else 0) + + new_device = Devices.Device(address=device, name='""', RSSI=0) + sniffer.addDevice(new_device) + +def follow_address(sniffer, payload): + """Add LE address to device list""" + logging.info("Adding LE address: " + payload) + + (addr,addr_type) = payload.split(' ') + device = [int(a, 16) for a in addr.split(":")] + + device.append(1 if addr_type == "random" else 0) + + new_device = Devices.Device(address=device, name='""', RSSI=0) + sniffer.addDevice(new_device) + + control_write(CTRL_ARG_DEVICE, CTRL_CMD_SET, f"{new_device.address}") + follow_device(sniffer, new_device) + +def set_advhop(sniffer, payload): + """Set advertising channel hop sequence""" + global last_used_advhop + + payload = payload.decode('utf-8') + + last_used_advhop = payload + + hops = [int(channel) for channel in payload.split(',')] + + sniffer.setAdvHopSequence(hops) + + log = "AdvHopSequence: " + str(hops) + logging.info(log) + + +def control_loop(sniffer): + """Main loop reading control messages""" + arg_read = CTRL_ARG_NONE + while arg_read is not None: + arg_read, typ, payload = control_read() + handle_control_command(sniffer, arg_read, typ, payload) + + +def error_interface_not_found(interface, fifo): + log = "nRF Sniffer for Bluetooth LE could not find interface: " + interface + control_write(CTRL_ARG_NONE, CTRL_CMD_ERROR_MSG, log) + extcap_close_fifo(fifo) + sys.exit(ERROR_INTERFACE) + + +def validate_interface(interface, fifo): + """Check if interface exists""" + if sys.platform != 'win32' and not os.path.exists(interface): + error_interface_not_found(interface, fifo) + + +def get_default_baudrate(interface, fifo): + """Return the baud rate that interface is running at, or exit if the board is not found""" + rates = get_baud_rates(interface) + if rates is None: + error_interface_not_found(interface, fifo) + return rates["default"] + +def get_supported_protocol_version(extcap_version): + """Return the maximum supported Packet Protocol Version""" + if extcap_version == 'None': + return 2 + + (major, minor) = extcap_version.split('.') + + major = int(major) + minor = int(minor) + + if major > 3 or (major == 3 and minor >= 4): + return 3 + else: + return 2 + +def setup_extcap_log_handler(): + """Add the a handler that emits log messages through the extcap control out channel""" + global extcap_log_handler + extcap_log_handler = ExtcapLoggerHandler() + Logger.addLogHandler(extcap_log_handler) + control_write(CTRL_ARG_LOG, CTRL_CMD_SET, "") + + +def teardown_extcap_log_handler(): + """Remove and reset the extcap log handler""" + global extcap_log_handler + if extcap_log_handler: + Logger.removeLogHandler(extcap_log_handler) + extcap_log_handler = None + + +def sniffer_capture(interface, baudrate, fifo, control_in, control_out): + """Start the sniffer to capture packets""" + global fn_capture, fn_ctrl_in, fn_ctrl_out, write_new_packets, extcap_log_handler + + try: + fn_capture = open(fifo, 'wb', 0) + + if control_out is not None: + fn_ctrl_out = open(control_out, 'wb', 0) + setup_extcap_log_handler() + + if control_in is not None: + fn_ctrl_in = open(control_in, 'rb', 0) + + logging.info("Log started at %s", time.strftime("%c")) + + interface, extcap_version = interface.split('-') + logging.info("Extcap version %s", str(extcap_version)) + + capture_write(Pcap.get_global_header()) + validate_interface(interface, fifo) + if baudrate is None: + baudrate = get_default_baudrate(interface, fifo) + + sniffer = Sniffer.Sniffer(interface, baudrate) + sniffer.subscribe("NEW_BLE_PACKET", new_packet) + sniffer.subscribe("DEVICE_ADDED", device_added) + sniffer.subscribe("DEVICE_UPDATED", device_added) + sniffer.subscribe("DEVICE_REMOVED", device_removed) + sniffer.subscribe("DEVICES_CLEARED", devices_cleared) + sniffer.setAdvHopSequence([37, 38, 39]) + sniffer.setSupportedProtocolVersion(get_supported_protocol_version(extcap_version)) + logging.info("Sniffer created") + + logging.info("Software version: %s" % sniffer.swversion) + sniffer.getFirmwareVersion() + sniffer.getTimestamp() + sniffer.start() + logging.info("sniffer started") + sniffer.scan(capture_scan_response, capture_scan_aux_pointer, capture_coded) + logging.info("scanning started") + + if fn_ctrl_in is not None and fn_ctrl_out is not None: + # First read initial control values + control_read_initial_values(sniffer) + + # Then write default values + control_write_defaults() + logging.info("defaults written") + + # Start receiving packets + write_new_packets = True + + # Start the control loop + logging.info("control loop") + control_loop(sniffer) + logging.info("exiting control loop") + + else: + logging.info("") + # Start receiving packets + write_new_packets = True + while True: + # Wait for keyboardinterrupt + pass + + except Exceptions.LockedException as e: + logging.info('{}'.format(e.message)) + + except OSError: + # We'll get OSError=22 when/if wireshark kills the pipe(s) on capture + # stop. + pass + + finally: + # The first thing we should do is to tear down the extcap log handler. + # This might already have triggered an OSError, or we will trigger one + # by attempting to log at this point. + teardown_extcap_log_handler() + + # Safe to use logging again. + logging.info("Tearing down") + + sniffer.doExit() + if fn_capture is not None and not fn_capture.closed: + fn_capture.close() + + if fn_ctrl_in is not None and not fn_ctrl_in.closed: + fn_ctrl_in.close() + + if fn_ctrl_out is not None and not fn_ctrl_out.closed: + fn_ctrl_out.close() + + fn_capture = None + fn_ctrl_out = None + fn_ctrl_in = None + + logging.info("Exiting") + + +def extcap_close_fifo(fifo): + """"Close extcap fifo""" + if not os.path.exists(fifo): + print("FIFO does not exist!", file=sys.stderr) + return + + # This is apparently needed to workaround an issue on Windows/macOS + # where the message cannot be read. (really?) + fh = open(fifo, 'wb', 0) + fh.close() + + +class ExtcapLoggerHandler(logging.Handler): + """Handler used to display all logging messages in extcap""" + + def emit(self, record): + """Send log message to extcap""" + message = record.message.replace('\0', '\\0') + log_message = f"{record.levelname}: {message}\n" + control_write(CTRL_ARG_LOG, CTRL_CMD_ADD, log_message) + + +def parse_capture_filter(capture_filter): + """"Parse given capture filter""" + global rssi_filter + m = re.search(r"^\s*rssi\s*(>=?)\s*(-?[0-9]+)\s*$", capture_filter, re.IGNORECASE) + if m: + rssi_filter = int(m.group(2)) + if rssi_filter > -10 or rssi_filter < -256: + print("Illegal RSSI value, must be between -10 and -256") + # Handle >= by modifying the threshold, since comparisons are always done with + # the > operator + if m.group(1) == '>=': + rssi_filter = rssi_filter - 1 + else: + print("Filter syntax: \"RSSI >= -value\"") + +import atexit + +@atexit.register +def goodbye(): + logging.info("Exiting PID {}".format(os.getpid())) + + +if __name__ == '__main__': + + # Capture options + parser = argparse.ArgumentParser(description="Nordic Semiconductor nRF Sniffer for Bluetooth LE extcap plugin") + + # Extcap Arguments + parser.add_argument("--capture", + help="Start the capture", + action="store_true") + + parser.add_argument("--extcap-interfaces", + help="List available interfaces to capture from", + action="store_true") + + parser.add_argument("--extcap-interface", + help="The interface to capture from") + + parser.add_argument("--extcap-dlts", + help="List DLTs for the given interface", + action="store_true") + + parser.add_argument("--extcap-config", + help="List configurations for the given interface", + action="store_true") + + parser.add_argument("--extcap-capture-filter", + help="Used together with capture to provide a capture filter") + + parser.add_argument("--fifo", + help="Use together with capture to provide the fifo to dump data to") + + parser.add_argument("--extcap-control-in", + help="Used together with capture to get control messages from toolbar") + + parser.add_argument("--extcap-control-out", + help="Used together with capture to send control messages to toolbar") + + parser.add_argument("--extcap-version", + help="Set extcap supported version") + + # Interface Arguments + parser.add_argument("--device", help="Device", default="") + parser.add_argument("--baudrate", type=int, help="The sniffer baud rate") + parser.add_argument("--only-advertising", help="Only advertising packets", action="store_true") + parser.add_argument("--only-legacy-advertising", help="Only legacy advertising packets", action="store_true") + parser.add_argument("--scan-follow-rsp", help="Find scan response data ", action="store_true") + parser.add_argument("--scan-follow-aux", help="Find auxiliary pointer data", action="store_true") + parser.add_argument("--coded", help="Scan and follow on LE Coded PHY", action="store_true") + + logging.info("Started PID {}".format(os.getpid())) + + try: + args, unknown = parser.parse_known_args() + logging.info(args) + + except argparse.ArgumentError as exc: + print("%s" % exc, file=sys.stderr) + fifo_found = False + fifo = "" + for arg in sys.argv: + if arg == "--fifo" or arg == "--extcap-fifo": + fifo_found = True + elif fifo_found: + fifo = arg + break + extcap_close_fifo(fifo) + sys.exit(ERROR_ARG) + + if len(sys.argv) <= 1: + parser.exit("No arguments given!") + + if args.extcap_version: + extcap_version = args.extcap_version + + if args.extcap_capture_filter: + parse_capture_filter(args.extcap_capture_filter) + if args.extcap_interface and len(sys.argv) == 5: + sys.exit(0) + + if not args.extcap_interfaces and args.extcap_interface is None: + parser.exit("An interface must be provided or the selection must be displayed") + + if args.extcap_interfaces or args.extcap_interface is None: + extcap_interfaces() + sys.exit(0) + + if len(unknown) > 0: + print("Sniffer %d unknown arguments given" % len(unknown)) + logging.info("Sniffer %d unknown arguments given" % len(unknown)) + + interface = args.extcap_interface + + capture_only_advertising = args.only_advertising + capture_only_legacy_advertising = args.only_legacy_advertising + capture_scan_response = args.scan_follow_rsp + capture_scan_aux_pointer = args.scan_follow_aux + capture_coded = args.coded + + if args.extcap_config: + extcap_config(interface) + elif args.extcap_dlts: + extcap_dlts(interface) + elif args.capture: + if args.fifo is None: + parser.print_help() + sys.exit(ERROR_FIFO) + try: + logging.info('sniffer capture') + sniffer_capture(interface, args.baudrate, args.fifo, args.extcap_control_in, args.extcap_control_out) + except KeyboardInterrupt: + pass + except Exception as e: + import traceback + logging.info(traceback.format_exc()) + logging.info('internal error: {}'.format(repr(e))) + sys.exit(ERROR_INTERNAL) + else: + parser.print_help() + sys.exit(ERROR_USAGE) + logging.info('main exit PID {}'.format(os.getpid())) From cc301951fca3034993f374aac8b3505336002dfa Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 11 Nov 2025 19:34:40 +0100 Subject: [PATCH 764/766] Apply black --- .../extcap/SnifferAPI/CaptureFiles.py | 8 +- .../wireshark/extcap/SnifferAPI/Devices.py | 21 +- .../wireshark/extcap/SnifferAPI/Exceptions.py | 6 + .../wireshark/extcap/SnifferAPI/Filelock.py | 26 +- modules/wireshark/extcap/SnifferAPI/Logger.py | 17 +- .../extcap/SnifferAPI/Notifications.py | 18 +- modules/wireshark/extcap/SnifferAPI/Packet.py | 250 ++++++---- modules/wireshark/extcap/SnifferAPI/Pcap.py | 29 +- .../wireshark/extcap/SnifferAPI/Sniffer.py | 42 +- .../extcap/SnifferAPI/SnifferCollector.py | 113 +++-- modules/wireshark/extcap/SnifferAPI/Types.py | 90 ++-- modules/wireshark/extcap/SnifferAPI/UART.py | 21 +- .../wireshark/extcap/SnifferAPI/version.py | 1 - modules/wireshark/extcap/nrf_sniffer_ble.py | 429 ++++++++++++------ 14 files changed, 684 insertions(+), 387 deletions(-) diff --git a/modules/wireshark/extcap/SnifferAPI/CaptureFiles.py b/modules/wireshark/extcap/SnifferAPI/CaptureFiles.py index f5cf6cb..8c218e5 100644 --- a/modules/wireshark/extcap/SnifferAPI/CaptureFiles.py +++ b/modules/wireshark/extcap/SnifferAPI/CaptureFiles.py @@ -59,13 +59,13 @@ class CaptureFileHandler: if not os.path.isdir(os.path.dirname(filename)): os.makedirs(os.path.dirname(filename)) self.filename = filename - self.backupFilename = self.filename+".1" + self.backupFilename = self.filename + ".1" if not os.path.isfile(self.filename): self.startNewFile() elif os.path.getsize(self.filename) > 20000000: self.doRollover() if clear: - #clear file + # clear file self.startNewFile() def startNewFile(self): @@ -86,6 +86,6 @@ class CaptureFileHandler: def writePacket(self, packet): with open(self.filename, "ab") as f: packet = Pcap.create_packet( - bytes([packet.boardId] + packet.getList()), - packet.time) + bytes([packet.boardId] + packet.getList()), packet.time + ) f.write(packet) diff --git a/modules/wireshark/extcap/SnifferAPI/Devices.py b/modules/wireshark/extcap/SnifferAPI/Devices.py index 8ea3c0e..61ac961 100644 --- a/modules/wireshark/extcap/SnifferAPI/Devices.py +++ b/modules/wireshark/extcap/SnifferAPI/Devices.py @@ -39,6 +39,7 @@ from . import Notifications import logging, threading + class DeviceList(Notifications.Notifier): def __init__(self, *args, **kwargs): Notifications.Notifier.__init__(self, *args, **kwargs) @@ -52,7 +53,7 @@ class DeviceList(Notifications.Notifier): return len(self.devices) def __repr__(self): - return "Sniffer Device List: "+str(self.asList()) + return "Sniffer Device List: " + str(self.asList()) def clear(self): logging.info("Clearing") @@ -69,11 +70,15 @@ class DeviceList(Notifications.Notifier): self.append(newDevice) else: updated = False - if (newDevice.name != "\"\"") and (existingDevice.name == "\"\""): + if (newDevice.name != '""') and (existingDevice.name == '""'): existingDevice.name = newDevice.name updated = True - if (newDevice.RSSI != 0 and (existingDevice.RSSI < (newDevice.RSSI - 5)) or (existingDevice.RSSI > (newDevice.RSSI+2))): + if ( + newDevice.RSSI != 0 + and (existingDevice.RSSI < (newDevice.RSSI - 5)) + or (existingDevice.RSSI > (newDevice.RSSI + 2)) + ): existingDevice.RSSI = newDevice.RSSI updated = True @@ -93,14 +98,14 @@ class DeviceList(Notifications.Notifier): return self.devices[id] elif type(id) == str: for dev in self.devices: - if dev.name in [id, '"'+id+'"']: + if dev.name in [id, '"' + id + '"']: return dev elif id.__class__.__name__ == "Device": return self.find(id.address) return None def remove(self, id): - if type(id) == list: #address + if type(id) == list: # address device = self.devices.pop(self.devices.index(self.find(id))) elif type(id) == int: device = self.devices.pop(id) @@ -126,6 +131,7 @@ class DeviceList(Notifications.Notifier): def asList(self): return self.devices[:] + class Device: def __init__(self, address, name, RSSI): self.address = address @@ -134,10 +140,11 @@ class Device: self.followed = False def __repr__(self): - return 'Bluetooth LE device "'+self.name+'" ('+str(self.address)+')' + return 'Bluetooth LE device "' + self.name + '" (' + str(self.address) + ")" + def listToString(list): str = "" for i in list: - str+=chr(i) + str += chr(i) return str diff --git a/modules/wireshark/extcap/SnifferAPI/Exceptions.py b/modules/wireshark/extcap/SnifferAPI/Exceptions.py index f3ab20c..86f356a 100644 --- a/modules/wireshark/extcap/SnifferAPI/Exceptions.py +++ b/modules/wireshark/extcap/SnifferAPI/Exceptions.py @@ -38,23 +38,29 @@ class SnifferTimeout(Exception): pass + class UARTPacketError(Exception): pass + class LockedException(Exception): def __init__(self, message): self.message = message + class InvalidPacketException(Exception): pass + class InvalidAdvChannel(Exception): pass + # Internal Use class SnifferWatchDogTimeout(SnifferTimeout): pass + # Internal Use class ExitCodeException(Exception): pass diff --git a/modules/wireshark/extcap/SnifferAPI/Filelock.py b/modules/wireshark/extcap/SnifferAPI/Filelock.py index 5570942..7bf21b5 100644 --- a/modules/wireshark/extcap/SnifferAPI/Filelock.py +++ b/modules/wireshark/extcap/SnifferAPI/Filelock.py @@ -2,7 +2,7 @@ import os import logging from sys import platform -if platform == 'linux': +if platform == "linux": import psutil from . import Exceptions @@ -16,8 +16,9 @@ from . import Exceptions # HDB UUCP lock file format: # process identifier (PID) as a ten byte ASCII decimal number, with a trailing newline + def lockpid(lockfile): - if (os.path.isfile(lockfile)): + if os.path.isfile(lockfile): with open(lockfile) as fd: lockpid = fd.read() @@ -30,17 +31,13 @@ def lockpid(lockfile): return 0 + def lock(port): - if platform != 'linux': + if platform != "linux": return tty = os.path.basename(port) - lockfile = os.path.join( - '/run', - 'user', - f'{os.getuid()}', - f'{tty}.lock' - ) + lockfile = os.path.join("/run", "user", f"{os.getuid()}", f"{tty}.lock") lockedpid = lockpid(lockfile) if lockedpid: @@ -53,16 +50,17 @@ def lock(port): logging.info("Lockfile is stale. Overriding it..") os.remove(lockfile) - fd = open(lockfile, 'w') - with open(lockfile, 'w') as fd: - fd.write(f'{os.getpid():10}') + fd = open(lockfile, "w") + with open(lockfile, "w") as fd: + fd.write(f"{os.getpid():10}") + def unlock(port): - if platform != 'linux': + if platform != "linux": return tty = os.path.basename(port) - lockfile = f'/var/lock/LCK..{tty}' + lockfile = f"/var/lock/LCK..{tty}" lockedpid = lockpid(lockfile) if lockedpid == os.getpid(): diff --git a/modules/wireshark/extcap/SnifferAPI/Logger.py b/modules/wireshark/extcap/SnifferAPI/Logger.py index cbb1e7c..228a0f1 100644 --- a/modules/wireshark/extcap/SnifferAPI/Logger.py +++ b/modules/wireshark/extcap/SnifferAPI/Logger.py @@ -48,9 +48,11 @@ import logging.handlers as logHandlers # will result in the line being appended to the log file # ################################################################# -appdata = os.getenv('appdata') +appdata = os.getenv("appdata") if appdata: - DEFAULT_LOG_FILE_DIR = os.path.join(appdata, 'Nordic Semiconductor', 'Sniffer', 'logs') + DEFAULT_LOG_FILE_DIR = os.path.join( + appdata, "Nordic Semiconductor", "Sniffer", "logs" + ) else: DEFAULT_LOG_FILE_DIR = "/tmp/logs" @@ -89,8 +91,12 @@ def initLogger(): global logFlusher global logHandlerArray - logHandler = MyRotatingFileHandler(logFileName, mode='a', maxBytes=myMaxBytes, backupCount=3) - logFormatter = logging.Formatter('%(asctime)s %(levelname)s: %(message)s', datefmt='%d-%b-%Y %H:%M:%S (%z)') + logHandler = MyRotatingFileHandler( + logFileName, mode="a", maxBytes=myMaxBytes, backupCount=3 + ) + logFormatter = logging.Formatter( + "%(asctime)s %(levelname)s: %(message)s", datefmt="%d-%b-%Y %H:%M:%S (%z)" + ) logHandler.setFormatter(logFormatter) logger = logging.getLogger() logger.addHandler(logHandler) @@ -154,6 +160,7 @@ def addLogHandler(logHandler): logger.setLevel(logging.INFO) logHandlerArray.append(logHandler) + def removeLogHandler(logHandler): global logHandlerArray logger = logging.getLogger() @@ -200,7 +207,7 @@ class LogFlusher(threading.Thread): self.exit.set() -if __name__ == '__main__': +if __name__ == "__main__": initLogger() for i in range(50): logging.info("test log no. " + str(i)) diff --git a/modules/wireshark/extcap/SnifferAPI/Notifications.py b/modules/wireshark/extcap/SnifferAPI/Notifications.py index d9fd8e4..b7cba37 100644 --- a/modules/wireshark/extcap/SnifferAPI/Notifications.py +++ b/modules/wireshark/extcap/SnifferAPI/Notifications.py @@ -37,18 +37,20 @@ import threading, logging -class Notification(): - def __init__(self, key, msg = None): + +class Notification: + def __init__(self, key, msg=None): if type(key) is not str: - raise TypeError("Invalid notification key: "+str(key)) + raise TypeError("Invalid notification key: " + str(key)) self.key = key self.msg = msg def __repr__(self): return "Notification (key: %s, msg: %s)" % (str(self.key), str(self.msg)) -class Notifier(): - def __init__(self, callbacks = [], **kwargs): + +class Notifier: + def __init__(self, callbacks=[], **kwargs): self.callbacks = {} self.callbackLock = threading.RLock() @@ -75,10 +77,10 @@ class Notifier(): self.callbacks[key] = [] return self.callbacks[key] - def notify(self, key = None, msg = None, notification = None): + def notify(self, key=None, msg=None, notification=None): with self.callbackLock: if notification == None: - notification = Notification(key,msg) + notification = Notification(key, msg) for callback in self.getCallbacks(notification.key): callback(notification) @@ -87,4 +89,4 @@ class Notifier(): callback(notification) def passOnNotification(self, notification): - self.notify(notification = notification) + self.notify(notification=notification) diff --git a/modules/wireshark/extcap/SnifferAPI/Packet.py b/modules/wireshark/extcap/SnifferAPI/Packet.py index ddac78d..bc4abd9 100644 --- a/modules/wireshark/extcap/SnifferAPI/Packet.py +++ b/modules/wireshark/extcap/SnifferAPI/Packet.py @@ -43,17 +43,17 @@ ADV_ACCESS_ADDRESS = [0xD6, 0xBE, 0x89, 0x8E] SYNCWORD_POS = 0 PAYLOAD_LEN_POS_V1 = 1 PAYLOAD_LEN_POS = 0 -PROTOVER_POS = PAYLOAD_LEN_POS+2 -PACKETCOUNTER_POS = PROTOVER_POS+1 -ID_POS = PACKETCOUNTER_POS+2 +PROTOVER_POS = PAYLOAD_LEN_POS + 2 +PACKETCOUNTER_POS = PROTOVER_POS + 1 +ID_POS = PACKETCOUNTER_POS + 2 -BLE_HEADER_LEN_POS = ID_POS+1 -FLAGS_POS = BLE_HEADER_LEN_POS+1 -CHANNEL_POS = FLAGS_POS+1 -RSSI_POS = CHANNEL_POS+1 -EVENTCOUNTER_POS = RSSI_POS+1 -TIMESTAMP_POS = EVENTCOUNTER_POS+2 -BLEPACKET_POS = TIMESTAMP_POS+4 +BLE_HEADER_LEN_POS = ID_POS + 1 +FLAGS_POS = BLE_HEADER_LEN_POS + 1 +CHANNEL_POS = FLAGS_POS + 1 +RSSI_POS = CHANNEL_POS + 1 +EVENTCOUNTER_POS = RSSI_POS + 1 +TIMESTAMP_POS = EVENTCOUNTER_POS + 2 +BLEPACKET_POS = TIMESTAMP_POS + 4 TXADD_POS = BLEPACKET_POS + 4 TXADD_MSK = 0x40 PAYLOAD_POS = BLE_HEADER_LEN_POS @@ -109,7 +109,7 @@ class PacketReader(Notifications.Notifier): tempSLIPBuffer.append(SLIP_END) return tempSLIPBuffer - # This function uses getSerialByte() function to get SLIP encoded bytes from the serial port and return a decoded byte list + # This function uses getSerialByte() function to get SLIP encoded bytes from the serial port and return a decoded byte list # Based on https://github.com/mehdix/pyslip/ def decodeFromSLIP(self, timeout=None, complete_timeout=None): dataBuffer = [] @@ -119,11 +119,15 @@ class PacketReader(Notifications.Notifier): if complete_timeout is not None: time_start = time.time() - while not startOfPacket and (complete_timeout is None or (time.time() - time_start < complete_timeout)): + while not startOfPacket and ( + complete_timeout is None or (time.time() - time_start < complete_timeout) + ): res = self.getSerialByte(timeout) - startOfPacket = (res == SLIP_START) + startOfPacket = res == SLIP_START - while not endOfPacket and (complete_timeout is None or (time.time() - time_start < complete_timeout)): + while not endOfPacket and ( + complete_timeout is None or (time.time() - time_start < complete_timeout) + ): serialByte = self.getSerialByte(timeout) if serialByte == SLIP_END: endOfPacket = True @@ -138,9 +142,11 @@ class PacketReader(Notifications.Notifier): else: dataBuffer.append(SLIP_END) else: - dataBuffer.append(serialByte) + dataBuffer.append(serialByte) if not endOfPacket: - raise Exceptions.UARTPacketError("Exceeded max timeout of %f seconds." % complete_timeout) + raise Exceptions.UARTPacketError( + "Exceeded max timeout of %f seconds." % complete_timeout + ) return dataBuffer # This function read byte chuncks from the serial port and return one byte at a time @@ -153,13 +159,23 @@ class PacketReader(Notifications.Notifier): def handlePacketHistory(self, packet): # Reads and validates packet counter - if self.lastReceivedPacket is not None \ - and packet.packetCounter != (self.lastReceivedPacket.packetCounter + 1) % PACKET_COUNTER_CAP \ - and self.lastReceivedPacket.packetCounter != 0: + if ( + self.lastReceivedPacket is not None + and packet.packetCounter + != (self.lastReceivedPacket.packetCounter + 1) % PACKET_COUNTER_CAP + and self.lastReceivedPacket.packetCounter != 0 + ): - logging.info("gap in packets, between " + str(self.lastReceivedPacket.packetCounter) + " and " - + str(packet.packetCounter) + " packet before: " + str(self.lastReceivedPacket.packetList) - + " packet after: " + str(packet.packetList)) + logging.info( + "gap in packets, between " + + str(self.lastReceivedPacket.packetCounter) + + " and " + + str(packet.packetCounter) + + " packet before: " + + str(self.lastReceivedPacket.packetList) + + " packet after: " + + str(packet.packetList) + ) self.lastReceivedPacket = packet if packet.id in [EVENT_PACKET_DATA_PDU, EVENT_PACKET_ADV_PDU]: @@ -198,25 +214,34 @@ class PacketReader(Notifications.Notifier): # Convert time-stamp to End to Start delta time_delta = 0 - if self.lastReceivedTimestampPacket is not None and self.lastReceivedTimestampPacket.valid: - time_delta = (packet.timestamp - - (self.lastReceivedTimestampPacket.timestamp + - self.getPacketTime(self.lastReceivedTimestampPacket))) + if ( + self.lastReceivedTimestampPacket is not None + and self.lastReceivedTimestampPacket.valid + ): + time_delta = packet.timestamp - ( + self.lastReceivedTimestampPacket.timestamp + + self.getPacketTime(self.lastReceivedTimestampPacket) + ) time_delta = toLittleEndian(time_delta, 4) - packet.packetList[TIMESTAMP_POS ] = time_delta[0] - packet.packetList[TIMESTAMP_POS+1] = time_delta[1] - packet.packetList[TIMESTAMP_POS+2] = time_delta[2] - packet.packetList[TIMESTAMP_POS+3] = time_delta[3] - + packet.packetList[TIMESTAMP_POS] = time_delta[0] + packet.packetList[TIMESTAMP_POS + 1] = time_delta[1] + packet.packetList[TIMESTAMP_POS + 2] = time_delta[2] + packet.packetList[TIMESTAMP_POS + 3] = time_delta[3] def handlePacketCompatibility(self, packet): - if self.supportedProtocolVersion == PROTOVER_V2 and packet.packetList[PROTOVER_POS] > PROTOVER_V2: + if ( + self.supportedProtocolVersion == PROTOVER_V2 + and packet.packetList[PROTOVER_POS] > PROTOVER_V2 + ): self.convertPacketListProtoVer2(packet) def setSupportedProtocolVersion(self, supportedProtocolVersion): - if (supportedProtocolVersion != PROTOVER_V3): - logging.info("Using packet compatibility, converting packets to protocol version %d", supportedProtocolVersion) + if supportedProtocolVersion != PROTOVER_V3: + logging.info( + "Using packet compatibility, converting packets to protocol version %d", + supportedProtocolVersion, + ) self.supportedProtocolVersion = supportedProtocolVersion def getPacket(self, timeout=None): @@ -234,17 +259,30 @@ class PacketReader(Notifications.Notifier): return packet def sendPacket(self, id, payload): - packetList = [HEADER_LENGTH] + [len(payload)] + [PROTOVER_V1] + toLittleEndian(self.packetCounter, 2) + [id] + payload + packetList = ( + [HEADER_LENGTH] + + [len(payload)] + + [PROTOVER_V1] + + toLittleEndian(self.packetCounter, 2) + + [id] + + payload + ) packetList = self.encodeToSLIP(packetList) self.packetCounter += 1 self.uart.writeList(packetList) - def sendScan(self, findScanRsp = False, findAux = False, scanCoded = False): + def sendScan(self, findScanRsp=False, findAux=False, scanCoded=False): flags0 = findScanRsp | (findAux << 1) | (scanCoded << 2) self.sendPacket(REQ_SCAN_CONT, [flags0]) logging.info("Scan flags: %s" % bin(flags0)) - def sendFollow(self, addr, followOnlyAdvertisements = False, followOnlyLegacy = False, followCoded = False): + def sendFollow( + self, + addr, + followOnlyAdvertisements=False, + followOnlyLegacy=False, + followCoded=False, + ): flags0 = followOnlyAdvertisements | (followOnlyLegacy << 1) | (followCoded << 2) logging.info("Follow flags: %s" % bin(flags0)) self.sendPacket(REQ_FOLLOW, addr + [flags0]) @@ -253,7 +291,7 @@ class PacketReader(Notifications.Notifier): self.sendPacket(PING_REQ, []) def getBytes(self, value, size): - if (len(value) < size): + if len(value) < size: value = [0] * (size - len(value)) + value else: value = value[:size] @@ -294,10 +332,12 @@ class PacketReader(Notifications.Notifier): def sendHopSequence(self, hopSequence): for chan in hopSequence: if chan not in VALID_ADV_CHANS: - raise Exceptions.InvalidAdvChannel("%s is not an adv channel" % str(chan)) - payload = [len(hopSequence)] + hopSequence + [37]*(3-len(hopSequence)) + raise Exceptions.InvalidAdvChannel( + "%s is not an adv channel" % str(chan) + ) + payload = [len(hopSequence)] + hopSequence + [37] * (3 - len(hopSequence)) self.sendPacket(SET_ADV_CHANNEL_HOP_SEQ, payload) - self.notify("NEW_ADV_HOP_SEQ", {"hopSequence":hopSequence}) + self.notify("NEW_ADV_HOP_SEQ", {"hopSequence": hopSequence}) def sendVersionReq(self): self.sendPacket(REQ_VERSION, []) @@ -313,21 +353,31 @@ class Packet: def __init__(self, packetList): try: if not packetList: - raise Exceptions.InvalidPacketException("packet list not valid: %s" % str(packetList)) + raise Exceptions.InvalidPacketException( + "packet list not valid: %s" % str(packetList) + ) self.protover = packetList[PROTOVER_POS] if self.protover > PROTOVER_V3: - logging.exception("Unsupported protocol version %s" % str(self.protover)) - raise RuntimeError("Unsupported protocol version %s" % str(self.protover)) + logging.exception( + "Unsupported protocol version %s" % str(self.protover) + ) + raise RuntimeError( + "Unsupported protocol version %s" % str(self.protover) + ) - self.packetCounter = parseLittleEndian(packetList[PACKETCOUNTER_POS:PACKETCOUNTER_POS + 2]) + self.packetCounter = parseLittleEndian( + packetList[PACKETCOUNTER_POS : PACKETCOUNTER_POS + 2] + ) self.id = packetList[ID_POS] if int(self.protover) == PROTOVER_V1: self.payloadLength = packetList[PAYLOAD_LEN_POS_V1] else: - self.payloadLength = parseLittleEndian(packetList[PAYLOAD_LEN_POS:PAYLOAD_LEN_POS + 2]) + self.payloadLength = parseLittleEndian( + packetList[PAYLOAD_LEN_POS : PAYLOAD_LEN_POS + 2] + ) self.packetList = packetList self.readPayload(packetList) @@ -337,24 +387,26 @@ class Packet: self.OK = False self.valid = False except Exception as e: - logging.exception("packet creation error %s" %str(e)) + logging.exception("packet creation error %s" % str(e)) logging.info("packetList: " + str(packetList)) self.OK = False self.valid = False def __repr__(self): - return "UART packet, type: "+str(self.id)+", PC: "+str(self.packetCounter) + return "UART packet, type: " + str(self.id) + ", PC: " + str(self.packetCounter) def readPayload(self, packetList): self.blePacket = None self.OK = False if not self.validatePacketList(packetList): - raise Exceptions.InvalidPacketException("packet list not valid: %s" % str(packetList)) + raise Exceptions.InvalidPacketException( + "packet list not valid: %s" % str(packetList) + ) else: self.valid = True - self.payload = packetList[PAYLOAD_POS:PAYLOAD_POS+self.payloadLength] + self.payload = packetList[PAYLOAD_POS : PAYLOAD_POS + self.payloadLength] if self.id == EVENT_PACKET_ADV_PDU or self.id == EVENT_PACKET_DATA_PDU: try: @@ -365,23 +417,27 @@ class Packet: self.channel = packetList[CHANNEL_POS] self.rawRSSI = packetList[RSSI_POS] self.RSSI = -self.rawRSSI - self.eventCounter = parseLittleEndian(packetList[EVENTCOUNTER_POS:EVENTCOUNTER_POS+2]) + self.eventCounter = parseLittleEndian( + packetList[EVENTCOUNTER_POS : EVENTCOUNTER_POS + 2] + ) - self.timestamp = parseLittleEndian(packetList[TIMESTAMP_POS:TIMESTAMP_POS+4]) + self.timestamp = parseLittleEndian( + packetList[TIMESTAMP_POS : TIMESTAMP_POS + 4] + ) # The hardware adds a padding byte which isn't sent on air. # We remove it, and update the payload length in the packet list. if self.phy == PHY_CODED: - self.packetList.pop(BLEPACKET_POS+6+1) + self.packetList.pop(BLEPACKET_POS + 6 + 1) else: - self.packetList.pop(BLEPACKET_POS+6) + self.packetList.pop(BLEPACKET_POS + 6) self.payloadLength -= 1 if self.protover >= PROTOVER_V2: # Write updated payload length back to the packet list. payloadLength = toLittleEndian(self.payloadLength, 2) - packetList[PAYLOAD_LEN_POS ] = payloadLength[0] - packetList[PAYLOAD_LEN_POS+1] = payloadLength[1] - else: # PROTOVER_V1 + packetList[PAYLOAD_LEN_POS] = payloadLength[0] + packetList[PAYLOAD_LEN_POS + 1] = payloadLength[1] + else: # PROTOVER_V1 packetList[PAYLOAD_LEN_POS_V1] = self.payloadLength else: logging.info("Invalid BLE Header Length " + str(packetList)) @@ -390,15 +446,22 @@ class Packet: if self.OK: try: if self.protover >= PROTOVER_V3: - packet_type = (PACKET_TYPE_ADVERTISING - if self.id == EVENT_PACKET_ADV_PDU else - PACKET_TYPE_DATA) + packet_type = ( + PACKET_TYPE_ADVERTISING + if self.id == EVENT_PACKET_ADV_PDU + else PACKET_TYPE_DATA + ) else: - packet_type = (PACKET_TYPE_ADVERTISING - if packetList[BLEPACKET_POS : BLEPACKET_POS + 4] == ADV_ACCESS_ADDRESS else - PACKET_TYPE_DATA) + packet_type = ( + PACKET_TYPE_ADVERTISING + if packetList[BLEPACKET_POS : BLEPACKET_POS + 4] + == ADV_ACCESS_ADDRESS + else PACKET_TYPE_DATA + ) - self.blePacket = BlePacket(packet_type, packetList[BLEPACKET_POS:], self.phy) + self.blePacket = BlePacket( + packet_type, packetList[BLEPACKET_POS:], self.phy + ) except Exception as e: logging.exception("blePacket error %s" % str(e)) except Exception as e: @@ -407,13 +470,17 @@ class Packet: self.OK = False elif self.id == PING_RESP: if self.protover < PROTOVER_V3: - self.version = parseLittleEndian(packetList[PAYLOAD_POS:PAYLOAD_POS+2]) + self.version = parseLittleEndian( + packetList[PAYLOAD_POS : PAYLOAD_POS + 2] + ) elif self.id == RESP_VERSION: - self.version = ''.join([chr(i) for i in packetList[PAYLOAD_POS:]]) + self.version = "".join([chr(i) for i in packetList[PAYLOAD_POS:]]) elif self.id == RESP_TIMESTAMP: - self.timestamp = parseLittleEndian(packetList[PAYLOAD_POS:PAYLOAD_POS+4]) + self.timestamp = parseLittleEndian( + packetList[PAYLOAD_POS : PAYLOAD_POS + 4] + ) elif self.id == SWITCH_BAUD_RATE_RESP or self.id == SWITCH_BAUD_RATE_REQ: - self.baudRate = parseLittleEndian(packetList[PAYLOAD_POS:PAYLOAD_POS+4]) + self.baudRate = parseLittleEndian(packetList[PAYLOAD_POS : PAYLOAD_POS + 4]) else: logging.info("Unknown packet ID") @@ -438,7 +505,8 @@ class Packet: logging.exception("Invalid packet: %s" % str(packetList)) return False -class BlePacket(): + +class BlePacket: def __init__(self, type, packetList, phy): self.type = type @@ -458,12 +526,11 @@ class BlePacket(): offset = self.extractAddresses(packetList, offset) self.extractName(packetList, offset) - def __repr__(self): - return "BLE packet, AAddr: "+str(self.accessAddress) + return "BLE packet, AAddr: " + str(self.accessAddress) def extractAccessAddress(self, packetList, offset): - self.accessAddress = packetList[offset:offset+4] + self.accessAddress = packetList[offset : offset + 4] return offset + 4 def extractFormat(self, packetList, phy, offset): @@ -497,29 +564,29 @@ class BlePacket(): scanAddr = None if self.advType in [0, 1, 2, 4, 6]: - addr = packetList[offset:offset+6] + addr = packetList[offset : offset + 6] addr.reverse() addr += [self.txAddrType] offset += 6 if self.advType in [3, 5]: - scanAddr = packetList[offset:offset+6] + scanAddr = packetList[offset : offset + 6] scanAddr.reverse() scanAddr += [self.txAddrType] offset += 6 - addr = packetList[offset:offset+6] + addr = packetList[offset : offset + 6] addr.reverse() addr += [self.rxAddrType] offset += 6 if self.advType == 1: - scanAddr = packetList[offset:offset+6] + scanAddr = packetList[offset : offset + 6] scanAddr.reverse() scanAddr += [self.rxAddrType] offset += 6 if self.advType == 7: - ext_header_len = packetList[offset] & 0x3f + ext_header_len = packetList[offset] & 0x3F offset += 1 ext_header_offset = offset @@ -527,13 +594,13 @@ class BlePacket(): ext_header_offset += 1 if flags & 0x01: - addr = packetList[ext_header_offset:ext_header_offset+6] + addr = packetList[ext_header_offset : ext_header_offset + 6] addr.reverse() addr += [self.txAddrType] ext_header_offset += 6 if flags & 0x02: - scanAddr = packetList[ext_header_offset:ext_header_offset+6] + scanAddr = packetList[ext_header_offset : ext_header_offset + 6] scanAddr.reverse() scanAddr += [self.rxAddrType] ext_header_offset += 6 @@ -550,17 +617,17 @@ class BlePacket(): i = offset while i < len(packetList): length = packetList[i] - if (i+length+1) > len(packetList) or length == 0: + if (i + length + 1) > len(packetList) or length == 0: break - type = packetList[i+1] + type = packetList[i + 1] if type == 8 or type == 9: - nameList = packetList[i+2:i+length+1] + nameList = packetList[i + 2 : i + length + 1] name = "" for j in nameList: name += chr(j) - i += (length+1) - name = '"'+name+'"' - elif (self.advType == 1): + i += length + 1 + name = '"' + name + '"' + elif self.advType == 1: name = "[ADV_DIRECT_IND]" self.name = name @@ -569,15 +636,16 @@ class BlePacket(): self.length = packetList[offset] return offset + 1 + def parseLittleEndian(list): total = 0 for i in range(len(list)): - total+=(list[i] << (8*i)) + total += list[i] << (8 * i) return total -def toLittleEndian(value, size): - list = [0]*size - for i in range(size): - list[i] = (value >> (i*8)) % 256 - return list +def toLittleEndian(value, size): + list = [0] * size + for i in range(size): + list[i] = (value >> (i * 8)) % 256 + return list diff --git a/modules/wireshark/extcap/SnifferAPI/Pcap.py b/modules/wireshark/extcap/SnifferAPI/Pcap.py index 63cbe41..8b0445a 100644 --- a/modules/wireshark/extcap/SnifferAPI/Pcap.py +++ b/modules/wireshark/extcap/SnifferAPI/Pcap.py @@ -44,14 +44,16 @@ import struct # - https://github.com/pcapng/pcapng # - https://www.tcpdump.org/linktypes/LINKTYPE_NORDIC_BLE.html PACKET_HEADER = struct.Struct(" empty string ('') return None, None, None - _, _, length, arg, typ = struct.unpack('>sBHBB', header) + _, _, length, arg, typ = struct.unpack(">sBHBB", header) payload = bytearray() if length > 2: @@ -239,6 +321,7 @@ def control_read(): return arg, typ, payload + def control_write(arg, typ, message): """Write the message to the control channel""" @@ -247,8 +330,8 @@ def control_write(arg, typ, message): return packet = bytearray() - packet += struct.pack('>BBHBB', ord('T'), 0, len(message) + 2, arg, typ) - packet += message.encode('utf-8') + packet += struct.pack(">BBHBB", ord("T"), 0, len(message) + 2, arg, typ) + packet += message.encode("utf-8") fn_ctrl_out.write(packet) @@ -278,11 +361,13 @@ def device_added(notification): # Extcap selector uses \0 character to separate value and display value, # therefore the display value cannot contain the \0 character as this # would lead to truncation of the display value. - display = (device.name.replace('\0', '\\0') + - (" " + str(device.RSSI) + " dBm " if device.RSSI != 0 else " ") + - string_address(device.address)) + display = ( + device.name.replace("\0", "\\0") + + (" " + str(device.RSSI) + " dBm " if device.RSSI != 0 else " ") + + string_address(device.address) + ) - message = str(device.address) + '\0' + display + message = str(device.address) + "\0" + display control_write(CTRL_ARG_DEVICE, CTRL_CMD_ADD, message) @@ -298,33 +383,35 @@ def device_removed(notification): control_write(CTRL_ARG_DEVICE, CTRL_CMD_REMOVE, message) logging.info("Removed: " + display) + def devices_cleared(notification): """Devices have been cleared""" message = "" control_write(CTRL_ARG_DEVICE, CTRL_CMD_REMOVE, message) - control_write(CTRL_ARG_DEVICE, CTRL_CMD_ADD, " " + '\0' + "All advertising devices") - control_write(CTRL_ARG_DEVICE, CTRL_CMD_ADD, zero_addr + '\0' + "Follow IRK") + control_write(CTRL_ARG_DEVICE, CTRL_CMD_ADD, " " + "\0" + "All advertising devices") + control_write(CTRL_ARG_DEVICE, CTRL_CMD_ADD, zero_addr + "\0" + "Follow IRK") control_write(CTRL_ARG_DEVICE, CTRL_CMD_SET, " ") + def handle_control_command(sniffer, arg, typ, payload): """Handle command from control channel""" global last_used_key_type if arg == CTRL_ARG_DEVICE: - if payload == b' ': + if payload == b" ": scan_for_devices(sniffer) else: values = payload - values = values.replace(b'[', b'') - values = values.replace(b']', b'') - device_address = values.split(b',') + values = values.replace(b"[", b"") + values = values.replace(b"]", b"") + device_address = values.split(b",") - logging.info('follow_device: {}'.format(device_address)) + logging.info("follow_device: {}".format(device_address)) for i in range(6): device_address[i] = int(device_address[i]) - device_address[6] = 1 if device_address[6] == b' 1' else 0 + device_address[6] = 1 if device_address[6] == b" 1" else 0 device = Devices.Device(address=device_address, name='""', RSSI=0) @@ -333,7 +420,7 @@ def handle_control_command(sniffer, arg, typ, payload): elif arg == CTRL_ARG_DEVICE_CLEAR: clear_devices(sniffer) elif arg == CTRL_ARG_KEY_TYPE: - last_used_key_type = int(payload.decode('utf-8')) + last_used_key_type = int(payload.decode("utf-8")) elif arg == CTRL_ARG_KEY_VAL: set_key_value(sniffer, payload) elif arg == CTRL_ARG_ADVHOP: @@ -384,8 +471,10 @@ def follow_device(sniffer, device): """Follow the selected device""" global write_new_packets, in_follow_mode - sniffer.follow(device, capture_only_advertising, capture_only_legacy_advertising, capture_coded) - time.sleep(.1) + sniffer.follow( + device, capture_only_advertising, capture_only_legacy_advertising, capture_coded + ) + time.sleep(0.1) in_follow_mode = True logging.info("Following " + string_address(device.address)) @@ -395,58 +484,64 @@ def set_key_value(sniffer, payload): """Send key value to device""" global last_used_key_val - payload = payload.decode('utf-8') + payload = payload.decode("utf-8") last_used_key_val = payload - if (last_used_key_type == CTRL_KEY_TYPE_PASSKEY): + if last_used_key_type == CTRL_KEY_TYPE_PASSKEY: if re.match("^[0-9]{6}$", payload): set_passkey(sniffer, payload) else: logging.info("Invalid key value: " + str(payload)) - elif (last_used_key_type == CTRL_KEY_TYPE_OOB): + elif last_used_key_type == CTRL_KEY_TYPE_OOB: if re.match("^0[xX][0-9A-Za-z]{1,32}$", payload): set_OOB(sniffer, payload[2:]) else: logging.info("Invalid key value: " + str(payload)) - elif (last_used_key_type == CTRL_KEY_TYPE_DH_PRIVATE_KEY): - if (re.match("^0[xX][0-9A-Za-z]{1,64}$", payload)): + elif last_used_key_type == CTRL_KEY_TYPE_DH_PRIVATE_KEY: + if re.match("^0[xX][0-9A-Za-z]{1,64}$", payload): set_dh_private_key(sniffer, payload[2:]) else: logging.info("Invalid key value: " + str(payload)) - elif (last_used_key_type == CTRL_KEY_TYPE_LEGACY_LTK): - if (re.match("^0[xX][0-9A-Za-z]{1,32}$", payload)): + elif last_used_key_type == CTRL_KEY_TYPE_LEGACY_LTK: + if re.match("^0[xX][0-9A-Za-z]{1,32}$", payload): set_legacy_ltk(sniffer, payload[2:]) else: logging.info("Invalid key value: " + str(payload)) - elif (last_used_key_type == CTRL_KEY_TYPE_SC_LTK): - if (re.match("^0[xX][0-9A-Za-z]{1,32}$", payload)): + elif last_used_key_type == CTRL_KEY_TYPE_SC_LTK: + if re.match("^0[xX][0-9A-Za-z]{1,32}$", payload): set_sc_ltk(sniffer, payload[2:]) else: logging.info("Invalid key value: " + str(payload)) - elif (last_used_key_type == CTRL_KEY_TYPE_IRK): - if (re.match("^0[xX][0-9A-Za-z]{1,32}$", payload)): + elif last_used_key_type == CTRL_KEY_TYPE_IRK: + if re.match("^0[xX][0-9A-Za-z]{1,32}$", payload): set_irk(sniffer, payload[2:]) else: logging.info("Invalid key value: " + str(payload)) - elif (last_used_key_type == CTRL_KEY_TYPE_ADD_ADDR): - if (re.match("^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2}) (public|random)$", payload)): + elif last_used_key_type == CTRL_KEY_TYPE_ADD_ADDR: + if re.match( + "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2}) (public|random)$", payload + ): add_address(sniffer, payload) else: logging.info("Invalid key value: " + str(payload)) - elif (last_used_key_type == CTRL_KEY_TYPE_FOLLOW_ADDR): - if (re.match("^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2}) (public|random)$", payload)): + elif last_used_key_type == CTRL_KEY_TYPE_FOLLOW_ADDR: + if re.match( + "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2}) (public|random)$", payload + ): follow_address(sniffer, payload) else: logging.info("Invalid key value: " + str(payload)) else: logging.info("Invalid key type: " + str(last_used_key_type)) -def parse_hex(value): - if len(value) % 2 != 0: - value = '0' + value - a = list(value) - return [int(x + y, 16) for x,y in zip(a[::2], a[1::2])] +def parse_hex(value): + if len(value) % 2 != 0: + value = "0" + value + + a = list(value) + return [int(x + y, 16) for x, y in zip(a[::2], a[1::2])] + def set_passkey(sniffer, payload): """Send passkey to device""" @@ -461,36 +556,42 @@ def set_passkey(sniffer, payload): sniffer.sendTK(passkey) + def set_OOB(sniffer, payload): """Send OOB to device""" logging.info("Setting OOB data: " + payload) sniffer.sendTK(parse_hex(payload)) + def set_dh_private_key(sniffer, payload): """Send Diffie-Hellman private key to device""" logging.info("Setting DH private key: " + payload) sniffer.sendPrivateKey(parse_hex(payload)) + def set_legacy_ltk(sniffer, payload): """Send Legacy Long Term Key (LTK) to device""" logging.info("Setting Legacy LTK: " + payload) sniffer.sendLegacyLTK(parse_hex(payload)) + def set_sc_ltk(sniffer, payload): """Send LE secure connections Long Term Key (LTK) to device""" logging.info("Setting SC LTK: " + payload) sniffer.sendSCLTK(parse_hex(payload)) + def set_irk(sniffer, payload): """Send Identity Resolving Key (IRK) to device""" logging.info("Setting IRK: " + payload) sniffer.sendIRK(parse_hex(payload)) + def add_address(sniffer, payload): """Add LE address to device list""" logging.info("Adding LE address: " + payload) - (addr,addr_type) = payload.split(' ') + (addr, addr_type) = payload.split(" ") device = [int(a, 16) for a in addr.split(":")] device.append(1 if addr_type == "random" else 0) @@ -498,11 +599,12 @@ def add_address(sniffer, payload): new_device = Devices.Device(address=device, name='""', RSSI=0) sniffer.addDevice(new_device) + def follow_address(sniffer, payload): """Add LE address to device list""" logging.info("Adding LE address: " + payload) - (addr,addr_type) = payload.split(' ') + (addr, addr_type) = payload.split(" ") device = [int(a, 16) for a in addr.split(":")] device.append(1 if addr_type == "random" else 0) @@ -513,15 +615,16 @@ def follow_address(sniffer, payload): control_write(CTRL_ARG_DEVICE, CTRL_CMD_SET, f"{new_device.address}") follow_device(sniffer, new_device) + def set_advhop(sniffer, payload): """Set advertising channel hop sequence""" global last_used_advhop - payload = payload.decode('utf-8') + payload = payload.decode("utf-8") last_used_advhop = payload - hops = [int(channel) for channel in payload.split(',')] + hops = [int(channel) for channel in payload.split(",")] sniffer.setAdvHopSequence(hops) @@ -546,7 +649,7 @@ def error_interface_not_found(interface, fifo): def validate_interface(interface, fifo): """Check if interface exists""" - if sys.platform != 'win32' and not os.path.exists(interface): + if sys.platform != "win32" and not os.path.exists(interface): error_interface_not_found(interface, fifo) @@ -557,12 +660,13 @@ def get_default_baudrate(interface, fifo): error_interface_not_found(interface, fifo) return rates["default"] + def get_supported_protocol_version(extcap_version): """Return the maximum supported Packet Protocol Version""" - if extcap_version == 'None': + if extcap_version == "None": return 2 - (major, minor) = extcap_version.split('.') + (major, minor) = extcap_version.split(".") major = int(major) minor = int(minor) @@ -572,6 +676,7 @@ def get_supported_protocol_version(extcap_version): else: return 2 + def setup_extcap_log_handler(): """Add the a handler that emits log messages through the extcap control out channel""" global extcap_log_handler @@ -593,18 +698,18 @@ def sniffer_capture(interface, baudrate, fifo, control_in, control_out): global fn_capture, fn_ctrl_in, fn_ctrl_out, write_new_packets, extcap_log_handler try: - fn_capture = open(fifo, 'wb', 0) + fn_capture = open(fifo, "wb", 0) if control_out is not None: - fn_ctrl_out = open(control_out, 'wb', 0) + fn_ctrl_out = open(control_out, "wb", 0) setup_extcap_log_handler() if control_in is not None: - fn_ctrl_in = open(control_in, 'rb', 0) + fn_ctrl_in = open(control_in, "rb", 0) logging.info("Log started at %s", time.strftime("%c")) - interface, extcap_version = interface.split('-') + interface, extcap_version = interface.split("-") logging.info("Extcap version %s", str(extcap_version)) capture_write(Pcap.get_global_header()) @@ -619,7 +724,9 @@ def sniffer_capture(interface, baudrate, fifo, control_in, control_out): sniffer.subscribe("DEVICE_REMOVED", device_removed) sniffer.subscribe("DEVICES_CLEARED", devices_cleared) sniffer.setAdvHopSequence([37, 38, 39]) - sniffer.setSupportedProtocolVersion(get_supported_protocol_version(extcap_version)) + sniffer.setSupportedProtocolVersion( + get_supported_protocol_version(extcap_version) + ) logging.info("Sniffer created") logging.info("Software version: %s" % sniffer.swversion) @@ -655,7 +762,7 @@ def sniffer_capture(interface, baudrate, fifo, control_in, control_out): pass except Exceptions.LockedException as e: - logging.info('{}'.format(e.message)) + logging.info("{}".format(e.message)) except OSError: # We'll get OSError=22 when/if wireshark kills the pipe(s) on capture @@ -689,14 +796,14 @@ def sniffer_capture(interface, baudrate, fifo, control_in, control_out): def extcap_close_fifo(fifo): - """"Close extcap fifo""" + """ "Close extcap fifo""" if not os.path.exists(fifo): print("FIFO does not exist!", file=sys.stderr) return # This is apparently needed to workaround an issue on Windows/macOS # where the message cannot be read. (really?) - fh = open(fifo, 'wb', 0) + fh = open(fifo, "wb", 0) fh.close() @@ -705,13 +812,13 @@ class ExtcapLoggerHandler(logging.Handler): def emit(self, record): """Send log message to extcap""" - message = record.message.replace('\0', '\\0') + message = record.message.replace("\0", "\\0") log_message = f"{record.levelname}: {message}\n" control_write(CTRL_ARG_LOG, CTRL_CMD_ADD, log_message) def parse_capture_filter(capture_filter): - """"Parse given capture filter""" + """ "Parse given capture filter""" global rssi_filter m = re.search(r"^\s*rssi\s*(>=?)\s*(-?[0-9]+)\s*$", capture_filter, re.IGNORECASE) if m: @@ -720,66 +827,89 @@ def parse_capture_filter(capture_filter): print("Illegal RSSI value, must be between -10 and -256") # Handle >= by modifying the threshold, since comparisons are always done with # the > operator - if m.group(1) == '>=': + if m.group(1) == ">=": rssi_filter = rssi_filter - 1 else: - print("Filter syntax: \"RSSI >= -value\"") + print('Filter syntax: "RSSI >= -value"') + import atexit + @atexit.register def goodbye(): - logging.info("Exiting PID {}".format(os.getpid())) + logging.info("Exiting PID {}".format(os.getpid())) -if __name__ == '__main__': +if __name__ == "__main__": # Capture options - parser = argparse.ArgumentParser(description="Nordic Semiconductor nRF Sniffer for Bluetooth LE extcap plugin") + parser = argparse.ArgumentParser( + description="Nordic Semiconductor nRF Sniffer for Bluetooth LE extcap plugin" + ) # Extcap Arguments - parser.add_argument("--capture", - help="Start the capture", - action="store_true") + parser.add_argument("--capture", help="Start the capture", action="store_true") - parser.add_argument("--extcap-interfaces", - help="List available interfaces to capture from", - action="store_true") + parser.add_argument( + "--extcap-interfaces", + help="List available interfaces to capture from", + action="store_true", + ) - parser.add_argument("--extcap-interface", - help="The interface to capture from") + parser.add_argument("--extcap-interface", help="The interface to capture from") - parser.add_argument("--extcap-dlts", - help="List DLTs for the given interface", - action="store_true") + parser.add_argument( + "--extcap-dlts", help="List DLTs for the given interface", action="store_true" + ) - parser.add_argument("--extcap-config", - help="List configurations for the given interface", - action="store_true") + parser.add_argument( + "--extcap-config", + help="List configurations for the given interface", + action="store_true", + ) - parser.add_argument("--extcap-capture-filter", - help="Used together with capture to provide a capture filter") + parser.add_argument( + "--extcap-capture-filter", + help="Used together with capture to provide a capture filter", + ) - parser.add_argument("--fifo", - help="Use together with capture to provide the fifo to dump data to") + parser.add_argument( + "--fifo", help="Use together with capture to provide the fifo to dump data to" + ) - parser.add_argument("--extcap-control-in", - help="Used together with capture to get control messages from toolbar") + parser.add_argument( + "--extcap-control-in", + help="Used together with capture to get control messages from toolbar", + ) - parser.add_argument("--extcap-control-out", - help="Used together with capture to send control messages to toolbar") + parser.add_argument( + "--extcap-control-out", + help="Used together with capture to send control messages to toolbar", + ) - parser.add_argument("--extcap-version", - help="Set extcap supported version") + parser.add_argument("--extcap-version", help="Set extcap supported version") # Interface Arguments parser.add_argument("--device", help="Device", default="") parser.add_argument("--baudrate", type=int, help="The sniffer baud rate") - parser.add_argument("--only-advertising", help="Only advertising packets", action="store_true") - parser.add_argument("--only-legacy-advertising", help="Only legacy advertising packets", action="store_true") - parser.add_argument("--scan-follow-rsp", help="Find scan response data ", action="store_true") - parser.add_argument("--scan-follow-aux", help="Find auxiliary pointer data", action="store_true") - parser.add_argument("--coded", help="Scan and follow on LE Coded PHY", action="store_true") + parser.add_argument( + "--only-advertising", help="Only advertising packets", action="store_true" + ) + parser.add_argument( + "--only-legacy-advertising", + help="Only legacy advertising packets", + action="store_true", + ) + parser.add_argument( + "--scan-follow-rsp", help="Find scan response data ", action="store_true" + ) + parser.add_argument( + "--scan-follow-aux", help="Find auxiliary pointer data", action="store_true" + ) + parser.add_argument( + "--coded", help="Scan and follow on LE Coded PHY", action="store_true" + ) logging.info("Started PID {}".format(os.getpid())) @@ -839,16 +969,23 @@ if __name__ == '__main__': parser.print_help() sys.exit(ERROR_FIFO) try: - logging.info('sniffer capture') - sniffer_capture(interface, args.baudrate, args.fifo, args.extcap_control_in, args.extcap_control_out) + logging.info("sniffer capture") + sniffer_capture( + interface, + args.baudrate, + args.fifo, + args.extcap_control_in, + args.extcap_control_out, + ) except KeyboardInterrupt: pass except Exception as e: import traceback + logging.info(traceback.format_exc()) - logging.info('internal error: {}'.format(repr(e))) + logging.info("internal error: {}".format(repr(e))) sys.exit(ERROR_INTERNAL) else: parser.print_help() sys.exit(ERROR_USAGE) - logging.info('main exit PID {}'.format(os.getpid())) + logging.info("main exit PID {}".format(os.getpid())) From 9f528e2f6f4a6abed89e3847d5f98a71d1e92b56 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 18 Nov 2025 14:49:18 +0100 Subject: [PATCH 765/766] Fix rule to send mails from ipv4 only --- hosts/iron/services/mail.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/iron/services/mail.nix b/hosts/iron/services/mail.nix index fbe802e..c5d855e 100644 --- a/hosts/iron/services/mail.nix +++ b/hosts/iron/services/mail.nix @@ -29,7 +29,7 @@ in smtp_bind_address = "159.69.103.126"; smtp_bind_address_enforce = true; }; - masterConfig.smtp_inet.args = [ + masterConfig.smtp.args = [ "-o" "inet_protocols=ipv4" ]; From 8a0b56982a7e5782b34a868a26093370c3529ef4 Mon Sep 17 00:00:00 2001 From: Jakob Lechner Date: Tue, 18 Nov 2025 14:59:08 +0100 Subject: [PATCH 766/766] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'disko': 'github:nix-community/disko/3a9450b26e69dcb6f8de6e2b07b3fc1c288d85f5?narHash=sha256-y7UhnWlER8r776JsySqsbTUh2Txf7K30smfHlqdaIQw%3D' (2025-10-17) → 'github:nix-community/disko/af087d076d3860760b3323f6b583f4d828c1ac17?narHash=sha256-TtcPgPmp2f0FAnc%2BDMEw4ardEgv1SGNR3/WFGH0N19M%3D' (2025-11-04) • Updated input 'nix-pre-commit-hooks': 'github:cachix/git-hooks.nix/ca5b894d3e3e151ffc1db040b6ce4dcc75d31c37?narHash=sha256-BflA6U4AM1bzuRMR8QqzPXqh8sWVCNDzOdsxXEguJIc%3D' (2025-10-17) → 'github:cachix/git-hooks.nix/7275fa67fbbb75891c16d9dee7d88e58aea2d761?narHash=sha256-YG19IyrTdnVn0l3DvcUYm85u3PaqBt6tI6VvolcuHnA%3D' (2025-11-16) • Updated input 'nixos-hardware': 'github:nixos/nixos-hardware/d6645c340ef7d821602fd2cd199e8d1eed10afbc?narHash=sha256-2m1S4jl%2BGEDtlt2QqeHil8Ny456dcGSKJAM7q3j/BFU%3D' (2025-10-20) → 'github:nixos/nixos-hardware/899dc449bc6428b9ee6b3b8f771ca2b0ef945ab9?narHash=sha256-BWWnUUT01lPwCWUvS0p6Px5UOBFeXJ8jR%2BZdLX8IbrU%3D' (2025-11-11) • Updated input 'nixpkgs': 'github:nixos/nixpkgs/78e34d1667d32d8a0ffc3eba4591ff256e80576e?narHash=sha256-vY2OLVg5ZTobdroQKQQSipSIkHlxOTrIF1fsMzPh8w8%3D' (2025-10-26) → 'github:nixos/nixpkgs/4c8cdd5b1a630e8f72c9dd9bf582b1afb3127d2c?narHash=sha256-LBVOyaH6NFzQ3X/c6vfMZ9k4SV2ofhpxeL9YnhHNJQQ%3D' (2025-11-16) • Updated input 'nixpkgsMaster': 'github:NixOS/nixpkgs/8865b77677eb576ce1dbcb90b7a1ae95a774a6cd?narHash=sha256-rIne9pcxSoaLCxcyICguhH3SUzE9lep464L7zRGBbZk%3D' (2025-10-27) → 'github:NixOS/nixpkgs/15901670689a6f338ebd2a9436b947ec189463a3?narHash=sha256-NzmsN8hRIn/9rJvZH3vPirBrOJJfeSfvPr4%2BfeeK7LY%3D' (2025-11-18) • Updated input 'nur': 'github:nix-community/NUR/378c5c7b0b2471b59b71e42b229ea5e68050235d?narHash=sha256-0UtnyehKLys0HWhctZEjKN7zDe%2BML0HCDdqdfHk221o%3D' (2025-10-27) → 'github:nix-community/NUR/4c584dcedf9aa3394e9730e62693515a0e47674b?narHash=sha256-B1ua1UtkPuMwT8o4nOR7yNP5yz10usMcNnxwHpGtLck%3D' (2025-11-18) • Updated input 'nur/nixpkgs': 'github:nixos/nixpkgs/6a08e6bb4e46ff7fcbb53d409b253f6bad8a28ce?narHash=sha256-Q/uhWNvd7V7k1H1ZPMy/vkx3F8C13ZcdrKjO7Jv7v0c%3D' (2025-10-25) → 'github:nixos/nixpkgs/50a96edd8d0db6cc8db57dab6bb6d6ee1f3dc49a?narHash=sha256-Y7TDFPK4GlqrKrivOcsHG8xSGqQx3A6c%2Bi7novT85Uk%3D' (2025-11-16) • Updated input 'sops-nix': 'github:Mic92/sops-nix/5a7d18b5c55642df5c432aadb757140edfeb70b3?narHash=sha256-ee2e1/AeGL5X8oy/HXsZQvZnae6XfEVdstGopKucYLY%3D' (2025-10-20) → 'github:Mic92/sops-nix/3f66a7fb9626a9a9c077612ef10a0ce396286c7d?narHash=sha256-n5xDOeNN%2BsmocQp3EMIc11IzBlR9wvvTIJZeL0g33Fs%3D' (2025-11-17) • Updated input 'vesc-tool': 'github:vedderb/vesc_tool/8a6de0dda75e62681e7252a1512f34a5f4e70640?narHash=sha256-%2Bvk8SRGknwg5Q8y/R4oHkiLxe2SDQDYGj8jK7Xaeu6c%3D' (2025-10-17) → 'github:vedderb/vesc_tool/6a75051ce9742d97f14addd5d175ac516effb3c6?narHash=sha256-j%2BAZQYOuZ0X33p76LsZu4/NZl1Ccu6kkwPKC5HpIn1Y%3D' (2025-11-12) --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index 6771af6..7c92712 100644 --- a/flake.lock +++ b/flake.lock @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1760701190, - "narHash": "sha256-y7UhnWlER8r776JsySqsbTUh2Txf7K30smfHlqdaIQw=", + "lastModified": 1762276996, + "narHash": "sha256-TtcPgPmp2f0FAnc+DMEw4ardEgv1SGNR3/WFGH0N19M=", "owner": "nix-community", "repo": "disko", - "rev": "3a9450b26e69dcb6f8de6e2b07b3fc1c288d85f5", + "rev": "af087d076d3860760b3323f6b583f4d828c1ac17", "type": "github" }, "original": { @@ -386,11 +386,11 @@ ] }, "locked": { - "lastModified": 1760663237, - "narHash": "sha256-BflA6U4AM1bzuRMR8QqzPXqh8sWVCNDzOdsxXEguJIc=", + "lastModified": 1763319842, + "narHash": "sha256-YG19IyrTdnVn0l3DvcUYm85u3PaqBt6tI6VvolcuHnA=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "ca5b894d3e3e151ffc1db040b6ce4dcc75d31c37", + "rev": "7275fa67fbbb75891c16d9dee7d88e58aea2d761", "type": "github" }, "original": { @@ -402,11 +402,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1760958188, - "narHash": "sha256-2m1S4jl+GEDtlt2QqeHil8Ny456dcGSKJAM7q3j/BFU=", + "lastModified": 1762847253, + "narHash": "sha256-BWWnUUT01lPwCWUvS0p6Px5UOBFeXJ8jR+ZdLX8IbrU=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "d6645c340ef7d821602fd2cd199e8d1eed10afbc", + "rev": "899dc449bc6428b9ee6b3b8f771ca2b0ef945ab9", "type": "github" }, "original": { @@ -418,11 +418,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1761468971, - "narHash": "sha256-vY2OLVg5ZTobdroQKQQSipSIkHlxOTrIF1fsMzPh8w8=", + "lastModified": 1763334038, + "narHash": "sha256-LBVOyaH6NFzQ3X/c6vfMZ9k4SV2ofhpxeL9YnhHNJQQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "78e34d1667d32d8a0ffc3eba4591ff256e80576e", + "rev": "4c8cdd5b1a630e8f72c9dd9bf582b1afb3127d2c", "type": "github" }, "original": { @@ -450,11 +450,11 @@ }, "nixpkgsMaster": { "locked": { - "lastModified": 1761601585, - "narHash": "sha256-rIne9pcxSoaLCxcyICguhH3SUzE9lep464L7zRGBbZk=", + "lastModified": 1763473525, + "narHash": "sha256-NzmsN8hRIn/9rJvZH3vPirBrOJJfeSfvPr4+feeK7LY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8865b77677eb576ce1dbcb90b7a1ae95a774a6cd", + "rev": "15901670689a6f338ebd2a9436b947ec189463a3", "type": "github" }, "original": { @@ -482,11 +482,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1761373498, - "narHash": "sha256-Q/uhWNvd7V7k1H1ZPMy/vkx3F8C13ZcdrKjO7Jv7v0c=", + "lastModified": 1763283776, + "narHash": "sha256-Y7TDFPK4GlqrKrivOcsHG8xSGqQx3A6c+i7novT85Uk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6a08e6bb4e46ff7fcbb53d409b253f6bad8a28ce", + "rev": "50a96edd8d0db6cc8db57dab6bb6d6ee1f3dc49a", "type": "github" }, "original": { @@ -518,11 +518,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1761601325, - "narHash": "sha256-0UtnyehKLys0HWhctZEjKN7zDe+ML0HCDdqdfHk221o=", + "lastModified": 1763471545, + "narHash": "sha256-B1ua1UtkPuMwT8o4nOR7yNP5yz10usMcNnxwHpGtLck=", "owner": "nix-community", "repo": "NUR", - "rev": "378c5c7b0b2471b59b71e42b229ea5e68050235d", + "rev": "4c584dcedf9aa3394e9730e62693515a0e47674b", "type": "github" }, "original": { @@ -634,11 +634,11 @@ ] }, "locked": { - "lastModified": 1760998189, - "narHash": "sha256-ee2e1/AeGL5X8oy/HXsZQvZnae6XfEVdstGopKucYLY=", + "lastModified": 1763417348, + "narHash": "sha256-n5xDOeNN+smocQp3EMIc11IzBlR9wvvTIJZeL0g33Fs=", "owner": "Mic92", "repo": "sops-nix", - "rev": "5a7d18b5c55642df5c432aadb757140edfeb70b3", + "rev": "3f66a7fb9626a9a9c077612ef10a0ce396286c7d", "type": "github" }, "original": { @@ -729,11 +729,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1760697314, - "narHash": "sha256-+vk8SRGknwg5Q8y/R4oHkiLxe2SDQDYGj8jK7Xaeu6c=", + "lastModified": 1762968599, + "narHash": "sha256-j+AZQYOuZ0X33p76LsZu4/NZl1Ccu6kkwPKC5HpIn1Y=", "owner": "vedderb", "repo": "vesc_tool", - "rev": "8a6de0dda75e62681e7252a1512f34a5f4e70640", + "rev": "6a75051ce9742d97f14addd5d175ac516effb3c6", "type": "github" }, "original": {