Compare commits

...
Sign in to create a new pull request.

559 commits

Author SHA1 Message Date
Jakob Lechner
8a0b56982a flake.lock: Update
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)
2025-11-18 14:59:08 +01:00
Jakob Lechner
9f528e2f6f Fix rule to send mails from ipv4 only 2025-11-18 14:57:42 +01:00
Jakob Lechner
cc301951fc Apply black 2025-11-13 00:53:25 +01:00
Jakob Lechner
9dafacebda Add BLE sniffer to Wireshark 2025-11-13 00:53:25 +01:00
Jakob Lechner
c7222d9500 Add Grafana to iron 2025-11-13 00:53:25 +01:00
Jakob Lechner
4bf2bd7925 Use package from master 2025-11-13 00:53:25 +01:00
Jakob Lechner
d2e08e999c Use package from master 2025-11-13 00:53:25 +01:00
Jakob Lechner
5de772dbd5 Use package from master 2025-11-13 00:53:25 +01:00
Jakob Lechner
5cb7783a16 Use avahi-daemon release candidate
Let's see if this fixes the high CPU load issues.
2025-11-13 00:53:25 +01:00
Jakob Lechner
d139988fa9 Use nightly build of Jameica
as VoP is not available in a stable release yet.
2025-10-28 21:06:14 +01:00
Jakob Lechner
e199dc603b Enable hardware-accelerated transcoding 2025-10-28 04:04:44 +01:00
Jakob Lechner
bd4ee7054e flake.lock: Update
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)
2025-10-27 23:06:02 +01:00
Jakob Lechner
30c2bb63a0 Decrease brightness control steps to 1% 2025-10-27 23:04:54 +01:00
Jakob Lechner
d4a2f6df35 Add freetube 2025-10-24 23:03:29 +02:00
Jakob Lechner
8c72e2ed3a fixup! Rework solarized 2025-10-24 23:00:06 +02:00
Jakob Lechner
be924e6c87 Replace pavucontrol with mixxc 2025-10-24 22:59:35 +02:00
Jakob Lechner
c9a956bc63 Rework solarized 2025-10-24 22:59:35 +02:00
Jakob Lechner
0a2a569682 Remove gnused
it is not required
2025-10-24 12:01:58 +02:00
Jakob Lechner
1baad7a328 flake.lock: Update
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)
2025-10-23 10:00:02 +02:00
Jakob Lechner
c23cd959e3 Add pipewire to iron 2025-10-14 23:18:44 +02:00
Jakob Lechner
81724a93e9 Add BROFLIX logo 2025-10-12 12:52:49 +02:00
Jakob Lechner
fc8ab454b7 flake.lock: Update
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)
2025-10-10 11:02:09 +02:00
Jakob Lechner
ab489e3bd8 Add rar2fs mount service 2025-10-06 20:32:51 +02:00
Jakob Lechner
50dedefe79 Add ro bind mounts for CA certificates 2025-10-06 16:53:34 +02:00
Jakob Lechner
6cd80f64f5 Migrate deprecated mautrix configs 2025-10-06 15:27:56 +02:00
Jakob Lechner
7bbf0e9f89 flake.lock: Update
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)
2025-10-05 23:33:27 +02:00
Jakob Lechner
508a7b539c Add shroombox 2025-10-01 11:08:15 +02:00
Jakob Lechner
0128856c8e flake.lock: Update
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)
2025-09-29 13:48:31 +02:00
Jakob Lechner
55da954dbd Add Rules for Raspberry Pi Pico and WCH Link 2025-09-23 21:38:53 +02:00
Jakob Lechner
30cb9dd369 Add TvProxy 2025-09-22 22:52:39 +02:00
Jakob Lechner
3e59ed36dc flake.lock: Update
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)
2025-09-22 11:05:47 +02:00
Jakob Lechner
e7860f8f92 flake.lock: Update
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)
2025-09-17 21:42:24 +02:00
Jakob Lechner
ee83d51dd2 Use vesc only on copper 2025-09-17 00:23:12 +02:00
Jakob Lechner
3deb1898cf Replace ddclient with godns 2025-09-16 11:29:09 +02:00
Jakob Lechner
6da5cb8a26 Refactor rules 2025-09-16 09:55:18 +02:00
Jakob Lechner
dfb70c1287 Allow ports needed for pixiecore 2025-09-15 22:34:23 +02:00
Jakob Lechner
d7483490cd Add prometheus for home network 2025-09-15 18:14:24 +02:00
Jakob Lechner
3b89194a8a Bump stateVersion 2025-09-15 18:14:24 +02:00
Jakob Lechner
ef80b04f50 flake.lock: Update
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)
2025-09-15 12:42:16 +02:00
Jakob Lechner
15b3a138b5 flake.lock: Update
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)
2025-09-10 20:00:54 +02:00
Jakob Lechner
9e0374b9d0 Add udev module 2025-09-09 12:38:14 +02:00
Jakob Lechner
3b2fd03f48 flake.lock: Update
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)
2025-09-09 10:31:09 +02:00
Jakob Lechner
724cc97ef9 Add fixes for Framework laptop 2025-09-09 10:29:34 +02:00
Jakob Lechner
9c14b1a151 flake.lock: Update
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)
2025-09-07 14:31:48 +02:00
Jakob Lechner
0405c345e2 Add nix-cache 2025-09-03 22:17:28 +02:00
Jakob Lechner
e2e135718d Exclude .envrc from pre-commit checks 2025-09-03 21:37:31 +02:00
Jakob Lechner
60d004592a Remove unneeded rec 2025-09-02 12:08:49 +02:00
Jakob Lechner
23222c0c34 Rework sturzbach service 2025-09-02 00:31:38 +02:00
Jakob Lechner
8cec9745da Add sops defaults 2025-09-01 16:06:04 +02:00
Jakob Lechner
6b9c9dba92 Add ddev 2025-09-01 10:21:38 +02:00
Jakob Lechner
87685a4145 flake.lock: Update
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)
2025-09-01 10:21:38 +02:00
Jakob Lechner
67ed5ed1e0 flake.lock: Update
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)
2025-08-28 17:54:17 +02:00
Jakob Lechner
eab585ed72 flake.lock: Update
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)
2025-08-25 09:53:57 +02:00
Jakob Lechner
0a3c725259 flake.lock: Update
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)
2025-08-19 12:13:06 +02:00
Jakob Lechner
bbf6b56b25 Add zram 2025-08-15 14:20:11 +02:00
Jakob Lechner
396066b51a Add libreoffice 2025-08-15 14:20:11 +02:00
Jakob Lechner
464a4a9be8 Fix keyboard layout for gdm 2025-08-15 14:20:11 +02:00
Jakob Lechner
69e05f6599 Fix wifi 2025-08-15 14:20:11 +02:00
Jakob Lechner
6414b7b79d Add host jalr-t520 2025-08-15 14:20:11 +02:00
Jakob Lechner
602cd350b9 Add mousepad 2025-08-06 00:40:04 +02:00
Jakob Lechner
527689d088 Fix cvlc
fixes "cannot execute: required file not found"
2025-08-05 01:33:58 +02:00
Jakob Lechner
17eb4d26f0 flake.lock: Update
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)
2025-08-05 00:21:08 +02:00
Jakob Lechner
cad6f04d73 Use boolean to enable/disable sway and gnome 2025-07-30 23:47:40 +02:00
Jakob Lechner
c1d55914dd flake.lock: Update
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)
2025-07-30 20:56:53 +02:00
Jakob Lechner
ae3c463416 flake.lock: Update
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)
2025-07-28 10:05:35 +02:00
Jakob Lechner
6525b69c43 Add tio 2025-07-28 10:04:27 +02:00
Jakob Lechner
f2413ad116 Add treestyletab.css 2025-07-23 21:33:41 +02:00
Jakob Lechner
5bebf82b82 flake.lock: Update
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)
2025-07-22 10:54:32 +02:00
Jakob Lechner
1a809b4fb8 Add Weinturm it mailbox 2025-07-18 10:36:43 +02:00
Jakob Lechner
ecec4e9e59 Add basic logging for powerUp and powerDown 2025-07-18 10:34:49 +02:00
Jakob Lechner
e7d50d0b11 flake.lock: Update
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)
2025-07-18 00:38:23 +02:00
Jakob Lechner
6ac6d3f89d Add git as system package
This should fix
    error: executing 'git': No such file or directory

The error occurs sometimes for flake inputs.
2025-07-17 03:13:52 +02:00
Jakob Lechner
6e4c7c462b Disable raop-sink
Disable it to prevent auto-loading the module. This should prevent
messing up the Spotify stream at the office.
2025-07-14 13:34:21 +02:00
Jakob Lechner
8b994f1ed0 Add gg-chatmix 2025-07-14 12:03:45 +02:00
Jakob Lechner
e39cac2ba9 flake.lock: Update
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)
2025-07-14 11:44:13 +02:00
Jakob Lechner
8e84238718 Update dependencies 2025-07-14 11:40:57 +02:00
Jakob Lechner
b11e07cfb1 flake.lock: Update
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)
2025-07-14 11:40:57 +02:00
Jakob Lechner
7ef4d38552 Add sshtunnel dependency to mycli
Without this package, mycli doesn't support ssh tunnels.
2025-07-14 11:40:56 +02:00
Jakob Lechner
cd5dbe56ff flake.lock: Update
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)
2025-07-14 11:40:56 +02:00
Jakob Lechner
43575b6f56 Remove ix.dnsbl.manitu.net
the service is no longer available
2025-07-14 11:40:56 +02:00
Jakob Lechner
0bd1a5c684 Add pace 2025-07-14 11:40:56 +02:00
Jakob Lechner
06697553a4 flake.lock: Update
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)
2025-07-14 11:40:56 +02:00
Jakob Lechner
3d5ac7673b Fix neo layout 2025-07-14 11:40:56 +02:00
Jakob Lechner
c243056027 Use greetd to start sway 2025-07-14 11:40:56 +02:00
Jakob Lechner
29525dc308 flake.lock: Update
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)
2025-07-14 11:40:56 +02:00
Jakob Lechner
3789ace3e7 flake.lock: Update
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)
2025-07-14 11:40:56 +02:00
Jakob Lechner
bfe01df333 Implement php debugging 2025-07-14 11:40:56 +02:00
Jakob Lechner
a7575016a8 Downgrade tree-style-tab
as the current version is incompatible with firefox-esr.
2025-07-14 11:40:56 +02:00
Jakob Lechner
f5d847e04a flake.lock: Update
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)
2025-07-14 11:40:56 +02:00
Jakob Lechner
088e35e8d1 Disable some PHP linter warnings 2025-07-14 11:40:56 +02:00
Jakob Lechner
d340eaf3eb Add diagnostic settings 2025-07-14 11:40:56 +02:00
Jakob Lechner
fdd8e63f53 Add VESC board 60 2025-07-14 11:40:56 +02:00
Jakob Lechner
711c0eb0f0 Replace alacritty with wezterm
as alacritty doesn't support ligatures.

See https://github.com/alacritty/alacritty/issues/50
2025-07-14 11:40:56 +02:00
Jakob Lechner
83e5e56a6b Add lsd icon config 2025-07-14 11:40:56 +02:00
Jakob Lechner
2be0fee327 Add lsd colorschemes 2025-07-14 11:40:56 +02:00
Jakob Lechner
1755c502f4 Replace eza with lsd 2025-07-14 11:40:56 +02:00
Jakob Lechner
8452ae93f5 Remove direnv
as it is managed in a dedicated module
2025-06-12 21:27:13 +02:00
Jakob Lechner
6169090c8e Rename kitchen ceiling light 2025-06-12 00:21:25 +02:00
Jakob Lechner
0cf7d2437a flake.lock: Update
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)
2025-06-06 11:29:11 +02:00
Jakob Lechner
cabcb060f3 Remove signald service
The signald project is unmaintained and has long been incompatible with
the official Signal servers.
2025-06-04 21:20:53 +02:00
Jakob Lechner
add7a875b7 Use official nix flake for vesc-tool 2025-06-04 21:20:53 +02:00
Jakob Lechner
6da10bd93e Fix max brightness 2025-06-04 11:21:35 +02:00
Jakob Lechner
17b417ddb2 flake.lock: Update
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)
2025-06-04 11:00:27 +02:00
Jakob Lechner
d4d6c7a830 Add esphome module 2025-05-27 15:10:20 +02:00
Jakob Lechner
f4cb1b304e Add it-tools 2025-05-27 01:13:08 +02:00
Jakob Lechner
63e4acaab2 flake.lock: Update
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)
2025-05-26 22:00:30 +02:00
Jakob Lechner
010f2e05df Add domain iot.bw.jalr.de 2025-05-26 20:51:54 +02:00
Jakob Lechner
8288820ffc Move asterisk-sounds-de to overlay 2025-05-26 20:51:54 +02:00
Jakob Lechner
bfa03c0c67 flake.lock: Update
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)
2025-05-26 16:45:05 +02:00
Jakob Lechner
852d62bbd7 Use stable package 2025-05-26 16:43:35 +02:00
Jakob Lechner
c939f81d87 Fix touch threshold and add filter 2025-05-22 17:11:20 +02:00
Jakob Lechner
d1fc275307 Bump illuminanced version 2025-05-19 23:47:45 +02:00
Jakob Lechner
a6d9c798d7 Fix esphome 2025-05-19 23:47:45 +02:00
Jakob Lechner
58d97a2abb Bump lanzaboote version 2025-05-19 23:34:05 +02:00
Jakob Lechner
f42654b9ad Fixes for 25.05 2025-05-19 23:34:05 +02:00
Jakob Lechner
cdad4059fd Bump to 25.05 2025-05-19 22:14:49 +02:00
Jakob Lechner
fc508ef08b Add NFC reader 2025-05-19 21:57:53 +02:00
Jakob Lechner
623f793970 flake.lock: Update
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)
2025-05-12 23:31:04 +02:00
Jakob Lechner
4e7e1578d1 flake.lock: Update
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)
2025-05-09 01:52:19 +02:00
Jakob Lechner
8a7765f4e2 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.
2025-05-07 00:51:16 +02:00
Jakob Lechner
82817c32ef Add REW 2025-05-07 00:51:00 +02:00
Jakob Lechner
9ead7f27d6 flake.lock: Update
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)
2025-05-04 12:33:11 +02:00
Jakob Lechner
2fe63eab34 Remove pretix 2025-05-03 00:25:45 +02:00
Jakob Lechner
391e4dd825 flake.lock: Update
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)
2025-05-03 00:16:57 +02:00
Jakob Lechner
399b3da364 Add wireguard tunnel for esphome 2025-04-30 01:15:35 +02:00
Jakob Lechner
e5e99a5ce9 Move openscad to 3d-modeling 2025-04-28 10:30:17 +02:00
Jakob Lechner
afa1e5a46b flake.lock: Update
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)
2025-04-26 17:24:47 +02:00
Jakob Lechner
13f4558f8d flake.lock: Update
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)
2025-04-23 21:25:56 +02:00
Jakob Lechner
d625c0ecc5 Improve DND widget
Use Python and update state on click events
2025-04-22 18:32:25 +02:00
Jakob Lechner
87a457a44b Change DND keywords 2025-04-22 16:13:38 +02:00
Jakob Lechner
e967d2a79b Change git abbrevs and functions 2025-04-22 15:27:46 +02:00
Jakob Lechner
d7d8afee2c flake.lock: Update
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)
2025-04-22 13:46:24 +02:00
Jakob Lechner
5c7a68e74f Add tandoor 2025-04-18 02:01:27 +02:00
Jakob Lechner
d677595ed8 flake.lock: Update
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)
2025-04-17 21:32:06 +02:00
Jakob Lechner
1ad2b57fa0 Add photoprism 2025-04-17 15:43:58 +02:00
Jakob Lechner
eaf6f0d54a Use postgresql as database 2025-04-16 22:54:29 +02:00
Jakob Lechner
1c0fa7606b Add mealie 2025-04-16 22:54:29 +02:00
Jakob Lechner
96de741c61 Use nixos-24.11 branch of nixpkgs 2025-04-16 22:54:29 +02:00
Jakob Lechner
d655696ffd flake.lock: Update
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)
2025-04-16 22:54:29 +02:00
Jakob Lechner
5b3ea1819d Fix browserpass 2025-04-16 22:54:29 +02:00
Jakob Lechner
7be4097ec9 Disable ksoloti as it is currently broken 2025-04-16 22:54:29 +02:00
Jakob Lechner
6f01431032 Fix duplicate port check 2025-04-16 22:54:29 +02:00
Jakob Lechner
48e71f75f8 Remove unused code 2025-04-16 22:54:28 +02:00
Jakob Lechner
af5a07ca19 Add snapserver ports 2025-04-16 22:54:28 +02:00
Jakob Lechner
eaf3a29871 Add deadnix 2025-04-16 22:54:28 +02:00
Jakob Lechner
8e8041e423 Refactoring 2025-04-16 22:54:28 +02:00
Jakob Lechner
209526d7c0 Add statix 2025-04-16 22:54:28 +02:00
Jakob Lechner
8ecbdb0463 Remove tin 2025-04-16 22:54:28 +02:00
Jakob Lechner
ee89fbb072 Remove t520 2025-04-16 22:54:28 +02:00
Jakob Lechner
1cb1cbbd6e Remove ariang
as it is now part of nixpkgs
2025-04-16 22:54:28 +02:00
Jakob Lechner
1a0bf8803f flake.lock: Update
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)
2025-04-16 22:54:28 +02:00
Jakob Lechner
ea30ca33ea Add trilium 2025-04-16 22:54:28 +02:00
Jakob Lechner
dcb50b0970 Reinstall magnesium 2025-04-09 10:27:38 +02:00
Jakob Lechner
464a1847a6 Remove smtpd_tls_dh1024_param_file
support for parameter "smtpd_tls_dh1024_param_file" will be removed
2025-04-09 10:20:44 +02:00
Jakob Lechner
7d68ccab85 Set download-buffer-size 2025-04-09 10:20:44 +02:00
Jakob Lechner
7c87ce7876 Add ratelimit 2025-04-09 10:20:44 +02:00
Jakob Lechner
d994258dc5 flake.lock: Update
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)
2025-04-09 10:20:44 +02:00
Jakob Lechner
5e8e4671cd Enable btrfs snapshots for /home 2025-04-09 10:20:44 +02:00
Jakob Lechner
20b548c73d Change btrfs compression mount options 2025-04-09 10:20:44 +02:00
Jakob Lechner
c98fdbabb2 Enable fstrim service 2025-04-09 10:20:44 +02:00
Jakob Lechner
239fbf70e0 Use file to unlock LUKS from usb media 2025-04-09 10:20:44 +02:00
Jakob Lechner
49c95ffc6a Add debug module 2025-04-09 10:20:44 +02:00
Jakob Lechner
eabbabc417 Add tig 2025-04-09 10:20:44 +02:00
Jakob Lechner
2232ae4aca Use pipe output format
as it produces markdown tables and I often copy&paste output into a
markdown-featured messenger :)
2025-04-09 10:20:44 +02:00
Jakob Lechner
e8a4126530 Improve mycli color scheme 2025-04-09 10:20:44 +02:00
Jakob Lechner
1e33e70f5f Add ultisnips and telescope-ultisnips-nvim 2025-04-09 10:20:44 +02:00
Jakob Lechner
c5291bbf74 Move neovim to directory 2025-04-09 10:18:19 +02:00
Jakob Lechner
30188e02d0 Remove commented plugins 2025-04-07 23:22:56 +02:00
Jakob Lechner
ef464facd6 Move colorscheme to plugin config 2025-04-07 23:22:56 +02:00
Jakob Lechner
1d1829d0ed Remove vim-puppet 2025-04-07 23:22:56 +02:00
Jakob Lechner
d3a3ae6ec1 Rename option 2025-04-07 23:22:56 +02:00
Jakob Lechner
588d693250 Add illuminanced service 2025-04-07 23:22:56 +02:00
Jakob Lechner
27b349923e Add illuminanced 2025-04-07 23:22:56 +02:00
Jakob Lechner
770e354480 Add do-not-disturb widget to waybar 2025-04-07 23:22:56 +02:00
Jakob Lechner
7f489b0e5a Add icon to pomodoro timer 2025-04-07 23:22:56 +02:00
Jakob Lechner
2dedde53de Fix dark mode for pavucontrol 2025-04-07 23:22:56 +02:00
Jakob Lechner
3ed8370ebf Increase screencast indicator animation duration 2025-04-07 23:22:56 +02:00
Jakob Lechner
fc48218487 Add mako configuration 2025-04-07 23:22:56 +02:00
Jakob Lechner
e7f35b08fd Add pomodoro timer 2025-04-07 23:22:56 +02:00
Jakob Lechner
3bfe9a367e Add do-not-disturb scripts 2025-04-07 23:22:56 +02:00
Jakob Lechner
2b7ce9a5d4 Implement changing screencast mode for mako 2025-04-07 23:22:56 +02:00
Jakob Lechner
3fd75c4991 Remove calendar widget 2025-04-07 23:22:56 +02:00
Jakob Lechner
a4c4b3ef32 Remove vpn widget 2025-04-07 23:22:56 +02:00
Jakob Lechner
d1f2e8d10b Remove mpd widget 2025-04-07 23:22:56 +02:00
Jakob Lechner
b339a6ac5d Add android ntfy url 2025-04-07 23:22:56 +02:00
Jakob Lechner
d1f2b397ba Add water-bottle 2025-04-07 23:22:56 +02:00
Jakob Lechner
af4e6ef214 Implement yaml file download 2025-04-07 23:22:56 +02:00
Jakob Lechner
a21c54cfe8 Add bluetooth proxy 2025-04-07 23:22:56 +02:00
Jakob Lechner
0dbe3fea16 Add raop discover module 2025-04-07 23:22:56 +02:00
Jakob Lechner
24466ee811 Update bank pin (password) 2025-04-07 23:22:56 +02:00
Jakob Lechner
754f6856c1 Revert "Disable banktool"
This reverts commit 185b8503ed.
2025-04-07 23:22:56 +02:00
Jakob Lechner
4897a2cd8a Disable zfs trim
as it is buggy (causes high sytem load and never completes)
2025-04-07 23:22:56 +02:00
Jakob Lechner
934784cab5 Use thunderbird-esr package 2025-04-07 23:22:55 +02:00
Jakob Lechner
03c6fa9872 Don't open firewall for Avahi
instead, use the already configured rule to allow it only on the local
network.
2025-04-07 23:22:55 +02:00
Jakob Lechner
371f201c4c Change screen positions 2025-04-07 23:22:55 +02:00
Jakob Lechner
defa57dabd Enable GPG for thunderbird 2025-04-07 23:22:55 +02:00
Jakob Lechner
f632cd79ae Add ksoloti 2025-04-07 23:22:55 +02:00
Jakob Lechner
aef0a15dc8 Update docker-machine-gitlab 2025-04-07 23:22:55 +02:00
Jakob Lechner
f216123b80 Update gpg key 2025-01-31 14:24:59 +01:00
Jakob Lechner
261a057458 flake.lock: Update
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)
2025-01-31 14:23:27 +01:00
Jakob Lechner
86cf49d881 Stop alarm when removing keys if door is open 2025-01-29 13:20:15 +01:00
Jakob Lechner
4e45e263f5 Add permanent staircase light switch 2025-01-29 13:18:45 +01:00
Jakob Lechner
5eeaf11e6c Improve git diff 2025-01-29 11:06:13 +01:00
Jakob Lechner
88c5c3c885 Changes for esp32 client
- Use recommended settings for esp32 client, see
   https://github.com/DavidVentura/esp-snapcast
 - Allow access from iot network
2025-01-29 01:26:46 +01:00
Jakob Lechner
fa980d1753 Enable color interlock
otherwise, adaptive lighting will also set a color.
2025-01-28 02:18:27 +01:00
Jakob Lechner
acc99ede48 flake.lock: Update
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)
2025-01-27 08:28:48 +01:00
Jakob Lechner
a0f42f9725 flake.lock: Update
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)
2025-01-22 13:28:21 +01:00
Jakob Lechner
4c51c018fa Add buzzer 2025-01-22 13:27:03 +01:00
Jakob Lechner
5475efb464 flake.lock: Update
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)
2025-01-18 16:42:21 +01:00
Jakob Lechner
d3e7c79dde Update kanshi config 2025-01-17 17:36:30 +01:00
Jakob Lechner
3e1b573df8 Fix link opening in Flatpak apps 2025-01-16 17:11:33 +01:00
Jakob Lechner
69d5ac43f5 Replace PCManFM with Thunar 2025-01-16 17:11:33 +01:00
Jakob Lechner
935e5e367d Replace Element and Telegram with Ferdium 2025-01-14 17:01:14 +01:00
Jakob Lechner
20857a4fa2 Enable Flatpak 2025-01-14 16:52:11 +01:00
Jakob Lechner
6c8be2e071 Enable RealtimeKit system service 2025-01-14 16:52:11 +01:00
Jakob Lechner
5dcc7d77f3 flake.lock: Update
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)
2025-01-14 16:52:11 +01:00
Jakob Lechner
82cbda5bcd Increase session life to 90d and use static secret 2025-01-14 16:52:11 +01:00
Jakob Lechner
ebbb62a6b2 Re-add kicad
build is fixed since 24.11 release
2025-01-14 16:52:11 +01:00
Jakob Lechner
643de2a5d4 Add keys assistant prototype 2025-01-14 16:52:11 +01:00
Jakob Lechner
5fcaf0b00e Add EQ for Framework laptop 2025-01-11 19:24:15 +01:00
Jakob Lechner
98e0e44877 Add 38C3 wifi config 2025-01-11 19:24:15 +01:00
Jakob Lechner
374daf8d74 Add instructions how to build a system config 2025-01-11 19:24:15 +01:00
Jakob Lechner
208d7d8b7d Replace inline lua scripts with lua type 2025-01-11 19:24:15 +01:00
Jakob Lechner
c6a6bd9365 Fix service dependencies 2025-01-11 19:24:15 +01:00
Jakob Lechner
84e7d76f14 Add bluetooth sink 2025-01-11 19:24:15 +01:00
Jakob Lechner
d89a84cb9e Add TTS to Home Assistant 2024-12-12 03:41:11 +01:00
Jakob Lechner
2b4a244fb7 Add mpd 2024-12-12 03:05:20 +01:00
Jakob Lechner
185b8503ed Disable banktool 2024-12-11 16:38:51 +01:00
Jakob Lechner
ebad296d69 flake.lock: Update
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)
2024-12-11 09:55:25 +01:00
Jakob Lechner
ca0f4663b0 Enable snapcast-discover module 2024-12-09 00:55:31 +01:00
Jakob Lechner
9ffcefc612 Add LedFx 2024-12-09 00:55:31 +01:00
Jakob Lechner
be3127e7d2 Add avahi service 2024-12-09 00:55:31 +01:00
Jakob Lechner
ffbe3c5d49 Add avahi module 2024-12-09 00:55:31 +01:00
Jakob Lechner
2a8c2c2f3b Add snapclient user unit 2024-12-09 00:55:31 +01:00
Jakob Lechner
c4fb41f93a Add snapsync and mopidy 2024-12-09 00:55:31 +01:00
Jakob Lechner
2ec800234d Enable backups for home-manager managed files 2024-12-09 00:55:31 +01:00
Jakob Lechner
58974585ab Fix nur overlay deprecation 2024-12-09 00:55:31 +01:00
Jakob Lechner
9184561078 flake.lock: Update
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'
2024-12-07 15:05:42 +01:00
Jakob Lechner
1832142b4e flake.lock: Update
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)
2024-12-05 14:34:33 +01:00
Jakob Lechner
691795d60e Update USB RAM disk device path 2024-12-04 03:55:17 +01:00
Jakob Lechner
4571c2b24a flake.lock: Update
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)
2024-12-03 22:20:58 +01:00
Jakob Lechner
8e88a26cf9 Rename iproute to iproute2 2024-11-28 00:54:37 +01:00
Jakob Lechner
2ea65edb28 Allow DNS and DHCP on virbr0 2024-11-28 00:51:44 +01:00
Jakob Lechner
c989ffaeba Add extraHosts example 2024-11-28 00:51:44 +01:00
Jakob Lechner
36d58100de Add presets 2024-11-28 00:51:44 +01:00
Jakob Lechner
c1486a7ffe Add sensor to bedroom 2024-11-28 00:51:43 +01:00
Jakob Lechner
813bd64820 Add bthome 2024-11-28 00:51:43 +01:00
Jakob Lechner
5c4890aa86 flake.lock: Update
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)
2024-11-27 16:47:45 +01:00
Jakob Lechner
3c63b586fa flake.lock: Update
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)
2024-11-21 14:07:08 +01:00
Jakob Lechner
f08c879b4c Use release-24.11 branch for home-manager 2024-11-21 14:06:04 +01:00
Jakob Lechner
d8224b81b1 Add ota platform 2024-11-21 03:11:19 +01:00
Jakob Lechner
dc658529b3 Remove mosquitto
This service is not used anymore.
2024-11-20 02:53:38 +01:00
Jakob Lechner
dbb58edd7b Add valetudo to home-assistant 2024-11-20 02:53:38 +01:00
Jakob Lechner
4489ec18a9 Replace circadian_lighting with adaptive_lighting 2024-11-20 02:53:38 +01:00
Jakob Lechner
1d714b04e6 Fix home-assistant-custom-components overlay 2024-11-20 02:53:38 +01:00
Jakob Lechner
71e302547a Migrate to runner authentication token 2024-11-20 02:53:38 +01:00
Jakob Lechner
920294917b flake.lock: Update
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)
2024-11-20 02:53:38 +01:00
Jakob Lechner
38edf234c2 flake.lock: Update
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'
2024-11-20 02:53:38 +01:00
Jakob Lechner
42929033eb Fix TLS certificate handling 2024-11-20 02:53:38 +01:00
Jakob Lechner
98881dcfbc Remove matrix-sliding-sync
since matrix-synapse incorporated its functionality.
2024-11-20 02:53:38 +01:00
Jakob Lechner
1025fbc46f Remove qtox 2024-11-20 02:53:38 +01:00
Jakob Lechner
5f3faa705f Update to 24.11 2024-11-20 02:53:38 +01:00
Jakob Lechner
9799e221a2 Add hedgedoc service 2024-11-13 22:15:23 +01:00
Jakob Lechner
d2b3027bc4 Update touch pad values
Crappy fixed the touch pads with tape :)
2024-11-13 19:04:25 +01:00
Jakob Lechner
3c53540bb8 Lower update interval of temp/humidity sensor 2024-11-13 19:03:38 +01:00
Jakob Lechner
c7f0ec9775 Add DHT model
As autodetection is buggy and the sensor might report wrong values.
2024-11-13 19:02:30 +01:00
Jakob Lechner
883c7ed6a6 flake.lock: Update
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)
2024-11-13 14:35:02 +01:00
Jakob Lechner
008269cdba Update README 2024-11-11 11:42:58 +01:00
Jakob Lechner
3ceac436b9 Add notification to stoke up 2024-11-10 18:50:16 +01:00
Jakob Lechner
22bdf86a86 flake.lock: Update
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)
2024-11-10 18:42:11 +01:00
Jakob Lechner
f881e0c22d Remove raumtemp_hk_1 and rauchgasauslastung 2024-11-10 18:31:36 +01:00
Jakob Lechner
bae82fdec3 Install qbittorrent from master
as the package on 24.05 channel has a vulnerability
2024-11-08 22:19:44 +01:00
Jakob Lechner
715276f7c7 Reduce opacity 2024-11-08 22:19:44 +01:00
Jakob Lechner
798d68b0f7 Add pinspot 2024-11-08 22:19:44 +01:00
Jakob Lechner
15b3b572ff Add bedroom 2024-11-08 22:19:44 +01:00
Jakob Lechner
64dff5397b Reduce on/off times 2024-11-08 22:19:44 +01:00
Jakob Lechner
8c30072409 Add wifi signal sensor 2024-11-08 22:19:44 +01:00
Jakob Lechner
a7f19adb60 Implement staircase lighting 2024-11-08 22:19:44 +01:00
Jakob Lechner
e573cde83f Fix handling of secrets 2024-11-08 22:19:44 +01:00
Jakob Lechner
27309cea2c Make tree-style-tabs close confirmation floating 2024-11-08 14:42:26 +01:00
Jakob Lechner
525be5d0d0 Add wshowkeys 2024-11-07 21:28:23 +01:00
Jakob Lechner
7f03078b58 flake.lock: Update
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)
2024-11-07 16:41:02 +01:00
Jakob Lechner
2d07256518 flake.lock: Update
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)
2024-11-04 09:43:51 +01:00
Jakob Lechner
dd1210bceb Add ntfy service 2024-10-29 19:53:24 +01:00
Jakob Lechner
540e720874 flake.lock: Update
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)
2024-10-28 15:02:53 +01:00
Jakob Lechner
6cbfa3e4da flake.lock: Update
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)
2024-10-23 13:57:49 +02:00
Jakob Lechner
a2d776548c Enable periodic dumps 2024-10-23 13:56:41 +02:00
Jakob Lechner
aa79e9a295 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.
2024-10-23 10:28:41 +02:00
Jakob Lechner
c5d7c0e916 flake.lock: Update
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)
2024-10-21 09:18:06 +02:00
Jakob Lechner
aba21934dc Add bathroom thermostat 2024-10-16 21:45:47 +02:00
Jakob Lechner
e0363dee0f Use stable esphome package 2024-10-16 21:08:53 +02:00
Jakob Lechner
05a1b91fc4 Improve WhatsApp setup
- Implement graceful VM shutdown
- Add systemd timer
2024-10-16 21:06:56 +02:00
Jakob Lechner
8225188ccf flake.lock: Update
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)
2024-10-14 21:36:33 +02:00
Jakob Lechner
39b7da4adc Add myssh script 2024-10-09 10:55:45 +02:00
Jakob Lechner
5a99f3eda7 Remove file completions for mycli command 2024-10-09 10:54:45 +02:00
Jakob Lechner
39ced5297f Fix automatic detergent dosing 2024-10-09 10:07:53 +02:00
Jakob Lechner
2207e66b6a Change path to music directory 2024-10-09 10:06:46 +02:00
Jakob Lechner
3b2f03e6e8 Add basic boot debugging instructions 2024-10-09 10:05:31 +02:00
Jakob Lechner
1491636cb9 Add pyyaml 2024-10-09 10:04:52 +02:00
Jakob Lechner
0fc2c18363 flake.lock: Update
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)
2024-10-08 21:11:05 +02:00
Jakob Lechner
aafdcf4a46 Add dashboard 2024-10-08 21:09:58 +02:00
Jakob Lechner
726954d5f5 Increase keyFileTimeout 2024-09-29 10:39:16 +02:00
Jakob Lechner
e23f0a2767 flake.lock: Update
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)
2024-09-29 10:26:21 +02:00
Jakob Lechner
fa8515dd38 Add custom icon for Digitaler Dienst Element 2024-09-25 17:03:30 +02:00
Jakob Lechner
4eed03bc10 Set indentation settings for sshconfig 2024-09-25 11:02:35 +02:00
Jakob Lechner
2afbd0e328 Change controller 2024-09-25 03:54:57 +02:00
Jakob Lechner
22a1f2807e flake.lock: Update
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)
2024-09-24 21:33:23 +02:00
Jakob Lechner
d2b062e644 flake.lock: Update
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)
2024-09-23 09:57:22 +02:00
Jakob Lechner
937af5ea23 Update VESC tool and firmware 2024-09-21 00:18:22 +02:00
Jakob Lechner
8a39f779ef Build vesc6 mk3 firmware
This is the appropriate firmware for my VESC6 MKIII
2024-09-21 00:17:15 +02:00
Jakob Lechner
e3cf016849 Fix firmware embedding into VESC tool 2024-09-21 00:16:17 +02:00
Jakob Lechner
ad462bc9eb Add detergent dosing to washing machine 2024-09-20 15:50:52 +02:00
Jakob Lechner
188de9cf19 Allow sip port from voice network 2024-09-20 12:24:55 +02:00
Jakob Lechner
f6e3fd2b98 Set max seg size for interface ppp0 2024-09-20 12:24:55 +02:00
Jakob Lechner
240d8dbc4c Allow unifi inform port on lan interface 2024-09-17 23:32:59 +02:00
Jakob Lechner
5a8eb7998b Add ntp service 2024-09-17 22:56:46 +02:00
Jakob Lechner
2ba33e4851 Add forgejo 2024-09-17 14:38:27 +02:00
Jakob Lechner
13b86afac1 Use implicit TLS port for SMTP client connection 2024-09-17 14:36:06 +02:00
Jakob Lechner
6b8a8c73c5 flake.lock: Update
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)
2024-09-17 13:54:11 +02:00
Jakob Lechner
476c099044 Remove nano 2024-09-11 22:42:41 +02:00
Jakob Lechner
9e95b2595a Add libvirt 2024-09-11 22:42:41 +02:00
Jakob Lechner
32c28d8577 Enable Signal 2024-09-11 22:40:02 +02:00
Jakob Lechner
d870abcd3f flake.lock: Update
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)
2024-09-11 18:23:21 +02:00
Jakob Lechner
2db35dfc54 Add Matrix sliding-sync service 2024-09-11 18:22:25 +02:00
Jakob Lechner
0006377763 Define default applications for mime types 2024-09-11 13:00:08 +02:00
Jakob Lechner
80698ceebd Add scripts configured in UI 2024-09-09 14:03:25 +02:00
Jakob Lechner
c5517cfaf7 Add user to plugdev group 2024-09-09 14:02:56 +02:00
Jakob Lechner
acc04548f0 Fix udev rule 2024-09-09 14:02:33 +02:00
Jakob Lechner
e373b452da flake.lock: Update
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)
2024-09-08 01:09:57 +02:00
Jakob Lechner
07bd344eb8 Add bridge interface 2024-09-03 22:01:31 +02:00
Jakob Lechner
d1d11a3eee flake.lock: Update
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)
2024-09-02 11:45:49 +02:00
Jakob Lechner
4166d39a3e flake.lock: Update
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)
2024-08-27 20:32:06 +02:00
Jakob Lechner
a1ca116b48 flake.lock: Update
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)
2024-08-26 18:07:05 +02:00
Jakob Lechner
1ac083a5fd Add jinja plugin 2024-08-23 15:04:04 +02:00
Jakob Lechner
a3fdb19b10 Add vim-typoscript plugin 2024-08-20 15:23:25 +02:00
Jakob Lechner
28b6f5acf3 Add vim-fluid 2024-08-20 12:25:20 +02:00
Jakob Lechner
2501db5c5d flake.lock: Update
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)
2024-08-20 11:31:32 +02:00
Jakob Lechner
442d60a4c8 Add completions for just 2024-08-15 09:54:12 +02:00
Jakob Lechner
368f648adc Rework pass
- Remove pw script
- Add otp extension
2024-08-14 18:54:33 +02:00
Jakob Lechner
7f02d2b668 Add NTP server to DHCP configuration 2024-08-14 14:05:56 +02:00
Jakob Lechner
e287537c8b flake.lock: Update
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)
2024-08-13 14:46:13 +02:00
Jakob Lechner
eec9bc3c71 Set Git identity per directory 2024-08-13 14:46:13 +02:00
Jakob Lechner
23688c96d5 Add browserpass 2024-08-13 14:44:33 +02:00
Jakob Lechner
a0201897f9 Update unifi controller to version 8 2024-08-08 16:51:42 +02:00
Jakob Lechner
82d16eb239 Add mycli 2024-07-18 19:35:14 +02:00
Jakob Lechner
37221ed58d Implement connection rate limiting 2024-07-17 23:17:21 +02:00
Jakob Lechner
6295e55eb8 Allow only ed25519 host key 2024-07-17 23:16:25 +02:00
Jakob Lechner
d21d155a0e Configure ciphers 2024-07-17 23:15:36 +02:00
Jakob Lechner
50d3be57fe Enable nftables 2024-07-17 23:15:17 +02:00
Jakob Lechner
97642bd6a1 Enable automatic garbage collection 2024-07-17 23:07:53 +02:00
Jakob Lechner
c132be812e flake.lock: Update
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)
2024-07-17 21:02:53 +02:00
Jakob Lechner
22580177d5 Add twig parser 2024-07-17 21:02:25 +02:00
Jakob Lechner
4a9a063c40 Add fw-ectool 2024-07-12 13:28:05 +02:00
Jakob Lechner
5539880ddb Add kanshi 2024-07-08 11:26:24 +02:00
Jakob Lechner
3a5da3b792 flake.lock: Update
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)
2024-07-08 10:28:36 +02:00
Jakob Lechner
a3f10e48c7 Update VESC and fix adding firmware 2024-07-07 15:26:49 +02:00
Jakob Lechner
31564aa64f Add VESC model 60 2024-07-07 15:26:49 +02:00
Jakob Lechner
48560242fd Remove unnecessary clutter 2024-07-07 15:26:49 +02:00
Jakob Lechner
f7e4eecee5 Add timewarrior 2024-07-07 15:26:48 +02:00
Jakob Lechner
e7b017596c 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.
2024-07-04 18:50:49 +02:00
Jakob Lechner
d6a82588c3 flake.lock: Update
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)
2024-07-04 16:14:51 +02:00
Jakob Lechner
547b2e8601 Add vesc-tool 2024-07-04 16:14:01 +02:00
Jakob Lechner
e180a20b7d Format file using black 2024-07-04 16:12:05 +02:00
Jakob Lechner
3d4e1ceac1 Implement secure boot on copper 2024-07-03 01:54:17 +02:00
Jakob Lechner
d834379c08 flake.lock: Update
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)
2024-07-02 10:45:39 +02:00
Jakob Lechner
754f35d898 flake.lock: Update
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)
2024-07-01 16:46:10 +02:00
Jakob Lechner
73c1f0ca63 Add ardour 2024-06-28 15:18:47 +02:00
Jakob Lechner
9721f59c20 Resolve subdomains for localhost to 127.0.0.1
I'm using it for local web development.
2024-06-26 20:29:18 +02:00
Jakob Lechner
2f7e11240e Add port redirection for web development
I'm using rootless containers and these can't bind to privileged ports.
2024-06-26 20:27:54 +02:00
Jakob Lechner
a8b74142e1 Replace docker-compose with podman-compose 2024-06-26 20:26:13 +02:00
Jakob Lechner
256db2b5dc flake.lock: Update
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)
2024-06-25 18:51:34 +02:00
Jakob Lechner
519bc0cf94 Update VESC tool 2024-06-24 00:26:17 +02:00
Jakob Lechner
f187754465 Add door opener button 2024-06-23 23:18:26 +02:00
Jakob Lechner
8b83a6a1ef Fix lamp going dark on low brightness 2024-06-23 20:38:30 +02:00
Jakob Lechner
177c024d0a flake.lock: Update
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)
2024-06-23 20:05:57 +02:00
Jakob Lechner
02476ebba6 Add ls alias to eza if it is enabled 2024-06-19 13:36:38 +02:00
Jakob Lechner
4d7a9dc44f Use home-manager option for eza 2024-06-19 13:36:08 +02:00
Jakob Lechner
ea16e50463 Add icons to eza 2024-06-19 13:29:54 +02:00
Jakob Lechner
5607e43c50 Remove tig 2024-06-19 12:59:51 +02:00
Jakob Lechner
5f3d72d12a Add lazygit 2024-06-19 12:59:51 +02:00
Jakob Lechner
bc8041f605 Hide waybar on output HEADLESS-1 2024-06-19 12:59:48 +02:00
Jakob Lechner
e27557693a Add wl-mirror 2024-06-19 00:33:39 +02:00
Jakob Lechner
749710bbfb Add screenshare script 2024-06-19 00:29:59 +02:00
Jakob Lechner
9663b395ce flake.lock: Update
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)
2024-06-18 13:23:47 +02:00
Jakob Lechner
2b31ea0a82 Hide forward-button as well 2024-06-16 12:26:31 +02:00
Jakob Lechner
b3ea8ca1a7 Switch to terraform-ls
as terraform-lsp does not recognize newer language features like the
`one` function.
2024-06-14 22:59:08 +02:00
Jakob Lechner
bfd6fd64bf Add youtube-shorts-block extension 2024-06-14 16:27:21 +02:00
Jakob Lechner
28b8b8f629 Add sponsorblock extension 2024-06-14 16:27:07 +02:00
Jakob Lechner
2fef51b00b Add fd 2024-06-14 16:26:24 +02:00
Jakob Lechner
0c914775ad Add telescope-nvim 2024-06-14 16:26:24 +02:00
Jakob Lechner
0ba830ca4d 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.
2024-06-14 16:26:24 +02:00
Jakob Lechner
9de22b4026 Use option to make neovim the default editor 2024-06-14 16:26:24 +02:00
Jakob Lechner
6319bc0b46 Add ots 2024-06-14 16:26:24 +02:00
Jakob Lechner
28acb6e48c Improve sway performance 2024-06-14 16:26:24 +02:00
Jakob Lechner
4f5d6c4456 Manage sway extra packages in home-manager module 2024-06-14 16:26:24 +02:00
Jakob Lechner
12463fc3b1 Move polkit enabling to sway module
As it is currently only required by sway.
2024-06-14 16:26:23 +02:00
Jakob Lechner
2054adbea6 Remove environment variables
These are already set with home-manager.
2024-06-14 16:26:23 +02:00
Jakob Lechner
70e35c3249 Remove commented session variables 2024-06-14 16:26:23 +02:00
Jakob Lechner
87c0dfba58 Add overlay to REPL 2024-06-14 16:26:23 +02:00
Jakob Lechner
53b1c122c1 flake.lock: Update
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)
2024-06-14 16:26:23 +02:00
Jakob Lechner
650bcbb2de Add nixos-hardware 2024-06-14 16:26:23 +02:00
Jakob Lechner
d60fad5545 Flatten inputs 2024-06-14 16:26:23 +02:00
Jakob Lechner
8f1cea1ce6 flake.lock: Update
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)
2024-06-14 16:26:23 +02:00
Jakob Lechner
2fb7ef2857 Add mobile broadband 2024-06-14 16:26:23 +02:00
Jakob Lechner
bee0c89f8d flake.lock: Update
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)
2024-06-14 16:26:23 +02:00
Jakob Lechner
0f55324c65 Remove udev rule and use /dev/v4l/by-id/ instead 2024-06-14 16:26:23 +02:00
Jakob Lechner
c5931e7cc7 Fix http 500 in home-assistant 2024-06-14 16:26:23 +02:00
Jakob Lechner
25e8e332c6 flake.lock: Update
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)
2024-06-14 16:26:23 +02:00
Jakob Lechner
8dd515edc1 Set scaling for internal display on host copper 2024-06-14 16:26:23 +02:00
Jakob Lechner
b08797cac0 Add pointer settings 2024-06-14 16:26:23 +02:00
Jakob Lechner
9869f2ad59 Add instructions to trust GPG key 2024-06-14 16:26:23 +02:00
Jakob Lechner
ab16e84958 Add instructions to deploy with nixos-anywhere 2024-06-14 16:26:23 +02:00
Jakob Lechner
9279c80167 Add declarative disk configuration 2024-06-14 16:26:23 +02:00
Jakob Lechner
eadff7c906 Add disko 2024-06-14 16:26:23 +02:00
Jakob Lechner
bb3db55a9c Refactor nixos module list 2024-06-14 16:26:23 +02:00
Jakob Lechner
112283c7b4 flake.lock: Update
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)
2024-06-14 16:26:23 +02:00
Jakob Lechner
5f9c537bbc Hide back & forward buttons 2024-06-14 16:26:23 +02:00
Jakob Lechner
ac867b1c7f Add tweaks for loction bar 2024-06-14 16:26:23 +02:00
Jakob Lechner
d63b718b22 Add policies 2024-06-14 16:26:23 +02:00
Jakob Lechner
6b387c7738 Change formatting 2024-06-14 16:26:23 +02:00
Jakob Lechner
d8d05806dd Use dnscrypt-proxy2 as resolver 2024-06-14 16:26:23 +02:00
Jakob Lechner
7f8967d44e Add networking module 2024-06-14 16:26:23 +02:00
Jakob Lechner
8ff961418e Move nix-index 2024-06-14 16:26:23 +02:00
Jakob Lechner
14a865275a Use option to configure diff-so-fancy 2024-06-14 16:26:23 +02:00
Jakob Lechner
782da4e6ac Start in insert mode when editing fish commandline 2024-06-14 16:26:23 +02:00
Jakob Lechner
e98e018424 Use abbr instead of aliases 2024-06-14 16:26:23 +02:00
Jakob Lechner
47d02301b7 Fix autosuggestion color 2024-06-14 16:26:23 +02:00
Jakob Lechner
72757468f5 Move functions to attrset 2024-06-14 16:26:23 +02:00
Jakob Lechner
4279d36746 Update theme-agnoster 2024-06-14 16:26:23 +02:00
Jakob Lechner
24e315729c Add htop config 2024-06-14 16:26:22 +02:00
Jakob Lechner
1b9d7745f4 Add upgrade-diff 2024-06-14 16:26:22 +02:00
Jakob Lechner
a2c01c0fda Allow only system-level authorized_keys 2024-06-14 16:26:22 +02:00
Jakob Lechner
8d0d6980c1 Add jalr's ssh keys to root's authorized keys 2024-06-14 16:26:22 +02:00
Jakob Lechner
b9cee6c8b7 Harden OpenSSH service 2024-06-14 16:26:22 +02:00
Jakob Lechner
083980d619 Add useful nix settings 2024-06-14 16:26:22 +02:00
Jakob Lechner
dc0c5a86db Add luks-pass command 2024-06-14 16:26:22 +02:00
Jakob Lechner
9fe1fbe307 Fix indentation 2024-06-14 16:26:22 +02:00
Jakob Lechner
c8a5c0d024 Remove Claws Mail 2024-06-14 16:26:22 +02:00
Jakob Lechner
5003a40a97 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`.
2024-06-14 16:26:22 +02:00
Jakob Lechner
c4e80d0d91 Fix sieve configuration after update to 24.05 2024-06-14 16:26:22 +02:00
Jakob Lechner
ca1ec6b16c Rename sieve option
The option `services.dovecot2.sieveScripts` has been renamed to
`services.dovecot2.sieve.scripts`
2024-06-14 16:26:22 +02:00
Jakob Lechner
54a368a411 Fix typo 2024-06-14 16:26:22 +02:00
Jakob Lechner
0ff22fbfb5 Add --rebase to gpll abbrev 2024-06-14 16:26:22 +02:00
Jakob Lechner
d63d0326fa Add --no-edit to gam abbrev 2024-06-14 16:26:22 +02:00
Jakob Lechner
0c4b521edc Fix removing failed commands from history 2024-06-14 16:26:22 +02:00
Jakob Lechner
321e96443b Fix bug: pasting user does not work 2024-06-14 16:26:22 +02:00
Jakob Lechner
26ea41867a Enable zram 2024-06-14 16:26:22 +02:00
Jakob Lechner
c7b469c350 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.
2024-06-14 16:26:22 +02:00
Jakob Lechner
3360041997 Add FabLab mailbox 2024-06-14 16:26:22 +02:00
Jakob Lechner
a54efeadf9 Add Digitaler Dienst info mailbox 2024-06-14 16:26:22 +02:00
Jakob Lechner
c8a9a1baa0 Disable chat 2024-06-14 16:26:22 +02:00
Jakob Lechner
f1ce67dc0d Enable networkmanager for GUI systems 2024-06-14 16:26:22 +02:00
Jakob Lechner
0fc518960a Add Element profiles 2024-06-14 16:26:22 +02:00
Jakob Lechner
cf3cf6d66e Rename script 2024-06-14 16:26:22 +02:00
Jakob Lechner
e1a9158c22 Update ssh key 2024-06-14 16:26:22 +02:00
Jakob Lechner
5c17d3083e Add host copper 2024-06-14 16:26:22 +02:00
Jakob Lechner
e972e1a182 Fix workaround to hide the titlebar 2024-06-14 16:26:22 +02:00
Jakob Lechner
39f8eaa6cc 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.
2024-06-14 16:26:22 +02:00
Jakob Lechner
0ac2fa3632 Fix deprecation 2024-06-14 16:26:22 +02:00
Jakob Lechner
774d0df25d Use TOML format for Alacritty configuration 2024-06-14 16:26:22 +02:00
Jakob Lechner
102ae3fe62 Fix pinentry deprecations 2024-06-14 16:26:22 +02:00
Jakob Lechner
4c0d5c5fe0 Remove deprecated use of lib.mdDoc 2024-06-14 16:26:22 +02:00
Jakob Lechner
0bc5907505 Use official pretix module 2024-06-14 16:26:21 +02:00
Jakob Lechner
cec9622771 Switch to 24.05 2024-05-29 01:55:11 +02:00
Jakob Lechner
633cc6104a Add repl command 2024-05-21 21:50:38 +02:00
Jakob Lechner
4d283f82e4 Use local timezone on workstations 2024-05-17 19:48:50 +02:00
Jakob Lechner
597679ead1 Add local_todo integration 2024-05-15 22:48:10 +00:00
Jakob Lechner
e58a791325 Add openweathermap integration 2024-05-15 22:46:57 +00:00
Jakob Lechner
ee7903d5c0 Add caldav integration 2024-05-15 22:46:04 +00:00
Jakob Lechner
c36980202e Add markdown file type settings 2024-05-15 22:23:40 +00:00
Jakob Lechner
28e4bb364d Update repo url for git hooks 2024-05-15 22:23:40 +00:00
Jakob Lechner
123fcf6748 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
2024-05-15 22:23:40 +00:00
Jakob Lechner
3fe20d2313 Add element-desktop 2024-05-15 22:23:40 +00:00
Jakob Lechner
4ab80690bd Remove tradebyte stuff 2024-05-15 22:23:40 +00:00
Jakob Lechner
9051f49700 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.
2024-05-14 10:24:15 +00:00
Jakob Lechner
aea7047c78 Start neovim in insert mode 2024-05-13 15:47:48 +00:00
Jakob Lechner
3bbc2fa2ad flake.lock: Update
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)
2024-05-13 14:25:32 +00:00
Jakob Lechner
5d78f0fc9c Add gnome GUI 2024-05-13 14:25:32 +00:00
Jakob Lechner
c38432e2a0 Fix current setting 2024-05-13 14:23:19 +00:00
Jakob Lechner
7711b79807 Add host tin 2024-05-12 19:06:34 +00:00
Jakob Lechner
a58627271a Add prusa slicer 2024-05-10 23:33:18 +00:00
Jakob Lechner
605084a1d8 flake.lock: Update
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)
2024-05-07 09:41:40 +00:00
Jakob Lechner
00099c2f03 Add door intercom 2024-05-07 00:03:33 +00:00
Jakob Lechner
c9b2a0bcca Fix lock state 2024-05-07 00:03:33 +00:00
Jakob Lechner
dc2e0b3461 Add calendar 2024-05-07 00:03:32 +00:00
Jakob Lechner
918cfe2c88 Add script lights_off_except 2024-05-07 00:03:32 +00:00
Jakob Lechner
0042b62652 Improve firewalling 2024-05-07 00:03:32 +00:00
Jakob Lechner
b395cde724 Replace rnix with nixd 2024-05-07 00:03:32 +00:00
Jakob Lechner
8441cfdbe3 Add doorlock 2024-04-28 23:10:17 +00:00
Jakob Lechner
52e05f138e Add plant light 2024-04-21 23:19:22 +00:00
Jakob Lechner
a1d4520510 flake.lock: Update
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)
2024-04-19 15:38:46 +00:00
Jakob Lechner
a5249410bb Add domain tickets.buendnis-gegen-rechts-nea.de 2024-04-10 19:08:59 +00:00
Jakob Lechner
421cb222e4 Change instance name
The responsibility shifted to Digitaler Dienst GmbH
2024-04-10 18:50:52 +00:00
Jakob Lechner
5c1a7d069f flake.lock: Update
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)
2024-04-10 07:11:24 +00:00
Jakob Lechner
8930bdd6f5 flake.lock: Update
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)
2024-04-07 01:32:29 +00:00
Jakob Lechner
6ef922e9db Update pretix version
Bump pretix version from 2024.2.0 to 2024.3.0
2024-03-28 16:50:18 +00:00
Jakob Lechner
c1780f9877 flake.lock: Update
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)
2024-03-28 16:42:27 +00:00
Jakob Lechner
a4ac79709c Remove workaround for stateVersion 2024-03-28 16:41:02 +00:00
Jakob Lechner
cb05c905ac Add exiftool 2024-03-28 16:40:29 +00:00
Jakob Lechner
8a9616fdea Enable experimental
to enable reporting of devices' battery state
2024-03-28 16:36:09 +00:00
Jakob Lechner
9c14761fac Change ownership of secrets file
since the secret is now passed via systemd credentials, it can still be
read out if owned by root.
2024-03-22 16:59:10 +00:00
Jakob Lechner
c9ea023a9e Set default domain
The default domain should be used for all networks, unless a specific
domain is defined.
2024-03-22 16:58:04 +00:00
Jakob Lechner
2bf323bc65 flake.lock: Update
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)
2024-03-22 08:59:40 +00:00
Jakob Lechner
3d01b5c461 flake.lock: Update
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)
2024-03-18 09:32:14 +00:00
Jakob Lechner
7c4a6b263f Add home-assistant and esphome 2024-03-17 23:54:49 +00:00
Jakob Lechner
40d071ba49 Add iot network 2024-03-17 20:10:09 +00:00
Jakob Lechner
78f4afb0fd Update fints endpoint 2024-03-15 15:47:09 +00:00
Jakob Lechner
9f66b86503 flake.lock: Update
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)
2024-03-15 12:45:33 +00:00
Jakob Lechner
23f067e7df Add heating 2024-03-10 19:07:28 +00:00
Jakob Lechner
73a900614e Rename temperature sensors 2024-03-10 19:04:51 +00:00
Jakob Lechner
224c938869 Fix esphome build issues
The package from nixpkgs master seems to fix the build issues.
2024-03-10 19:03:47 +00:00
Jakob Lechner
4e52bd1756 flake.lock: Update
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)
2024-03-10 08:54:56 +00:00
Jakob Lechner
d0ffc38316 Add lsp_signature plugin 2024-03-05 19:41:00 +00:00
Jakob Lechner
c685c71b8d Add PHP language server 2024-03-05 19:40:44 +00:00
Jakob Lechner
6069d6376e flake.lock: Update
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)
2024-03-05 17:33:11 +00:00
Jakob Lechner
4170e91ab8 Reduce gunicorn workers
as the VM will be scaled down to Hetzner CAX11 (2 Cores, 4GiB RAM)
2024-03-02 00:20:05 +00:00
Jakob Lechner
c2b11ca203 Update pretix version
Bump pretix version from 2024.1.1 to 2024.2.0
2024-03-02 00:19:21 +00:00
Jakob Lechner
41b3a31a6c Increase gunicorn workers 2024-03-01 09:18:03 +00:00
Jakob Lechner
bc2ccc9347 Add recommended nginx settings 2024-03-01 09:17:37 +00:00
Jakob Lechner
b7ddc8fb50 Add luks passfile 2024-02-29 17:49:08 +00:00
Jakob Lechner
24fe88e338 Enable zram
otherwise, cryptsetup gets OOM killed when adding a new key
2024-02-29 17:48:12 +00:00
Jakob Lechner
099f0df913 flake.lock: Update
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)
2024-02-29 17:35:07 +00:00
Jakob Lechner
eb3eb33e39 flake.lock: Update
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)
2024-02-28 13:56:38 +00:00
Jakob Lechner
c92439815c Update pretix version
Bump pretix version from 2024.1.0 to 2024.1.1
2024-02-28 13:54:18 +00:00
Jakob Lechner
41768ddb07 Add calibre ports 2024-02-28 13:54:18 +00:00
Jakob Lechner
bb9289fdc0 Add calibre 2024-02-21 23:54:12 +00:00
Jakob Lechner
b023ea9ff2 Fix low brightness ct issue 2024-02-21 18:49:47 +00:00
Jakob Lechner
9878ddc34b Use static IP addresses for not always-on devices
This should reduce the time it takes the device to connect to Home Assistant.
2024-02-21 18:27:55 +00:00
Jakob Lechner
9907fa426c Do not turn on light on boot
This is a always-on device and it should not turn on automatically after
a power failure.
2024-02-21 18:26:08 +00:00
Jakob Lechner
961f193643 Add bluetooth proxy
For HHCC Flower Care sensors
2024-02-21 18:08:56 +00:00
Jakob Lechner
3f9114aecb 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.
2024-02-21 17:56:09 +00:00
Jakob Lechner
f3383f21a8 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.
2024-02-21 17:53:52 +00:00
Jakob Lechner
66fe0d9539 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.
2024-02-21 17:50:44 +00:00
Jakob Lechner
dbc63ae057 Add .well-known config for radicale 2024-02-19 17:06:54 +00:00
Jakob Lechner
88a53b42b6 Add Digitaler Dienst email account 2024-02-19 17:06:15 +00:00
Jakob Lechner
761831fdbe 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.
2024-02-19 15:33:54 +00:00
Jakob Lechner
9bd6400f39 Change controller to ESP32C3 2024-02-19 15:31:10 +00:00
Jakob Lechner
98498cdf77 Include automations and scenes 2024-02-19 15:25:56 +00:00
Jakob Lechner
a6cdef8518 flake.lock: Update
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)
2024-02-19 15:20:33 +00:00
Jakob Lechner
cc48b41153 Add toggle button 2024-02-17 01:04:27 +00:00
Jakob Lechner
5a66fae01b Increase current 2024-02-17 01:04:27 +00:00
Jakob Lechner
8396310358 Add bathroom mirror 2024-02-17 01:04:27 +00:00
Jakob Lechner
bc9e106d8a 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.
2024-02-10 14:33:08 +00:00
Jakob Lechner
d8da8bd96f flake.lock: Update
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)
2024-02-10 14:23:08 +00:00
Jakob Lechner
f18126b6af Ignore configs that don't exist 2024-02-04 17:00:35 +00:00
Jakob Lechner
44b6af06b9 Fix invalid default scheme assignment 2024-02-04 17:00:08 +00:00
Jakob Lechner
739e2b064d flake.lock: Update
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)
2024-02-04 15:57:10 +00:00
Jakob Lechner
39d5076ee6 Add new gpg public key 2024-02-01 00:19:56 +00:00
Jakob Lechner
d783abcfbc Update pretix version
Bump pretix version from 2023.10.0 to 2024.1.0
2024-01-31 02:12:18 +00:00
Jakob Lechner
1436e4091c Update default GPG key 2024-01-31 02:03:35 +00:00
Jakob Lechner
c0e5979930 Add new gpg key to user's ssh authorized keys 2024-01-31 02:03:35 +00:00
Jakob Lechner
bdba2e3586 Rotate sops gpg key 2024-01-31 01:42:56 +00:00
Jakob Lechner
2070072d0d Rotate git-crypt key 2024-01-31 01:39:35 +00:00
Jakob Lechner
355efbc9f4 Add temperature/humidity sensor 2024-01-30 20:12:39 +00:00
Jakob Lechner
0b2e5071ab Add washing machine notification 2024-01-30 20:12:39 +00:00
Jakob Lechner
af3b469f54 Add kitchen light 2024-01-30 20:12:39 +00:00
Jakob Lechner
91b720e26b Add some logging 2024-01-30 20:11:08 +00:00
Jakob Lechner
920fdb5955 Add request timeout 2024-01-30 20:10:51 +00:00
Jakob Lechner
c7ef9fb1e8 flake.lock: Update
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)
2024-01-30 20:02:36 +00:00
348 changed files with 14397 additions and 8125 deletions

2
.gitattributes vendored
View file

@ -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

View file

@ -1,11 +1,12 @@
keys:
- &admin_jalr 66FB54F6081375106EEBF651A222365EB448F934
- &admin_jalr 3044E71E3DEFF49B586CF5809BF4FCCB90854DA9
- &admin_jalr_tb FE170812543DF81393EA56BA5042B8317A10617E
- &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:
- 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:

View file

@ -1,18 +1,27 @@
## 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
This installs nixos on host `somehost`:
### NixOS Anywhere
```bash
nix run github:nix-community/nixos-anywhere -- --flake .#<somehost> root@<somehost>
```
### The traditional way
```bash
nix-shell -p nixUnstable --run 'nixos-install --flake https://gitlab.jalr.de/jalr/nixos-configuration#somehost --no-channel-copy'
```
### Build a configuration
```
nix build .#nixosConfigurations.iron.config.system.build.toplevel
```
### setting up sops
Get the host key and convert it.
```bash
@ -46,4 +55,12 @@ nix-repl> :lf .#
```
gpg --card-edit
gpg/card> fetch
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

View file

@ -1,33 +1,5 @@
{ 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;
validatePortAttrset = import ./ports.nix { inherit lib; };
}

View file

@ -4,30 +4,30 @@ 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
)
)
);
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);
onlyUniqueItemsInList = x: lib.lists.length x == lib.lists.length (lib.lists.unique x);
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."

535
flake.lock generated
View file

@ -1,13 +1,91 @@
{
"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"
}
},
"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,
"narHash": "sha256-HQkYvKvaLQqNa10KEFGgWHfMAbWBfFp+4cAgkut+NNE=",
"owner": "ipetkov",
"repo": "crane",
"rev": "ef80ead953c1b28316cc3f8613904edc2eb90c28",
"type": "github"
},
"original": {
"owner": "ipetkov",
"repo": "crane",
"type": "github"
}
},
"disko": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1762276996,
"narHash": "sha256-TtcPgPmp2f0FAnc+DMEw4ardEgv1SGNR3/WFGH0N19M=",
"owner": "nix-community",
"repo": "disko",
"rev": "af087d076d3860760b3323f6b583f4d828c1ac17",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "disko",
"type": "github"
}
},
"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": {
@ -16,16 +94,74 @@
"type": "github"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"lanzaboote",
"nixpkgs"
]
},
"locked": {
"lastModified": 1730504689,
"narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "506278e768c2a08bec68eb62932193e341f55c90",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"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"
},
"locked": {
"lastModified": 1701680307,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
@ -34,7 +170,49 @@
"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": [
"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",
@ -42,11 +220,11 @@
]
},
"locked": {
"lastModified": 1660459072,
"narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=",
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
@ -65,11 +243,11 @@
]
},
"locked": {
"lastModified": 1701687253,
"narHash": "sha256-qJCMxIKWXonJODPF2oV7mCd0xu7VYVenTucrY0bizto=",
"lastModified": 1759991118,
"narHash": "sha256-pDyrtUQyeP1lVTMIYqJtftzDtsXEZaJjYy9ZQ/SGhL8=",
"owner": "nix-community",
"repo": "gomod2nix",
"rev": "001bbfa22e2adeb87c34c6015e5694e88721cabe",
"rev": "7f8d7438f5870eb167abaf2c39eea3d2302019d1",
"type": "github"
},
"original": {
@ -85,20 +263,35 @@
]
},
"locked": {
"lastModified": 1703367386,
"narHash": "sha256-FMbm48UGrBfOWGt8+opuS+uLBLQlRfhiYXhHNcYMS5k=",
"lastModified": 1758463745,
"narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "d5824a76bc6bb93d1dce9ebbbcb09a9b6abcc224",
"rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-23.11",
"ref": "release-25.05",
"repo": "home-manager",
"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": [
@ -122,6 +315,47 @@
"type": "github"
}
},
"lanzaboote": {
"inputs": {
"crane": "crane",
"flake-compat": "flake-compat",
"flake-parts": "flake-parts",
"nixpkgs": [
"nixpkgs"
],
"pre-commit-hooks-nix": "pre-commit-hooks-nix",
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1737639419,
"narHash": "sha256-AEEDktApTEZ5PZXNDkry2YV2k6t0dTgLPEmAZbnigXU=",
"owner": "nix-community",
"repo": "lanzaboote",
"rev": "a65905a09e2c43ff63be8c0e86a93712361f871e",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "v0.4.2",
"repo": "lanzaboote",
"type": "github"
}
},
"nix-filter": {
"locked": {
"lastModified": 1757882181,
"narHash": "sha256-+cCxYIh2UNalTz364p+QYmWHs0P+6wDhiWR4jDIKQIU=",
"owner": "numtide",
"repo": "nix-filter",
"rev": "59c44d1909c72441144b93cf0f054be7fe764de5",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "nix-filter",
"type": "github"
}
},
"nix-github-actions": {
"inputs": {
"nixpkgs": [
@ -130,11 +364,11 @@
]
},
"locked": {
"lastModified": 1698974481,
"narHash": "sha256-yPncV9Ohdz1zPZxYHQf47S8S0VrnhV7nNhCawY46hDA=",
"lastModified": 1729742964,
"narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=",
"owner": "nix-community",
"repo": "nix-github-actions",
"rev": "4bb5e752616262457bc7ca5882192a564c0472d2",
"rev": "e04df33f62cdcf93d73e9a04142464753a16db67",
"type": "github"
},
"original": {
@ -145,84 +379,82 @@
},
"nix-pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"flake-utils": [
"flake-utils"
],
"gitignore": "gitignore",
"nixpkgs": "nixpkgs",
"nixpkgs-stable": "nixpkgs-stable"
"flake-compat": "flake-compat_2",
"gitignore": "gitignore_2",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1703939133,
"narHash": "sha256-Gxe+mfOT6bL7wLC/tuT2F+V+Sb44jNr8YsJ3cyIl4Mo=",
"lastModified": 1763319842,
"narHash": "sha256-YG19IyrTdnVn0l3DvcUYm85u3PaqBt6tI6VvolcuHnA=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "9d3d7e18c6bc4473d7520200d4ddab12f8402d38",
"repo": "git-hooks.nix",
"rev": "7275fa67fbbb75891c16d9dee7d88e58aea2d761",
"type": "github"
},
"original": {
"owner": "cachix",
"ref": "master",
"repo": "pre-commit-hooks.nix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"nixos-hardware": {
"locked": {
"lastModified": 1762847253,
"narHash": "sha256-BWWnUUT01lPwCWUvS0p6Px5UOBFeXJ8jR+ZdLX8IbrU=",
"owner": "nixos",
"repo": "nixos-hardware",
"rev": "899dc449bc6428b9ee6b3b8f771ca2b0ef945ab9",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "master",
"repo": "nixos-hardware",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1689261696,
"narHash": "sha256-LzfUtFs9MQRvIoQ3MfgSuipBVMXslMPH/vZ+nM40LkA=",
"owner": "NixOS",
"lastModified": 1763334038,
"narHash": "sha256-LBVOyaH6NFzQ3X/c6vfMZ9k4SV2ofhpxeL9YnhHNJQQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "df1eee2aa65052a18121ed4971081576b25d6b5c",
"rev": "4c8cdd5b1a630e8f72c9dd9bf582b1afb3127d2c",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"owner": "nixos",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1685801374,
"narHash": "sha256-otaSUoFEMM+LjBI1XL/xGB5ao6IwnZOXc47qhIgJe8U=",
"lastModified": 1730741070,
"narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c37ca420157f4abc31e26f436c1145f8951ff373",
"rev": "d063c1dd113c91ab27959ba540c0d9753409edf3",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-23.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1703950681,
"narHash": "sha256-veU5bE4eLOmi7aOzhE7LfZXcSOONRMay0BKv01WHojo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0aad9113182747452dbfc68b93c86e168811fa6c",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "release-23.05",
"ref": "nixos-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgsMaster": {
"locked": {
"lastModified": 1704028587,
"narHash": "sha256-gvnPImYfQkcb1ZQXKHUfec7f+XRxRMCg++TWhAYp/XQ=",
"lastModified": 1763473525,
"narHash": "sha256-NzmsN8hRIn/9rJvZH3vPirBrOJJfeSfvPr4+feeK7LY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "bab500a21ac81b122bc9b573429b724eb74225e1",
"rev": "15901670689a6f338ebd2a9436b947ec189463a3",
"type": "github"
},
"original": {
@ -232,29 +464,65 @@
"type": "github"
}
},
"nixpkgs_2": {
"nixpkgsOld": {
"locked": {
"lastModified": 1703900474,
"narHash": "sha256-Zu+chYVYG2cQ4FCbhyo6rc5Lu0ktZCjRbSPE0fDgukI=",
"lastModified": 1748037224,
"narHash": "sha256-92vihpZr6dwEMV6g98M5kHZIttrWahb9iRPBm1atcPk=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "9dd7699928e26c3c00d5d46811f1358524081062",
"rev": "f09dede81861f3a83f7f06641ead34f02f37597f",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-23.11",
"ref": "nixos-24.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1763283776,
"narHash": "sha256-Y7TDFPK4GlqrKrivOcsHG8xSGqQx3A6c+i7novT85Uk=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "50a96edd8d0db6cc8db57dab6bb6d6ee1f3dc49a",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"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",
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1704028639,
"narHash": "sha256-fDN/0YA5EUCu1ic6NyWoie5W+VzrX0aHVvFkrY0np18=",
"lastModified": 1763471545,
"narHash": "sha256-B1ua1UtkPuMwT8o4nOR7yNP5yz10usMcNnxwHpGtLck=",
"owner": "nix-community",
"repo": "NUR",
"rev": "c1a78c7eeacb194aef527a7f41910f3866e2f14b",
"rev": "4c584dcedf9aa3394e9730e62693515a0e47674b",
"type": "github"
},
"original": {
@ -276,11 +544,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1703546497,
"narHash": "sha256-CN/7HaEmHz+akXKejkRVhsxAm6HPGOmYBWMtgMkuROA=",
"lastModified": 1743690424,
"narHash": "sha256-cX98bUuKuihOaRp8dNV1Mq7u6/CQZWTPth2IJPATBXc=",
"owner": "nix-community",
"repo": "poetry2nix",
"rev": "528d500ea826383cc126a9be1e633fc92b19ce5d",
"rev": "ce2369db77f45688172384bbeb962bc6c2ea6f94",
"type": "github"
},
"original": {
@ -289,33 +557,88 @@
"type": "github"
}
},
"pre-commit-hooks-nix": {
"inputs": {
"flake-compat": [
"lanzaboote",
"flake-compat"
],
"gitignore": "gitignore",
"nixpkgs": [
"lanzaboote",
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1731363552,
"narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"type": "github"
}
},
"root": {
"inputs": {
"asterisk-sounds-de": "asterisk-sounds-de",
"disko": "disko",
"flake-utils": "flake-utils",
"gg-chatmix": "gg-chatmix",
"gomod2nix": "gomod2nix",
"home-manager": "home-manager",
"impermanence": "impermanence",
"krops": "krops",
"lanzaboote": "lanzaboote",
"nix-filter": "nix-filter",
"nix-pre-commit-hooks": "nix-pre-commit-hooks",
"nixpkgs": "nixpkgs_2",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs",
"nixpkgsMaster": "nixpkgsMaster",
"nur": "nur",
"poetry2nix": "poetry2nix",
"sops-nix": "sops-nix"
"sops-nix": "sops-nix",
"vesc-tool": "vesc-tool"
}
},
"rust-overlay": {
"inputs": {
"nixpkgs": [
"lanzaboote",
"nixpkgs"
]
},
"locked": {
"lastModified": 1731897198,
"narHash": "sha256-Ou7vLETSKwmE/HRQz4cImXXJBr/k9gp4J4z/PF8LzTE=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "0be641045af6d8666c11c2c40e45ffc9667839b5",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"sops-nix": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable_2"
]
},
"locked": {
"lastModified": 1703991717,
"narHash": "sha256-XfBg2dmDJXPQEB8EdNBnzybvnhswaiAkUeeDj7fa/hQ=",
"lastModified": 1763417348,
"narHash": "sha256-n5xDOeNN+smocQp3EMIc11IzBlR9wvvTIJZeL0g33Fs=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "cfdbaf68d00bc2f9e071f17ae77be4b27ff72fa6",
"rev": "3f66a7fb9626a9a9c077612ef10a0ce396286c7d",
"type": "github"
},
"original": {
@ -349,8 +672,9 @@
"type": "github"
},
"original": {
"id": "systems",
"type": "indirect"
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"treefmt-nix": {
@ -361,11 +685,11 @@
]
},
"locked": {
"lastModified": 1699786194,
"narHash": "sha256-3h3EH1FXQkIeAuzaWB+nK0XK54uSD46pp+dMD3gAcB4=",
"lastModified": 1730120726,
"narHash": "sha256-LqHYIxMrl/1p3/kvm2ir925tZ8DkI0KA10djk8wecSk=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "e82f32aa7f06bbbd56d7b12186d555223dc399d1",
"rev": "9ef337e492a5555d8e17a51c911ff1f02635be15",
"type": "github"
},
"original": {
@ -373,6 +697,51 @@
"repo": "treefmt-nix",
"type": "github"
}
},
"treefmt-nix_2": {
"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_2"
},
"locked": {
"lastModified": 1762968599,
"narHash": "sha256-j+AZQYOuZ0X33p76LsZu4/NZl1Ccu6kkwPKC5HpIn1Y=",
"owner": "vedderb",
"repo": "vesc_tool",
"rev": "6a75051ce9742d97f14addd5d175ac516effb3c6",
"type": "github"
},
"original": {
"owner": "vedderb",
"ref": "master",
"repo": "vesc_tool",
"type": "github"
}
}
},
"root": "root",

174
flake.nix
View file

@ -1,19 +1,58 @@
{
inputs = {
flake-utils.url = "github:numtide/flake-utils";
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11";
nixpkgsMaster.url = "github:NixOS/nixpkgs/master";
disko.inputs.nixpkgs.follows = "nixpkgs";
disko.url = "github:nix-community/disko";
nur.url = "github:nix-community/NUR";
flake-utils.url = "github:numtide/flake-utils";
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";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager/release-23.11";
url = "github:nix-community/home-manager/release-25.05";
inputs.nixpkgs.follows = "nixpkgs";
};
impermanence.url = "github:nix-community/impermanence";
krops = {
url = "github:Mic92/krops";
inputs.flake-utils.follows = "flake-utils";
inputs.nixpkgs.follows = "nixpkgs";
};
lanzaboote = {
url = "github:nix-community/lanzaboote/v0.4.2";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-pre-commit-hooks = {
url = "github:cachix/pre-commit-hooks.nix/master";
url = "github:cachix/git-hooks.nix/master";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-hardware.url = "github:nixos/nixos-hardware/master";
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
nixpkgsMaster.url = "github:NixOS/nixpkgs/master";
nur.url = "github:nix-community/NUR";
poetry2nix = {
url = "github:nix-community/poetry2nix";
inputs.flake-utils.follows = "flake-utils";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = {
@ -21,40 +60,29 @@
inputs.nixpkgs.follows = "nixpkgs";
};
krops = {
url = "github:Mic92/krops";
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";
};
};
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";
};
vesc-tool = {
url = "github:vedderb/vesc_tool/master";
inputs.flake-utils.follows = "flake-utils";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
{ self
, flake-utils
, gomod2nix
, home-manager
, krops
, nix-pre-commit-hooks
, nixpkgs
, nur
, poetry2nix
, ...
}@inputs: flake-utils.lib.eachSystem [
"x86_64-linux"
@ -70,20 +98,26 @@
src = self;
hooks = {
black.enable = true;
deadnix.enable = true;
nixpkgs-fmt.enable = true;
shellcheck.enable = true;
statix = {
enable = true;
settings.ignore = [ ".direnv" ];
};
};
excludes = [ ".envrc" ];
};
};
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}
@ -91,7 +125,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:
@ -115,6 +149,7 @@
command = targetPath: ''
nixos-rebuild switch --flake ${targetPath}/config -L --keep-going
'';
force = true;
}
)
self.nixosConfigurations);
@ -149,42 +184,67 @@
, extraModules ? [ ]
, targetHost ? hostname
, nixpkgs ? inputs.nixpkgs
}: nixpkgs.lib.nixosSystem rec {
}: nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = { inherit self system; };
modules = [
(./hosts + "/${hostname}/configuration.nix")
modules =
let
hostDir = ./hosts + "/${hostname}";
in
[
(hostDir + "/configuration.nix")
./modules
./modules
{
_module.args = {
inputs = inputs;
custom-utils = import ./custom-utils { lib = 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.overlay ];
}] ++ [
home-manager.nixosModules.home-manager
] ++ (with inputs; [
sops-nix.nixosModules.sops
]) ++ 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);
};

View file

@ -1,2 +0,0 @@
# Documentation
[Home Manager Manual](https://rycee.gitlab.io/home-manager/)

View file

@ -1,174 +0,0 @@
{ lib, pkgs, nixosConfig, ... }:
let
solarized = import ./solarized.nix;
#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 = {
# 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;
key_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.95;
};
settings = {
dark = commonSettings // {
colors = colorschemes.solarized-dark;
};
light = commonSettings // {
colors = colorschemes.solarized-light;
};
};
in
{
programs.alacritty = {
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);
})
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
'';
};
};
}

View file

@ -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
]);
}

View file

@ -1,10 +0,0 @@
{ nixosConfig, ... }:
{
imports = [
./ferdium.nix
./mumble.nix
./qtox.nix
./telegram-desktop.nix
];
}

View file

@ -1,7 +0,0 @@
{ nixosConfig, lib, pkgs, ... }:
lib.mkIf nixosConfig.jalr.tradebyte.enable {
home.packages = with pkgs; [
master.ferdium
];
}

View file

@ -1,103 +0,0 @@
{ nixosConfig, pkgs, ... }:
{
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;
"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;
};
};
};
}

View file

@ -1,201 +0,0 @@
{ config, pkgs, ... }:
{
home.packages = with pkgs; [
fzf
];
programs.fish = {
enable = true;
plugins = [
{
name = "theme-agnoster";
src = pkgs.fetchFromGitHub {
owner = "oh-my-fish";
repo = "theme-agnoster";
rev = "c142e802983bd1b34b4d91efac2126fc5913126d";
sha256 = "0PLx626BWoBp/L6wgkB4o+53q8PymiEE/rTu2mfzHhg=";
fetchSubmodules = true;
};
}
{
name = "fzf";
src = pkgs.fetchFromGitHub {
owner = "jethrokuan";
repo = "fzf";
rev = "479fa67d7439b23095e01b64987ae79a91a4e283";
sha256 = "0k6l21j192hrhy95092dm8029p52aakvzis7jiw48wnbckyidi6v";
fetchSubmodules = true;
};
}
];
shellAliases = {
ls = "ls --color=auto";
crontab = "crontab -i";
};
shellAbbrs = {
lessr = "less -R";
jqc = "jq -C";
};
#interactiveShellInit = ''
# echo "programs.fish.interactiveShellInit"
#'';
shellInit = ''
# key bindings
bind \cr '__fzf_reverse_isearch'
# PATH
set -U fish_user_paths $HOME/.local/bin $HOME/.local/bin/pio
# pass
#set -x PASSWORD_STORE_ENABLE_EXTENSIONS true
set -x AWS_VAULT_BACKEND pass
set -x AWS_VAULT_PASS_PREFIX aws
complete -c pw --no-files -a '(__fish_pass_print_entries)'
# colors
set -x GCC_COLORS 'error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
abbr --add v vim
#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
# 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'
else
alias l=ls
alias ll='ls -l'
alias la='ls -la'
alias llt='ls -trl'
end
if which rg > /dev/null 2>&1
alias g=rg
complete -c g -w rg
else if which ag > /dev/null 2>&1
alias g=ag
complete -c g -w ag
else
alias g='grep --color=auto'
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'
set -g commandline_buffer (commandline)
commandline ""
end
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
end
end
function dirh-nocolor --description "Print the current directory history (the prev and next lists)"
set -l options h/help
argparse -n dirh --max-args=0 $options -- $argv
or return
if set -q _flag_help
__fish_print_help dirh
return 0
end
set -l dirc (count $dirprev)
if test $dirc -gt 0
set -l dirprev_rev $dirprev[-1..1]
# This can't be (seq $dirc -1 1) because of BSD.
set -l dirnum (seq 1 $dirc)
for i in $dirnum[-1..1]
printf '%s\n' $dirprev_rev[$i]
end
end
echo $PWD
set -l dirc (count $dirnext)
if test $dirc -gt 0
set -l dirnext_rev $dirnext[-1..1]
for i in (seq $dirc)
printf '%s\n' $dirnext_rev[$i]
end
end
end
function dirh-fzf -d 'directory history fuzzy finder'
builtin cd (dirh-nocolor | uniq | fzf)
end
bind \ed 'dirh-fzf'
'';
};
xdg.configFile."fish/completions/mycli.fish".text = ''
complete -e -c mycli
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 h -l host -r -a '(__fish_print_hostnames)'
complete -c mycli -f -s d -l dsn -r -a '(mycli --list-dsn)'
'';
}

View file

@ -1,15 +0,0 @@
{ nixosConfig, lib, pkgs, ... }:
lib.mkIf nixosConfig.jalr.gui.enable {
home.packages = with pkgs; [
evince
gcr # required for pinentry-gnome
geeqie
mpv
networkmanagerapplet
pinentry-gnome
streamlink
supersonic-wayland
vlc
xdg_utils
];
}

View file

@ -1,174 +0,0 @@
{ lib, nixosConfig, config, pkgs, ... }:
{
home.sessionVariables = {
EDITOR = "nvim";
};
programs.neovim = {
enable = true;
vimAlias = true;
extraConfig = ''
" use space as leader
let mapleader = " "
colorscheme NeoSolarized
"""""""""""""""""
" Swap and undo "
set noswapfile
set nobackup
if has('persistent_undo')
" yay persistent undo
:silent !mkdir -p ~/.local/vim-undo
set undofile
set undodir=~/.local/vim-undo
endif
cabbr <expr> %% expand('%:p:h')
set listchars=trail:·,precedes:«,extends:»,eol:,tab:\
nmap <silent> <leader>c :set list!<CR>
set smartcase
set hlsearch
nnoremap <silent> <CR> :nohlsearch<CR>:set nolist<CR><CR>
" highlight whitespace
highlight ExtraWhitespace ctermbg=red guibg=red
highlight WrongIndent ctermbg=2 guibg=blue
match ExtraWhitespace /\s\+$/
augroup highlight_extra_whitespace
autocmd BufWinEnter * match ExtraWhitespace /\s\+$/
autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/
autocmd InsertLeave * match ExtraWhitespace /\s\+$/
autocmd BufWinLeave * call clearmatches()
augroup END
let g:deoplete#enable_at_startup = 1
sign define LspDiagnosticsSignError text=🟥
sign define LspDiagnosticsSignWarning text=🟠
sign define LspDiagnosticsSignInformation text=🟣
sign define LspDiagnosticsSignHint text=🟢
nnoremap <silent> gd <cmd>lua vim.lsp.buf.definition()<CR>
nnoremap <silent> gi <cmd>lua vim.lsp.buf.implementation()<CR>
nnoremap <silent> gr <cmd>lua vim.lsp.buf.references()<CR>
nnoremap <silent> gD <cmd>lua vim.lsp.buf.declaration()<CR>
nnoremap <silent> ge <cmd>lua vim.lsp.diagnostic.set_loclist()<CR>
nnoremap <silent> K <cmd>lua vim.lsp.buf.hover()<CR>
nnoremap <silent> <leader>f <cmd>lua vim.lsp.buf.formatting()<CR>
nnoremap <silent> <leader>rn <cmd>lua vim.lsp.buf.rename()<CR>
nnoremap <silent> <leader>a <cmd>lua vim.lsp.buf.code_action()<CR>
xmap <silent> <leader>a <cmd>lua vim.lsp.buf.range_code_action()<CR>
lua require('init')
'';
# nix-env -f '<nixpkgs>' -qaP -A vimPlugins
plugins = with pkgs.vimPlugins; [
#Valloric/MatchTagAlways
#frankier/neovim-colors-solarized-truecolor-only
#nvie/vim-rst-tables
NeoSolarized
deoplete-nvim
editorconfig-vim
nvim-lspconfig
vim-gitgutter
vim-indent-guides
vim-nix
vim-puppet
vim-terraform
];
};
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" ];
};
# Nix
rnix = {
cmd = [ "${pkgs.rnix-lsp}/bin/rnix-lsp" ];
};
# 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; };
preload = { enabled = true; };
pycodestyle = { enabled = true; };
pyflakes = { enabled = true; };
rope_completion = { enabled = true; };
yapf = { enabled = true; };
};
};
};
};
# Ruby
solargraph = {
cmd = [ "${pkgs.solargraph}/bin/solargraph" "stdio" ];
};
# Rust
rust_analyzer = {
cmd = [ "${pkgs.rust-analyzer}/bin/rust-analyzer" ];
};
# Bash
bashls = {
cmd = [ "${pkgs.nodePackages.bash-language-server}/bin/bash-language-server" "start" ];
};
# Terraform
terraform_lsp = {
cmd = [ "${pkgs.terraform-lsp}/bin/terraform-lsp" "serve" ];
};
# YAML
yamlls = {
cmd = [ "${pkgs.nodePackages.yaml-language-server}/bin/yaml-language-server" "--stdio" ];
settings = {
yaml = {
keyOrdering = false;
};
};
};
}
)
)
);
}

View file

@ -1,29 +0,0 @@
{ nixosConfig, 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 -o -f
}
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 [ ]
);
}

View file

@ -1,23 +0,0 @@
builtins.mapAttrs
(name: 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 ]));
})
{
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";
}

View file

@ -1,499 +0,0 @@
{ config, lib, nixosConfig, pkgs, ... }:
let
watchUserUnitState = unit: started: stopped: pkgs.writeShellScript "watch-user-unit-${unit}-state" ''
${pkgs.systemd}/bin/journalctl --user -u ${unit} -t systemd -o cat -f \
| ${pkgs.gnugrep}/bin/grep --line-buffered -Eo '^(Started|Stopped)' \
| ${pkgs.jq}/bin/jq --unbuffered -Rc 'if . == "Started" then ${builtins.toJSON started} else ${builtins.toJSON stopped} end'
'';
toggleUserUnitState = unit: pkgs.writeShellScript "toggle-user-unit-${unit}-state" ''
if ${pkgs.systemd}/bin/systemctl --user show ${unit} | ${pkgs.gnugrep}/bin/grep -q ActiveState=active; then
${pkgs.systemd}/bin/systemctl --user stop ${unit}
else
${pkgs.systemd}/bin/systemctl --user start ${unit}
fi
'';
# for fine-grained control over spacing
thinsp = "&#8201;";
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-managers waybar module performs additional checks that are overly strict
xdg.configFile."waybar/config".text = lib.generators.toJSON { } {
layer = "top";
position = "top";
height = 24;
modules-center = [ ];
modules-left = [
"sway/workspaces"
"sway/mode"
];
modules-right = [
"tray"
"custom/screencast"
"custom/redshift"
"idle_inhibitor"
"backlight"
"mpd"
"pulseaudio"
"network"
"custom/vpn"
"memory"
"cpu"
"temperature"
"battery"
"clock"
"custom/calendar"
];
"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;
};
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("󱒃")
else:
print()
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%-";
};
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}";
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";
};
"custom/vpn" = {
interval = 10;
exec = pkgs.writeShellScript "vpn-state" ''
${pkgs.iproute}/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}% 󰍛 ";
};
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 = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
};
"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", "<b>{name}, {date}</b>"]).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 {
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;
font-family: "Iosevka Nerd Font";
font-size: 14px;
min-height: 0;
transition-property: none;
}
window#waybar {
background-color: @base00;
color: @base04;
}
#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.focused {
border-bottom: 2px solid @base0B;
}
#workspaces button.urgent {
background-color: @base08;
}
#mode {
background-color: @base01;
font-style: italic;
}
/* all modules on the right */
#waybar > box > box:nth-child(3) > widget > label {
padding: 0 10px;
}
#battery.charging {
color: @base01;
background-color: @base0B;
}
@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;
}
#network {
background-color: @base0E;
color: @base01
}
#custom-vpn {
background-color: @base0D;
color: @base01
}
#network.disconnected {
background-color: @base08;
}
#pulseaudio {
background-color: @base07;
color: @base03;
}
#pulseaudio.muted {
background-color: @base00;
color: @base04;
}
#temperature {
background-color: @base0F;
color: @base01;
}
#idle_inhibitor.activated {
background-color: @base07;
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;
}
#custom-redshift.active {
background-color: @base08;
}
#custom-redshift.inactive {
background-color: @base0D;
}
#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: 0.5s;
animation-timing-function: cubic-bezier(1, 0, 0, 1);
animation-iteration-count: infinite;
animation-direction: alternate;
}
#custom-calendar.active {
background-color: @base07;
color: @base03;
}
'';
systemd.user.services.waybar = {
Unit = {
Description = "Highly customizable Wayland bar for Sway and Wlroots based compositors.";
Documentation = "https://github.com/Alexays/Waybar/wiki/";
PartOf = [ "sway-session.target" ];
};
Install.WantedBy = [ "sway-session.target" ];
Service = {
# ensure sway is already started, otherwise workspaces will not work
ExecStartPre = "${config.wayland.windowManager.sway.package}/bin/swaymsg";
ExecStart = "${pkgs.waybar}/bin/waybar";
ExecReload = "${pkgs.utillinux}/bin/kill -SIGUSR2 $MAINPID";
Restart = "on-failure";
RestartSec = "1s";
};
};
# TODO: remove when https://github.com/nix-community/home-manager/issues/2064
# is resolved
systemd.user.targets.tray = {
Unit = {
Description = "Home Manager System Tray";
Requires = [ "graphical-session-pre.target" ];
};
};
}

View file

@ -1,89 +0,0 @@
{ nixosConfig, config, lib, pkgs, ... }:
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);
}
#input {
margin: 5px;
border: none;
color: --wofi-color4;
background-color: rgba(--wofi-rgb-color1,0.8);
}
#inner-box {
margin: 5px;
border: none;
background: none;
}
#outer-box {
margin: 5px;
border: none;
background: none;
}
#scroll {
margin: 0px;
border: none;
}
#text {
margin: 5px;
border: none;
color: --wofi-color4;
}
#entry:selected {
background-color: rgba(--wofi-rgb-color1,0.8);
}
#entry:selected #text{
color: --wofi-color11;
}
'';
}

View file

@ -1,7 +0,0 @@
{ nixosConfig, pkgs, ... }:
{
programs.thunderbird = {
enable = nixosConfig.jalr.gui.enable;
profiles."default".isDefault = true;
};
}

View file

@ -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";
};
};
}

View file

@ -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" ];
}
];
}];
}

View file

@ -1,97 +0,0 @@
{ config, pkgs, ... }:
{
imports = [
./default.nix
];
jalr = {
git = {
user = {
name = "Jakob Lechner";
email = "mail@jalr.de";
};
signByDefault = true;
};
gpg.defaultKey = "66FB54F6081375106EEBF651A222365EB448F934";
};
users.users.jalr = {
isNormalUser = true;
extraGroups = [
"adbusers"
"audio"
"dialout"
"docker"
"libvirtd"
"lp"
"networkmanager"
"scanner"
"video"
"wheel"
"wireshark"
]; # Enable sudo for the user.
shell = pkgs.fish;
};
home-manager = {
useUserPackages = true;
useGlobalPkgs = true;
users.jalr = { lib, pkgs, ... }: {
imports = [ ../modules ];
config = {
home.stateVersion = if config.system.stateVersion == "22.11" then "22.05" else config.system.stateVersion;
home.packages = with pkgs; [
cutecom
ghostscript
newsboat
pdftk
platformio
ptouch-print
qrencode
sshfs
tmate
# common
asciinema
bat
docker-compose
envsubst
gnupg
nmap
psutils
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" ];
};
};
};
};
};
}

View file

@ -1,21 +1,18 @@
{ config, lib, pkgs, ... }:
{ config, ... }:
let
iptablesAppendIfMissing = rule: "iptables -C " + rule + " || iptables -A " + rule;
iptablesInsertIfMissing = rule: "iptables -C " + rule + " || iptables -I " + rule;
in
{
imports = [
./hardware-configuration.nix
../../home-manager/users/jalr.nix
../../users/jalr
./services
./ports.nix
];
networking.hostName = "aluminium";
services.openssh.enable = true;
security.sudo.wheelNeedsPassword = false;
networking = {
hostName = "aluminium";
useDHCP = false;
vlans = {
lechner = {
@ -26,6 +23,10 @@ in
id = 2;
interface = "enp1s0";
};
iot = {
id = 3;
interface = "enp1s0";
};
pv = {
id = 10;
interface = "enp1s0";
@ -48,6 +49,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;
@ -70,19 +75,22 @@ 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.extraInputRules = ''
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"
}
'';
};
};
sops.secrets.pap-secrets = {
sopsFile = ./secrets.yaml;
};
environment.etc."ppp/pap-secrets".source = config.sops.secrets.pap-secrets.path;
services.pppd = {
enable = true;

View file

@ -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 =

View file

@ -1,9 +1,16 @@
{ lib, custom-utils, ... }:
{ custom-utils, ... }:
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;
{
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;
};
}

View file

@ -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: []
@ -13,25 +14,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]
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: "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
version: 3.8.1

View file

@ -1,34 +1,15 @@
args@{ config, lib, pkgs, custom-utils, ... }:
{ 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
{
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 = {
@ -157,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]
@ -169,12 +150,11 @@ 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"
@ -182,92 +162,106 @@ in
(lib.listToAttrs (map (name: lib.nameValuePair name { }) secretConfigFiles));
networking.firewall = {
allowedUDPPortRanges = [
{
from = rtp.start;
to = rtp.end;
}
];
};
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";
allowedUDPPortRanges = lib.singleton ports.asterisk-rtp.udp;
interfaces.voice = {
allowedTCPPorts = [ 5060 ];
allowedUDPPorts = [ 5060 ];
};
};
systemd.services."asterisk-voicemail-call@" = {
description = "Check if voicemail exists and place a call to the voicemail application.";
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
'';
};
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-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;
};
};
};
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";
"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/
'';
};
};
#voicemailCallScript
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";
};
};
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";
};
};
};
}

View file

@ -1,4 +1,4 @@
{ lib, stdenvNoCC }:
{ stdenvNoCC }:
stdenvNoCC.mkDerivation {
name = "voicemail-sounds";

View file

@ -4,6 +4,10 @@
./dnsmasq.nix
./doorbell.nix
./dyndns.nix
./esphome
./home-assistant.nix
./nginx.nix
./ntp.nix
./unifi-controller.nix
];
}

View file

@ -1,8 +1,5 @@
{ pkgs, ... }:
{ lib, pkgs, ... }:
let
stateDir = "/var/lib/dnsmasq";
in
{
services.dnsmasq = {
enable = true;
@ -10,14 +7,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"
"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 = [
@ -34,11 +36,24 @@ in
"2001:470:20::2" # ordns.he.net
"74.82.42.42" # ordns.he.net
];
dhcp-option = [
"option:ntp-server,192.168.0.1"
];
};
};
networking.firewall = {
allowedUDPPorts = [ 53 67 ];
allowedTCPPorts = [ 53 ];
};
networking.firewall.interfaces = lib.attrsets.genAttrs [
"heizung"
"iot"
"lechner"
"pv"
"sprechanlage"
"voice"
]
(
_: {
allowedUDPPorts = [ 53 67 ];
allowedTCPPorts = [ 53 ];
}
);
}

View file

@ -1,13 +1,10 @@
args@{ config, lib, pkgs, custom-utils, ... }:
{ config, ... }:
let
ports = import ../ports.nix args;
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";

View file

@ -1,16 +1,42 @@
{ config, ... }:
{ 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
{
sops.secrets.duckdns-secret = {
sopsFile = ../secrets.yaml;
};
services.ddclient = {
enable = true;
interval = "1min";
protocol = "duckdns";
server = "www.duckdns.org";
username = "nouser";
passwordFile = config.sops.secrets.duckdns-secret.path;
domains = [ "jalr-k" ];
use = "if, if=ppp0";
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;
};
};
};
}

View file

@ -0,0 +1,25 @@
{ pkgs
, config
, ...
}:
let
inherit (config.networking) ports;
in
{
sops.secrets.esphome.restartUnits = [ config.systemd.services.esphome.name ];
jalr.esphome = {
enable = true;
port = ports.esphome.tcp;
secretsFile = config.sops.secrets.esphome.path;
configDir = pkgs.stdenvNoCC.mkDerivation {
name = "esphome-config";
src = ./devices;
dontBuild = true;
installPhase = ''
mkdir $out
cp -r * $out
'';
};
};
}

View file

@ -0,0 +1,2 @@
ESPHOME_HOST="jalr-k.duckdns.org"
ESPHOME_SECRETS_FILE="esphome_${ESPHOME_HOST}_secrets.yaml"

View file

@ -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

View file

@ -0,0 +1 @@
../../../../../modules/esphome/devices/justfile

View file

@ -0,0 +1,64 @@
esphome:
name: "waterbed"
friendly_name: "Wasserbett"
esp8266:
board: d1_mini
framework:
version: recommended
logger:
api:
encryption:
key: !secret apikey_waterbed
ota:
- platform: esphome
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

View file

@ -0,0 +1,141 @@
{ pkgs, config, ... }:
let
inherit (config.networking) ports;
in
{
services.home-assistant = {
enable = true;
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_aussentemperatur"; }
{ entity = "sensor.guntamaticbiostar_co2_gehalt"; }
{ entity = "select.guntamaticbiostar_program"; }
{ entity = "sensor.guntamaticbiostar_programm"; }
{ entity = "sensor.guntamaticbiostar_programm_hk1"; }
{ 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"
"openweathermap"
];
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";
inherit (config.location) longitude;
inherit (config.location) latitude;
};
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" = [
];
"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;
};
};
}

View file

@ -0,0 +1,20 @@
{ config, ... }:
let
inherit (config.networking) ports;
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
];
}

View file

@ -0,0 +1,12 @@
{
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 ];
}

View file

@ -1,13 +1,16 @@
args@{ pkgs, custom-utils, ... }:
{ config, pkgs, ... }:
let
ports = import ../ports.nix args;
inherit (config.networking) ports;
in
{
services.unifi = {
enable = true;
openFirewall = true;
unifiPackage = pkgs.unifi;
mongodbPackage = pkgs.mongodb-7_0;
};
networking.firewall.allowedTCPPorts = [ ports.unifi.tcp ];
networking.firewall.interfaces.lechner.allowedTCPPorts = [
ports.unifi-inform.tcp
ports.unifi-ui.tcp
];
}

View file

@ -1,16 +1,13 @@
{ config, pkgs, ... }:
{ pkgs, ... }:
{
imports = [
./hardware-configuration.nix
../../home-manager/users/jalr.nix
../../users/jalr
];
networking = {
hostName = "cadmium";
networkmanager = {
enable = true;
};
useDHCP = false;
firewall = {
@ -50,9 +47,11 @@
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;
autologin.enable = true;
autologin.username = "jalr";

View file

@ -0,0 +1,77 @@
{ lib, ... }:
{
imports = [
./hardware-configuration.nix
./disko.nix
../../users/jalr
./services
./framework-fixes.nix
];
networking = {
hostName = "copper";
extraHosts = lib.concatStringsSep "\n" (
lib.attrsets.mapAttrsToList
(addr: hosts:
lib.concatStringsSep " " ([ addr ] ++ hosts)
)
{
#"192.0.2.1" = ["example.com"];
}
);
firewall.interfaces.virbr0.allowedTCPPorts = [ 53 64172 ];
firewall.interfaces.virbr0.allowedUDPPorts = [ 53 67 69 4011 ];
};
zramSwap = {
enable = true;
algorithm = "zstd";
memoryPercent = 60;
priority = 1;
};
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";
};
};
};
jalr = {
bootloader = "lanzaboote";
bluetooth.enable = true;
uefi.enable = true;
gui = {
enable = true;
sway.enable = true;
};
workstation.enable = true;
libvirt.enable = true;
autologin = {
enable = true;
username = "jalr";
};
};
system.stateVersion = "24.05";
}

59
hosts/copper/disko.nix Normal file
View file

@ -0,0 +1,59 @@
{
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-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" ];
};
};
};
};
};
};
};
};
};
};
}

View file

@ -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"
'';
}

View file

@ -0,0 +1,18 @@
{ config, lib, pkgs, modulesPath, ... }:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd = {
availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" ];
};
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
environment.systemPackages = with pkgs; [
fw-ectool
];
}

32
hosts/copper/secrets.yaml Normal file
View file

@ -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

View file

@ -0,0 +1,8 @@
{
imports = [
./illuminanced.nix
./ntfy.nix
./timelog.nix
./webdev.nix
];
}

View file

@ -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 = 99;
};
};
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";
};
};
}

View file

@ -0,0 +1,3 @@
{
sops.secrets.ntfy_shiftphone.owner = "jalr";
}

View file

@ -0,0 +1,10 @@
{
powerManagement = {
powerUpCommands = ''
echo "timelog: powerUp"
'';
powerDownCommands = ''
echo "timelog: powerDown"
'';
};
}

View file

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

View file

@ -1,7 +1,10 @@
{ ... }@inputs:
inputs:
let
hardware = inputs.nixos-hardware.nixosModules;
in
{
aluminium = {
targetHost = "192.168.0.1";
targetHost = "jalr-k.duckdns.org";
system = "x86_64-linux";
};
jalr-t520 = {
@ -10,20 +13,20 @@
cadmium = {
system = "x86_64-linux";
};
hafnium = {
system = "x86_64-linux";
};
weinturm-pretix-prod = {
system = "aarch64";
targetHost = "142.132.185.70";
};
iron = {
system = "x86_64-linux";
#targetHost = "192.168.42.1";
targetHost = "jalr-bw.duckdns.org";
};
magnesium = {
system = "aarch64";
targetHost = "162.55.35.199";
system = "x86_64-linux";
targetHost = "magnesium.jalr.de";
};
copper = {
system = "x86_64-linux";
targetHost = "copper.lan.bw.jalr.de";
extraModules = [
hardware.framework-16-7040-amd
];
};
}

View file

@ -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. Its 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?
}

View file

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

View file

@ -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

View file

@ -1,25 +1,25 @@
{ inputs, config, pkgs, lib, ... }:
{ config, pkgs, lib, ... }:
let
zfsKernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;
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"
];
interfaces = import ./interfaces.nix;
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 = {
"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";
"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 = {
@ -28,16 +28,16 @@ let
luksDev = "-part3";
biosBoot = "-part4";
};
efiSystemPartitions = (map (diskName: diskName + partitionScheme.efiBoot) disks);
iptablesAppendIfMissing = rule: "iptables -C " + rule + " || iptables -A " + rule;
efiSystemPartitions = map (diskName: diskName + partitionScheme.efiBoot) (lib.attrValues disks);
in
with lib; {
imports = [
../../home-manager/users/jalr.nix
../../users/jalr
./services
./ports.nix
];
config = {
system.stateVersion = "23.11";
system.stateVersion = "25.05";
security.sudo.wheelNeedsPassword = false;
@ -47,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;
}];
@ -62,30 +67,36 @@ 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
"virbr0"
];
};
firewall = {
extraCommands = lib.concatStringsSep "\n" [
(iptablesAppendIfMissing "FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu")
];
allowedTCPPorts = [ 5201 ];
extraForwardRules = ''
tcp flags syn tcp option maxseg size set rt mtu
'';
interfaces.virbr0 = {
allowedTCPPorts = [ 53 ];
allowedUDPPorts = [ 53 67 ];
};
};
};
services.radvd = {
enable = true;
config = ''
interface enp2s4 {
interface ${interfaces.lan} {
AdvSendAdvert on;
prefix ::/64 {
AdvOnLink on;
@ -100,47 +111,59 @@ 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
'';
jalr.luksUsbUnlock = {
enable = true;
devices = builtins.mapAttrs
(_: _: {
keyPath = "iron.key";
usbDevice = "by-label/RAM_USB";
waitForDevice = 10;
})
disks;
};
boot = {
kernelPackages = zfsKernelPackages;
kernel.sysctl = {
"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
(dev: {
name = "LUKS-${dev}${partitionScheme.luksDev}";
value = {
device = "${devNodes}${dev}${partitionScheme.luksDev}";
allowDiscards = true;
};
})
disks
);
luks.devices = builtins.mapAttrs
(_: dev: {
device = "${devNodes}${dev}${partitionScheme.luksDev}";
allowDiscards = true;
})
disks;
};
supportedFilesystems = [ "zfs" ];
zfs = {
devNodes = devNodes;
inherit devNodes;
forceImportRoot = false;
};
loader = {
efi = {
canTouchEfiVariables = (if removableEfi then false else true);
efiSysMountPoint = ("/boot/efis/" + (head 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) disks);
devices = map (diskName: devNodes + diskName) (attrValues disks);
efiInstallAsRemovable = removableEfi;
copyKernels = true;
efiSupport = true;
@ -150,11 +173,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 disks)));
(tail (attrValues disks)));
};
};
kernelParams = [
@ -195,7 +218,15 @@ with lib; {
};
};
hardware.enableRedistributableFirmware = true;
hardware = {
enableRedistributableFirmware = true;
graphics = {
enable = true;
extraPackages = [
pkgs.intel-vaapi-driver
];
};
};
virtualisation.containers.storage.settings = {
storage = {
@ -205,5 +236,16 @@ with lib; {
options.zfs.fsname = "rpool/nixos/podman";
};
};
zramSwap = {
enable = true;
algorithm = "zstd";
memoryPercent = 60;
priority = 1;
};
services.zfs = {
trim.enable = false;
};
};
}

View file

@ -0,0 +1,4 @@
{
lan = "br0";
wan = "enp0s25";
}

Binary file not shown.

View file

@ -1,21 +1,35 @@
{ lib, custom-utils, ... }:
{ custom-utils, ... }:
custom-utils.validatePortAttrset {
esphome.tcp = 6052;
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;
postfix-relay.tcp = 25;
postfix-submission.tcp = [ 465 587 ];
qbittorrent-torrent.tcp = 59832;
qbittorrent-webui.tcp = 8099;
radicale.tcp = 5232;
rmfakecloud.tcp = 3000;
unifi.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;
grafana.tcp = 3001;
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;
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;
rmfakecloud.tcp = 3000;
snapserver.tcp = 1704;
snapserverHttp.tcp = 1780;
snapserverTcp.tcp = 1705;
tvproxy.tcp = 64321;
unifi-http.tcp = 8080;
unifi-https.tcp = 8443;
wireguard-esphome.udp = 51001;
wireguard-public-ip-tunnel.udp = 51000;
};
}

View file

@ -1,43 +1,54 @@
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]
hetzner-api-key: ENC[AES256_GCM,data:7eWYncujkEytQzhRdNRItPgpz1eUvcyp2PVLJtHbqd8=,iv:AxoKJUuor32kC3ZdpkDPUEUlPRosY6cKoWx0TIGK9wA=,tag:SVtXMraGxnJnx/j3zMQnQw==,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]
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: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]
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]
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:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- 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: "2023-12-18T16:45:32Z"
mac: ENC[AES256_GCM,data:ZsC4C+VpUnHuMyqHa3/TIursyWDPV1+we/cBrUhyeqeNdeDveJ4a26jmIzNxWWHbJU7uMPy6BF6iHpS91YK4m+KKSqoXZiTjB8b9p3y9ietT9XQOLXdt8pxVFBEOSH7g9DeVbrJUHTOhzYpugMqC/QXcDLE1GQwa0eGUq3JIDh8=,iv:vbDpVJAXvYw1qQ5Or6CxOs8OO4yhtlVF4zh07bkkFJw=,tag:IqVAItuv23AbbGQsPh5dsg==,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: "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
version: 3.11.0

Binary file not shown.

View file

@ -0,0 +1,20 @@
let
interfaces = import ../interfaces.nix;
in
{
services.avahi = {
enable = true;
allowInterfaces = [ interfaces.lan ];
openFirewall = false;
publish = {
domain = true;
enable = true;
userServices = true;
workstation = true;
};
};
networking.firewall.interfaces."${interfaces.lan}".allowedUDPPorts = [
5353
];
}

View file

@ -0,0 +1,94 @@
{ lib, config, ... }:
let
inherit (config.networking) ports;
in
{
sops.secrets.calibre-htpasswd.owner = "nginx";
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";
};
};
};
};
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;
'';
};
};
}

View file

@ -1,19 +1,29 @@
{
imports = [
./avahi.nix
./calibre.nix
./dnsmasq.nix
./dyndns.nix
./home-assistant.nix
./esphome
./jellyfin.nix
./grafana.nix
./home-assistant.nix
./jellyfin
./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
./unifi-controller.nix
./tts.nix
./tvproxy.nix
./unifi-controller
./whatsapp.nix
./wireguard-esphome.nix
];
}

View file

@ -1,12 +1,13 @@
{ pkgs, ... }:
{ lib, pkgs, ... }:
let
stateDir = "/var/lib/dnsmasq";
interfaces = import ../interfaces.nix;
in
{
services.dnsmasq = {
enable = true;
settings = {
bind-interfaces = true;
listen-address = [
"192.168.42.1"
"10.20.0.1"
@ -19,24 +20,35 @@ 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 kuechentisch.iot.bw.jalr.de
10.20.0.11 led-panel-schreibtisch.iot.bw.jalr.de
''}";
server = [
"142.250.185.78" # dns.as250.net
"2001:470:20::2" # ordns.he.net
"74.82.42.42" # ordns.he.net
];
dhcp-option = [
"option:ntp-server,192.168.42.1"
];
};
};
networking.firewall = {
allowedUDPPorts = [ 53 67 ];
allowedTCPPorts = [ 53 ];
};
networking.firewall.interfaces = lib.attrsets.genAttrs [
interfaces.lan
"iot"
]
(
_: {
allowedUDPPorts = [ 53 67 ];
allowedTCPPorts = [ 53 ];
}
);
}

View file

@ -1,17 +1,56 @@
{ config, ... }:
{ 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
{
sops.secrets.duckdns-secret = {
sopsFile = ../secrets.yaml;
};
services.ddclient = {
enable = true;
interval = "1min";
protocol = "duckdns";
server = "www.duckdns.org";
username = "nouser";
passwordFile = config.sops.secrets.duckdns-secret.path;
domains = [ "jalr-bw" ];
use = "if, if=enp3s5";
#usev6=ifv6, ifv6=enp3s4
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;
};
};
};
}

View file

@ -1,73 +1,25 @@
args@{ lib, pkgs, config, custom-utils, ... }:
{ pkgs
, config
, ...
}:
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}";
inherit (config.networking) ports;
in
{
sops.secrets.esphome = {
sopsFile = ../../secrets.yaml;
owner = "esphome";
group = "esphome";
mode = "0400";
};
sops.secrets.esphome.restartUnits = [ config.systemd.services.esphome.name ];
services.esphome = {
jalr.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 = {
deps = [ "users" "groups" ];
text = ''
mkdir -p "${stateDir}/.esphome"
touch "${stateDir}/.gitignore"
chown esphome:esphome "${stateDir}/.esphome" "${stateDir}/.gitignore"
'';
secretsFile = config.sops.secrets.esphome.path;
configDir = pkgs.stdenvNoCC.mkDerivation {
name = "esphome-config";
src = ./devices;
dontBuild = true;
installPhase = ''
mkdir $out
cp -r * $out
'';
};
};
}

View file

@ -0,0 +1,2 @@
ESPHOME_HOST="jalr-bw.duckdns.org"
ESPHOME_SECRETS_FILE="esphome_${ESPHOME_HOST}_secrets.yaml"

View file

@ -0,0 +1,2 @@
/.esphome/
/secrets.yaml

View file

@ -0,0 +1,134 @@
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: az-delivery-devkit-v4
framework:
type: arduino
version: recommended
platform_version: 5.4.0
logger:
api:
encryption:
key: !secret apikey_badspiegel
ota:
- platform: esphome
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: GPIO33
id: output_background_warm
- platform: ledc
pin: GPIO32
id: output_background_cold
- platform: ledc
pin: GPIO25
id: output_front_warm
- platform: ledc
pin: GPIO14
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: GPIO26
icon: "mdi:thermometer"
- platform: gpio
name: "Soundsystem"
id: soundsystem
pin: GPIO23
icon: "mdi:speaker"
esp32_touch:
# setup_mode: true
sensor:
- platform: wifi_signal
name: "WiFi Signal Sensor"
update_interval: 60s
- platform: dht
pin: GPIO22
model: DHT22
temperature:
name: "Temperatur"
id: temperature
humidity:
name: "Feuchtigkeit"
id: humidity
accuracy_decimals: 1
update_interval: 30s
binary_sensor:
# ESP32 touch pins: 4, 13, 27, 32, 33
# Touch Pad T4
- platform: esp32_touch
name: "touch pad GPIO13"
pin: GPIO13
threshold: 902
on_press:
then:
- light.toggle:
id: front_light
internal: true
filters:
settle: 1s
# Touch Pad T7
- platform: esp32_touch
name: "touch pad GPIO27"
pin: GPIO27
threshold: 1086
on_press:
then:
- light.toggle:
id: background_light
internal: true
filters:
settle: 1s

View file

@ -5,6 +5,11 @@ esp8266:
logger:
sensor:
- platform: wifi_signal
name: "WiFi Signal Sensor"
update_interval: 60s
bp5758d:
data_pin: GPIO4
clock_pin: GPIO5
@ -14,22 +19,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: 20
current: 80
min_power: 0.02
zero_means_zero: true
- platform: bp5758d
id: output_ch5
channel: 5
current: 20
current: 80
min_power: 0.02
zero_means_zero: true
light:
- platform: rgbww
@ -42,3 +57,4 @@ light:
cold_white: output_ch5
warm_white_color_temperature: 2700 K
cold_white_color_temperature: 6500 K
color_interlock: true

View file

@ -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

View file

@ -0,0 +1,195 @@
esphome:
name: "fussbodenheizung"
friendly_name: "Fußbodenheizung"
esp8266:
board: d1_mini
framework:
version: recommended
logger:
api:
encryption:
key: !secret apikey_fussbodenheizung
ota:
- platform: esphome
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: wifi_signal
name: "WiFi Signal Sensor"
update_interval: 60s
- platform: dht
model: DHT22
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
- platform: homeassistant
id: temperature_bathroom
entity_id: sensor.badspiegel_temperatur
- 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
name: "Bad"
sensor: temperature_bathroom
humidity_sensor: humidity_bathroom
min_heating_off_time: 1s
min_heating_run_time: 1s
min_idle_time: 30s
heat_action:
- switch.turn_on: relay_1
idle_action:
- switch.turn_off: relay_1
default_preset: tag
on_boot_restore_from: memory
preset:
- name: morgens
default_target_temperature_low: 23 °C
- 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
name: "Schlafzimmer"
sensor: temperature_bedroom
humidity_sensor: humidity_bedroom
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: tag
on_boot_restore_from: memory
preset:
- 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
name: "West"
sensor: temperature_kitchen
humidity_sensor: humidity_kitchen
min_heating_off_time: 1s
min_heating_run_time: 1s
min_idle_time: 30s
heat_action:
- switch.turn_on: relay_3
idle_action:
- switch.turn_off: relay_3
default_preset: tag
on_boot_restore_from: memory
preset:
- 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
name: "Mitte"
sensor: temperature_local
humidity_sensor: humidity
min_heating_off_time: 1s
min_heating_run_time: 1s
min_idle_time: 30s
heat_action:
- switch.turn_on: relay_4
idle_action:
- switch.turn_off: relay_4
default_preset: tag
on_boot_restore_from: memory
preset:
- 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
name: "Ost"
sensor: temperature_local # FIXME
#humidity_sensor:
min_heating_off_time: 1s
min_heating_run_time: 1s
min_idle_time: 30s
heat_action:
- switch.turn_on: relay_5
idle_action:
- switch.turn_off: relay_5
default_preset: tag
on_boot_restore_from: memory
preset:
- name: tag
default_target_temperature_low: 21 °C
- name: nacht
default_target_temperature_low: 19 °C
- name: abwesend
default_target_temperature_low: 16 °C

View file

@ -0,0 +1 @@
../../../../../modules/esphome/devices/justfile

View file

@ -0,0 +1,116 @@
esphome:
name: "kueche-leiste"
friendly_name: "Küche Leiste"
platformio_options:
board_build.flash_mode: dio
on_boot:
then:
- light.control:
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:
- platform: esphome
password: !secret otapass_kueche_leiste
wifi:
ssid: !secret wifi_ssid_bw
password: !secret wifi_password_bw
domain: .iot.bw.jalr.de
enable_on_boot: True
fast_connect: On
esp32_ble_tracker:
scan_parameters:
active: false
bluetooth_proxy:
active: true
xiaomi_ble:
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
sensor:
- platform: wifi_signal
name: "WiFi Signal Sensor"
update_interval: 60s
- platform: dht
model: DHT22
pin: GPIO5
temperature:
name: "Temperatur"
id: temperature
humidity:
name: "Feuchtigkeit"
id: humidity
accuracy_decimals: 1
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
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

View file

@ -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,29 +21,44 @@ logger:
api:
encryption:
key: !secret apikey_yeelight_meteorite
key: !secret apikey_kuechentisch
ota:
password: !secret otapass_yeelight_meteorite
- platform: esphome
password: !secret otapass_kuechentisch
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
sensor:
- platform: wifi_signal
name: "WiFi Signal Sensor"
update_interval: 60s
output:
- platform: ledc
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

View file

@ -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:
@ -14,37 +16,50 @@ 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
password: !secret wifi_password_bw
domain: .iot.bw.jalr.de
power_save_mode: none
enable_on_boot: True
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:
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:
sensor:
- platform: wifi_signal
name: "WiFi Signal Sensor"
update_interval: 60s
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

View file

@ -0,0 +1,60 @@
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:
- platform: esphome
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
sensor:
- platform: wifi_signal
name: "WiFi Signal Sensor"
update_interval: 60s
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

View file

@ -0,0 +1,53 @@
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:
- platform: esphome
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

View file

@ -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

View file

@ -0,0 +1,85 @@
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:
- platform: esphome
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
sensor:
- platform: wifi_signal
name: "WiFi Signal Sensor"
update_interval: 60s
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
- platform: gpio
pin:
number: GPIO3
id: btn_open
lock:
- platform: template
name: "Türschloss"
id: tuerschloss
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);
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

View file

@ -0,0 +1,124 @@
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:
- platform: esphome
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
sensor:
- platform: wifi_signal
name: "WiFi Signal Sensor"
update_interval: 60s
binary_sensor:
- platform: gpio
name: Etagenklingel
id: floor_bell
pin:
number: GPIO16
mode:
input: true
pullup: true
filters:
- delayed_off: 10s
- platform: gpio
name: Treppenlicht
id: staircase_light
pin:
number: GPIO18
mode:
input: true
pullup: true
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: output_door_opener
- platform: ledc
pin:
number: GPIO33
inverted: true
id: output_staircase_light_ssr
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
name: "Türöffner"
id: btn_tueroeffner
icon: mdi:lock-open
on_press:
- output.turn_on: output_door_opener
- delay: 500ms
- 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
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

View file

@ -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
@ -27,6 +28,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
@ -38,4 +42,83 @@ 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(current_operation).state == "Waschen";
- 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

View file

@ -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%

View file

@ -0,0 +1,253 @@
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_ble_tracker:
scan_parameters:
active: false
bluetooth_proxy:
active: true
xiaomi_ble:
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
filters:
- delayed_on_off: 1s
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
- script.execute:
id: beep
on_ms: 250
off_ms: 250
else:
- if:
condition:
binary_sensor.is_off: presence # when away
then:
- light.turn_on:
id: pixels
effect: "None"
red: 75%
green: 25%
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%
- script.execute:
id: beep
on_ms: 100
off_ms: 1000
- if:
condition:
lambda: |-
return id(leaving) == 3;
then:
- light.turn_off:
id: pixels
- script.stop: beep
- switch.turn_off: buzzer
- 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:
- script.stop: beep
- switch.turn_off: buzzer
- 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
- script.stop: beep
- switch.turn_off: buzzer
- platform: gpio
name: Schlüsselschale
id: key_bowl
pin:
number: GPIO23
mode:
input: true
pullup: true
device_class: occupancy
filters:
- invert:
- delayed_on_off: 250ms
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:
- script.stop: beep
- switch.turn_off: buzzer
- 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:
- 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:
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: 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;

View file

@ -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=";
}
];
}

View file

@ -1,95 +1,265 @@
args@{ lib, pkgs, config, custom-utils, ... }:
{ lib, pkgs, config, ... }:
let
ports = import ../ports.nix args;
inherit (config.networking) ports;
interfaces = import ../interfaces.nix;
domain = "hass.jalr.de";
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";
}
];
}
];
}
sops.secrets.home-assistant = {
owner = "root";
group = "hass";
mode = "0640";
};
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";
}
];
}
];
}
];
};
extraComponents = [
# See https://www.home-assistant.io/integrations
"bthome"
"caldav"
"esphome"
"local_todo"
"openweathermap"
"wyoming"
"xiaomi_ble"
"vlc_telnet"
];
};
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 = [
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"
];
min_brightness = 20;
};
"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";
};
}
];
}
];
"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 #" ];
};
};
}
];
};
};
services.nginx.virtualHosts."hass.jalr.de" = {
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"
''
)
];
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" "/bin/sh" ];
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" ];
};
};
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."${domain}" = {
enableACME = true;
forceSSL = true;
kTLS = true;

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.2 KiB

View file

@ -1,29 +1,54 @@
args@{ lib, pkgs, custom-utils, ... }:
{ config, lib, pkgs, ... }:
let
ports = import ../ports.nix args;
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 = [
./rar2fs.nix
];
services.jellyfin = {
enable = true;
};
systemd.services.jellyfin = {
serviceConfig = {
###MemoryDenyWriteExecute = true;
BindPaths = [
"/dev/dri/renderD128"
"/var/cache/jellyfin"
"/var/lib/jellyfin"
];
BindReadOnlyPaths = [
"/nix/store"
"/etc/resolv.conf"
"/etc/ssl"
"/etc/static/ssl"
"/filebitch/pub/Filme"
"/filebitch/pub/Serien"
"/var/lib/qbittorrent/downloads"
"/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;
@ -69,6 +94,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;

View file

@ -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";
};
};
}

View file

@ -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())

View file

@ -1,17 +1,10 @@
args@{ config, pkgs, custom-utils, ... }:
{ config, ... }:
let
ports = import ../ports.nix args;
inherit (config.networking) ports;
in
{
sops.secrets.hetzner-api-key = {
sopsFile = ../secrets.yaml;
owner = "acme";
};
#sops.secrets."domain_key_jalr.de" = {
# sopsFile = ../secrets.yaml;
# owner = "rspamd";
#};
#sops.secrets."domain_key_jalr.de".owner = "rspamd";
jalr = {
mailserver = {
enable = true;
@ -31,13 +24,18 @@ 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.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}";
services.nginx.virtualHosts."hha.jalr.de" = {
enableACME = true;
forceSSL = true;
};
}

View file

@ -1,15 +1,12 @@
args@{ config, pkgs, custom-utils, ... }:
{ config, pkgs, ... }:
let
ports = import ../ports.nix args;
inherit (config.networking) ports;
signalPhoneNumber = "+4915566437153";
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";
@ -19,17 +16,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;
@ -43,4 +29,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;
};
};
}

View file

@ -1,12 +1,13 @@
args@{ config, lib, pkgs, utils, custom-utils, ... }:
{ 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";
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;
@ -17,21 +18,18 @@ 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}";
};
};
sops.secrets.navidrome-password-encryption-key = {
sopsFile = ../secrets.yaml;
};
services.nginx.virtualHosts."navidrome.jalr.de" = {
enableACME = true;
forceSSL = true;

View file

@ -1,7 +1,7 @@
args@{ pkgs, custom-utils, ... }:
{ config, ... }:
let
ports = import ../ports.nix args;
inherit (config.networking) ports;
in
{
services.nginx = {

Some files were not shown because too many files have changed in this diff Show more