From 16457e0a0954d2be74aee3c0734143f3b1dcf608 Mon Sep 17 00:00:00 2001 From: reo101 Date: Sat, 13 Apr 2024 13:37:24 +0300 Subject: [PATCH] feat(jeeves): `home-assistant` modularization --- flake.lock | 267 ++++++++---------- .../x86_64-linux/jeeves/configuration.nix | 17 +- .../jeeves/home-assistant/android.nix | 23 ++ .../default.nix} | 17 +- .../jeeves/home-assistant/jokes.nix | 27 ++ .../nixos/x86_64-linux/jeeves/mindustry.nix | 2 +- 6 files changed, 200 insertions(+), 153 deletions(-) create mode 100644 machines/nixos/x86_64-linux/jeeves/home-assistant/android.nix rename machines/nixos/x86_64-linux/jeeves/{home-assistant.nix => home-assistant/default.nix} (60%) create mode 100644 machines/nixos/x86_64-linux/jeeves/home-assistant/jokes.nix diff --git a/flake.lock b/flake.lock index 7aa2bdc..b32b676 100644 --- a/flake.lock +++ b/flake.lock @@ -14,11 +14,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1703433843, - "narHash": "sha256-nmtA4KqFboWxxoOAA6Y1okHbZh+HsXaMPFkYHsoDRDw=", + "lastModified": 1712079060, + "narHash": "sha256-/JdiT9t+zzjChc5qQiF+jhrVhRt8figYH29rZO7pFe4=", "owner": "ryantm", "repo": "agenix", - "rev": "417caa847f9383e111d1397039c9d4337d024bf0", + "rev": "1381a759b205dff7a6818733118d02253340fd5e", "type": "github" }, "original": { @@ -37,11 +37,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1705278709, - "narHash": "sha256-CNJSc6tp12UZKAprviztJ509yAblteK4GiWwKewWEPQ=", + "lastModified": 1712180480, + "narHash": "sha256-fmjbIcYT4Hj/Tow004I9FKz/DbIYRjTDOPDRXaddt08=", "owner": "oddlama", "repo": "agenix-rekey", - "rev": "e02a57e08224422934974f19853d4d70ed7eaaaa", + "rev": "85df729446fca1b9f22097b03e0ae2427c3246e2", "type": "github" }, "original": { @@ -53,11 +53,11 @@ "base16-schemes": { "flake": false, "locked": { - "lastModified": 1689473676, - "narHash": "sha256-L0RhUr9+W5EPWBpLcmkKpUeCEWRs/kLzVMF3Vao2ZU0=", + "lastModified": 1696158499, + "narHash": "sha256-5yIHgDTPjoX/3oDEfLSQ0eJZdFL1SaCfb9d6M0RmOTM=", "owner": "tinted-theming", "repo": "base16-schemes", - "rev": "d95123ca6377cd849cfdce92c0a24406b0c6a789", + "rev": "a9112eaae86d9dd8ee6bb9445b664fba2f94037a", "type": "github" }, "original": { @@ -83,26 +83,17 @@ }, "crane": { "inputs": { - "flake-compat": "flake-compat_6", - "flake-utils": [ - "ragenix", - "flake-utils" - ], "nixpkgs": [ "ragenix", "nixpkgs" - ], - "rust-overlay": [ - "ragenix", - "rust-overlay" ] }, "locked": { - "lastModified": 1681680516, - "narHash": "sha256-EB8Adaeg4zgcYDJn9sR6UMjN/OHdIiMMK19+3LmmXQY=", + "lastModified": 1708794349, + "narHash": "sha256-jX+B1VGHT0ruHHL5RwS8L21R6miBn4B6s9iVyUJsJJY=", "owner": "ipetkov", "repo": "crane", - "rev": "54b63c8eae4c50172cb50b612946ff1d2bc1c75c", + "rev": "2c94ff9a6fbeb9f3ea0107f28688edbe9c81deaa", "type": "github" }, "original": { @@ -120,11 +111,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1704875591, - "narHash": "sha256-eWRLbqRcrILgztU/m/k7CYLzETKNbv0OsT2GjkaNm8A=", + "lastModified": 1711973905, + "narHash": "sha256-UFKME/N1pbUtn+2Aqnk+agUt8CekbpuqwzljivfIme8=", "owner": "serokell", "repo": "deploy-rs", - "rev": "1776009f1f3fb2b5d236b84d9815f2edee463a9b", + "rev": "88b3059b020da69cbe16526b8d639bd5e0b51c8b", "type": "github" }, "original": { @@ -162,11 +153,11 @@ ] }, "locked": { - "lastModified": 1705540973, - "narHash": "sha256-kNt/qAEy7ueV7NKbVc8YMHWiQAAgrir02MROYNI8fV0=", + "lastModified": 1712947906, + "narHash": "sha256-T0eT2lMbcK7RLelkx0qx4SiFpOS/0dt0aSfLB+WsGV8=", "owner": "nix-community", "repo": "disko", - "rev": "0033adc6e3f1ed076f3ed1c637ef1dfe6bef6733", + "rev": "8d4ae698eaac8bd717e23507da2ca8b345bec4b5", "type": "github" }, "original": { @@ -272,22 +263,6 @@ "type": "github" } }, - "flake-compat_7": { - "flake": false, - "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -295,11 +270,11 @@ ] }, "locked": { - "lastModified": 1704982712, - "narHash": "sha256-2Ptt+9h8dczgle2Oo6z5ni5rt/uLMG47UFTR1ry/wgg=", + "lastModified": 1712014858, + "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "07f6395285469419cf9d078f59b5b49993198c00", + "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", "type": "github" }, "original": { @@ -316,11 +291,11 @@ ] }, "locked": { - "lastModified": 1704982712, - "narHash": "sha256-2Ptt+9h8dczgle2Oo6z5ni5rt/uLMG47UFTR1ry/wgg=", + "lastModified": 1712014858, + "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "07f6395285469419cf9d078f59b5b49993198c00", + "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", "type": "github" }, "original": { @@ -338,11 +313,11 @@ ] }, "locked": { - "lastModified": 1701473968, - "narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=", + "lastModified": 1709336216, + "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5", + "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", "type": "github" }, "original": { @@ -355,11 +330,11 @@ "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { - "lastModified": 1704982712, - "narHash": "sha256-2Ptt+9h8dczgle2Oo6z5ni5rt/uLMG47UFTR1ry/wgg=", + "lastModified": 1709336216, + "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "07f6395285469419cf9d078f59b5b49993198c00", + "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", "type": "github" }, "original": { @@ -426,11 +401,11 @@ "systems": "systems_7" }, "locked": { - "lastModified": 1681202837, - "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", "owner": "numtide", "repo": "flake-utils", - "rev": "cfacdce06f30d2b68473a46042957675eebb3401", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", "type": "github" }, "original": { @@ -462,11 +437,11 @@ "systems": "systems_9" }, "locked": { - "lastModified": 1681202837, - "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", "owner": "numtide", "repo": "flake-utils", - "rev": "cfacdce06f30d2b68473a46042957675eebb3401", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", "type": "github" }, "original": { @@ -495,11 +470,11 @@ "systems": "systems_10" }, "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -538,11 +513,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": { @@ -553,11 +528,11 @@ }, "hardware": { "locked": { - "lastModified": 1705312285, - "narHash": "sha256-rd+dY+v61Y8w3u9bukO/hB55Xl4wXv4/yC8rCGVnK5U=", + "lastModified": 1712909959, + "narHash": "sha256-7/5ubuwdEbQ7Z+Vqd4u0mM5L2VMNDsBh54visp27CtQ=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "bee2202bec57e521e3bd8acd526884b9767d7fa0", + "rev": "f58b25254be441cd2a9b4b444ed83f1e51244f1f", "type": "github" }, "original": { @@ -575,11 +550,11 @@ ] }, "locked": { - "lastModified": 1704029560, - "narHash": "sha256-a4Iu7x1OP+uSYpqadOu8VCPY+MPF3+f6KIi+MAxlgyw=", + "lastModified": 1710478346, + "narHash": "sha256-Xjf8BdnQG0tLhPMlqQdwCIjOp7Teox0DP3N/jjyiGM4=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "d5cbf433a6ae9cae05400189a8dbc6412a03ba16", + "rev": "64e7763d72c1e4c1e5e6472640615b6ae2d40fbf", "type": "github" }, "original": { @@ -595,11 +570,11 @@ ] }, "locked": { - "lastModified": 1705823474, - "narHash": "sha256-2C4uRe9/U3QwSPC4dYKM1/njgCQk0Mltezy4VcjAqa4=", + "lastModified": 1712989663, + "narHash": "sha256-r2X/DIAyKOLiHoncjcxUk1TENWDTTaigRBaY53Cts/w=", "owner": "nix-community", "repo": "home-manager", - "rev": "928f2528f9ee952ba0a47bbb1ece8d93ed66e784", + "rev": "40ab43ae98cb3e6f07eaeaa3f3ed56d589da21b0", "type": "github" }, "original": { @@ -611,11 +586,11 @@ }, "impermanence": { "locked": { - "lastModified": 1703656108, - "narHash": "sha256-hCSUqdFJKHHbER8Cenf5JRzjMlBjIdwdftGQsO0xoJs=", + "lastModified": 1708968331, + "narHash": "sha256-VUXLaPusCBvwM3zhGbRIJVeYluh2uWuqtj4WirQ1L9Y=", "owner": "nix-community", "repo": "impermanence", - "rev": "033643a45a4a920660ef91caa391fbffb14da466", + "rev": "a33ef102a02ce77d3e39c25197664b7a636f9c30", "type": "github" }, "original": { @@ -632,11 +607,11 @@ ] }, "locked": { - "lastModified": 1705667791, - "narHash": "sha256-J0JYfA6eFdHluLnROVDkrqbYacWcJXYKXeJAFayDiAE=", + "lastModified": 1712909442, + "narHash": "sha256-D+VrmsPLkEbxNcI7lp9rGFR33RumbQIyhhjJ4PooWBs=", "owner": "Jovian-Experiments", "repo": "Jovian-NixOS", - "rev": "330b7a78fcba967f2273ae71fb3c4bfb03b5dd21", + "rev": "8886e3da78fcefb11935ea85da3d1572bf444c55", "type": "github" }, "original": { @@ -648,13 +623,13 @@ "langref": { "flake": false, "locked": { - "narHash": "sha256-mYdDCBdNEIeMbavdhSo8qXqW+3fqPC8BAich7W3umrI=", + "narHash": "sha256-94broSBethRhPJr0G9no4TPyB8ee6BQ/hHK1QnLPln0=", "type": "file", - "url": "https://raw.githubusercontent.com/ziglang/zig/63bd2bff12992aef0ce23ae4b344e9cb5d65f05d/doc/langref.html.in" + "url": "https://raw.githubusercontent.com/ziglang/zig/54bbc73f8502fe073d385361ddb34a43d12eec39/doc/langref.html.in" }, "original": { "type": "file", - "url": "https://raw.githubusercontent.com/ziglang/zig/63bd2bff12992aef0ce23ae4b344e9cb5d65f05d/doc/langref.html.in" + "url": "https://raw.githubusercontent.com/ziglang/zig/54bbc73f8502fe073d385361ddb34a43d12eec39/doc/langref.html.in" } }, "lib-net": { @@ -678,11 +653,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1704221387, - "narHash": "sha256-XXsRjoz6IwMnY5MlMNi1QXqKFnJXYkIg3l/fnXn0oSs=", + "lastModified": 1707183497, + "narHash": "sha256-K6LVwmM32uUEYXpDFCnwNqOyi863FRXR6KFq87X3iHg=", "owner": "hraban", "repo": "mac-app-util", - "rev": "4f48e20f25a620c3d4ef658bb3804c849d46cc93", + "rev": "95d9c38d6dec0296d73929f63a7de130f435437b", "type": "github" }, "original": { @@ -701,11 +676,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1705697470, - "narHash": "sha256-Htn7xl9hjkDB+A8x0Y6/okwEUgCwKaKJFk4QNcXHN5k=", + "lastModified": 1712963920, + "narHash": "sha256-5Rh+bUrpeQLYtvnFlMFmUFkV/H6b+I22Bei8oNa+dBw=", "owner": "neovim", "repo": "neovim", - "rev": "d3a8e9217f39c59dd7762bd22a76b8bd03ca85ff", + "rev": "66220d164a40791a5131d4660e6ffbee431070d5", "type": "github" }, "original": { @@ -726,11 +701,11 @@ ] }, "locked": { - "lastModified": 1705709061, - "narHash": "sha256-Ai6ZAztEf310lxq93JWDzBKQfBlBZnGoHqAJYMV8W+M=", + "lastModified": 1712966609, + "narHash": "sha256-XkNBbh8x1niHtVILUiNlGJHN9N2JkY+a8MR8w0/mhrI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "664ff2a12e3f733dc1db467bd8b905438440f924", + "rev": "c83e531b908c1fe71a95830bbad6db8a1e5b5b6b", "type": "github" }, "original": { @@ -745,11 +720,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1695388192, - "narHash": "sha256-2jelpE7xK+4M7jZNyWL7QYOYegQLYBDQS5bvdo8XRUQ=", + "lastModified": 1707825078, + "narHash": "sha256-hTfge2J2W+42SZ7VHXkf4kjU+qzFqPeC9k66jAUBMHk=", "owner": "misterio77", "repo": "nix-colors", - "rev": "37227f274b34a3b51649166deb94ce7fec2c6a4c", + "rev": "b01f024090d2c4fc3152cd0cf12027a7b8453ba1", "type": "github" }, "original": { @@ -765,11 +740,11 @@ ] }, "locked": { - "lastModified": 1705833550, - "narHash": "sha256-CyzbM1mw5xUG4rV5G6FIRM44EvdOgRdWR3joqswyuIU=", + "lastModified": 1711763326, + "narHash": "sha256-sXcesZWKXFlEQ8oyGHnfk4xc9f2Ip0X/+YZOq3sKviI=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "91c19ab206b4b8af72f3f34a947969964ad45908", + "rev": "36524adc31566655f2f4d55ad6b875fb5c1a4083", "type": "github" }, "original": { @@ -781,11 +756,11 @@ }, "nix-filter": { "locked": { - "lastModified": 1687178632, - "narHash": "sha256-HS7YR5erss0JCaUijPeyg2XrisEb959FIct3n2TMGbE=", + "lastModified": 1705332318, + "narHash": "sha256-kcw1yFeJe9N4PjQji9ZeX47jg0p9A0DuU4djKvg1a7I=", "owner": "numtide", "repo": "nix-filter", - "rev": "d90c75e8319d0dd9be67d933d8eb9d0894ec9174", + "rev": "3449dc925982ad46246cfc36469baf66e1b64f17", "type": "github" }, "original": { @@ -845,11 +820,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1692605628, - "narHash": "sha256-jBasvDCk9V32JuwtPy1G4KyVAc2eaBSf2X5eRNQgIkY=", + "lastModified": 1708169437, + "narHash": "sha256-qR3UF6xf+ts/lCY2UlacKtNzZq/9jxsgsdXxiQ5gcPU=", "owner": "ners", "repo": "nix-monitored", - "rev": "6be92b0c1eca7ef501b4f92735885e7cb4db414b", + "rev": "382ed0cad468cb0b5426bf0905da573efa96c218", "type": "github" }, "original": { @@ -917,11 +892,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1694911725, - "narHash": "sha256-8YqI+YU1DGclEjHsnrrGfqsQg3Wyga1DfTbJrN3Ud0c=", + "lastModified": 1697935651, + "narHash": "sha256-qOfWjQ2JQSQL15KLh6D7xQhx0qgZlYZTYlcEiRuAMMw=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "819180647f428a3826bfc917a54449da1e532ce0", + "rev": "e1e11fdbb01113d85c7f41cada9d2847660e3902", "type": "github" }, "original": { @@ -933,11 +908,11 @@ "nixpkgs-lib_2": { "locked": { "dir": "lib", - "lastModified": 1703961334, - "narHash": "sha256-M1mV/Cq+pgjk0rt6VxoyyD+O8cOUiai8t9Q6Yyq4noY=", + "lastModified": 1709237383, + "narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b0d36bd0a420ecee3bc916c91886caca87c894e9", + "rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8", "type": "github" }, "original": { @@ -966,11 +941,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1692447944, - "narHash": "sha256-fkJGNjEmTPvqBs215EQU4r9ivecV5Qge5cF/QDLVn3U=", + "lastModified": 1707956935, + "narHash": "sha256-ZL2TrjVsiFNKOYwYQozpbvQSwvtV/3Me7Zwhmdsfyu4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d680ded26da5cf104dd2735a51e88d2d8f487b4d", + "rev": "a4d4fe8c5002202493e87ec8dbc91335ff55552c", "type": "github" }, "original": { @@ -982,11 +957,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1705677747, - "narHash": "sha256-eyM3okYtMgYDgmYukoUzrmuoY4xl4FUujnsv/P6I/zI=", + "lastModified": 1712791164, + "narHash": "sha256-3sbWO1mbpWsLepZGbWaMovSO7ndZeFqDSdX0hZ9nVyw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bbe7d8f876fbbe7c959c90ba2ae2852220573261", + "rev": "1042fd8b148a9105f3c0aca3a6177fd1d9360ba5", "type": "github" }, "original": { @@ -998,11 +973,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1681920287, - "narHash": "sha256-+/d6XQQfhhXVfqfLROJoqj3TuG38CAeoT6jO1g9r1k0=", + "lastModified": 1708655239, + "narHash": "sha256-ZrP/yACUvDB+zbqYJsln4iwotbH6CTZiTkANJ0AgDv4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "645bc49f34fa8eff95479f0345ff57e55b53437e", + "rev": "cbc4211f0afffe6dfd2478a62615dd5175a13f9a", "type": "github" }, "original": { @@ -1030,11 +1005,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1681358109, - "narHash": "sha256-eKyxW4OohHQx9Urxi7TQlFBTDWII+F+x2hklDOQPB50=", + "lastModified": 1706487304, + "narHash": "sha256-LE8lVX28MV2jWJsidW13D2qrHU/RUUONendL2Q/WlJg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "96ba1c52e54e74c3197f4d43026b3f3d92e83ff9", + "rev": "90f456026d284c22b3e3497be980b2e47d0b28ac", "type": "github" }, "original": { @@ -1094,11 +1069,11 @@ }, "nur": { "locked": { - "lastModified": 1705866890, - "narHash": "sha256-P4G6ugVWFY8NUYIfSST9/jCqk635+2+STlUpKMAjfE0=", + "lastModified": 1713001499, + "narHash": "sha256-K+vpy3KL79P2iegNoUc65o0FWIahXh5aDoPgJLmQGtc=", "owner": "nix-community", "repo": "NUR", - "rev": "43740fb42099d9814c6d290c15722feedc2f9ce1", + "rev": "f2d42483bf8cf8c3ccd6e5a039d23104540db22d", "type": "github" }, "original": { @@ -1146,11 +1121,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1682237245, - "narHash": "sha256-xbBR7LNK+d5Yi/D6FXQGc1R6u2VV2nwr/Df5iaEbOEQ=", + "lastModified": 1709831932, + "narHash": "sha256-WsP8rOFa/SqYNbVtYJ/l2mWWOgyDTJFbITMV8tv0biI=", "owner": "yaxitech", "repo": "ragenix", - "rev": "281f68c3d477904f79ff1cd5807a8c226cd80a50", + "rev": "06de099ef02840ec463419f12de73729d458e1eb", "type": "github" }, "original": { @@ -1199,11 +1174,11 @@ ] }, "locked": { - "lastModified": 1682129965, - "narHash": "sha256-1KRPIorEL6pLpJR04FwAqqnt4Tzcm4MqD84yhlD+XSk=", + "lastModified": 1708740535, + "narHash": "sha256-NCTw235XwSDbeTAtAwg/hOeNOgwYhVq7JjDdbkOgBeA=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "2c417c0460b788328220120c698630947547ee83", + "rev": "9b24383d77f598716fa0cbb8b48c97249f5ee1af", "type": "github" }, "original": { @@ -1218,11 +1193,11 @@ "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1705112162, - "narHash": "sha256-IAM0+Uijh/fwlfoeDrOwau9MxcZW3zeDoUHc6Z3xfqM=", + "lastModified": 1711764554, + "narHash": "sha256-I2/x/jFd7MAuIi3+kncIF0zJwhkFzxpi5XFdT2RLOF8=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "9e0af26ffe52bf955ad5575888f093e41fba0104", + "rev": "7cf3d11d06dcd12fb62ca2c039f3c5e25b53c5a7", "type": "github" }, "original": { @@ -1427,11 +1402,11 @@ "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1705487953, - "narHash": "sha256-6oh1H7/74v57m3AtK8jQLvN9LtKqyeT862krjJasOJs=", + "lastModified": 1711861273, + "narHash": "sha256-VuPSgDhK2zNtOZlpEXKBnMqSd9SkeC4ZQDDuX/swiDg=", "owner": "Toqozz", "repo": "wired-notify", - "rev": "fe0f02af93b09e5fe689c948a557e466b99d9a58", + "rev": "54bae8ac6154e52215c4c0f7d25fb5e735b9179e", "type": "github" }, "original": { @@ -1442,18 +1417,18 @@ }, "zig-overlay": { "inputs": { - "flake-compat": "flake-compat_7", + "flake-compat": "flake-compat_6", "flake-utils": "flake-utils_7", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1705838875, - "narHash": "sha256-ROzgF6NGfVzYc1P363ysF959pCxmy8YGV5xSUTieQ/M=", + "lastModified": 1712967597, + "narHash": "sha256-W1XetQXv+CgkjehhVtTCR2ZpUOfmBT7pb9goMhjQl8o=", "owner": "mitchellh", "repo": "zig-overlay", - "rev": "74331844605b29ddb1109e1482d784806adbd6a5", + "rev": "6ea5ee985a4378488d18bbde8ed3c0cec842d4c0", "type": "github" }, "original": { @@ -1475,11 +1450,11 @@ ] }, "locked": { - "lastModified": 1705613169, - "narHash": "sha256-K+csoJmze28Mp0+T8sx0MoFwRmIJa+GICP+wNyuYmmQ=", + "lastModified": 1712963542, + "narHash": "sha256-hiRGZQ+T1KdoopZp2cjiwYcaie8fJbGfeMKNvXAOmYE=", "owner": "zigtools", "repo": "zls", - "rev": "a8a83b6ad21e382c49474e8a9ffe35a3e510de3c", + "rev": "8e264df7b1195b16356cced048dec3714ec37ad0", "type": "github" }, "original": { diff --git a/machines/nixos/x86_64-linux/jeeves/configuration.nix b/machines/nixos/x86_64-linux/jeeves/configuration.nix index 53c100d..0c42ed1 100644 --- a/machines/nixos/x86_64-linux/jeeves/configuration.nix +++ b/machines/nixos/x86_64-linux/jeeves/configuration.nix @@ -10,14 +10,15 @@ ./wireguard.nix ./jellyfin.nix ./mindustry.nix - ./home-assistant.nix + ./home-assistant ./samba.nix ]; age.rekey = { hostPubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPopSTZ81UyKp9JSljCLp+Syk51zacjh9fLteqxQ6/aB"; masterIdentities = [ "${inputs.self}/secrets/privkey.age" ]; - # forceRekeyOnSystem = "aarch64-darwin"; + storageMode = "derivation"; + # forceRekeyOnSystem = "aarch64-linux"; }; nixpkgs = { @@ -34,9 +35,15 @@ boot = { loader.systemd-boot.enable = true; kernelPackages = pkgs.linuxPackages_latest; - initrd.availableKernelModules = [ - "nvme" - ]; + binfmt.emulatedSystems = [ "aarch64-linux" ]; + initrd = { + availableKernelModules = [ + "nvme" + ]; + # kernelModules = [ + # "amdgpu" + # ]; + }; }; hardware.enableRedistributableFirmware = true; diff --git a/machines/nixos/x86_64-linux/jeeves/home-assistant/android.nix b/machines/nixos/x86_64-linux/jeeves/home-assistant/android.nix new file mode 100644 index 0000000..d15bc8d --- /dev/null +++ b/machines/nixos/x86_64-linux/jeeves/home-assistant/android.nix @@ -0,0 +1,23 @@ +{ + services.home-assistant.config = { + conversation.intents = { + FindAndroid = [ + "(Find|Fight) my (phone|android|android phone)" + ]; + }; + intent_script = { + FindAndroid = { + speech.text = "Send notification"; + action = { + service = "notify.pushover"; + data = { + message = "Phonefinderalert"; + target = "android"; + data.sound = "echo"; + data.priority = 1; + }; + }; + }; + }; + }; +} diff --git a/machines/nixos/x86_64-linux/jeeves/home-assistant.nix b/machines/nixos/x86_64-linux/jeeves/home-assistant/default.nix similarity index 60% rename from machines/nixos/x86_64-linux/jeeves/home-assistant.nix rename to machines/nixos/x86_64-linux/jeeves/home-assistant/default.nix index 9d64ff9..5e93ac4 100644 --- a/machines/nixos/x86_64-linux/jeeves/home-assistant.nix +++ b/machines/nixos/x86_64-linux/jeeves/home-assistant/default.nix @@ -14,11 +14,26 @@ "esphome" "met" "radio_browser" + "tuya" ]; config = { # Includes dependencies for a basic setup # https://www.home-assistant.io/integrations/default_config/ - default_config = {}; + default_config = { }; + mobile_app = { }; + map = { }; }; }; + + networking.firewall = + lib.pipe + [ "TCP" "UDP" ] + [ + (builtins.map + (protocol: + lib.nameValuePair + "allowed${protocol}Ports" + [ 8123 ])) + builtins.listToAttrs + ]; } diff --git a/machines/nixos/x86_64-linux/jeeves/home-assistant/jokes.nix b/machines/nixos/x86_64-linux/jeeves/home-assistant/jokes.nix new file mode 100644 index 0000000..3835a90 --- /dev/null +++ b/machines/nixos/x86_64-linux/jeeves/home-assistant/jokes.nix @@ -0,0 +1,27 @@ +{ + services.home-assistant.config = { + conversation.intents = { + TellJoke = [ + "Tell [me] (a joke|something funny|a dad joke)" + ]; + }; + sensor = [ + { + name = "random_joke"; + platform = "rest"; + json_attributes = "joke"; + resource = "https://icanhazdadjoke.com/"; + scan_interval = "3600"; + headers.Accept = "application/json"; + } + ]; + + intent_script.TellJoke = { + speech.text = ''{{ state_attr("sensor.random_joke", "joke") }}''; + action = { + service = "homeassistant.update_entity"; + entity_id = "sensor.random_joke"; + }; + }; + }; +} diff --git a/machines/nixos/x86_64-linux/jeeves/mindustry.nix b/machines/nixos/x86_64-linux/jeeves/mindustry.nix index 575aa13..563f854 100644 --- a/machines/nixos/x86_64-linux/jeeves/mindustry.nix +++ b/machines/nixos/x86_64-linux/jeeves/mindustry.nix @@ -1,6 +1,6 @@ { lib, pkgs, config, ... }: { reo101.mindustry = { - enable = true; + enable = false; }; }