Compare commits

...

322 Commits

Author SHA1 Message Date
c7eefea616 Set up PiGallery2 2025-12-23 14:19:27 +01:00
7608249b0b Monitor all relevant services in the MOTD script 2025-12-22 08:01:38 +01:00
61b35e5f4a Allow NAT loopback via DNS server 2025-12-22 07:58:38 +01:00
1ccc0041d6 Add kafthretis as a wireguard peer 2025-12-21 23:40:04 +01:00
2856e30cbf flake.lock: Update
Flake lock file updates:

• Updated input 'determinate':
    'https://api.flakehub.com/f/pinned/DeterminateSystems/determinate/3.13.2/019a9b01-c0c6-7e1c-959e-98ac5b7675de/source.tar.gz' (2025-11-19)
  → 'https://api.flakehub.com/f/pinned/DeterminateSystems/determinate/3.15.0/019b3865-57a1-7d80-98c5-962fac29c404/source.tar.gz' (2025-12-19)
• Updated input 'determinate/determinate-nixd-aarch64-darwin':
    'https://install.determinate.systems/determinate-nixd/tag/v3.13.2/macOS'
  → 'https://install.determinate.systems/determinate-nixd/tag/v3.15.0/macOS'
• Updated input 'determinate/determinate-nixd-aarch64-linux':
    'https://install.determinate.systems/determinate-nixd/tag/v3.13.2/aarch64-linux'
  → 'https://install.determinate.systems/determinate-nixd/tag/v3.15.0/aarch64-linux'
• Updated input 'determinate/determinate-nixd-x86_64-linux':
    'https://install.determinate.systems/determinate-nixd/tag/v3.13.2/x86_64-linux'
  → 'https://install.determinate.systems/determinate-nixd/tag/v3.15.0/x86_64-linux'
• Updated input 'determinate/nix':
    'https://api.flakehub.com/f/pinned/DeterminateSystems/nix-src/3.13.2/019a9af6-3d7b-71bc-bccd-8b18e147ad77/source.tar.gz' (2025-11-19)
  → 'https://api.flakehub.com/f/pinned/DeterminateSystems/nix-src/3.15.0/019b3854-cca6-7298-a91c-0fd8551a7270/source.tar.gz' (2025-12-19)
• Updated input 'determinate/nixpkgs':
    'https://api.flakehub.com/f/pinned/DeterminateSystems/nixpkgs-weekly/0.1.897465%2Brev-8b6600824693a9c706ef09bd86711ca393703466/019a9577-b407-75dd-b18b-3308def1c215/source.tar.gz' (2025-11-17)
  → 'https://api.flakehub.com/f/pinned/DeterminateSystems/nixpkgs-weekly/0.1.911985%2Brev-09b8fda8959d761445f12b55f380d90375a1d6bb/019b25ab-7c11-79e0-a0b0-c94d455b7190/source.tar.gz' (2025-12-15)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c97c47f' (2025-12-04)
  → 'github:NixOS/nixpkgs/b3aad46' (2025-12-20)
2025-12-21 23:04:10 +01:00
3e577066c1 Migrate to Determinate Nix 2025-12-06 05:18:46 +01:00
3f10536deb flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/1aab89277eb2d87823d5b69bae631a2496cff57a?narHash=sha256-H3lC7knbXOBrHI9hITQ7modLuX20mYJVhZORL5ioms0%3D' (2025-12-02)
  → 'github:NixOS/nixpkgs/c97c47f2bac4fa59e2cbdeba289686ae615f8ed4?narHash=sha256-OtzF5wBvO0jgW1WW1rQU9cMGx7zuvkF7CAVJ1ypzkxA%3D' (2025-12-04)
2025-12-05 23:51:49 +01:00
25e995dfb3 Adapt dnscrypt-proxy config to upstream changes 2025-12-04 17:31:29 +01:00
f2faa9047b flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/9edb1787864c4f59ae5074ad498b6272b3ec308d?narHash=sha256-NA/FT2hVhKDftbHSwVnoRTFhes62%2B7dxZbxj5Gxvghs%3D' (2025-08-05)
  → 'github:ryantm/agenix/fcdea223397448d35d9b31f798479227e80183f6?narHash=sha256-wyT7Pl6tMFbFrs8Lk/TlEs81N6L%2BVSybPfiIgzU8lbQ%3D' (2025-11-08)
• Updated input 'nixos-hardware':
    'github:NixOS/nixos-hardware/a65b650d6981e23edd1afa1f01eb942f19cdcbb7?narHash=sha256-9bHzrVbjAudbO8q4vYFBWlEkDam31fsz0J7GB8k4AsI%3D' (2025-08-26)
  → 'github:NixOS/nixos-hardware/9154f4569b6cdfd3c595851a6ba51bfaa472d9f3?narHash=sha256-ZlJTNLUKQRANlLDomuRWLBCH5792x%2B6XUJ4YdFRjtO4%3D' (2025-11-29)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8bb5646e0bed5dbd3ab08c7a7cc15b75ab4e1d0f?narHash=sha256-SqUuBFjhl/kpDiVaKLQBoD8TLD%2B/cTUzzgVFoaHrkqY%3D' (2025-11-30)
  → 'github:NixOS/nixpkgs/1aab89277eb2d87823d5b69bae631a2496cff57a?narHash=sha256-H3lC7knbXOBrHI9hITQ7modLuX20mYJVhZORL5ioms0%3D' (2025-12-02)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/3b9f00d7a7bf68acd4c4abb9d43695afb04e03a5?narHash=sha256-XexyKZpf46cMiO5Vbj%2BdWSAXOnr285GHsMch8FBoHbc%3D' (2025-08-25)
  → 'github:NixOS/nixpkgs/418468ac9527e799809c900eda37cbff999199b6?narHash=sha256-7WUCZfmqLAssbDqwg9cUDAXrSoXN79eEEq17qhTNM/Y%3D' (2025-12-02)
2025-12-04 17:21:24 +01:00
22fc403563 Use Brotli instead of ZSTD for Nginx 2025-12-01 09:26:14 +01:00
d5e11e4909 Remove redundant secret injection for oink 2025-12-01 09:25:15 +01:00
bcc764dd50 Upgrade to NixOS 25.11 2025-12-01 09:24:18 +01:00
4e317cfd81 Specify auto upgrade flags correctly 2025-11-23 17:12:55 +01:00
2ad5372267 Use inputs attribute to import modules 2025-11-23 17:03:54 +01:00
6e93e251d6 Use correct Flake URL scheme for Auto Upgrade 2025-08-29 01:01:24 +02:00
770ecc6c02 Adapt Makefile to new CLI flags of nixos-rebuild 2025-08-27 08:16:38 +02:00
86fb493a80 Disable systemd-resolved DNS stub causing conflict 2025-08-27 08:12:57 +02:00
3057f13858 Reboot after Auto Upgrade if necessary 2025-08-27 06:20:52 +02:00
155c4f3525 Use Git repository as Flake URL for Auto Upgrade 2025-08-27 06:17:48 +02:00
3abfa5cb84 Remove Matrix bridges users 2025-08-27 06:14:36 +02:00
5d1b075adb flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/e600439ec4c273cf11e06fe4d9d906fb98fa097c?narHash=sha256-uenf8fv2eG5bKM8C/UvFaiJMZ4IpUFaQxk9OH5t/1gA%3D' (2025-01-15)
  → 'github:ryantm/agenix/9edb1787864c4f59ae5074ad498b6272b3ec308d?narHash=sha256-NA/FT2hVhKDftbHSwVnoRTFhes62%2B7dxZbxj5Gxvghs%3D' (2025-08-05)
• Updated input 'agenix/darwin':
    'github:lnl7/nix-darwin/4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d?narHash=sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0%3D' (2023-11-24)
  → 'github:lnl7/nix-darwin/43975d782b418ebf4969e9ccba82466728c2851b?narHash=sha256-dyN%2BteG9G82G%2Bm%2BPX/aSAagkC%2BvUv0SgUw3XkPhQodQ%3D' (2025-04-12)
• Updated input 'agenix/home-manager':
    'github:nix-community/home-manager/3bfaacf46133c037bb356193bd2f1765d9dc82c1?narHash=sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE%3D' (2023-12-20)
  → 'github:nix-community/home-manager/abfad3d2958c9e6300a883bd443512c55dfeb1be?narHash=sha256-YZCh2o9Ua1n9uCvrvi5pRxtuVNml8X2a03qIFfRKpFs%3D' (2025-04-24)
• Updated input 'nixos-hardware':
    'github:NixOS/nixos-hardware/009b764ac98a3602d41fc68072eeec5d24fc0e49?narHash=sha256-dMReDQobS3kqoiUCQIYI9c0imPXRZnBubX20yX/G5LE%3D' (2025-02-27)
  → 'github:NixOS/nixos-hardware/a65b650d6981e23edd1afa1f01eb942f19cdcbb7?narHash=sha256-9bHzrVbjAudbO8q4vYFBWlEkDam31fsz0J7GB8k4AsI%3D' (2025-08-26)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a59eb7800787c926045d51b70982ae285faa2346?narHash=sha256-q8jG2HJWgooWa9H0iatZqBPF3bp0504e05MevFmnFLY%3D' (2025-05-31)
  → 'github:NixOS/nixpkgs/b1b3291469652d5a2edb0becc4ef0246fff97a7c?narHash=sha256-wY1%2B2JPH0ZZC4BQefoZw/k%2B3%2BDowFyfOxv17CN/idKs%3D' (2025-08-23)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/18536bf04cd71abd345f9579158841376fdd0c5a?narHash=sha256-RP%2BOQ6koQQLX5nw0NmcDrzvGL8HDLnyXt/jHhL1jwjM%3D' (2024-10-25)
  → 'github:NixOS/nixpkgs/3b9f00d7a7bf68acd4c4abb9d43695afb04e03a5?narHash=sha256-XexyKZpf46cMiO5Vbj%2BdWSAXOnr285GHsMch8FBoHbc%3D' (2025-08-25)
2025-08-27 03:05:54 +02:00
6a3fbf2d80 Migrate from Wallabag to Readeck 2025-06-02 17:14:44 +02:00
9a35cefd62 Set Wallabag container version to 2.5.4 2025-06-02 15:47:03 +02:00
0fa3b9de30 Enable Prometheus admin API 2025-06-02 12:34:46 +02:00
4e56c58d7a Increase retention time of Prometheus metrics 2025-06-02 12:34:32 +02:00
f9a04a4492 Use systemd-boot as a temporary workaround 2025-06-02 12:22:12 +02:00
b2c983ee22 Upgrade to NixOS 25.05 2025-06-02 12:19:43 +02:00
28399165fc Set up Microbin 2025-04-29 14:33:08 +02:00
42df5964f1 Migrate Wallabag to container deployment 2025-04-28 17:06:22 +02:00
90b38fcf08 Listen to MQTT gateway in Prometheus 2025-04-23 17:19:49 +02:00
f4ba4e8a89 Update services that require nginx 2025-04-14 19:23:12 +02:00
156d8b04e5 Route IPv6 via Wireguard 2025-04-14 19:22:26 +02:00
ef69519de7 Increase Diffie-Hellman key size 2025-04-14 17:18:43 +02:00
e4175767a3 Remove unstable package definition 2025-04-08 03:13:01 +02:00
0127dbc975 Set up Opodsync 2025-04-08 03:08:46 +02:00
848d652ac7 Redirect all URLs to new domain 2025-04-08 02:58:03 +02:00
40838848c3 Replace ddclient with Inadyn 2025-04-07 14:28:00 +02:00
e82ab26d23 flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41?narHash=sha256-b%2Buqzj%2BWa6xgMS9aNbX4I%2BsXeb5biPDi39VgvSFqFvU%3D' (2024-08-10)
  → 'github:ryantm/agenix/e600439ec4c273cf11e06fe4d9d906fb98fa097c?narHash=sha256-uenf8fv2eG5bKM8C/UvFaiJMZ4IpUFaQxk9OH5t/1gA%3D' (2025-01-15)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5d7db4668d7a0c6cc5fc8cf6ef33b008b2b1ed8b?narHash=sha256-4Xhu/3aUdCKeLfdteEHMegx5ooKQvwPHNkOgNCXQrvc%3D' (2025-02-25)
  → 'github:NixOS/nixpkgs/7819a0d29d1dd2bc331bec4b327f0776359b1fa6?narHash=sha256-BgkBz4NpV6Kg8XF7cmHDHRVGZYnKbvG0Y4p%2BjElwxaM%3D' (2025-04-05)
2025-04-07 04:40:23 +02:00
31d582bc9a Adapt Wireguard config to upstream changes 2025-03-28 16:44:40 +01:00
a5f9244996 Change location of the system configuration 2025-03-21 20:27:39 +01:00
68d7c22549 Switch to the operator LAN subnet 2025-03-04 17:51:30 +01:00
acf5a23ed5 Remove SSH upload configuration file 2025-03-04 17:50:54 +01:00
e3e91bc934 Set flake path to canonical Syncthing folder 2025-03-03 11:19:49 +01:00
28a2e71b65 Remove deleted Gitea theme from configuration 2025-02-28 06:09:08 +01:00
a23c52cdf3 Upgrade to PostgreSQL 16 2025-02-28 06:08:45 +01:00
78f3761754 Remove broken Matrix bridges module 2025-02-28 06:08:24 +01:00
db447ddb8b Refer to main users SSH keys for root 2025-02-28 04:16:14 +01:00
45562df6cf Use DNS-01 for ACME 2025-02-28 04:16:06 +01:00
0b3e10fd70 Change CPU architecture of podman containers 2025-02-28 04:14:44 +01:00
f2386e8020 Adapt ddclient to upstream changes 2025-02-28 04:14:25 +01:00
9504d4c5a1 Disable automatic ZFS encrypted dataset import 2025-02-27 21:05:22 +01:00
9335bdeac9 Enabled Aoostar R1 specific tweaks 2025-02-27 21:05:22 +01:00
3b471f8e32 Add installation script 2025-02-27 21:05:22 +01:00
ccd5019abd Upgrade to NixOS 24.11 2025-02-27 21:05:22 +01:00
a0573d8aab Adapt LAN configuration 2025-02-27 21:05:22 +01:00
a389e1395d Remove Raspberry Pi 4 specific bits 2025-02-27 18:00:49 +01:00
b8ae40febd Format nix files using new formatter 2024-12-11 22:14:07 +01:00
0d3da95ae2 Remove redundant options from networking module 2024-12-11 22:13:13 +01:00
52a1cbd382 Lower CPU and RAM limits of the upgrade service 2024-12-11 22:12:43 +01:00
5f5dc1cbcd Update SSH key of caravanserai 2024-12-11 22:12:19 +01:00
f4cdf6a4af flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/bcb68885668cccec12276bbb379f8f2557aa06ce' (2024-12-03)
  → 'github:NixOS/nixpkgs/190c31a89e5eec80dd6604d7f9e5af3802a58a13' (2024-12-05)
2024-12-08 04:45:05 +01:00
7d929a20c0 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7e1ca67996afd8233d9033edd26e442836cc2ad6' (2024-12-01)
  → 'github:NixOS/nixpkgs/bcb68885668cccec12276bbb379f8f2557aa06ce' (2024-12-03)
2024-12-04 04:45:20 +01:00
1667f3c438 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/0c5b4ecbed5b155b705336aa96d878e55acd8685' (2024-11-27)
  → 'github:NixOS/nixpkgs/7e1ca67996afd8233d9033edd26e442836cc2ad6' (2024-12-01)
2024-12-02 04:45:10 +01:00
184d4bcae7 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6f6076c37180ea3a916f84928cf3a714c5207a30' (2024-11-26)
  → 'github:NixOS/nixpkgs/0c5b4ecbed5b155b705336aa96d878e55acd8685' (2024-11-27)
2024-11-29 04:46:21 +01:00
37545de214 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e8c38b73aeb218e27163376a2d617e61a2ad9b59' (2024-11-16)
  → 'github:NixOS/nixpkgs/6f6076c37180ea3a916f84928cf3a714c5207a30' (2024-11-26)
2024-11-28 04:45:03 +01:00
fb81d57367 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c21b77913ea840f8bcf9adf4c41cecc2abffd38d' (2024-11-15)
  → 'github:NixOS/nixpkgs/e8c38b73aeb218e27163376a2d617e61a2ad9b59' (2024-11-16)
2024-11-18 04:44:55 +01:00
f10dee5a2e flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/689fed12a013f56d4c4d3f612489634267d86529' (2024-11-12)
  → 'github:NixOS/nixpkgs/c21b77913ea840f8bcf9adf4c41cecc2abffd38d' (2024-11-15)
2024-11-16 04:45:23 +01:00
141ef7812e flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9256f7c71a195ebe7a218043d9f93390d49e6884' (2024-11-10)
  → 'github:NixOS/nixpkgs/689fed12a013f56d4c4d3f612489634267d86529' (2024-11-12)
2024-11-14 04:45:30 +01:00
910ed61c42 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/83fb6c028368e465cd19bb127b86f971a5e41ebc' (2024-11-07)
  → 'github:NixOS/nixpkgs/9256f7c71a195ebe7a218043d9f93390d49e6884' (2024-11-10)
2024-11-12 04:44:55 +01:00
995a0ce5c0 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/dba414932936fde69f0606b4f1d87c5bc0003ede' (2024-11-06)
  → 'github:NixOS/nixpkgs/83fb6c028368e465cd19bb127b86f971a5e41ebc' (2024-11-07)
2024-11-10 04:45:02 +01:00
1253034342 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d063c1dd113c91ab27959ba540c0d9753409edf3' (2024-11-04)
  → 'github:NixOS/nixpkgs/dba414932936fde69f0606b4f1d87c5bc0003ede' (2024-11-06)
2024-11-08 04:44:57 +01:00
530c117a43 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/3c2f1c4ca372622cb2f9de8016c9a0b1cbd0f37c' (2024-11-03)
  → 'github:NixOS/nixpkgs/d063c1dd113c91ab27959ba540c0d9753409edf3' (2024-11-04)
2024-11-06 04:45:01 +01:00
427f4177ec flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/080166c15633801df010977d9d7474b4a6c549d7' (2024-10-30)
  → 'github:NixOS/nixpkgs/3c2f1c4ca372622cb2f9de8016c9a0b1cbd0f37c' (2024-11-03)
2024-11-05 04:45:04 +01:00
1a8479e2b9 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/64b80bfb316b57cdb8919a9110ef63393d74382a' (2024-10-28)
  → 'github:NixOS/nixpkgs/080166c15633801df010977d9d7474b4a6c549d7' (2024-10-30)
2024-11-02 04:45:04 +01:00
b9591ba3c3 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/cd3e8833d70618c4eea8df06f95b364b016d4950' (2024-10-26)
  → 'github:NixOS/nixpkgs/64b80bfb316b57cdb8919a9110ef63393d74382a' (2024-10-28)
2024-10-30 04:45:00 +01:00
5cf36ac84b flake.lock: Update
Flake lock file updates:

• Updated input 'nixos-hardware':
    'github:NixOS/nixos-hardware/4cc688ee711159b9bcb5a367be44007934e1a49d' (2023-05-24)
  → 'github:NixOS/nixos-hardware/e8a2f6d5513fe7b7d15701b2d05404ffdc3b6dda' (2024-10-24)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/7409480d5c8584a1a83c422530419efe4afb0d19' (2023-06-05)
  → 'github:NixOS/nixpkgs/18536bf04cd71abd345f9579158841376fdd0c5a' (2024-10-25)
2024-10-27 11:04:57 +01:00
5076cf0f66 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ecbc1ca8ffd6aea8372ad16be9ebbb39889e55b6' (2024-10-06)
  → 'github:NixOS/nixpkgs/cd3e8833d70618c4eea8df06f95b364b016d4950' (2024-10-26)
2024-10-27 10:45:55 +01:00
832008b78a flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6e6b3dd395c3b1eb9be9f2d096383a8d05add030' (2024-10-04)
  → 'github:NixOS/nixpkgs/ecbc1ca8ffd6aea8372ad16be9ebbb39889e55b6' (2024-10-06)
2024-10-07 04:45:23 +02:00
acb1410a03 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5966581aa04be7eff830b9e1457d56dc70a0b798' (2024-10-02)
  → 'github:NixOS/nixpkgs/6e6b3dd395c3b1eb9be9f2d096383a8d05add030' (2024-10-04)
2024-10-06 04:45:44 +02:00
28422827f0 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/1719f27dd95fd4206afb9cec9f415b539978827e' (2024-09-30)
  → 'github:NixOS/nixpkgs/5966581aa04be7eff830b9e1457d56dc70a0b798' (2024-10-02)
2024-10-04 04:45:25 +02:00
03f1d62e5e flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/fbca5e745367ae7632731639de5c21f29c8744ed' (2024-09-28)
  → 'github:NixOS/nixpkgs/1719f27dd95fd4206afb9cec9f415b539978827e' (2024-09-30)
2024-10-02 04:45:58 +02:00
504c099939 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/759537f06e6999e141588ff1c9be7f3a5c060106' (2024-09-25)
  → 'github:NixOS/nixpkgs/fbca5e745367ae7632731639de5c21f29c8744ed' (2024-09-28)
2024-09-30 13:44:39 +02:00
ee16adf370 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f4c846aee8e1e29062aa8514d5e0ab270f4ec2f9' (2024-09-08)
  → 'github:NixOS/nixpkgs/759537f06e6999e141588ff1c9be7f3a5c060106' (2024-09-25)
2024-09-26 21:11:18 +02:00
990bf3f50b flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/68e7dce0a6532e876980764167ad158174402c6f' (2024-09-07)
  → 'github:NixOS/nixpkgs/f4c846aee8e1e29062aa8514d5e0ab270f4ec2f9' (2024-09-08)
2024-09-10 04:45:44 +02:00
effd16b7ec flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6f6c45b5134a8ee2e465164811e451dcb5ad86e3' (2024-09-03)
  → 'github:NixOS/nixpkgs/68e7dce0a6532e876980764167ad158174402c6f' (2024-09-07)
2024-09-09 04:46:04 +02:00
75891cf86c flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6e99f2a27d600612004fbd2c3282d614bfee6421' (2024-08-30)
  → 'github:NixOS/nixpkgs/6f6c45b5134a8ee2e465164811e451dcb5ad86e3' (2024-09-03)
2024-09-06 04:45:26 +02:00
ab4c2ac31a flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ae2fc9e0e42caaf3f068c1bfdc11c71734125e06' (2024-08-28)
  → 'github:NixOS/nixpkgs/6e99f2a27d600612004fbd2c3282d614bfee6421' (2024-08-30)
2024-09-01 04:45:38 +02:00
46a4cb8fb9 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/36bae45077667aff5720e5b3f1a5458f51cf0776' (2024-08-27)
  → 'github:NixOS/nixpkgs/ae2fc9e0e42caaf3f068c1bfdc11c71734125e06' (2024-08-28)
2024-08-31 04:46:35 +02:00
e66752f7cd flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2527da1ef492c495d5391f3bcf9c1dd9f4514e32' (2024-08-24)
  → 'github:NixOS/nixpkgs/36bae45077667aff5720e5b3f1a5458f51cf0776' (2024-08-27)
2024-08-29 04:48:14 +02:00
a60132a3ed flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/797f7dc49e0bc7fab4b57c021cdf68f595e47841' (2024-08-22)
  → 'github:NixOS/nixpkgs/2527da1ef492c495d5391f3bcf9c1dd9f4514e32' (2024-08-24)
2024-08-28 04:49:09 +02:00
4ddc236256 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/224042e9a3039291f22f4f2ded12af95a616cca0' (2024-08-21)
  → 'github:NixOS/nixpkgs/797f7dc49e0bc7fab4b57c021cdf68f595e47841' (2024-08-22)
2024-08-24 04:45:47 +02:00
60144cc4ea flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f1bad50880bae73ff2d82fafc22010b4fc097a9c' (2024-08-19)
  → 'github:NixOS/nixpkgs/224042e9a3039291f22f4f2ded12af95a616cca0' (2024-08-21)
2024-08-23 04:45:15 +02:00
1dddf3fd33 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c42fcfbdfeae23e68fc520f9182dde9f38ad1890' (2024-08-17)
  → 'github:NixOS/nixpkgs/f1bad50880bae73ff2d82fafc22010b4fc097a9c' (2024-08-19)
2024-08-21 04:45:15 +02:00
273835799a flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a781ff33ae258bbcfd4ed6e673860c3e923bf2cc' (2024-08-10)
  → 'github:NixOS/nixpkgs/c42fcfbdfeae23e68fc520f9182dde9f38ad1890' (2024-08-17)
2024-08-19 21:54:46 +02:00
83b83d05b3 flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/3f1dae074a12feb7327b4bf43cbac0d124488bb7' (2024-07-30)
  → 'github:ryantm/agenix/f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41' (2024-08-10)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/883180e6550c1723395a3a342f830bfc5c371f6b' (2024-08-05)
  → 'github:NixOS/nixpkgs/a781ff33ae258bbcfd4ed6e673860c3e923bf2cc' (2024-08-10)
2024-08-12 01:22:15 +02:00
85772f9a0e flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8b5b6723aca5a51edf075936439d9cd3947b7b2c' (2024-08-04)
  → 'github:NixOS/nixpkgs/883180e6550c1723395a3a342f830bfc5c371f6b' (2024-08-05)
2024-08-07 04:45:25 +02:00
ce9698d295 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a633d89c6dc9a2a8aae11813a62d7c58b2c0cc51' (2024-08-03)
  → 'github:NixOS/nixpkgs/8b5b6723aca5a51edf075936439d9cd3947b7b2c' (2024-08-04)
2024-08-06 04:45:28 +02:00
167d4a44c3 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/05405724efa137a0b899cce5ab4dde463b4fd30b' (2024-08-01)
  → 'github:NixOS/nixpkgs/a633d89c6dc9a2a8aae11813a62d7c58b2c0cc51' (2024-08-03)
2024-08-05 04:45:31 +02:00
2d429053bd flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/cf05eeada35e122770c5c14add958790fcfcbef5' (2024-07-30)
  → 'github:NixOS/nixpkgs/05405724efa137a0b899cce5ab4dde463b4fd30b' (2024-08-01)
2024-08-03 04:45:31 +02:00
a6592a6d1b flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/12bf09802d77264e441f48e25459c10c93eada2e' (2024-07-29)
  → 'github:NixOS/nixpkgs/cf05eeada35e122770c5c14add958790fcfcbef5' (2024-07-30)
2024-08-02 04:45:19 +02:00
87c7d0b220 flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/de96bd907d5fbc3b14fc33ad37d1b9a3cb15edc6' (2024-07-09)
  → 'github:ryantm/agenix/3f1dae074a12feb7327b4bf43cbac0d124488bb7' (2024-07-30)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8c50662509100d53229d4be607f1a3a31157fa12' (2024-07-27)
  → 'github:NixOS/nixpkgs/12bf09802d77264e441f48e25459c10c93eada2e' (2024-07-29)
2024-07-31 04:45:25 +02:00
c36b690bdf flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a1cc729dcbc31d9b0d11d86dc7436163548a9665' (2024-07-25)
  → 'github:NixOS/nixpkgs/8c50662509100d53229d4be607f1a3a31157fa12' (2024-07-27)
2024-07-28 04:45:21 +02:00
5ff6d39fe1 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d0907b75146a0ccc1ec0d6c3db287ec287588ef6' (2024-07-24)
  → 'github:NixOS/nixpkgs/a1cc729dcbc31d9b0d11d86dc7436163548a9665' (2024-07-25)
2024-07-27 04:45:16 +02:00
46bfbce7e1 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/575f3027caa1e291d24f1e9fb0e3a19c2f26d96b' (2024-07-22)
  → 'github:NixOS/nixpkgs/d0907b75146a0ccc1ec0d6c3db287ec287588ef6' (2024-07-24)
2024-07-26 04:45:14 +02:00
c186fb2982 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/63d37ccd2d178d54e7fb691d7ec76000740ea24a' (2024-07-21)
  → 'github:NixOS/nixpkgs/575f3027caa1e291d24f1e9fb0e3a19c2f26d96b' (2024-07-22)
2024-07-25 04:45:18 +02:00
23b16a1ed3 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/0c53b6b8c2a3e46c68e04417e247bba660689c9d' (2024-07-19)
  → 'github:NixOS/nixpkgs/63d37ccd2d178d54e7fb691d7ec76000740ea24a' (2024-07-21)
2024-07-22 04:45:07 +02:00
f8bd2ef460 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c716603a63aca44f39bef1986c13402167450e0a' (2024-07-17)
  → 'github:NixOS/nixpkgs/0c53b6b8c2a3e46c68e04417e247bba660689c9d' (2024-07-19)
2024-07-21 04:45:29 +02:00
384319843e flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/53e81e790209e41f0c1efa9ff26ff2fd7ab35e27' (2024-07-14)
  → 'github:NixOS/nixpkgs/c716603a63aca44f39bef1986c13402167450e0a' (2024-07-17)
2024-07-19 04:45:29 +02:00
9d600f8c95 Revert "Set up CGM repository" 2024-07-16 19:09:03 +02:00
8d6ec59a29 Update Syncthing ID of caravanserai 2024-07-16 18:07:05 +02:00
8a901e7871 Update to NixOS 24.05 2024-07-16 18:05:48 +02:00
3e87eec0eb flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a046c1202e11b62cbede5385ba64908feb7bfac4' (2024-07-11)
  → 'github:NixOS/nixpkgs/53e81e790209e41f0c1efa9ff26ff2fd7ab35e27' (2024-07-14)
2024-07-15 04:48:02 +02:00
2e3f58e46b flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/249fbde2a178a2ea2638b65b9ecebd531b338cf9' (2024-07-09)
  → 'github:NixOS/nixpkgs/a046c1202e11b62cbede5385ba64908feb7bfac4' (2024-07-11)
2024-07-13 04:47:37 +02:00
56cf903377 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/194846768975b7ad2c4988bdb82572c00222c0d7' (2024-07-07)
  → 'github:NixOS/nixpkgs/249fbde2a178a2ea2638b65b9ecebd531b338cf9' (2024-07-09)
2024-07-11 04:47:30 +02:00
784d7e4567 flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/3a56735779db467538fb2e577eda28a9daacaca6' (2024-06-14)
  → 'github:ryantm/agenix/de96bd907d5fbc3b14fc33ad37d1b9a3cb15edc6' (2024-07-09)
2024-07-10 04:40:02 +02:00
d495aeb646 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/49ee0e94463abada1de470c9c07bfc12b36dcf40' (2024-07-06)
  → 'github:NixOS/nixpkgs/194846768975b7ad2c4988bdb82572c00222c0d7' (2024-07-07)
2024-07-09 04:47:21 +02:00
6092be6eda flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c0d0be00d4ecc4b51d2d6948e37466194c1e6c51' (2024-07-04)
  → 'github:NixOS/nixpkgs/49ee0e94463abada1de470c9c07bfc12b36dcf40' (2024-07-06)
2024-07-08 04:47:42 +02:00
62ea5f6ad7 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/706eef542dec88cc0ed25b9075d3037564b2d164' (2024-07-02)
  → 'github:NixOS/nixpkgs/c0d0be00d4ecc4b51d2d6948e37466194c1e6c51' (2024-07-04)
2024-07-06 04:48:21 +02:00
e3d39e1001 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5c2ec3a5c2ee9909904f860dadc19bc12cd9cc44' (2024-06-12)
  → 'github:NixOS/nixpkgs/706eef542dec88cc0ed25b9075d3037564b2d164' (2024-07-02)
2024-07-04 05:45:42 +02:00
dc9a7216ae flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/c2fc0762bbe8feb06a2e59a364fa81b3a57671c9' (2024-05-24)
  → 'github:ryantm/agenix/3a56735779db467538fb2e577eda28a9daacaca6' (2024-06-14)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a3c8d64ba846725f040582b2d3b875466d2115bd' (2024-06-10)
  → 'github:NixOS/nixpkgs/5c2ec3a5c2ee9909904f860dadc19bc12cd9cc44' (2024-06-12)
2024-06-15 04:45:49 +02:00
5db249f8ba flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/4913a7c3d8b8d00cb9476a6bd730ff57777f740c' (2024-06-08)
  → 'github:NixOS/nixpkgs/a3c8d64ba846725f040582b2d3b875466d2115bd' (2024-06-10)
2024-06-12 04:44:51 +02:00
a72ac6547a flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a2e1d0414259a144ebdc048408a807e69e0565af' (2024-06-04)
  → 'github:NixOS/nixpkgs/4913a7c3d8b8d00cb9476a6bd730ff57777f740c' (2024-06-08)
2024-06-10 04:44:49 +02:00
28a575063f flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/24a7ea390564ccd5b39b7884f597cfc8d7f6f44e' (2024-04-26)
  → 'github:ryantm/agenix/c2fc0762bbe8feb06a2e59a364fa81b3a57671c9' (2024-05-24)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/383ffe076d9b633a2e97b6e4dd97fc15fcf30159' (2024-05-02)
  → 'github:NixOS/nixpkgs/a2e1d0414259a144ebdc048408a807e69e0565af' (2024-06-04)
2024-06-05 22:55:21 +02:00
6c3fa0c13d flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/1381a759b205dff7a6818733118d02253340fd5e' (2024-04-02)
  → 'github:ryantm/agenix/24a7ea390564ccd5b39b7884f597cfc8d7f6f44e' (2024-04-26)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b500489fd3cf653eafc075f9362423ad5cdd8676' (2024-04-22)
  → 'github:NixOS/nixpkgs/383ffe076d9b633a2e97b6e4dd97fc15fcf30159' (2024-05-02)
2024-05-05 13:52:48 +02:00
ccf5534c4d flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a5e4bbcb4780c63c79c87d29ea409abf097de3f7' (2024-04-21)
  → 'github:NixOS/nixpkgs/b500489fd3cf653eafc075f9362423ad5cdd8676' (2024-04-22)
2024-04-25 04:45:18 +02:00
a8a5ef7f2e flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/bc194f70731cc5d2b046a6c1b3b15f170f05999c' (2024-04-19)
  → 'github:NixOS/nixpkgs/a5e4bbcb4780c63c79c87d29ea409abf097de3f7' (2024-04-21)
2024-04-23 04:45:06 +02:00
6222ad5404 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e402c3eb6d88384ca6c52ef1c53e61bdc9b84ddd' (2024-04-17)
  → 'github:NixOS/nixpkgs/bc194f70731cc5d2b046a6c1b3b15f170f05999c' (2024-04-19)
2024-04-21 04:45:08 +02:00
425a783b85 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/53a2c32bc66f5ae41a28d7a9a49d321172af621e' (2024-04-15)
  → 'github:NixOS/nixpkgs/e402c3eb6d88384ca6c52ef1c53e61bdc9b84ddd' (2024-04-17)
2024-04-19 04:45:00 +02:00
f20ba07496 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/90055d5e616bd943795d38808c94dbf0dd35abe8' (2024-04-13)
  → 'github:NixOS/nixpkgs/53a2c32bc66f5ae41a28d7a9a49d321172af621e' (2024-04-15)
2024-04-16 04:44:58 +02:00
6b71ed6e59 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/51651a540816273b67bc4dedea2d37d116c5f7fe' (2024-04-11)
  → 'github:NixOS/nixpkgs/90055d5e616bd943795d38808c94dbf0dd35abe8' (2024-04-13)
2024-04-15 04:45:12 +02:00
77a0b25261 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b2cf36f43f9ef2ded5711b30b1f393ac423d8f72' (2024-04-10)
  → 'github:NixOS/nixpkgs/51651a540816273b67bc4dedea2d37d116c5f7fe' (2024-04-11)
2024-04-14 04:45:00 +02:00
e2c28d03dd flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d272ca50d1f7424fbfcd1e6f1c9e01d92f6da167' (2024-04-08)
  → 'github:NixOS/nixpkgs/b2cf36f43f9ef2ded5711b30b1f393ac423d8f72' (2024-04-10)
2024-04-12 04:44:58 +02:00
df28c981b3 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e38d7cb66ea4f7a0eb6681920615dfcc30fc2920' (2024-04-06)
  → 'github:NixOS/nixpkgs/d272ca50d1f7424fbfcd1e6f1c9e01d92f6da167' (2024-04-08)
2024-04-10 04:44:55 +02:00
156d057428 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/72da83d9515b43550436891f538ff41d68eecc7f' (2024-04-05)
  → 'github:NixOS/nixpkgs/e38d7cb66ea4f7a0eb6681920615dfcc30fc2920' (2024-04-06)
2024-04-08 04:45:06 +02:00
f103bbe21c flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/1487bdea619e4a7a53a4590c475deabb5a9d1bfb' (2024-04-03)
  → 'github:NixOS/nixpkgs/72da83d9515b43550436891f538ff41d68eecc7f' (2024-04-05)
2024-04-07 04:45:05 +02:00
731e0b8cb1 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/219951b495fc2eac67b1456824cc1ec1fd2ee659' (2024-03-28)
  → 'github:NixOS/nixpkgs/1487bdea619e4a7a53a4590c475deabb5a9d1bfb' (2024-04-03)
2024-04-05 04:45:07 +02:00
d4ebe7f7e2 flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/8cb01a0e717311680e0cbca06a76cbceba6f3ed6' (2024-02-13)
  → 'github:ryantm/agenix/1381a759b205dff7a6818733118d02253340fd5e' (2024-04-02)
2024-04-03 04:40:02 +02:00
0eba277720 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/56528ee42526794d413d6f244648aaee4a7b56c0' (2024-03-22)
  → 'github:NixOS/nixpkgs/219951b495fc2eac67b1456824cc1ec1fd2ee659' (2024-03-28)
2024-04-02 04:40:02 +02:00
b37fa0c007 Enable IPv6 for Matrix 2024-04-01 21:31:28 +02:00
255cb34846 Limit resource usage when performing upgrades 2024-03-25 13:41:31 +01:00
bd493ea8ea Update panacea ID in syncthing 2024-03-25 13:41:14 +01:00
d43c5b151d flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/614b4613980a522ba49f0d194531beddbb7220d3' (2024-03-17)
  → 'github:NixOS/nixpkgs/56528ee42526794d413d6f244648aaee4a7b56c0' (2024-03-22)
2024-03-25 08:17:50 +01:00
e8ce90e315 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/79baff8812a0d68e24a836df0a364c678089e2c7' (2024-03-01)
  → 'github:NixOS/nixpkgs/614b4613980a522ba49f0d194531beddbb7220d3' (2024-03-17)
2024-03-18 04:42:19 +01:00
0873d2769d flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/068d4db604958d05d0b46c47f79b507d84dbc069' (2024-02-29)
  → 'github:NixOS/nixpkgs/79baff8812a0d68e24a836df0a364c678089e2c7' (2024-03-01)
2024-03-03 18:03:59 +01:00
16490294c5 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b7ee09cf5614b02d289cd86fcfa6f24d4e078c2a' (2024-02-26)
  → 'github:NixOS/nixpkgs/068d4db604958d05d0b46c47f79b507d84dbc069' (2024-02-29)
2024-03-01 19:59:24 +01:00
ee6e17f87e flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c5101e457206dd437330d283d6626944e28794b3' (2024-02-23)
  → 'github:NixOS/nixpkgs/b7ee09cf5614b02d289cd86fcfa6f24d4e078c2a' (2024-02-26)
2024-02-27 20:07:07 +01:00
9b3a863a0b flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/3cb4ae6689d2aa3f363516234572613b31212b78' (2024-02-22)
  → 'github:NixOS/nixpkgs/c5101e457206dd437330d283d6626944e28794b3' (2024-02-23)
2024-02-25 04:44:34 +01:00
cf31242ee4 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/526d051b128b82ae045a70e5ff1adf8e6dafa560' (2024-02-20)
  → 'github:NixOS/nixpkgs/3cb4ae6689d2aa3f363516234572613b31212b78' (2024-02-22)
2024-02-24 04:44:44 +01:00
73d8acea17 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e0da498ad77ac8909a980f07eff060862417ccf7' (2024-02-18)
  → 'github:NixOS/nixpkgs/526d051b128b82ae045a70e5ff1adf8e6dafa560' (2024-02-20)
2024-02-22 04:44:57 +01:00
97402d75e1 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/84d981bae8b5e783b3b548de505b22880559515f' (2024-02-17)
  → 'github:NixOS/nixpkgs/e0da498ad77ac8909a980f07eff060862417ccf7' (2024-02-18)
2024-02-20 04:44:29 +01:00
d6d8084247 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/1d1817869c47682a6bee85b5b0a6537b6c0fba26' (2024-02-16)
  → 'github:NixOS/nixpkgs/84d981bae8b5e783b3b548de505b22880559515f' (2024-02-17)
2024-02-19 04:44:43 +01:00
af32a32c3d flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c68a9fc85c2cb3a313be6ff40511635544dde8da' (2024-02-15)
  → 'github:NixOS/nixpkgs/1d1817869c47682a6bee85b5b0a6537b6c0fba26' (2024-02-16)
2024-02-18 04:44:31 +01:00
1e6f4c6b43 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/01885a071465e223f8f68971f864b15829988504' (2024-02-13)
  → 'github:NixOS/nixpkgs/c68a9fc85c2cb3a313be6ff40511635544dde8da' (2024-02-15)
2024-02-16 04:44:38 +01:00
c1887474b8 flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/417caa847f9383e111d1397039c9d4337d024bf0' (2023-12-24)
  → 'github:ryantm/agenix/8cb01a0e717311680e0cbca06a76cbceba6f3ed6' (2024-02-13)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/809cca784b9f72a5ad4b991e0e7bcf8890f9c3a6' (2024-02-11)
  → 'github:NixOS/nixpkgs/01885a071465e223f8f68971f864b15829988504' (2024-02-13)
2024-02-14 04:44:55 +01:00
c758f008ac flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/20f65b86b6485decb43c5498780c223571dd56ef' (2024-02-09)
  → 'github:NixOS/nixpkgs/809cca784b9f72a5ad4b991e0e7bcf8890f9c3a6' (2024-02-11)
2024-02-13 04:44:41 +01:00
da996bc201 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6832d0d99649db3d65a0e15fa51471537b2c56a6' (2024-02-07)
  → 'github:NixOS/nixpkgs/20f65b86b6485decb43c5498780c223571dd56ef' (2024-02-09)
2024-02-11 04:44:48 +01:00
0f0b9041e4 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/fb0c047e30b69696acc42e669d02452ca1b55755' (2024-02-06)
  → 'github:NixOS/nixpkgs/6832d0d99649db3d65a0e15fa51471537b2c56a6' (2024-02-07)
2024-02-09 04:44:46 +01:00
a2466270ab flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9f2ee8c91ac42da3ae6c6a1d21555f283458247e' (2024-02-05)
  → 'github:NixOS/nixpkgs/fb0c047e30b69696acc42e669d02452ca1b55755' (2024-02-06)
2024-02-08 04:44:45 +01:00
e9500eba20 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/25e3d4c0d3591c99929b1ec07883177f6ea70c9d' (2024-02-01)
  → 'github:NixOS/nixpkgs/9f2ee8c91ac42da3ae6c6a1d21555f283458247e' (2024-02-05)
2024-02-06 04:44:36 +01:00
d7c64bc980 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/53fbe41cf76b6a685004194e38e889bc8857e8c2' (2024-01-31)
  → 'github:NixOS/nixpkgs/25e3d4c0d3591c99929b1ec07883177f6ea70c9d' (2024-02-01)
2024-02-04 04:44:28 +01:00
1cf470fb94 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f4a8d6d5324c327dcc2d863eb7f3cc06ad630df4' (2024-01-29)
  → 'github:NixOS/nixpkgs/53fbe41cf76b6a685004194e38e889bc8857e8c2' (2024-01-31)
2024-02-02 04:44:34 +01:00
e8305eda4b flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/56911ef3403a9318b7621ce745f5452fb9ef6867' (2024-01-27)
  → 'github:NixOS/nixpkgs/f4a8d6d5324c327dcc2d863eb7f3cc06ad630df4' (2024-01-29)
2024-01-31 04:44:29 +01:00
1e0242e23d flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a77ab169a83a4175169d78684ddd2e54486ac651' (2024-01-24)
  → 'github:NixOS/nixpkgs/56911ef3403a9318b7621ce745f5452fb9ef6867' (2024-01-27)
2024-01-30 04:44:32 +01:00
ebbe09759a flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d7f206b723e42edb09d9d753020a84b3061a79d8' (2024-01-22)
  → 'github:NixOS/nixpkgs/a77ab169a83a4175169d78684ddd2e54486ac651' (2024-01-24)
2024-01-26 04:44:32 +01:00
e05d42152e Map SSL subdomains using nginx virtual hosts 2024-01-24 13:56:51 +01:00
7620df5f88 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/1b64fc1287991a9cce717a01c1973ef86cb1af0b' (2024-01-20)
  → 'github:NixOS/nixpkgs/d7f206b723e42edb09d9d753020a84b3061a79d8' (2024-01-22)
2024-01-24 04:44:30 +01:00
8e8bba700e flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d2003f2223cbb8cd95134e4a0541beea215c1073' (2024-01-19)
  → 'github:NixOS/nixpkgs/1b64fc1287991a9cce717a01c1973ef86cb1af0b' (2024-01-20)
2024-01-21 22:38:08 +01:00
56fb1bde66 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8bf65f17d8070a0a490daf5f1c784b87ee73982c' (2024-01-17)
  → 'github:NixOS/nixpkgs/d2003f2223cbb8cd95134e4a0541beea215c1073' (2024-01-19)
2024-01-20 04:44:27 +01:00
c2447e7b00 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b8dd8be3c790215716e7c12b247f45ca525867e2' (2024-01-15)
  → 'github:NixOS/nixpkgs/8bf65f17d8070a0a490daf5f1c784b87ee73982c' (2024-01-17)
2024-01-19 04:44:58 +01:00
9bc37d34ba Increase security of SSL via OCSP stapling 2024-01-15 00:28:48 +01:00
2abdb9e5a7 Use one SSL certificate for all subdomains 2024-01-13 18:55:16 +01:00
6251adf032 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6723fa4e4f1a30d42a633bef5eb01caeb281adc3' (2024-01-08)
  → 'github:NixOS/nixpkgs/3dc440faeee9e889fe2d1b4d25ad0f430d449356' (2024-01-10)
2024-01-11 04:44:31 +01:00
57af5ad38f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c1be43e8e837b8dbee2b3665a007e761680f0c3d' (2024-01-05)
  → 'github:NixOS/nixpkgs/6723fa4e4f1a30d42a633bef5eb01caeb281adc3' (2024-01-08)
2024-01-10 04:44:24 +01:00
97a5f43206 flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/13ac9ac6d68b9a0896e3d43a082947233189e247' (2023-11-29)
  → 'github:ryantm/agenix/417caa847f9383e111d1397039c9d4337d024bf0' (2023-12-24)
• Updated input 'agenix/darwin':
    'github:lnl7/nix-darwin/87b9d090ad39b25b2400029c64825fc2a8868943' (2023-01-09)
  → 'github:lnl7/nix-darwin/4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d' (2023-11-24)
• Updated input 'agenix/home-manager':
    'github:nix-community/home-manager/32d3e39c491e2f91152c84f8ad8b003420eab0a1' (2023-04-22)
  → 'github:nix-community/home-manager/3bfaacf46133c037bb356193bd2f1765d9dc82c1' (2023-12-20)
• Added input 'agenix/systems':
    'github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e' (2023-04-09)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/933d7dc155096e7575d207be6fb7792bc9f34f6d' (2023-12-02)
  → 'github:NixOS/nixpkgs/c1be43e8e837b8dbee2b3665a007e761680f0c3d' (2024-01-05)
2024-01-08 04:40:02 +01:00
9c80604f26 Set gitea root URL properly 2024-01-08 01:37:33 +01:00
0d3e7d6d73 Update panacea ID in syncthing 2024-01-08 00:26:40 +01:00
b58296b936 Use upstream defaults of dnscrypt-proxy 2023-12-12 20:27:08 +01:00
d9b011585b Disable TLS for openbooks IRC connection 2023-12-12 14:58:54 +01:00
f1c6450ec4 Turn on HDD fan in the enclosure 2023-12-12 14:58:06 +01:00
1723a4a872 Block ads via dnscrypt-proxy 2023-12-12 14:56:24 +01:00
add2bee896 Disable unused monitoring collectors 2023-12-12 14:55:48 +01:00
ef9f204237 Change IRC port for Openbooks 2023-12-05 11:17:57 +01:00
d208ad22db Change username for Openbooks 2023-12-05 11:15:02 +01:00
5df1d226c8 Switch to release version of ddclient 2023-12-05 11:14:51 +01:00
299e8b3227 Adapt Syncthing to upstream changes 2023-12-05 11:14:40 +01:00
378916ed35 Change DNS resolver excepting for loopback needs 2023-12-05 10:32:35 +01:00
ea7dfca0db Upgrade to Nixos 23.11 2023-12-05 10:31:43 +01:00
4493b8aa70 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d2332963662edffacfddfad59ff4f709dde80ffe' (2023-11-30)
  → 'github:NixOS/nixpkgs/6386d8aafc28b3a7ed03880a57bdc6eb4465491d' (2023-12-02)
2023-12-04 04:44:15 +01:00
e6b6f82159 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/67be70a859530f6f7c358568eaa6ab0d84b36b01' (2023-11-29)
  → 'github:NixOS/nixpkgs/d2332963662edffacfddfad59ff4f709dde80ffe' (2023-11-30)
2023-12-02 05:27:15 +01:00
f11d03598b flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5b528f99f73c4fad127118a8c1126b5e003b01a9' (2023-11-27)
  → 'github:NixOS/nixpkgs/67be70a859530f6f7c358568eaa6ab0d84b36b01' (2023-11-29)
2023-12-01 07:13:58 +01:00
3e1d07ec6a flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/daf42cb35b2dc614d1551e37f96406e4c4a2d3e4' (2023-10-08)
  → 'github:ryantm/agenix/13ac9ac6d68b9a0896e3d43a082947233189e247' (2023-11-29)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d2e4de209881b38392933fabf303cde3454b0b4c' (2023-11-26)
  → 'github:NixOS/nixpkgs/5b528f99f73c4fad127118a8c1126b5e003b01a9' (2023-11-27)
2023-11-29 05:12:24 +01:00
fa76a73aae flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/1216a5ba22a93a4a3a3bfdb4bff0f4727c576fcc' (2023-11-24)
  → 'github:NixOS/nixpkgs/d2e4de209881b38392933fabf303cde3454b0b4c' (2023-11-26)
2023-11-27 05:06:43 +01:00
1a0f0d8396 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8f1180704ac35baded1a74164365ac7cdfba6f38' (2023-11-22)
  → 'github:NixOS/nixpkgs/1216a5ba22a93a4a3a3bfdb4bff0f4727c576fcc' (2023-11-24)
2023-11-26 05:20:09 +01:00
bec49b6a37 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f741f8a839912e272d7e87ccf4b9dbc6012cdaf9' (2023-11-20)
  → 'github:NixOS/nixpkgs/8f1180704ac35baded1a74164365ac7cdfba6f38' (2023-11-22)
2023-11-24 05:09:16 +01:00
d4bdc12b2b flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/0c5678df521e1407884205fe3ce3cf1d7df297db' (2023-11-19)
  → 'github:NixOS/nixpkgs/f741f8a839912e272d7e87ccf4b9dbc6012cdaf9' (2023-11-20)
2023-11-23 05:23:54 +01:00
778f9c7de9 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9fb122519e9cd465d532f736a98c1e1eb541ef6f' (2023-11-16)
  → 'github:NixOS/nixpkgs/0c5678df521e1407884205fe3ce3cf1d7df297db' (2023-11-19)
2023-11-20 05:09:44 +01:00
bd83574023 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d4b5a67bbe9ef750bd2fdffd4cad400dd5553af8' (2023-11-14)
  → 'github:NixOS/nixpkgs/9fb122519e9cd465d532f736a98c1e1eb541ef6f' (2023-11-16)
2023-11-17 05:31:25 +01:00
617e91ccff flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/da4024d0ead5d7820f6bd15147d3fe2a0c0cec73' (2023-11-10)
  → 'github:NixOS/nixpkgs/d4b5a67bbe9ef750bd2fdffd4cad400dd5553af8' (2023-11-14)
2023-11-16 05:07:10 +01:00
4ab9d58c15 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/41de143fda10e33be0f47eab2bfe08a50f234267' (2023-11-06)
  → 'github:NixOS/nixpkgs/da4024d0ead5d7820f6bd15147d3fe2a0c0cec73' (2023-11-10)
2023-11-13 05:23:10 +01:00
f45b67985d flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/aeefe2054617cae501809b82b44a8e8f7be7cc4b' (2023-11-05)
  → 'github:NixOS/nixpkgs/41de143fda10e33be0f47eab2bfe08a50f234267' (2023-11-06)
2023-11-08 05:14:48 +01:00
265f94039a flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/1a3c95e3b23b3cdb26750621c08cc2f1560cb883' (2023-10-27)
  → 'github:NixOS/nixpkgs/3e10c80821dedb93592682379f476745f370a58e' (2023-10-29)
2023-11-01 07:27:25 +01:00
43809626cf flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b3ddf9649fdac7db15aeea95cb3114c13594d265' (2023-10-22)
  → 'github:NixOS/nixpkgs/60b9db998f71ea49e1a9c41824d09aa274be1344' (2023-10-26)
2023-10-27 05:15:34 +02:00
7e36a08fa9 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b5f8ec6be261dfc44c3b56b220e2793d1b61512b' (2023-10-17)
  → 'github:NixOS/nixpkgs/80c1aab725151632ddc2a20caeb914e76dd0673c' (2023-10-18)
2023-10-20 05:24:39 +02:00
9ed6a7734f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/898cb2064b6e98b8c5499f37e81adbdf2925f7c5' (2023-10-13)
  → 'github:NixOS/nixpkgs/b5f8ec6be261dfc44c3b56b220e2793d1b61512b' (2023-10-17)
2023-10-19 05:11:02 +02:00
71f28fe85e flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/bd1cde45c77891214131cbbea5b1203e485a9d51' (2023-10-11)
  → 'github:NixOS/nixpkgs/898cb2064b6e98b8c5499f37e81adbdf2925f7c5' (2023-10-13)
2023-10-16 05:27:47 +02:00
46d2d42415 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5a237aecb57296f67276ac9ab296a41c23981f56' (2023-10-07)
  → 'github:NixOS/nixpkgs/bd1cde45c77891214131cbbea5b1203e485a9d51' (2023-10-11)
2023-10-12 05:22:28 +02:00
8a9fe8f2de flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/1f677b3e161d3bdbfd08a939e8f25de2568e0ef4' (2023-09-22)
  → 'github:ryantm/agenix/daf42cb35b2dc614d1551e37f96406e4c4a2d3e4' (2023-10-08)
2023-10-09 04:40:07 +02:00
247148887f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8a4c17493e5c39769f79117937c79e1c88de6729' (2023-10-03)
  → 'github:NixOS/nixpkgs/5a237aecb57296f67276ac9ab296a41c23981f56' (2023-10-07)
2023-10-08 05:09:18 +02:00
f2cbd92196 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/32dcb45f66c0487e92db8303a798ebc548cadedc' (2023-09-30)
  → 'github:NixOS/nixpkgs/8a4c17493e5c39769f79117937c79e1c88de6729' (2023-10-03)
2023-10-05 05:28:11 +02:00
56057f7354 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5cfafa12d57374f48bcc36fda3274ada276cf69e' (2023-09-27)
  → 'github:NixOS/nixpkgs/32dcb45f66c0487e92db8303a798ebc548cadedc' (2023-09-30)
2023-10-02 05:09:15 +02:00
680ae01bb5 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/261abe8a44a7e8392598d038d2e01f7b33cf26d0' (2023-09-24)
  → 'github:NixOS/nixpkgs/5cfafa12d57374f48bcc36fda3274ada276cf69e' (2023-09-27)
2023-09-29 05:05:53 +02:00
e7a4f83588 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/715d72e967ec1dd5ecc71290ee072bcaf5181ed6' (2023-09-22)
  → 'github:NixOS/nixpkgs/261abe8a44a7e8392598d038d2e01f7b33cf26d0' (2023-09-24)
2023-09-26 05:21:45 +02:00
fdca61069c flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e9b4b56e5a20ac322c0c01ccab7ec697ab076ea0' (2023-09-22)
  → 'github:NixOS/nixpkgs/715d72e967ec1dd5ecc71290ee072bcaf5181ed6' (2023-09-22)
2023-09-25 05:08:13 +02:00
83fd49ce16 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/55ac2a9d2024f15c56adf20da505b29659911da8' (2023-09-21)
  → 'github:NixOS/nixpkgs/e9b4b56e5a20ac322c0c01ccab7ec697ab076ea0' (2023-09-22)
2023-09-24 05:21:58 +02:00
bfa164d3c6 flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/7f9dfa309f24dc74450ecab6e74bc3d11c7ce735' (2023-09-21)
  → 'github:ryantm/agenix/1f677b3e161d3bdbfd08a939e8f25de2568e0ef4' (2023-09-22)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5d017a8822e0907fb96f7700a319f9fe2434de02' (2023-09-17)
  → 'github:NixOS/nixpkgs/55ac2a9d2024f15c56adf20da505b29659911da8' (2023-09-21)
2023-09-23 05:08:04 +02:00
61e0fadadf flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/572baca9b0c592f71982fca0790db4ce311e3c75' (2023-09-15)
  → 'github:ryantm/agenix/7f9dfa309f24dc74450ecab6e74bc3d11c7ce735' (2023-09-21)
2023-09-22 04:40:10 +02:00
cbd2a589d0 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/360a7d31c30abefdc490d203f80e3221b7a24af2' (2023-09-15)
  → 'github:NixOS/nixpkgs/5d017a8822e0907fb96f7700a319f9fe2434de02' (2023-09-17)
2023-09-18 05:09:19 +02:00
03212b2db3 flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/20deb735cc405831ba04a0088fecb3887aa255c0' (2023-09-14)
  → 'github:ryantm/agenix/572baca9b0c592f71982fca0790db4ce311e3c75' (2023-09-15)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e5f018cf150e29aac26c61dac0790ea023c46b24' (2023-09-12)
  → 'github:NixOS/nixpkgs/360a7d31c30abefdc490d203f80e3221b7a24af2' (2023-09-15)
2023-09-16 05:22:00 +02:00
f9191533ae flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/d8c973fd228949736dedf61b7f8cc1ece3236792' (2023-07-24)
  → 'github:ryantm/agenix/20deb735cc405831ba04a0088fecb3887aa255c0' (2023-09-14)
2023-09-15 04:40:11 +02:00
2769968777 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/4c8cf44c5b9481a4f093f1df3b8b7ba997a7c760' (2023-09-10)
  → 'github:NixOS/nixpkgs/e5f018cf150e29aac26c61dac0790ea023c46b24' (2023-09-12)
2023-09-13 05:20:48 +02:00
ec4dc87b25 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/73e1976309fc789706b9f306407e9e7622a57d25' (2023-09-08)
  → 'github:NixOS/nixpkgs/4c8cf44c5b9481a4f093f1df3b8b7ba997a7c760' (2023-09-10)
2023-09-11 05:12:15 +02:00
8de5ae1ffa Increase log retention to a month 2023-09-09 08:18:48 +02:00
6189015df2 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/4077a0e4ac3356222bc1f0a070af7939c3098535' (2023-09-05)
  → 'github:NixOS/nixpkgs/4f77ea639305f1de0a14d9d41eef83313360638c' (2023-09-07)
2023-09-08 05:06:54 +02:00
e4b43cb099 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/da5adce0ffaff10f6d0fee72a02a5ed9d01b52fc' (2023-09-03)
  → 'github:NixOS/nixpkgs/4077a0e4ac3356222bc1f0a070af7939c3098535' (2023-09-05)
2023-09-07 05:11:57 +02:00
185aca8147 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9075cba53e86dc318d159aee55dc9a7c9a4829c1' (2023-09-02)
  → 'github:NixOS/nixpkgs/da5adce0ffaff10f6d0fee72a02a5ed9d01b52fc' (2023-09-03)
2023-09-05 05:16:01 +02:00
9e6c6d26a1 Disable registration for Gitea 2023-09-03 00:40:34 +02:00
4d612c4722 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2ab91c8d65c00fd22a441c69bbf1bc9b420d5ea1' (2023-08-29)
  → 'github:NixOS/nixpkgs/841889913dfd06a70ffb39f603e29e46f45f0c1a' (2023-08-30)
2023-09-02 05:08:08 +02:00
4d9af80429 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c540061ac8d72d6e6d99345bd2d590c82b2f58c1' (2023-08-28)
  → 'github:NixOS/nixpkgs/2ab91c8d65c00fd22a441c69bbf1bc9b420d5ea1' (2023-08-29)
2023-08-31 05:12:17 +02:00
26f555b275 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ea5234e7073d5f44728c499192544a84244bf35a' (2023-08-28)
  → 'github:NixOS/nixpkgs/c540061ac8d72d6e6d99345bd2d590c82b2f58c1' (2023-08-28)
2023-08-30 05:09:24 +02:00
86539653f4 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f155f0cf4ea43c4e3c8918d2d327d44777b6cad4' (2023-08-26)
  → 'github:NixOS/nixpkgs/ea5234e7073d5f44728c499192544a84244bf35a' (2023-08-28)
2023-08-29 05:23:34 +02:00
3a7296d447 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/74e5bdc5478ebbe7ba5849f0d765f92757bb9dbf' (2023-08-25)
  → 'github:NixOS/nixpkgs/f155f0cf4ea43c4e3c8918d2d327d44777b6cad4' (2023-08-26)
2023-08-28 05:18:26 +02:00
b391f5a391 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/fc944919f743bb22379dddf18dcb72db6cff84aa' (2023-08-23)
  → 'github:NixOS/nixpkgs/74e5bdc5478ebbe7ba5849f0d765f92757bb9dbf' (2023-08-25)
2023-08-27 05:19:29 +02:00
f57c611f92 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a16f7eb56e88c8985fcc6eb81dabd6cade4e425a' (2023-08-22)
  → 'github:NixOS/nixpkgs/fc944919f743bb22379dddf18dcb72db6cff84aa' (2023-08-23)
2023-08-25 05:31:39 +02:00
8f092c433e flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ae521bd4e460b076a455dca8b13f4151489a725c' (2023-08-18)
  → 'github:NixOS/nixpkgs/a16f7eb56e88c8985fcc6eb81dabd6cade4e425a' (2023-08-22)
2023-08-23 05:09:16 +02:00
a23ec0110b flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b30c68669df77d981ce4aefd6b9d378563f6fc4e' (2023-08-16)
  → 'github:NixOS/nixpkgs/ae521bd4e460b076a455dca8b13f4151489a725c' (2023-08-18)
2023-08-19 05:18:46 +02:00
eaa5f9161f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/bfd953b2c6de4f550f75461bcc5768b6f966be10' (2023-08-15)
  → 'github:NixOS/nixpkgs/b30c68669df77d981ce4aefd6b9d378563f6fc4e' (2023-08-16)
2023-08-18 05:22:46 +02:00
f16af72c25 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/011567f35433879aae5024fc6ec53f2a0568a6c4' (2023-08-07)
  → 'github:NixOS/nixpkgs/bfd953b2c6de4f550f75461bcc5768b6f966be10' (2023-08-15)
2023-08-16 21:16:14 +02:00
bca5f1353e Use DNSSEC for DNS resolution 2023-08-16 03:21:25 +02:00
22bbd33c84 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/61676e4dcfeeb058f255294bcb08ea7f3bc3ce56' (2023-08-06)
  → 'github:NixOS/nixpkgs/011567f35433879aae5024fc6ec53f2a0568a6c4' (2023-08-07)
2023-08-08 12:15:02 +02:00
c433b99cff Add Audio folder to Syncthing 2023-08-08 03:37:41 +02:00
4218a9dc6e flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9652a97d9738d3e65cf33c0bc24429e495a7868f' (2023-08-04)
  → 'github:NixOS/nixpkgs/61676e4dcfeeb058f255294bcb08ea7f3bc3ce56' (2023-08-06)
2023-08-07 05:07:25 +02:00
78996afd31 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/bd836ac5e5a7358dea73cb74a013ca32864ccb86' (2023-08-01)
  → 'github:NixOS/nixpkgs/9652a97d9738d3e65cf33c0bc24429e495a7868f' (2023-08-04)
2023-08-05 20:59:08 +02:00
2ee7e0937e flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b7cde1c47b7316f6138a2b36ef6627f3d16d645c' (2023-07-31)
  → 'github:NixOS/nixpkgs/bd836ac5e5a7358dea73cb74a013ca32864ccb86' (2023-08-01)
2023-08-03 05:13:12 +02:00
4a0165ceac flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/391e8db1f06c3f74c2d313a73135515023af3993' (2023-07-30)
  → 'github:NixOS/nixpkgs/b7cde1c47b7316f6138a2b36ef6627f3d16d645c' (2023-07-31)
2023-08-01 14:52:45 +02:00
08269a4f90 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d57e8c535d4cbb07f441c30988ce52eec69db7a8' (2023-07-29)
  → 'github:NixOS/nixpkgs/391e8db1f06c3f74c2d313a73135515023af3993' (2023-07-30)
2023-08-01 14:21:24 +02:00
39c3fd921a flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/48e82fe1b1c863ee26a33ce9bd39621d2ada0a33' (2023-07-28)
  → 'github:NixOS/nixpkgs/d57e8c535d4cbb07f441c30988ce52eec69db7a8' (2023-07-29)
2023-07-31 05:08:14 +02:00
899e146adb flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f3fbbc36b4e179a5985b9ab12624e9dfe7989341' (2023-07-26)
  → 'github:NixOS/nixpkgs/48e82fe1b1c863ee26a33ce9bd39621d2ada0a33' (2023-07-28)
2023-07-29 05:06:58 +02:00
6228e1daf4 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ac1acba43b2f9db073943ff5ed883ce7e8a40a2c' (2023-07-23)
  → 'github:NixOS/nixpkgs/f3fbbc36b4e179a5985b9ab12624e9dfe7989341' (2023-07-26)
2023-07-28 05:09:45 +02:00
6c210d09df Remove dependency on DNS blocklist for DNS server 2023-07-27 01:24:04 +02:00
134be027e2 Fix import of matrix appservice registration files 2023-07-27 01:15:06 +02:00
0a3bcc27ad Set up Encrypted DNS resolver 2023-07-27 01:14:36 +02:00
477b5abfa8 Improve Syncthing performance 2023-07-27 00:14:13 +02:00
0a7d8585ae Upgrade storage to SSD 2023-07-27 00:13:32 +02:00
bec36a738f flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/0d8c5325fc81daf00532e3e26c6752f7bcde1143' (2023-07-14)
  → 'github:ryantm/agenix/d8c973fd228949736dedf61b7f8cc1ece3236792' (2023-07-24)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6da4bc6cb07cba1b8e53d139cbf1d2fb8061d967' (2023-07-21)
  → 'github:NixOS/nixpkgs/ac1acba43b2f9db073943ff5ed883ce7e8a40a2c' (2023-07-23)
2023-07-25 05:20:27 +02:00
ced8ec6511 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/fa793b06f56896b7d1909e4b69977c7bf842b2f0' (2023-07-20)
  → 'github:NixOS/nixpkgs/6da4bc6cb07cba1b8e53d139cbf1d2fb8061d967' (2023-07-21)
2023-07-23 21:20:05 +02:00
898dcdcde4 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/53657afe29748b3e462f1f892287b7e254c26d77' (2023-07-17)
  → 'github:NixOS/nixpkgs/fa793b06f56896b7d1909e4b69977c7bf842b2f0' (2023-07-20)
2023-07-22 05:07:42 +02:00
74931c1e80 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f64b9738da8e86195766147e9752c67fccee006c' (2023-07-16)
  → 'github:NixOS/nixpkgs/53657afe29748b3e462f1f892287b7e254c26d77' (2023-07-17)
2023-07-19 05:09:21 +02:00
6b8d301279 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/af8279f65fe71ce5a448408034a8c06e2b4b2c66' (2023-07-15)
  → 'github:NixOS/nixpkgs/f64b9738da8e86195766147e9752c67fccee006c' (2023-07-16)
2023-07-18 05:07:28 +02:00
859b3470f4 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9fdfaeb7b96f05e869f838c73cde8d98c640c649' (2023-07-14)
  → 'github:NixOS/nixpkgs/af8279f65fe71ce5a448408034a8c06e2b4b2c66' (2023-07-15)
2023-07-17 05:09:49 +02:00
3491c8cf32 flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/db5637d10f797bb251b94ef9040b237f4702cde3' (2023-05-15)
  → 'github:ryantm/agenix/0d8c5325fc81daf00532e3e26c6752f7bcde1143' (2023-07-14)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/510d721ce097150ae3b80f84b04b13b039186571' (2023-07-09)
  → 'github:NixOS/nixpkgs/9fdfaeb7b96f05e869f838c73cde8d98c640c649' (2023-07-14)
2023-07-16 05:15:52 +02:00
5ec7b56a91 Disable zeroconf config 2023-07-15 19:14:01 +02:00
8e0bf3ac03 Give admin rights to Matrix bridges 2023-07-15 18:24:56 +02:00
3d09831ef9 Scan one folder at a time for Syncthing 2023-07-15 18:24:17 +02:00
0f5fc5529b flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e7603eba51f2c7820c0a182c6bbb351181caa8e7' (2023-06-04)
  → 'github:NixOS/nixpkgs/510d721ce097150ae3b80f84b04b13b039186571' (2023-07-09)
2023-07-10 05:05:52 +02:00
f3d415c853 Remove redundant 1-Wire configuration 2023-06-28 04:17:30 +02:00
4e85e1f46a Update hardware-configuration 2023-06-28 04:09:18 +02:00
d3f9ba91db Remove dependency on old service for dns-blocklist 2023-06-23 15:25:26 +02:00
9b5a6c9bb8 Use latest version of ddclient 2023-06-23 15:24:47 +02:00
55fe10af93 Only spin down spinning rust 2023-06-23 01:13:43 +02:00
349f57e474 Optimize Postgres performance settings 2023-06-20 17:57:41 +02:00
2384ed8061 Use ZFS dataset for Grafana data 2023-06-19 00:28:30 +02:00
97a5237373 Remove zswap 2023-06-15 11:36:44 +02:00
13a91c8948 Use postgresql as database for Matrix bridges 2023-06-12 16:54:44 +02:00
27f170070c Specify ZFS datasets dependencies for each service 2023-06-08 18:59:33 +02:00
110a98c3d4 Upgrade to NixOS 23.05 and SSD boot 2023-06-08 18:59:17 +02:00
95a024a6e7 Fix openbooks search by changing the username 2023-05-25 18:59:58 +02:00
2e8e66dca6 Update hardware-configuration 2023-05-25 18:47:15 +02:00
701e47473a Set up CGM repository 2023-05-24 17:42:41 +02:00
98f1492da8 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7dc71aef32e8faf065cb171700792cf8a65c152d' (2023-05-20)
  → 'github:NixOS/nixpkgs/b0671cbf1e5c443f7fbfd4941ee0f8a151435114' (2023-05-21)
2023-05-24 04:50:49 +02:00
cba8751c58 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/628d4bb6e9f4f0c30cfd9b23d3c1cdcec9d3cb5c' (2023-05-18)
  → 'github:NixOS/nixpkgs/7dc71aef32e8faf065cb171700792cf8a65c152d' (2023-05-20)
2023-05-22 04:48:50 +02:00
5672d34426 Remove container volumes from config 2023-05-18 06:04:29 +02:00
71da7fdd23 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/55af203d468a6f5032a519cba4f41acf5a74b638' (2023-05-15)
  → 'github:NixOS/nixpkgs/6c591e7adc514090a77209f56c9d0c551ab8530d' (2023-05-16)
2023-05-18 04:50:22 +02:00
286cc3c50a flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d41eea2839de7de0f2cbe4aa90fde5db8afcd30a' (2023-05-15)
  → 'github:NixOS/nixpkgs/55af203d468a6f5032a519cba4f41acf5a74b638' (2023-05-15)
2023-05-17 04:50:14 +02:00
0c8135a2dc flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/92197270a1eedd142a4aff853e4cc6d1e838c22f' (2023-05-12)
  → 'github:ryantm/agenix/db5637d10f797bb251b94ef9040b237f4702cde3' (2023-05-15)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9656e85a15a0fe67847ee8cdb99a20d8df499962' (2023-05-12)
  → 'github:NixOS/nixpkgs/d41eea2839de7de0f2cbe4aa90fde5db8afcd30a' (2023-05-15)
2023-05-16 04:48:19 +02:00
b960a348ec flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a08e061a4ee8329747d54ddf1566d34c55c895eb' (2023-05-09)
  → 'github:NixOS/nixpkgs/9656e85a15a0fe67847ee8cdb99a20d8df499962' (2023-05-12)
2023-05-14 04:48:33 +02:00
c25837dc7e Restart mqtt2prometheus after the zpool mount 2023-05-10 16:10:59 +02:00
483e10e57a flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c568239bcc990050b7aedadb7387832440ad8fb1' (2023-05-07)
  → 'github:NixOS/nixpkgs/a08e061a4ee8329747d54ddf1566d34c55c895eb' (2023-05-09)
2023-05-10 04:47:56 +02:00
11c128281c flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/adc7c6f1bbaa73cda26be2323353b63a05b42f61' (2023-05-06)
  → 'github:NixOS/nixpkgs/c568239bcc990050b7aedadb7387832440ad8fb1' (2023-05-07)
2023-05-09 04:50:49 +02:00
8e7825c71a flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/cc45a3f8c98e1c33ca996e3504adefbf660a72d1' (2023-05-04)
  → 'github:NixOS/nixpkgs/adc7c6f1bbaa73cda26be2323353b63a05b42f61' (2023-05-06)
2023-05-08 04:47:53 +02:00
d9ffbfe76f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5dab6490fe6d72b3f120ae8660181e20f396fbdf' (2023-05-02)
  → 'github:NixOS/nixpkgs/cc45a3f8c98e1c33ca996e3504adefbf660a72d1' (2023-05-04)
2023-05-05 04:49:27 +02:00
5cab60f1b7 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/db1e4eeb0f9a9028bcb920e00abbc1409dd3ef36' (2023-04-30)
  → 'github:NixOS/nixpkgs/5dab6490fe6d72b3f120ae8660181e20f396fbdf' (2023-05-02)
2023-05-03 04:50:14 +02:00
454d093d14 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7449971a3ecf857b4a554cf79b1d9dcc1a4647d8' (2023-04-28)
  → 'github:NixOS/nixpkgs/db1e4eeb0f9a9028bcb920e00abbc1409dd3ef36' (2023-04-30)
2023-05-01 04:47:12 +02:00
e59460f127 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/15b75800dce80225b44f067c9012b09de37dfad2' (2023-04-26)
  → 'github:NixOS/nixpkgs/7449971a3ecf857b4a554cf79b1d9dcc1a4647d8' (2023-04-28)
2023-04-29 04:48:27 +02:00
cd41c51ef0 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/60c0f762658916a4a5b5a36b3e06486f8301daf4' (2023-04-26)
  → 'github:NixOS/nixpkgs/15b75800dce80225b44f067c9012b09de37dfad2' (2023-04-26)
2023-04-28 04:50:28 +02:00
0cf7e0916f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f5364316e314436f6b9c8fd50592b18920ab18f9' (2023-04-24)
  → 'github:NixOS/nixpkgs/60c0f762658916a4a5b5a36b3e06486f8301daf4' (2023-04-26)
2023-04-27 04:48:37 +02:00
408b6a6c67 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ee7ec1c71adc47d2e3c2d5eb0d6b8fbbd42a8d1c' (2023-04-22)
  → 'github:NixOS/nixpkgs/f5364316e314436f6b9c8fd50592b18920ab18f9' (2023-04-24)
2023-04-25 04:49:43 +02:00
5694f34897 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/fd901ef4bf93499374c5af385b2943f5801c0833' (2023-04-22)
  → 'github:NixOS/nixpkgs/ee7ec1c71adc47d2e3c2d5eb0d6b8fbbd42a8d1c' (2023-04-22)
2023-04-24 04:47:44 +02:00
36e6bd693a flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/3d302c67ab8647327dba84fbdb443cdbf0e82744' (2023-04-19)
  → 'github:NixOS/nixpkgs/fd901ef4bf93499374c5af385b2943f5801c0833' (2023-04-22)
2023-04-23 04:50:06 +02:00
ac13526e18 flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/e64961977f60388dd0b49572bb0fc453b871f896' (2023-03-31)
  → 'github:ryantm/agenix/2994d002dcff5353ca1ac48ec584c7f6589fe447' (2023-04-21)
2023-04-22 04:40:07 +02:00
e9a993050e flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/115a96e2ac1e92937cd47c30e073e16dcaaf6247' (2023-04-10)
  → 'github:NixOS/nixpkgs/3d302c67ab8647327dba84fbdb443cdbf0e82744' (2023-04-19)
2023-04-21 04:49:28 +02:00
61152f5349 Add new services to MOTD script 2023-04-20 07:48:07 +02:00
65452f3699 Increase Prometheus data retention to 1 year 2023-04-18 21:32:08 +02:00
80259e6afd Monitor nginx via Prometheus 2023-04-18 21:18:38 +02:00
841ee6758d Add additional exporters to Prometheus 2023-04-18 19:43:05 +02:00
ee7648653e Set up mqtt2prometheus 2023-04-12 11:52:58 +02:00
22067b477a Move declarative containers to a new module 2023-04-12 11:52:10 +02:00
0896b18073 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ea96b4af6148114421fda90df33cf236ff5ecf1d' (2023-04-10)
  → 'github:NixOS/nixpkgs/115a96e2ac1e92937cd47c30e073e16dcaaf6247' (2023-04-10)
2023-04-12 04:48:44 +02:00
09d8bf4850 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/48dcbaf7fa799509cbec85d55b8d62dcf1477d57' (2023-04-09)
  → 'github:NixOS/nixpkgs/ea96b4af6148114421fda90df33cf236ff5ecf1d' (2023-04-10)
2023-04-11 04:49:45 +02:00
55443bcfe3 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/0040164e473509b4aee6aedb3b923e400d6df10b' (2023-04-07)
  → 'github:NixOS/nixpkgs/48dcbaf7fa799509cbec85d55b8d62dcf1477d57' (2023-04-09)
2023-04-10 04:49:54 +02:00
efa9d6ec0e flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5233fd2ba76a3accb5aaa999c00509a11fd0793c' (2023-04-05)
  → 'github:NixOS/nixpkgs/0040164e473509b4aee6aedb3b923e400d6df10b' (2023-04-07)
2023-04-08 04:48:56 +02:00
9f0e402116 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/799d153e4f316143a9db0eb869ecf44d8d4c0356' (2023-04-03)
  → 'github:NixOS/nixpkgs/5233fd2ba76a3accb5aaa999c00509a11fd0793c' (2023-04-05)
2023-04-06 04:50:58 +02:00
fe82ae7b53 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/884e3b68be02ff9d61a042bc9bd9dd2a358f95da' (2023-04-01)
  → 'github:NixOS/nixpkgs/799d153e4f316143a9db0eb869ecf44d8d4c0356' (2023-04-03)
2023-04-04 04:50:11 +02:00
fb3f2bf87d Set up MQTT broker 2023-04-03 00:50:47 +02:00
0102218afc Remove redundant ACME subdomains 2023-04-02 22:46:55 +02:00
c6959c723f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a575c243c23e2851b78c00e9fa245232926ec32f' (2023-03-29)
  → 'github:NixOS/nixpkgs/884e3b68be02ff9d61a042bc9bd9dd2a358f95da' (2023-04-01)
2023-04-02 04:50:11 +02:00
3514649e13 flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/03b51fe8e459a946c4b88dcfb6446e45efb2c24e' (2023-03-04)
  → 'github:ryantm/agenix/e64961977f60388dd0b49572bb0fc453b871f896' (2023-03-31)
2023-04-01 04:40:10 +02:00
a591304042 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5b7cd5c39befee629be284970415b6eb3b0ff000' (2023-03-28)
  → 'github:NixOS/nixpkgs/a575c243c23e2851b78c00e9fa245232926ec32f' (2023-03-29)
2023-03-31 04:50:41 +02:00
0d96a414dd flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/da26ae9f6ce2c9ab380c0f394488892616fc5a6a' (2023-03-25)
  → 'github:NixOS/nixpkgs/5b7cd5c39befee629be284970415b6eb3b0ff000' (2023-03-28)
2023-03-29 04:50:05 +02:00
2eb4e8dadc flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/83607dae4e05e1de755bbc7d7949b33fc1cfbbb9' (2023-03-25)
  → 'github:NixOS/nixpkgs/da26ae9f6ce2c9ab380c0f394488892616fc5a6a' (2023-03-25)
2023-03-27 04:49:29 +02:00
59635ff9f8 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a38c914c34f93328ad7fbcdea0801bc11cbd1565' (2023-03-23)
  → 'github:NixOS/nixpkgs/83607dae4e05e1de755bbc7d7949b33fc1cfbbb9' (2023-03-25)
2023-03-26 04:50:09 +02:00
a7a44c9408 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9ef6e7727f4c31507627815d4f8679c5841efb00' (2023-03-22)
  → 'github:NixOS/nixpkgs/a38c914c34f93328ad7fbcdea0801bc11cbd1565' (2023-03-23)
2023-03-25 04:51:27 +01:00
0a7bd14ec0 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e2c97799da5f5cd87adfa5017fba971771e123ef' (2023-03-20)
  → 'github:NixOS/nixpkgs/9ef6e7727f4c31507627815d4f8679c5841efb00' (2023-03-22)
2023-03-24 04:49:02 +01:00
38 changed files with 1106 additions and 709 deletions

View File

@@ -1 +0,0 @@
((nil . ((ssh-deploy-root-remote . "/ssh:zion:/home/coolneng/system"))))

View File

@@ -1,7 +1,7 @@
DIR=$(HOME)/Projects/zion
switch:
nixos-rebuild switch --fast --target-host root@zion \
nixos-rebuild switch --no-reexec --target-host root@zion \
--build-host root@zion --flake path://$(DIR)#zion
.DEFAULT_GOAL := switch

View File

@@ -20,32 +20,34 @@
** Installation
1. Download the sdcard image
2. Connect a keyboard to the Raspberry Pi and set the password
2. Use initial config file
#+begin_src shell
passwd
sudo su
passwd
cp install.nix configuration.nix
#+end_src
The default user is nixos
3. Move the repo to the server and the agenix key
#+begin_src shell
scp -R Projects/zion zion:/home/nixos/system
scp -r Projects/zion zion:/home/nixos/system
scp .ssh/zion root@zion:/etc/ssh/id_ed25519
#+end_src
4. Rebuild the system using Flakes
4. Mount the firmware partition
#+begin_src shell
mount /dev/mmcblk1p1 /boot
#+end_src
5. Rebuild the system using Flakes
#+begin_src shell
nix-shell -p git
sudo nixos-rebuild switch --flake /home/nixos/system#zion --impure
sudo nixos-rebuild switch --flake /home/nixos/system#zion
#+end_src
5. Restore the SQL databases
6. Restore the SQL databases
#+begin_src shell
psql -U postgres -f /vault/backups/zion/databases/all.sql
gunzip -c /vault/backups/zion/databases/all.sql.gz | psql -U postgres
#+end_src

View File

@@ -1,46 +1,76 @@
{ config, inputs, pkgs, lib, ... }:
{
config,
inputs,
pkgs,
lib,
...
}:
with pkgs;
{
# Kernel configuration
boot = {
blacklistedKernelModules = [
"btusb"
"bluetooth"
];
kernelParams = [
"zfs.zfs_arc_max=8589934592"
"zfs.zfs_arc_min=1073741824"
];
supportedFilesystems = [ "zfs" ];
zfs = {
requestEncryptionCredentials = false;
extraPools = [ "vault" ];
};
};
# Secure boot using lanzaboote
boot.loader = {
efi.canTouchEfiVariables = true;
systemd-boot = {
enable = true;
configurationLimit = 50;
editor = false;
};
timeout = 3;
};
# Declare system packages
environment.systemPackages = [
libraspberrypi
htop
neovim
git
inputs.agenix.packages.aarch64-linux.default
inputs.agenix.packages.${config.nixpkgs.localSystem.system}.default
];
# Add a swap file
swapDevices = [{
device = "/swapfile";
size = 4096;
}];
# Enable zswap
zramSwap.enable = true;
# Configure basic SSH access
services.openssh = {
enable = true;
permitRootLogin = "yes";
passwordAuthentication = false;
settings = {
PermitRootLogin = "yes";
PasswordAuthentication = false;
};
};
# Cleanup tmp on startup
boot.cleanTmpDir = true;
boot.tmp.cleanOnBoot = true;
# Create coolneng user
users.users.coolneng = {
isNormalUser = true;
home = "/home/coolneng";
extraGroups = [ "wheel" "docker" ];
extraGroups = [
"wheel"
"docker"
];
openssh.authorizedKeys.keys = [
# panacea
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFRqINHR7/zc+c3/PuR+NeSsBHXXzBiEtFWSK6QaxQTW coolneng@panacea"
# caravanserai
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPTBWNtNp+vI2So4vISZX/yQv754ZzXqobFgUP3zk4FY zion"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIX0poiPhFLFh88fhpLFX7n1oCevVRyTxe9ZvGmjPq8n zion"
];
shell = "${fish}/bin/fish";
};
@@ -55,12 +85,6 @@ with pkgs;
time.timeZone = "Europe/Brussels";
services.timesyncd.enable = true;
# Enable ZFS support
boot.supportedFilesystems = [ "zfs" ];
# Don't import encrypted datasets
boot.zfs.requestEncryptionCredentials = false;
# Scrub zpool monthly
services.zfs.autoScrub = {
enable = true;
@@ -71,7 +95,12 @@ with pkgs;
nix = {
settings = {
auto-optimise-store = true;
experimental-features = [ "nix-command" "flakes" ];
trusted-users = [
"root"
"coolneng"
];
lazy-trees = true;
eval-cores = 2;
};
gc = {
automatic = true;
@@ -82,33 +111,42 @@ with pkgs;
keep-outputs = true
keep-derivations = true
gc-keep-outputs = true
experimental-features = nix-command flakes
'';
};
# Use same version of nixpkgs for nix-shell
nix.nixPath = let path = toString ./.;
in [ "nixpkgs=${inputs.nixpkgs}" "nixos-config=${path}/configuration.nix" ];
nix.nixPath =
let
path = toString ./.;
in
[
"nixpkgs=${inputs.nixpkgs}"
"nixos-config=${path}/configuration.nix"
];
# Configure fish shell
programs.fish.enable = true;
users.users.root = {
shell = "${fish}/bin/fish";
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFRqINHR7/zc+c3/PuR+NeSsBHXXzBiEtFWSK6QaxQTW coolneng@panacea"
];
openssh.authorizedKeys.keys = config.users.users.coolneng.openssh.authorizedKeys.keys;
};
# Keep logs for a week
services.journald.extraConfig = "MaxRetentionSec=1week";
# Keep logs for a month
services.journald.extraConfig = "MaxRetentionSec=4week";
# Increase inotify limits
boot.kernel.sysctl = { "fs.inotify.max_user_watches" = 204800; };
# Increase inotify limits and maximum buffer size
boot.kernel.sysctl = {
"fs.inotify.max_user_watches" = 204800;
"net.core.rmem_max" = 2500000;
"net.core.wmem_max" = 2500000;
};
# MOTD message
programs.fish.interactiveShellInit = "${./scripts/motd.sh}";
# NixOS version
system.stateVersion = "22.05";
system.stateVersion = "24.11";
# Specify secrets
age = {
@@ -124,7 +162,6 @@ with pkgs;
owner = "gitea";
group = "gitea";
};
secrets.ddclient.file = secrets/ddclient.age;
secrets.miniflux = {
file = secrets/miniflux.age;
owner = "miniflux";
@@ -148,8 +185,57 @@ with pkgs;
};
secrets.telegram = {
file = secrets/telegram.age;
owner = "matrix-as-telegram";
group = "matrix-as-telegram";
};
secrets.mqtt-sender = {
file = secrets/mqtt-sender.age;
owner = "mosquitto";
group = "mosquitto";
};
secrets.mqtt-receiver = {
file = secrets/mqtt-receiver.age;
owner = "mosquitto";
group = "mosquitto";
};
secrets.facebook = {
file = secrets/facebook.age;
};
secrets.signal = {
file = secrets/signal.age;
};
secrets.inadyn-duckdns = {
file = secrets/inadyn-duckdns.age;
owner = "inadyn";
group = "inadyn";
};
secrets.inadyn-porkbun = {
file = secrets/inadyn-porkbun.age;
owner = "inadyn";
group = "inadyn";
};
secrets.inadyn-porkbun-secret = {
file = secrets/inadyn-porkbun-secret.age;
owner = "inadyn";
group = "inadyn";
};
secrets.acme-duckdns = {
file = secrets/acme-duckdns.age;
owner = "acme";
group = "nginx";
};
secrets.acme-porkbun = {
file = secrets/acme-porkbun.age;
owner = "acme";
group = "nginx";
};
secrets.microbin = {
file = secrets/microbin.age;
owner = "63026";
group = "63026";
};
secrets.readeck = {
file = secrets/readeck.age;
owner = "63026";
group = "63026";
};
identityPaths = [ "/etc/ssh/id_ed25519" ];
};
@@ -157,10 +243,9 @@ with pkgs;
# Auto-upgrade the system
system.autoUpgrade = {
enable = true;
allowReboot = true;
flake = "/home/coolneng/system";
flags = [
"--update-input"
"agenix"
"--update-input"
"nixpkgs"
"--commit-lock-file"
@@ -192,7 +277,7 @@ with pkgs;
./modules/periodic.nix
./modules/communication.nix
./modules/information.nix
./modules/device.nix
./modules/containers.nix
];
}

290
flake.lock generated
View File

@@ -3,16 +3,18 @@
"agenix": {
"inputs": {
"darwin": "darwin",
"home-manager": "home-manager",
"nixpkgs": [
"nixpkgs"
]
],
"systems": "systems"
},
"locked": {
"lastModified": 1677969766,
"narHash": "sha256-AIp/ZYZMNLDZR/H7iiAlaGpu4lcXsVt9JQpBlf43HRY=",
"lastModified": 1762618334,
"narHash": "sha256-wyT7Pl6tMFbFrs8Lk/TlEs81N6L+VSybPfiIgzU8lbQ=",
"owner": "ryantm",
"repo": "agenix",
"rev": "03b51fe8e459a946c4b88dcfb6446e45efb2c24e",
"rev": "fcdea223397448d35d9b31f798479227e80183f6",
"type": "github"
},
"original": {
@@ -29,11 +31,11 @@
]
},
"locked": {
"lastModified": 1673295039,
"narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=",
"lastModified": 1744478979,
"narHash": "sha256-dyN+teG9G82G+m+PX/aSAagkC+vUv0SgUw3XkPhQodQ=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "87b9d090ad39b25b2400029c64825fc2a8868943",
"rev": "43975d782b418ebf4969e9ccba82466728c2851b",
"type": "github"
},
"original": {
@@ -43,6 +45,63 @@
"type": "github"
}
},
"determinate": {
"inputs": {
"determinate-nixd-aarch64-darwin": "determinate-nixd-aarch64-darwin",
"determinate-nixd-aarch64-linux": "determinate-nixd-aarch64-linux",
"determinate-nixd-x86_64-linux": "determinate-nixd-x86_64-linux",
"nix": "nix",
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1766177528,
"narHash": "sha256-Bl+p766mM7qNCZtMqmTz13RuUbOMKsFa+/vnGYoxgPk=",
"rev": "b159c082f0f9bdefa6c386189a13c5fa0734d8d8",
"revCount": 317,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/determinate/3.15.0/019b3865-57a1-7d80-98c5-962fac29c404/source.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/DeterminateSystems/determinate/%2A"
}
},
"determinate-nixd-aarch64-darwin": {
"flake": false,
"locked": {
"narHash": "sha256-vDaEQ5T4eA7kEPREmm68IVWGR6zT0aDL5slZxA6dkSc=",
"type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.0/macOS"
},
"original": {
"type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.0/macOS"
}
},
"determinate-nixd-aarch64-linux": {
"flake": false,
"locked": {
"narHash": "sha256-Hf4JsIv5G3IR0Q0RHGLSNdmDzFv97sVQQKwzY6A0vV4=",
"type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.0/aarch64-linux"
},
"original": {
"type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.0/aarch64-linux"
}
},
"determinate-nixd-x86_64-linux": {
"flake": false,
"locked": {
"narHash": "sha256-J+J4E02XpEl0ZkpzMbUmGCf6S4yk0gYCYmiGzZ058ik=",
"type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.0/x86_64-linux"
},
"original": {
"type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.0/x86_64-linux"
}
},
"devshell": {
"locked": {
"lastModified": 1642188268,
@@ -59,6 +118,22 @@
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1641205782,
@@ -74,21 +149,110 @@
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"determinate",
"nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1748821116,
"narHash": "sha256-F82+gS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE=",
"rev": "49f0870db23e8c1ca0b5259734a02cd9e1e371a1",
"revCount": 377,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/hercules-ci/flake-parts/0.1.377%2Brev-49f0870db23e8c1ca0b5259734a02cd9e1e371a1/01972f28-554a-73f8-91f4-d488cc502f08/source.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/hercules-ci/flake-parts/0.1"
}
},
"git-hooks-nix": {
"inputs": {
"flake-compat": "flake-compat",
"gitignore": [
"determinate",
"nix"
],
"nixpkgs": [
"determinate",
"nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1747372754,
"narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=",
"rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46",
"revCount": 1026,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/cachix/git-hooks.nix/0.1.1026%2Brev-80479b6ec16fefd9c1db3ea13aeb038c60530f46/0196d79a-1b35-7b8e-a021-c894fb62163d/source.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/cachix/git-hooks.nix/0.1.941"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"agenix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1745494811,
"narHash": "sha256-YZCh2o9Ua1n9uCvrvi5pRxtuVNml8X2a03qIFfRKpFs=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "abfad3d2958c9e6300a883bd443512c55dfeb1be",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"nix": {
"inputs": {
"flake-parts": "flake-parts",
"git-hooks-nix": "git-hooks-nix",
"nixpkgs": "nixpkgs",
"nixpkgs-23-11": "nixpkgs-23-11",
"nixpkgs-regression": "nixpkgs-regression"
},
"locked": {
"lastModified": 1766174426,
"narHash": "sha256-0ZofAQZNgg5nfIKsVb7g4It6ufmIyLtfFRPOf+6WRkk=",
"rev": "15d6091194b5b90d292e8d6283db77f09c303b1e",
"revCount": 24285,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nix-src/3.15.0/019b3854-cca6-7298-a91c-0fd8551a7270/source.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/DeterminateSystems/nix-src/%2A"
}
},
"nix-matrix-appservices": {
"inputs": {
"devshell": "devshell",
"flake-compat": "flake-compat",
"flake-compat": "flake-compat_2",
"nixlib": "nixlib",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1663958238,
"narHash": "sha256-l4VrBCswq500YwsgjK7M8HUmnVWrHYY7DKZ7uZK5Abg=",
"lastModified": 1683490239,
"narHash": "sha256-QKzpvl2XrqbobWq/I/smDa9hEniwctjJybXPVILHP0w=",
"owner": "coffeetables",
"repo": "nix-matrix-appservices",
"rev": "efdc09f26e3b01801edaa3b0e2bdd46d9d133bba",
"rev": "e795d2fbc61da45d49802bb3e8f8d0c70ddc1e68",
"type": "gitlab"
},
"original": {
@@ -114,56 +278,118 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1674550793,
"narHash": "sha256-ljJlIFQZwtBbzWqWTmmw2O5BFmQf1A/DspwMOQtGXHk=",
"lastModified": 1764440730,
"narHash": "sha256-ZlJTNLUKQRANlLDomuRWLBCH5792x+6XUJ4YdFRjtO4=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "b7ac0a56029e4f9e6743b9993037a5aaafd57103",
"rev": "9154f4569b6cdfd3c595851a6ba51bfaa472d9f3",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "master",
"repo": "nixos-hardware",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1679318992,
"narHash": "sha256-uoj5Oy6hruIHuxzfQZtcalObe5kPrX9v+ClUMFEOzmE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e2c97799da5f5cd87adfa5017fba971771e123ef",
"type": "github"
"lastModified": 1761597516,
"narHash": "sha256-wxX7u6D2rpkJLWkZ2E932SIvDJW8+ON/0Yy8+a5vsDU=",
"rev": "daf6dc47aa4b44791372d6139ab7b25269184d55",
"revCount": 811874,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2505.811874%2Brev-daf6dc47aa4b44791372d6139ab7b25269184d55/019a3494-3498-707e-9086-1fb81badc7fe/source.tar.gz"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-22.11",
"type": "indirect"
"type": "tarball",
"url": "https://flakehub.com/f/NixOS/nixpkgs/0.2505"
}
},
"nixpkgs-unstable": {
"nixpkgs-23-11": {
"locked": {
"lastModified": 1679437018,
"narHash": "sha256-vOuiDPLHSEo/7NkiWtxpHpHgoXoNmrm+wkXZ6a072Fc=",
"lastModified": 1717159533,
"narHash": "sha256-oamiKNfr2MS6yH64rUn99mIZjc45nGJlj9eGth/3Xuw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "19cf008bb18e47b6e3b4e16e32a9a4bdd4b45f7e",
"rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-unstable",
"type": "indirect"
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446",
"type": "github"
}
},
"nixpkgs-regression": {
"locked": {
"lastModified": 1643052045,
"narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1765772535,
"narHash": "sha256-aq+dQoaPONOSjtFIBnAXseDm9TUhIbe215TPmkfMYww=",
"rev": "09b8fda8959d761445f12b55f380d90375a1d6bb",
"revCount": 911985,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nixpkgs-weekly/0.1.911985%2Brev-09b8fda8959d761445f12b55f380d90375a1d6bb/019b25ab-7c11-79e0-a0b0-c94d455b7190/source.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/DeterminateSystems/nixpkgs-weekly/0.1"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1766201043,
"narHash": "sha256-eplAP+rorKKd0gNjV3rA6+0WMzb1X1i16F5m5pASnjA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b3aad468604d3e488d627c0b43984eb60e75e782",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"agenix": "agenix",
"determinate": "determinate",
"nix-matrix-appservices": "nix-matrix-appservices",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs",
"nixpkgs-unstable": "nixpkgs-unstable"
"nixpkgs": "nixpkgs_3"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},

View File

@@ -1,43 +1,48 @@
{
description = "System configuration for zion";
nixConfig = {
extra-substituters = "https://install.determinate.systems";
extra-trusted-public-keys = ''
cache.flakehub.com-3:hJuILl5sVK4iKm86JzgdXW12Y2Hwd5G07qKtHTOcDCM=
'';
};
inputs = {
nixpkgs.url = "nixpkgs/nixos-22.11";
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
determinate.url = "https://flakehub.com/f/DeterminateSystems/determinate/*";
agenix = {
url = "github:ryantm/agenix";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-hardware.url = "github:NixOS/nixos-hardware";
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
nix-matrix-appservices = {
url = "gitlab:coffeetables/nix-matrix-appservices";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, nixpkgs-unstable, agenix, nixos-hardware
, nix-matrix-appservices, ... }@inputs:
outputs =
{ self, nixpkgs, ... }@inputs:
let
system = "aarch64-linux";
system = "x86_64-linux";
pkgs = import pkgs { inherit system; };
pkgs-unstable = import inputs.nixpkgs-unstable { inherit system; };
lib = nixpkgs.lib;
in {
in
{
nixosConfigurations.zion = lib.nixosSystem {
inherit system;
modules = [
(import ./configuration.nix)
agenix.nixosModules.age
nixos-hardware.nixosModules.raspberry-pi-4
nix-matrix-appservices.nixosModule
inputs.agenix.nixosModules.age
inputs.nixos-hardware.nixosModules.aoostar-r1-n100
inputs.determinate.nixosModules.default
];
specialArgs = {
inherit inputs;
inherit pkgs-unstable;
};
};

View File

@@ -1,4 +1,9 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
with pkgs;
@@ -11,18 +16,8 @@ let
conn_max_lifetime = -1;
};
latest-mautrix-signal = mautrix-signal.overrideAttrs (old: rec {
version = "0.4.2";
src = fetchFromGitHub {
owner = "mautrix";
repo = "signal";
rev = "refs/tags/v${version}";
sha256 = "UbetU1n9zD/mVFaJc9FECDq/Zell1TI/aYPsGXGB8Js=";
};
});
in {
in
{
# Matrix server configuration
services.dendrite = {
enable = true;
@@ -39,22 +34,32 @@ in {
# HACK Inherit postgres connection string for the rest of the DBs
app_service_api = {
inherit database;
config_files = [
"/var/lib/matrix-as-facebook/facebook-registration.yaml"
"/var/lib/matrix-as-signal/signal-registration.yaml"
"/var/lib/matrix-as-telegram/telegram-registration.yaml"
];
};
media_api = { inherit database; };
room_server = { inherit database; };
push_server = { inherit database; };
media_api = {
inherit database;
};
room_server = {
inherit database;
};
push_server = {
inherit database;
};
mscs = {
inherit database;
mscs = [ "msc2836" "msc2946" ];
mscs = [
"msc2836"
"msc2946"
];
};
sync_api = {
inherit database;
};
key_server = {
inherit database;
};
federation_api = {
inherit database;
};
sync_api = { inherit database; };
key_server = { inherit database; };
federation_api = { inherit database; };
user_api = {
account_database = database;
device_database = database;
@@ -62,69 +67,37 @@ in {
};
};
# Matrix bridges
services.matrix-appservices = {
homeserver = "dendrite";
homeserverDomain = "coolneng.duckdns.org";
homeserverURL = "https://matrix.coolneng.duckdns.org";
addRegistrationFiles = true;
services = {
telegram = {
port = 8118;
format = "mautrix-python";
package = mautrix-telegram;
serviceConfig.EnvironmentFile = config.age.secrets.telegram.path;
settings = {
homeserver.software = "standard";
telegram = {
api_id = "$API_ID";
api_hash = "$API_HASH";
};
bridge = {
permissions."@coolneng:coolneng.duckdns.org" = "admin";
backfill.normal_groups = true;
};
};
};
facebook = {
port = 8228;
format = "mautrix-python";
package = mautrix-facebook;
settings.homeserver.software = "standard";
};
signal = {
port = 8338;
format = "mautrix-python";
package = latest-mautrix-signal;
serviceConfig = {
StateDirectory = [ "matrix-as-signal" "signald" ];
JoinNamespaceOf = "signald.service";
SupplementaryGroups = [ "signald" ];
};
settings = {
homeserver.software = "standard";
signal = {
socket_path = config.services.signald.socketPath;
outgoing_attachment_dir = "/var/lib/signald/tmp";
};
};
};
};
};
# Start dendrite after config files are mounted
systemd.services.dendrite.unitConfig.RequiresMountsFor = [
/var/lib/matrix-as-facebook
/var/lib/matrix-as-signal
/var/lib/matrix-as-telegram
];
# Additional settings for mautrix-signal
services.signald = {
# MQTT configuration
services.mosquitto = {
enable = true;
user = "matrix-as-signal";
dataDir = "/vault/mosquitto";
logType = [
"websockets"
"error"
"warning"
"notice"
"information"
];
logDest = [ "syslog" ];
listeners = [
{
users.homeostasis = {
acl = [ "write #" ];
hashedPasswordFile = config.age.secrets.mqtt-sender.path;
};
systemd.services.matrix-as-signal = {
requires = [ "signald.service" ];
after = [ "signald.service" ];
unitConfig.JoinsNamespaceOf = "signald.service";
path = [ ffmpeg ];
users.prometheus = {
acl = [ "read #" ];
hashedPasswordFile = config.age.secrets.mqtt-receiver.path;
};
}
];
};
# Enable voice messages for facebook
systemd.services.matrix-as-facebook.path = [ ffmpeg ];
}

68
modules/containers.nix Normal file
View File

@@ -0,0 +1,68 @@
{
config,
lib,
pkgs,
...
}:
{
# Podman setup
virtualisation = {
containers.enable = true;
podman = {
enable = true;
dockerCompat = true;
extraPackages = with pkgs; [ zfs ];
};
oci-containers = {
backend = "podman";
containers = {
# Openbooks configuration
openbooks = {
image = "evanbuss/openbooks@sha256:4fa9188885368c2303b7dc527d48b3159aaa7022010e29b3ed96842018793590";
ports = [ "127.0.0.1:9000:80" ];
cmd = [
"--name"
"bradar"
"--searchbot"
"searchook"
"--persist"
"--tls"
"false"
];
};
# Prometheus MQTT integration
mqtt2prometheus = {
image = "hikhvar/mqtt2prometheus@sha256:8e166d36feaa5ddcad703eef3a2c5167a154d6eef306a40fe6509861580c0714";
ports = [ "127.0.0.1:9641:9641" ];
volumes = [ "/vault/mqtt2prometheus/config.yaml:/config.yaml" ];
};
# Podcast synchronization
opodsync = {
image = "ganeshlab/opodsync@sha256:32626b732fe38687a5dfd703d515136e413c4b16f286b38656718ad03f0d94c1";
ports = [ "127.0.0.1:9090:8080" ];
volumes = [ "/vault/opodsync:/var/www/server/data" ];
};
# Photo gallery
pigallery2 = {
image = "bpatrik/pigallery2@sha256:c936e4504cfe7158198542a8db794b24afb0301155d89e911f13bd04e0b406c2";
ports = [ "127.0.0.1:9191:80" ];
volumes = [
"/vault/pigallery2/config:/app/data/config"
"/vault/pigallery2/db:/app/data/db"
"/vault/pigallery2/tmp:/app/data/tmp"
"/vault/syncthing/Photos:/app/data/images"
];
cmd = [
"-e"
"NODE_ENV=production"
];
};
};
};
};
# Start services after ZFS mount
systemd.services.podman-mqtt2prometheus.unitConfig.RequiresMountsFor = [ /vault/mqtt2prometheus ];
}

View File

@@ -1,4 +1,10 @@
{ config, pkgs, lib, ... }: {
{
config,
pkgs,
lib,
...
}:
{
# Syncthing configuration
services.syncthing = {
@@ -7,39 +13,54 @@
guiAddress = "0.0.0.0:8384";
dataDir = "/vault/syncthing";
key = config.age.secrets.syncthing.path;
settings = {
extraOptions.options = {
maxFolderConcurrency = 4;
progressUpdateIntervalS = -1;
};
devices = {
panacea.id =
"NF4SYEJ-RSGPDEF-CDEYC3A-JWZMKNC-KG4FVQP-CZ5HRFY-XM22BZD-N7B6VAH";
caravanserai.id =
"MIRF73R-S7AV47R-VLWZUK2-TFCVQPV-FRYCPND-Y4VR3W2-ZAIQXZD-JAEQCAD";
panacea.id = "VEGVHKF-P4FT3BD-4T3ML7J-65URQOU-3XKNMI5-6LGWSCI-BIQZOUE-RKQ6PQX";
caravanserai.id = "XQAXYEU-FWLAFZM-GTZYDGH-AIRBEXI-4CZD365-JUBTHDA-GOXXOYV-E5LEYQE";
};
folders = {
Documents = {
id = "wusdj-bfjkr";
type = "receiveonly";
path = "/vault/syncthing/Documents";
devices = [ "panacea" "caravanserai" ];
devices = [
"panacea"
"caravanserai"
];
};
Notes = {
id = "kafhz-bfmzm";
type = "receiveonly";
path = "/vault/syncthing/Notes";
devices = [ "panacea" "caravanserai" ];
devices = [
"panacea"
"caravanserai"
];
};
Music = {
id = "2aqt7-vpprc";
type = "receiveonly";
path = "/vault/syncthing/Music";
devices = [ "panacea" "caravanserai" ];
devices = [
"panacea"
"caravanserai"
];
};
Photos = {
id = "mjibc-ustcg";
type = "receiveonly";
path = "/vault/syncthing/Photos";
devices = [ "panacea" "caravanserai" ];
devices = [
"panacea"
"caravanserai"
];
};
Projects = {
@@ -53,21 +74,41 @@
id = "m2007j20cg_vc7r-photos";
type = "receiveonly";
path = "/vault/syncthing/Photos/Phone";
devices = [ "panacea" "caravanserai" ];
devices = [
"panacea"
"caravanserai"
];
};
Files = {
id = "tsk52-u6rbk";
type = "receiveonly";
path = "/vault/syncthing/Files";
devices = [ "panacea" "caravanserai" ];
devices = [
"panacea"
"caravanserai"
];
};
Phone-screenshots = {
id = "pp70r-pbr70";
type = "receiveonly";
path = "/vault/syncthing/Photos/Phone-screenshots";
devices = [ "panacea" "caravanserai" ];
devices = [
"panacea"
"caravanserai"
];
};
Audio = {
id = "tarrs-5mxck";
type = "receiveonly";
path = "/vault/syncthing/Audio";
devices = [
"panacea"
"caravanserai"
];
};
};
};
};
@@ -97,4 +138,8 @@
monthly = 12;
};
# Start services after ZFS mount
systemd.services.syncthing.unitConfig.RequiresMountsFor = [ /vault/syncthing ];
systemd.services.radicale.unitConfig.RequiresMountsFor = [ /vault/radicale ];
}

View File

@@ -1,39 +0,0 @@
{ config, lib, pkgs, ... }:
with pkgs;
{
# A bunch of boot parameters needed for optimal runtime on RPi 4B
boot.kernelPackages = linuxPackages_rpi4;
boot.kernelParams = [
"zfs.zfs_arc_max=134217728"
"console=TTYAMA0,115200"
"console=tty1"
"8250.nr_uarts=1"
"iomem=relaxed"
"strict-devmem=0"
];
# Enable SATA-HAT GPIO features
boot.loader = {
grub.enable = false;
generic-extlinux-compatible.enable = lib.mkForce false;
};
boot.loader.raspberryPi = {
enable = true;
version = 4;
firmwareConfig = ''
iomem=relaxed
strict-devmem=0
dtoverlay=w1-gpio
'';
};
boot.kernelModules = [ "pwm_bcm2835" "w1-gpio" "w1-therm" ];
# Load PWM hardware timers
hardware.raspberry-pi."4".pwm0.enable = true;
# Enable I2C
hardware.raspberry-pi."4".i2c1.enable = true;
}

View File

@@ -1,10 +1,13 @@
{ config, pkgs, pkgs-unstable, lib, ... }: {
{
config,
pkgs,
lib,
...
}:
{
# Set up Gitea with LFS support
services.gitea = {
enable = true;
domain = "git.coolneng.duckdns.org";
rootUrl = "https://git.coolneng.duckdns.org";
package = pkgs-unstable.gitea;
database = {
type = "postgres";
passwordFile = config.age.secrets.gitea.path;
@@ -16,10 +19,17 @@
contentDir = "${config.services.gitea.repositoryRoot}/data/lfs";
};
settings = {
ui.DEFAULT_THEME = "arc-green";
server = {
DISABLE_SSH = true;
DOMAIN = "git.psydnd.org";
ROOT_URL = "https://git.psydnd.org";
};
service.DISABLE_REGISTRATION = true;
session.COOKIE_SECURE = true;
server.DISABLE_SSH = true;
actions.ENABLED = true;
};
};
# Start services after ZFS mount
systemd.services.gitea.unitConfig.RequiresMountsFor = [ /vault/git ];
}

View File

@@ -8,97 +8,51 @@
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" ];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/44444444-4444-4444-8888-888888888888";
fsType = "ext4";
{ device = "sysion/stateful/root";
fsType = "zfs";
};
fileSystems."/nix" =
{ device = "sysion/ephemeral/nix";
fsType = "zfs";
};
fileSystems."/tmp" =
{ device = "sysion/ephemeral/tmp";
fsType = "zfs";
};
fileSystems."/home/coolneng" =
{ device = "sysion/stateful/home";
fsType = "zfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/2178-694E";
{ device = "/dev/disk/by-uuid/C332-4650";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
fileSystems."/var/lib/matrix-as-facebook" =
{ device = "vault/state_directories/matrix-as-facebook";
fsType = "zfs";
};
fileSystems."/var/lib/matrix-as-signal" =
{ device = "vault/state_directories/matrix-as-signal";
fsType = "zfs";
};
fileSystems."/var/lib/signald" =
{ device = "vault/state_directories/signald";
fsType = "zfs";
};
fileSystems."/var/lib/gitea" =
{ device = "vault/state_directories/gitea";
fsType = "zfs";
};
fileSystems."/var/lib/matrix-as-telegram" =
{ device = "vault/state_directories/matrix-as-telegram";
fsType = "zfs";
};
fileSystems."/vault" =
{ device = "vault";
fsType = "zfs";
};
fileSystems."/var/lib/wallabag" =
{ device = "vault/state_directories/wallabag";
fsType = "zfs";
};
fileSystems."/vault/git" =
{ device = "vault/git";
fsType = "zfs";
};
fileSystems."/vault/backups" =
{ device = "vault/backups";
fsType = "zfs";
};
fileSystems."/vault/radicale" =
{ device = "vault/radicale";
fsType = "zfs";
};
fileSystems."/vault/backups/zion" =
{ device = "vault/backups/zion";
fsType = "zfs";
};
fileSystems."/vault/syncthing" =
{ device = "vault/syncthing";
fsType = "zfs";
};
fileSystems."/vault/backups/monolith" =
{ device = "vault/backups/monolith";
fsType = "zfs";
};
swapDevices = [ ];
swapDevices =
[ { device = "/dev/disk/by-uuid/d388feef-a651-4dae-8161-f666136de240"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.eth0.useDHCP = lib.mkDefault true;
# networking.interfaces.enp2s0.useDHCP = lib.mkDefault true;
# networking.interfaces.enp3s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wg0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlan0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux";
powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View File

@@ -1,57 +1,44 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
{
# Miniflux configuration
services.miniflux = {
enable = true;
adminCredentialsFile = config.age.secrets.miniflux.path;
config = {
BASE_URL = "https://rss.coolneng.duckdns.org";
RUN_MIGRATIONS = "1";
DISABLE_HSTS = "1";
};
};
# Php-fpm pool for Wallabag
services.phpfpm.pools.wallabag = {
user = "nginx";
group = "nginx";
settings = {
"listen.owner" = config.services.nginx.user;
"listen.group" = config.services.nginx.group;
"listen.mode" = 600;
"pm" = "ondemand";
"pm.max_children " = 4;
"pm.max_requests" = 32;
"env[WALLABAG_DATA]" = "/var/lib/wallabag";
};
phpEnv."PATH" = lib.makeBinPath [ pkgs.php ];
};
# Set environment variable pointing to wallabag configuration directory
environment.variables.WALLABAG_DATA = "/var/lib/wallabag";
# Podman setup
virtualisation = {
containers.enable = true;
podman = {
# Microbin configuration
services.microbin = {
enable = true;
dockerCompat = true;
extraPackages = with pkgs; [ zfs ];
passwordFile = config.age.secrets.microbin.path;
settings = {
MICROBIN_PORT = 9091;
MICROBIN_PUBLIC_PATH = "https://bin.psydnd.org";
MICROBIN_QR = true;
MICROBIN_WIDE = true;
};
};
# Openbooks configuration
oci-containers = {
backend = "podman";
containers = {
openbooks = {
image =
"evanbuss/openbooks@sha256:16609c3da954715f8f98b5de6c838146914ae700b2a700b4d9aad8b23c9217da";
ports = [ "127.0.0.1:9000:80" ];
cmd = [ "--name" "bookworm" "--searchbot" "searchook" "--persist" ];
};
# Readeck configuration
services.readeck = {
enable = true;
settings = {
server = {
host = "127.0.0.1";
port = 9092;
allowed_hosts = [ "read.psydnd.org" ];
trusted_proxies = [ "127.0.0.1" ];
environmentFile = config.age.secrets.readeck.path;
};
};
};
# NOTE Load credentials using environment variables
systemd.services.readeck.serviceConfig.EnvironmentFile = config.age.secrets.readeck.path;
}

View File

@@ -1,4 +1,9 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
with pkgs;
@@ -46,34 +51,39 @@ with pkgs;
services.prometheus = {
enable = true;
port = 9001;
retentionTime = "10y";
extraFlags = [ "--web.enable-admin-api" ];
exporters = {
node = {
enable = true;
enabledCollectors = [ "systemd" ];
port = 9002;
};
zfs.enable = true;
wireguard.enable = true;
postgres.enable = true;
smartctl.enable = true;
#nginx.enable = true;
dnsmasq.enable = true;
};
scrapeConfigs = [{
scrapeConfigs = [
{
job_name = "zion";
static_configs = [{
static_configs = [
{
targets = [
"localhost:${toString config.services.prometheus.exporters.node.port}"
"localhost:${toString config.services.prometheus.exporters.postgres.port}"
"localhost:${toString config.services.prometheus.exporters.smartctl.port}"
"localhost:9641" # MQTT2Prometheus
];
}
];
}
];
}];
}];
};
# Grafana configuration
services.grafana = {
enable = true;
settings.server = {
domain = "grafana.coolneng.duckdns.org";
domain = "grafana.psydnd.org";
http_port = 9009;
http_addr = "127.0.0.1";
};

View File

@@ -1,46 +1,61 @@
{ config, pkgs, lib, ... }:
{
config,
pkgs,
lib,
...
}:
let wireguard_port = 1194;
let
wireguard_port = 1194;
in {
in
{
# Enable systemd-networkd
networking = {
hostName = "zion";
hostId = "4e74ea68";
hostId = "760bfad7";
useDHCP = false;
useNetworkd = true;
dhcpcd.enable = false;
};
systemd.services."systemd-networkd-wait-online".enable = false;
systemd.network.wait-online.enable = false;
# Assign a static IP
systemd.network.networks."24-home" = {
name = "eth0";
matchConfig.Name = "eth0";
address = [ "192.168.13.2/24" ];
gateway = [ "192.168.13.1" ];
dns = [ "192.168.13.2" ];
name = "enp2s0";
matchConfig.Name = "enp2s0";
address = [ "192.168.128.2/23" ];
gateway = [ "192.168.128.1" ];
dns = [
"127.0.0.1"
"::1"
];
networkConfig.DNSSEC = "no";
};
# Enable zeroconf
services.avahi = {
# Dynamic DNS configuration
services.inadyn = {
enable = true;
nssmdns = true;
openFirewall = true;
publish = {
enable = true;
userServices = true;
interval = "*:0/30";
settings.provider."duckdns" = {
hostname = "coolneng.duckdns.org";
include = config.age.secrets.inadyn-duckdns.path;
};
};
# Dynamic DNS configuration
services.ddclient = {
# Dynamic DNS configuration for Porkbun
# NOTE Temporary workaround until Inadyn fixes the Porkbun module
services.oink = {
enable = true;
quiet = true;
protocol = "duckdns";
domains = [ "coolneng.duckdns.org" ];
passwordFile = config.age.secrets.ddclient.path;
apiKeyFile = config.age.secrets.inadyn-porkbun.path;
secretApiKeyFile = config.age.secrets.inadyn-porkbun-secret.path;
settings.interval = 1800;
domains = [
{
domain = "psydnd.org";
subdomain = "";
}
];
};
# Firewall configuration
@@ -50,13 +65,19 @@ in {
443 # HTTPS
53 # DNS
8448 # Matrix
1883 # MQTT
];
allowedUDPPorts = [
wireguard_port # Wireguard
53 # DNS
];
extraCommands = ''
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o ${
config.systemd.network.networks."24-home".name
} -j MASQUERADE
ip6tables -t nat -A POSTROUTING -s fd00::0/128 -o ${
config.systemd.network.networks."24-home".name
} -j MASQUERADE
'';
};
@@ -73,17 +94,27 @@ in {
wireguardPeers = [
# panacea
{
wireguardPeerConfig = {
PublicKey = "XMkTztU2Y8hw6Fu/2o4Gszij+EmNacvFMXuZyHS1n38=";
AllowedIPs = [ "10.8.0.2/32" ];
};
AllowedIPs = [
"10.8.0.2/32"
"fd00::2/128"
];
}
# caravanserai
{
wireguardPeerConfig = {
PublicKey = "eeKfAgMisM3K4ZOErev05RJ9LS2NLqL4x9jyi4XhM1Q=";
AllowedIPs = [ "10.8.0.3/32" ];
};
PublicKey = "mCsTj09H7lfDDs8vMQkJOlItHtHQ6MPUyfGO5ZjBbVs=";
AllowedIPs = [
"10.8.0.3/32"
"fd00::3/128"
];
}
# kathreftis
{
PublicKey = "qfHtv6LSZjtxvH46d8pysr+/yPo2tV9cZumgIpxBNF4=";
AllowedIPs = [
"10.8.0.4/32"
"fd00::4/128"
];
}
];
};
@@ -91,32 +122,68 @@ in {
systemd.network.networks."wg0" = {
matchConfig.Name = "wg0";
networkConfig = {
Address = "10.8.0.1/24";
IPForward = true;
IPMasquerade = "ipv4";
Address = [
"10.8.0.1/24"
"fd00::1/128"
];
IPv4Forwarding = true;
IPv6Forwarding = true;
};
};
# Disable systemd-resolved DNS stub
services.resolved = {
enable = true;
llmnr = "false";
extraConfig = ''
MulticastDNS=yes
DNSStubListener=no
'';
};
# DNS server with ad-block
services.dnsmasq = {
enable = true;
servers = [ "51.158.108.203" "137.220.55.93" ];
extraConfig = ''
domain-needed
bogus-priv
no-resolv
settings = {
domain-needed = true;
bogus-priv = true;
no-resolv = true;
listen-address=127.0.0.1,192.168.13.2,10.8.0.1
bind-interfaces
listen-address = [
"127.0.0.1"
"192.168.128.2"
"10.8.0.1"
"::1"
"fd00::1"
];
bind-interfaces = true;
server = [ "127.0.0.1#43" ];
cache-size=10000
local-ttl=300
cache-size = 10000;
local-ttl = 300;
conf-file=/var/lib/dnsmasq/dnsmasq.blacklist.txt
conf-file = "${pkgs.dnsmasq}/share/dnsmasq/trust-anchors.conf";
dnssec = false;
address = "/psydnd.org/192.168.128.2";
};
};
address=/coolneng.duckdns.org/192.168.13.2
'';
# Encrypted DNS
services.dnscrypt-proxy = {
enable = true;
upstreamDefaults = true;
settings = {
listen_addresses = [
"127.0.0.1:43"
"[::1]:43"
];
sources.public-resolvers = {
urls = [ "https://download.dnscrypt.info/resolvers-list/v3/public-resolvers.md" ];
cache_file = "/var/lib/dnscrypt-proxy2/public-resolvers.md";
minisign_key = "RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3";
};
blocked_names.blocked_names_file = "/var/lib/dnscrypt-proxy/blocklist.txt";
};
};
}

View File

@@ -1,10 +1,16 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
let
stateDir = "/var/lib/dnsmasq";
blocklist = "${stateDir}/dnsmasq.blacklist.txt";
stateDir = "/var/lib/dnscrypt-proxy";
blocklist = "${stateDir}/blocklist.txt";
in {
in
{
# PostgreSQL daily backups
services.postgresqlBackup = {
enable = true;
@@ -14,71 +20,21 @@ in {
};
# Fetch hosts-blocklists daily
# TODO Download the list if the file doesn't exist the first time
systemd.services.download-dns-blocklist = {
description = "Download hosts-blocklists";
wantedBy = [ "default.target" ];
path = with pkgs; [ curl coreutils ];
path = with pkgs; [
curl
coreutils
];
script = ''
curl -L https://github.com/notracking/hosts-blocklists/raw/master/dnsmasq/dnsmasq.blacklist.txt -o ${blocklist}
sed "/cainiao/d" -i ${blocklist}
curl -L https://download.dnscrypt.info/blacklists/domains/mybase.txt -o ${blocklist}
'';
serviceConfig.Type = "oneshot";
postStop = ''
chown -R dnsmasq ${stateDir}
systemctl restart dnsmasq
'';
after = [ "wireguard-wg0.service" ];
startAt = "02:00:00";
};
# Enable SATA HAT
systemd.services.sata-hat = {
description = "Enable software support for SATA Hat";
wantedBy = [ "zfs-import.target" ];
script = ''
${pkgs.bash}/bin/bash -c "/home/coolneng/system/scripts/SATA-hat.sh on"
'';
serviceConfig = {
Type = "oneshot";
RemainAfterExit = "yes";
ExecStop = ''
${pkgs.bash}/bin/bash -c "/home/coolneng/system/scripts/SATA-hat.sh off"
'';
};
before = [ "zfs-import.target" "zfs-import-vault.service" "umount.target" ];
requires = [ "systemd-udev-settle.service" ];
after = [ "systemd-udev-settle.service" ];
conflicts = [ "umount.target" ];
requiredBy = [ "syncthing.service" "radicale.service" "gitea.service" ];
};
# HACK: restart services dependent on ZFS afer mount
systemd.services.restart-services-mount = {
description = "Restart services after the ZFS dataset is mounted";
wantedBy = [ "default.target" ];
script = ''
sleep 5
systemctl restart syncthing
systemctl restart radicale
systemctl restart gitea
systemctl restart podman-openbooks
'';
serviceConfig.Type = "oneshot";
requires = [ "sata-hat.service" ];
after = [ "vault.mount" ];
};
# Idle HDDs when not used
systemd.services.hd-idle = {
description = "Idle HDDs when not in use";
wantedBy = [ "default.target" ];
path = with pkgs; [ hd-idle ];
script = "${pkgs.hd-idle}/bin/hd-idle";
serviceConfig.Type = "simple";
requires = [ "sata-hat.service" ];
after = [ "vault.mount" ];
};
# Push zion changes to git daily
systemd.user.services.zion-push = {
description = "Push zion changes to git";

View File

@@ -1,16 +1,21 @@
# Web services configuration
{ config, pkgs, lib, ... }: {
{
config,
pkgs,
lib,
...
}:
{
# Reverse proxy configuration
services.nginx = {
enable = true;
recommendedTlsSettings = true;
recommendedGzipSettings = true;
recommendedBrotliSettings = true;
recommendedProxySettings = true;
recommendedOptimisation = true;
clientMaxBodySize = "0";
sslCiphers =
"ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK:!AES128";
sslCiphers = "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK:!AES128";
sslProtocols = "TLSv1.2 TLSv1.3";
sslDhparam = "/var/lib/dhparams/nginx.pem";
commonHttpConfig = ''
@@ -29,17 +34,12 @@
proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict";
'';
virtualHosts = {
# Old domain being redirected
"coolneng.duckdns.org" = {
enableACME = true;
useACMEHost = "coolneng.duckdns.org";
forceSSL = true;
# Redirect from legacy subdirectory URL to subdomain
locations = {
"/radicale/".return = "301 https://radicale.coolneng.duckdns.org";
"/syncthing/".return = "301 https://sync.coolneng.duckdns.org";
"/gitea/".extraConfig =
"rewrite ^/gitea/(.*)$ https://git.coolneng.duckdns.org/$1 last;";
"/miniflux/".extraConfig =
"rewrite ^/miniflux/(.*)$ https://rss.coolneng.duckdns.org/$1 last;";
"/".return = "301 https://psydnd.org$request_uri";
# Delegation for Matrix
"/.well-known/" = {
alias = "${../well-known}" + "/";
@@ -49,16 +49,21 @@
add_header Access-Control-Allow-Origin * always;
'';
};
"/nginx_status/".extraConfig = ''
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
'';
};
};
"radicale.coolneng.duckdns.org" = {
enableACME = true;
# Redirect subdomains
"~^(?<subdomain>.+)\.coolneng\.duckdns\.org$" = {
useACMEHost = "coolneng.duckdns.org";
forceSSL = true;
locations."/".return = "301 https://$subdomain.psydnd.org$request_uri";
};
# Current domain
"psydnd.org" = {
useACMEHost = "psydnd.org";
forceSSL = true;
};
"radicale.psydnd.org" = {
useACMEHost = "psydnd.org";
forceSSL = true;
locations."/" = {
proxyPass = "http://localhost:5232/";
@@ -68,32 +73,33 @@
'';
};
};
"sync.coolneng.duckdns.org" = {
enableACME = true;
"sync.psydnd.org" = {
useACMEHost = "psydnd.org";
forceSSL = true;
locations."/".proxyPass = "http://localhost:8384/";
};
"git.coolneng.duckdns.org" = {
enableACME = true;
"git.psydnd.org" = {
useACMEHost = "psydnd.org";
forceSSL = true;
locations."/" = {
proxyPass = "http://localhost:3000/";
extraConfig = ''
${config.services.nginx.commonHttpConfig}
# Disable embedding as a frame, except from the same origin
add_header Content-Security-Policy "frame-src git.coolneng.duckdns.org; frame-ancestors git.coolneng.duckdns.org";
add_header Content-Security-Policy "frame-src git.psydnd.org; frame-ancestors git.psydnd.org";
'';
};
};
"rss.coolneng.duckdns.org" = {
enableACME = true;
"rss.psydnd.org" = {
useACMEHost = "psydnd.org";
forceSSL = true;
locations."/".proxyPass = "http://localhost:8080/";
};
"matrix.coolneng.duckdns.org" = {
enableACME = true;
"matrix.psydnd.org" = {
useACMEHost = "psydnd.org";
forceSSL = true;
listen = [
# IPv4
{
addr = "0.0.0.0";
port = 8448;
@@ -104,48 +110,32 @@
port = 443;
ssl = true;
}
# IPv6
{
addr = "[::]";
port = 8448;
ssl = true;
}
{
addr = "[::]";
port = 443;
ssl = true;
}
];
locations."~ ^(/_matrix|/_synapse/client)" = {
proxyPass = "http://localhost:8008";
extraConfig = ''
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
'';
locations."~ ^(/_matrix|/_synapse/client)".proxyPass = "http://localhost:8008";
};
};
"element.coolneng.duckdns.org" = {
enableACME = true;
"element.psydnd.org" = {
useACMEHost = "psydnd.org";
forceSSL = true;
locations."/".root = pkgs.element-web.override {
conf.default_server_config = {
"m.homeserver"."base_url" = "https://matrix.coolneng.duckdns.org";
"m.homeserver"."base_url" = "https://matrix.psydnd.org";
"m.identity_server"."base_url" = "https://vector.im";
};
};
};
"wallabag.coolneng.duckdns.org" = {
enableACME = true;
forceSSL = true;
root = "${pkgs.wallabag}/web";
locations = {
"/".tryFiles = "$uri /app.php$is_args$args";
"/assets".root = "${config.environment.variables.WALLABAG_DATA}/web";
"~ ^/app.php(/|$)" = {
fastcgiParams = {
SCRIPT_FILENAME = "${pkgs.wallabag}/web/$fastcgi_script_name";
DOCUMENT_ROOT = "${pkgs.wallabag}/web";
};
extraConfig = ''
fastcgi_pass unix:${config.services.phpfpm.pools.wallabag.socket};
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include ${pkgs.nginx}/conf/fastcgi_params;
internal;
'';
};
};
};
"books.coolneng.duckdns.org" = {
enableACME = true;
"books.psydnd.org" = {
useACMEHost = "psydnd.org";
forceSSL = true;
locations."/" = {
proxyPass = "http://localhost:9000/";
@@ -156,43 +146,70 @@
'';
};
};
"grafana.coolneng.duckdns.org" = {
enableACME = true;
"grafana.psydnd.org" = {
useACMEHost = "psydnd.org";
forceSSL = true;
locations."/" = {
proxyPass = "http://localhost:9009/";
proxyWebsockets = true;
};
};
"podcast.psydnd.org" = {
useACMEHost = "psydnd.org";
forceSSL = true;
locations."/".proxyPass = "http://localhost:9090/";
};
"bin.psydnd.org" = {
useACMEHost = "psydnd.org";
forceSSL = true;
locations."/".proxyPass = "http://localhost:9091/";
};
"read.psydnd.org" = {
useACMEHost = "psydnd.org";
forceSSL = true;
locations."/".proxyPass = "http://localhost:9092/";
};
"photos.psydnd.org" = {
useACMEHost = "psydnd.org";
forceSSL = true;
locations."/".proxyPass = "http://localhost:9191/";
};
};
};
# ACME certs configuration
security.acme = {
acceptTerms = true;
defaults.email = "akasroua@gmail.com";
certs."coolneng.duckdns.org".extraDomainNames = [
"radicale.coolneng.duckdns.org"
"sync.coolneng.duckdns.org"
"git.coolneng.duckdns.org"
"rss.coolneng.duckdns.org"
"matrix.coolneng.duckdns.org"
"element.coolneng.duckdns.org"
"wallabag.coolneng.duckdns.org"
"books.coolneng.duckdns.org"
];
defaults = {
email = "akasroua@disroot.org";
group = "nginx";
};
certs = {
"coolneng.duckdns.org" = {
domain = "*.coolneng.duckdns.org";
dnsProvider = "duckdns";
environmentFile = config.age.secrets.acme-duckdns.path;
};
"psydnd.org" = {
domain = "psydnd.org";
extraDomainNames = [ "*.psydnd.org" ];
dnsProvider = "porkbun";
environmentFile = config.age.secrets.acme-porkbun.path;
};
};
};
# Generate dhparams
security.dhparams = {
enable = true;
params.nginx.bits = 2048;
defaultBitSize = 4096;
params.nginx.bits = 4096;
};
# PostgreSQL databases configuration
services.postgresql = {
enable = true;
package = pkgs.postgresql_15;
package = pkgs.postgresql_16;
authentication = lib.mkForce ''
# Generated file; do not edit!
# TYPE DATABASE USER ADDRESS METHOD
@@ -202,7 +219,7 @@
'';
settings = {
max_connections = "300";
shared_buffers = "512MB";
shared_buffers = "1024MB";
};
};
@@ -213,7 +230,9 @@
"miniflux.service"
"radicale.service"
"dendrite.service"
"phpfpm-wallabag.service"
"systemd-tmpfiles-setup.service"
"grafana.service"
"podman-openbooks.service"
"podman-mqtt2prometheus.service"
"podman-opodsync.service"
];
}

View File

@@ -1,75 +0,0 @@
#!/bin/sh
BASE_PATH=/sys/class
GPIO_PATH="$BASE_PATH"/gpio
PWM_PATH="$BASE_PATH"/pwm/pwmchip0
# GPIO pins
SATA0=26
SATA1=25
CPU_FAN=12
# Values
LOW=0
HIGH=1
export_pin() {
if [ ! -e $GPIO_PATH/gpio"$1" ]; then
echo "$1" >$GPIO_PATH/export
fi
}
unexport_pin() {
if [ -e $GPIO_PATH/gpio"$1" ]; then
echo "$1" >$GPIO_PATH/unexport
fi
}
set_gpio() {
export_pin "$1"
echo "out" >$GPIO_PATH/gpio"$1"/direction
echo "$2" >$GPIO_PATH/gpio"$1"/value
if [ "$3" = "clean" ]; then
unexport_pin "$1"
fi
}
enable_pwm_channel() {
echo "$1" >$PWM_PATH/export
echo 40000 >$PWM_PATH/pwm"$1"/period
echo 30000 >$PWM_PATH/pwm"$1"/duty_cycle
echo 1 >$PWM_PATH/pwm"$1"/enable
}
set_pwm() {
if [ "$1" = "clean" ]; then
echo 1 >$PWM_PATH/unexport
else
enable_pwm_channel 1
fi
}
turn_on() {
set_gpio $SATA0 $HIGH
sleep 1
set_gpio $SATA1 $HIGH
set_gpio $CPU_FAN $HIGH
set_pwm
}
turn_off() {
set_gpio $SATA0 $LOW clean
set_gpio $SATA1 $LOW clean
set_gpio $CPU_FAN $LOW clean
set_pwm clean
}
trap turn_off INT
if [ "$1" = "on" ]; then
turn_on
else
turn_off
fi
exit 0

66
scripts/install.sh Executable file
View File

@@ -0,0 +1,66 @@
#!/bin/sh
partition_disk() {
parted "$DISK" -- mklabel gpt
parted "$DISK" -- mkpart ESP fat32 1MiB 1025MiB
parted "$DISK" -- mkpart linux-swap 1025MiB 17409MiB
parted "$DISK" -- mkpart primary 17409MiB 100%
parted "$DISK" -- set 1 boot on
mkfs.fat -F32 -n BOOT "$DISK"p1
mkswap "$DISK"p2
swapon "$DISK"p2
}
zfs_setup() {
zpool import -f vault
zpool create -f -o ashift=12 -o autotrim=on -O acltype=posixacl -O relatime=on \
-O xattr=sa -O dnodesize=legacy -O normalization=formD -O mountpoint=none \
-O canmount=off -O devices=off -R /mnt -O compression=zstd "$POOL_NAME" "$DISK"p3
zfs create -o mountpoint=legacy -o com.sun:auto-snapshot=false "$POOL_NAME"/ephemeral
zfs create -o mountpoint=legacy -o com.sun:auto-snapshot=false "$POOL_NAME"/ephemeral/nix
zfs create -o mountpoint=legacy -o com.sun:auto-snapshot=false -o sync=disabled -o setuid=off "$POOL_NAME"/ephemeral/tmp
zfs create -o mountpoint=legacy -o com.sun:auto-snapshot=false "$POOL_NAME"/stateful
zfs create -o mountpoint=legacy -o com.sun:auto-snapshot=true "$POOL_NAME"/stateful/home
zfs create -o mountpoint=legacy -o com.sun:auto-snapshot=false "$POOL_NAME"/stateful/root
}
mount_datasets() {
mount -t zfs sysion/stateful/root /mnt
mkdir -p /mnt/boot
mount "$DISK"p1 /mnt/boot
mkdir -p /mnt/home/coolneng
mount -t zfs sysion/stateful/home /mnt/home/coolneng
mkdir -p /mnt/nix
mount -t zfs sysion/ephemeral/nix /mnt/nix
mkdir -p /mnt/tmp
mount -t zfs sysion/ephemeral/tmp /mnt/tmp
}
install_system() {
nixos-generate-config --root /mnt
mv /mnt/etc/nixos/hardware-configuration.nix modules/hardware-configuration.nix
nix-shell -p git --command "nixos-install --root /mnt --flake .#zion"
}
usage() {
echo "Usage: install.sh <disk>"
echo "disk: full path to the disk (e.g. /dev/sda)"
exit 1
}
if [ $# != 1 ]; then
usage
fi
DISK="$1"
POOL_NAME="sysion"
echo "Let's start by partitioning the disk"
partition_disk
echo "Starting up the ZFS machinery"
zfs_setup
echo "Mounting the horse"
mount_datasets
echo "Lift off to the NixOS planet"
install_system
echo "All ready, time to rejoice"

View File

@@ -23,16 +23,16 @@ services=(
"syncthing.service"
"radicale.service"
"miniflux.service"
"phpfpm-wallabag.service"
"gitea.service"
"dendrite.service"
"matrix-as-telegram.service"
"matrix-as-facebook.service"
"matrix-as-signal.service"
"signald.service"
"nginx.service"
"dnsmasq.service"
"dnscrypt-proxy.service"
"podman-openbooks.service"
"mosquitto.service"
"podman-mqtt2prometheus.service"
"prometheus.service"
"grafana.service"
)
for var in "${services[@]}"; do

BIN
secrets/acme-duckdns.age Normal file

Binary file not shown.

5
secrets/acme-porkbun.age Normal file
View File

@@ -0,0 +1,5 @@
age-encryption.org/v1
-> ssh-ed25519 iUaRGg 7JImhL2Wo/eJEwUGP+NhEf36yq5gHO9q1GYhY2HaMAY
eAMhD0sqHQS+aayBpOsY8+081i72QAhJCFbBe0//uwU
--- 4K8cXsDuWZrmWNJ+rz166ej9o/gLFc7CfJuzAsG0BxA
|.<2E><><EFBFBD> f<><66>f<EFBFBD>=<1D>-<2D>X$P<>:

View File

@@ -1,8 +0,0 @@
age-encryption.org/v1
-> ssh-ed25519 iUaRGg mRkPNMBvRfbwb3GjcWWJ42RiJn4wxMdczvL2OJFagkY
jCqCSE2MMx74ZvXabmyHfI4jC6lwhtgrTSqjAflUksw
-> vH/-grease []_Tx" cZfV JHS /x/
SK1DATphyeQv8pjoNXTlQrRKQwn8oItd6xrhSic7fmxzmuKTQiPE
--- ObilbWkclfLnmjVql03OamXitnFgYnzfoZ04oq3XO1k
<EFBFBD>iy<13>݌1k{<7B><>OJ3<1F>H<EFBFBD>N<><4E><11><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%y<><1D><> <0C><>JA<4A>8<EFBFBD><38>
'<27>N<EFBFBD><4E>%<25><><EFBFBD><EFBFBD><EFBFBD>L@<12>6 &<26><>

BIN
secrets/facebook.age Normal file

Binary file not shown.

View File

@@ -0,0 +1,6 @@
age-encryption.org/v1
-> ssh-ed25519 iUaRGg XMrsd1RQcDq/SpFtqpB4Gj1keCvJsMB+VA58qZirYA4
tf8NQzoEYJXlKBjtX4ZplaPQv51RCW9yHulvKZB8c8g
--- 5wZntAZCQ4pGYrgDFd63w6Y+Taaatcw5z0tDSvShi30
<EFBFBD><EFBFBD>4<EFBFBD><EFBFBD><EFBFBD>Ɖq3<EFBFBD>&
><0E>4<EFBFBD><34>J<EFBFBD>?<3F><0F><> QW<51>jZ<:'<<16>x(<28>Y<16>i<EFBFBD>ZDO#<23>w<7F><77>R<EFBFBD><52><EFBFBD>O@2<>cAj (f<><66><EFBFBD><EFBFBD>M<EFBFBD><4D><EFBFBD>

View File

@@ -0,0 +1,5 @@
age-encryption.org/v1
-> ssh-ed25519 iUaRGg paS5BxWWicriSLAZyCBKd2xylLAp4/LcHmogO7me8yQ
MWW/Pkvn+4G4YeYXY9ZPXC92TbcFXQMyHJ2ltFzXpZs
--- ZdFfQ7tHfEo+u/0MmigCNh6OIxkd2bimRN30rMUs1ks
<EFBFBD>9<EFBFBD>7Y<EFBFBD>$B<>sX<0E>ʽb<CABD>O'J<><4A>S'<27>5!<21><>UMʯ-v<>m<EFBFBD><6D><EFBFBD><EFBFBD><EFBFBD>8%|R,<2C>~I<><14><>G<EFBFBD><47>VQE<0E>0D<30>:Qv<<1E><>)<29> <0B><>%fc<66><63>XZչ 7+yB

BIN
secrets/inadyn-porkbun.age Normal file

Binary file not shown.

BIN
secrets/microbin.age Normal file

Binary file not shown.

View File

@@ -0,0 +1,8 @@
age-encryption.org/v1
-> ssh-ed25519 iUaRGg JT+as1Cl66qOy5yY3WJNs0bh51DWaCe/+XZLR8m1L0A
/6CyRX6Ks7Wr/ySlJhdfkabcy4N5rQ0VzGtlbxL8RCs
-> L$l;-grease uU_g`a
N00Z5C8AKzdnGZuFUHqY6uZBiMryyT3IXkdNlYW2fVJLOSfkfFdXssIK9hcMObyi
sQENGphUf1Sk16Vo9p4emOL5mtzU
--- flb9q0/Q608TJ6K9fsGULVwi2Pk860Cz750d5DBSfMM
1<EFBFBD>%<25><>=<3D><4C><DAAE>s<EFBFBD>c/<2F>Iy<49><79>oT!<21>ڏ<EFBFBD>&X<0F><><EFBFBD>WՒZ̋<5A><CC8B> <0E>8Z<38><5A><EFBFBD><EFBFBD><EFBFBD>æ<19><><EFBFBD><EFBFBD><06> <09> <0B>tw<74>'<27><> i<>e’<65>_<EFBFBD>}-<2D>V<EFBFBD>$<24>S<EFBFBD><53><EFBFBD><EFBFBD><EFBFBD>خA<D8AE><41><EFBFBD>h<EFBFBD><68><EFBFBD><04><>!<21><>9Z<39><5A><05><>hqіIa<49><61>,

BIN
secrets/mqtt-sender.age Normal file

Binary file not shown.

BIN
secrets/readeck.age Normal file

Binary file not shown.

View File

@@ -1,15 +1,25 @@
let
zion =
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFRqINHR7/zc+c3/PuR+NeSsBHXXzBiEtFWSK6QaxQTW";
in {
zion = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFRqINHR7/zc+c3/PuR+NeSsBHXXzBiEtFWSK6QaxQTW";
in
{
"wireguard.age".publicKeys = [ zion ];
"syncthing.age".publicKeys = [ zion ];
"msmtp.age".publicKeys = [ zion ];
"gitea.age".publicKeys = [ zion ];
"ddclient.age".publicKeys = [ zion ];
"miniflux.age".publicKeys = [ zion ];
"git.age".publicKeys = [ zion ];
"dendrite.age".publicKeys = [ zion ];
"dendrite-postgres.age".publicKeys = [ zion ];
"telegram.age".publicKeys = [ zion ];
"mqtt-sender.age".publicKeys = [ zion ];
"mqtt-receiver.age".publicKeys = [ zion ];
"facebook.age".publicKeys = [ zion ];
"signal.age".publicKeys = [ zion ];
"inadyn-duckdns.age".publicKeys = [ zion ];
"inadyn-porkbun.age".publicKeys = [ zion ];
"inadyn-porkbun-secret.age".publicKeys = [ zion ];
"acme-duckdns.age".publicKeys = [ zion ];
"acme-porkbun.age".publicKeys = [ zion ];
"microbin.age".publicKeys = [ zion ];
"readeck.age".publicKeys = [ zion ];
}

8
secrets/signal.age Normal file
View File

@@ -0,0 +1,8 @@
age-encryption.org/v1
-> ssh-ed25519 iUaRGg J/gZDBtDsIzjCzO1y2vXgxl8YuvWJgcpk+8KMOp63kg
1XF9JFAIscHWFJMTctZOxVIBYhYliUFays5gwjZt6hs
-> vM4\2y\'-grease
bj9VKIuH0l1v5X8N2v4p+u3VySDKjj3WAyVZ7f+wmy16wncrNyMtiUZ+ELBWfqXd
XOyeGZoKBHwd8lOgkZ+va0BEkBJs9piX
--- K2uN9JxuqPQpAxjQ+6dgsqhsq50nTkLsw8QGJprE5hQ
H<EFBFBD><EFBFBD><EFBFBD>S<>:<3A>eJ4}'<27><><EFBFBD>T<EFBFBD><54>˦ <0B><>[<5B>'<27>M<EFBFBD><4D><EFBFBD>9<><07><>E6_<36><12><><EFBFBD><1D><><EFBFBD>_<EFBFBD><5F><EFBFBD><EFBFBD>yPM8''<27>'<15>F<><46><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Rڡ"<22>ݏ<EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD>;<3B><>4<EFBFBD>J/>k<1C>5<EFBFBD><<15><>:<3A>M<EFBFBD>lK$<24>ӟq<D39F>S<EFBFBD><53><EFBFBD><EFBFBD>#<23>Ō<04>j<EFBFBD>X)<29><>v<EFBFBD><76><EFBFBD>–<EFBFBD>Ou<4F><75>J<>P<EFBFBD><12><>~

Binary file not shown.

View File

@@ -0,0 +1,5 @@
age-encryption.org/v1
-> ssh-ed25519 iUaRGg zWm4+j3/IRqd3uZqGzXVcHvs+urNrvDMOceWKbpl018
HlIKCFYt7n3iKZav5i0YiB4awRMJML0XUowX8sKKH2c
--- ysvYVxgK1OeqCk8KdNF+uWsaQ9EzVRku7nw37aUAW3A
c<EFBFBD><EFBFBD>b<EFBFBD>W|bU<62>B"<22><04>Ե<EFBFBD><D4B5><EFBFBD><EFBFBD><EFBFBD><03><>U<EFBFBD>

BIN
secrets/wallabag.age Normal file

Binary file not shown.

View File

@@ -1,5 +1,5 @@
{
"m.homeserver": {
"base_url": "https://matrix.coolneng.duckdns.org"
"base_url": "https://matrix.psydnd.org"
}
}

View File

@@ -1 +1 @@
{ "m.server": "matrix.coolneng.duckdns.org:443" }
{ "m.server": "matrix.psydnd.org:443" }